Django的国际化
本章节包含了DjangoCMS的国际化设置,所以放在了这里,其主要部分还只是Django的国际化
from django.utils.translation import ugettext_lazy as _ MIDDLEWARE_CLASSES =( ... 'dngo.middleware.locale.LocaleMiddleware', ) LANGUAGE_CODE ='zh-hans' TIME_ZONE ='UTC' USE_I18N =True USE_L10N =True USE_TZ =True LANGUAGES =( ('zh-hans', _('Simplified Chinese')), ('zh', _('zh')), ('en', gettext('en')), ('zh-Hant',_('中文繁體')), ) #翻译文件所在目录,需要手工创建 LOCALE_PATHS =( os.path.join(BASE_DIR, 'locale'), ) TEMPLATE_CONTEXT_PROCESSORS =( ... "django.core.context_processors.i18n", )CMS_LANGUAGES = { ## Customize this 1: [ { 'code': 'zh-hans', 'name': _('Simplified Chinese'), 'redirect_on_fallback': False, 'public': True, 'hide_untranslated': False, # 'fallbacks': ['zh','en','de', 'fr', 'nl'], }, { 'code': 'zh', 'name': _('zh'), 'redirect_on_fallback': True, 'public': True, 'hide_untranslated': True, 'fallbacks': ['zh-hans'], }, { 'code': 'en', 'name': gettext('English'), 'redirect_on_fallback': True, 'public': False, 'hide_untranslated': True, 'fallbacks': ['zh-hans','zh'], }, ], 2: [ # 这部分可以省略 { 'code': 'de', 'name': 'CMS:' + gettext('Deutsch'), 'redirect_on_fallback': True, 'public': True, 'hide_untranslated': True, 'fallbacks': ['zh-hans', 'en'], }, { 'code': 'fr', 'name': 'CMS:' + gettext('French'), 'redirect_on_fallback': True, 'public': True, 'hide_untranslated': True, 'fallbacks': ['zh-hans', 'en'], }, ], 'default': { 'redirect_on_fallback': True, 'public': True, 'hide_untranslated': True, 'fallbacks': ['zh-hans'], # 'code': 'zh-hans', # 'name': gettext('Chinese'), }, } # for aldryn_newsblog PARLER_LANGUAGES = { None:( {'code': 'zh-hans'}, {'code': 'zh'}, {'code': 'en'}, ), 'default':{ 'fallback':'zh-hans', 'hide_untranslated':True, } } PARLER_DEFAULT_LANGUAGE_CODE = 'zh-hans'urlpatterns = [ ... path("i18n/", include("django.conf.urls.i18n")), ... ] urlpatterns += i18n_patterns( ... )
最后更新于