外观
🌍 国际化配置指南
📖 简介
国际化(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等)
- 设置合适的默认语言
- 确保所有关键消息都有对应的翻译
性能优化
- 实现消息缓存机制
- 按需加载语言包
- 合理设置缓存策略
❓ 常见问题
语言切换问题
如果语言未正确切换,请检查:
- 请求头设置是否正确
- 语言代码是否支持
- 配置文件是否生效
翻译问题
如果消息未正确翻译,请检查:
- 语言文件是否存在
- 消息键是否正确
- 语言代码是否匹配