Drupal 7の多言語

この記事では、サイトを15分で多言語化する方法を説明します。
したがって、Drupal 7でコンテンツを多言語にするには、2つの方法があります。
1) 国際化モジュールとそのサブモジュール
2) エンティティ翻訳モジュール+ タイトルモジュール
ここでそれらを検討します。

準備する


何かをする前に、サイトに言語を追加する必要があります。 これは、「admin / config / Regional / language / add」ページで実行できます。


ページで有効にします:「admin / config / Regional / language」


また、言語を決定する方法を選択する必要があります。URLから取得することを好みます。 設定では、URLのどの部分から言語を取得するか(プレフィックスまたはサブドメイン)を指定できます。デフォルトでは、プレフィックスがあります。
「管理/構成/地域/言語/構成」


最初の方法


国際化モジュールはD6に登場し、さまざまなタイプのコンテンツを翻訳できるようになりました。 ノード変換の例を使用して検討します。 ほとんどのコンテンツを構成しています。

モジュールのインストール

モジュールをインストールして有効にするには、便利なツールであるdrushを使用します。
drush dl i18n
drush en -y i18n
ノードを変換するため、サブモジュールを有効にする必要があります。
drush en -y i18n_node
モジュールはオンで、準備ができています。

コンテンツタイプの設定

CTを公開するための設定に進み、「有効、翻訳あり」アイテムを選択します。


多言語設定で、適切なオプションを選択します。


ご覧のとおり、言語の選択に関連する新しいフィールドがフィールドのリストに表示されています。


ノードの作成と翻訳

フィールドに入力し、目的の言語を選択して保存します。


これで、ノード編集ページに、新しい翻訳タブが表示されました。


翻訳ページでは、新しい翻訳を追加するか(1)、既存の別のノードを翻訳として指定するか(2)を選択できます。 なぜなら 翻訳が完成していないので、追加します。


ノード作成フォームが開き、その言語のみが既に設定されており、フィールドは無効になっています。


まとめ

異なる言語を持つ2つのノードがあります。 翻訳ノードには元のノードへのリンクがあります。

コンテンツの重複があるため、この方法は最適ではないと思います。
したがって、これを回避する2番目の方法を検討します。

第二の方法


モジュールのインストール

drush dl title entity_translation
drush en -y title entity_translation

モジュールのセットアップ

「admin / config / Regional / entity_translation」ページで、翻訳するエンティティのタイプを選択できます。


コンテンツタイプの設定

CTを公開するための設定に移動し、「フィールド変換を有効にした」項目を選択します。


次に、フィールドのリストで、タイトルを通常のフィールドに置き換える必要があります(これにより、タイトルモジュールが許可されます)。


ここで、翻訳可能なフィールドを選択する必要があります(タイトルはデフォルトで選択されています)
「admin / structure / types / manage /%CT_name%/ fields /%field_name%」ページで、フィールド変換を有効にする必要があります。


ノードの作成と翻訳

ノードの作成は、最初の方法で作成するのと違いはありません。フィールドに入力して言語を選択するだけです。 「言語ニュートラル」のままにすると、翻訳は利用できなくなります。
[翻訳]タブが、新しく作成されたノードの編集ページに表示されます。
ここで、ノードがすでに翻訳されている言語を確認し、残りの言語に翻訳できます。


翻訳に使用できるフィールドに入力します。翻訳を公開するための設定もページにあり、代替URLを指定できます。


まとめ

その結果、1つのノードに2つの変換オプションがあります。
英語:


ドイツ語:

Source: https://habr.com/ru/post/J150382/


All Articles