【发布时间】:2011-04-28 08:51:50
【问题描述】:
我有一个用荷兰语编写的网站。现在我必须为该网站提供第二种语言,即法语。
所以我用 gettext 函数包围了所有需要翻译的文本,创建了 po 文件并将它们编译为 mo 文件。我还创建了一个视图,将 django_language 会话设置为适当的语言代码。所以现在法语版本可以工作,但我不能切换回荷兰语版本。
所以我想知道我是否还需要为荷兰语版本创建一个 po/mo 文件?过去 gettext 的文本已经是荷兰语。有没有办法说使用“默认文本”?
这是我用来将语言代码添加到会话中的视图:
class LanguagePickerView(RedirectView):
url = '/'
def get(self,request,*args, **kwargs):
request.session['django_language'] = self.kwargs.get('language')
return super(LanguagePickerView, self).get(request, args, kwargs)
在我的模板中,我使用以下网址:
<a href='{% url web-language 'nl-nl' %}'>NL</a>
<a href='{% url web-language 'fr' %}'>fr</a>
【问题讨论】:
-
我认为你不能切换回荷兰语与你的语言环境文件无关,而与你改变语言的方式(视图、中间件)有关?你能提供更多的细节吗?关于您的问题:不,您不需要为您编写可翻译字符串的语言提供语言环境文件。
-
我正在使用 django.middleware.locale.LocaleMiddleware。我会将更改会话的视图添加到我的问题中。
标签: django localization