Lingo.dev + .properties(Java)
Lingo.dev CLI 翻译 Java .properties 文件,同时保留键值结构、转义序列和 Java 本地化约定。CLI 与 Java 的 ResourceBundle 系统无缝协作,完全保持 properties 文件格式,正确处理 Unicode 和特殊字符转义,保留 {0}
、{1}
等 MessageFormat 占位符,并与 Maven 和 Gradle 构建流程集成。
快速设置
为 Java properties 文件配置:
{
"locale": {
"source": "en",
"targets": ["es", "fr", "de"]
},
"buckets": {
"properties": {
"include": ["src/main/resources/messages_[locale].properties"]
}
}
}
提醒:[locale]
是一个占位符,在 CLI 运行时会被实际的语言区域替换,因此应在配置中保持原样。
翻译 Properties 文件
npx lingo.dev@latest i18n
在翻译值的同时,保留 properties 文件格式、转义序列和 Java 特定约定。
Properties 文件结构
基本键值对
welcome.message=欢迎使用我们的应用程序
login.button=登录
logout.button=登出
error.invalid.credentials=用户名或密码无效
命名空间组织
# 身份验证消息
auth.login.title=登录
auth.login.subtitle=输入您的凭据
auth.register.title=创建账户
auth.forgot.password=忘记密码?
# 导航项
nav.home=主页
nav.dashboard=仪表板
nav.settings=设置
MessageFormat 占位符
welcome.user=欢迎回来,{0}!
items.count=您的购物车中有 {0} 件商品
validation.min.length=字段长度至少为 {0} 个字符
date.format=今天是 {0,date,short}
Java 特定功能
Unicode 转义序列
japanese.greeting=\u3053\u3093\u306b\u3061\u306f
euro.symbol=价格:100\u20ac
Unicode 转义在翻译过程中会被保留。
行续接
long.message=这是一条非常长的消息, \
跨越多行以便于 \
在源文件中更好地阅读
特殊字符转义
file.path=C:\\Users\\Documents\\file.txt
key.with.spaces=key\ with\ spaces=value with spaces
special.chars=包含 \= 等号和 \: 冒号
高级配置
多个属性文件
"properties": {
"include": [
"src/main/resources/messages_[locale].properties",
"src/main/resources/validation_[locale].properties"
]
}
锁定配置键
"properties": {
"include": ["src/main/resources/messages_[locale].properties"],
"lockedKeys": ["app.version", "build.timestamp", "api.endpoint"]
}