Retrieval-based-Voice-Conve.../extract_locale.py

29 lines
689 B
Python

import json
import re
# Define regular expression patterns
pattern = r"""i18n\((["'][^"']+["'])\)"""
# Initialize the dictionary to store key-value pairs
data = {}
def process(fn: str):
global data
with open(fn, 'r', encoding='utf-8') as f:
contents = f.read()
matches = re.findall(pattern, contents)
for key in matches:
key = eval(key)
print("extract:", key)
data[key] = key
print("processing infer-web.py")
process('infer-web.py')
print("processing gui.py")
process('gui.py')
# Save as a JSON file
with open('./locale/zh_CN.json', 'w', encoding='utf-8') as f:
json.dump(data, f, ensure_ascii=False, indent=4)