我们可以在webapp2中用i18n进行全局设置吗?

2024-09-30 04:31:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个类别列表,我想把它和i18n一起使用,这样我就可以根据区域设置更改语言。在

我的python代码如下:

from webapp2_extras import i18n

category_list = {}
category_list['bikes'] = {'value': i18n.gettext('CATEGORY_BIKES')}

class CategoriesHandler(BaseHandler):
    """List categories"""
    def get(self, **kwargs):
        """List all categories"""
        self.response.write(self.json_output(category_list))

它会导致错误:

^{pr2}$

但是,如果我把category_list移到类get方法中,一切都会好起来的。在

class CategoriesHandler(BaseHandler):
    """List categories"""
    def get(self, **kwargs):
        """List all categories"""
        category_list = {}
        category_list['bikes'] = {'value': i18n.gettext('CATEGORY_BIKES')}
        self.response.write(self.json_output(category_list))
        pass

问题是我需要将category\u list分离到另一个配置文件中,这样我就可以轻松地维护我的代码了。有什么办法解决这个问题吗?谢谢!在


Tags: 代码selfgetvaluelistclassi18ncategories
1条回答
网友
1楼 · 发布于 2024-09-30 04:31:20

改为尝试gettext_lazy,直到稍后(当您还知道要翻译为哪种语言时),它才执行实际的翻译查找。在

一个很常见的惯例是

from webapp2_extras.i18n import _lazy as _
category_list['bikes'] = {'value': _('CATEGORY_BIKES')}

相关问题 更多 >

    热门问题