djangojs makemessage 失败 - djangojs.pot: 没有此文件或目录

5 投票
1 回答
1343 浏览
提问于 2025-04-18 07:02

我在尝试运行这个命令 django-admin.py makemessages -d djangojs -l en,但是没有成功。我已经按照这里的说明尝试过了:无法生成django javascript国际化目录

我现在使用的gettext版本是0.18.3

urls.py

from django.conf.urls import patterns, include, url
from django.views.i18n import javascript_catalog
from django.contrib import admin

js_info_dict = {
    'packages': ('MyApp',),
}

admin.autodiscover()

urlpatterns = patterns('',

    url(r'^admin/', include(admin.site.urls)),
    url(r'^$', 'MyApp.views.test'),
    url(r'^jsi18n/$', javascript_catalog, js_info_dict),
)

相关设置

LOCALE_PATHS = (
    '/Users/Saturnix/PycharmProjects/TranslationTest/MyApp/locale',
)

TEMPLATE_DIRS = (
    '/Users/Saturnix/PycharmProjects/TranslationTest/templates/',
)

(我还尝试把模板文件夹放到MyApp里面,并相应调整设置:结果还是一样)。

views.py

def test(request):
    return render_to_response("test.html", locals())

test.html(在模板文件夹里)

... some html ...
{% trans 'HELLO_STRING_TEMPLATE' %}
... some javascript ...
document.write(gettext('HELLO_STRING_JS'));

当我运行 django-admin.py makemessages -d djangojs -l en 时,我得到了

CommandError: 运行msguniq时发生错误

msguniq: 读取"/Users/Saturnix/PycharmProjects/TranslationTest/MyApp/locale/djangojs.pot"时出错:没有这个文件或目录

我该怎么办?

1 个回答

6

这个不太常见的错误信息基本上是说,makemessages 没有找到任何需要翻译的内容。

撰写回答