社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Django

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

Boky • 4 年前 • 564 次点击  

我用的是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

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

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/38519
 
564 次点击  
文章 [ 1 ]  |  最新文章 4 年前