[Решено] Двуязычное меню: не отображаются ссылки меню.

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

Аватар пользователя Flashback Flashback 13 сентября 2011 в 17:14

Добрый день!
Перерыл множество статей по установке многоязычного сайта, но тем не менее так и не могу решить проблему.

Я крутил два способа.
Первый:
Я создал своё меню с названием "Главное меню". В нем я создал русскоязычные пункты типа Ссылка1, Ссылка2, Ссылка3. Далее после установки l18n и всех прочих требуемых модулей, я создал перевод для каждой статьи с названиями Link1, Link2, Link3, каждая из которых также принадлежит "Главному меню".
Захожу на главную страницу, переключаю язык - текущая статья переключается на английский, но все пункты меню пропадают.

Второй способ:
Создал второе меню с английским названием Site Menu. Англоязычные ссылки Link1, Link2... прикрепил к нему. Далее в настройках блоков вывел меню слева и указал английский язык, предполагая что при переключении на английский будет отображаться этот блок и наоборот.
Но и в таком случае ссылки не отобразились.

Я вернулся к первому способу, и тут совершенно случайно я зашёл на сайт с машины с английской локалью, и меня ждал сюрприз - под админкой я увидел в меню все пункты меню на двух языках, под обычным пользователем при переключении языка английские пункты стали отображаться! С русскоязычных браузеров всё осталось по-прежнему Sad Может быть это будет зацепкой в понятии проблемы?

И ещё дополнительный вопрос - при залогинивании под админом пропадает блок переключения языков - так должно быть?

Комментарии

Аватар пользователя Flashback Flashback 13 сентября 2011 в 17:36

Добавлю что в первом способе в блоках в настройках блока "Главное меню" я указывал
(Multilingual settings) Язык: Все языки, во втором способе - для каждого меню свой язык.

Аватар пользователя Flashback Flashback 14 сентября 2011 в 21:18

Спасибо за ответ!
Хм, так меню действительно перестало пропадать, но в таком случае оно у меня просто остаётся как и было на русском языке, а главная страница при этом отображается сразу на двух языках. Как у вас?
Я уже начинаю думать, может это из-за дефолтной русской локали и надо было ставить drupal с дефолтным английским языком...

Аватар пользователя Flashback Flashback 14 сентября 2011 в 21:21

>И ещё дополнительный вопрос - при залогинивании под админом пропадает блок переключения языков - так должно быть?

Пока отвечу сам на этот вопрос - в свойствах блоков я указал что блок переключения языков виден анонимному пользователю, не поняв что это только анонимному а не в принципе -).

Аватар пользователя Flashback Flashback 15 сентября 2011 в 9:49

Итак, почти разобрался!
Заработало всё-таки с первым способом - все пункты меню в одном.
Далее захожу в англоязычные пункты меню:
Главная › Управление › Конструкция сайта › Меню
Изменить пункт меню
И тут как ни странно, указываю "Все языки".
Впрочем, текст под опцией так и говорит:
Select a language for this menu item. Choose "All languages" to make the menu item translatable into different languages.
То бишь, выберите Все языки если хотите счастливое меню.
Чудо - английские пункты стали появляться.
Но осталась одна нерешенная проблема - перевод происходит только после выбора какой-то статьи, отличной от главной страницы. На стартовой странице кнопка перевода не отрабатывает.
Пробую делать по этой статье -
http://drupalcookbook.ru/recept/statja-glavnoj-raznyh-jazykah
Вроде всё хорошо по полочкам расписано, но пока не хочет работать. Если кто поборол это - отпишитесь пожалуйста!

Аватар пользователя Flashback Flashback 15 сентября 2011 в 16:08

Уже почти в отчаянии.
Если сделать сайт по дефолту английским, то стартовая страница прекрасно перводится на английский и наоборот. При переключении на русский к ссылке стартовой страницы добавляется ?q=ru.
Если же делать сайт по дефолту русским, то при старте я не вижу "?q=ru", при нажатии же на английский соответственно ничего не меняется, и так до тех пор пока не будет выбран какой-то другой пункт меню.
Как же правильно сделать эту стартовую страницу?

Аватар пользователя Flashback Flashback 15 сентября 2011 в 17:13

РЕШЕНО!!!
admin/settings/language
English -> edit -> прописать префикс для английского языка en.
Всё заработало!
Надеюсь это кому-то также поможет.