把 Android strings.xml 变成译者或外包能编辑的 Excel 表,再原样转回 —— 复数、string-array、translatable 标记、根命名空间与占位符全部保留,每个资源都以其 name 为键。不是通用的 XML 转表格 —— 而是 Android 本地化交接真正需要的那一步。
这个转换的存在,是让 Android 开发者与译者各用自己顺手的格式 —— 而中间不丢任何东西。
Android 的资源格式:一个 resources 根,内含 string、string-array 与 plurals 词条,各以 name 寻址,复数项带 quantity 关键字(one、other 等),并有一个 translatable 标记告诉构建该跳过什么。精确 —— 不是用来肉眼手改的。
译者、审校与外包最自然的界面:一行一条字符串,原文与译文并排,便于筛选、批量编辑与批注。问题在于:直接用 Excel 打开 strings.xml,复数结构会塌陷,translatable 标记会丢失,而且无法再载回你的 App。
这个工具守的正是那个「载不回去」:导出时把每个 plurals 的 quantity 与 string-array 的下标保在键里,把 translatable 标记保在 Type 列,并把根 xmlns 属性存进保留的 @@resources.* 行 —— 于是表格能重建回有效的 strings.xml。少数表格无法承载的东西会被 报告,绝不静默丢弃:XML 注释与原始缩进(输出采用干净的规范排版),以及超出 name 与 translatable 的资源属性。