Метод getFallbackLocales
Метод getFallbackLocales класса Translator
возвращает список резервных локалей (fallback locales).
Резервные локали применяются, когда для текущей локали
отсутствует перевод сообщения. Метод не принимает
параметров и возвращает массив строк с кодами локалей.
Порядок элементов в массиве соответствует порядку проверки локалей: сначала проверяется первая резервная локаль, затем вторая и так далее.
Синтаксис
public function getFallbackLocales(): array
Пример
Давайте получим резервные локали по умолчанию из стандартного переводчика Symfony:
<?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('/article', name: 'article_index')]
public function index(TranslatorInterface $translator): Response
{
$res = $translator->getFallbackLocales();
return new Response(json_encode($res));
}
}
?>
Результат выполнения кода:
["en"]
Пример
Давайте сначала зададим свои резервные локали
через setFallbackLocales, а затем прочитаем
их через getFallbackLocales:
<?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('/article/fallback', name: 'article_fallback')]
public function fallback(TranslatorInterface $translator): Response
{
$translator->setFallbackLocales(['de', 'fr']);
$res = $translator->getFallbackLocales();
return new Response(json_encode($res));
}
}
?>
Результат выполнения кода:
["de", "fr"]
Смотрите также
-
класс
Translator,
который выполняет перевод сообщений -
метод
setFallbackLocales,
который задаёт резервные локали -
метод
getLocale,
который возвращает текущую локаль -
метод
setLocale,
который устанавливает текущую локаль