Django未加载正确的语言环境文件

Django未加载正确的语言环境文件

问题描述:

我在加载正确的翻译(.po/.mo)文件时遇到了Django问题。Django未加载正确的语言环境文件

我知道我的翻译正在工作,因为当我将LANGUAGE_CODE更改为'fr'时,我可以看到我的字符串被翻译。

LANGUAGE_CODE = 'nl' 

LANGUAGES = (
    ('nl', 'Nederlands'), 
    ('fr', 'Frans'), 
) 

LOCALE_PATHS = [ 
    os.path.join(BASE_DIR, 'locale'), 
] 

TIME_ZONE = 'UTC' 

USE_I18N = True 

但是,当我把我的翻译使用i18n_patternsurls.py当我访问它不加载我的法语(FR)翻译:127.0.0.1:8000/fr/about/它仍然加载荷兰语(NL)值。

有趣的是,当我访问127.0.0.1:8000/fr/admin/我可以看到它加载法国管理值,当我访问127.0.0.1:8000/nl/admin/它加载荷兰的......我一定是做错了什么。

urls.py

urlpatterns = i18n_patterns(
    url(r'^$', 'homepage.views.index', name="homepage"), 
    url(r'^i18n/', include('django.conf.urls.i18n')), 
    url(r'^contact/', 'homepage.views.contact_us', name="contact"), 
    url(r'^about/', 'homepage.views.about', name="about"), 
    url(r'^admin/', include(admin.site.urls)), 
    url(r'^jobs/', include(job_urls)), 
    url(r'^news/', include(news_urls)), 
    url(r'^search/', include('haystack.urls')), 
    url(r'^content/(?P<slug>[^\.]+)', 'homepage.views.content', name="view_content"), 
) + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) 
+0

您是否翻译过有关该网站的问题? – Jingo

+0

你是什么意思? –

+0

请发布相应的urls.py文件。 – Jingo

您需要import ugettext_lazy as _在models.py和forms.py,而不是常规的ugettextugettext将评估导入过程中的翻译,此时它除了使用默认语言之外别无选择; ugettext_lazy将在渲染时评估,此时它具有可用的正确语言信息。

+0

这样做的窍门,谢谢! –