国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python實(shí)現(xiàn)刪除Android工程中的冗余字符串

2020-02-23 06:19:48
字體:
供稿:網(wǎng)友

Android提供了一套很方便的進(jìn)行資源(語言)國際化機(jī)制,為了更好地支持多語言,很多工程的翻譯往往會(huì)放到類似crowdin這樣的平臺(tái)上。資源是全了,但是還是會(huì)有一些問題。

哪些問題

以下使用一些語言進(jìn)行舉例。其中values為工程默認(rèn)的資源。

1.某語言的資源和某語言限定區(qū)域的資源之間。如values-fr-rCA存在于values-fr相同的字符串,這種表現(xiàn)最為嚴(yán)重。
2.某語言的資源和默認(rèn)的資源之間。values-fr存在與values相同的字符串,可能原因是由于values-fr存在未翻譯字符串導(dǎo)致

為什么要去重

潔癖,容不下半點(diǎn)冗余。

解決思路

1.如果values-fr-rCA存在于values-fr相同的字符串,去除values-fr-rCA中的重復(fù)字符串,保留values-fr。這樣可以保證在values-fr-rCA下也可以正確讀取到資源。

2.如果values-fr存在與values相同的字符串。如去除values-fr中得重復(fù)字符串,保留values的條目。

Py腳本

代碼如下:
#!/usr/bin/env python
# coding=utf-8
from os import listdir,path, system
from sys import argv
try:
    import xml.etree.cElementTree as ET
except ImportError:
    import xml.etree.ElementTree as ET


def genRegionLangPair(filePath):
    basicLanguage = None
    if ('values' in filePath) :
        hasRegionLimit = ('r' == filePath[-3:-2])
        if (hasRegionLimit):
            basicLanguage = filePath[0:-4]
            if (not path.exists(basicLanguage)) :
                return None
            belongsToEnglish =  ("values-en" in basicLanguage)
            if (belongsToEnglish):
                #Compare with the res/values/strings.xml
                return (path.dirname(basicLanguage) + '/values/strings.xml', filePath + "/strings.xml")
            else:
                return (basicLanguage + '/strings.xml', filePath + "/strings.xml")
    return None

def genLangPair(filePath):
    def shouldGenLanPair(filePath):
        if (not 'values' in filePath ):
            return False

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 诸暨市| 清远市| 双江| 嘉荫县| 宿迁市| 安义县| 曲阳县| 中宁县| 桂林市| 浪卡子县| 松溪县| 巴林右旗| 梅河口市| 富阳市| 祁门县| 兴化市| 通榆县| 醴陵市| 滦平县| 沐川县| 蓬安县| 蓬溪县| 抚州市| 荆门市| 屯门区| 怀化市| 辽中县| 西乌| 阳泉市| 天镇县| 洛宁县| 武隆县| 陇西县| 行唐县| 江永县| 增城市| 衡阳县| 扎鲁特旗| 瓮安县| 沙河市| 上犹县|