Lingo.dev + .xml(Android)
Lingo.dev CLI 翻译 Android XML 资源文件,同时保留原生结构、属性和 Android 特定的约定。CLI 无缝集成到现有的 Android 构建流程中,维护资源链接系统,支持 Gradle 和 Android Studio,并遵循平台本地化标准,无需格式转换。
快速设置
通过基于语言环境的文件夹模式指向您的 Android 资源文件:
{
"locale": {
"source": "en",
"targets": ["es", "fr", "de", "ja"]
},
"buckets": {
"android": {
"include": ["res/values-[locale]/strings.xml"]
}
}
}
提醒:[locale]
是一个占位符,在 CLI 运行期间会被实际的语言环境替换,因此应在配置中保持原样。
处理默认资源
Android 需要一个默认的 values/
文件夹。创建一个符号链接以确保兼容性:
cd res
ln -s values-en values
这满足了 Android 的要求,同时支持正确的语言环境处理。
翻译资源
npx lingo.dev@latest i18n
处理所有 Android 资源类型,同时保留 XML 格式、属性和特殊的 Android 语法。
完整的 Android 资源支持
字符串数组
<string-array name="planets">
<item>Mercury</item>
<item>Venus</item>
<item>Earth</item>
</string-array>
带数量的复数
<plurals name="songs_found">
<item quantity="one">%d 首歌曲已找到</item>
<item quantity="other">%d 首歌曲已找到</item>
</plurals>
格式保留
- HTML 标记:保留
<b>
、<i>
、<u>
标签 - 格式说明符:保留
%1$s
、%2$d
占位符 - CDATA 区块:正确处理
<![CDATA[]]>
内容 - 字符串引用:保留
@string/app_name
链接 - 特殊字符:保留
\@
、\?
、\#
转义
高级配置
多个资源文件
"android": {
"include": [
"res/values-[locale]/strings.xml",
"res/values-[locale]/plurals.xml"
]
}
跳过不可翻译的字符串
自动遵循 translatable="false"
属性。