25 lines
1.1 KiB
Python
25 lines
1.1 KiB
Python
import vdf
|
|
import sys
|
|
|
|
def copy_kvs(english_keys: vdf.VDFDict, chinese_keys: vdf.VDFDict, output: vdf.VDFDict):
|
|
for key in chinese_keys:
|
|
if not isinstance(chinese_keys[key], str):
|
|
output[key] = vdf.VDFDict()
|
|
copy_kvs(english_keys[key], chinese_keys[key], output[key])
|
|
elif key in english_keys and len(english_keys[key]) > 0:
|
|
output[key] = english_keys[key]
|
|
else:
|
|
output[key] = chinese_keys[key]
|
|
|
|
def main(english_keyfile: str, chinese_keyfile: str, output_file: str, chinese_encoding: str, english_encoding: str):
|
|
if chinese_encoding is None:
|
|
chinese_encoding = 'utf8'
|
|
if english_encoding is None:
|
|
english_encoding = 'utf8'
|
|
chinese = vdf.load(open(chinese_keyfile, encoding=chinese_encoding), mapper=vdf.VDFDict)
|
|
english = vdf.load(open(english_keyfile, encoding=english_encoding), mapper=vdf.VDFDict)
|
|
output = vdf.VDFDict()
|
|
copy_kvs(english, chinese, output)
|
|
vdf.dump(output, open(output_file, 'w'),pretty=True)
|
|
args = sys.argv[1:]
|
|
main(args[0], args[1], args[2], args[3], args[4]) |