2013-10-27 16 views
7

私はfollow the guideにしようとしましたが、十分明確ではありません。Django JavaScriptが正しく動作しません

django-admin.py makemessages -d djangojs -l fr 

root_folder/locale/fr/LC_MESSAGESdjango.po & djangojs.poalert(gettext('this is to be translated'));でが含まれています。

  1. 私は、このコマンドを使用して、LANGファイルが生成された私のurls.py

    urlpatterns = patterns('', 
        (r'^jsi18n/(?P<packages>\S+?)/$', 'django.views.i18n.javascript_catalog'), 
    ) 
    
  2. にこれを追加しました私のjsファイルのひとつsはdjangojs.poで取り上げられました。

    1. 私はdjango-admin.py compilemessagesを実行し、サーバーを再起動しました。

    2. は私base.htmlにこれを追加しました:私は動的に翻訳をロードするときにパッケージ名を渡していないの例外を避けるために、「ロケール」を追加

      <script type="text/javascript" src="{% url 'django.views.i18n.javascript_catalog' 'locale' %}" ></script> 
      

    注意を。表示されていないとされ基づいて、それが表示されます

    /* gettext library */ 
    
    var catalog = new Array(); 
    
    function pluralidx(count) { return (count == 1) ? 0 : 1; } 
    
    
    function gettext(msgid) { 
    .... 
    

はなぜ「これが翻訳される」:

  1. は私のブラウザから/jsi18n/locale/を訪問し、私が得るすべては、Djangoの翻訳機能でありますURLを渡すことなく特定の言語を使用できますか?

答えて

10

物事が私のために働くか、私はあなたの問題を解決するために正確にどのように知りませんが、私はあなたを伝えることができます。

localeフォルダは私のticketsアプリ内にあります。

urls.py

js_info_dict = { 
    'domain': 'djangojs', 
    'packages': ('tickets',), 
} 

urlpatterns = patterns('', 
    (r'^jsi18n/$', 'django.views.i18n.javascript_catalog', js_info_dict), 
    ... 

base.html

<script type="text/javascript" src="{% url django.views.i18n.javascript_catalog %}"></script> 

とメッセージファイルを作成するには:うまくいけば、あなたはこのことから何かを拾うことができ

python -m django-admin makemessages -d djangojs -l fr 
python -m django-admin compilemessages 

を。

4

私の特別なケースでは、jsメッセージは生成され、コンパイルされますが、i18n言語のURLを使用するとテンプレートやページに表示されません。

これは、JavaScriptのカタログをi18nのURLパターンに追加する必要があるためです。通常のパターンではありません。=>

urlpatterns += i18n_patterns('', (r'^jsi18n/$', 'django.views.i18n.javascript_catalog', js_info_dict),) 
+0

urlpatterns += patterns('', (r'^jsi18n/$', 'django.views.i18n.javascript_catalog', js_info_dict),) 

私はこの上で多くの時間を費やして、本当にありがとうございます。私は関連する[チケット](https://code.djangoproject.com/ticket/25751)を開けて、私の目では機能していないドキュメントを修正しました。 – raratiru

+0

この問題を抱えている人のために:上記のチケットhttps://code.djangoproject.com/ticket/25751のコメントを読んで理解しているものから、これはあなたの_root_ urlが 'i18n_patterns'を使っているときに起こるようです - または虚弱 - これ?) –

関連する問題