From 1f172eea37444602acecc595f46055ac75cf3f10 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Fri, 6 Mar 2015 16:16:55 +0300 Subject: lang: add to updatelang.py also creating po files for export. --- lang/updatelang.py | 37 ++++++++++++++++++++++++++++++++----- 1 file changed, 32 insertions(+), 5 deletions(-) diff --git a/lang/updatelang.py b/lang/updatelang.py index e97e172..b8ac62f 100755 --- a/lang/updatelang.py +++ b/lang/updatelang.py @@ -203,12 +203,13 @@ def sortDict(adict): d2.append ((key, adict[0][key])) return (d2, adict[1]) -def saveFiles(langDir): +def saveFiles(langDir, poDir): for trans in langFiles: - writeFile (langDir + "/lang_" + trans + ".txt", langFiles[trans], trans, False) - writeFile (langDir + "/lang_" + trans + ".old", oldLangFiles[trans], trans, True) + writeLangFile (langDir + "/lang_" + trans + ".txt", langFiles[trans], trans, False) + writeLangFile (langDir + "/lang_" + trans + ".old", oldLangFiles[trans], trans, True) + writePoFile (poDir, langFiles[trans], trans) -def writeFile(langDir, texts, trans, isold): +def writeLangFile(langDir, texts, trans, isold): with open (langDir, "w") as f: if texts[1] is not None: f.write(texts[1]) @@ -221,6 +222,32 @@ def writeFile(langDir, texts, trans, isold): trLine = trLine[:-2] f.write (trLine + "\n\n") +def writePoFile(poDir, texts, trans): + if trans == "en": + langDir = poDir + "/" + trans + ".pot" + else: + langDir = poDir + "/" + trans + ".po" + + print langDir + with open (langDir, "w") as w: + w.write ("# " + texts[1] + "") + w.write ("#\n\n") + w.write ("msgid \"\"\n") + w.write ("msgstr \"\"\n") + w.write ("\"Project-Id-Version: EvolOnline\\n\"\n") + w.write ("\"MIME-Version: 1.0\\n\"\n") + w.write ("\"Content-Type: text/plain; charset=UTF-8\\n\"\n") + w.write ("\"Content-Transfer-Encoding: 8bit\\n\"\n") + w.write ("\n") + for line in texts[0]: + w.write ("msgid \"" + line[0].replace("\"", "\\\"") + "\"\n") + trLine = line[1] + if trans == "en": + if len(trLine) > 2 and (trLine[-2:] == "#0" or trLine[-2:] == "#1"): + trLine = trLine[:-2] + trLine = trLine.replace("\"", "\\\"") + w.write ("msgstr \"" + trLine + "\"\n\n") + def stripQuotes(data): if len(data) == 0: return data @@ -281,4 +308,4 @@ addMissingLines() loadPoFiles("in"); #dumpTranslations(); sorting() -saveFiles(rootPath + "/langs") +saveFiles(rootPath + "/langs", "out") -- cgit v1.2.3-60-g2f50