如何给wordpress主题设置单独的语言包

给WordPress主题设置单独的语言包(即本地化/国际化)只需按以下步骤操作:

第一步:让主题支持语言包

在主题根目录下的functions.php中添加如下代码,告诉WordPress去哪里找语言文件:

add_action('after_setup_theme', 'my_theme_setup');
function my_theme_setup() {
    load_theme_textdomain('my_theme', get_template_directory() . '/languages');
}

my_theme是主题的文本域(textdomain),必须唯一。

/languages是你将要放.po和.mo文件的文件夹路径。

第二步:准备语言包文件

创建文件夹:在主题目录下新建languages/文件夹。

命名规则:语言包文件名必须符合标准格式,如:

简体中文:zh_CN.po/zh_CN.mo

英文(美国):en_US.po/en_US.mo

你可以:

手动创建:用Poedit工具扫描主题中的__()和_e()函数,生成.po文件并翻译。

下载现成语言包:从主题官网或translate.wordpress.org下载对应语言包。

第三步:上传语言包

将.po和.mo文件上传到:

wp-content/themes/你的主题/languages/

第四步:设置网站语言

登录WordPress后台:

设置>常规>站点语言,选择你上传的语言(如简体中文)。

保存后,WordPress会自动加载对应的.mo文件。

可选:使用插件辅助

如果你不想手动管理.po/.mo文件,可以使用插件如:

LocoTranslate:可视化管理语言包。

WPML/Polylang:适合多语言站点,支持主题和插件翻译。

示例:主题中如何写可翻译文本

_e('Welcome to our site', 'my_theme');

$welcome = __('Welcome to our site', 'my_theme');

注意事项

如果你使用的是子主题,请将语言包放在子主题的languages/目录,并在functions.php中修改路径为:

load_theme_textdomain('my_theme', get_stylesheet_directory() . '/languages');

确保.mo文件存在,否则翻译不会生效。

完成以上步骤后,你的WordPress主题就能根据网站语言自动加载对应的翻译内容了。