From 411e16cf9f310844036c729dd4f08f6c79c8929a Mon Sep 17 00:00:00 2001 From: Yuri Chornoivan Date: Mon, 10 Sep 2012 05:18:57 +0000 Subject: Fix the script to enable parsing of custom .lang's --- websites/translated_converter.py | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) (limited to 'websites') diff --git a/websites/translated_converter.py b/websites/translated_converter.py index 14c17f32..b75b77dc 100644 --- a/websites/translated_converter.py +++ b/websites/translated_converter.py @@ -48,14 +48,14 @@ for langfile in glob.glob(file_mask): 'Report-Msgid-Bugs-To': 'mageia-i18n@mageia.org', 'POT-Creation-Date': pocreationtime, 'PO-Revision-Date': pocreationtime, - 'Last-Translator': 'Duffy Duck ', + 'Last-Translator': 'Duffy Duck ', 'Language-Team': lang_code + ' ', 'MIME-Version': '1.0', 'Content-Type': 'text/plain; charset=UTF-8', 'Content-Transfer-Encoding': '8bit', } - # Parse contents and add them to POT + # Parse contents and add them to PO messagetemplate='\n\n#\ .*?\n\n' mpattern=re.compile(messagetemplate,re.DOTALL) for mblock in mpattern.findall(text): @@ -73,5 +73,27 @@ for langfile in glob.glob(file_mask): occurrences=[(langfile,'')] ) po.append(potentry) + messagetemplate='\n\n;.*?\n\n' + mpattern=re.compile(messagetemplate,re.DOTALL) + for mblock in mpattern.findall(text): + message_id, message_str = mblock.strip('\n').split('\n',1) + # Strip ';' from msgid + message_id = message_id.lstrip(';') + potentry = polib.POEntry( + msgid = message_id.decode('utf-8'), + msgstr = message_str.decode('utf-8'), + occurrences=[(langfile,'')] + ) + po.append(potentry) + if text[0] == ';': + message_id, message_str = text.partition('\n\n')[0].strip('\n').split('\n',1) + # Strip ';' from msgid + message_id = message_id.lstrip(';') + potentry = polib.POEntry( + msgid = message_id.decode('utf-8'), + msgstr = message_str.decode('utf-8'), + occurrences=[(langfile,'')] + ) + po.append(potentry) pofilename = langfilename + '/po/' + lang_code + '.po' po.save(pofilename) -- cgit v1.2.1