wordpress国际化(一版笔记)

国际化安装gettextbrew search gettext已经安装了,nice!相关文献参考地址https://zhuanlan.zhihu.com/p/114810810Poeditwordpress专业的翻译工具地址文字域使用文本域来表示属于该插件的所有文本很重要。 文本域是唯一的标识符,可以确保WordPress能够区分所有加载的翻译。 这增加了可移植性,并通过已经存在的WordPress工具更好地发挥作用。 文本域必须与插件的插槽相匹配。 如果您的插件是一个名为m
摘要由CSDN通过智能技术生成

国际化

项目背景

Woocommerce 5.4.2(wordpress的插件)
Wordpress 5.7.2
PHP 7.4.19
Mysql 5.6.51

wordpress国际化的文件只针对.mo后缀的文件(机器识别的文件),除此以外,无论怎么修改.po文件或者.pot文件都不影响,但修改后的po文件需要编译输出到mo文件,po格式和pot几乎没啥区别,无需过多关注

修改woocommerce的文本域

在这里插入图片描述

在这里插入图片描述

  • 翻译不了,应该无法匹配对应的mo文件
  • 将woocommerce-zh_CN.mo改为woocommerce1-zh_CN.mo后可以翻译这个advanced,其他的由于文本域不匹配,无法翻译
    在这里插入图片描述
相关文献参考地址
  1. https://zhuanlan.zhihu.com/p/114810810
Poedit

wordpress专业的翻译工具
地址

文字域

使用文本域来表示属于该插件的所有文本很重要。 文本域是唯一的标识符,可以确保WordPress能够区分所有加载的翻译。 这增加了可移植性,并通过已经存在的WordPress工具更好地发挥作用。 文本域必须与插件的插槽相匹配。 如果您的插件是一个名为my-plugin.php的文件,或者它包含在一个名为my-plugin的文件夹中,则域名应为my-plugin。 如果您的插件托管在wordpress.org上,那么它必须是插件URL(wordpress.org/plugins/)中的一小部分。
文本域名必须使用破折号而不是下划线。
文本域也需要添加到插件头。 即使插件被禁用,WordPress也使用它来国际化你的插件元数据。 文本域应与加载文本域时使用的文本域相同。

标题示例:

/*
 * Plugin Name: My Plugin
 * Author: Plugin Author
 * Text Domain: my-plugin
 */

域路径
使用域路径,以便当插件被禁用时,WordPress知道在哪里找到翻译。 仅当翻译位于单独的语言文件夹中时才有用。 例如,如果.mo文件位于languages文件夹中,则Domain Path将是“/languages”,必须用第一个斜杠写入。 默认为插件的languages文件夹.
标题示例:

/*
 * Plugin Name: My Plugin
 * Author: Plugin Author
 * Text Domain: my-plugin
 * Domain Path: /languages
 */
  • 综上所述:修改文本域后,只要__()的第二个参数文本域能匹配就没问题!
  • 这段代码说明,自己加的翻译包如果是hook是plugins_loaded的话,可能被覆盖,所以应该使用acticated_plugin这个hook点
private function init_hooks() {
   
		register_activation_hook( WC_PLUGIN_FILE, 
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值