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.
- 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)
We support all django versions greater or equal 2.2.20.
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
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
use syncdb
./manage.py syncdb
or migrate:
./manage.py migrate
via python shell
./manage.py shell from translation_manager.manager import Manager m = Manager() m.load_data_from_po()
this is optional in case you need it
{% url admin:translation_manager_translationentry_changelist %}
If you are using different base site you have to register admin to your site.
Django Translation Manager is available under Mozilla Public License 2.0
http://choosealicense.com/licenses/mpl-2.0/
We really appreciate every donation that helps us take Django Translation Manager to the next level.