Django 5 переводит маршрут с помощью параметра

У меня возникли проблемы с правильным переводом маршрута, для которого требуется параметр. это работает нормально, если uri содержит /fr/ или /en/:

urlpatterns = [
    path(_('CATEGORY'), views.category, name='app-category'),
]

Но пока мне нужно добавить параметр типа:

urlpatterns = [
    path(f"{_('CATEGORY')}/<slug:uuid>", views.category, name='app-category'),
]

или

urlpatterns = [
    path(_('CATEGORY') + "/<slug:uuid>", views.category, name='app-category'),
]

В переводе застряло слово "категория", поэтому маршрут /fr/categorie/ не работает. _("КАТЕГОРИЯ") = "категория" для fr или "категория" для en.

Есть какие-нибудь идеи о том, как обойти проблему? Спасибо

Пробовали ли вы создать пользовательский диспетчер URL-адресов, который возвращал бы представление в зависимости от языка?

https://docs.djangoproject.com/en/5.1/topics/http/urls/#registering-custom-path-converters

Я наконец-то нашел способ, на всякий случай, если это может помочь другим.

#views.py

category_patterns = (
    [
        path("/<slug:slug>/", views.category_detail, name='category-detail'),
    ],
    'category',
)

urlpatterns = [
    path(_('[CATEGORY/]'), include(category_patterns, namespace="category")),
]
Вернуться на верх