Próbuję mieć przełącznik języka na mojej stronie Symfony 2.1.Ustaw regionalne w Symfony 2.1
Podążałem za official documentation, ustawiłem pliki tłumaczeń, ale ustawiłem locale za pomocą $ request-> setLocale ('en_US'); wydaje się nie działać. Po przeprowadzeniu pewnych badań znalazłem this question, który stanowi początek odpowiedzi z tym listener technique.
Jednak nadal nie udaje mi się działać, nie jestem pewien co do deklaracji mojego słuchacza, czy coś w tym jest nie tak?
Mój kontroler:
public function englishAction(Request $request)
{
$this->get('session')->set('_locale', 'en_US');
return $this->redirect($request->headers->get('referer'));
}
deklaracja usługi w config.yml:
services:
my_listener:
class: "FK\MyWebsiteBundle\Listener\LocaleListener"
Moja routingu:
homepage:
pattern: /{_locale}
defaults: { _controller: FKMyWebsiteBundle:Default:index, _locale: en }
requirements:
_locale: en|fr|cn
about:
pattern: /{_locale}/about
defaults: { _controller: FKMyWebsiteBundle:Default:about, _locale: en }
requirements:
_locale: en|fr|cn
Czego dokładnie potrzebujesz? Przykład użycia przypadku? Może nie potrzebujesz tego słuchacza – webda2l
@ webda2l Po prostu chcę pozwolić odwiedzającemu wybrać język witryny. Kod w twojej odpowiedzi nie działa, ale myślę, że muszę zmienić moje trasy, będę pracował nad tym trochę więcej. –
Czy odpowiednio ustawiam słuchacza? Czy mój LocaleListener będzie nazywał się tak? –