跳到工具区
移动开发

本地化资源文件转换与对比工具

对比并转换 Apple、Android、XLIFF 与 ARB 本地化资源,检查缺失键、占位符和 plural 结构。

输入0 个字符
对照内容0 个字符
结果0 个字符
就绪

想要更顺手的原生工作流?

把「本地化资源文件转换与对比工具」放到一个快捷键里。

DevSexy Mac 版保留同样私密的本地处理,同时提供全局快捷键;不用管理浏览器标签页,需要时直接呼出。

全局快捷键可离线使用本地处理
免费试用 Mac 版

当前浏览器工具仍然免费。

本地化资源通关台 · 五种格式,承载能力并不相同

文案可以跨平台,语法结构不能想当然地搬运。

键名和纯文本值最容易迁移;占位符、plural 类别、注释、审核状态、variation 维度和 inline code 都需要单独核对,才能判断一次转换是否安全。

格式拓扑图

01
Apple .strings

运行时资源

键 · 值 · 注释

02
.xcstrings

String Catalog

语言 · 状态 · variations

03
Android XML

运行时资源

strings · plurals · arrays

04
XLIFF

交换容器

source · target · inline codes

05
Flutter ARB

源文案 + 元数据

ICU messages · 配套元数据

键完整性检查台

MESSAGE KEYSOURCETARGETVERDICT
welcome.title存在存在相同
cart.items存在存在已变更
account.delete存在—仅源文件
promo.banner—存在仅目标文件
checkout.total存在空值阻止发布

占位符检查站

Apple printf%@ · %2$d位置 + 类型
Android printf%1$s · %d位置 + 类型
Android XLIFFxliff:g id=timeinline 保护
ARB / ICU命名参数 · plural名称 + 类别
XLIFFph · x · equiv-textinline code

Plural 规则辖区

Apple String Catalogplural + 设备维度VARIATION 树
Android resourceszero/one/two/few/many/other按 locale 选择类别
Flutter ARBICU plural/select/selectordinal消息语法
XLIFFtranslation units + inline codes只是容器,不是单一 plural 模型
旧版 .strings每个键只有一个扁平值没有原生 plural 树

元数据装载清单

开发者注释通常可迁移

翻译上下文

源语言 / 目标语言取决于容器

语言契约

审核 / 提取状态Catalog 专有

工作流证据

设备 variationApple 专有

无法安全扁平化

ARB 配套元数据Flutter 专有

占位符 schema

字符串数组 / markupAndroid 专有

结构化资源

转换损失判定表

直接转换

简单键值对

带标签迁移

注释和语言元数据

需要映射

不同占位符语法

遵循平台规则

plural 类别

拒绝自动转换

没有明确策略的 variation、数组或富 inline 结构

发布前 QA 通道

结构对齐只是准入条件,不是终点。

01

对比键集合

02

审计占位符集合

03

找出空译文

04

检查 plural / variation 结构

05

只导出可共享子集

06

分别用 Xcode / Android / Flutter 编译

07

实机检查 UI、bidi、截断和 locale 行为

运行可复现的实例

转换简单 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 文本转义与字符检查工具

检查 Unicode 码点、grapheme、文本规范化、UTF-8 字节和常见编程语言转义序列。

文本 Diff 对比

在浏览器本地按行、词或字符比较两段文本,并清楚记录忽略规则与输出格式。

plist 查看与转换工具

在浏览器本地读取 XML、binary 和 OpenStep plist,以类型树检查内容,并格式化为 XML 或导出 JSON。

在 DevSexy Mac 应用中重复处理

反复处理本地数据时,可通过 Option 快捷键打开原生应用,离线使用工具。

直接回答

什么是 本地化资源文件转换与对比工具?

在线检查、对比并转换 Apple .strings/.xcstrings、Android strings.xml、XLIFF 和 Flutter ARB 本地化资源,同时诊断缺失键、占位符与 plural 结构。

它能做什么?

  • 检查
  • 比较
  • 转换

如何使用 本地化资源文件转换与对比工具

  1. 01

    准备输入

    选择源容器,对比时粘贴参考语言。

  2. 02

    选择操作

    转换简单资源,或比较键与占位符是否一致。

  3. 03

    核对结果

    在目标项目中核对复数、注释、平台变体和资源打包。

常见问题

键都齐全就代表翻译正确吗?
不代表。键和占位符检查不能证明语言自然、文化适配、排版合适或复数选择正确,仍需在实际界面审阅。
所有本地化容器都能通过 JSON 无损往返吗?
不能。Apple 变体、Android 结构、XLIFF 工作流和 ARB 元数据超出扁平字符串范围,转换前应核对目标格式支持。
占位符漂移是什么意思?
源与目标中的占位符不一致,提醒检查格式化约定,包括位置参数与复数,避免静默接受可能运行失败的文本。