安企CMS多语言功能介绍
从 AnQiCMS v3.4.7 版开始,支持更强大的多语言站点功能。
AnQiCMS 的多语言功能支持两种方式实现,一是使用独立多站点架构(适合大型/高定制化需求),二是单站翻译插件架构(适合中小型/敏捷迭代)。
两种方式实现的多语言功能,分别有着各自的优缺点,具体请看下面的说明。
方式1:独立多站点架构(适合大型/高定制化需求)
技术实现细节
- 主-子站点同步机制
- 主站点通过API接口与子站点通信,同步内容数据。
- 数据存储采用独立数据库,确保各站点数据一致性。
- 同步频率可配置为实时和手动触发。
后台操作增强点:
-
内容同步机制
- 设计「主-子」内容同步系统,支持:
- 全量同步
- 增量同步(仅同步新增的内容)
- 人工二次编辑(翻译后允许进入对应语言站点进行修改优化,如替换图片/文案)
- 设计「主-子」内容同步系统,支持:
-
翻译流程
- 提供翻译/同步模式:
-
路由策略扩展
路由类型 实现方案 SEO建议 独立域名 DNS解析+CNAME记录(en.anqicms.com) 各域名单独提交站长工具 二级目录 Nginx路径重写(anqicms.com/en/) 使用hreflang标签关联版本 URL不变 浏览器Cookie/Session识别语言 需配合canonical标签
SEO优化增强点
- 独立域名SEO策略
- 每个语言站点使用独立域名(如
en.anqicms.com
),并提交到对应国家的搜索引擎工具。 - 使用
hreflang
标签关联不同语言版本页面,避免重复内容惩罚。
- 每个语言站点使用独立域名(如
用户访问增强点:
-
智能语言识别
- 优先级策略:
- URL显式参数(?lang=en)
- 用户cookie设置
- 浏览器Accept-Language头
- 默认语言(如简体中文)
- 优先级策略:
-
跨站一致性问题
- 当访问目标语言站无对应页面时:
- 这种情况一般发生在主站新增内容时,子站尚未同步
- 请站点管理员手动后多语言功能里主动同步
- 如没有选择自动翻译,在同步完成后,还需要进入对应语言站点进行人工翻译操作
- 当访问目标语言站无对应页面时:
▶ 方式2:单站翻译插件架构(适合中小型/敏捷迭代)
后台操作增强点:
-
动态内容处理
- 支持标签文本翻译:
<!-- 原始内容 --> <div> 欢迎新用户 </div> <!-- 翻译缓存(法语) --> <div> Bienvenue aux nouveaux utilisateurs </div>
- 支持title、placeholder、alt、meta 等属性文本的翻译:
<!-- 原始内容 --> <img src="..." alt="欢迎新用户"> <!-- 翻译缓存(法语) --> <img src="..." alt="Bienvenue aux nouveaux utilisateurs">
- 支持自动跳过指定标签(不翻译代码块
<code>{{ variable }}</code>
、<script>
、<style>
等) - 支持通过属性标签
ignore-translate="true"
忽略翻译标签内容:<div ignore-translate="true">不翻译的文本</div>
- 自动跳过
hreflang
、<div class="languages">...</div>
代码块的处理。
- 支持标签文本翻译:
-
缓存管理
翻译结果将以html文本的形式,按不同语言,存储到cache
目录下。
首次访问未缓存的翻译页面,则会先请求翻译服务器翻译,再保存到对应语言的缓存文件。如果已经存在翻译缓存,则直接呈现翻译缓存,加速页面访问。
后台提供翻译记录以及翻译缓存列表,方便操作管理
异常处理机制扩展
- 翻译服务降级策略
- 当翻译服务不可用时,优先显示原始语言内容,并记录失败请求日志。
- 提供后台管理界面,允许管理员手动触发重试翻译操作。
- 支持离线模式:将常用翻译结果预缓存,减少对翻译服务的依赖。
用户访问增强点:
-
SEO友好型
- 翻译操作在服务端完成,不是用户打开页面后再使用JS翻译
- 搜索引擎抓取的结果也是翻译后的结果
-
异常处理机制
- 翻译服务故障时:
- 降级显示原始语言
- 记录失败请求,并在下次访问时重新尝试翻译
- 翻译服务故障时:
▶ 多语言增强
- SEO核心配置
<html lang="fr">
语言属性- hreflang多语言关联
- 翻译处理
- 方式1 自动翻译使用文本翻译,仅翻译文档,需要自行处理模板多语言。
- 方式2 自动翻译使用HTML翻译,翻译整个HTML内容。
▶ 方案选型建议
对比维度 | 方式1优势 | 方式2优势 |
---|---|---|
内容灵活性 | ✅ 支持深度本地化(如替换图片/布局) | ⚠️ 仅文字级翻译,结果无法自定义 |
SEO效果 | ✅ 独立站点更易被本地搜索引擎收录 | ⚠️ 需避免内容重复 |
维护成本 | ⚠️ 需管理多个站点 | ✅ 统一内容源 |
实时性 | ⚠️ 同步存在延迟 | ✅ 新内容即时翻译 |
适用场景 | 大型跨国企业/法律强合规场景 | 中小型企业/快速出海MVP |
建议结合业务阶段选择:初期用方式2快速验证市场,用户量增长后逐步迁移到方式1。