Metadata-Version: 2.1
Name: django_languageselect
Version: 5.0.1
Summary: Simple language select as custom template tag
Home-page: https://github.com/RegioHelden/django-languageselect
Author: RegioHelden GmbH
Author-email: entwicklung@regiohelden.de
License: MIT license
Keywords: django_languageselect
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Description-Content-Type: text/markdown
License-File: LICENSE
License-File: AUTHORS.md
Requires-Dist: Django >=4.2

# django_languageselect

[![PyPI](https://img.shields.io/pypi/v/django_languageselect.svg)](https://pypi.python.org/pypi/django_languageselect)
[![PyPI](https://github.com/RegioHelden/django-languageselect/actions/workflows/build.yml/badge.svg)](https://github.com/RegioHelden/django-languageselect/actions)

Simple language select as custom template tag

## Requirements

- `"django.middleware.locale.LocaleMiddleware"` in `MIDDLEWARE_CLASSES` / `MIDDLEWARE`
- `"django.core.context_processors.request"` in `TEMPLATE_CONTEXT_PROCESSORS` / `TEMPLATES['OPTIONS']['context_processors']`
- Add `"django_languageselect"` to `INSTALLED_APPS`

## Usage

To use django_languageselect in a project, add it to `INSTALLED_APP`

```python
INSTALLED_APP  = [
    *INSTALLED_APP,
    'django_languageselect',
]
```

Add this to your urls.py

```python
urlpatterns = [
    *urlpatterns,
    url(r'^languageselect/', include('django_languageselect.urls')),
]
```

Use the languageselect tag where you which to show languages list:

```jinja
{% 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](https://github.com/peritus/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
