為什麼 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 結構 | |||
| 複數 | |||
| 翻譯記憶庫 |