當前位置: 首頁>>代碼示例>>Python>>正文


Python translation.Translator類代碼示例

本文整理匯總了Python中r2.lib.translation.Translator的典型用法代碼示例。如果您正苦於以下問題:Python Translator類的具體用法?Python Translator怎麽用?Python Translator使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


在下文中一共展示了Translator類的9個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。

示例1: POST_edit

    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
開發者ID:xolar,項目名稱:proddit,代碼行數:60,代碼來源:i18n.py

示例2: GET_edit

 def GET_edit(self, lang):
     if not lang and c.user_is_admin:
         content = Wrapped(TranslatorTemplate())
     elif Translator.exists(lang):
         content = Wrapped(get_translator(locale=lang))
     else:
         content = UnfoundPage()
     res = AdminPage(content=content, title="translate proddit", show_sidebar=False).render()
     return res
開發者ID:xolar,項目名稱:proddit,代碼行數:9,代碼來源:i18n.py

示例3: POST_adduser

    def POST_adduser(self, lang, a):
        from r2.lib.db import queries
        if a and Translator.exists(lang):
            tr = get_translator(locale = lang)
            tr.author.add(a.name)
            tr.save()

            # send the user a message
            body = Translator_Message(lang, a).render("html")
            subject = "Thanks for offering to help translate!"
            m, inbox_rel = Message._new(c.user, a, subject, body, request.ip)
            queries.new_message(m, inbox_rel)

        return self.redirect("/admin/i18n")
開發者ID:constantAmateur,項目名稱:sciteit,代碼行數:14,代碼來源:i18n.py

示例4: run

 def run(self, param):
     from r2.lib.translation import Translator
     if Translator.exists(param):
         return Translator(locale = param)
開發者ID:jaycobcoleman,項目名稱:reddit,代碼行數:4,代碼來源:validator.py

示例5: POST_new

 def POST_new(self, lang):
     if lang and not Translator.exists(lang):
         tr = get_translator(locale = lang)
         tr.save()
     return self.redirect("/admin/i18n")
開發者ID:constantAmateur,項目名稱:sciteit,代碼行數:5,代碼來源:i18n.py

示例6: run

 def run(self, lang):
     if (not c.user_is_admin and
         (not c.user_is_loggedin or not lang or
          c.user.name not in Translator.get_author(lang))):
         abort(404, 'page not found')
開發者ID:constantAmateur,項目名稱:sciteit,代碼行數:5,代碼來源:i18n.py

示例7: POST_enable_lang

 def POST_enable_lang(self, res, lang):
     if lang and Translator.exists(lang):
         tr = Translator(locale = lang)
         tr._is_enabled = True
開發者ID:cmak,項目名稱:reddit,代碼行數:4,代碼來源:api.py

示例8: POST_deltranslator

 def POST_deltranslator(self, res, l):
     lang, a = l.split('_')
     if a and Translator.exists(lang):
         tr = Translator(locale = lang)
         tr.author.remove(a)
         tr.save()
開發者ID:cmak,項目名稱:reddit,代碼行數:6,代碼來源:api.py

示例9: POST_adduser

 def POST_adduser(self, lang, a):
     if a and Translator.exists(lang):
         tr = get_translator(locale = lang)
         tr.author.add(a.name)
         tr.save()
     return self.redirect("/admin/i18n")
開發者ID:kevinrose,項目名稱:diggit,代碼行數:6,代碼來源:i18n.py


注:本文中的r2.lib.translation.Translator類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。