Drupal 7の多言語主義。メニュー

前に、コンテンツ(ノード)をD7にどれだけ迅速かつ簡単に変換できるかについて説明しました。

次に、メニューを翻訳する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') ); ?>
      
      






All Articles