10

Django アプリケーションで JavaScript コードの国際化を設定しようとしています。

私の Django アプリにはlocale、適切に生成されたdjangojs.poファイルを含むサブディレクトリがあります。パッケージの定義は次のとおりです。

# urls.py
js_info_dict = {
    'packages': ('my_project',),
} 

./manage.py makemessages.poファイルには翻訳対象のすべての文字列が含まれていますが、Web サイトで JavaScript 文字列が翻訳されることはなく、カタログは常に空であるため、うまく機能しました。

4

2 に答える 2

5

私もいくつか問題がありました。これは私にとってどのように機能するかです:

これを yr root urls.py に追加します。

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


urlpatterns = patterns('',                   

    #enable using translation strings in javascript
    #source: https://docs.djangoproject.com/en/dev/topics/i18n/translation/#module-django.views.i18n
    (r'^jsi18n/$', 'django.views.i18n.javascript_catalog', js_info_dict),

)

JS ファイルでは以下を使用します。

var somevar = gettext('Text to translate');

django 翻訳ファイルをコンパイルするには: プロジェクト ルート ('apps'、'settings' などがある場所) から実行されるシェル/ターミナルで:

#for "normal django files" (.py, .html):
django-admin.py makemessages --locale=de
#for javascript files. source: http://stackoverflow.com/a/3571954/268125
django-admin.py makemessages -a -d djangojs --locale=de
#to compile the translation files to machine code
django-admin.py compilemessages --locale=de
于 2012-07-10T12:14:32.417 に答える
3

my_project を settings.py の INSTALLED APPS に追加しましたが、うまくいったようです

于 2010-07-28T20:09:59.093 に答える