标签: wordpress国际化

  • 让wordpress主题国际化支持自定义多语言包

    要让WordPress主题支持自定义多语言包(即国际化+多语言内容管理),你可以结合主题国际化(i18n)和多语言插件(如Polylang或WPML)来实现。以下是完整方案:

    第一步:主题国际化(i18n)基础设置

    确保你的主题支持翻译功能:

    1.在主题中声明文本域

    在functions.php中添加:

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

    2.创建语言包目录

    在主题根目录下创建:

    wp-content/themes/your-theme/languages/

    3.添加.pot模板文件

    使用Poedit或wpi18nmake-pot命令生成.pot文件,放在/languages目录中。

    4.创建自定义语言包

    用户或开发者可以基于.pot文件创建.po和.mo文件,如:

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

    英文:en_US.po/en_US.mo

    第二步:支持多语言内容管理(前端切换)

    仅支持翻译还不够,还需要支持多语言内容切换。推荐以下两种方式:

    方案A:使用Polylang(免费插件)

    适合大多数站点,支持手动翻译、语言切换、SEO优化。

    步骤:

    安装并启用Polylang插件

    设置语言:后台→语言→添加语言(如中文、英文、日文)

    设置URL格式:建议用目录形式,如/en/、/zh/

    为每篇文章/页面创建对应语言版本

    添加语言切换器到菜单或小工具区域

    优点:

    免费、轻量、兼容性好

    支持主题/插件字符串翻译

    支持SEO(hreflang、独立链接)

    方案B:使用WPML(付费插件)

    适合企业级站点,支持自动翻译、电子商务、用户权限等高级功能。

    步骤:

    安装并启用WPML插件

    设置默认语言(如中文)

    添加第二语言(如英文、西班牙文)

    翻译内容:手动或使用AI(DeepL/Google)

    配置语言切换器、菜单、货币等

    第三步:支持用户自定义语言包(可选增强)

    如果你想让用户自定义翻译而不修改主题文件,可结合LocoTranslate插件:

    安装LocoTranslate

    进入LocoTranslate→主题→选择你的主题

    创建新语言(如自定义中文)

    在线翻译并保存,自动生成.po/.mo文件到:

    wp-content/languages/themes/your-theme-zh_CN.mo

    用户可随时修改,不影响主题更新

    推荐组合方案

    目标推荐组合
    主题支持翻译添加 load_theme_textdomain() + .pot 文件
    多语言内容管理安装 Polylang(免费)或 WPML(付费)
    用户自定义翻译搭配 Loco Translate 插件
    多语言 SEO使用 Polylang/WPML 自动生成 hreflang 标签

    如需我帮你生成一个示例.pot文件或写一个languages文件夹结构模板,也可以继续问我。

  • 如何给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主题就能根据网站语言自动加载对应的翻译内容了。