Какой nid использовать для переведенного узла в меню
Я использую не перевод сущностей, а только модули i18n.
Например, в главном меню я хочу перевести "свяжитесь с нами". Итак, в переведенном на немецкий язык меню мне нужно указать nid немецкой версии английского узла "свяжитесь с нами"? Или оригинальная английская версия?
ИЗМЕНИТЬ: На рисунке узел/59 относится к английскому узлу, в то время как немецкая версия - узел/800. Итак, для немецкого меню ("свяжитесь с нами"), какое из них мне нужно кормить? узел/59 или узел/800. Я ввел node/59 для всех переведенных пунктов меню, но затем все они были перенаправлены на английский. Я подумал, что i18n должен иметь возможность автоматически вычислять и выбирать переведенный узел. Похоже, я что-то упускаю.
2 answers
Во-первых, модули, о которых вы упомянули, просто прекрасны. Вам нужно отредактировать меню и указать в наборе полей параметры перевода:
- Либо "Перевести и локализовать", что по сути означает, что вы можете сохранить переведенные пункты меню в том же меню
- Или "Фиксированный язык", что означает, что все меню фиксировано на одном языке, поэтому вам понадобится второе меню для второго языка и так далее.
Если вы выберете опцию "Перевести и локализовать", что я обычно предпочитаю, затем вы добавляете обычный пункт меню, скажем, на английском языке, а затем в списке пунктов меню будет доступна операция для каждого из пунктов меню с именем "перевести". Здесь вы выбираете язык перевода второго пункта меню. Кроме того, вы можете получить доступ к переводу для самого редактирования элемента меню.
Идея заключается в том, что для каждого пункта меню указан свой язык, поэтому, когда вы указываете узел/nid другого языка (или канонический URL-адрес любой язык) это не должно иметь значения, при условии, что вы также связали переведенный контент (узлы) в администрировании контента.
В Drupal 7 вы можете использовать Языковой стандарт основной модуль для перевода.
Языковой стандарт: Добавляет функциональность обработки языка и позволяет переводить пользовательский интерфейс на языки, отличные от английского
-
После включения модуля локали добавьте немецкий язык с помощью
admin/config/regional/language
. Используйте английские слова для создания меню.
-
После создания меню используйте ссылку
admin/config/regional/translate/translate
для перевода английской строки на немецкий.-
Найдите строку. Я использую О нас для перевода. Нажмите соответствующую ссылку для редактирования , чтобы перевести.
-
Введите Немецкую строку
-