🌐 多语言包管理

ThinkAdmin 基于 ThinkPHP 提供完善的多语言包管理功能,支持国际化应用开发。

🚀 主要功能

  • 多语言支持: 支持多种语言包切换
  • 分层管理: 全局、应用、动态三种语言包类型
  • 灵活配置: 支持动态配置语言参数
  • 数据字典: 支持数据库存储的动态语言包
  • 自动加载: 自动加载对应语言包文件
  • 缓存优化: 支持语言包缓存提升性能

📋 语言包类型

全局语言包

  • 作用范围: 所有应用都可以使用
  • 文件位置: /lang/LANG.phpThinkLibrary 中定义
  • 命名规则: 文件名称需要与配置名一致
  • 使用场景: 通用语言包,如系统提示、错误信息等

应用语言包

  • 作用范围: 仅在当前应用有效
  • 文件位置: app/MODULE/lang/LANG.php
  • 命名规则: 文件名称需要与配置名一致
  • 使用场景: 应用特定的语言包

动态语言包

  • 存储方式: 存储在数据字典中
  • 内置语言包: "英文字典"、"英文菜单"
  • 自定义支持: 支持自定义读取规则
  • 使用场景: 方便后期修补错漏的语言包

⚙️ 配置说明

基础配置

  • 默认语言: zh-cn (中文)
  • 配置文件: config/lang.php
  • 切换方式: 后台系统参数配置
  • 缓存机制: 支持语言包缓存提升性能
  • 自动检测: 支持浏览器语言自动检测

语言包文件

  • 全局语言包: /lang/LANG.php
  • 应用语言包: app/MODULE/lang/LANG.php
  • 动态语言包: 数据字典存储
  • 文件格式: 支持 PHP 数组格式
  • 编码要求: 建议使用 UTF-8 编码

语言切换

  • 实时切换: 支持运行时动态切换语言
  • 用户偏好: 支持用户个人语言偏好设置
  • 会话保持: 语言设置在用户会话中保持
  • 默认回退: 支持语言回退到默认语言

性能优化

  • 缓存机制: 语言包自动缓存减少文件读取
  • 懒加载: 按需加载语言包内容
  • 内存优化: 优化语言包内存使用
  • 文件监控: 支持语言包文件变更监控

全局语言包

顾名思义,全局语言包可以在所有应用使用,例如在 ThinkLibrary 中定义的通用语言包。

在框架根目录 /lang/LANG.php 也可以定义指定语言 LANG 的全局语言包,文件名称需要与配置名一致。

应用语言包

仅在当前应用有效,在应用目录下的 app/MODULE/lang/LANG.php 定义,如 app/admin/lang/en-us.php,文件名称需要与配置名一致。

动态语言包

动态语言包是写在数据字典,方便后期修补错漏的语言包,已内置的语言包有 "英文字典"、"英文菜单",其他语言包需要自行编写读取规则。

参照代码:案例

config-language.png

最近更新:
Contributors: 邹景立