WordPress 英文ページの追加


WordPressのテーマファイルを作成していて、閲覧環境が英語の人の閲覧が日本語よりも多く、多言語化したいという気持ちが以前よりあり、今回プラグインを使ったテストを始めたのでメモに残します。



インストール時の不具合をメモしただけのものなので、間違っているかもしれません ご利用の場合には、注意してください



テストしているプラグインは、qTranslate


このプラグインは、どのように多言語化を実現するのか

以下の画像を見てもらうと早いと思います
言語毎のタイトルと本文が表示されるのでそれぞれ入力します


f:id:tenman:20120121110420p:image

URLは、設定によりますが
http://example.com/jaなどでアクセスできるようになります

ブラウザの言語設定を取得する事も出来ます




いわゆるはまりポイントは2つ



プラグインの日本語化ファイルの設定

  言語の設定の中にロケールの設定があります。また付属している日本語用のサンプル.moファイルもqtranslate-ja_JP.moとなっているために、ロケールの設定をどのようにすべきか、困惑する

  WordPressロケール設定は、wp-config.php

define ('WPLANG', 'ja');

と設定してあるのが普通です。

qTranslateのロケールの設定を ja_JP等にした場合、上書きされてしまうという事が起きます
  定数なので、それを上書きするという事は、出来ない事ですが、ワードプレスは、この定数の値をデータベーステーブルに保存してその値を利用するという事を行うため、上書きされたように動作する事があるというのが正しいのかもしれません。

  このようなことになると、どこかでイレギュラーな動作をする可能性があるので、qTranslateのロケールをjaに設定します。(ただ、このようにする事が正しいとまでは言い切れない程度の事しか試していません)
  
ロケールを、jaに設定した事により、moファイルの名前を変更する必要があります。

qtranslate-ja.po
qtranslate-ja.mo

  という名前で、翻訳ファイルを作ります。(poedit等で翻訳ファイルの作成は、問題ないように見えます)




日付表示の設定


  詳細設定を行わないでブログを表示すると、投稿日が正常に表示されませんでした。



メカニズムは解りませんが、the_time()テンプレート関数をテーマファイルで利用している場合、あるいは、the_date()テンプレート関数を使用している場合でも、設定によっては、正常に表示されない事がありました。



詳細設定:日付/時刻の変換
エミュレートされた日付関数を使う、または、エミュレートされた日付関数を使用し、各言語用の定義済みの形式でフォーマットを置き換えます の項目を選択した場合

%Y年%m月%d日%H:%M

という表示になりました
%Y年%m月%d日は、get_the_date()を、%H:%Mは、get_the_time()を使っています

strftime関数の代わりにdate関数を使用、または date関数の代わりにstrftime関数を使用し、各言語用の定義済みの形式でフォーマットを置き換えます。選択したモードに応じて、テーマの追加のカスタマイズが必要になる場合があります。 という項目を選択した場合、
どちらも、

 2011年5月23日05/23/11 

get_the_time('D')使用

という形で狙い通りの表示になりました。



WEB上には、qTrainslateのインストールに関するチュートリアルが結構ありますが、多くの日本語サイトのチュートリアルでは、日付の表示の問題をハマリどころと指摘しています



が、



なぜか、設定すべきと推奨される日付/時刻の変換の選択肢は、異なっているのが実情のようです。




引数として使われているタイムスタンプの値が、20桁、同じタイムスタンプの値を2回分つなげた値になっているものを発見したり、バギーな感じもしますが、


dev版にインストールしてみました。バージョンをチェックしている模様でしたが、このメッセージも重複して2回表示されていました。

The qTranslate Editor has disabled itself because it hasn't been tested with your Wordpress version yet. This is done to prevent Wordpress from malfunctioning. You can reenable it by clicking here (may cause data loss! Use at own risk!). To remove this message permanently, please update qTranslate to the corresponding version.

おおむね動作しています。

WordPress 3.3.1日本語版
テーマ:Raindrops

1月31日 追記
コメント一覧
f:id:tenman:20120131201112p:image