Привет. У меня такая проблема, мучаюсь уже 3ий день. Нужно создать мультиязычный сайт на друпале. Установил модуль i18n все его компаненты и все, что ему требуется для работы. НАстраивал всё по мануалам и советов по форуму. Весь сайт переводится,а заголовки ссылок в меню наверху в Superfish не переводятся, хотя я все сделал, добавил каждой кнопке перевод на разные языки, установил "Нейтральность к языкам". Эти кнопки даже можно найти теперь в закладке "Перевод Интерфейса -> Перевести."
Что делать?
Комментарии
Точно такая же проблема( может кто ответит нам(.
Когда через superfish основные линки, показует в кучу и ру и енг, когда ставлю в настройках диза без superfish показывать основные линки, все ок, но тоогда не робит выпадающий список
Тоже присоединяюсь ... "Когда через superfish основные линки, показует в кучу и ру и енг, когда ставлю в настройках диза без superfish показывать основные линки, все ок, но тоогда не робит выпадающий список" ... у меня точно также проблема, только с РУС и УКР переводом (((
Делал отдельный блок Суперфиш для каждого языка ( т.е в настройках каждого из этих блоков ставил два разных языка )
И оба блока ставил в один и тот же верхний регион (специальний для меню) - не помогает ... (т.е при переключении языков выводится только часть пунктов ... и даже в тех что выводится нету выпадающих пунктов, хотя в настройках Суперфиш блоков все правильно )
Также заметил, что в тех некоторых пунктах меню которые выводятся, в настройках пути стоит
<font>
, т.е. на Главную.При этом все вышеуказанное пробовал делать как для Основних, так и для Секондари линкс.
Вобщем объяснять много бес толку, поскольку если человек (тот который будет, или не будет отвечать на этот пост) не имеет возможности сам создать два блока меню Суперфиш, установить модуль Internationalization и сделать два отдельных меню Суперфиш например в Primary links для двух разних языков, то не имеет смисла дальше о чем то говорить...
Правда если так, то какой тада вообще толк от форума "Техподдержка Drupal → Решение проблем" если здесь даже при множественном обращении нуждающихся в помоще по одной конкретной проблеме имеющей прямое отношение к текущей тематике
форума, ИМ НИКТО РЕАЛЬНО НЕ МОЖЕТ/НЕ УМЕЕТ (или не хочет) помочь.
Проблема решается следующим образом.
1. Редактируем файл sites/all/modules/superfish/superfish.module
2. После строки 775-777
$cache = array();
$menu = menu_tree_all_data($menu_name);
Добавляем код:
$cache['menu'] = i18n_menu_localize_tree($menu);
}
else {
$cache['menu'] = $menu;
}
Это добавляет поддержку модуля internatiolization в superfish.
3. Строку 1012 (после шага №2 1019)
$output['content'] .= l($menu_item['link']['title'], $menu_item['link']['link_path'], $link_options);
меняем на
$output['content'] .= l($menu_item['link']['title'], $menu_item['link']['href'], $link_options);
Это исправляет отображение ссылок с node/xx на clean url
Вот так вот.
Надеюсь помог.
Удачи
http://promax.blogdns.com/ пробовал , но ссылки с русскими названиями не выводятся , вместо них либо пусто , или же если сделать как советовал предыдущий оратор , меню вообще не выводиться
В моем случае строки 775-777 содержали следующий код:
$cache['menu'] = menu_tree_all_data($menu_name);
Поэтому пришлось заменить последнюю строку на:
Ну а далее - по тексту.
Спасибо за решение
noizo, skeef
спасибо!
Вообще-то ничего менять не надо. Работа с меню в 7-ке достаточно специфичная.
Нейтральный язык для пункта меню в мультиязычном сайте недопустим. Для русского материала делаете русскую ссылку меню, потом переводите этот элемент.
Если сделаете неитральный + перевод, то будет переводить для админа, но для анонима не будет.
Работает без всяких кривых патчей, что вы привели.
saratsubolg
А может ситуация немного иначе выглядит для других людей?
У меня, например, нет проблем с суперфиш + перевод. Что я делаю не так?
Значит просто кто-то недостаточно грамотен чтобы понять что ошибка не в друпале, а в нем.
Создаю пункт меню, ставлю язык (не нейтральный) и в переводах интерфейса эта строка для перевода отсутствует. А с нейтральным языком всё в порядке, кроме трабла с superfish. Что я делаю не так?
Поставил свежую dev'ку Superfish 7.x-1.9-beta5+1-dev и поддержка переводов заработала.
В файле superfish.module нашел:
$menu = i18n_menu_localize_tree($menu);
}