在插件或主題中,使用WordPress核心的翻譯
WordPress針對插件開發者,在插件中有提供設定 textdomain 指定插件的翻譯,是的!這是正確作法,官方並不建議使用核心的翻譯在插件或主題中,理由是這些翻譯經常會更新,可能會造成錯誤的語意。
但是有些時候只是個小插件,翻譯其實可以跟著核心翻譯來變換,例如,”Settings”翻譯成中文”設定” 或 “設置”,其實也都不離其原本語意,這種情況,或許可以考慮使用全域的WordPress核心的翻譯。
Text Domain 及 Domain Path 設定:
/* * Plugin Name: My Plugin * Author: Plugin Author * Text Domain: my-plugin * Domain Path: /languages */
下文介紹主題或插件使用 WordPress 核心的翻譯
在插件或主題中調用這個方法:
load_default_textdomain( string $locale = null )
load default text domain
add_action('wp',function(){
load_default_textdomain();
_e('Settings');
});Is admin or frontend?
add_action('wp',function(){
$locale = is_admin() ? get_user_locale() : get_locale();
load_textdomain( 'default', WP_LANG_DIR . "/$locale.mo" );
load_textdomain( 'default', WP_LANG_DIR . "/admin-$locale.mo" );
// WPMU
//load_textdomain( 'default', WP_LANG_DIR . "/ms-$locale.mo" );
//load_textdomain( 'default', WP_LANG_DIR . "/admin-network-$locale.mo" );
_e('Settings');
_e('First Name');
_e('Last Name');
});