我想在Django中翻译JS的一部分.
我已经尝试了命令python manage.py makemessages -d djangojs但它只接受settings.py中TEMPLATE_DIRS中的文件
我尝试在模板目录中设置JS,它完美地工作.
我有djangojs.po,我可以在编译时生成.mo.
所以问题是:如何在静态文件中制作消息?
我发现了同样的问题
Here
和
Here但没有人回答谁保持良好的建筑.
拜托,救救我!
我的架构:
> myapp
>语言环境
>静态
> myapp
> js
> try.js
>模板
> myapp
> try.html
> views.py
> urls.py
> […]
PS:对不起我的英语,我不是本地人;)
最佳答案 我的错误是当我在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.
doc:Here的链接
Lik of my ticket,你可以找到一个示例项目并用英语解释:The ticket
祝好运 !