跳到工具區
行動開發

本地化資源檔案轉換與比對

檢查、比對並轉換 Apple、Android、XLIFF 與 ARB 多語系資源,找出缺少的 key、空譯文與 placeholder 差異。

輸入0 個字元
對照內容0 個字元
結果0 個字元
就緒

想要更順手的原生工作流程?

把「本地化資源檔案轉換與比對」放進一個快速鍵。

DevSexy Mac 版保留同樣私密的本機處理,同時提供全域快速鍵;不用管理瀏覽器分頁,需要時直接叫出。

全域快速鍵可離線使用本機處理
免費試用 Mac 版

目前的瀏覽器工具仍然免費。

本地化資源通關台 · 五種格式的貨物不對等

訊息可以跨平台,文法與工作流程不能直接打包帶走。

簡單 key/value 是可轉換的最小交集。開發者註解、locale、printf / ICU placeholder、plural 類別、Apple variation、Android array / markup、ARB companion metadata 與 XLIFF inline code / workflow state 都需要獨立盤點;本頁只在實作能證明的範圍內轉換。

格式拓撲圖

01
Apple .strings

執行階段資源

key · value · 開發者註解

02
.xcstrings

String Catalog

source locale · state · variations

03
Android XML

執行階段資源

strings · plurals · arrays · markup

04
XLIFF

交換容器

source · target · inline codes · state

05
Flutter ARB

訊息 + metadata

ICU grammar · @ companion metadata

Key 完整性比對

MESSAGE KEYSOURCETARGETVERDICT
welcome.title存在存在相同
cart.items存在存在已變更
account.delete存在—僅來源檔
promo.banner—存在僅目標檔
checkout.total存在空值阻擋發佈

Placeholder 護照查核

Apple printf%@ · %2$d目前偵測器比對位置 + 部分類型
Android printf%1$s · %d位置 + 部分類型
Android XLIFFxliff:g id=time當前 parser 會壓平,不能證明保真
ARB / ICU命名參數 · plural偵測名稱;不編譯 ICU grammar
XLIFFph · x · equiv-text僅擷取部分 inline 訊號

Plural 文法管轄區

Apple String Catalogplural + device axes只要出現 variation 就阻擋轉換
Android resourceszero/one/two/few/many/other可檢出 quantities,不改寫語系規則
Flutter ARBICU plural/select/selectordinal以模式偵測後阻擋自動轉換
XLIFFtranslation units + inline codes是交換容器,不是單一 plural 模型
Legacy .strings每個 key 一個扁平 value沒有原生 plural tree

Metadata 貨物清單

開發者註解簡單註解可攜帶

輸出格式仍會改寫

Source / target locale只擷取部分容器層資訊

不代表完整語言契約

Review / extraction state可偵測部分存在性

轉換不保留原工作流程

Apple variation平台專屬

出現即阻擋輸出

ARB companion metadata會列出欄位名

轉出僅能攜帶 description

Android array / markup結構化資源

array 會阻擋;markup 會被 textContent 壓平

轉換損失判定

可轉換交集

簡單 key + value

有條件攜帶

單一 developer comment 與部分 locale

僅作診斷

printf / ICU / inline placeholder 詞形比對

平台規則

plural categories 不會跨平台改寫

阻擋或已降階

variation / array 阻擋;markup / XLIFF state 不保真

發佈前 QA 通道

結構對齊只是進場條件,不是譯文與執行階段保證。

01

比對 key 集合

02

審查 placeholder 詞形與偵測盲點

03

找出空的目標譯文

04

回到原檔複核 plural / variation / array / inline code

05

只匯出可共用的簡單訊息子集

06

分別用 Xcode / Android / Flutter 工具鏈編譯

07

用實際 locale 測試 UI、bidi、截斷與 fallback

執行可重現的範例

轉換簡單 Apple strings 條目,並在發布前找出缺失鍵和預留位置漂移。

使用範例會替換目前輸入、參考輸入、操作與選項。以下均為公開示範資料。

把一個 strings 條目轉為 JSON

Apple .strings 輸入、JSON 輸出,範例不含複數或變體中繼資料。

輸入

"welcome" = "Welcome";

保留 welcome 鍵與值;更復雜容器需要另外核對中繼資料。

"welcome": "Welcome"

找到丟失預留位置和缺失鍵

源 greeting 含 %@,目標移除了它並遺漏 save。

輸入

"greeting" = "Hello %@";
"save" = "Save";

對照內容

"greeting" = "你好";

報告 PLACEHOLDER DRIFT 與 SOURCE ONLY,不判斷譯文是否自然。

PLACEHOLDER DRIFT
SOURCE ONLY   save

繼續處理相關任務

Unicode 文字跳脫與字元檢查

在瀏覽器檢查 grapheme cluster、code point、UTF-16 code unit、UTF-8 bytes、Unicode 正規化與常見跳脫寫法。

文字 Diff 比對

在瀏覽器本機依行、詞或字元比對兩段文字,並清楚標示檢視方式、忽略規則與複製輸出格式。

Apple plist 檢視與轉換工具

在瀏覽器本機解析 XML、binary 與 OpenStep plist,以型別樹檢視內容,並重建 XML 或匯出帶標記的 JSON。

在 DevSexy Mac 應用程式中重複處理

反覆處理本機資料時,可透過 Option 快捷鍵開啟原生應用程式,離線使用工具。

直接回答

什麼是 本地化資源檔案轉換與比對?

線上檢查、比對並轉換 Apple .strings/.xcstrings、Android strings.xml、XLIFF 與 Flutter ARB,找出缺少 key、空譯文和 placeholder 差異,並阻擋無法證明保真的 plural、array 與 variation 轉換。

它能做什麼?

  • 檢查
  • 比對
  • 轉換

如何使用 本地化資源檔案轉換與比對

  1. 01

    準備輸入

    選擇來源容器,對比時貼上參考語言。

  2. 02

    選擇操作

    轉換簡單資源,或比較鍵與預留位置是否一致。

  3. 03

    核對結果

    在目標專案中核對複數、註解、平台變體和資源打包。

常見問題

鍵都齊全就代表翻譯正確嗎?
不代表。鍵和預留位置檢查不能證明語言自然、文化適配、排版合適或複數選擇正確,仍需在實際介面審閱。
所有本機化容器都能透過 JSON 無損往返嗎?
不能。Apple 變體、Android 結構、XLIFF 工作流和 ARB 中繼資料超出扁平字串範圍,轉換前應核對目標格式支援。
預留位置漂移是什麼意思?
源與目標中的預留位置不一致,提醒檢查格式化約定,包括位置參數與複數,避免靜默接受可能執行失敗的文字。