こちらの続きシリーズです。
今回は多言語対応です。
ユーザガイドは、第10章 サイトを多言語化する。
このページがタイトル以外多言語化されていませんが・・・
こちらを見ながらがやりやすそう。
地域と言語の設定
サイト/admin/config/regional/language
初期状態では、言語としては「Japanse」しかありませんでしたので、「言語を追加」で、「英語」を追加します。
ついでに「Chinese, Simplified」、「Chinese, Traditional」も追加しました。
日本語が一番翻訳されているのか・・・
何が翻訳されているかは、ユーザーインタフェースの翻訳
サイト/admin/config/regional/translate
で見ることができ、未翻訳の言葉を翻訳追加することもできます。
この時点ではまだサイトに変更はないです。
翻訳対象の指定
次に、「コンテンツの言語」の設定で、 コンテンツ、カスタムブロック、カスタムメニューリンク にチェックを追加します。
サイト/admin/config/regional/content-language
チェックを付けると下に追加設定の入力欄が表示されるので、「作成・編集ページに言語セレクターを表示」にチェックします。
ユーザガイドでは説明がないように思いますが、この時、「機能拡張」の「多言語設定」もしておく必要があるようです。
4つともチェックをつけます。
そうすると、先程の「コンテンツの言語」の設定の撹乱の左にチェックボックスが現れます。
チェックすると、どのフィールドを対象とするかの選択欄が表示されるので、掲載、タイトル、本文 にチェックします。
これにより、各コンテンツの編集画面で、「翻訳」タブが表示されるようになります。
翻訳文作成
これは「ご案内」というコンテンツの編集画面ですが、例えば、home画面は、内容からで作成しているので、それぞれの翻訳を追加すると、こんな感じになります。
コンテンツ自体は、それぞれできるんですね。良いような悪いような。
言語でフィルタできるので、害はない??
では、ご案内の各翻訳を作成してみます。
そうすると、サイト名の直後に、en とか、zh-hansをつければ、こんな表示になります。
これはOKです。
しかし、Blog のリンクを押してみると、こんな感じになってしまいました。
ブログを全部表示する形になっているので、他言語の同内容のものも表示されてます。
ビューの設定でフィルターの条件を追加したら、OKでした。
その他、コンテンツタイプなども、自分で定義したフィールド名を、それぞれ翻訳していく必要があります。
言語切り替えの仕組み
さて、翻訳文を作って、URLで切り替えができるようになった。
ただ、URLに自分で「en」を付けるなんてことはできない。
そもそも、どの言語で表示するかの判定は、地域と言語>言語 の「判定と選択」で行います。
サイト/admin/config/regional/language/detection
例えば「ブラウザー」とかも指定しておけば、自動判定はされるようになりますが、確認用の意味も含めて、切り替えの仕組みは欲しい。これは、自分で作らないといけなそうです。
プルダウンをヘッダにつけられると良いかなと思いますが・・・
若干中途半端ですが、一旦ここまで。