сталкнулся с задачей сделать сайт на 2х языках
по структуре сайта (простая визитка) сложное меню не нужно достаточно только $primary_links
но стандартный модуль locale меню на 2х языках не особо поддерживает но позволяет иметь свой пункт меню для переведенного материала
создаем второе меню с русским названием "Первые ссылки" и "машинным" названием "primarylinksru'"и руско язычные страницы добовляем в это меню а их переводы в primary_links
а теперь просто выводим необходимое меню
в page.tpl.php
вместо
пишем
if($language->language=='ru') print theme('links', menu_navigation_links('menu-primarylinksru'), array('class' => 'links', 'id' => 'navlist'));
if (isset($primary_links) && $language->language!='ru') { ?><?php print theme('links', $primary_links, array('class' => 'links', 'id' => 'navlist')) ?><?php }
?>
результат тут
http://www.tyrexport.com
Комментарии
А как это будет выглядеть, если языков больше 2х?
придется создавать меню для каждого языка
и выводить для каждого языка
if($language->language=='ru') print theme('links', menu_navigation_links('menu-primarylinksru'), array('class' => 'links', 'id' => 'navlist'));
?>
где
'menu-primarylinksru' - машинное имя меню
'ru' - машинное имя языка
если немного додумать то можно будет реализовать и второй уровень меню
Спасибо!
Меню на нескольких языках.
Авторы, предложившие решения, также указаны в сохранённой статье.
а как будет выглядеть page.tpl.php, если первоначально там было только это:
1)пробовал так:
<?php
if($language->language=='ru') {
print theme('links', menu_navigation_links('menu-primarylinksru'), array('class' => 'links', 'id' => 'navlist'));
}
if (isset($primary_links) && $language->language!='ru') {
print theme('links', $primary_links, array('class' => 'links', 'id' => 'navlist'));
}
?>
</div>
русское меню отображается нормально, но когда переключаешься с английского на русский сопровождается ошибкой:
английское при этом вообще не отображается.
2)пробовал так:
<?php
if($language->language=='ru') print menu_navigation_links('menu-primarylinksru');
if (isset($primary_links) && $language->language!='ru') { ?><?php print $primary_links ?><?php }
?>
</div>
английское меню нормально отображается, а вот русское нет - пишет одно слово Array.
3)пробовал так еще:
<?php
if($language->language=='ru') print $menu-primarylinksru;
if (isset($primary_links) && $language->language!='ru') { ?><?php print $primary_links ?><?php }
?>
</div>
английское - нормально, русское выдает - 0.
И страница главная не всегда переводиться по нажатию en,ru. Переключаю через Language Switcher. Еще вроде должен быть блок Translition(который переводит и меню и текст), но его нигде не нашел, вроде он на 5ой был, а сейчас его убрали.
Может модули какие еще установить надо? или удалить?
Что имею?
Drupal 6.6
i18n 6.x-1.0-beta6
languageicons 6.x-1.0
translation_overview 6.x-2.0-beta3
Что вообще нужно?
Получить такой же сайт по структуре как у автора топика. Т.е. сайт на 2х языках(для начала), по умолчанию один язык(английский) главной страницы и менюшек, при нажатии на спецкнопку с надписью "Русский", например - весь сайт переводиться на другой язык(Русский) - текст на главной на русском+менюшки на русском.
Итак вопрос: КАК? Как это можно сделать? Подскажите, бьюсь уже несколько дней с этой проблемой никак не врублюсь.
Спасибо.
нашел решение своей проблемы http://drupal.ru/node/21444
mgk - спасибо!!!
Я уже приближаюсь к тому, чтобы сделать двуязычный сайт без i18n (что-то он нормально с чешской локализацией не хотел работать, а искать ошибку нет времени =)), только с помощью стандартного Content translation.
оп, а что с многоязычным меню в друпал тоже проблемы?
(((
будем решать