新增!WordPress 5.0中的JavaScript i18n支持

多年来,国际化(国际18n国际18n 国际化,或编写和准备代码以完全翻译成其他语言的行为。另请参见本地化。通常用小写字母i书写,因此不会与小写字母L或数字1混淆。通常是后天习得的技能。)在WordPress中得到了很好的支持菲律宾比索菲律宾比索 WordPress主要使用的web脚本语言。WordPress需要PHP 5.6.20或更高版本发展。对于PHP,WordPress已经提供了所有必要的工具,以便尽可能轻松地本地化WordPres核心核心 核心是运行WordPress所需的一组软件。核心开发团队构建WordPress。任何语言的主题和插件。今天,我们将同样的功能JavaScript脚本JavaScript脚本 JavaScript或JS是一种面向对象的计算机编程语言,常用于在web浏览器中创建交互效果。WordPress广泛使用JS以获得更好的用户体验。当PHP在服务器上执行时,JS在用户的浏览器中执行。https://www.javascript.com/.WordPress的开发。

它是如何工作的?

注册脚本时,可以添加wp-i18n型作为依赖项,允许您像在PHP中那样添加可翻译字符串:

wp_register_script('my-handle',plugins_url('/js/my-file.js',my_PLUGIN),数组('wp-i18n'));

在脚本中,您将能够使用wp-18n,如下所示:

常数{__,x,n,nx}=wp.i18n;__('__','我的域');_x('x','x_context','my-domain');_n('_n_single','_n_plural',number,'my-domain');_nx('_nx_single','_nx_plural',number,'_nx-context','my-domain');

这些函数反映了它们的PHP对应项,可以以完全相同的方式使用。 

最后一步是告诉WordPress您的脚本包含翻译以及哪个域,这是为了允许WordPres有选择地只加载必要的翻译,以确保一切尽可能快:

wp_set_script_translations(“我的句柄”、“我的域”);

确保还指定文本域您在中的翻译收割台收割台 你网站的标题通常是人们第一次体验到的东西。位于页面顶部的刊头或页眉是网站外观的一部分。它可以影响访问者对您的内容和您/您组织的品牌的看法。在不同的屏幕尺寸上,它也可能看起来不同。您的插件插件 插件是一个包含一组功能的软件,可以添加到WordPress网站。他们可以扩展功能或为WordPress网站添加新功能。WordPress插件是用PHP编程语言编写的,并与WordPres无缝集成。这些可以在WordPress.org插件目录中免费https://wordpress.org/插件/或者可以是第三方基于成本的插件文件。否则,翻译将不会被translate.wordpress.org

高级使用

现在已经可以使用load_textdomain(加载_文本域)函数并传递您自己的MO文件。也可以使用wp_set_script_translations(wp_set脚本翻译)它接受一个可选的第三个路径参数,允许您告诉WordPress先在别处查找翻译:

wp_set_script_translations('my-handle','my-domain',plugin_dir_path(my_plugin)。'语言);

如果通过,WordPress将首先检查${域}-${区域设置区域设置 语言环境是语言和地区方言的组合。通常,语言环境与国家相对应,葡萄牙语(葡萄牙)和葡萄牙文(巴西)就是这样。其他语言环境示例包括加拿大英语和美国英语。}-${句柄}。杰森JSON格式 JSON或JavaScript Object Notation是结构化数据的最小可读格式。它主要用于在服务器和web应用程序之间传输数据,作为XML的替代。存在于给定路径中,如果存在,则将其用作翻译源。或者,在默认为WordPress语言目录之前,它还将首先检查给定路径中的md5文件名。

如果你想自己发货翻译翻译 更改文本、单词和显示格式以支持另一种语言的过程(或结果)。另请参见本地化国际化.这些文件应该在JED公司1.x(.json)格式。GlotPress系列能够与其他工具(如po2json公司。理想情况下,这些文件应该只包含在各自的文件中发生的翻译JS公司JS公司 JavaScript是一种通常在浏览器中执行的web脚本语言。通常用于高级用户界面和行为。文件。使用po2json,您可以按如下方式生成这些文件:

po2json翻译.po翻译.json-f jed

这将生成以下格式的JSON:

{“翻译日期”:“+0000”,“生成器”:“GlotPress/2.3.0-alpha”,“域”:“消息”,“语言环境数据”:{“消息”:{"":                                                             {“域”:“消息”,“复数形式”:“nplurals=2;复数形式=n!=1”,“lang”:“en-gb”},“此文件太大。文件大小必须小于%d KB。”:[“此文件太大。文件大小必须小于%d KB。”],“%d主题更新”:[“%d主题更新”,“%d个主题更新”],“密码强度\u0004Medium”:[“中等”],“分类单一名称\u0004Category”:[“类别”],“帖子类型通用名称\u0004Pages”:[“页面”]}}}

屏幕后面

当您将插件或主题上传到wordpress.org网站所有JS文件都将自动进行解析,就像已经对PHP文件进行的解析一样。任何检测到的翻译都将添加到translate.wordpress.org允许社区合作,以确保WordPress、插件和主题以尽可能多的语言提供。

为了解析所有JS文件i18n-命令对于wp-cli公司使用。这取代了makepot.php,不仅允许在JS文件中提取翻译,还可以审核字符串,只解析特定文本域的字符串,甚至选取makepot.php未检测到的几个字符串。此命令与makepot.php一样,是免费可用且开源的,建议任何使用makepop.php的人都可以转换为这个改进了很多的替代品。

根据这些解析的翻译生成语言包。传统上,这些文件只包含PO和MO文件,每个区域一对。为了有选择地只加载必要的翻译,而不管它是否被使用,还添加了几个文件,每个JS文件对应一个JSON文件,每个文件包含每个语言环境的翻译。

当解析JS文件进行翻译时,我们不知道使用哪个句柄来注册该文件,因此我们必须使用另一种机制来查找属于每个文件的翻译。为此,我们使用每个文件的相对路径的md5。这是附加到的常用名称${域}-${locale}格式为${域}-${区域设置}-${md5}.json。

当您为句柄设置脚本翻译时,WordPress将自动计算出源文件的相对md5散列,检查翻译文件是否存在,如果存在,请确保在脚本运行之前将其加载到wp.i18n中。

插件和主题支持

预计将在未来几周内为repo上托管的插件和主题提供翻译和语言包支持。修补程序已准备就绪,正在等待提交。鼓励插件和主题作者开始在JavaScript项目中使用wp-i18n。

信用

这个美国石油学会美国石油学会 API或应用程序编程接口是一种软件中介,允许程序相互交互并以有限的、明确定义的方式共享数据。如果没有@海洋90@瑞士风格@耐拉德@阿蒂默@施莱瑟拉以及最近@赫雷格伦非常感谢你们为实现这一目标所付出的巨大努力!另一个感谢@赫雷格伦为此提供必要的输入发展记录开发说明 WordPress Core中的每个重要更改都记录在开发人员备注中(通常称为开发备注)。好的开发注释通常包括对更改的描述、导致此更改的决策,以及对开发人员应该如何处理此更改的描述。在WordPress发布周期的测试阶段,开发人员的笔记会发布在Make/Core博客上。当插件/主题作者和WordPress开发人员需要了解这些更改时,发布开发注释尤其重要。通常,所有开发注释都在候选发布阶段开始时编译到Field Guide中。.

#5-0#开发说明#国际18n