request.LANGUAGE_CODE
ユーザーが選択した言語を教えてください。en
英語やde
ドイツ語 など。
しかし、カルチャ コードを取得するにはどうすればよいでしょうか。GB
イギリス英語やアメリカ英語などus
は?
どうもありがとう、
request.LANGUAGE_CODE
ユーザーが選択した言語を教えてください。en
英語やde
ドイツ語 など。
しかし、カルチャ コードを取得するにはどうすればよいでしょうか。GB
イギリス英語やアメリカ英語などus
は?
どうもありがとう、
ありrequest.META['HTTP_ACCEPT_LANGUAGE']
ます。ただし、これはクライアント (通常は Web ブラウザー) によって設定されるため、場合によっては正しく設定されないか、正しく設定されない可能性があります。唯一確実な方法は、ユーザーに好みの言語を選択してもらい、その設定を使用することです。ただし、サイトが適切な言語であることは重要ではなく、ユーザーが介入しなくても「そのまま機能する」ようにしたい場合は、HTTP_ACCEPT_LANGUAGE ヘッダーを使用しても問題ありません。2 つのアプローチを組み合わせて、ユーザーが検出された言語とは異なる言語を好む場合に切り替えられるようにすることもできます。
Django i18nコンテキストプロセッサ( "django.core.context_processors.i18n")は、言語設定をコンテキストに追加します。これにより、次のようなことができます。
<form action="{% url 'set_language' %}" method="post">
{% csrf_token %}
<input name="next" type="hidden" value="{{ redirect_to }}" />
<select name="language">
{% get_language_info_list for LANGUAGES as languages %}
{% for language in languages %}
<option value="{{ language.code }}">{{ language.name_local }} ({{ language.code }})</option>
{% endfor %}
</select>
<input type="submit" value="Go" />
</form>
https://docs.djangoproject.com/en/dev/topics/i18n/translation/#django.conf.urls.i18n.set_language
方言を追加することも有効です。たとえば、次の投稿をご覧ください。