######
README
######


.. image:: https://travis-ci.org/COEXCZ/django-translation-manager.svg
   :target: https://travis-ci.org/COEXCZ/django-translation-manager
   :alt: Travis

.. image:: https://landscape.io/github/COEXCZ/django-translation-manager/master/landscape.svg?style=flat
   :target: https://landscape.io/github/COEXCZ/django-translation-manager/master
   :alt: Code Health

.. image:: https://img.shields.io/pypi/v/django-translation-manager.svg
   :target: https://pypi.python.org/pypi/django-translation-manager/
   :alt: PYPI

.. image:: https://readthedocs.org/projects/django-translation-manager/badge/?version=master
   :target: http://django-translation-manager.readthedocs.org/en/master/
   :alt: 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 2.0.2.


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
======

.. image:: https://img.shields.io/badge/paypal-donate-yellow.svg
   :target: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=PUQZRR48HXXDC



Thank you!
----------

We really appreciate every donation that helps us take Django Translation Manager to the next level.
