Python 如何翻译Django和Wagtail中的.js文件
我正在使用Wagtail和Django,我正在尝试翻译Python 如何翻译Django和Wagtail中的.js文件,python,django,wagtail,Python,Django,Wagtail,我正在使用Wagtail和Django,我正在尝试翻译html模板和js文件中的内容 html模板中的内容已正确添加到.po文件中,但js文件中的字符串根本没有添加 我的项目结构如下: urlpatterns = [ url(r'^django-admin/', admin.site.urls), url(r'^admin/', include(wagtailadmin_urls)), url(r'^documents/', include(wagtaildocs_ur
html
模板和js
文件中的内容
html
模板中的内容已正确添加到.po
文件中,但js文件中的字符串根本没有添加
我的项目结构如下:
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)),
]
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'),
)
webders
文件夹中的urls.py
文件如下:
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)),
]
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'),
)
settings.py
如下所示:
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)),
]
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文件夹中的静态文件夹中
我已经将
添加到
标记中,并且在需要翻译字符串的.js文件中添加了gettext(“要翻译的字符串”)
但是,当我在locale
文件夹中运行django admin makemessages-l en
时,我只从html文件而不是js文件中获得翻译
我使用的是Django==2.1.2
有关于如何翻译js文件中的字符串的建议吗
更新
当我跑的时候
django admin生成消息-d django-l nl
它从html文件中获取所有字符串,并将它们放在root文件夹(root/locale
)的locale文件夹中
但当我这么做的时候
django admin makemessages-d djangojs-l nl
它获取所有的.js字符串,并将它们放在root/webders/locale
的locale文件夹中
我希望所有的翻译都放在一个地方当调用
makemessages
时,您需要传递--domain js
或--extension js
以获取.js文件中的可翻译字符串。请参阅Django文档:
问题是,当我运行
django admin makemessages-d django-l nl
时,它从html文件中获取所有字符串并将它们放在根文件夹的locale文件夹中,但当我运行django admin makemessages-d djangojs-l nl
时,它会获取所有.js字符串并将它们放在root/WebDeders
的locale文件夹中。我想把所有的翻译放在一个地方