2013-02-05 2 views
3

번들 : 언어를 전환하는 데 도움이되는 https://github.com/lunetics/LocaleBundle이 설치되어 있습니다. 모든 것이 잘 작동하고 나뭇 가지에 번역이 잘 작동합니다. 하지만 컨트롤러에서 메시지를 번역하고 싶을 때 정의 된 언어 대신 프랑스어 (fr)가 표시됩니다 (예를 들어).Symfony 2.1 컨트롤러에서 로케일을 얻는 방법은 무엇입니까?

컨트롤러에서 현재 선택된 로케일을 어떻게 얻을 수 있습니까?

나는 사용한다 : $this->getRequest()->getLocale() 그러나 그것은 작동하지 않는다, 나에게 각 문화를 위해 FR를 준다. parameter.ini에서

내 기본 설정 언어는 LuneticsLocaleBundle와 심포니 2.1 문서의 코드 내부에보고 한 후 FR

답변

0

, 난, symfony2.1이 경로에 로케일을 전달하고 있는지 discovred. 심포니가 nes request를 생성하는 나뭇 가지 템플릿에서 동작을 렌더링 할 때 문제가 발생합니다. 그래서 이것을 해결하기 위해 LuneticsLocaleBundle의 코드를 오버라이드했고 번들의 LocaleController switchAction에 $this->get('session')->set('_locale', $_locale);을 추가했습니다.

그래서 로캘은 세션에 저장됩니다.

나는 당신을 도울 수 있기를 바랍니다.

관련 문제