pot_views.py 文件源码

python
阅读 24 收藏 0 点赞 0 评论 0

项目:pyramid_i18n_helper 作者: sahama 项目源码 文件源码
def __init__(self, context, request: Request):
        self.request = request
        self.context = context
        self.domain = request.matchdict['domain']
        _ = request.translate

        self.helper = request.registry['i18n_helper']

        self.pot = polib.pofile(
            os.path.join(self.helper.locale_dir, '{0}.pot'.format(self.domain)),
            encoding='UTF-8'
        )



        # LANG FORM
        langs_dir = self.helper.locale_dir
        created_langs_choices = []
        for lang in os.listdir(langs_dir):
            if os.path.isdir(os.path.join(langs_dir, lang)):
                lang_locale = babel.Locale(*babel.parse_locale(lang))
                created_langs_choices.append(
                    (lang , '{en_name}/{display_name}'.format(
                        en_name=lang_locale.english_name,
                        display_name=lang_locale.display_name )
                    )
                )

        available_langs_choices = sorted(locale.locale_alias)

        class NewLang(colander.Schema):
            new_lang = colander.SchemaNode(colander.String(),
                                           widget=deform.widget.AutocompleteInputWidget(values=available_langs_choices,
                                                                                        min_length=0),
                                           title=_("i18n_new_lang", domain='i18n_helper'))

        class SelectLang(colander.Schema):
            select_lang = colander.SchemaNode(colander.String(),
                                           widget=deform.widget.SelectWidget(values=created_langs_choices),
                                           title=_("i18n_select_lang", domain='i18n_helper'))

        def validator(node, appstruct):
            return True

        schema = NewLang(validator=validator)
        schema = schema.bind(request=self.request)
        self.new_lang_form = deform.Form(schema,
                                         use_ajax=False,
                                         action=self.request.route_url('i18n_helper.pot', domain=self.domain))
        self.new_lang_form.buttons.append(deform.Button(name='submit', title=_('i18n_new_lang_submit', domain='i18n_helper')))

        schema = SelectLang(validator=validator)
        schema = schema.bind(request=self.request)
        self.select_lang_form = deform.Form(schema,
                                            use_ajax=False,
                                            action=self.request.route_url('i18n_helper.pot', domain=self.domain))
        self.select_lang_form.buttons.append(deform.Button(name='submit', title=_('i18n_select_lang_submit', domain='i18n_helper')))

        # MSG FORM
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号