我可以去掉核心中使用的术语的插件文本域吗?

时间:2012-12-26 作者:mrwweb

我有a plugin 这会将post状态放入post类型的管理菜单中。我正在将其国际化,我想知道如何处理这种情况。

该插件使用一些独特的字符串,将获得如下textdomain:

__( \'Select the post statuses to <strong>exclude</strong> from post type admin menus\', \'csmpmsi\' )
但也有一些情况下,我用一个与核心相关的词来表达与核心相关的意思,比如:__( \'Pages\' ). 在这种情况下,对我来说,排除textdomain并利用已经在core中本地化的术语似乎是非常有意义的。然而,法典似乎非常明确:

如果你想翻译一个插件,上面的建议同样适用,除了

您必须使用加载在插件挂钩中的域

  • 每个翻译调用都必须变成\\uuu(“文本”,“域名”)

    那么这是洁食WP吗?

  • 3 个回复
    最合适的回答,由SO网友:fuxia 整理而成

    永远不要依赖核心字符串进行翻译,它们可能会更改或得到context 参数。一旦发生这种情况,您的用户就会得到一个部分翻译的界面,而您的翻译人员则无法修复。

    还请记住,不必在任何地方用相同的单词翻译相同的字符串。即使没有上下文参数,在某些语言中为插件使用不同的翻译也可能很有用。但是如果插件中不包含字符串,这是不可能的。

    看到这个了吗chat discussion 几天前我们讨论过这个话题。

    SO网友:Mark Kaplun

    是的,但请不要这样做。这就像编码标准,最好遵循它,即使您可以通过绕过它获得一点优势。

    更好的理由:

    WordPress 3.5版中没有完整的翻译文件,出于性能原因,它被分为3部分。如果这种趋势继续下去,您是否可以确保在中尝试使用默认域时会加载它__(\'Pages\')?

    您不需要将工作保存到本地化程序中—像poedit这样的翻译工具不知道如何在一个文件中处理两个翻译域,在您的示例中,它们将生成一个。包含单词“Pages”的po文件,即使您使用默认域也是如此。定位器不会检查他翻译的字符串的实际使用情况,除非他需要理解上下文,这样他就不会注意到不同的域,而是会翻译单词。此外,如果本地化者知道他的工具,他将有一个基于WordPress核心翻译文件的翻译数据库,使poedit能够自动翻译诸如“页面”之类的单词。

    SO网友:Ann

    你可以试试

    add_action(\'wp\',function(){
        load_default_textdomain();
        _e(\'Settings\');
    });
    

    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\');
    });
    
    参考号:https://v123.tw/use-wordpress-core-translation/

    祝你好运

    结束

    相关推荐

    如何理解ACTIVE_PLUGINS OPTION_VALUE从数据库中启用和禁用某些插件?

    谁能解释一下如何解释和理解WordPress中的active\\u plugins option\\u value字符串吗。然后使用此字符串/数组禁用和激活特定插件?以下是一个示例:a:8:{i:0;s:21:\"adrotate/adrotate.php\";i:1;s:19:\"akismet/akismet.php\";i:2;s:33:\"better-related/better-related.php\";i:3;s:17:\"clicky/clicky.php\";i:4;s:49:\"cu