2016-04-03 3 views
1

を働いていない私はMIDDLEWARE_CLASSESにdjango.middleware.locale.LocaleMiddlewareを追加した、と私は、これは無関係であるほぼ一定だけど、念のために私はまた、urlpatternsにurl(r'^i18n/', include('django.conf.urls.i18n'))を追加しました。get_current_language_bidiは、私がcontext_processorsに<code>django.template.context_processors.i18n</code>、 を追加した期待通り

.poファイルが正常に作成され、.moファイルがコンパイルされ、変換された文字列が正しく読み込まれています。

私は次のコードを実行したときただし、:

{% extends "page.html" %} 
{% load i18n %} 
{% get_current_language as LANGUAGE_CODE %} 
{% get_current_language_bidi as LANGUAGE_BIDI %} 
{% block title %}{% trans "translation test" %}{% endblock %} 
{% block page_main_content %} 
<div id="some-text"> 
    <ul> 
     <li>The current language is <b>{{ LANGUAGE_CODE }}</b></li> 
     {% if LANGUAGE_BIDI %} 
     <li>The current language is bidirectional</li> 
     {% else %} 
     <li>The current language is <b>not</b> bidirectional</li> 
     {% endif %} 
    </ul> 
</div> 
{% endblock %} 

を私は何を得ることである:

  • 現在の言語がhe_IL
  • ある現在の言語が双方向
  • ではありません

私は何かを間違ってインポートしているとか設定ミスをしていると思われますが、get_current_languageは正常に動作しています。では、なぜdjangoがget_current_language_bidiのFalseを間違って返すのですか?

答えて

1

あなたの言語設定のソースに何か問題があると思います。 the documentationによれば、予想されるセパレータはダッシュです。だからDjangoはhe_ILが不明な言語だと思うかもしれません。そのようなフラグはデフォルトでは双方向ではありません。

find out where this locale comes fromを入力し、he_ILの代わりにhe-ilまたはheを入力してください。