android多语言编码格式,AndroidXml2Xls
根據(jù)網(wǎng)上的開源項目修改而來
目的
本項目的開發(fā)目的是由于在 Android 項目中會有多語言翻譯的需求,在我們做完中文給到專業(yè)人員翻譯的時候,有字符串到出的需求;反之,多國語言翻譯回來之后,同時有導入的需求,手動復制粘貼一定是最低效的方式。所以這個腳本只有兩個功能,一個是導出,xml -> xls ,一個是導入 xls -> xml
使用方法
環(huán)境
Python2
python庫
xlrd(導入使用)
pyExcelerator(導出使用)
配置
Config 里面默認配置了 表格的 title 等屬性
keyTitle = "Android keyName" # key 名(Android 字符串 name)
moduleTitle = "Android module" # module 名(xml 文件名)
import_start_col = 2 # 從第幾列開始導入
export_excel_name = "Output.xls" # 導出的 excel 文件名
export_base_dir = "values-zh" # 導出基準文件夾
export_base_title = "zh" # 導出基準 title
export_only_zh = False # 是否僅導出中文字符
參數(shù)說明
導入
-i 輸入excel 的路徑
-f 輸入目標 xml 路徑
-l 輸入目標語言簡寫,如 en zh 等,與 -f 成對使用
-d 輸入目標文件夾,如 c:\android,文件目錄結(jié)構(gòu)如下(android 直接從工程中拷出即可)
(由于默認為 en 因此文件夾支持 values-en 也支持 values)
├── andorid
│ ├── values-zh
│ |├── strings_device.xml
│ |├── strings_me.xml
│ |├── strings_moment.xml
│ ├── values-de
│ ├── values-ko
示例,在腳本目錄下執(zhí)行,或在下面腳本前加路徑
單個文件(入?yún)⒂惺侨齻€ -i -f -l)
python xls2xml.py -i "C:\Users\Administrator\Desktop\App Native - 1126.xlsx" -l "en" -f "C:\Users\Administrator\Desktop\p\strings_moment.xml"
表示 從把表格中 zh 那一列內(nèi)容,替換到 strings_moment.xml 文件中
文件夾
python .\xls2xml.py -i "C:\Users\Administrator\Desktop\App Native - 1126.xlsx" -d "C:\Users\Administrator\Desktop\p"
導出
導出沒有添加輸入?yún)?shù),直接支持可視化操作
單個文件,
輸入要導出的 excel 路徑,比如,選擇路徑為 C:\Users\Administrator\Desktop,那么會在桌面上創(chuàng)建一個 Output.xls 文件,完成路徑為 C:\Users\Administrator\Desktop\Output.xls
輸入要導出的 xml 文件,結(jié)果就會將 xml 的 鍵值對導出到 excel 表中
目錄方式
要導出的 excel 路徑,同上
要導出的 xml 目錄路徑,如 ..\android, android 目錄下有如下文件格式
├── andorid
│ ├── values-zh
│ |├── strings_device.xml
│ |├── strings_me.xml
│ |├── strings_moment.xml
│ ├── values-de
│ ├── values-ko
│ ├── values
注:目錄方式會默認以 values-zh 作為基準(比如 key 的順序),可以通過修改 Config 屬性 export_base_dir 和 export_base_title 來定制
導出效果
Android module
Android keyName
zh
en
ko
strings_me
me_1
strings_me
me_2
strings_me
me_3
strings_moment
moment_1
strings_moment
moment_2
strings_moment
moment_3
strings_device
device_1
注意點:
xml 目錄指的都是包含著 values-zh 等目錄的文件夾
這里的 module 指的是 同一種語言下的 strings.xml 文件的文件名
如果在字符串定義有數(shù)組,比如 strings-array表示,會自定義名稱,比如 下面就會生成兩個鍵值對
gender_item-INDEX-0:男
gender_item-INDEX-1:女
男
女
關(guān)于導入列配置 import_start_col,項目使用表格 是從第 2 列開始做導入(從0開始),也就是 en 和 de 需導入,在實際使用中可根據(jù)需求處理
export_only_zh 需求來源于,我們在項目中會追加文案(默認中文),在沒有多語言翻譯的時候,其他的 strings 都會寫成中文,為了便于僅導出為翻譯的部分,添加此字段輔助。
常用使用方法, 將導出基準設(shè)為非中文的語言,如 下面將基準設(shè)為英文,并將近導出中文支付設(shè)為 true,那么導出的就是沒有翻譯(僅中文)的內(nèi)容
為什么不能將基準設(shè)為中文? 如果以中文為基準,所有的字符串都會導出來啦
export_base_dir = "values" # 導出基準文件夾
export_base_title = "en" # 導出基準 title
export_only_zh = True # 是否僅導出中文字符
可視化使用
上面直接使用參數(shù)的方式還是容易出錯,建議使用下面的方式,更清晰易懂
python pick_me.py install
測試
ImportTestUnit.py 和 ExportTestUnit.py 用戶導入導出測試
總結(jié)
以上是生活随笔為你收集整理的android多语言编码格式,AndroidXml2Xls的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: drupal linux安装,在Debi
- 下一篇: 根目录android结构,android
