def POST_edit(self, lang, post, try_trans): if (lang and not Translator.exists(lang)): return self.redirect('/admin/i18n') if lang: tr = get_translator(locale=lang) else: tr = TranslatorTemplate() enabled = set() for k, val in request.post.iteritems(): if k.startswith('trans_'): k = k.split('_') # check if this is a translation string if k[1:] and tr.get(k[1]): tr.set(k[1], val, indx=int(k[2] if k[2:] else -1)) # check if this is an admin editing the source/comment lines elif c.user_is_admin and tr.sources.get(k[1]): source = tr.sources.get(k[1]) tr.source_trans[source] = val elif c.user_is_admin and k.startswith('enabled_'): k = k.split('_') enabled.add(k[1]) # update the enabled state of the buttons if c.user_is_admin and enabled: strings = set(tr.string_dict.keys()) disabled = strings - enabled for s in strings: tr.set_enabled(s, True) for s in disabled: tr.set_enabled(s, False) if request.post.get('nplurals'): try: tr.plural_names = [request.post.get('pluralform_%d' % i) \ for i in xrange(tr.nplurals)] tr.nplurals = int(request.post.get('nplurals')) except ValueError: pass if request.post.get('langname'): tr.name = request.post['langname'] if request.post.get('enlangname'): tr.en_name = request.post['enlangname'] tr.save(compile=bool(try_trans)) if try_trans: tran_keys = _translations.keys() for key in tran_keys: if key.endswith(tr._out_file('mo')): del _translations[key] return self.redirect("http://%s/?lang=%s" % (g.domain, lang)) whereto = request.post.get('bttn_num', '') if whereto: whereto = 'bttn_num_%s' % whereto return self.redirect("/admin/i18n/edit/%s#%s" % (lang or '', whereto)) return res
def POST_edit(self, lang, post, try_trans): if lang and not Translator.exists(lang): return self.redirect("/admin/i18n") if lang: tr = get_translator(locale=lang) else: tr = TranslatorTemplate() enabled = set() for k, val in request.post.iteritems(): if k.startswith("trans_"): k = k.split("_") val = val.replace("\n", " ").replace("\r", " ") # check if this is a translation string if k[1:] and tr.get(k[1]): tr.set(k[1], val, indx=int(k[2] if k[2:] else -1)) # check if this is an admin editing the source/comment lines elif c.user_is_admin and tr.sources.get(k[1]): source = tr.sources.get(k[1]) tr.source_trans[source] = val elif c.user_is_admin and k.startswith("enabled_"): k = k.split("_") enabled.add(k[1]) # update the enabled state of the buttons if c.user_is_admin and enabled: strings = set(tr.string_dict.keys()) disabled = strings - enabled for s in strings: tr.set_enabled(s, True) for s in disabled: tr.set_enabled(s, False) if request.post.get("nplurals"): try: tr.plural_names = [request.post.get("pluralform_%d" % i) for i in xrange(tr.nplurals)] tr.nplurals = int(request.post.get("nplurals")) except ValueError: pass if request.post.get("langname"): tr.name = request.post["langname"] if request.post.get("enlangname"): tr.en_name = request.post["enlangname"] tr.save(compile=bool(try_trans)) if try_trans: tran_keys = _translations.keys() for key in tran_keys: if key.endswith(tr._out_file("mo")): del _translations[key] return self.redirect("http://%s/?lang=%s" % (g.domain, lang)) whereto = request.post.get("bttn_num", "") if whereto: whereto = "bttn_num_%s" % whereto return self.redirect("/admin/i18n/edit/%s#%s" % (lang or "", whereto)) return res
def GET_try(self, lang): if lang: tr = get_translator(locale=lang) tr.save(compile=True) tran_keys = _translations.keys() for key in tran_keys: if key.endswith(tr._out_file('mo')): del _translations[key] return self.redirect("http://%s.%s/" % (lang, g.domain)) return abort(404, 'page not found')
def GET_try(self, lang, numbers): if lang: tr = get_translator(locale=lang) tr.save(compile=True, include_index=numbers) tran_keys = _translations.keys() for key in tran_keys: if key.endswith(tr._out_file("mo")): del _translations[key] return self.redirect("http://%s.%s/" % (lang, g.domain)) return abort(404, "page not found")
def GET_try(self, lang): if lang: tr = get_translator(locale = lang) tr.save(compile=True) tran_keys = _translations.keys() for key in tran_keys: if key.endswith(tr._out_file('mo')): del _translations[key] return self.redirect("http://%s.%s/" % (lang, c.domain)) return abort(404, 'page not found')