diff options
Diffstat (limited to 'translate.py')
| -rw-r--r-- | translate.py | 25 | 
1 files changed, 16 insertions, 9 deletions
| diff --git a/translate.py b/translate.py index 39c5745..ccfa7d2 100644 --- a/translate.py +++ b/translate.py @@ -30,8 +30,10 @@ templates = {      '{_developers}': 'nokoe, metamuffin, tpart',  } +default = "en" -def add_languages(file, regex, format, langs): + +def add_languages(file, regex, format, format_default, langs):      with open(file) as f:          text = f.read()          for line in text.splitlines(): @@ -41,17 +43,20 @@ def add_languages(file, regex, format, langs):                  key = m.group(2).strip()                  translate = m.group(3).strip()                  to_substitute = [] -                for lang in langs.keys(): +                keys = list(langs.keys()) +                keys.remove("en") +                keys.insert(0, "en") +                for lang in keys:                      if translate in langs[                              lang] and not langs[lang][translate].strip() == "":                          translated = langs[lang][translate]                          for k in templates.keys():                              translated = translated.replace(k, templates[k]) -                        to_substitute.append( -                            format.substitute(key=key, -                                              value=translated, -                                              lang=lang, -                                              w=w)) +                        line = format.substitute( +                            key=key, value=translated, lang=lang, w=w +                        ) if not lang == default else format_default.substitute( +                            key=key, value=translated, w=w) +                        to_substitute.append(line)                  text = text.replace(m.string, "\n".join(to_substitute))          new_file = open(f.name.removeprefix("template."), "w")          new_file.write(text) @@ -73,8 +78,10 @@ for i in [  add_languages("template.org.metamuffin.hurrycurry.client.desktop",                re.compile(r"^(\s*)(.*)\[LANG\]=(.*)$"), -              Template("$w$key[$lang]=$value"), langs) +              Template("$w$key[$lang]=$value"), Template("$w$key=$value"), +              langs)  add_languages("template.org.metamuffin.hurrycurry.client.metainfo.xml",                re.compile(r"(\s*)<(.*)\s*xml:lang=\"LANG\"\s*>(.*)</.*>"), -              Template("$w<$key xml:lang=\"$lang\">$value</$key>"), langs) +              Template("$w<$key xml:lang=\"$lang\">$value</$key>"), +              Template("$w<$key>$value</$key>"), langs) | 
