プラグインは、必ずしも日本語に対応していません。
日本語化したプラグインをプラグインの制作者に送付してプラグインに付属させてもらう事は意義のある事ですが、
完全に翻訳が完了していなかったり、そこまで翻訳する気になれないといった事も少なからずあると思います。
このような場合、プラグインの翻訳ファイルを テーマファイルに置いておいて、翻訳をオーバーライドできると便利ですよね
オーバーライドは、比較的簡単にできます。サンプルコードは以下の通りです
以下のサンプルは、the_events_calendar というプラグインの翻訳ファイルをテーマの
languages/plugins/the-events-calendar/tribe-events-calendar-ja.mo
に置いて、翻訳ファイルをオーバーライドしています。
tribe-events-calendar
は、プラグインのtext domainです
functions.phpにPHPコードを追加します
add_filter( 'load_textdomain_mofile', 'raindrops_override_mo', 10, 2 );
if ( !function_exists( 'raindrops_override_mo' ) ) {
/**
*
* @param type $mofile
* @param type $domain
* @return type
*/
function raindrops_override_mo( $mofile, $domain ) {
$raindrops_locale= get_locale();
if ( $domain== 'tribe-events-calendar' && 'ja'== $raindrops_locale ) {
return get_template_directory() . '/languages/plugins/the-events-calendar/tribe-events-calendar-' . $raindrops_locale . '.mo';
}
return $mofile;
}
}
