Django1.8 i18n 中文转英文不起作用

2018-12-13 20:13:28 +08:00
 fxxkgw

部分返回数据要由中文转英文,使用了 django 的 i18n 模块。

django:1.8
python:2.7.5

settings 里设置的地方有:

MIDDLEWARE_CLASSES:

'django.middleware.security.SecurityMiddleware', 
'django.contrib.sessions.middleware.SessionMiddleware', 
'django.middleware.locale.LocaleMiddleware',  # 新加 

TEMPLATES: 'django.template.context_processors.i18n',

LANGUAGES = ( ('en', 'English'), ('zh-hans', u'中文简体'), )

LOCALE_PATHS = ( SITE_ROOT + '/locale', # SITE_ROOT 为项目路径 )

LANGUAGE_CODE = 'en'

USE_I18N = True

USE_L10N = True

然后使用 python manage.py makemessages --local=en 生成 po 文件,修改要转译的部分。如:

msgid "世界"
msgstr "world"

最后,python manage.py compilemessages --local=en 生成 mo 文件。

views.py 里添加:

from django.utils.translation import gettext as _

msg = _("世界")
return HttpResponse(msg, status=200)

浏览器设置为英文模式,但返回的还是 世界,并不是 world。。

希望能得到一些指点,还需要什么信息我再添加。

1949 次点击
所在节点    Django
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/517334

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX