Функция t
Функция t переводит строку на текущий язык приложения.
Первым параметром передаётся строка для перевода,
вторым - массив параметров подстановки,
третьим - домен переводов.
В Twig функция доступна как t,
в PHP-коде используется метод trans транслятора.
Синтаксис
{{ 'message'|trans }}
{{ t('message') }}
$translator->trans(string $id, array $parameters = [], string $domain = null, string $locale = null)
Пример
Давайте переведём строку 'hello' в Twig-шаблоне:
<p>{{ 'hello'|trans }}</p>
Результат выполнения кода для локали ru:
<p>привет</p>
Пример
Давайте переведём строку с параметром подстановки:
<p>{{ 'user'|trans({'%name%': 'abcde'}) }}</p>
Результат выполнения кода для локали ru:
<p>пользователь abcde</p>
Пример
Давайте переведём строку в контроллере через метод trans:
<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Contracts\Translation\TranslatorInterface;
class ArticleController extends AbstractController
{
public function index(TranslatorInterface $translator): Response
{
$res = $translator->trans('hello');
return new Response($res);
}
}
?>
Результат выполнения кода для локали ru:
привет
Пример
Давайте переведём строку с указанием домена 'messages':
<p>{{ 'hello'|trans({}, 'messages') }}</p>
Результат выполнения кода для локали ru:
<p>привет</p>
Смотрите также
-
метод
trans,
который переводит строку в PHP-коде -
тег
trans,
который переводит блок текста в Twig -
тег
trans_default_domain,
который задаёт домен переводов по умолчанию -
класс
Translator,
который выполняет перевод строк