使用 USE_I18N = False 的 Django CMS

Posted

技术标签:

【中文标题】使用 USE_I18N = False 的 Django CMS【英文标题】:Djando CMS with USE_I18N = False 【发布时间】:2014-10-10 01:12:03 【问题描述】:

我有一个俄语的 Django-CMS 项目。我想禁用 url 本地化和语言切换器。我可以通过设置USE_I18N = False 做到这一点。它有效,但是......模板翻译变成了英语,而不是俄语。我的用户有 ru 语言和 django 设置看起来像

LANGUAGE_CODE = 'ru'
LANGUAGES = (
    ('ru', gettext('ru')),
)

如何强制工具栏和其他模板使用我的默认语言?

【问题讨论】:

Django==1.6.5, django-cms==3.0.3 【参考方案1】:

删除 LanguageCookieMiddleware。

【讨论】:

【参考方案2】:

这是我对 Django 本地化工作原理的不好理解

https://docs.djangoproject.com/en/1.6/topics/i18n/#definitions

“国际化”和“本地化”这两个词往往会导致 困惑;这是一个简化的定义:

国际化 准备软件进行本地化。通常 由开发人员完成。 本地化 编写翻译和本地化 格式。通常由翻译人员完成。

关于设置变量名的警告

翻译和格式由 USE_I18N 和 USE_L10N 控制 分别设置。但是,这两个功能都涉及 国际化和本地化。设置的名称是 Django 历史的不幸结果。

因此,如果您关闭 i18n,您的网络应用程序将不会被翻译

https://docs.djangoproject.com/en/1.6/ref/settings/#std:setting-USE_I18N

如果设置为 False,Django 会做一些优化,以免 加载翻译机器。

要禁用本地化网址,请编辑您的 urls.py 以使用 django.conf.urls.patterns 而不是 django.conf.urls.i18n.i18n_patternsCaptain Obvious 说。

【讨论】:

以上是关于使用 USE_I18N = False 的 Django CMS的主要内容,如果未能解决你的问题,请参考以下文章

dj重新学习 Xadmin 创建

Django基础

djangodrf相关配置

Django setting配置

python之路--web--2--Django-5-时区

django特殊的标签和过滤器