代码之家  ›  专栏  ›  技术社区  ›  Boky

如何翻译django和wagtail中的.js文件

  •  2
  • Boky  · 技术社区  · 7 年前

    我用的是Wagtail和Django,我想把内容翻译成 html 模板和 js 文件夹。

    内容 HTML 模板已正确添加到 .po 文件,但JS文件中的字符串根本没有添加。

    我的项目结构如下:

    enter image description here

    这个 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

    我想把所有的翻译放在一个地方

    1 回复  |  直到 7 年前
        1
  •  1
  •   gasman    7 年前

    打电话时 makemessages ,你需要通过 --domain js --extension js 获取.js文件中的可翻译字符串。请参阅Django文档:

    https://docs.djangoproject.com/en/2.1/ref/django-admin/#django-admin-makemessages https://docs.djangoproject.com/en/2.1/topics/i18n/translation/#message-files