0
我正在使用多種語言的頁面工作。 我在樹枝主頁上有一個按鈕來切換語言。 我想設置的地點這樣,當用戶點擊一個按鈕來選擇語言:用戶選擇languague並保存所有會話的語言環境
public function indexLangAction(Request $request, $lang)
{
$session = $this->get('session');
if ($session->has("_locale") && $lang !== $session->get("_locale")) {
$session->set("_locale", $lang);
return new RedirectResponse('/' . $lang);
}
return $this->render('default/index.html.twig', [
'base_dir' => realpath($this-
>getParameter('kernel.project_dir')).DIRECTORY_SEPARATOR,
]);
}
但是當我去到另一個網頁在同一會議上,語言回默認。
如何在所有用戶會話中保存_locale
?
設置_locale
的最佳方法是怎樣的?我怎樣才能從樹枝給控制器打電話?當用戶點擊按鈕改變語言時,我怎樣才能打電話給控制器?
privacy_lang:
path: /{_locale}/privacy
defaults: { _controller: AppBundle:Documents:privacy }
requirements:
_locale: en|es|ca
而且這是在樹枝鏈接呼叫路由privacy_lang
:
<a class="privacy enllac-lower" href="{{ path('privacy_lang') }}">Política de privacidad</a>
你已經閱讀本文檔? [在用戶會話期間使語言環境「粘滯」](https://symfony.com/doc/current/session/locale_sticky_session.html) –
當我使用多語言網站時,我使用jms/i18n-routing-bundle構建應用程序 – Mz1907