РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
911 of 1392 menu

Функция trans

Функция trans используется для получения переведённой строки из файлов локализации. Она принимает ключ строки в формате 'file.key', где file - имя файла локализации (без расширения), а key - ключ строки внутри этого файла. Вторым параметром можно передать массив подстановок для замены плейсхолдеров вида :name в строке перевода. Третьим параметром можно указать конкретную локаль, для которой нужно получить перевод.

Синтаксис

<?php trans($key, $replace, $locale); ?>

Пример

Давайте создадим файл локализации для английского языка и получим перевод строки приветствия:

<?php return [ 'welcome' => 'Welcome to our website', 'greeting' => 'Hello, :name', ]; ?>
<?php namespace AppHttpControllers; use IlluminateHttpRequest; class HomeController extends Controller { public function index() { $greeting = trans('messages.welcome'); echo $greeting; } } ?>

Результат выполнения кода:

"Welcome to our website"

Пример

Давайте используем подстановки в строке перевода для замены плейсхолдера :name на конкретное значение:

<?php namespace AppHttpControllers; use IlluminateHttpRequest; class ProfileController extends Controller { public function show() { $userName = 'John'; $message = trans('messages.greeting', ['name' => $userName]); echo $message; } } ?>

Результат выполнения кода:

"Hello, John"

Пример

Давайте создадим файлы локализации для нескольких языков и получим перевод в зависимости от текущей локали приложения:

<?php return [ 'welcome' => 'Добро пожаловать на наш сайт', 'greeting' => 'Привет, :name', ]; ?>
<?php return [ 'welcome' => 'Welcome to our website', 'greeting' => 'Hello, :name', ]; ?>
<?php namespace AppHttpControllers; use IlluminateHttpRequest; use IlluminateSupportFacadesApp; class LocaleController extends Controller { public function index() { App::setLocale('ru'); $greeting = trans('messages.welcome'); echo $greeting; App::setLocale('en'); $greetingEn = trans('messages.welcome'); echo $greetingEn; } } ?>

Результат выполнения кода:

"Добро пожаловать на наш сайт" "Welcome to our website"

Пример

Давайте укажем конкретную локаль в третьем параметре функции trans, не изменяя текущую локаль приложения:

<?php namespace AppHttpControllers; use IlluminateHttpRequest; class TranslationController extends Controller { public function show() { $messageRu = trans('messages.greeting', ['name' => 'Alex'], 'ru'); $messageEn = trans('messages.greeting', ['name' => 'Alex'], 'en'); echo $messageRu; echo $messageEn; } } ?>

Результат выполнения кода:

"Привет, Alex" "Hello, Alex"

Смотрите также

  • метод __,
    который является псевдонимом функции trans
  • метод trans_choice,
    который переводит строки с учётом множественного числа
  • метод get,
    который является альтернативой функции trans через фасад Lang
  • метод setLocale,
    который устанавливает текущий язык приложения
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить