При создании двуязычного сайта использовал модуль i18n (разделение на языке было сделано по доменам .ru и .fr). Для генерации многих страниц использовал модуль Views(куда ж без него на сложных проектах). В запросах, как правило, ставил условие, чтобы для материалов использовался текущий язык пользователя. И вот натолкнулся на проблему, решение которой на нашел даже на drupal.org
Все бы, вроде, хорошо: на страницах, созданных в Views, по одной и той же ссылке, для разных доменов выводятся материалы для соответствующего языка. Но проблема в том, что система меню этой ссылке присваивает язык по умолчанию (в моем случае русский) и соответсвенно все французские пункты меню, к которому относится рассматриваемая нами ссылка, не отображаются. Как и не отображаются в свою очередь и русские пункты этого меню. Вот такая вот история. Менюшка в навигации получается вообще пустой.
На .org предлагают делать для нового языка алиасы и у них как то работает(если ссылки без параметров), но у меня не получилось.
Второй вариант - это создавать для каждого языка свою страницу во Views, что означает дублировать все запросы. Тоже на мой взгляд не лучшее решение. Кроме того, при таком решении, по-моему переключатель языка не будет работать.
Предлагаю еще один свой вариант. Чтобы меню работало корректно, нам в конечном итоге надо сделать отдельный пункт меню для каждого языка, поэтому создаем для французского языка новую страницу с PHP форматом.
Содержание такое:
<?php echo views_page('nodes_by_type','page_4'); ?>
Где "nodes_by_type" - это название Views, а "page_4" - это страница Views(у меня в данном случае 4-я).
Ну и этому материалу соответственно назначаем французский язык.
Помогите плиз, хочу сделать сайт двуязычный, на друпале. Купил домены в зоне .ru и .com. Хочу сделать русскую и английскую версию сайта соответственно. С чего начать? Мне прийдется делать 2 сайта?
Вот как раз с модуля i18n и начните. В настройках этого модуля есть возможность выбрать каким образом у вас сайт будет делиться на разные языки, в том числе есть возможность деления за счет разных доменов. Два сайта делать не надо, оба домена привязываете к одному сайту.
Ну и еще почитайте где-нибудь про массив $conf['i18n_variables'], который вам, скорее всего, придется прописать в settings.php.
Отправить комментарий