翻訳ファイルを利用してwordpressの管理画面を国際化する
静的な翻訳とは
wordpressのマルチサイト構成で多言語化してみたいと考えている。wordpressの多言語化に限らないが、翻訳を行う対象部分は以下の二つがあると考えている。
- 管理画面の翻訳
- コンテンツの翻訳
個人的に、前者を静的な翻訳ととらえており、後者を動的な翻訳と考えている。
静的な翻訳とは、wordpressの管理画面のリンクや文言を翻訳することで、動的な翻訳とは、投稿者が作成した記事を複数の言語で用意することと解釈している。
本エントリーでは、静的な翻訳というテーマに焦点をあてつつ、webサイトを多言語対応するにあたり必要となる
地域化国際化のためのSEOの知識
についても触れたい。動的な翻訳については、別のエントリーという形でテーマを分けて書いてみようと考えているところ。
管理画面の翻訳ファイルの入手方法
翻訳ファイルの場所
wordpress3.8の日本語版には日本語の言語パックが標準で備わっており、そのため管理画面が日本語で表示されている。言語パックの保存先は以下のパスになる。
wp-content\languages
admin-ja.poなどのファイルが保存されていて、それらが翻訳ファイルになる。
wordpressでは、英語(en_US)を基準として翻訳ファイルを作成することになる。admin-ja.poなどの日本語翻訳ファイルは、en_USを基準として作成された翻訳ファイルということになる。そのため、日本語翻訳ファイルと同じ要領でスペイン語やフランス語の翻訳をファイルを用意すれば、管理画面の翻訳ができることになる。
wordpressの管理画面の翻訳については、1から翻訳ファイルを用意する必要はない。日本語版wordpressがあり、その中に日本語言語パックが含まれているように、例えばスペイン語のwordpressにはスペイン語の言語パックが同梱されている。そのファイルを利用すれば管理画面の翻訳は効率的に進めることができる。
ダウンロード
言語パックのダウンロード先に関する情報は以下のURLで入手している。
2つのURLを記載したが、分かりやすいのは後者のcodexの方になる。このページから各地域のwordpressのトップページへ進むことができる。各地域のwordpressのトップには、パッケージのダウンロードリンクが用意されているので、wp本体をダウンロードして翻訳ファイルだけをコピーして利用することができる。
前者の方のURLでは、言語パックのみを効率的にダウンロードできそうなので、興味がある人は試してみると良いだろう。
言語の切り替え
スペイン語版のwordpress(es_ES)をダウンロードしてファイル構成を確認したのが以下の状態。
そして、上のファイル一式をwordpress日本語版の同じ階層にコピーしたのが以下の画像の状態
言語の切り替え
管理画面の
設定 → 一般設定 → サイトの言語
を確認してみると以下のようになっている。
spanishを選択すれば管理画面はスペイン語で表示される。
apiを利用した言語の変更
wordpressのoptions apiを利用して言語を変更・セットアップすることも可能。管理画面からサイトの言語を変更すると、wordpressデータベースの
wp_optionsテーブル → WPLANG
というキーの値が変化する。今回の場合だと
ja → es_ES
へと変化した。この値により言語を切り替えているため、update_optionを利用してapi経由でその値を変更することが可能になる。そのため、
日本語のユーザー登録ページから新規登録したブログに対してはjaでセットアップを行い
スペイン語の登録ページから新規登録を行った場合には、es_ESでブログのセットアップを行うことが可能で、
ユーザーに適した管理画面を提供できる。
フロントエンドの静的な翻訳
上で書いた内容は、バックエンドの静的な翻訳になり、フロントエンドの翻訳も必要になる。フロントエンドとは、テーマファイルの静的な翻訳を指し、言語パックは以下のパスに保存されている。
wp-content\languages\themes
wordpress3.8では、標準テーマであるtwentyfourteenの言語パックが用意されており、管理画面同様上記の方法で言語の切り替えができるようになっている。
多言語SEO
サイトを国際化するにあたりマルチランゲージSEOの知識が欠かせない。
そのあたりの情報としてgoogleのウェブマスター向け公式ブログで複数の情報が提供されており、新し目の情報として以下のページがある。
http://googlewebmastercentral-ja.blogspot.jp/2013/04/x-default-hreflang-for-international-pages.html
地域ごとにドメインを分けてメタタグで言語と地域を検索エンジンに対して明示することが推奨されているようだ。この部分のテーマは大き目なので分けて考えてみることにしている。
- サブドメイン
- サブディレクトリ
- 動的な翻訳のパス
- ユーザーの言語を何を基準に判断するのか?
など複数の決定をしないといけない。多言語SEOについては別途エントリーできればと思っている。