为什么 Android 本地化很头疼
手动编辑 XML
为每种语言复制 strings.xml。会不会忘记 value-de 文件夹?应用崩溃。
昂贵的代理机构
翻译服务按每个单词0,15欧元收费。你那包含500条字符串的应用每种语言成本都超过500欧元。
损坏的格式化工具
Google 翻译会破坏 %1$s 和 %d。你的 getString() 调用会导致应用崩溃。
工作原理
3 步。2 分钟。完成。
1
上传 strings.xml
或 JSON、ARB 文件。我们会识别该格式。
2
选择语言
29 种语言。德语、法语、日语、汉语……
3
下载
获取 values-de/、values-fr/、values-es/,即可用于你的 res/ 目录。
支援的 Android 格式
原生 Android、React Native、Flutter——全部在一个工具中
strings.xml
原生 Android
JSON i18n
React Native、Flutter
ARB
Flutter/Dart
XLIFF
行业标准
变更前 → 变更后
占位符、复数和 HTML 标签将保留
之前 (values/strings.xml)
<!-- res/values/strings.xml -->
<resources>
<string name="app_name">My App</string>
<string name="welcome">Welcome, %1$s!</string>
<string name="items">%d items found</string>
<plurals name="songs">
<item quantity="one">%d song</item>
<item quantity="other">%d songs</item>
</plurals>
</resources>之后 (values-de/strings.xml)
<!-- res/values-de/strings.xml -->
<resources>
<string name="app_name">Meine App</string>
<string name="welcome">Willkommen, %1$s!</string>
<string name="items">%d Artikel gefunden</string>
<plurals name="songs">
<item quantity="one">%d Lied</item>
<item quantity="other">%d Lieder</item>
</plurals>
</resources>为 Android 开发者打造
占位符保护
androidPage.feat1Desc
所有 Android 格式
strings.xml、React Native 的 JSON、Flutter 的 ARB。一款工具,搞定所有格式。
2分钟胜过2周
上传 → 选择语言 → 下载 values-de、values-fr、values-es。
翻译记忆 = 90% 的节省
已翻译的字符串将被重复使用。应用程序更新几乎不花钱。
全面的 Android 语法支持
%s, %d, %f 格式化器
%1$s 位置参数
@string/引用
复数(Quantity Strings)
字符串数组
CDATA 块
HTML 格式化标签
转义序列(\\n, \\t)
为什么不用 Google 翻译?
| shipglobal | Google Translate | DeepL | |
|---|---|---|---|
| %1$s 已受保护 | |||
| XML 结构 | |||
| 复数 | |||
| 翻译记忆库 |