在插件或主題中,使用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'); });