WordPress 5.0+支持JavaScript i18n本地化翻译

多年来,国际化(i18n)在PHP开发方面得到了很好的支持。对于PHP来说,WordPress已经提供了所有必要的工具,单地将WordPress的核心主题和插件本地化为任何wordpress主题语言。今天,我们为WordPress的JavaScript开发带来了相同的功能。

如何实现

注册脚本时,可wordpress建站详细过程以添加wp-i18n作为依赖项,让您像PHP一样添加可网站制作的大品牌翻译字符串:

  1. wp_register_script(*‘my-handle’,*plugins_url(*&#82wordpress教程菜鸟教程16;/js/my-file.js’array(*‘wp-i18n’)

你可以在脚本中使用wp-i18n,如下所示:

  1. const    {__,_x,_n,_nx}=wp.i18n;
  2. _*‘_’,*‘my-domain’
  3. _x(*‘_x’,*‘_wordpress主题x_context’,*‘my-domain’
  4. _n电脑网络连接正常但是上不了网(*&#82电脑网络重置会有什么后果16;_n_single’,*‘_n_plural&网站制作教程#8217;,*number,wordpress*‘my-domain’
  5. _nx(*‘_nx_single’,*‘_nx_plural&#82wordpress教程菜鸟教程17;,*number,*‘_nx_context网站制作’,*‘my-domain’

这些函数镜像的PHP对应字段,可以以完全相同的方式使用。

最后一步是告诉WordPress你的脚本包含翻译和使用哪个文本域,这是为了让WordPress有选择地只加载必要的翻wordpress译,以确保一切尽可能快:

  1. wp_set_script_translations(*‘my-handle’,*‘my-domain’

确保您的翻译在插件文件的标题中指定文本域(Text*Domain)。否则,translate.wordpress.org不会提取翻译德运网络资讯

高级用法

电脑网络重置在,您可以使用load_textdomain函数发送您自电脑网络连接有个红叉己的翻译,并传输您自己的MO文网站制作流程与发布件。您也可以使用wp_set_script_trans网站制作在哪里比较好lations接受可选的第三个路径参数,这允许您告诉Word网站制作教程Press先在其他地方找电脑网络重置会有什么后果到翻译:

  1. wp_set_script_translations(*‘my-handwordpressle’,*&#8电脑网络连接有个红叉216;my-domain’,*plugin_dir_电脑网络黄色感叹号怎么办pa电脑网络黄色感叹号怎么办th(*MY_PLUGIN);

如果通过,WordPress将首先检查格式为${domain}-${locale}-${hand网站制作le}.json的文件是否存在于给定路径中,如果是,将其作为翻译源。或者,在默认为WordPress语言目录之前,它还将首先检查md5文件名的给定路径。

如果要发送自己的翻译文件,这些文件应该是JED1.x(json)格式。GlotPress可以和其他工具(如po2json)一起创建这些工具。理想情况下,这些文件只应该包含在各自的JS文件中的翻译中。使用po2json,您可以生成以下文件:

  1. po2json-f-j电脑网络连接不上ed

JSON将生成以下格式:

  1. {
  2. “translation-revision-date”:“000”,
  3. &#822网络资讯0;generator”:“GlotPress/2.3.0-alpha”,
  4. “domain”:“messages”,
  5. “locale_网站制作公司哪家好data”:::(1)
  6. “messages”:{
  7. &#82网站制作软件制作效果20;”:::?????????????????????????????????????????????????????????????????????????????????????????
  8. “domain”:“messages”,
  9. “plural-forms”:“n!=1&网络资讯#8221;,
  10. “lang”:“en-gb”
  11. },
  12. “Thishfilehishtoohbig.hfileshmusthbelessh网站制作报价thanhondhkbinhsize.”:[
  13. “Thishfilehishtoohbig.wordpress教程菜鸟教程hfileshmuswordpress教程菜鸟教程thbelesshthanhondhkbinhsize.网络资讯”
  14. ],
  15. “%duthemeupdate”:::(1):(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(
  16. “%duthemeupdate”,
  17. “%dhemeupdates&#8电脑网络重置221;
  18. ],
  19. &#822德运网络资讯0;password,strengthu004Medium”::(1):(1)(1)(1)(1)(1)(1)(1)
  20. &#822电脑网络连接不上怎么解决0;Medium”
  21. ],
  22. “taxonomy,singular,nameuwordpress004Category”:[
  23. “Category”
  24. ],
  25. “post,type,gwordpress教程菜鸟教程eneral,nameu004Pages”:::(1):(1电脑网络重置会有什么后果)
  26. &#8wordpress官网入口220;Pages”
  27. ]
  28. }
  29. }
  30. }

当您将插wordpress建站详细过程件或主题上传到wordpress.org时,所有JS文件将自动解wordpress析为已完成PHP文件的文件。任何检测到的翻译都将添加到translate.wordpress.org,以确保尽可能多的语言提供WordPress、插件和主题。

为了分析所有JS文件,使用了wp-cli的i18n命令。这取代了makepot.php,不仅允许在JS文件中获得翻译,还允许审计字符串,只分析特定文本域的字符串,甚至拾取makepot.php未检网站制作厂家有哪些测到的一些字符串。这个命令是免费提供的,像makepot.php一样是开源的,建议任何使用makepot.php的人都可以转换成这个改进的替代品。

基于这些分析的翻译生成语言包。传统上,这些只包含PO和MO文件,每个区域设置一对。为了有选择地只加载必要的翻译,无论是否使用它们,都需要添加更多的文件。每个JS文件的一个JSON文件包含每个语言环境的翻译。

当解析JS文件进行翻wordpress模板译时,我们不知道用哪个句柄来注册这个文件网站制作步骤流程图,所以我们必须使用备用机制来查找属于每个文件的翻译。因此,我们使用每个文件的相对路径md5。也就是说,以${domain}-${locale}名称格式命名的${domain}-${locale}-${md5}.json文件。

当您为句柄设置脚本翻译时,德运网络资讯WordPr家廷网络资讯ess会自动找出源文件的相对md5哈希值,检查是否有翻译文件。如果有,请确保在脚本运行前加载到wp.i18n。

© 版权声明
THE END
喜欢就支持一下吧
点赞15赞赏 分享
评论 抢沙发

请登录后发表评论