Android整理需要翻译的strings资源,需要把没翻译的中文整理出来翻译成俄文?

项目需要进行俄语国际化,需要整理并翻译未包含俄文的字符串资源。步骤包括:列出所有res目录,区分已翻译与未翻译的文件,将未翻译的XML转为Excel进行翻译,翻译完成后转换回XML并放回相应模块。使用自动化与半自动化方法提高效率。
摘要由CSDN通过智能技术生成

在这里插入图片描述

问题描述

项目需要做俄语国际化,历史代码里有的字段有俄语翻译、有的没有,需要把没翻译的中文整理出来翻译成俄文。

大概思路

  1. 列出所有res目录,根据是否包含values-ru分成两组(半自动
  2. 在“不包含”分组里把需要翻译的中文文件复制出来(半自动)
  3. 在“包含”组里把需要补充翻译的字段复制出来(纯手动)
  4. 把复制出来需要翻译的xml文件转换成excel用于翻译(自动)
  5. 把翻译好的文件根据转换成xml,根据之前记录的res目录放到项目里(半自动)

代码

列出所有string.xml文件路径

public static void listResPath(String src) throws Exception {
    File path1 = new File(src);
    if (!path1.exists()) {
        return;
    }

    File[] items = path1.listFiles();
    if (items == null) return;

    for (File item : items) {
        if (item.isFile()) {
            if (!item.getName().equals("strings.xml")) continue;
            System.out.println(item.getPath());
        } else {
            listResPath(item.getPath());
        }
    }
}

手工找出不包含ru的模块,然后在项目里看一下应该翻译哪个文件,把需要翻译的文件路径放到一个txt里,例如:

D:\work\aaa\src\main\res\values-zh-rCN\strings.xml
D:\work\bbb\src\main\res\values-zh-rCN\strings.xml
D:\work\ccc\src\main\res\values\strings.xml
D:\work\ddd\src\main\res\values-zh\strings.xml

复制这些文件到translate文件夹

private static List<String> needCopyFiles = new ArrayList<>();

private static void getNeedCopyFiles() {
    try {
        FileInputStream inputStream = new FileInputStream("D:\xxx\needCopy.txt");
        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
        String str;
        while ((str = bufferedReader.readLine()) != null) {
            if (!str.isEmpty()) {
                needCopyFiles.add(str);
            }
        }
        bufferedReader.close();
    } ca
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值