Use WordPress core translation,使用WordPress核心的翻譯

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

reference:

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料