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

Метод setFallbackLocales

Метод setFallbackLocales класса Translator задаёт список резервных локалей. Первым параметром передаётся массив локалей, которые Symfony будет использовать по очереди, если перевод для текущей локали не найден.

Синтаксис

public function setFallbackLocales(array $locales): void

Пример

Давайте создадим переводчик и зададим ему резервные локали 'en' и 'de':

<?php namespace App\Service; use Symfony\Component\Translation\Translator; use Symfony\Component\Translation\Loader\ArrayLoader; class TranslationService { public function translate(): string { $translator = new Translator('fr'); $translator->addLoader('array', new ArrayLoader()); $translator->addResource('array', [ 'hello' => 'bonjour', ], 'fr'); $translator->addResource('array', [ 'hello' => 'hello', ], 'en'); $translator->setFallbackLocales(['en', 'de']); return $translator->trans('hello'); } } ?>

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

"bonjour"

Пример

Давайте проверим работу резервной локали, когда перевод для текущей локали отсутствует:

<?php namespace App\Service; use Symfony\Component\Translation\Translator; use Symfony\Component\Translation\Loader\ArrayLoader; class TranslationService { public function translate(): string { $translator = new Translator('fr'); $translator->addLoader('array', new ArrayLoader()); $translator->addResource('array', [ 'hello' => 'hello', ], 'en'); $translator->setFallbackLocales(['en', 'de']); return $translator->trans('hello'); } } ?>

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

"hello"

Пример

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

<?php namespace App\Service; use Symfony\Component\Translation\Translator; use Symfony\Component\Translation\Loader\ArrayLoader; class TranslationService { public function getLocales(): array { $translator = new Translator('fr'); $translator->addLoader('array', new ArrayLoader()); $translator->setFallbackLocales(['en', 'de']); return $translator->getFallbackLocales(); } } ?>

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

["en", "de"]

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

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