Skip to main content

Integrate django-modeltranslation with lokalise.co

Project description

Django modeltranslation-lokalise

Integrate django-modeltranslation with lokalise.co. It will let your project upload translatable fields of your model into lokalise.io using it's API and also update your local translations when someone updates them on lokalise.

Installing

pip install modeltranslation-lokalise

modeltranslation_lokalise depends on Django's contribtypes application, so make sure you include it in your INSTALLED_APPS setting before modeltranslation_lokalise:

INSTALLED_APPS = [
    ...
    'django.contrib.contenttypes',
    ...
    'modeltranslation_lokalise',
    ...
]

You need to provide your lokalise proyect id and your api key in order to let modeltranslation_lokalise properly update your translations.

LOKALISE_API_KEY = ''
LOKALISE_PROJECT_ID = ''

If you want to get your models updated automatically when someone updates them on lokalise, enable it by adding the view to your urls.py conf. Note that currently only translation.updated is supported:

from modeltranslation_lokalise import TranslationWebhookView

urlpatterns = [
    ...
    path('api/translations/', TranslationWebhookView.as_view(), name='translation_webhook'),
    ...
]

You also need to make migrations in order to create the necessary tables on your database to handle the translations:

python manage.py makemigrations
python manage.py migrate

How to use

Instead of using modeltranslation translator.register, you should use modeltranslation_lokalise.register_translation:

from modeltranslation.translator import TranslationOptions
from modeltranslation_lokalise.signals import register_translation

from your_app.models import Model1


class Model1TranslationOptions(TranslationOptions):
    fields = ('name', 'description',)


register_translation(Model1, Model1TranslationOptions)

And that's all, modeltranslations-lokalise will keep track of changes on your translatable models and import them in your lokalise project each time you update one of your translatable fields.

License

This project is licensed under the MIT License - see the LICENSE file for details

Project details


Download files

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

Source Distribution

modeltranslation-lokalise-0.1.3.tar.gz (6.7 kB view hashes)

Uploaded Source

Built Distribution

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