如何本地化WordPress插件的ReadMe.txt文件并解决.pot未收录问题
关于WordPress插件ReadMe翻译与语言选择的问题
是否需要为每种语言单独准备ReadMe.txt?
不需要单独为每种语言创建ReadMe文件,原因如下:
- WordPress的.pot文件生成工具(如
wp i18n make-pot)仅扫描PHP文件中的翻译函数(如__()、_e()),不会识别文本文件(如ReadMe.txt)里的函数调用,所以你在ReadMe里写__()也无法被提取到.pot中。 - 标准做法是利用WordPress官方插件目录的翻译系统:当插件上架后,用户可通过平台的翻译界面提交各语言的ReadMe翻译,后台会根据访问者的站点/用户语言自动展示对应版本。
- 若为自行分发的插件,可将ReadMe的翻译内容整合到插件的多语言设置页面,或遵循WordPress语言包规范,把ReadMe翻译内容添加到对应语言的.po文件中(不过这种方式不常用,更推荐依赖官方平台的翻译流程)。
WordPress如何选择正确的语言?
WordPress的语言加载优先级遵循以下逻辑:
- 用户个人语言设置:已登录用户的个人资料中设置的“语言”,优先级高于站点全局语言,会优先展示用户指定的语言版本。
- 站点全局语言设置:后台「设置」→「常规」中的“站点语言”,是未登录访客或未设置个人语言的用户的默认语言。
- 翻译文件的加载顺序:
- WordPress会优先加载全局语言目录
/wp-content/languages/plugins/下的插件翻译文件,命名格式为{text-domain}-{locale}.mo(例如my-plugin-zh_CN.mo)。 - 若全局目录无对应翻译,才会加载插件自身
/languages/目录下的翻译文件。
- WordPress会优先加载全局语言目录
- 翻译文件的识别:插件需在主PHP文件中通过
load_plugin_textdomain()函数正确注册文本域,确保WordPress能找到对应的翻译文件。
内容的提问来源于stack exchange,提问作者Ronan McGovern
相关产品推荐
相关产品推荐

