Измените язык браузера или язык проекта, чтобы проверить локализацию - PullRequest
0 голосов
/ 19 мая 2019

я впервые работаю с переводчиком.

Я реализовал это, кажется, работает, но как я могу проверить другие языки?

Могу ли я изменить язык по умолчанию в моем проекте Symfony?

Или я могу изменитьязык переведен в мой проект через браузер?(Я нашел только настройки для изменения языка браузера)

С уважением, n00n

Ответы [ 2 ]

1 голос
/ 20 мая 2019

вы также можете сделать это внутри контроллера, используя следующую сессию:

/**
 * Switch language
 *
 * @Route("/switchLanguage/{locale}/", name="switch_language")
 *
 * @param Request $request
 * @param string $locale
 *
 * @return RedirectResponse
 */
public function switchLanguageAction(Request $request, $locale): RedirectResponse
{
    $request->attributes->set('_locale', null);
    $this->get('session')->set('_locale', $locale);

    return $this->redirect($request->headers->get('referer'));
}
1 голос
/ 19 мая 2019

Да, конечно, у вас мало подходов к переводу.

Если вы хотите сохранить данные перевода проекта в своей базе данных, вы должны создать сущности для перевода данных, и после этого вы можете использовать глобальный фильтр SQL для выбора.данные каждого языка.

И вы можете прочитать о Symfony Translation Component.

Для изменения языка проекта вы можете написать слушатель.

вот так

public function onKernelRequest(GetResponseEvent $event)
    {
        /** Set language parameter*/
        $lang = $event->getRequest()->query->get('lang', 'en'); //this is optional you can write another code for getting language.
        $event->getRequest()->setLocale($lang);
    }

Этот пример, если вы хотите установить каждый язык запроса.Прочитайте документацию по компонентам перевода Symfony, есть и другие полезные вещи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...