対象読者
- HTML、JavaScript、PHPなどWeb開発の基礎に理解がある方
- Webサイト、アプリケーション開発の経験者
多言語機能でサイトの翻訳(1)
Drupalの多言語機能を使って、トップページや店舗情報など、Webサイトのコンテンツを英語対応したいと思います。
Drupalでは強力な多言語機能が標準で備わっており、Webサイトのあらゆる部分を翻訳することが可能です。100カ国以上の言語に対応しているほか、ユーザーのIPアドレス、ブラウザの設定、URL、セッションなどに応じて優先言語を検出することができます。
モジュールの有効化
多言語機能はコア機能に導入されていますが、デフォルトでは有効になっていません。多言語サイトの構築に必要なモジュールを有効化していきます。
機能拡張のページに移動します。「多言語」セクション内の4つのモジュールがDrupalの多言語機能をつかさどります。
- Configuration Translation:設定オプションの翻訳インターフェイスを提供します。構成システムに組み込まれている全てのもの(ビュー、サイト名、ボキャブラリー、ブロック、メニューなど)をこのモジュールで翻訳することができます。
- Content Translation:コメント、ノード、ユーザー、タクソノミー用語を含むコンテンツエンティティを翻訳することができます。
- Interface Translation:組み込みのユーザーインターフェイスを翻訳します。
- Language:Drupalの言語機能を扱うための基本モジュールです。ユーザーが言語を設定してコンテンツに適用することができます。他の3つのコア多言語モジュールはこのモジュールに依存しています。
デフォルトでは「Configuration Translation」と「Content Translation」が有効になっていないので、横のチェックボックスにチェックを入れてインストールします。
言語の追加
Webサイトで対応する言語を追加します。環境設定>言語>言語を追加 と進みます。
言語名に「英語」を選択して「言語を追加」をクリックします。
サイト内で英語が利用できるようになりました。このページでは、言語の追加のほかに、サイトのデフォルト言語の設定が行えます。
言語の判定方法の設定
Drupalには、さまざまな方法を使用した言語判定がサポートされています。サイト訪問者に言語を選択させることなく、最適な言語をスムーズに提供するために言語判定を定義します。「判定と選択」タブに移動します。
言語を判定するための組み込みメソッドは以下の通りです。
- アカウント管理ページ:管理ページの言語設定に従います。
- URL:URL(パスのプレフィックスまたはドメイン)から言語を決定します。
- セッション:リクエスト/セッションパラメータから言語を決定します。
- ユーザー:ユーザーの言語設定に従います。
- ブラウザー:ブラウザの言語設定から言語を決定します。
- 選択された言語:デフォルトのサイト言語を使用します。
デフォルトでは「URL」にチェックが入っています。つまり、ページのURLで言語が指定されている場合、ページはその言語で表示されます。どのような設定になっているのか「設定」をクリックして確認します。
デフォルトでは以下の画像のような設定となっています。今回は設定はこのままにしておきます。
コンテンツの言語と翻訳の設定
コンテンツを翻訳するにあたり、Drupalではどのコンテンツタイプ、タクソノミー、カスタムブロックを翻訳可能とするのかを明示的に許可する必要があります。デフォルトでは無効となっているため、これを有効にしていきます。
環境設定>コンテンツの言語と翻訳 に移動し、「コンテンツ」「システムブロック」「カスタムメニューリンク」「タクソノミーターム」にチェックを入れます。
少し下にスクロールして、コンテンツセクションのコンテンツタイプ「記事」「基本ページ」「店舗」の「翻訳可能」にチェックを入れます。カスタムブロック、カスタムメニュー、タクソノミータームのセクションも同様に、「翻訳可能」の全てのチェックボックスにチェックを入れていきます。チェックを入れると詳しい項目がさらに出てきますが、こちらはデフォルトのままでかまいません。
最後に「構成を保存」をクリックします。