오랜 시간 동안 스택 오버플로를 읽으면 처음에는 sth에 문의해야합니다.Django urlpatterns가 ugettext로 번역되었습니다. lazy - 404가 url이 다른 언어와 일치하는지 다시 확인하는 방법?
응용 프로그램은 이중 언어입니다. urlpatterns에있는 url을 ugettext_lazy로 번역하도록 정의했습니다. 사용자가 첫 번째 언어를 선택하고 URL이 작동하면 두 번째 언어로 변경하면 잘 작동합니다.
그러나 사용자가 첫 번째 언어를 선택하고 두 번째 언어에 url을 입력하면 url 패턴이 첫 번째 언어로 변환되기 때문에 일치하는 단어가 없으므로 404가됩니다.
장고가 제 2 언어로 번역 된 urlpattern을 다시 확인하도록하려면 어떻게해야합니까? 첫 번째 lang에 url이 입력 된 것처럼 페이지가 있으면 표시하고 싶습니다.
저는 LocaleMiddleware를 사용합니다.
쿠키 및 리디렉션을 설정하는 것에 대해 생각했지만 발견되지 않으면 사용자 URL에 사용자가 입력 한 URL이 아닌 두 번째 언어로 번역 된 URL이 표시되어 오도 할 수 있습니다.
아이디어가 있으십니까?
감사합니다, 마이크
편집 : 나는 그 국제화 패턴을 사용하지 마십시오. 나는 STH 같은있어 :
URL (_ (R '^ 접촉 /')를 포함 ('contact.urls')),
와 관계없이 선택한 언어의 적절한보기를 표시 장고를 싶습니다 . 사용자가/contact/또는 제 2 언어/kontakt /로 번역하면보기가 표시되어야합니다.
최근에 번역 한 URL은 장고에있는 제비 갈매기. 그래서 당신의 질문을 이해하는데 약간의 어려움이 있습니다. 정확히 404로 연결되는 것은 무엇입니까? 일반적으로 번역 된 패턴에는 언어 접두어가 붙습니다 (https://docs.djangoproject.com/en/dev/topics/i18n/translation/#translating-url-patterns). 그래서/en/products /는 영어 버전을 표시하고/de/produkte /는 독일어 버전을 표시해야합니다. 당신이 예제를 줄 수있는 URL 디자인은 당신의 문제로 연결됩니까? – Jingo