| | import json |
| | import os |
| | from collections import OrderedDict |
| |
|
| | |
| | standard_file = "en_US.json" |
| |
|
| | |
| | dir_path = "./" |
| | languages = [ |
| | f for f in os.listdir(dir_path) if f.endswith(".json") and f != standard_file |
| | ] |
| |
|
| | |
| | with open(standard_file, "r", encoding="utf-8") as f: |
| | standard_data = json.load(f, object_pairs_hook=OrderedDict) |
| |
|
| | |
| | for lang_file in languages: |
| | |
| | with open(lang_file, "r", encoding="utf-8") as f: |
| | lang_data = json.load(f, object_pairs_hook=OrderedDict) |
| |
|
| | |
| | diff = set(standard_data.keys()) - set(lang_data.keys()) |
| |
|
| | miss = set(lang_data.keys()) - set(standard_data.keys()) |
| |
|
| | |
| | for key in diff: |
| | lang_data[key] = key |
| |
|
| | |
| | for key in miss: |
| | del lang_data[key] |
| |
|
| | |
| | lang_data = OrderedDict( |
| | sorted(lang_data.items(), key=lambda x: list(standard_data.keys()).index(x[0])) |
| | ) |
| |
|
| | |
| | with open(lang_file, "w", encoding="utf-8") as f: |
| | json.dump(lang_data, f, ensure_ascii=False, indent=4) |
| | f.write("\n") |
| |
|