The localeurl Django application allows you to specify the language of a page in the URL.
Suppose you have a Django website in multiple languages. Using localeurl, without modifying your URLconfs, you can have URLs like this: http://www.example.com/nl/company/profile. Any URLs without a language prefix will be redirected to add the prefix for the default language (or, optionally, the language preferred in the user’s browser settings).
Some reasons for using localeurl:
- Search engines will index all languages.
- Every page should have a unique URL. If you feel that different languages means different pages, then each language should get its own unique URL.
- If you don’t set the language via the URL, setting the language for the website should be done using a POST request (because it influences subsequent page views, see Django ticket #3651). You might prefer a simple link for changing the language, and localeurl allows this.
You can install localeurl with pip:
pip install django-localeurl
or install the in-development version:
pip install django-localeurl==dev
The localeurl code is licensed under the MIT License. See the LICENSE.txt file in the distribution.