crowdin_sync.py
==================

Introduction
------------
This script is used to synchronize CyanogenMod's translations with Crowdin's. Also, it can handle
automatic commiting to Gerrit and pushing/downloading to/from Crowdin.

Prerequisites
-------------
The Ruby variant of crowdin-cli is required for this to work.

    \curl -sSL https://get.rvm.io | bash -s stable --ruby
    source /home/your_username/.rvm/scripts/rvm # Add this to your .bashrc file!
    rvm all do gem install crowdin-cli

python-git is used for Git integration.

    sudo apt-get install python-git

The script is currently only python2 supported.

Executing
---------
Copy all files to the root of your local copy of CyanogenMod's source code.
Edit crowdin/config_cm.yaml to set the api key & your current CyanogenMod path.
Execute:

    ./crowdin_sync.py --username your_gerrit_username --branch cm_version [--no-download|--no-upload]

Bugs
----
 - When committing fails, the reason of it cannot be determined. Often this is just when there
   are no new translations, so the script will not exit when this happens.

Submitting changes
------------------
This repository is preconfigured to use the git-review plugin. More information can be found at:
https://pypi.python.org/pypi/git-review

You can upload your change to gerrit with commands like these:

    git add *
    git commit
    git review
