Simple language select as custom template tag
Project description
django_languageselect
Simple language select as custom template tag
Requirements
"django.middleware.locale.LocaleMiddleware"
inMIDDLEWARE_CLASSES
/MIDDLEWARE
"django.core.context_processors.request"
inTEMPLATE_CONTEXT_PROCESSORS
/TEMPLATES['OPTIONS']['context_processors']
- Add
"django_languageselect"
toINSTALLED_APPS
Usage
To use django_languageselect in a project, add it to INSTALLED_APP
INSTALLED_APP = [
*INSTALLED_APP,
'django_languageselect',
]
Add this to your urls.py
urlpatterns = [
*urlpatterns,
url(r'^languageselect/', include('django_languageselect.urls')),
]
Use the languageselect tag where you which to show languages list:
{% load languageselect %}
{% languageselect %}
Routes
The only url provided by this application is "languageselect_index". Required GET-parameter is "language", optional GET-parameter is "next". Next contains the named url to redirect after the language change. This parameter is pre-filled with the current page url. Customization
Feel free to use your own template, just add languageselect/layer.html
- Free software: MIT license
Tests
Tests will be automatically run by travis on commit to master.
They can also be executed locally using docker-compose by running docker-compose up
Making a new release
bumpversion is used to manage releases.
Add your changes to the HISTORY_ and run docker-compose run --rm python bumpversion <major|minor|patch>
, then push (including tags)
History
5.0.1 (2024-06-27)
- Remove support for Python below 3.10
- Remove support for Django below 4.2
- Add support for Django 5.0
- Add support for Python 3.11
- Add support for Python 3.12
- Modernize build and test environment
5.0.0 (2024-06-27)
Not released to due an issue with the deploy action
4.0.1 (2023-01-02)
- Remove support for Django < 3.2
- Remove support for Python < 3.8
- Modernize build and test environment
4.0.0 (2023-01-02)
Not released to due an issue with the deploy action
3.0.0 (2021-05-05)
- Remove support for Django 2.x
- Remove utf 8 headers as all Python 3 files must be unicode anyways
- Fix CI badge in readme
- Modernize build and test environment
2.0.2 (2021-05-05)
- Remove setting language in session as this was depreacted since Django 2.x and is broken with Django 3.x
- Add tests for Django 3.2
- Remove old python 2 and Django compatibility code
2.0.1 (2021-03-25)
- Fix documentation syntax
2.0.0 (2021-03-25)
- Update packages
- Update Docker env
- Remove support for Django < 2.2
1.0.0 (2019-11-04)
- Update packages
- Remove Python 2 support
- Add docker container to run tests locally
0.1.6 (2018-01-27)
- Add missing folders and modules from package
0.1.5 (2018-01-15)
- Add support for python 3 and Django 2, impleneting tests in travis ci
0.1.4 (2017-04-18)
- Rename package to django_languageselect (backwards incompatible) to be able to import the module
0.1.3 (2016-06-17)
- Fix session key to store language, Django 1.9 compatibility