2 Star 1 Fork 0

RogerAbyss / 国际化

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
StringsXmlFileUtil.py 1.68 KB
一键复制 编辑 原始数据 按行查看 历史
RogerAbyss 提交于 2018-06-21 16:42 . init
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import os
from Log import Log
import xml.dom.minidom
import re
class StringsXmlFileUtil:
'android strings.xml file util'
@staticmethod
def writeToFile(keys, values,directory,additional):
if not os.path.exists(directory):
os.makedirs(directory)
Log.info("Creating android file:" + directory + "/strings.xml")
fo = open(directory + "/strings.xml", "wb")
stringEncoding = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n"
fo.write(stringEncoding)
for x in range(len(keys)):
if values[x] is None or values[x] == '' :
Log.error("Key:" + keys[x] + "\'s value is None. Index:" + str(x + 1))
continue
key = keys[x].strip()
value = re.sub(r'(%\d\$)(@)', r'\1s', values[x])
content = " <string name=\"" + key + "\">" + value + "</string>\n"
fo.write(content);
if additional is not None:
fo.write(additional)
fo.write("</resources>");
fo.close()
@staticmethod
def getKeysAndValues(path):
if path is None:
Log.error('file path is None')
return
dom = xml.dom.minidom.parse(path)
root = dom.documentElement
itemlist = root.getElementsByTagName('string')
keys = []
values = []
for index in range(len(itemlist)):
item = itemlist[index]
key = item.getAttribute("name")
value = item.firstChild.data
Log.info("key:" + key + " value:" + value)
keys.append(key)
values.append(value)
return (keys,values)
1
https://gitee.com/rogerabyss/internationalization.git
git@gitee.com:rogerabyss/internationalization.git
rogerabyss
internationalization
国际化
master

搜索帮助