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

Функция trans

Функция trans переводит текст на текущий язык. Первым параметром передаётся строка для перевода, вторым - массив параметров для подстановки, третьим - домен перевода. Функция доступна внутри сервиса Translator и в Twig-шаблонах через фильтр trans.

Синтаксис

$translator->trans(string $id, array $parameters = [], string $domain = null, string $locale = null)

Пример

Давайте переведём строку 'hello' на текущий язык:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Attribute\Route; use Symfony\Contracts\Translation\TranslatorInterface; class ArticleController extends AbstractController { #[Route('/', name: 'article_index')] public function index(TranslatorInterface $translator): Response { $res = $translator->trans('hello'); return new Response($res); } } ?>

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

"hello"

Пример

Давайте переведём строку с подстановкой параметра:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Attribute\Route; use Symfony\Contracts\Translation\TranslatorInterface; class ArticleController extends AbstractController { #[Route('/', name: 'article_index')] public function index(TranslatorInterface $translator): Response { $res = $translator->trans('hello %name%', ['%name%' => 'user']); return new Response($res); } } ?>

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

"hello user"

Пример

Давайте переведём строку из конкретного домена:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Attribute\Route; use Symfony\Contracts\Translation\TranslatorInterface; class ArticleController extends AbstractController { #[Route('/', name: 'article_index')] public function index(TranslatorInterface $translator): Response { $res = $translator->trans('hello', [], 'admin'); return new Response($res); } } ?>

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

"hello"

Пример

Давайте используем перевод в Twig-шаблоне:

<p>{{ 'hello'|trans }}</p> <p>{{ 'hello %name%'|trans({'%name%': 'user'}) }}</p>

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

<p>hello</p> <p>hello user</p>

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

  • класс Translator,
    который выполняет перевод текста
  • метод getLocale,
    который возвращает текущую локаль
  • метод setLocale,
    который задаёт текущую локаль
  • тег trans,
    который переводит текст в Twig-шаблоне
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить