从大型 Android 项目中提取和翻译多个 strings.xml 文件的最佳方式

Best way to extract and translate multiple strings.xml files from a big Android project

我有一个巨大的 Android 项目,由几个模块组成。

理想情况下,我想要一种全自动的方式来从所有子模块和所有资源限定符中提取所有当前 strings.xml 文件 - 放在一个单独的文件夹中,但保留在它们的文件夹结构下。

我想将此结果(提取的字符串文件)提供给翻译 - 然后当我收到结果时,自动将所有更新文件重新定位到项目中。

例如,如果我的项目中有:

ModuleA:
   src/main/res/value/strings.xml
   src/main/res/value-fr/strings.xml
   src/main/res/value-es/strings.xml

ModuleB:
   src/main/res/value/strings.xml
   src/main/res/value-fr/strings.xml
   src/main/res/value-es/strings.xml

那么结果应该是同一文件夹结构中的相同 string.xml 个文件 - 但在没有项目其余部分的情况下重新定位到一个新文件夹中。

是否有任何已知/现有的方法来操作复杂的项目及其 strings.xml 文件,或者我是否必须从头开始编写自己的脚本?

我最终使用了一个稍微修改过的版本 https://github.com/TomasKypta/android-lang-tool 使用单个 Android 模块,

然后在我的大项目中的多个已知模块上编写一个方便的 Python 脚本到 运行 并相应地设置 input/output 路径(根据我的模块的硬编码路径) , 所以我得到了整个项目的字符串 XLS 文件导出用于翻译并易于导入回来。

这非常有用,我可以跟踪哪些字符串在某种语言中没有翻译,翻译人员可以使用这种方式(无需让他们安装 Android Studio... ), 当某些内容被修改/翻译仍然很旧时,仍然缺少对字符串的一些版本控制。