Warning: Use of undefined constant user_level - assumed 'user_level' (this will throw an Error in a future version of PHP) in /home/usaken/tekmemo.com/public_html/php/wp-content/plugins/ultimate_ga_1.6.0.php on line 524

WordPressの表記を変更

2007/12/08 | SNS/CMS/ブログ

Warning: Use of undefined constant user_level - assumed 'user_level' (this will throw an Error in a future version of PHP) in /home/usaken/tekmemo.com/public_html/php/wp-content/plugins/ultimate_ga_1.6.0.php on line 524

とある案件で、WordPressをCMSとして利用し、かつメンバーしか閲覧できないようにするためのシステムを作っている。ブログツールにはたいてい標準でユーザ管理機能がついているので、それを使えばユーザ管理機能は作成する必要がない。それにWordPressならプラグインを使って、ユーザ管理データベースと連携した認証システムを組み込むこともできるからだ。
さてこのWordPress。テンプレートとかのデザインが変更できるのはもちろんだが、言語ファイルを作成するだけで、多言語に対応できる。しかしその言語ファイル。これはPHPで書かれているものではない・・・それが厄介。
言語ファイル自体は「wp-includes/language/」ディレクトリ内に存在するのだが、同じファイル名で異なる拡張子を持つ対のファイルがいくつか存在している。拡張子はpoとmoの二つだが、WordPressが実際に使用しているのはmoのほう。これ、中を見ようとするとバイナリなんだな・・・。お手軽に編集して済むということではなさそうだ。
で、その編集方法を調べてみた。やり方としてはpoファイルを作成し、そこからmoファイルに変換するようだ。

(1) 拡張子poのファイルをテキストエディタで編集する
(2) コンソール上で適当なディレクトリで以下のコマンドを入力
 msgfmt -o ja_UTF.mo ja_UTF.po
(3) できたファイルを上記のディレクトリへ配置

これでできあがり。
どうしてこんな面倒なことになっているんだろ?。多言語対応というのは、きっとこういうところが大変なんだろうな。

コメントを残す



Warning: Use of undefined constant user_level - assumed 'user_level' (this will throw an Error in a future version of PHP) in /home/usaken/tekmemo.com/public_html/php/wp-content/plugins/ultimate_ga_1.6.0.php on line 524
守谷市(まちの情報ポータル) 無料アンケートレンタルjpForm.net

Warning: Use of undefined constant user_level - assumed 'user_level' (this will throw an Error in a future version of PHP) in /home/usaken/tekmemo.com/public_html/php/wp-content/plugins/ultimate_ga_1.6.0.php on line 524