私は Codestyling Localizationを使用しています そしてプラグインを翻訳したいのですが、翻訳ファイルは私が構築しているテーマのtranslationディレクトリに保存したいのですが、pluginsディレクトリには保存しません。
これは可能ですか?
load_plugin_textdomain
とload_textdomain
を試してみましたが、うまくいかないようです。
// Add localization
load_theme_textdomain( 'my_theme', $translation_directory );
$domain = 'other_plugin';
$locale = apply_filters('plugin_locale', get_locale(), $domain);
load_textdomain( $domain, WP_LANG_DIR.'/'.$domain.'/languages/'.$domain.'-'.$locale.'.mo');
load_plugin_textdomain( $domain, FALSE, $translation_directory );
まず第一に、私はあなたのテーマにプラグイン用の翻訳を保存することを強くお勧めします。それがそこにある理由はありません、そしてあなたがテーマを変更/更新するときに翻訳を失うでしょう。
翻訳を保存するための正しい場所はwp-content/languages/plugins/
です。
このコードはそれを行い、ドメイン 'other_plugin'をターゲットにします。
function wpse159536_override_mofile_path( $mofile, $domain ){
if( 'other_plugin' == $domain ){
$mofile = WP_LANG_DIR . '/plugins/' . basename( $mofile );
}
return $mofile;
}
add_filter( 'load_textdomain_mofile', 'wpse159536_override_mofile_path', 10, 2 );
もちろん、もっと良い解決策は、次のリリースに含めるために翻訳ファイルを開発者に送ることです(これが適切な場合)。