2022-12-12 / 434阅
WordPress是世界的,如果你的主题插件要发布其它语言版本,就需要了解WordPress的多语言机制。本节一起来学习下WordPress的多语言功能。
国际化的意思是让你的主题或者插件支持多语言功能,本地化是把支持的主题或插件翻译为本土语言。
POT
(便携式对象模板)文件,就是原始语言的文件PO
(便携式对象)文件,可以查看的语言文件,可以对照修改MO
(机器对象)文件,机器识别的语言文件将翻译后的文件另存为 my-plugin-{locale}.mo
. 语言环境是语言代码和/或国家代码。例如,德语的语言环境是 de_DE
. 从上面的代码示例中,文本域是“my-plugin”,因此德语 MO 和 PO 文件应命名 my-plugin-de_DE.mo
为 my-plugin-de_DE.po
#: plugin-name.php:123
msgid "Page Title" //这是原文
msgstr "" //这是翻译后的内容
需要设置本地语言,可以在WP-CONFIG.PHP文件中使用下面的代码:
define ('WPLANG', 'fr_FR');
不通的主题可以使用不同的文本域。文本域就是一个标志,说明你的内容应该按照什么标志来翻译。
文本域名必须使用破折号,不能使用下划线,并且必须是小写。例如,如果主题的名称My Theme
定义在 中,style.css
或者它包含在名为my-theme
文本域的文件夹中,则应为my-theme
.
文本域用于三个不同的地方:
style.css
主题标题中load_theme_textdomain()
使用或 加载翻译时作为参数load_child_theme_textdomain()
文本域被添加到style.css
标题中,这样即使主题未启用,也可以翻译主题元数据(如描述)。文本域应与加载文本域时使用的域相同。
/*
* Theme Name: My Theme
* Author: Theme Author
* Text Domain: my-theme
*/
自定义语言文件位置,这是为了让 WordPress 在主题未激活时知道在哪里可以找到翻译。例如,如果 .mo 文件位于 languages 文件夹中,那么域路径将/languages
并且必须用第一个斜杠书写。默认为languages
主题中的文件夹。
/*
* Theme Name: My Theme
* Author: Theme Author
* Text Domain: my-theme
* Domain Path: /languages
*/
__( 'Post', 'my-theme' ); //用于翻译Post
需要翻译和用于 html 标签属性的字符串必须进行转义。
详细的函数使用请看视频演示。
阅读文章或者观看视频过程中有任何问题,请下方留言或者联系我Q248758228