Перевод пунктов меню через файл *.po

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

Аватар пользователя leramulina leramulina 6 июля 2014 в 9:32

Хотела сделать перевод меню, таксономии через экспортируемый файл ru.po. Честно говоря, так и удобнее, и для разных модификаций сайта мне нужны будут разные языки, поэтому удобнее перевести, хранить ru.po и при необходимости импорировать его в сайт.

Сделала экспорт из built-in interface, сделала соответствующие переводы пунктов меню, загрузила обратно в built-in interface. Результат:

1) в admin/config/regional/translate/translate выглядит как будто есть перевод. То есть система отображает и английскую и русскую переведенную версию.
2) в меню admin/structure/menu/manage/menu-schedule отображается переведенная версия на русском
2) в самом меню на сайте отображается только непереведенная английская версия. Русскую версию можно сделать только если зайти в пункт меню, выставить в нем язык, добавить русский перевод.

Однако если вернуть меню в состояние No multilingual options for menu items. Only the меню will be translatable.
И открыть с публичной стороны сайта, то видно что такие пункты меню как, например, "сегодня", "задачи" почему-то автоматически переводятся.

Я знаю, что меню можно перевести через редактирование меню, создавая для каждого пункта перевод. Но я хочу узнать, можно ли сделать это через редактирование файла ru.po и его импорт.

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

Заранее спасибо!

Оказалось, что если заменить

#: menu:item:14387:title
msgctxt "item:14387:title"
msgid "Tomorrow"
msgstr "Завтра"

такими строками:

msgid "Tomorrow"
msgstr "Завтра"

Перевод срабатывает

Но проблема не решилась для всех пунктов меню. Например, я вводила в ru.po такие значения:

msgid "Call lists"
msgstr "Вызывные"

msgid "Call list for today"
msgstr "Вызывной на сегодня"

msgid "Call list for tomorrow"
msgstr "Вызывной на завтра"

а перевелись только

msgid "Call lists"
msgstr "Вызывные"

другие два не перевелись. Находятся в одном меню, установки ссылки меню одинаковые, созданы через пункт "меню" во views. Разницу вижу только в том, что переведенный пункт на русском состоит их одного слова, а непереведенные из нескольких. Но в других меню у меня есть как раз обратные случаи. Почему же через ru.po некоторые пункты переводятся, а некоторые нет?

Комментарии

Аватар пользователя leramulina leramulina 6 июля 2014 в 16:11

Lotar, a не могли бы вы еще раз взглянуть на пост. Я его заапдейтила. Я решила проблему, но как оказалось не для всех пунктов меню. Какие-то не переводятся. Может, вы подскажете, почему? Заранее спасибо!