diff options
author | RaNaN <Mast3rRaNaN@hotmail.de> | 2013-08-10 11:59:53 +0200 |
---|---|---|
committer | RaNaN <Mast3rRaNaN@hotmail.de> | 2013-08-10 11:59:53 +0200 |
commit | 6bb376d57d4a5f8ed0e54039ffefa94ea5e61baf (patch) | |
tree | f2e665e15c7d169205f56dc88f4849cfffcb489a | |
parent | new account page layout, added translations for webui (diff) | |
download | pyload-6bb376d57d4a5f8ed0e54039ffefa94ea5e61baf.tar.xz |
parse string from template files, added some translations for webu
-rw-r--r-- | locale/cli.pot | 2 | ||||
-rw-r--r-- | locale/core.pot | 2 | ||||
-rw-r--r-- | locale/plugins.pot | 2 | ||||
-rw-r--r-- | locale/setup.pot | 2 | ||||
-rw-r--r-- | locale/webUI.pot | 102 | ||||
-rw-r--r-- | pavement.py | 62 | ||||
-rw-r--r-- | pyload/web/app/templates/default/accounts/actionbar.html | 2 | ||||
-rw-r--r-- | pyload/web/app/templates/default/dashboard/actionbar.html | 16 | ||||
-rwxr-xr-x | pyload/web/app/templates/default/dialogs/addAccount.html | 4 | ||||
-rwxr-xr-x | pyload/web/app/templates/default/dialogs/addPluginConfig.html | 8 | ||||
-rw-r--r-- | pyload/web/app/templates/default/dialogs/confirmDelete.html | 8 | ||||
-rwxr-xr-x | pyload/web/app/templates/default/dialogs/interactionTask.html | 4 | ||||
-rwxr-xr-x | pyload/web/app/templates/default/dialogs/linkgrabber.html | 4 | ||||
-rw-r--r-- | pyload/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 <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\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 <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\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 <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\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 <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\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 <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\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 @@ <ul class="actionbar nav span8 offset3"> <li> - <button class="btn btn-small btn-blue btn-add">Add Account</button> + <button class="btn btn-small btn-blue btn-add">{{ _ "Add Account" }}</button> </li> </ul>
\ 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 @@ <li> <ul class="breadcrumb"> - <li><a href="#">Local</a> <span class="divider">/</span></li> + <li><a href="#">{{_ "Local"}}</a> <span class="divider">/</span></li> <li class="active"></li> </ul> </li> @@ -16,7 +16,7 @@ <form class="form-search" action="#"> <div class="input-append"> <input type="text" class="search-query" style="width: 120px"> - <button type="submit" class="btn">Search</button> + <button type="submit" class="btn">{{ _ "Search" }}</button> </div> </form> </li> @@ -24,7 +24,7 @@ <a class="dropdown-toggle type" data-toggle="dropdown" href="#"> - Type + {{_ "Type" }} <b class="caret"></b> </a> <ul class="dropdown-menu"> @@ -42,15 +42,15 @@ data-toggle="dropdown" href="#"> <span class="state"> - All + {{ _ "All" }} </span> <b class="caret"></b> </a> <ul class="dropdown-menu"> - <li><a class="filter-state" data-state="0" href="#">All</a></li> - <li><a class="filter-state" data-state="1" href="#">Finished</a></li> - <li><a class="filter-state" data-state="2" href="#">Unfinished</a></li> - <li><a class="filter-state" data-state="3" href="#">Failed</a></li> + <li><a class="filter-state" data-state="0" href="#">{{ _ "All" }}</a></li> + <li><a class="filter-state" data-state="1" href="#">{{ _ "Finished" }}</a></li> + <li><a class="filter-state" data-state="2" href="#">{{ _ "Unfinished" }}</a></li> + <li><a class="filter-state" data-state="3" href="#">{{ _ "Failed" }}</a></li> </ul> </li> </ul>
\ 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 @@ <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> - <h3>Add an account</h3> + <h3>{{_ "Add an account" }}</h3> </div> <div class="modal-body"> <form class="form-horizontal" autocomplete="off"> <legend> - Please enter your account data + {{_ "Please enter your account data" }} </legend> <div class="control-group"> <label class="control-label" for="pluginSelect"> diff --git a/pyload/web/app/templates/default/dialogs/addPluginConfig.html b/pyload/web/app/templates/default/dialogs/addPluginConfig.html index e7a42a208..815a704f7 100755 --- a/pyload/web/app/templates/default/dialogs/addPluginConfig.html +++ b/pyload/web/app/templates/default/dialogs/addPluginConfig.html @@ -1,13 +1,13 @@ <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> <h3> - Choose a plugin + {{_ "Choose a plugin" }} </h3> </div> <div class="modal-body"> <form class="form-horizontal"> <legend> - Please choose a plugin, which you want to configure + {{_ "Please choose a plugin, which you want to configure" }} </legend> <div class="control-group"> <label class="control-label" for="pluginSelect"> @@ -21,6 +21,6 @@ </form> </div> <div class="modal-footer"> - <a class="btn btn-success btn-add">Add</a> - <a class="btn btn-close">Close</a> + <a class="btn btn-success btn-add">{{_ "Add"}}</a> + <a class="btn btn-close">{{_ "Close"}}</a> </div>
\ No newline at end of file diff --git a/pyload/web/app/templates/default/dialogs/confirmDelete.html b/pyload/web/app/templates/default/dialogs/confirmDelete.html index 65ae1cb21..a12c5f326 100644 --- a/pyload/web/app/templates/default/dialogs/confirmDelete.html +++ b/pyload/web/app/templates/default/dialogs/confirmDelete.html @@ -1,11 +1,11 @@ <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> - <h3>Please confirm</h3> + <h3>{{_ "Please confirm"}}</h3> </div> <div class="modal-body"> - Do you want to delete the selected items? + {{_ "Do you want to delete the selected items?"}} </div> <div class="modal-footer"> - <a class="btn btn-danger btn-confirm"><i class="icon-trash icon-white"></i> Delete</a> - <a class="btn btn-close">Cancel</a> + <a class="btn btn-danger btn-confirm"><i class="icon-trash icon-white"></i> {{_ "Delete"}}</a> + <a class="btn btn-close">{{_ "Cancel"}}</a> </div>
\ No newline at end of file diff --git a/pyload/web/app/templates/default/dialogs/interactionTask.html b/pyload/web/app/templates/default/dialogs/interactionTask.html index a152a5046..722d43365 100755 --- a/pyload/web/app/templates/default/dialogs/interactionTask.html +++ b/pyload/web/app/templates/default/dialogs/interactionTask.html @@ -32,6 +32,6 @@ </form> </div> <div class="modal-footer"> - <a class="btn btn-success">Submit</a> - <a class="btn btn-close">Close</a> + <a class="btn btn-success">{{_ "Submit"}}</a> + <a class="btn btn-close">{{_ "Close"}}</a> </div>
\ No newline at end of file diff --git a/pyload/web/app/templates/default/dialogs/linkgrabber.html b/pyload/web/app/templates/default/dialogs/linkgrabber.html index 08418cf03..8d90131ac 100755 --- a/pyload/web/app/templates/default/dialogs/linkgrabber.html +++ b/pyload/web/app/templates/default/dialogs/linkgrabber.html @@ -44,6 +44,6 @@ </div> <div class="modal-footer"> - <a class="btn btn-success"><i class="icon-plus icon-white"></i> Add</a> - <a class="btn btn-close">Close</a> + <a class="btn btn-success"><i class="icon-plus icon-white"></i> {{_ "Add"}}</a> + <a class="btn btn-close">{{_ "Close"}}</a> </div>
\ No newline at end of file diff --git a/pyload/web/app/templates/default/header/layout.html b/pyload/web/app/templates/default/header/layout.html index 14a7f0424..30df742fa 100644 --- a/pyload/web/app/templates/default/header/layout.html +++ b/pyload/web/app/templates/default/header/layout.html @@ -10,7 +10,7 @@ <div class="arrow"></div> <div class="popover-inner"> <h3 class="popover-title"> - Running... + {{_ "Running..."}} <button type="button" class="close" aria-hidden="true">×</button> </h3> <div class="popover-content"> |