Skip to main content

Django app for managing translations from admin

Project description

Travis Code Health PYPI Read the docs

Django app for managing translations from admin.

Using this django app you can easily manage and publish translations from django admin without editing .po files manually.

Install package

  • use pip to get the package

pip install django-translation-manager
  • add ‘translation_manager’ to settings.py: INSTALLED_APPS

  • add variables from Translation Manager’s defaults.py to your settings.py

  • add post_publish signal to restart webserver:

from translation_manager.signals import post_publish as translation_post_publish

translation_post_publish.connect(restart_server, sender=None)

Supported versions of django

We support all django versions greater or equal 2.2.20.

Using with django-rq

We support asynchronous translation processing by django-rq.

Set translation processing method in settings.py

TRANSLATIONS_PROCESSING_METHOD = 'async_django_rq'

Inslall django-rq

pip install django_rq

Install django-redis-cache

pip install django-redis-cache

We tested it with django-rq 2.1.0 and django-redis-cache 2.1.0

For configuration django_rq see https://github.com/ui/django-rq

Using with Angularjs

We support translation for Angularjs client-site app via REST api

Enable api communication in settings

TRANSLATIONS_ENABLE_API_COMMUNICATION = True

Enable searching for translation strings in Angularjs source codes

TRANSLATIONS_ENABLE_API_ANGULAR_JS = True

Set path to Anguraljs source code files.

The important thing is that it must be in the same file system.

Configuration example:

TRANSLATIONS_API_CLIENT_APP_SRC_PATH = '/var/srv/front/src'

Add regex for matching translation strings in client app src files:

TRANSLATIONS_API_TRANSLATION_STRINGS_REGEX = r''

Inslall django REST framewrok

pip install djangorestframework

Add translation manager urls in your url patterns

from translation_manager import urls as translation_urls

urlpatterns.append(url(r'^translations/', include(translation_urls)))

We tested it with django-rest-framework 3.4.6

SyncDB

use syncdb

./manage.py syncdb

or migrate:

./manage.py migrate

Load strings from po files

via python shell

./manage.py shell

from translation_manager.manager import Manager

m = Manager()
m.load_data_from_po()

Known bugs

If you are using different base site you have to register admin to your site.

License note

Django Translation Manager is available under Mozilla Public License 2.0

http://choosealicense.com/licenses/mpl-2.0/

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

django-translation-manager-1.3.0.tar.gz (61.5 kB view hashes)

Uploaded source

Built Distribution

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page