The goal of internationalization and localization is to allow a single web application to offer its content in languages and formats tailored to the audience.
Django は テキスト翻訳 、日時と数字の表示形式 、タイムゾーン をフルサポートしています。
Django は、本質的には以下の2つを行います:
翻訳は対象の言語により、表示形式は対象の国によります。これらの情報は、ブラウザによって Accept-Language
ヘッダにて提供されます。ただし、タイムゾーンは簡単には利用できません。
「国際化 (internationalization) 」と「ローカル化 (localization) 」という言葉は混乱を招くことがあるため、ここで簡単に定義しておきます:
より詳しくは、W3C Web Internationalization FAQ、Wikipedia article、GNU gettext documentation をご覧ください。
警告
翻訳と表示形式は、それぞれ USE_I18N
と USE_L10N
設定によって制御されますが、どちらも国際化とローカル化を含んでいます。この設定名は Django の歴史における不幸な出来事の 1 つです。
その他、私たちが共通の言葉を使うにあたり、いくつかの専門用語が手助けとなるでしょう:
ll
or a
combined language and country specification of the form ll_CC
.
Examples: it
, de_AT
, es
, pt_BR
, sr_Latn
. The language
part is always in lowercase. The country part is in titlecase if it has
more than 2 characters, otherwise it's in uppercase. The separator is an
underscore.Accept-Language
HTTPヘッダの中でこの表示形式を使って表示可能な言語名を通知します。 例えば it
、 de-at
、 es
、 pt-br
が該当します。言語コードは、一般的に小文字で表されますが、HTTP の Accept-Language
ヘッダーは大文字・小文字を区別しません。区切り文字はダッシュ (-) です。.po
です。2022年6月01日