App语言国际化之Android与iOS公用一套翻译利器

App语言国际化之Android与iOS公用一套翻译利器


相信做App的程序员们都知道,大多数情况下我们开发的App肯定不止仅有一种语言,那么你有没有考虑过客户端公用一套翻译文言,每次只需要导出LanguageExcel.xlsx 翻译完成后再一键导入就ok?

工具类地址: https://github.com/Felix1030/values_utils.

implementation 'com.felix.values.utils:values_utils:1.0.5'

一、功能介绍

  1. 支持多strings文件导出到Excel文件
  2. 支持多arrays文件导出到Excel文件(目前仅支持单个strings-arrays导出)
  3. 支持Excel文件导入多strings文件
  4. 支持Excel文件导入多arrays文件(目前仅支持单个strings-arrays导入)

二、应用

  1. Android国际化strings翻译
  2. Android国际化arrays 错误码翻译

三、使用

3.1 ValueState
ValueState.STRINGS_TO_EXCEL 导出Strings到Excel
ValueState.EXCEL_TO_STRINGS 导入excel到strings
ValueState.ARRAYS_TO_EXCEL 导出Arrays到Excel 需要指定setArraysXmlKey
ValueState.EXCEL_TO_ARRAYS 导入Excel到Arrays 需要指定setArraysXmlKey
ValueState.NONE 啥也不干
3.2 kotlin
// 导出strings到Excel文件
fun main() {
    ValueUtilsManagerBuilder(ValueState.STRINGS_TO_EXCEL)
        .setImportAndExportPath("/Users/vincent/Desktop/workspace/Clock/resource/src/main/res") // 指定导出或者导入的路径
        .setArraysXmlKey("clock_error_codes") // 指定arrays的Key 暂时不支持多Key
        .build()
        .execute()
        }

values/strings.xml
在这里插入图片描述
values-en/strings.xml
在这里插入图片描述
导出后Excel
在这里插入图片描述

// 导入Excels到strings文件
fun main() {
    ValueUtilsManagerBuilder(ValueState.EXCEL_TO_STRINGS)
        .setImportAndExportPath("/Users/vincent/Desktop/workspace/Clock/resource/src/main/res") // 指定导出或者导入的路径
        .setArraysXmlKey("clock_error_codes") // 指定arrays的Key 暂时不支持多Key
        .build()
        .execute()
        }
// 导出arrays 并且<string-array name="clock_error_codes">到Code.xlsx文件
fun main() {
    ValueUtilsManagerBuilder(ValueState.ARRAYS_TO_EXCEL)
        .setImportAndExportPath("/Users/vincent/Desktop/workspace/Clock/resource/src/main/res") // 指定导出或者导入的路径
        .setArraysXmlKey("clock_error_codes") // 指定arrays的Key 暂时不支持多Key
        .build()
        .execute()
        }
// 导入Excels到arrays文件 并设置 <string-array name="clock_error_codes">
fun main() {
    ValueUtilsManagerBuilder(ValueState.EXCEL_TO_ARRAYS)
        .setImportAndExportPath("/Users/vincent/Desktop/workspace/Clock/resource/src/main/res") // 指定导出或者导入的路径
        .setArraysXmlKey("clock_error_codes") // 指定arrays的Key 暂时不支持多Key
        .build()
        .execute()
}
3.3 java
public class GenerateJava {
    public static void main(String[] args) {
        new ValueUtilsManager.ValueUtilsManagerBuilder(ValueState.STRINGS_TO_EXCEL)
                .setImportAndExportPath("/Users/vincent/Desktop/workspace/Clock/resource/src/main/res")
                .setArraysXmlKey("clock_error_codes")
                .build()
                .execute();
    }
}

该工具类目前已经初步可以实现功能,若在使用过程中有问题,请留言或者提issue,谢谢

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章