Tôi đang cố gắng có trình chuyển đổi ngôn ngữ trên trang web symfony 2.1 của mình.Đặt ngôn ngữ trong Symfony 2.1
Tôi đã theo dõi official documentation, đặt các tệp dịch nhưng đặt ngôn ngữ với $ request-> setLocale ('en_US'); dường như không hoạt động. Sau một số nghiên cứu, tôi tìm thấy this question cung cấp một câu trả lời bắt đầu với số listener technique này.
Tuy nhiên, tôi vẫn không cố gắng làm việc đó, tôi không chắc chắn về tuyên bố người nghe của mình, có vấn đề gì không?
điều khiển của tôi:
public function englishAction(Request $request)
{
$this->get('session')->set('_locale', 'en_US');
return $this->redirect($request->headers->get('referer'));
}
khai dịch vụ trong config.yml:
services:
my_listener:
class: "FK\MyWebsiteBundle\Listener\LocaleListener"
định tuyến của tôi:
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
Chính xác nhu cầu của bạn là gì? Một ví dụ về trường hợp sử dụng? Có thể bạn không cần người nghe này – webda2l
@ webda2l Tôi chỉ muốn cho phép khách truy cập chọn ngôn ngữ của trang web. Mã trong câu trả lời của bạn không hoạt động nhưng tôi đoán tôi phải thay đổi tuyến đường của mình, tôi sẽ làm việc thêm một số điều trên đó .. –
Tôi có đang thiết lập đúng người nghe không? LocaleListener của tôi sẽ được gọi như thế này? –