Атрибут locale переменной app
Атрибут locale переменной app возвращает
текущую локаль (язык) приложения. Локаль -
это строка вида 'ru', 'en',
'de' и т.п. Значение берётся из
настроек фреймворка и может меняться в
зависимости от запроса. Атрибут удобно
использовать в шаблонах Twig для вывода
переводов и построения ссылок с учётом языка.
Синтаксис
{{ app.locale }}
Пример
Давайте выведем текущую локаль приложения в шаблоне:
<p>{{ app.locale }}</p>
Результат выполнения кода:
<p>ru</p>
Пример
Давайте используем локаль для выбора текста перевода:
{% if app.locale == 'ru' %}
<p>Привет</p>
{% else %}
<p>Hello</p>
{% endif %}
Результат выполнения кода для локали 'ru':
<p>Привет</p>
Пример
Давайте передадим локаль из контроллера в шаблон и сравним со значением атрибута:
<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Attribute\Route;
class ArticleController extends AbstractController
{
#[Route('/article', name: 'article_index')]
public function index(): Response
{
return $this->render('article/index.html.twig', [
'lang' => 'ru',
]);
}
}
?>
Теперь выведем в шаблоне обе локали:
<p>{{ lang }}</p>
<p>{{ app.locale }}</p>
Результат выполнения кода:
<p>ru</p>
<p>ru</p>
Смотрите также
-
переменная
app,
которая даёт доступ к глобальным данным приложения -
атрибут
request,
который возвращает текущий запрос -
атрибут
environment,
который возвращает окружение приложения -
атрибут
current_route,
который возвращает имя текущего маршрута