我想在Django中翻译JS的一部分。
我已尝试使用python manage.py makemessages -d djangojs
命令,但只需TEMPLATE_DIRS
settings.py
的文件
我尝试在模板目录中设置JS,它完美地运行。
我有djangojs.po,我可以在编译时生成.mo。
所以问题是:如何在静态文件中制作消息?
我发现了同样的问题 Here 和 Here但没有人回答谁保持良好的架构。
请救救我!
我的架构:
PS:对不起我的英语,我不是本地人;)
答案 0 :(得分:2)
我的错误是我在settings.py中设置STATIC_ROOT。事实上,这个变量在Django上说当它在服务器上运行CollectStatic时库存静态,我用她说发现我的静态(Django可以找到所有静态whitout信息,它在项目文件夹上的静态文件夹上找到静态或者app文件夹)
最后:
在专业
的urls.py中设置此项js_info_dict = {
'domain': 'djangojs',
'packages': ('app.kanboard',),
}
urlpatterns = patterns('',
[...]
#Internationalization Javascript
url(r'^jsi18n/$', 'django.views.i18n.javascript_catalog', js_info_dict),
)
在模板中
<script type="text/javascript" src="{% url 'django.views.i18n.javascript_catalog' %}"></script>
在静态/ my_app / my_file.js中的JS
document.write(gettext('Ma chaine de caractère a traduire'))
之后,我们统治此命令行
python manage.py makemessages -d djangojs
此处, djangojs 是在开头的urls.py中设置的域名(它是一个伪约定)
目前,我们在文件夹区域设置中有一个 djangojs.po ,我们可以将其编译为标准 .po 强>
文档的链接:Here
Lik of my ticket,你可以找到一个示例项目并用英语解释:The ticket
祝你好运!