多语言概述
极致CMS外贸独立站系统 原生内置多语言架构,无需安装任何插件,即可搭建真正的多语言独立站:每种语言拥有独立的数据表、独立的内容、独立的语言包,并可独立绑定域名。
核心架构:一种语言一套表
系统按"一种语言一套数据表"的方式组织多语言数据,语言代码作为表前缀:
| 表名 | 说明 |
|---|---|
jz_article | 默认语言的文章表 |
jz_en_article | 英文(en)文章表 |
jz_ja_product | 日文(ja)商品表 |
jz_cht_page | 繁体中文(cht)单页表 |
- 语言列表保存在
jz_website数据表中,每种语言一条记录(语言标识、切换标识、绑定域名等)。 - 后台【多语言】中新增语言时,系统会自动为所有开启多语言的内容模型创建对应的语言表,并把默认语言的数据复制一份过去,作为翻译的起点。
- 删除语言时,对应的语言表会被一并删除(默认语言不允许删除)。
三种语言访问方式
| 方式 | 示例 | 说明 |
|---|---|---|
| URL 前缀 | https://www.xxx.com/en/news.html | 推荐,对 SEO 友好,链接中带语言标识 |
| 域名绑定 | https://en.xxx.com | 在语言配置中绑定域名,访问该域名自动进入对应语言 |
| 参数切换 | https://www.xxx.com/?lang=en-US | 通过 ?lang= 参数切换,参数值为语言的"切换标识" |
URL 前缀方式需要在【URL规则设置】中选择"多语言模式"或"自定义模式",参考:URL规则设置
内容多语言机制
- 模型级开关:系统默认对内容(article)、商品(product)、栏目(classtype)、TAG、友情链接、轮播图、用户评价等模型开启多语言;新增自定义模型时也可以选择是否开启。只有开启多语言的模型才会生成语言表。
- 字段共用:字段管理中可将字段标记为"多语言共用"(
is_shared),如价格、货号、库存等无需翻译的字段,所有语言共用一份数据;同时栏目(tid)、链接(htmlurl)、发布时间、排序、审核状态、点击量等结构字段系统自动跨语言同步。 - 同步机制:在某个语言下编辑内容时,系统会把共用字段自动同步到其他语言表的同一条记录上,保证栏目、属性、状态等不丢失。
- 配置多语言:系统设置中的每个配置项(网站名称、LOGO、SEO 描述等)都可以为每种语言单独设置一份,模板中
{$webconf['web_name']}会自动输出当前语言的内容,参考:系统配置。
语言包
前台与后台的固定文字(按钮、提示语等)通过语言包管理:
- 前台语言包:
app/home/lang/{语言标识}.php,如en.php、ja.php - 后台语言包:
app/admin/lang/{语言标识}.php - 模板中通过
{fun JZLANG('获取报价')}输出翻译后的文字 - 后台【多语言】→【翻译配置】可直接在线维护语言包,无需修改文件,参考:翻译配置与语言包
AI 辅助翻译
系统内置 AI 助手,支持对话式操作和批量多语言翻译:内容新增/修改后自动创建翻译任务加入后台队列,逐语言翻译并断点续传,参考:AI助手。
