README
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()
Add link to translation admin
this is optional in case you need it
{% url admin:translation_manager_translationentry_changelist %}
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/
Donate
Thank you!
We really appreciate every donation that helps us take Django Translation Manager to the next level.