abouttreesummaryrefslogcommitdiff
path: root/sync_translations.py
diff options
context:
space:
mode:
Diffstat (limited to 'sync_translations.py')
-rw-r--r--sync_translations.py31
1 files changed, 27 insertions, 4 deletions
diff --git a/sync_translations.py b/sync_translations.py
index ec696c9..58a356c 100644
--- a/sync_translations.py
+++ b/sync_translations.py
@@ -6,6 +6,27 @@ import glob, os
# - Remove obsolete strings
# - Sort in the same order as the baseline
# The baseline is 'values/strings.xml', which is english.
+# Sync store title and descriptions to the 'metadata/' directory.
+
+VALUE_DIR_TO_METADATA = {
+ "cs": "cs-CZ",
+ "de": "de-DE",
+ "en": "en-US",
+ "es": "es-ES",
+ "fa": "fa-IR",
+ "fr": "fr-FR",
+ "it": "it-IT",
+ "ko": "ko-KR",
+ "lv": "lv",
+ "pl": "pl-PL",
+ "pt": "pt-BR",
+ "ro": "ro",
+ "ru": "ru-RU",
+ "tr": "tr-TR",
+ "uk": "uk",
+ "vi": "vi",
+ "zh-rCN": "zh-CN",
+ }
# Dict of strings. Key is the pair string name and product field (often None).
def parse_strings_file(file):
@@ -38,8 +59,11 @@ def sync(baseline, strings):
(key, base_string, True)
for key, base_string in baseline.items() ]
-def sync_metadata(locale, strings):
- meta_dir = "metadata/android/" + locale
+def sync_metadata(value_dir, strings):
+ locale = os.path.basename(value_dir).removeprefix("values-")
+ if not locale in VALUE_DIR_TO_METADATA:
+ raise Exception("Locale '%s' not known, please add it into sync_translations.py" % locale)
+ meta_dir = "metadata/android/" + VALUE_DIR_TO_METADATA[locale]
def sync_meta_file(fname, string_name):
if string_name in strings:
string = strings[string_name]
@@ -62,8 +86,7 @@ for value_dir in glob.glob("res/values-*"):
synced_strings = sync(baseline, local_strings)
with open(strings_file, "w", encoding="utf-8") as out:
write_updated_strings(out, synced_strings)
- locale = os.path.basename(value_dir).removeprefix("values-")
- sync_metadata(locale, local_strings)
+ sync_metadata(value_dir, local_strings)
print_status(strings_file, synced_strings)
sync_metadata("en", baseline)