pencilCool
10/27/2017 - 8:37 AM

多语言

key = value; 表达式完整性检查(防止漏掉了分号)

#coding=utf-8

import re
import os
import glob


ProjectPath = '/Users/pencilcool/Project/MiHomeForiOS/'
BasePath = ProjectPath + 'MiHome/MiHome/Resource/'


def invalideExpressions(language_file):
    invalide_expressions = []; 
    with open(language_file) as  target_file:
        lines = target_file.readlines()

    for x in lines:
        x.strip()#除去每行的换行符
        isContainsemicolon = re.search(r'.*;+.*',x,flags=0)
        # if isContainsemicolon:
        #     print "---semicolom\n",x
        isContainEqualSgin = re.search(r'.*=+.*',x,flags=0)
        # if isContainEqualSgin:
        #     print "---isContainEqualSgin\n",x
        # print type(isContainEqualSgin), "isContainEqualSgin"
        if type(isContainEqualSgin) != type(isContainsemicolon):
            invalide_expressions.append(x)
    return invalide_expressions

print "\nkey = value; 表达式完整性检查:\n"

print "\ndiff 中文简体-----"
print invalideExpressions(BasePath + 'zh-Hans.lproj/Localizable.strings')

print "\ncheck 香港繁体-----"
print invalideExpressions(BasePath + 'zh-Hant-HK.lproj/Localizable.strings')


print "\ncheck 台湾繁体-----"
print invalideExpressions(BasePath + 'zh-Hant.lproj/Localizable.strings')

print "check 英文-----"
print invalideExpressions(BasePath + 'Base.lproj/Localizable.strings')

print "\ncheck 韩语-----"
print invalideExpressions(BasePath + 'ko.lproj/Localizable.strings')

print "\ncheck 俄语-----"
print invalideExpressions(BasePath + 'ru.lproj/Localizable.strings')

print "\ncheck 西班牙语-----"
print invalideExpressions(BasePath + 'es.lproj/Localizable.strings')