在国际化包含变量的字符串时,是否必须提示翻译器?

时间:2020-10-29 作者:SkyRar

我正在跟踪this 官方指南国际化我的插件。但我很困惑,如果字符串中有变量,是否需要提示?

printf(
    /* translators: 1: Name of a city 2: ZIP code */
    __( \'Your zip code is %2$s, and your city is %1$s.\', \'my-plugin\' ),
    $city,
    $zipcode
);
同样在本文档中,未提及在何处使用load_plugin_textdomain 加载文本域。只提到了Domain Path. 我可以省略吗load_plugin_textdomain 如果我使用Domain Path?

1 个回复
最合适的回答,由SO网友:Pat J 整理而成

据我所知,翻译注释不是必需的,但它们肯定会帮助任何试图翻译插件的人。您可能希望将其视为最佳实践,而不是需求。

关于你的第二个问题:

由于WordPress 4.6翻译现在需要翻译。wordpress。org作为优先级,因此通过translate翻译的插件。wordpress。org不再需要load\\u plugin\\u textdomain()。如果不想向插件添加load\\u plugin\\u textdomain()调用,则必须在自述文件中设置Requires-least:字段。txt至4.6
-发件人the docs

所以我想,如果你想让你的插件在translate.wordpress.org, 你不需要打电话load_plugin_textdomain(). 然而,如果你不打算通过the official WordPress repository (例如,您将使用GitHub或您的个人网站来分发它),您可能仍然需要load_plugin_textdomain().

相关推荐

Date Language doesn't change

我已经为我的wordpress网站切换到了意大利语,它正确地显示了翻译,但当我尝试使用此代码检索日期和时间时echo \"<span class=\'date\' style=\'margin-left:-20px;\'>\"; echo date(\'l, jS F, Y\'); echo \"</span>\"; 它给了我一个英语输出。为什么会这样?