My setup
settings.py
INSTALLED_APPS = (
...
'myprojectname',
...
)
STATIC_ROOT = '/var/www/a_valid_path/'
LOCALE_PATHS = (
os.path.join(BASE_DIR, "locale"),
)
urls.py
js_info_dict = {
'domain': 'djangojs',
'packages': ('myprojectname',),
}
urlpatterns = patterns('',
...
url(r'^jsi18n/$', 'django.views.i18n.javascript_catalog', js_info_dict),
...
)
我的项目结构如下:
|- projectname
|--- app1
|--- app2
|--- manage.py
|- virtualenv
|- static
|--- js
|--- css
我也在项目根目录下有一个
locale
文件夹,与manage.py
位于同一目录下。
我的操作
只需要运行:
./manage.py -l ro -d djangojs
我的问题
它不起作用。没有生成.po
文件。但服务器端的翻译(视图+模板)可以工作。我已经遵循了所有建议,但仍然没有任何进展。甚至尝试自己创建djangojs.po
文件,看看Django是否会删除它或对其进行处理 - 没有。
没有生成错误,只显示processing locale ro
(时间非常短-如果你问我,太短了),就是这样。需要帮助吗?
编辑:忘记提到我的JS文件所在的文件夹不在每个Django应用程序内,而是在单独的位置。不过,Django难道不应该查找STATICFILES_DIRS
吗?
.js
文件位于哪里? - Burhan Khalidstatic/js
文件夹中,并且在通过collectstatic
声明的STATIC_ROOT
变量所在的文件夹中。 - Eduard Luca