From 5b88bc07e86759caead474ebe3400f1e4eead866 Mon Sep 17 00:00:00 2001 From: axolotle Date: Tue, 14 Nov 2023 17:05:16 +0100 Subject: [PATCH] maintenance: add locale list generator --- maintenance/clean_locales.py | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/maintenance/clean_locales.py b/maintenance/clean_locales.py index 9f55241..9d105db 100644 --- a/maintenance/clean_locales.py +++ b/maintenance/clean_locales.py @@ -75,5 +75,33 @@ def remove_stale_translations(ref="en", locales=None): save_json(ref_path, ref_data, sort=True) +def generate_locales_list(): + locales = [] + + for locale in ALL_LOCALES: + path = LOCALE_FILES[locale] + data = get_json(path).get("_language", {}) + code = data.get("code", locale) + if locale != code: + # Warn that translators have changed the language code + print( + f"Language's code for file '{locale}.json' is '{code}': file" + " should probably be renamed to '{code}.json'" + ) + locales.append( + { + "code": code, + "iso": code, + "name": data.get("name", code), + "dir": data.get("dir", "ltr"), + "fallback": data.get("fallback", "en"), + "file": f"{locale}.json", + } + ) + + save_json(LOCALES_LIST_FILE, locales, sort=True) + + if __name__ == "__main__": remove_stale_translations() + generate_locales_list()