我用的是Wagtail和Django,我想把内容翻译成
html
模板和
js
文件夹。
内容
HTML
模板已正确添加到
.po
文件,但JS文件中的字符串根本没有添加。
我的项目结构如下:
这个
urls.py
文件在里面
webDealers
文件夹如下:
urlpatterns = [
url(r'^django-admin/', admin.site.urls),
url(r'^admin/', include(wagtailadmin_urls)),
url(r'^documents/', include(wagtaildocs_urls)),
url(r'^search/$', search_views.search, name='search'),
url(r'^api/', include('API.urls')),
url(r'^i18n/', include('django.conf.urls.i18n'), name='set_language'),
url(r'^jsi18n/$', JavaScriptCatalog.as_view(), name='javascript-catalog'),
url(r'', include(wagtail_urls)),
]
这个
settings.py
如下:
PROJECT_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
BASE_DIR = os.path.dirname(PROJECT_DIR)
LANGUAGE_CODE = 'en'
TIME_ZONE = 'UTC'
USE_I18N = True
USE_L10N = True
USE_TZ = True
LANGUAGES = [('en', 'English'), ('fr', 'French'), ('nl', 'Dutch')]
LOCALE_PATHS = (
os.path.join(BASE_DIR, 'locale'),
)
所有
.js
文件位于WebDealers文件夹内的静态文件夹中。
我已经添加了
<script src="{% url 'javascript-catalog' %}"></script>
到
<head>
标签和我添加的
gettext("String to translate")
在需要转换字符串的.js文件中。
但当我跑步时
django-admin makemessages -l en
里面
locale
文件夹我只从HTML文件而不是JS文件中获得翻译。
我用的是
Django==2.1.2
对于如何在JS文件中转换字符串有什么建议吗?
更新
当我跑步时
django-admin makemessages -d django -l nl
它从HTML文件中获取所有字符串,并将它们放在区域设置文件夹中
根
文件夹(
root/locale
)
但当我这样做的时候
django-admin makemessages -d djangojs -l nl
它获取所有.js字符串,并将它们放在locale文件夹中
root/webDealers/locale
。
我想把所有的翻译放在一个地方