プラグインの翻訳ファイルをオーバーライドする

the-event-calendar-screenshot

プラグインは、必ずしも日本語に対応していません。

日本語化したプラグインをプラグインの制作者に送付してプラグインに付属させてもらう事は意義のある事ですが、

完全に翻訳が完了していなかったり、そこまで翻訳する気になれないといった事も少なからずあると思います。

このような場合、プラグインの翻訳ファイルを テーマファイルに置いておいて、翻訳をオーバーライドできると便利ですよね

オーバーライドは、比較的簡単にできます。サンプルコードは以下の通りです

以下のサンプルは、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;
	}
}

[emulsion_relate_posts]