Zend Translate - установить локаль для пользователя - PullRequest
2 голосов
/ 05 декабря 2011

Я занимаюсь разработкой многоязычного сайта.

Я поместил объект Zend_Translate в Zend_Registry и использую его для перевода всех статических текстов в выбранную локаль.

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

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

Спасибо.

Ответы [ 2 ]

2 голосов
/ 05 декабря 2011

Для этого вам понадобится плагин.

Вкратце: создайте плагин и добавьте к нему методы routeStartup() и routeShutdown().В первом случае задайте строку локали в параметре запроса и, если необходимо, также задайте URI запрашивающего, чтобы он содержал строку локали.Правильное определение строки локали зависит от вас - вы можете использовать cookie, параметр URL, принятый браузером языковой заголовок или любую их комбинацию.В последнем случае создайте объект Zend_Translate на основе локали, которую вы установили ранее.

Вот как выглядит в моей CMS .

Вот руководство по использованию параметра языка в URL .Вы также можете проверить , как я это делаю, в моей CMS (см. Метод _initRouter).

Надеюсь, эта информация полезна.

0 голосов
/ 05 декабря 2011

Используйте Poedit для этой цели. Перейдите по этой ссылке для более

techie.ayyappadas.com/how-do-use-poeditor
...