1

I'm stuck in url translation while adding language support to my app. Although I have applied the ones written in the documents one by one, I still have not solved this problem. Can you help me see where I went wrong? The problem is exactly that my application will have two languages ​​(TR and EN) 12.0.0.0.1/tr-url when the application is in tr while in english It's hard to go to 12.0.0.0.1/en/en-url addresses. However, when switching from Turkish to English, the urls are as follows: en: 127.0.0.1/en/en-url en: 127.0.0.1/en/en-url Similarly, when switching from English to Turkish, en: 127.0.0.1/en/en-url en: 127.0.0.1/en/en-url is in the form. If anyone knows how to switch languages, I'd be very happy.

from django.utils.translation import gettext_lazy as _
from django.conf.urls.i18n import i18n_patterns
from New import views as new_views
from Home import views as home_views
from Home.views import change_language
urlpatterns = [
    path('admin/', admin.site.urls),
    path('change_language/',
         change_language,
         name='change_language'),
    path('i18n/', include('django.conf.urls.i18n')),
]
home_patterns =([path('', home_views.Index, name="index"),
               path(_('sistem-cozumumuz/'), home_views.Solution, name='solution'),
               path(_('teklif-isteyin/'), home_views.OfferRequests, name="offer-request"),
               path(_('gizlilik-politikasi/'), home_views.PrivacyPolicy, name='policy'),
               path(_('iletisim/'), home_views.Contact, name='contact'),
               ])
news_patterns =([path('', new_views.Index, name="index"),
               path(_('referanslar/'), new_views.References, name="reference"),
               path(_('yorumlar/'), new_views.Comments, name="event"),
               path(_('basinda-biz/'),new_views.News,name="new"),
               path(_('dokumanlar/'), new_views.Downloads, name="download"),

               path(_('<slug:slug>/'),new_views.NewDetails,name="new-detail"),
               path(_('yorumlar/<slug:slug>/'),new_views.CommentDetails,name="comment-detail"),
               path(_('referanslar/<slug:slug>/'),new_views.ReferenceDetails,name="reference-detail"),
               ])
urlpatterns += i18n_patterns(
        path('', include(home_patterns),name="Home"),
        path(_('haberler/'), include(news_patterns), name="New"),
         path('change_language/',
             change_language,
             name='change_language'),
        path('i18n/', include('django.conf.urls.i18n')),
        prefix_default_language=False,)

Home urls.py 
    app_name = "Home"

urlpatterns = [path('', views.Index, name="index"),
               path('tr/', views.Index, name="index"),
               path('sistem-cozumumuz/', views.Solution, name='solution'),
               path('teklif-isteyin/', views.OfferRequests, name="offer-request"),
               path('gizlilik-politikasi/', views.PrivacyPolicy, name='policy'),
               path('iletisim/', views.Contact, name='contact'),
               path('change_language/',views.change_language,name='change_language'),
               ]


<div class="header-hover-menu__item"><a class="header-hover-menu__item-title" href="{% url 'solution' %}{% translate '#yaklasimimiz' %}">{% translate 'Yaklaşımımız' %}</a></div>
            </li>
            {% get_current_language as LANGUAGE_CODE %}
            <div class="header-hover-menu__item"><a class="header-hover-menu__item-title" href="{% url 'solution' %}{% translate '#is-guvenligi' %}">{% translate 'İş Güvenliği' %}</a></div>
            </li>
            {% get_current_language as LANGUAGE_CODE %}
            <div class="header-hover-menu__item"><a class="header-hover-menu__item-title" href="{% url 'solution' %}{% translate '#avantajlariniz' %}">{% translate 'Avantajlarınız' %}</a></div>
            </li>
            {% get_current_language as LANGUAGE_CODE %}
            <div class="header-hover-menu__item"><a class="header-hover-menu__item-title" href="{% url 'solution' %}{% translate '#kanitlanmis-etkinlik' %}">{% translate 'Kanıtlanmış Etkinlik' %}</a></div>
            </li>
            {% get_current_language as LANGUAGE_CODE %}
            <div class="header-hover-menu__item"><a class="header-hover-menu__item-title" href="{% url 'solution' %}{% translate '#performans-ozellikleri' %}">{% translate 'Performans Özellikleri' %}</a></div>
            </li>
        </div>
        </li>
        <div class="header-hover-menu__items bio_reveal bio_reveal_fromBottom bio_reveal--manually" data-menu-id="menu-item-33">
            {% get_current_language as LANGUAGE_CODE %}
            <div class="header-hover-menu__item"><a class="header-hover-menu__item-title" href="{% url 'index' %}">{% translate 'Haberler' %}</a></div>
            </li>
            {% get_current_language as LANGUAGE_CODE %}
            <div class="header-hover-menu__item"><a class="header-hover-menu__item-title" href="{% url 'reference' %}">{% translate 'Referanslar' %}</a></div>
            </li>
            {% get_current_language as LANGUAGE_CODE %}
            <div class="header-hover-menu__item"><a class="header-hover-menu__item-title" href="{% url 'index' %}{% translate '#iletisim' %}">{% translate 'Basın İletişim' %}</a></div>
            </li>
            {% get_current_language as LANGUAGE_CODE %}
            <div class="header-hover-menu__item"><a class="header-hover-menu__item-title" <a href="{% url 'download' %}">{% translate 'Dökümanlar' %}</a></div>
            </li>
        </div>


 <div class="header__lang-wrapper">
                <div class="header__current-lang">
                    {% get_current_language as LANGUAGE_CODE %} {{LANGUAGE_CODE}}</div>
                <div class="header__language-switcher-list">
                    <ul class="language-switcher language-switcher--white">
                              {% get_current_language as LANGUAGE_CODE %} {% get_available_languages as LANGUAGES %} {% get_language_info_list for LANGUAGES as languages %} {% for language in languages %}
                            <li>
                                <a href="/{{ language.code }}/{{ request.get_full_path |slice:'4:'}}" {% if language.code == LANGUAGE_CODE %} class="selected" {% endif %}>
                {{ language.code }}
                </a>
                            </li>
                            {% endfor %}

                    </ul>
                </div>
            </div>
Super Kai - Kazuya Ito
  • 22,221
  • 10
  • 124
  • 129
Utku Mutlu
  • 13
  • 7

1 Answers1

0

You can translate url with gettext_lazy() as shown below. *You can see my question and my answer explaining how to translate url in detail:

# "my_app1/urls.py"

from django.urls import path
from . import views
from django.utils.translation import gettext_lazy as _ # Here

app_name = "my_app1"

urlpatterns = [
        # ↓ ↓ ↓ Here ↓ ↓ ↓
    path(_("hello/world/"), views.test, name="test")
]
Super Kai - Kazuya Ito
  • 22,221
  • 10
  • 124
  • 129