本博客原本是只写中文的,出于一个偶然的机会做了那么个尝试,把这个网站做成了多语言。本人就记录使用Polylang为Wordpress实现多语言的过程以及需要注意的地方。
Polylang是什么?
Polylang是一款 WordPress 多语言方案,逻辑核心在于利用原生 Taxonomy(分类法)实现内容的语言标记。
它不通过繁冗的额外数据库表来堆砌功能,而是允许用户为每一篇 POST、每一个分类甚至媒体文件指定语种,并在它们之间建立关联。这种做法尊重了 WordPress 的既有架构,保证了查询效率。在处理 SEO 时,它生成的 hreflang 标签与子域名或子目录配置,也显得足够规整且克制。
免费和收费有一些不同
| 维度 | 免费版 (Free) | 专业版 (Pro) |
| 基础翻译 | 文章、页面、分类、标签、菜单 | 包含免费版所有内容 |
| URL 结构 | 支持子域名或目录名 | 支持翻译 URL Slug (如 /about 变为 /zh/guanyu) |
| 机器翻译 | 不支持 (需第三方插件) | 集成 DeepL API,支持自动化翻译流程 |
| 同步功能 | 手动同步元数据 | 自动同步文章间的分类、标签及自定义字段 |
| 编辑器支持 | 基础块支持 | 深度集成 FSE (全站编辑) 及模板零件翻译 |
| REST API | 不支持 | 完全支持,适合 Headless WP 或复杂应用 |
使用免费版实现双语化后的效果
本站现在就使用这个插件实现了双语化。


本站是一个不对称的双语网站,不同语言有部分对应的内容,但也有仅中文和仅日文的部分。
插件的设定
1-添加一门语言
比如我的网站原本是中文,现在加日文,那么就需要在左边选择语言,最后添加。
添加完毕后就是下图的样子,右边多了一行日语。

2-翻译通用的部分
这里需要翻译一些通用的部分,比如网站名,简介等。在这里翻译完后,网站的基本信息将随语言的变化而变化。

3-定义链接格式
对我来说这是免费版少数可以自己随手决定的东西,选项如下。

4-开始将各种要素多语言化
4-1分类目录和菜单
这是我最早碰到的问题,毕竟上面的设置界面内容挺少的,我以为我这就可以开始着手博文的多语言化了。但打开主页发现主页上的分类标签全是乱的,这是因为下图的部分没有设置好。


菜单这里需要多建立一份新菜单,然后分别将刚才设置好的内容定义到中文站和外文站上。
4-2标签、文章和页面
道理都是一样的,只不过标签打几个字就完了,文章需要重体力劳动。

免费版麻烦的地方
到这里,多语言化的框架基本就算完成了。当然了,完成的仅仅是个框架而已,等待我的将是一堆我觉得需要双语的文章的翻译工作。毕竟是免费版,这是个日常拿来消磨时间的体力活。总结一下大致上免费版有这几个需要忍的地方。
- 无法同步属性: 修改原稿的标签、分类或自定义字段后,译文不会自动更新。必须手动进入每个语种逐一对齐。
- URL 无法本地化: 页面后缀(Slug)强制与原稿一致。比如中文版是
/about,日文版只能是/ja/about,不能改成/ja/xxxxxx。 - 媒体库逻辑冗余: 若想给图片加不同语言的描述,必须在后台手动为同一张图生成多个“语言副本”,操作繁琐。
与其说是同一个网站的双语版,不如说是两个站合体在一个地方更加确切。