2017-10-03 12 views
1

私はDjangoの国際化を使用しており、get_current_language呼び出しを使用して現在の言語を取得しています。ただし、これは言語コードと地域コード(例:en-gb)ですが、言語コード(例:en)のみが必要です。get_current_languageから2文字の言語コードを取得する

2文字の言語コードはどうすれば入手できますか?

答えて

0

ダッシュで簡単に分割できます。

https://docs.djangoproject.com/en/1.11/topics/i18n/translation/#how-django-discovers-language-preference

基本言語が利用可能ですが、指定された副言語ではない場合は、Djangoは基本言語を使用しています。例えば、ユーザがde-at(オーストリア語のドイツ語)を指定しても、Djangoが利用可能である場合、Djangoはdeを使います。

+0

私はテンプレートにダッシュで分割するにはどうすればよいですか? –

+0

フィルタを作成しない限り、できません。しかし、なぜあなたはテンプレートの言語を知る必要がありますか? –

+0

@BrianH。言語選択ドロップダウンリストで現在の言語を選択する –

0

この種の拡張は、@ mccainzの答えを拡張します。

documented here

@register.filter 
def country_only(value): 
    return value[0:value.find("-")] 

使用法なように、私は、カスタムテンプレートフィルタを作成提案:

{{lang|country_only}} 
関連する問題