WordPress Snippet

ワードプレスをカスタマイズしよう

テーマの翻訳に本体の翻訳ファイルを指定する。

日本語の翻訳ファイルが存在するテーマファイルというのは、意外と少数派で、大部分は、翻訳ファイルが存在しなくて、自分で翻訳ファイルを作成するのは、ちょっとという場合や、

サードパーティのボランディアが、作成している日本語化ファイルを、親テーマのlanguagesに配置した場合、アップデートする度に、日本語化ファイルを入れ替えるのは、つらいという場合のアイディアです。

サンプルコードは、チャイルドテーマを使って、本体の翻訳ファイルをテーマの翻訳ファイルとして読み込むというものです。

child theme/functions.php

<?php
add_action( 'after_setup_theme', 'my_child_theme_setup' );
function my_child_theme_setup(){
 load_child_theme_textdomain( 'Raindrops', WP_CONTENT_DIR . '/languages' );
}

http://codex.wordpress.org/Function_Reference/load_child_theme_textdomain(b:codex)

第二引数の翻訳ファイルへのパスは、変更できるので、親テーマのlanguageファイルではなく、影響を受けない場所においておけば、アップデート毎に、翻訳ファイルを入れ替える必要はなくなるんじゃないかなと思います。(ただし、テストは動作確認程度)

note.
面倒なら、チャイルドテーマのルートにmoを置いて、第二引数をなしにしても、動くかも、( 未テスト )

第一引数のテキストドメインは、テーマのfunctions.phpやtemplateを開くと

__('open','Raindrops')
_e('open','Raindrops')

といったgettext関数の2番目の引数がテキストドメインです。
大文字と小文字を区別するので、注意してください。
PS
WordPress3.4では、style.cssの、

Text Domain: Raindrops
Domain Path: languages/ja.mo

は、プライベートになっていて、受け取れないみたいなので、しばらくすれば、style.cssで、記述すると、自動的にロードしてくれる日も近いかもしれません。

http://codex.wordpress.org/Function_Reference/wp_get_theme(b:codex wp_get_theme)

http://wp-d.org/2012/08/09/275/(@参考source)

[emulsion_relate_posts]