Django中静态JS的国际化
Internationalization of static JS in Django
我想翻译Django中的一部分JS。
我试过命令 python manage.py makemessages -d djangojs
但它只在 settings.py
中获取 TEMPLATE_DIRS
中的文件
我试过在模板目录下设置一个JS,效果很好。
我有 djangojs.po,我可以在编译时生成 .mo。
所以问题是:如何在静态文件中制作消息?
我发现了同样的问题
Here
和
Here但没有人回答谁保持良好的架构。
求求你救救我!
我的架构:
- 我的应用程序
- 语言环境
- 静态
- 我的应用程序
- js
- try.js
- 模板
- 我的应用程序
- try.html
- views.py
- urls.py
- [...]
PS:对不起我的英语,我不是母语;)
我的错误是当我在 settings.py 中设置 STATIC_ROOT 时。事实上,当它在服务器上执行 CollectStatic 时,这个变量在 Django 中说 where stock Static,我用她说在哪里找到了我的静态(Django 可以找到所有静态 whitout 信息,它在项目文件夹或上的静态文件夹中找到静态应用程序文件夹)
最后:
在prourls.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>
在JS中static/my_app/my_file.js
document.write(gettext('Ma chaine de caractère a traduire'))
之后,我们统治这个命令行
python manage.py makemessages -d djangojs
这里,djangojs是urls.py开头设置的域(伪约定)
这时候我们在locale文件夹里面有一个djangojs.po我们可以编译成标准的.po.
Link 文档:Here
在我的票中,您可以在其中找到示例项目和英文说明:The ticket
祝你好运!
我想翻译Django中的一部分JS。
我试过命令 python manage.py makemessages -d djangojs
但它只在 settings.py
TEMPLATE_DIRS
中的文件
我试过在模板目录下设置一个JS,效果很好。
我有 djangojs.po,我可以在编译时生成 .mo。
所以问题是:如何在静态文件中制作消息?
我发现了同样的问题 Here 和 Here但没有人回答谁保持良好的架构。
求求你救救我!
我的架构:
- 我的应用程序
- 语言环境
- 静态
- 我的应用程序
- js
- try.js
- js
- 我的应用程序
- 模板
- 我的应用程序
- try.html
- 我的应用程序
- views.py
- urls.py
- [...]
PS:对不起我的英语,我不是母语;)
我的错误是当我在 settings.py 中设置 STATIC_ROOT 时。事实上,当它在服务器上执行 CollectStatic 时,这个变量在 Django 中说 where stock Static,我用她说在哪里找到了我的静态(Django 可以找到所有静态 whitout 信息,它在项目文件夹或上的静态文件夹中找到静态应用程序文件夹)
最后:
在prourls.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>
在JS中static/my_app/my_file.js
document.write(gettext('Ma chaine de caractère a traduire'))
之后,我们统治这个命令行
python manage.py makemessages -d djangojs
这里,djangojs是urls.py开头设置的域(伪约定)
这时候我们在locale文件夹里面有一个djangojs.po我们可以编译成标准的.po.
Link 文档:Here
在我的票中,您可以在其中找到示例项目和英文说明:The ticket
祝你好运!