From 6bb376d57d4a5f8ed0e54039ffefa94ea5e61baf Mon Sep 17 00:00:00 2001 From: RaNaN Date: Sat, 10 Aug 2013 11:59:53 +0200 Subject: parse string from template files, added some translations for webu --- locale/cli.pot | 2 +- locale/core.pot | 2 +- locale/plugins.pot | 2 +- locale/setup.pot | 2 +- locale/webUI.pot | 102 ++++++++++++++++++++- pavement.py | 62 +++++++++++++ .../app/templates/default/accounts/actionbar.html | 2 +- .../app/templates/default/dashboard/actionbar.html | 16 ++-- .../app/templates/default/dialogs/addAccount.html | 4 +- .../templates/default/dialogs/addPluginConfig.html | 8 +- .../templates/default/dialogs/confirmDelete.html | 8 +- .../templates/default/dialogs/interactionTask.html | 4 +- .../app/templates/default/dialogs/linkgrabber.html | 4 +- .../web/app/templates/default/header/layout.html | 2 +- 14 files changed, 191 insertions(+), 29 deletions(-) diff --git a/locale/cli.pot b/locale/cli.pot index bd3faeff7..1332687b9 100644 --- a/locale/cli.pot +++ b/locale/cli.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pyload 0.4.9.9-dev\n" "Report-Msgid-Bugs-To: 'bugs@pyload.org'\n" -"POT-Creation-Date: 2013-08-09 21:59+0200\n" +"POT-Creation-Date: 2013-08-10 11:58+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/core.pot b/locale/core.pot index 9e3c3a60c..a6e5b978f 100644 --- a/locale/core.pot +++ b/locale/core.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pyload 0.4.9.9-dev\n" "Report-Msgid-Bugs-To: 'bugs@pyload.org'\n" -"POT-Creation-Date: 2013-08-09 21:59+0200\n" +"POT-Creation-Date: 2013-08-10 11:58+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/plugins.pot b/locale/plugins.pot index e1601df95..fa9d6d25a 100644 --- a/locale/plugins.pot +++ b/locale/plugins.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pyload 0.4.9.9-dev\n" "Report-Msgid-Bugs-To: 'bugs@pyload.org'\n" -"POT-Creation-Date: 2013-08-09 21:59+0200\n" +"POT-Creation-Date: 2013-08-10 11:58+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/setup.pot b/locale/setup.pot index 55de66c82..d0a724b32 100644 --- a/locale/setup.pot +++ b/locale/setup.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pyload 0.4.9.9-dev\n" "Report-Msgid-Bugs-To: 'bugs@pyload.org'\n" -"POT-Creation-Date: 2013-08-09 21:59+0200\n" +"POT-Creation-Date: 2013-08-10 11:58+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/webUI.pot b/locale/webUI.pot index 59bf98dec..cf9fe1015 100644 --- a/locale/webUI.pot +++ b/locale/webUI.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: pyload 0.4.9.9-dev\n" "Report-Msgid-Bugs-To: 'bugs@pyload.org'\n" -"POT-Creation-Date: 2013-08-09 21:59+0200\n" +"POT-Creation-Date: 2013-08-10 11:58+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -33,3 +33,103 @@ msgstr "" #: pyload/web/app/templates/default/setup.html:3 msgid "Setup" msgstr "" + +#: pyload/web/app/templates/default/accounts/actionbar.html:2 +msgid "Add Account" +msgstr "" + +#: pyload/web/app/templates/default/accounts/layout.html:2 +msgid "Accounts" +msgstr "" + +#: pyload/web/app/templates/default/dashboard/actionbar.html:9 +msgid "Local" +msgstr "" + +#: pyload/web/app/templates/default/dashboard/actionbar.html:18 +msgid "Search" +msgstr "" + +#: pyload/web/app/templates/default/dashboard/actionbar.html:26 +msgid "Type" +msgstr "" + +#: pyload/web/app/templates/default/dashboard/actionbar.html:44 +#: pyload/web/app/templates/default/dashboard/actionbar.html:49 +msgid "All" +msgstr "" + +#: pyload/web/app/templates/default/dashboard/actionbar.html:50 +msgid "Finished" +msgstr "" + +#: pyload/web/app/templates/default/dashboard/actionbar.html:51 +msgid "Unfinished" +msgstr "" + +#: pyload/web/app/templates/default/dashboard/actionbar.html:52 +msgid "Failed" +msgstr "" + +#: pyload/web/app/templates/default/dashboard/select.html:1 +msgid "1 package" +msgid_plural "%d packages" +msgstr[0] "" +msgstr[1] "" + +#: pyload/web/app/templates/default/dashboard/select.html:4 +msgid "1 file" +msgid_plural "%d files" +msgstr[0] "" +msgstr[1] "" + +#: pyload/web/app/templates/default/dialogs/addAccount.html:2 +msgid "Add an account" +msgstr "" + +#: pyload/web/app/templates/default/dialogs/addAccount.html:7 +msgid "Please enter your account data" +msgstr "" + +#: pyload/web/app/templates/default/dialogs/addPluginConfig.html:3 +msgid "Choose a plugin" +msgstr "" + +#: pyload/web/app/templates/default/dialogs/addPluginConfig.html:9 +msgid "Please choose a plugin, which you want to configure" +msgstr "" + +#: pyload/web/app/templates/default/dialogs/addPluginConfig.html:23 +#: pyload/web/app/templates/default/dialogs/linkgrabber.html:46 +msgid "Add" +msgstr "" + +#: pyload/web/app/templates/default/dialogs/addPluginConfig.html:24 +#: pyload/web/app/templates/default/dialogs/linkgrabber.html:47 +#: pyload/web/app/templates/default/dialogs/interactionTask.html:35 +msgid "Close" +msgstr "" + +#: pyload/web/app/templates/default/dialogs/confirmDelete.html:2 +msgid "Please confirm" +msgstr "" + +#: pyload/web/app/templates/default/dialogs/confirmDelete.html:5 +msgid "Do you want to delete the selected items?" +msgstr "" + +#: pyload/web/app/templates/default/dialogs/confirmDelete.html:8 +msgid "Delete" +msgstr "" + +#: pyload/web/app/templates/default/dialogs/confirmDelete.html:9 +msgid "Cancel" +msgstr "" + +#: pyload/web/app/templates/default/dialogs/interactionTask.html:34 +msgid "Submit" +msgstr "" + +#: pyload/web/app/templates/default/header/layout.html:12 +msgid "Running..." +msgstr "" diff --git a/pavement.py b/pavement.py index ff9e61a9c..d168f23bb 100644 --- a/pavement.py +++ b/pavement.py @@ -152,6 +152,8 @@ def generate_locale(): makepot("webUI", path("pyload") / "web" / "app", ["components", "vendor", "gettext"], endings=[".js", ".html"], xxargs="--language=Python --force-po".split(" ")) + makehtml("webUI", path("pyload") / "web" / "app" / "templates") + path("includes.txt").remove() print "Locale generated" @@ -332,3 +334,63 @@ def makepot(domain, p, excludes=[], includes="", endings=[".py"], xxargs=[]): with open("locale/%s.pot" % domain, "wb") as f: f.write(content) + +def makehtml(domain, p): + """ Parses entries from html and append them to existing pot file""" + + pot = path("locale") / "%s.pot" % domain + + with open(pot, 'rb') as f: + content = f.readlines() + + msgids = {} + # parse existing ids and line + for i, line in enumerate(content): + if line.startswith("msgid "): + msgid = line[6:-1].strip('"') + msgids[msgid] = i + + # TODO: parses only n=2 plural + single = re.compile(r'\{\{ ?(?:gettext|_) "((?:\\.|[^"\\])*)" ?\}\}') + plural = re.compile(r'\{\{ ?(?:ngettext) *"((?:\\.|[^"\\])*)" *"((?:\\.|[^"\\])*)"') + + for f in p.walkfiles(): + if not f.endswith("html"): continue + with open(f, "rb") as html: + for i, line in enumerate(html.readlines()): + key = None + nmessage = plural.search(line) + message = single.search(line) + if nmessage: + key = nmessage.group(1) + keyp = nmessage.group(2) + + if key not in msgids: + content.append("\n") + content.append('msgid "%s"\n' % key) + content.append('msgid_plural "%s"\n' % keyp) + content.append('msgstr[0] ""\n') + content.append('msgstr[1] ""\n') + msgids[key] = len(content) - 4 + + + elif message: + key = message.group(1) + + if key not in msgids: + content.append("\n") + content.append('msgid "%s"\n' % key) + content.append('msgstr ""\n') + msgids[key] = len(content) - 2 + + if key: + content.insert(msgids[key], "#: %s:%d\n" % (f, i)) + msgids[key] += 1 + + + with open(pot, 'wb') as f: + f.writelines(content) + + print "Parsed html files" + + diff --git a/pyload/web/app/templates/default/accounts/actionbar.html b/pyload/web/app/templates/default/accounts/actionbar.html index 239254dc1..d16f6d6e0 100644 --- a/pyload/web/app/templates/default/accounts/actionbar.html +++ b/pyload/web/app/templates/default/accounts/actionbar.html @@ -1,5 +1,5 @@ \ No newline at end of file diff --git a/pyload/web/app/templates/default/dashboard/actionbar.html b/pyload/web/app/templates/default/dashboard/actionbar.html index 341ece0bc..25b7676e5 100644 --- a/pyload/web/app/templates/default/dashboard/actionbar.html +++ b/pyload/web/app/templates/default/dashboard/actionbar.html @@ -7,7 +7,7 @@
  • @@ -16,7 +16,7 @@ @@ -24,7 +24,7 @@ - Type + {{_ "Type" }} \ No newline at end of file diff --git a/pyload/web/app/templates/default/dialogs/addAccount.html b/pyload/web/app/templates/default/dialogs/addAccount.html index bdc8a609a..ff4851d1d 100755 --- a/pyload/web/app/templates/default/dialogs/addAccount.html +++ b/pyload/web/app/templates/default/dialogs/addAccount.html @@ -1,11 +1,11 @@