Теоретический вопрос по многоязычными сайтам на основе модуля i18n

Главные вкладки

Аватар пользователя roman-yrv roman-yrv 22 января 2014 в 16:01

Добрый день.

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

Допустим, есть нода на русском языке с адресом node/10.
И есть её перевод на английский язык с адресом node/11.
Языки на сайте настроены таким образом, что для просмотра русскоязычных нод нужно идти по адресу http://site.ru/node/10. А для англоязычной версии сайта набирается http://site.ru/en/node/11.

И в этом случае при просмотре ноды возможно следующее логическое противоречие.
Если в строке задать язык - как английский, а сама нода - на русском, то есть, http://site.ru/en/node/10, то страница может просто некорректно отображаться.
Содержимое ноды - на русском, а блоки и меню, к примеру, на английском (так как определилось по адресу, что страница - английская)

Вопрос - существуют ли готовые решения для данных ситуаций ?

То есть, чтобы при просмотре страницы типа node/NID, если оказывается, что язык ноды не соответствует языку в адресе, то или чтобы пытаться отображать не эту ноду, а её перевод на тот язык, или устанавливать язык всей страницы равным языку ноды.

Кстати, при переводе через Entity Translation таких проблем не возникает в принципе. Ибо нода одна, а переводятся отдельно поля.

Комментарии

Аватар пользователя graker graker 22 января 2014 в 16:12

А является ли описанная ситуация проблемой?
Ну нашел посетитель где-то прямую ссылку на ноду на другом языке и посетил ее. Или сам извратился с адресом (специально, заметьте). Ну и что?

Аватар пользователя roman-yrv roman-yrv 22 января 2014 в 19:14

Спасибо за консультацию.

Но, думаю, буду для перевода нод, терминов и других сущностей использовать Entity Translation. Оно, на мой взгляд, организовано более логично.