San*_*noc 5 django static django-templates internationalization
我想在Django中翻译一部分JS。
我已经尝试过该命令,python manage.py makemessages -d djangojs但它只TEMPLATE_DIRS在settings.py
我尝试在模板目录中设置一个 JS,它工作得很好。
我有 djangojs.po,我可以在编译时生成 .mo。
所以问题是:如何在静态文件中生成消息?
我在这里 和这里发现了同样的问题 , 但没有人回答谁保持良好的架构。
求求你救救我!
我的架构:
PS:对不起我的英语,我不是本地人;)
我的错误是当我在 settings.py 中设置 STATIC_ROOT 时。事实上,这个变量在 Django 中表示当它在服务器上执行 CollectStatic 时,stock Static 的位置,我用她来表示在哪里找到了我的静态(Django 可以找到所有静态的无信息,它在项目文件夹或上的静态文件夹上找到静态)应用程序文件夹)
\n\n最后 :
\n\n在 pro 的 urls.py 中设置
\n\njs_info_dict = {\n \'domain\': \'djangojs\',\n \'packages\': (\'app.kanboard\',),\n}\n\nurlpatterns = patterns(\'\',\n\n [...]\n\n #Internationalization Javascript\n url(r\'^jsi18n/$\', \'django.views.i18n.javascript_catalog\', js_info_dict),\n\n)\nRun Code Online (Sandbox Code Playgroud)\n\n在模板中
\n\n<script type="text/javascript" src="{% url \'django.views.i18n.javascript_catalog\' %}"></script>\nRun Code Online (Sandbox Code Playgroud)\n\n在 static/my_app/my_file.js 的 JS 中
\n\ndocument.write(gettext(\'Ma chaine de caract\xc3\xa8re a traduire\'))\nRun Code Online (Sandbox Code Playgroud)\n\n之后,我们统治这个命令行
\n\npython manage.py makemessages -d djangojs\nRun Code Online (Sandbox Code Playgroud)\n\n这里,djangojs是 urls.py 开头设置的域(这是一个伪约定)
\n\n此时,我们在 locale 文件夹中有一个djangojs.po ,我们可以将其编译为标准.po。
\n\n文档链接:这里
\n\n就像我的票一样,您可以在其中找到示例项目和英文说明:票
\n\n祝你好运 !
\n