From 75417f5e3d32645859d94cec82255dc130ec4a2e Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 18:55:34 +0200 Subject: Adding upstream version 2020.10.7. Signed-off-by: Daniel Baumann --- scripts/fix_placeholders.py | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100755 scripts/fix_placeholders.py (limited to 'scripts/fix_placeholders.py') diff --git a/scripts/fix_placeholders.py b/scripts/fix_placeholders.py new file mode 100755 index 0000000..e940dcc --- /dev/null +++ b/scripts/fix_placeholders.py @@ -0,0 +1,40 @@ +#!/usr/bin/env python3 + +import json + +from collections import OrderedDict +from glob import glob + +SOURCE_LOCALE = 'src/_locales/en_US/messages.json' + + +def fix_locale(locale, placeholder_keys): + # read in locale, preserving existing ordering + with open(locale, 'r') as f: + data = json.load(f, object_pairs_hook=OrderedDict) + + # restore missing placeholders + for key in placeholder_keys: + if key in data and "placeholders" not in data[key]: + data[key]["placeholders"] = source_data[key]["placeholders"] + + with open(locale, 'w') as f: + json.dump(data, f, ensure_ascii=False, indent=4) + + +if __name__ == '__main__': + with open(SOURCE_LOCALE, 'r') as f: + source_data = json.load(f, object_pairs_hook=OrderedDict) + + # get keys of locale messages with placeholders + placeholder_keys = [] + for key in source_data: + if "placeholders" in source_data[key]: + placeholder_keys.append(key) + + # fix all locales + for locale in glob('src/_locales/*/*.json'): + if locale == SOURCE_LOCALE: + continue + + fix_locale(locale, placeholder_keys) -- cgit v1.2.3