在Django中翻译外部js文件中的文本

时间:2017-03-09 09:09:54

标签: javascript django

项目树如下:





&#xA;&#xA; < p>在 master 文件夹中的 url.py 中,我有下一个:

&#xA;&#xA;
 来自django.views .i18n导入javascript_catalog&#xA;&#xA; ......&#xA; js_info_dict = {&#xA; 'domain':'djangojs',&#xA; 'packages':('traxio.traxio',),&#xA;}&#xA;&#xA; url(r'^ jsi18n / $',javascript_catalog,js_info_dict,name ='javascript-catalog'),& #xA;  
&#xA;&#xA;

在我的 base.html 文件中( master / templates / master / base.html )我添加了:

&#xA;&#xA;
 &lt; script type =“text / javascript”src =“{%url'javascript-catalog'%}”&gt; &lt; / script&gt;&#xA;&lt; script src =“/ static / master / js / custom.js”&gt;&lt; / script&gt;&#xA;  
&#xA;& #xA;

如果我在页面加载时单击页面源,我看到:

&#xA;&#xA;
 &lt; script type =“text / javascript”src =“/ master / jsi18n /“&gt;&lt; / script&gt;&#xA;&lt; script src =”/ static / master / js / custom.js“&gt;&lt; / script&gt;&#xA;  
&#xA;&#xA;

custom.js 是我需要这些翻译的文件。

&#xA;&#xA;

我做过:

&#xA;&#xA;
  django-admin makemessages -d djangojs -l nl&#xA; django-admin makemessages -d djangojs -l fr&#xA; django-admin compilemessages&# xA;  
&#xA;&#xA;

文件是cr在locale文件夹中使用。我的custom.js如下:

&#xA;&#xA;
  function contactUs(fullname,telephone,email){&#xA; bootbox.dialog({&#xA; title:gettext(“达到限制”),&#xA;消息:'&lt; p&gt; gettext(您已达到限制。)&lt; / p&gt;',&#xA;按钮:{&#xA; .......&#xA;}&#xA;}&#xA;});&#xA;}&#xA;  
&# xA;&#xA;

但没有任何事情发生。我错了什么?

&#xA;

1 个答案:

答案 0 :(得分:0)

我没有将其添加到master/urls.py,而是将其添加到traxio/urls.py,而我更改了packages

from django.views.i18n import javascript_catalog

js_info_dict = {
    //domain is default
    'packages': ('traxio',),
}

urlpatterns = [
    .....
    url(r'^jsi18n/$', javascript_catalog, js_info_dict, name='javascript-catalog'),
]

这就是诀窍。

如果其他人有同样的问题希望这会有所帮助。