Django 2.2 i18n urlpatterns 未被翻译

Django 2.2 i18n urlpatterns not being translated

我很好奇好像有人在最新的 Django 版本中测试过使用 Django 的国际化功能?

我正在尝试将我的 urlpatterns 国际化如下:

urlpatterns = [
    path('i18n/', include('django.conf.urls.i18n'))
]
urlpatterns += i18n_patterns(
    path('', include('apps.frontpage.urls', namespace='frontpage')),
    path(_('journal/'), include('apps.journal.urls', namespace='journal')),
    path(_('projects/'), include('apps.projects.urls', namespace='projects')),
    path(_('software/'), include('apps.software.urls', namespace='software')),
    path('administration/', admin.site.urls),
)

使用这个 .po 文件:

#: core/urls.py:22

msgid "journal/"
msgstr "dagbok/"

#: core/urls.py:23
msgid "projects/"
msgstr "prosjekter/"

#: core/urls.py:24
msgid "software/"
msgstr "programvare/"

正在生成和检测 .po.mo 文件,因为 HTML 菜单被翻译成这样:

<li><a href="{% url 'frontpage:index' %}"><i class="fas fa-home fa-fw"></i> {% trans "Home" %}</a></li>
<li><a href="{% url 'journal:index' %}"><i class="fas fa-book fa-fw"></i> {% trans "Journal" %}</a></li>
<li><a href="{% url 'projects:index' %}"><i class="fas fa-project-diagram fa-fw"></i> {% trans "Projects" %}</a></li>
<li><a href="{% url 'software:index' %}"><i class="fas fa-hdd fa-fw"></i> {% trans "Software" %}</a></li>

通过这个文件:

#: shared/templates/sidebar.html:5
msgid "Home"
msgstr "Hjem"

#: shared/templates/sidebar.html:6
msgid "Journal"
msgstr "Dagbok"

#: shared/templates/sidebar.html:7
msgid "Projects"
msgstr "Prosjekter"

#: shared/templates/sidebar.html:8
msgid "Software"
msgstr "Programvare"

#: shared/templates/sidebar.html:10
msgid "Languages"
msgstr "Språk"

但是,我的网址仍未被翻译。我不太确定我是否做错了什么,或者这个功能是否在最新的 Django 版本中确实存在错误。

除了

我还需要配置什么吗?
LOCALE_PATHS = [
    os.path.join(BASE_DIR, 'shared/locale')
]

让它检测应用程序中的 locale 目录?还是由 Django 自动完成?

感谢任何帮助。 GitHub.

上的完整源代码 public

通过在 INSTALLED_APPS 的设置文件中包含我的 "core" 应用程序解决了问题。阅读文档时我的部分疏忽。

来源:Documentation - How Django discovers translations,第二个要点。