Skip to content

cisarpavel/django-translation-manager

 
 

Repository files navigation

README

Travis Code Health PYPI Read the docs

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_save signal to restart webserver:

    from translation_manager.signals import post_save as translation_post_save
    
    translation_post_save.connect(restart_server, sender=None)
    

Supported versions of django

We support all django versions greater or equal 1.8.

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 0.9.1 and django-redis-cache 1.6.5

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.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 93.0%
  • HTML 7.0%