本文介绍使用WPML和Polylang插件为WordPress网站配置多语言支持,实现国际化网站建设。

多语言插件对比

插件 费用 特点 适用场景
WPML 付费 功能强大 商业网站
Polylang 免费 轻量简洁 中小站点
TranslatePress 免费+付费 可视化翻译 所有人

Polylang(推荐免费方案)

安装

  1. 插件 → 安装Polylang
  2. 设置语言

基本设置

设置 → 语言:
- 添加语言: 中文(简体)、English
- 设为默认: 中文
- URL修改: /zh/, /en/

翻译文章

  1. 编辑文章 → 语言面板
  2. 点击"+"创建翻译
  3. 编写翻译内容
  4. 保存

语言切换器

在导航菜单中添加:

外观 → 菜单:
- 添加自定义链接
- 标签: 中文
- URL: /zh/
- 重复为English, URL: /en/

模板函数

// 显示语言切换器
<?php pll_the_languages(array('dropdown' => 0)); ?>

// 获取当前语言
$lang = pll_current_language();

// 获取翻译链接
$en_link = pll_get_post(123, 'en');

// 语言选择器
echo pll_lang_switcher();

WPML(商业网站首选)

安装配置

  1. 安装WPML Multilingual CMS
  2. 安装WPML String Translation
  3. 注册API Key

高级配置

// wp-config.php
define('ICL_LANGUAGE_LOCALE', 'zh_CN');
define('ICL_DONT_LOAD_LANGUAGE_SELECTOR', false);

分类翻译

// 获取分类翻译
$term_id = pll_get_term($term_id, 'en');

// 获取自定义字段翻译
$value = apply_filters('wpml_translate_string', $value, 'custom_field_key');

语言切换器样式

下拉菜单样式

.language-switcher {
    position: relative;
    display: inline-block;
}

.language-switcher ul {
    display: none;
    position: absolute;
    background: #fff;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
    list-style: none;
    margin: 0;
    padding: 0;
}

.language-switcher:hover ul {
    display: block;
}

旗帜图标

.flag-icon {
    display: inline-block;
    width: 20px;
    height: 14px;
    background: url(flags.png);
}

.flag-icon.zh { background-position: 0 0; }
.flag-icon.en { background-position: -20px 0; }

SEO多语言

hreflang标签

<head>
    <link rel="alternate" hreflang="zh" href="https://example.com/zh/">
    <link rel="alternate" hreflang="en" href="https://example.com/en/">
    <link rel="alternate" hreflang="x-default" href="https://example.com/">
</head>

Polylang SEO设置

设置 → Polylang → SEO:
☑ 为分类、标签添加hreflang
☑ 为文章添加hreflang
☑ 生成 sitemap.xml

Yoast SEO + Polylang

在Yoast SEO中设置:
- 网站语言
- 默认语言
- 各语言版本的SEO标题和描述

翻译工作流

步骤 说明
1. 添加语言 配置支持的语言
2. 翻译界面 菜单、小工具
3. 翻译内容 文章、页面、分类
4. 翻译字符串 主题、插件文本
5. 测试 切换语言检查

常见问题

问题 解决方案
404错误 刷新固定链接
翻译丢失 检查内存限制
切换慢 使用缓存插件

最佳实践

  • [ ] 先设计后翻译
  • [ ] 使用专业翻译
  • [ ] 保持语言一致
  • [ ] 测试所有页面
  • [ ] SEO每个语言版本
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。