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,謝謝

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