一、先明确最终完整语言包目录结构(新增繁体已标注)
无需修改任何原有文件 / 文件夹,仅在lang根目录下镜像创建繁体中文的单文件 + 模块文件夹 ,与zh-cn、en完全同级、同结构,最终目录如下:
bash
application/
└── lang/ # 语言包根目录
├── zh-cn.php # 原有简体中文全局单文件(通用文本)
├── zh-cn/ # 原有简体中文模块文件夹(各模块专属文本)
│ └── product/ # 产品模块简体专属目录
│ └── product.php
├── en.php # 已配置英文全局单文件
├── en/ # 已配置英文模块文件夹
│ └── product/
│ └── product.php
├── zh-tw.php # 【新增】繁体中文全局单文件(对应zh-cn.php)
└── zh-tw/ # 【新增】繁体中文模块文件夹(对应zh-cn/)
└── product/ # 【新增】产品模块繁体专属目录(镜像zh-cn/product/)
└── product.php # 【新增】产品模块繁体专属文件
✅ 核心原则:繁体(zh-tw)与简体(zh-cn)完全镜像------ 文件 / 文件夹名称、层级、文件名、内部键名全部一致,仅将「值」替换为繁体中文。
二、步骤 1:创建繁体中文全局单文件 zh-tw.php
直接在lang根目录下,新建空白文件zh-tw.php(和zh-cn.php、en.php同级),文件编码保持UTF-8 (避免繁体中文乱码)。✅ 作用:对应简体zh-cn.php,仅存放所有模块共用的通用繁体文本(如搜索、重置、提交、批量删除、通用提示等)。
三、步骤 2:创建产品模块繁体专属目录及文件
镜像原有简体产品模块的目录结构,手动创建 3 层,与zh-cn/product/完全一致:
- 在
lang根目录下新建文件夹zh-tw(和zh-cn、en文件夹同级); - 在
zh-tw/内新建子文件夹product(必须和zh-cn/下的产品模块目录名完全一致,不可改名); - 在
zh-tw/product/内新建文件product.php(和zh-cn/product/product.php路径、文件名完全一致)。✅ 作用:对应简体zh-cn/product/product.php,仅存放产品管理模块独有的繁体文本(如产品名称、产品 SN、添加产品等模块专属内容)。
四、步骤 3:配置繁体中文语言包(核心:键名 100% 镜像简体,仅改值)
这是最关键的一步,繁体两个文件的数组键名,必须和对应的简体文件键名完全一致(大小写敏感、无拼写错误、无多余空格),无需增删任何键名,仅将「值」替换为对应的繁体中文即可。
配置 1:繁体全局单文件 zh-tw.php(对应 zh-cn.php)
打开你的简体zh-cn.php,复制其中所有键名 粘贴到zh-tw.php,将值替换为繁体通用文本,示例如下:
php
<?php
// application/lang/zh-tw.php 繁体中文全局通用单文件
return [
// 键名完全对应zh-cn.php,值为繁体
'Search' => '搜尋',
'Reset' => '重置',
'Submit' => '提交',
'Add' => '新增',
'Edit' => '編輯',
'Delete' => '刪除',
'Batch Delete' => '批量刪除',
'Operation Successful' => '操作成功',
'Operation Failed' => '操作失敗',
'Please select at least one item' => '請至少選擇一項',
'Status' => '狀態',
'Normal' => '正常',
'Disabled' => '禁用',
'Total' => '總計',
'Refresh' => '刷新',
'Please confirm your operation' => '請確認你的操作'
];
配置 2:产品模块繁体专属文件 zh-tw/product/product.php(对应 zh-cn/product/product.php)
打开你的简体zh-cn/product/product.php,复制其中所有产品相关键名粘贴到繁体文件,将值替换为繁体专属文本,示例如下:
php
<?php
// application/lang/zh-tw/product/product.php 产品模块繁体专属文件
return [
// 键名完全对应zh-cn/product/product.php,值为繁体
'Product Management' => '產品管理',
'Product Name' => '產品名稱',
'Product Sn' => '產品編號',
'Product Price' => '產品價格',
'Product Stock' => '產品庫存',
'Product Image' => '產品圖片',
'Product Description' => '產品描述',
'Add Product' => '新增產品',
'Edit Product' => '編輯產品',
'Delete Product' => '刪除產品',
'Product Added Successfully' => '產品新增成功',
'Product Edited Successfully' => '產品編輯成功'
];
✅ 配置原则:通用文本放zh-tw.php,产品专属放zh-tw/product/product.php,和简体的拆分规则完全一致,便于后续维护。
五、步骤 4:后台语言切换菜单自动生效(无需额外开发)
FastAdmin 会自动扫描lang目录下的语言包文件夹 / 单文件 ,识别zh-tw为繁体中文并添加到后台语言切换菜单,无需修改任何代码、无需配置路由、无需清除缓存,直接即可选择。
繁体中文切换步骤
- 登录 FastAdmin 后台,点击页面右上角的用户名 / 语言图标(原显示「中文」/「English」);
- 在下拉菜单中会自动出现 **「繁體中文」** 选项(系统默认识别
zh-tw为繁体); - 点击选择「繁體中文」,后台会立即切换为繁体语言环境,所有配置的文本自动渲染;
- 进入「产品管理」模块,检查表头、按钮、输入框占位符、操作提示等是否全部为繁体。
六、混合式结构繁体配置专属注意事项(避坑关键)
- 完全镜像不可改 :繁体
zh-tw.php和zh-tw/文件夹,必须与简体zh-cn.php、zh-cn/同级,产品模块目录必须是zh-tw/product/,不可改名 / 改层级; - 键名绝对一致性 :繁体所有文件的数组键名,与对应简体文件键名 100% 一致(包括大小写、空格,如
Product Sn不能写成ProductSN); - 拆分规则一致 :简体放在
zh-cn.php的内容,繁体必须放在zh-tw.php;简体放在模块文件夹的内容,繁体必须放在对应模块文件夹,不可交叉; - 编码必须 UTF-8 :所有繁体语言包文件编码设为 UTF-8,避免繁体汉字出现
□□□或乱码; - 不影响原有语言:全程保留简体、英文配置,三者独立共存,后台可自由切换,互不干扰;
- 全局自动匹配 :模板中已使用的
{$:('键名')}/{:__('键名')}多语言标签无需任何修改,系统会自动根据当前语言(简 / 英 / 繁)匹配对应语言包的键值。
七、快速排查:若繁体中文部分 / 全部不生效
- 检查结构镜像:是否有
zh-tw.php(和zh-cn.php同级)、zh-tw/文件夹(和zh-cn同级)、zh-tw/product/product.php(路径与简体完全一致); - 检查文件语法:所有繁体文件开头必须是
<?php,返回关联数组(无逗号结尾、无语法错误,语法错误会导致语言包加载失败); - 检查键名匹配:模板中的标签键名,在繁体对应文件中是否存在,且和简体键名完全一致;
- 检查语言选择:后台右上角是否真正切换为「繁體中文」(未切换会读取默认简体,这是最常见问题);
- 强制刷新页面:按
Ctrl+F5清除浏览器缓存,避免页面缓存导致的配置不生效; - 检查目录权限:确保
zh-tw/文件夹和zh-tw.php文件有服务器读取权限(Linux 服务器需注意755/644权限)。
八、后续维护:新增字段 / 文本的繁简英同步规则
后续产品管理模块新增字段、按钮、提示语时,只需按「简→繁→英」的顺序同步配置,3 步即可完成多语言适配:
- 在简体对应文件 (通用文本→
zh-cn.php,产品专属→zh-cn/product/product.php)中添加「键名 + 简体值」; - 在繁体对应文件 中添加相同键名+ 繁体值;
- 在英文对应文件 中添加相同键名+ 英文值;
- 模板中使用
{$:('新键名')}/{:__('新键名')}替换静态文本,无需其他操作。
核心总结
本次添加繁体中文的核心就是 **「镜像复刻」**,基于你已配置好的混合式结构,只需做到 3 点即可快速生效:
- 结构镜像:繁体
zh-tw.php+zh-tw/与简体完全同级、同名; - 键名镜像:繁体所有文件的键名与简体对应文件 100% 一致;
- 拆分镜像:通用 / 模块专属文本的存放位置与简体完全一致;FastAdmin 会自动识别繁体语言包并添加切换菜单,模板标签无需修改,后台可自由在简体中文 / 英文 / 繁体中文之间切换,后续维护成本极低。
