Pull to refresh

Comments 14

имхо лажа отдавать по /de дефолтовый язык — что будет, когда яндекс погуляет? — куча ссылок с якобы немецким языком. имхо отдать заглушку со списком имеющихся языков и фсё.
Яндекс не сможет туда зайти, ибо нигде нет такой ссылки (автор указал, что предполагает, что пользователь сам ввел de). А даже если и есть, то откуда Яндекс знает, что mysite.com/de/user/auth означает немецкий язык?
можно и так.

есть следующий вариант развития событий. немецкий язык был, но потом от него решили отказаться, или языковый файл повреждён (не докачался например), тогда ссылки будут работать, но с дефолтным языком. согласитесь это важнеё чем заглушка. особенно для бизнес сайтов.

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

И, кстати, тогда уж либо нужно подставлять язык в КАЖДЫЙ url (если не указан, то делать перенаправление на язык по умолчанию), либо сделать модуль, который ставить как язык по умолчанию, так и по обращении к нему меняет на указанный, возвращая пользователя обратно на ту же страницу, где он и был.
// Как то уж сильно массивно для такой простейшей задачи.
предложите решение попроще :)
к сожалению здесь двумя строчками кода не обойтись

// И, кстати, тогда уж либо нужно подставлять язык в КАЖДЫЙ url (если не указан, то делать перенаправление на язык по умолчанию)

это можно сделать при помощи стандартного url хелпера

// либо сделать модуль, который ставить как язык по умолчанию, так и по обращении к нему меняет на указанный, возвращая пользователя обратно на ту же страницу, где он и был.

не уверен что до конца понял суть. можете написать более развёрнуто?
Ну я не использую пока ZF, в моей системе есть просто 2 точки — метод, который устанавливает язык для приложения при запросе, он же ставит язык по умолчанию, если от пользователя не пришёл какой язык ему нужен из Сookies, а второй метод меняет язык про запросу пользователя на определённый урл по типу htpp://site.com/change_lang/ru.html
тут все то же самое, только нет жёсткой привязки к дефолтному языку. ну и сразу инстанциируется Zend_Translate. без этого код будет раза в три короче :)
Мне кажется лутше для того кто хочет увидеть сайт на немецком всетаки показывать английский а не украинский вариант.
А что если хранить язык в кукисах? Как раз нужно реализовать чтото подобное, только на cakephp.
думаю Вам правильно кажется — украинский язык я взял просто для примера :).

т. е. если человек выбрал язык сохранять его в куки? можно и так. неплохая мысль!
Спасибо за статью.

Когда пользователь выбрал язык, можно хранить его в сессиях, или, как предлагали, в кукиз, если юзер зарегистрированый то в его настроках хранить… впрочем это очевидно)
Постоянные ссылки на страницы формировать с :lang в УРЛ тогда можно будет давать ссылки на странички на любом языке.
Вкратце свой подход описал)
Для меня сейчас актуально определение Страны и Города посетителя может вы решали подобную задачу с использованием ZF?
Когда я решал такую задачу ZF ещё в помине не было :). Страну и город можно определить использую базу GeoIP от www.maxmind.com
Интересно — сразу же попробовал применить и сразу же не сработало :/
У вас переопределен дефолтный роутер и все запросы все равно отправляются на него: т.е. я всегда буду видеть титульную страницу по дефолтному индекс-контроллеру и дефолтному индекс-экшену. Есть ли какой-либо красивый способ сделать это правильно?
синтаксическая ошибка — пардон все кошерно ))))
Sign up to leave a comment.

Articles