したがって、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つの変換オプションがあります。
英語:
ドイツ語: