Добрый день.
Если кто делает многоязычные сайты на основе модулей 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 таких проблем не возникает в принципе. Ибо нода одна, а переводятся отдельно поля.
Комментарии
А является ли описанная ситуация проблемой?
Ну нашел посетитель где-то прямую ссылку на ноду на другом языке и посетил ее. Или сам извратился с адресом (специально, заметьте). Ну и что?
И да - в настройках global redirect есть такая галочка: Language Path Checking. Она избавляет от этой ситуации.
session
Спасибо за консультацию.
Но, думаю, буду для перевода нод, терминов и других сущностей использовать Entity Translation. Оно, на мой взгляд, организовано более логично.