WordPressのプラグインを日本語化したにも拘らずその言語ファイルを読み込んでくれない原因が判明しました。
原因は私にありました。
簡単に言えばプラグインのマニュアルを読まずにただ単にプラグインディレクトリにプラグインを設置していたのが間違いでした。
日本語化に挑戦したプラグインはWordPress Database Backupというデータベースのバックアップ作業を自動で行ってくれるものだったのですが、ファイルを /wp-content/plugins/wp-db-backup/ に展開していました。
しかしマニュアルを再読していると /wp-content/plugins/ 直下に配置しろと書いてある。
WordPressの場合pluginsディレクトリを掘り下げてディレクトリを作成しそこにプラグインファイルを置いても読み込んでくれる仕組みになっているが、言語ファイルについてはこちらの記事を見ているとそうはならないらしい。
でもその記事によるとWP1.6系では修正されているらしいのですが・・・。
今回の場合wp-db-backupディレクトリに置いていたプラグインファイルを/wp-content/plugins/直下に日本語化したファイルと置けば問題なく日本語化できたのですが、/wp-content/plugins/直下にあまりファイルを散在させたくなかったのでこちらの記事を参考にプラグインファイルを一部修正して /wp-content/plugins/wp-db-backup/ に置いても動作するようにしてみた。
プラグインファイルの load_plugin_textdomain というところを下記のように置き換え。
$domain_name = 'ドメイン名';
$locale_name = get_locale();
$mofile_name = dirname(__FILE__);
$mofile_name .= "/$domain_name-$locale_name.mo";
load_textdomain("$domain_name", $mofile_name);
実際に今回試したWordPress Database Backup Ver.2.1.5 の場合
wp-db-backup.php 183行目
load_plugin_textdomain('wp-db-backup');
を削除もしくはコメントアウトして、下記コードに置き換える事で問題なく動作した。
$domain_name = 'wp-db-backup';
$locale_name = get_locale();
$mofile_name = dirname(__FILE__);
$mofile_name .= "/$domain_name-$locale_name.mo";
load_textdomain("$domain_name", $mofile_name);
ただ現在WordPressも2.3になっているので上記修正を施すことなくもっとスマートな方法があるのかもしれない。
関連記事
- Newer: DX-7.com落札される
- Older: ドメインにオファーが来た -2
Comments:0
Trackbacks:0
- Trackback URL for this entry
- http://www.dxcode.com/archives/2007/113040.php/trackback
- Listed below are links to weblogs that reference
- WordPressプラグインの日本語化ファイルの設置場所 from おじさんの備忘録-番外編-