语言管理
位置:后台 →【多语言】→【多语言列表】
语言管理是整个多语言建站的入口,所有语言在这里统一维护。系统会内置一种默认语言,你可以随时添加更多语言。
语言列表
列表中展示已配置的所有语言,包含以下信息:
| 字段 | 说明 |
|---|---|
| 国家名称 | 语言的显示名称,如"英文、English、日本語",会显示在前台语言切换器中 |
| 语言标识 | 语言代码,同时用作数据表前缀,如 en、ja、cht(保存后不可修改) |
| 切换标识 | URL 参数切换时使用的标识,遵循 IETF 语言标签,如 en-US、ja-JP |
| 网站域名 | 该语言独立绑定的域名,留空表示不绑定 |
| 是否默认 | 默认语言有且必须保留一个,未匹配到任何语言时使用默认语言 |
| 显示 | 控制该语言是否显示、是否可被访问 |
| 排序 | 数字越大越靠前 |
新增语言
点击【添加多语言】:
- 快速选择:从内置的 65 种国家/地区语言(亚洲、非洲、欧洲)中选择一项,自动填充下面三个字段,也可以手动填写或修改。语言常量表位于
conf/country_langs.php,可以自行扩充。 - 国家名称:语言的显示名称。
- 语言标识:用作数据表前缀,只能包含英文/数字/下划线,如
en。保存后不可修改,因为改名涉及大量数据表重命名。 - 切换标识:前台
?lang=参数的值,如en-US,不可与其他语言重复。 - 网站域名(选填):如
en.example.com。配置后,访问该域名将自动进入此语言环境。 - 是否默认:设为默认后,原默认语言自动取消默认标记。
- 是否显示 / 排序 / 备注:常规属性。
保存后系统自动完成三件事:
- 为所有开启多语言的内容模型(article、product、classtype 等)创建
jz_{语言标识}_{模型}语言表; - 把默认语言表中的现有数据复制到新语言表,作为翻译起点;
- 复制一份前台语言包到
app/home/lang/{语言标识}.php。
新增语言后如果前台没有立即生效,请在【基本功能】→【清理缓存】清空缓存。
编辑语言
- 可以修改:国家名称、切换标识、绑定域名、是否默认、是否显示、排序、备注。
- 语言标识不可修改。
- 至少保留一个默认语言:取消某个语言的"默认"标记前,必须先把其他语言设为默认。
删除语言
- 默认语言不允许删除。
- 删除语言会同时删除该语言的所有数据表(
jz_{语言标识}_article、jz_{语言标识}_product等)以及前台语言包文件,操作前请务必备份数据库。
域名绑定说明
每种语言可以绑定一个独立域名(或子域名):
- 在语言配置中填写域名,如
en.example.com。 - 在域名服务商处将该域名解析到服务器,并在服务器/面板上把这个域名也绑定到网站根目录。
- 访问
en.example.com时自动进入对应语言,无需 URL 前缀。
语言生效的优先级为:
?lang=显式切换 > 域名绑定 > 会话(Session)> 默认语言。
站点翻译(语言包维护)参考:翻译配置与语言包
