manage.py makemessages 不适用于项目的 urls.py 文件
manage.py makemessages doesn't work for project's urls.py file
我是 运行 manage.py makemessages --ignore=venv/* -l fr
这似乎是 运行 正确。每个 gettext()
调用都存在于生成的 django.po
文件中,主 urls.py
文件除外,因此仅显示英文版本的 URL。
其他 urls.py 个文件(在应用程序内)gettext()
调用已成功找到并存在于 django.po 个文件中。
P.S.: 我知道 gettext 不支持 Python 的新 f 字符串,但是没有 f -任何 gettext()
调用中的字符串。
我的主要 urls.py
文件如下所示:
from django.contrib import admin
from django.urls import path, include
from django.conf.urls.i18n import i18n_patterns
from django.utils.translation import gettext_lazy as _
urlpatterns = i18n_patterns(
path(f'{_("admin")}/', admin.site.urls),
path(f'{_("narratives")}/', include('notebook.urls', namespace='narrative')),
prefix_default_language=False,
)
这是由 f 弦的工作方式引起的。当我将 path(f'{_("admin")}/', admin.site.urls)
更改为
path('%(link)s/'.format(link=_("admin")), admin.site.urls)
时,它确实按预期工作了。
我不太了解 f 弦,所以这是我能想到的最佳解决方法。
我是 运行 manage.py makemessages --ignore=venv/* -l fr
这似乎是 运行 正确。每个 gettext()
调用都存在于生成的 django.po
文件中,主 urls.py
文件除外,因此仅显示英文版本的 URL。
其他 urls.py 个文件(在应用程序内)gettext()
调用已成功找到并存在于 django.po 个文件中。
P.S.: 我知道 gettext 不支持 Python 的新 f 字符串,但是没有 f -任何 gettext()
调用中的字符串。
我的主要 urls.py
文件如下所示:
from django.contrib import admin
from django.urls import path, include
from django.conf.urls.i18n import i18n_patterns
from django.utils.translation import gettext_lazy as _
urlpatterns = i18n_patterns(
path(f'{_("admin")}/', admin.site.urls),
path(f'{_("narratives")}/', include('notebook.urls', namespace='narrative')),
prefix_default_language=False,
)
这是由 f 弦的工作方式引起的。当我将 path(f'{_("admin")}/', admin.site.urls)
更改为 path('%(link)s/'.format(link=_("admin")), admin.site.urls)
时,它确实按预期工作了。
我不太了解 f 弦,所以这是我能想到的最佳解决方法。