hardi / assets /i18n /extract_locale.py
r3gm's picture
Upload 340 files
3b7b011
raw
history blame
783 Bytes
import json
import re
# Define regular expression patterns
pattern = r"""i18n\([\s\n\t]*(["'][^"']+["'])[\s\n\t]*\)"""
# 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_v0.py")
process("gui_v0.py")
print("processing gui_v1.py")
process("gui_v1.py")
# Save as a JSON file
with open("./i18n/en_US.json", "w", encoding="utf-8") as f:
json.dump(data, f, ensure_ascii=False, indent=4)
f.write("\n")