Skip to content

Instantly share code, notes, and snippets.

@rririanto
Created February 20, 2021 00:38
Show Gist options
  • Save rririanto/03268031f6822386530633a965e9ff5d to your computer and use it in GitHub Desktop.
Save rririanto/03268031f6822386530633a965e9ff5d to your computer and use it in GitHub Desktop.
Set Translation
urls.py
============================
from django.urls import path
# Your path of views
from apps.main.views import main, set_language_from_url
urlpatterns = [
...
path("set_language/<str:user_language>/", set_language_from_url, name="set_language_from_url")
]
views.py
============================
def set_language_from_url(request, user_language):
translation.activate(user_language)
request.session[translation.LANGUAGE_SESSION_KEY] = user_language
# I use HTTP_REFERER to direct them back to previous path
return HttpResponseRedirect(request.META.get('HTTP_REFERER'))
file.html
============================
<a href="{% url 'main:set_language_from_url' 'en' %}"><img src="{% static 'assets/img/gis/en.png' %}" alt="en language" /></a>
<a href="{% url 'main:set_language_from_url' 'vi' %}"><img src="{% static 'assets/img/gis/vi.png' %}" alt="vietnames language" /></a>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment