Sto usando i18n_patterns
per creare prefissi di lingua in un'app Django.Modelli Django: Ottieni l'URL corrente in un'altra lingua
miei URL simile a questa:
/de/contact/
/fr/contact/
/it/contact/
Nel mio modello di base, sto loop su tutte le lingue disponibili per mostrare i link interruttore lingua.
{% get_available_languages as languages %}
<nav id="language_chooser">
<ul>
{% for lang_code, lang_name in languages %}
{% language lang_code %}
<li><a href="{% url 'home' %}" alt="{{ lang_name }}" title="{{ lang_name }}">{{ lang_code }}</a></li
{% endlanguage %}
{% endfor %}
</ul>
</nav>
In questo caso, sto invertendo l'URL "casa". C'è un modo per ottenere un URL tradotto della pagina corrente?
Se sono nella versione tedesca della mia pagina "contatto", voglio che il collegamento "fr" rimandi alla versione francese della pagina "contatti", non alla pagina "home".
Grazie, la tua soluzione funziona per me con pochi miglioramenti. Sto usando semplice tag all'interno forloop ... '@ register.simple_tag (name = 'translate_url') def do_translate_url (lingua): ritorno TranslatedURL (lingua)' ... Poi, nel template ... '{% get_language_info_list per le lingue come lingue%} {% per la lingua in lingue%} {{ language.name_local }} {% endfor%}' – pista329
questo sembra fallire se i kwargs dipendono dalla lingua - per esempio con un linguaggio dipendente dalla 'lumaca 'parametro nell'URL rende lo stesso slug per tutte le lingue. – Flash
@Flash hai trovato un modo per lavorare con i parametri di lumaca? Sto avendo anche questo problema :( –