私はDjangoの国際化を使用しており、get_current_language
呼び出しを使用して現在の言語を取得しています。ただし、これは言語コードと地域コード(例:en-gb
)ですが、言語コード(例:en
)のみが必要です。get_current_languageから2文字の言語コードを取得する
2文字の言語コードはどうすれば入手できますか?
私はDjangoの国際化を使用しており、get_current_language
呼び出しを使用して現在の言語を取得しています。ただし、これは言語コードと地域コード(例:en-gb
)ですが、言語コード(例:en
)のみが必要です。get_current_languageから2文字の言語コードを取得する
2文字の言語コードはどうすれば入手できますか?
ダッシュで簡単に分割できます。
基本言語が利用可能ですが、指定された副言語ではない場合は、Djangoは基本言語を使用しています。例えば、ユーザがde-at(オーストリア語のドイツ語)を指定しても、Djangoが利用可能である場合、Djangoはdeを使います。
この種の拡張は、@ mccainzの答えを拡張します。
@register.filter
def country_only(value):
return value[0:value.find("-")]
使用法なように、私は、カスタムテンプレートフィルタを作成提案:
{{lang|country_only}}
私はテンプレートにダッシュで分割するにはどうすればよいですか? –
フィルタを作成しない限り、できません。しかし、なぜあなたはテンプレートの言語を知る必要がありますか? –
@BrianH。言語選択ドロップダウンリストで現在の言語を選択する –