私はオランダ語で書かれたウェブサイトを持っています。今私はフランス語であるそのウェブサイトのための第二言語を提供しなければならない。Django:default language i18n
翻訳する必要があるすべてのテキストをgettext関数で囲み、poファイルを作成し、moファイルにコンパイルしました。また、django_languageセッションを適切な言語コードに設定するビューを作成しました。だから今フランス語版は動作していますが、私はオランダ語版に戻すことはできません。
だから、オランダ版のpo/moファイルも作成する必要がありますか? gettextを過ぎているテキストはすでにdutchに入っています。 'デフォルトのテキスト'を使用する方法はありますか?
これは私が私のセッションに言語コードを追加するために使用する図である。
私は、次のURLを使用私のテンプレートで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を使用しています。セッションを私の質問に変更するビューを追加します。 – Pickels