Skip to content

🌍 国际化配置指南

📖 简介

国际化(Internationalization,简称i18n)是使应用程序能够适应不同语言和地区的过程。

为什么需要国际化?

  • 支持多语言用户界面
  • 适应不同地区的日期、时间格式
  • 提供本地化的错误消息
  • 提升用户体验

⚙️ 基础配置

默认语言设置

application.yml中配置默认语言:

yaml
gateway:
  i18n:
    default-language: zh  # 默认语言设置为中文

语言文件配置

语言文件位于i18n目录下,支持多种语言格式。以下是中文配置示例:

json
{
  "error": "很抱歉,系统繁忙,请稍后再试!",
  "ip.access.error": "当前IP禁止访问!", 
  "captcha.verify.error": "验证码不正确!",
  "sign.param.empty": "必填参数不能为空!",
  "sign.param.timestamp.error": "参数格式错误!",
  "sign.check.error": "签名验证失败!",
  "sign.request.expire.error": "请求已过期!",
  "referer.error": "请求验证失败!",
  "code.authorization.error": "授权码无效或已过期!",
  "secondary.verify.lock.error": "验证错误次数过多,请与{{.Time}}后重试!",
  "useragent.error": "检测到非法请求!",
  "request.data.format.error": "请求数据格式错误!",
  "restore.code.empty": "恢复码不能为空!",
  "login.account.empty": "账号不能为空!",
  "login.password.empty": "密码不能为空!",
  "login.account.password.error": "账号或密码不正确!"
}

提示

语言代码文件名命名参考active.zh.json

🚀 使用方法

请求头设置

通过设置请求头来指定语言:

http
X-Language: zh  # 中文
X-Language: en  # 英文

API调用示例

bash
# 中文请求
curl -H "X-Language: zh" http://your-api-endpoint

# 英文请求
curl -H "X-Language: en" http://your-api-endpoint

💡 最佳实践

语言选择

  • 使用标准的语言代码(如:zh、en、ja等)
  • 设置合适的默认语言
  • 确保所有关键消息都有对应的翻译

性能优化

  • 实现消息缓存机制
  • 按需加载语言包
  • 合理设置缓存策略

❓ 常见问题

语言切换问题

如果语言未正确切换,请检查:

  1. 请求头设置是否正确
  2. 语言代码是否支持
  3. 配置文件是否生效

翻译问题

如果消息未正确翻译,请检查:

  1. 语言文件是否存在
  2. 消息键是否正确
  3. 语言代码是否匹配