在WordPress主题中实现本地化和国际化,可以使用以下步骤:
添加翻译文件:在主题文件夹中创建一个名为 languages
的文件夹。然后在该文件夹中创建一个以 .pot
结尾的文件,例如 theme-name.pot
。可以使用Poedit等工具来创建和编辑该文件。
提供可翻译文本:在主题的相关文件中使用特定的函数来包裹需要翻译的文本。常用的函数包括:
__()
:用于单个文本字符串翻译,如 __('Hello', 'theme-name')
。_e()
:与__()
类似,但直接输出翻译文本,如 _e('Hello', 'theme-name')
。esc_html__()
:用于翻译并对输出进行HTML转义。esc_html_e()
:与esc_html__()
类似,但直接输出翻译文本并进行HTML转义。例如,在主题的模板文件中需要翻译的文本处,可以使用 __('Hello', 'theme-name')
进行包裹。
生成语言文件:使用Poedit等工具打开 .pot
文件,添加翻译的文本,并保存。这将生成一个 .mo
文件,例如 zh_CN.mo
。
加载语言文件:在主题的 functions.php
文件中添加以下代码来加载语言文件:
function load_theme_textdomain() {
load_theme_textdomain( 'theme-name', get_template_directory() . '/languages' );
}
add_action( 'after_setup_theme', 'load_theme_textdomain' );
这些步骤将启用国际化和本地化功能,并让你的主题支持多语言。根据用户的语言环境配置,WordPress将自动加载相应的翻译文件,并将文本翻译为用户所选的语言。
示例代码:
主题的模板文件中使用 __('Hello', 'theme-name')
进行翻译的示例:
<p><?php echo __('Hello', 'theme-name'); ?></p>
在 functions.php
文件中加载语言文件的示例:
function load_theme_textdomain() {
load_theme_textdomain( 'theme-name', get_template_directory() . '/languages' );
}
add_action( 'after_setup_theme', 'load_theme_textdomain' );