次に、メニューを翻訳する2つの方法について説明します。
どちらの場合も、i18n、i18n_menuモジュールを使用します。 今回はエンティティの翻訳はエンティティのみを翻訳できるため、私たちのヘルパーではありません。 Drupal 6では、このためにメニュー翻訳が使用され、後に国際化とマージされました。
i18nモジュールがすでにオンになっており、言語定義が構成されていると想定されます(そうでない場合は、 ここで )。
まず、メニューを翻訳するためのサブモジュールをオンにして、drushを使用しましょう。
drush en -y i18n_menu
最初の方法
メニュー「admin / structure / menu / manage /%menu%/ edit」を編集するためのページで、「Translate and Localize」項目を選択します。

ご覧のとおり、メニューページに新しいタブ「翻訳」が表示されました。

これを使用して、このメニューの名前と説明を翻訳できます。

新しいリンクを作成すると、メニューに言語選択フィールドが表示されます。
重要 :言語を選択する必要があります。選択しないと、このリンクをこの方法で翻訳できません。

「admin / structure / menu / item /%menu_item_id%/ translate」ページで、このリンクに新しい翻訳を追加するか、既存の翻訳を翻訳として指定できます。

翻訳の結果、リンクは複製されますが、言語は異なります。

第二の方法
2番目の方法では、同じモジュールを異なる方法で使用します。
重要:新しいリンクを作成するときは、中立言語を選択する必要があります

すべてを翻訳できるようになりました。 これは、選択した2つのページのいずれかで行われます。
リンク編集ページの「翻訳」タブから。

または、「admin / config / regional / translate / translate」ページで。

2番目の方法を使用する場合、リンク自体は複製されません
結果
英語:

ドイツ語:

更新する
プログラムで出力する場合は、関数を使用する必要があります
<?php print render( i18n_menu_translated_tree('menu-name') ); ?>
の代わりに <?php print render( menu_tree('menu-name') ); ?>