Home > Plugin | WordPress > WordPressプラグインの日本語化ファイルの設置場所

WordPressプラグインの日本語化ファイルの設置場所

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になっているので上記修正を施すことなくもっとスマートな方法があるのかもしれない。 :tenntenn:

関連記事

コメント:0

コメントフォーム
入力した情報を記憶する

トラックバック:0

この記事のトラックバック URL
http://www.dxcode.com/archives/2007/113040.html/trackback
トラックバックの送信元リスト
WordPressプラグインの日本語化ファイルの設置場所 - おじさんの備忘録-番外編- より

Home > Plugin | WordPress > WordPressプラグインの日本語化ファイルの設置場所

Tag Cloud
メタ情報

ページの上部に戻る