2011-06-28 12 views
1

をJavascriptのコンテンツをローカライズしながら、私は次のエラーを取得しています:エラージャンゴ

ReferenceError: Can't find variable: gettext

私は、以下の追加した私のurls.py:私はのように局在化のための文字列をマークし

js_info_dict = { 'domain': 'djangojs', 'packages': ('my_project_name',), } 
urlpatterns += patterns('', (r'^jsi18n/$', 'django.views.i18n.javascript_catalog', js_info_dict),) 

var lingualText = gettext("Are you sure you want to delete the photo?"); 
var statusConfirm = confirm(lingualText); 

私のテンプレートで、次の行:

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

には、JavaScriptファイル内のテキストの言語ファイルを生成するには、私は、次のコマンドを使用します。

python /usr/bin/django-admin.py makemessages -d djangojs -l de 

私は希望のためdjangojs.poファイルを生成することができていますが言語。 JSファイルにマークされているすべての文字列も取得します。私はFirebugで出力を見ると、私は上記のエラーすなわち:

ReferenceError: Can't find variable: gettext

は誰が教えてもらえます

は私が間違っているつもりを参照してください? jsi18nのパスに問題がありますか?

ありがとうございます。

答えて

0

getext()は、{% url django.views.i18n.javascript_catalog %}スクリプトで提供されています。したがって、あなたのコードが自分のコードよりも前に含まれていることを確認してください。

<html> 
<head> 
    <script type="text/javascript" src="{% url django.views.i18n.javascript_catalog %}"></script> 
    <!-- gettext() is now available --> 
    <script src="{{ STATIC_URL }}my_script_using_gettext.js"></script> 
    ...