【Drupal 8入門】コンテンツの翻訳と多言語設定(前編)
![](https://thinkit.co.jp/sites/default/files/styles/main_image_730x/public/main_images/10080_main.png?itok=uZthc1uN)
前回はサイト内の各要素をブロックとして配置し、コンタクトフォームを作成してサイトの外観を完成させました。今回と次回の2回にわたり、完成したサイトの多言語化を行います。
Drupalがグローバル展開している企業や国際機関に広く採用されている1つの理由として、強力な多言語機能を持つ点が挙げられます。例えば、製造業・メーカーであれば、各国の顧客に対して、製品情報をそれぞれの国の言語で配信する必要があります。各国ごとに独自のサイトを作り、管理するとなると非常に大きな手間となります。このような状況で、もし製品情報に変更が出た場合には、それらのサイトに個別に変更を加える必要があります。Drupalでサイトを作り、多言語サイトとして運用していれば、これらの手間は大きく軽減されます。
Drupalの統一されたインターフェイス上で翻訳を追加して、公開することで、コンテンツの一元化管理が可能になります。Drupal 8では、94の言語に対応し、サイト内のあらゆる要素に対して翻訳を追加できます。また、言語毎にサイトを立ち上げて擬似的に多言語対応をするCMSもありますが、Drupalはページ・URL単位での多言語対応が可能です。
では、実際に手を動かしながらDrupal 8の多言語機能について学んでいきましょう。
サンプルサイト http://demo.drupal8-getting-started.annai.co.jp
素材集 http://demo.drupal8-getting-started.annai.co.jp/download
今回実装する多言語機能
今回、実装する多言語機能を確認します。サンプルサイトの右側のカラムをご覧ください。「言語を選択」ブロックが配置されていて、言語が選択できるようになっています。このブロックにある「English」リンクをクリックしてください。
ブラウザのURL欄を見ると、URLに「English」を意味する言語プレフィックス「en」が付加され、表示言語が「English」に切り替わりました。
言語が英語の状態で他のページを閲覧すると、英語表記のままサイトを閲覧できます。「言語を選択」ブロックの「Japanese」をクリックすると日本語表示に切り替わります。
多言語サイト構築に必要な設定
「Configuration Translation」と「Content Translation」モジュールの有効化
多言語機能を利用するには、標準では無効化されている「Configuration Translation」と「Content Translation」モジュールを有効化する必要があります。これらのモジュールはDrupal本体に標準でインストールされていますが、初期状態では有効化されていません。まずは、これらを有効化します。
1.管理者メニューの「機能拡張」をクリックします。
2.「拡張」画面の「多言語」セクションの「Configuration Translation」と「Content Translation」チェックボックスにチェックを入れて「インストール」ボタンをクリックすると、モジュールのインストールが始まります。
3.インストールが完了すると自動的に「拡張」画面に移動し、「2 個のモジュールが有効化されました: Configuration Translation, Content Translation 。」とメッセージが表示されています。これでインストールは完了です。
言語の追加
1.管理者メニューの「環境設定」をクリックします。「環境設定」画面の「地域と言語」セクションの「言語」リンクをクリックします。
2.「言語」画面です。ここではサイト内で使用する言語を追加できます。現在はDrupalのインストール時に設定した「Japanese」のみが存在し、デフォルト言語として設定されています。ここに「English」を追加してみましょう。
「拡張」画面にある「言語を追加」ボタンをクリックします。
3.「言語を追加」画面が表示されますので、「言語名」ドロップダウンメニューから「English」を選択します。「言語を追加」ボタンをクリックすると、言語の追加が始まります。
※今回は「English」を追加しましたが、好みに合わせてお好きな言語を選んでもかまいません。
Drupal 8では標準で94の言語に対応しています。
4.言語の追加が完了すると、「言語」画面が表示されます。メッセージに「言語 English を作成し、利用できるようになりました。」と表示され、言語の一覧に「English」が追加されます。これで言語の追加が完了しました。
言語の判定と選択の設定
次に閲覧者の言語をどのように判定したり、選択したりするかを設定します。引き続き、「言語」画面から設定を行います。
今回実装する仕様では現在のデフォルトの設定のままですので、特に設定を変更する必要はありません。
しかし、「判定と選択」は多言語サイトを構築する上でとても重要な部分ですので、現在の設定を確認していきます。
1.「言語」画面の「判定と選択」タブをクリックします。
2.「判定と選択」画面です。ここでは、どのように閲覧者の言語を検出するかを設定します。
現状では「URL」にチェックが入っています。「URL」の右の「設定」ボタンをクリックします。
3.「URL言語判定設定」画面です。ここでは、URLによる言語判別のための設定を行います。
URLによる言語判定とは、アクセスするURLに応じて表示言語を変更する設定です。
現在は「Japanese(ja)パスプリフィックス(デフォルト言語)」のURL横の入力欄が空白に、「English(en)パスプレフィクス」横の入力欄に「en」と入力されています。
これは、以下の表ようにサイトURLの後にパスプレフィックス「en」が付くURLにアクセスすると英語で表示、パスプレフィックスが付かないと日本語で表示する設定となっています。
URL | パスプレフィックス | 表示言語 |
http://demo.drupal8-getting-started.annai.co.jp/ | なし | 日本語(デフォルト言語) |
http://demo.drupal8-getting-started.annai.co.jp/en | en | 英語 |
仮に「会社概要」ページ「/about」の英語ページにアクセスした場合は、以下のようなURLになります。
http://demo.drupal8-getting-started.annai.co.jp/en/about
このように言語ごとにパスプレフィックスを設定して表示言語を振り分けることができます。
設定はこのままで、「環境設定」画面に戻ります。
※今回のサンプルではデフォルト言語である日本語にはURLに言語プレフィックスを付けていませんが、/ja を付けることも可能です。
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- 【Drupal 8入門】コンテンツの翻訳と多言語設定(後編)
- 【Drupal 8入門】Viewsによるコンテンツ一覧ページの作成(後編)―AJAXページャーや検索機能の実装
- 【Drupal 8入門】ブロックレイアウトとコンタクトフォーム作成
- 【Drupal 8入門】Viewsによるコンテンツ一覧ページの作成(前編)―Viewsの概念と基本的な使い方
- 【Drupal 8入門】モジュールのインストール、ユーザー作成と権限の設定
- 【Drupal 8入門】コンテンツタイプとタクソノミーの作成
- 【Drupal 8入門】Drupal 8の基礎知識とPantheonを用いたインストール
- Drupalの歴史における革命的な変更を含むDrupal 9のリリースと今後の展望
- 簡単すぎる!ウェブマスターツールの設定
- 【Drupal 8入門】Drupalを支えるコミュニティ活動と各種情報