Skip to main content

A django module to derive a language code based on visitor IP

Project description

Ip2Language
===========

This package provides an easy way to use maxmind's API to set an appropriate language code. This is useful, if we want to avoid using a language selector and cookies.


------------
Installation
------------

Firstly, install the package. Usage of pip is recommended:
pip install ip2language

Next, add the package to the INSTALLED_APPS setting:
INSTALLED_APPS = (
'ip2language',
...
)

Then we can add the middleware:
MIDDLEWARE_CLASSES = (
'ip2language.middleware.LanguagePreferenceMiddleware',
...
)

And it's important to add a setting to specify what language codes should be mapped to what language codes. This allows us to arbitrarily assign different fallbacks for different languages:
GEOIP_LANGUAGES = {
'NL': 'nl',
'BE': 'fr',
}
The keys in this dictionary should be a subset of the country codes supported by maxmind. For reference, this list can be viewed here:
http://dev.maxmind.com/geoip/codes/iso3166
The corresponding values can be any language code that's valid in the django project. The middleware will end up using this code in the redirect url.

Next, we will set a universal fallback:
GEOIP_FALLBACK_LANGUAGE = 'en'
This means that any visitor who is not in one of the specified countries, will view the content associated with the 'en' language code.

* geoip dat file loc
Lastly, we need to tell the module where it can find a valid geoip database:
GEOIP_DATABASE = '/usr/share/GeoIP.dat'

that's all folks!

Project details


Release history Release notifications | RSS feed

This version

0.1

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-ip2language-0.1.tar.gz (6.3 kB view details)

Uploaded Source

File details

Details for the file django-ip2language-0.1.tar.gz.

File metadata

File hashes

Hashes for django-ip2language-0.1.tar.gz
Algorithm Hash digest
SHA256 dda7efd28963e4034631da5f2929e21f20d59f8343fdea2fc4dcc76061ae8569
MD5 f2087ea9633717b4e9d51d9b72e25bc1
BLAKE2b-256 a45ca673f6586311212fb65920609595d673780dfa0e72cf55dc1a235366dbaa

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page