Метод trans
Метод trans класса Translator возвращает перевод сообщения по его идентификатору.
Первым параметром передаётся идентификатор сообщения,
вторым - массив параметров для подстановки,
третьим - домен переводов.
Если перевод не найден, метод возвращает исходный идентификатор.
Синтаксис
public function trans(string $id, array $parameters = [], string $domain = null, string $locale = null): string
Пример
Давайте переведём сообщение с идентификатором 'hello':
<?php
namespace AppController;
use SymfonyBundleFrameworkBundleControllerAbstractController;
use SymfonyComponentHttpFoundationResponse;
use SymfonyContractsTranslationTranslatorInterface;
class ArticleController extends AbstractController
{
public function index(TranslatorInterface $translator): Response
{
$res = $translator->trans('hello');
return new Response($res);
}
}
?>
Результат выполнения кода:
"hello"
Пример
Давайте подставим параметр в сообщение через плейсхолдер:
<?php
namespace AppController;
use SymfonyBundleFrameworkBundleControllerAbstractController;
use SymfonyComponentHttpFoundationResponse;
use SymfonyContractsTranslationTranslatorInterface;
class ArticleController extends AbstractController
{
public function index(TranslatorInterface $translator): Response
{
$res = $translator->trans('Hello, %name%!', ['%name%' => 'user']);
return new Response($res);
}
}
?>
Результат выполнения кода:
"Hello, user!"
Пример
Давайте укажем домен переводов третьим параметром:
<?php
namespace AppController;
use SymfonyBundleFrameworkBundleControllerAbstractController;
use SymfonyComponentHttpFoundationResponse;
use SymfonyContractsTranslationTranslatorInterface;
class ArticleController extends AbstractController
{
public function index(TranslatorInterface $translator): Response
{
$res = $translator->trans('article', [], 'messages');
return new Response($res);
}
}
?>
Результат выполнения кода:
"article"
Смотрите также
-
класс
Translator,
который выполняет переводы сообщений -
функция
t,
которая переводит сообщение в Twig-шаблонах -
тег
trans,
который выводит перевод в Twig-шаблонах -
фильтр
trans,
который применяет перевод к значению в Twig