WordPressのまめ知識ホームお問い合わせ紹介トップページテーマWordPressの翻訳システム「GlotPress」テーマの翻訳ファイルはどこへ行ったの?WordPressの翻訳システム「GlotPress」テーマの翻訳ファイルはどこへ行ったの?May.8,2018WordPressのコアやプラグイン、テーマの翻訳は、GlotPressというWeb上のシステムを使って行うようになっている。聞いたことはあるものの、翻訳ソフトのPoeditに慣れていたので気にしていなかった。急にそうは言ってられない状況になった。公式ディレクトリのテーマをアップデートするときに、翻訳だけ更新されない事態におちいった。これまでに何度もやってきた作業なのに、いったいどうしたことなのか?ここでようやくGlotPressを使うときが来た。発端は、WordPressの公式ディレクトリに登録しているテーマを更新しようとしたことだ。最低でも2年に1回はアップデートしないと、不適切なテーマとして葬り去られてしまう。古いテンプレートタグを使わないようにして新しいのを利用したり、見た目は変えないようにしながら最新の対応をする。IE対応していた部分はしれっと切り捨ててもいい。テーマアップデートの最終段階として、翻訳の更新がうまくいかず悩んだ。日本語の翻訳が更新されない公式ディレクトリにテーマを登録する際は、すべて英語で表記しなければならない。いった翻訳関数を利用し翻訳可能な状態にしておく決まりがある。Ready)かつ日本語対応したテーマとなる。翻訳可能なテキスト(英語)を集めた元ファイル/wp-content/themes/birdfield/languages/birdfield.pot「1」を元にした日本語のファイル/wp-content/themes/birdfield/languages/ja.po「2」をコンパイルして生成されたファイル/wp-content/themes/birdfield/languages/ja.moコンパイルのためにPoeditというソフトを使う。ところが、テーマ更新のさいに追加したテキスト(具体的には機能追加したテーマオプションの項目名)が日本語にならないのだ!Poeditで何度コンパイルしてもー!!その翻訳はどこにあるの?コンパイルがうまくいってないのか、試しにテーマのlanguagesディレクトリを削除してみた。するとすべてが英語表記になると予測したのに日本語が表示されるままだ。日本語が微妙に足りないままだ。その翻訳はどこに書いてあるのか?削除したはずの日本語をgrepしてみると、こんなところにあるでなないか!/wp-content/languages/birdfield-ja.mo/wp-content/languages/birdfield-ja.poいつのまにか、テーマ直下でもないディレクトリに翻訳ファイルがあった。ここに翻訳ファイルがあるのは公式ディレクトリのテーマだからなのだろうか?では削除すればよいかというと、そうでもない。削除して解決されたかに見えて、ちょっと油断したスキにまたダウンロードされてしまうのだ。(※2)ja.po(※1)が優先されており、テーマ直下の(※2)を更新しても反映されない。(※1)はGlotPressよりダウンロードされている。翻訳システムはGlotPressに移行テーマの翻訳はWebの翻訳システム「GlotPress」に移行していた。いつからかわからない。公式ディレクトリのテーマだから自動的に移行していたのか?体調崩した2年のブランクで気づかなかったのか。私が作ったテーマはGlotPressで翻訳できる、いやGlotPressでしか翻訳が反映されない状態になっていた。権限をリクエストする必要がある。翻訳Webベースで翻訳するテーマディレクトリの右サイトバーの「BirdFIELDを翻訳」からGlotPressの画面に移る。日本語にしたいので[Japanese]を見る。[Details]で確認。権限を持っている場合は、ここで日本語を入力・修正することができる。他のテーマはどんな翻訳をしているかを参照することができる。翻訳に詳しい森山さんに確認する機会があった。GlotPressを使う場合は、テーマに翻訳ファイルを添付しなくていいそうだ。テーマのなかで翻訳関数が使われている部分を、GlotPressが自動的に検出してくれるそう。Readyなテーマになるのだ。すごい!これまで翻訳ファイルにはどのテキストがどのテンプレートの何行目にあって...というのを記載せねばならず、プログラムの何行目なんていうのは最後まで分からないわけだから、面倒くさくて仕方なかった。目の前に課題があればなんとか進むものですね。コメントをキャンセルメールアドレスが公開されることはありません。コメント名前メールアドレスサイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。コメントデータの処理方法の詳細はこちらをご覧ください。鳥山@sysbirdが書いてます。Reserved.ページトップへ。