mirror of
https://github.com/donaldzou/WGDashboard.git
synced 2024-12-26 08:51:50 +08:00
Update verify_locale_files.py
This commit is contained in:
parent
c0a8540ab8
commit
1b0885bffe
1 changed files with 54 additions and 56 deletions
|
@ -1,63 +1,61 @@
|
|||
import json
|
||||
|
||||
active_languages = json.loads(open("active_languages.json", "r").read())
|
||||
language_template = json.loads(open("language_template.json", "r").read())
|
||||
welcome = "WGDashboard Locale File Verification [by @donaldzou]"
|
||||
if __name__ == "__main__":
|
||||
welcome = "WGDashboard Locale File Verification [by @donaldzou]"
|
||||
print("="*(len(welcome) + 4))
|
||||
print(f"| {welcome} |")
|
||||
print("="*(len(welcome) + 4))
|
||||
print()
|
||||
print("Active Languages\n")
|
||||
status = False
|
||||
|
||||
print("="*(len(welcome) + 4))
|
||||
print(f"| {welcome} |")
|
||||
print("="*(len(welcome) + 4))
|
||||
print()
|
||||
print("Active Languages\n")
|
||||
|
||||
status = False
|
||||
|
||||
for language in active_languages:
|
||||
print(f"{language['lang_name']} | {language['lang_id']}")
|
||||
|
||||
lang_ids = list(map(lambda x: x['lang_id'], active_languages))
|
||||
print()
|
||||
|
||||
lang_id = ""
|
||||
|
||||
while not status:
|
||||
lang_id = input("Please enter the language ID to verify: ")
|
||||
if lang_id not in lang_ids:
|
||||
print(f'{lang_id} is not a valid language ID')
|
||||
elif lang_id == 'en':
|
||||
print(f'{lang_id} is not a editable language')
|
||||
else:
|
||||
status = True
|
||||
for language in active_languages:
|
||||
print(f"{language['lang_name']} | {language['lang_id']}")
|
||||
|
||||
|
||||
with open(f"{lang_id}.json", "r") as f:
|
||||
lang_file = json.load(f)
|
||||
|
||||
# Identify missing and deprecated translations
|
||||
missing_translation = [
|
||||
key for key in language_template
|
||||
if key not in lang_file or not lang_file[key].strip()
|
||||
]
|
||||
|
||||
deprecated_translation = [
|
||||
key for key in lang_file
|
||||
if key not in language_template
|
||||
]
|
||||
|
||||
with open(f"{lang_id}.json", "w") as f:
|
||||
new_lang_file = dict(lang_file)
|
||||
for key in missing_translation:
|
||||
new_lang_file[key] = ""
|
||||
|
||||
for key in deprecated_translation:
|
||||
new_lang_file.pop(key)
|
||||
|
||||
f.write(json.dumps(new_lang_file, ensure_ascii=False, indent='\t'))
|
||||
lang_ids = list(map(lambda x: x['lang_id'], active_languages))
|
||||
print()
|
||||
|
||||
lang_id = ""
|
||||
|
||||
while not status:
|
||||
lang_id = input("Please enter the language ID to verify: ")
|
||||
if lang_id not in lang_ids:
|
||||
print(f'{lang_id} is not a valid language ID')
|
||||
elif lang_id == 'en':
|
||||
print(f'{lang_id} is not a editable language')
|
||||
else:
|
||||
status = True
|
||||
|
||||
|
||||
# Print missing translations
|
||||
print(f"[Missing Translations] {len(missing_translation)} translation{'s' if len(missing_translation) > 1 else ''}")
|
||||
|
||||
|
||||
# Print deprecated translations
|
||||
print(f"[Deprecated Translations] {len(deprecated_translation)} translation{'s' if len(deprecated_translation) > 1 else ''}")
|
||||
with open(f"{lang_id}.json", "r") as f:
|
||||
lang_file = json.load(f)
|
||||
|
||||
# Identify missing and deprecated translations
|
||||
missing_translation = [
|
||||
key for key in language_template
|
||||
if key not in lang_file or not lang_file[key].strip()
|
||||
]
|
||||
|
||||
deprecated_translation = [
|
||||
key for key in lang_file
|
||||
if key not in language_template
|
||||
]
|
||||
|
||||
with open(f"{lang_id}.json", "w") as f:
|
||||
new_lang_file = dict(lang_file)
|
||||
for key in missing_translation:
|
||||
new_lang_file[key] = ""
|
||||
|
||||
for key in deprecated_translation:
|
||||
new_lang_file.pop(key)
|
||||
|
||||
f.write(json.dumps(new_lang_file, ensure_ascii=False, indent='\t'))
|
||||
|
||||
|
||||
print()
|
||||
# Print missing translations
|
||||
print(f"\t[Missing Translations] {len(missing_translation)} translation{'s' if len(missing_translation) > 1 else ''}")
|
||||
# Print deprecated translations
|
||||
print(f"\t[Deprecated Translations] {len(deprecated_translation)} translation{'s' if len(deprecated_translation) > 1 else ''}")
|
||||
print(f"\t[Note] All missing translations are added into {lang_id}.json, all deprecated translations are removed from {lang_id}.json")
|
Loading…
Reference in a new issue