| # How to contribute |
| |
| This document describes some points about the contribution process for OpenToonz. |
| |
| ## Pull-requests |
| |
| The OpenToonz organization loves any kind of your contributions, such as fixing typos and code refactoring. |
| If you fixed or added something useful to the OpenToonz, please send pull-requests to us. |
| We review the request, then we accept it, or add comments for rework, or decline it. |
| |
| ### Workflow |
| |
| 0. `fork` OpenToonz to your GitHub account from `opentoonz/opentoonz`. |
| - (use the `fork` button at the https://github.com/opentoonz/opentoonz) |
| 0. `clone` the repository. |
| - `git clone git@github.com:your-github-account/opentoonz.git` |
| - `git remote add upstream https://github.com/opentoonz/opentoonz.git`, additionally. |
| 0. modify the codes. |
| - `git checkout -b your-branch-name` |
| - `your-branch-name` is a name of your modifications, for example, |
| `fix/fatal-bugs`, `feature/new-useful-gui` and so on. |
| - fix codes, then test them. |
| - `git commit` them with good commit messages. |
| 0. `pull` the latest changes form the `master` branch of the upstream. |
| - `git pull upstream master` or `git pull --rebase upstream master`. |
| - apply [clang-format](http://clang.llvm.org/docs/ClangFormat.html) with `toonz/sources/.clang-format`. |
| - `cd toonz/sources` |
| - `./beautification.sh` or `beautification.bat`. |
| - `git commit` them. |
| - `git push origin your-branch-name`. |
| 0. make a pull request. |
| |
| ## Bugs |
| |
| If you found bugs, please report details about them using [issues](https://github.com/opentoonz/opentoonz/issues). |
| Then we will try to reproduce the bugs and fix them. |
| Unfortunately, bugs can sometimes only be reproduced in your own environment, |
| so we cannot reproduce them. We believe you can fix the bug and send us the fix. |
| |
| ## Features |
| |
| If you had an idea about a new feature, please implement it and send a pull-request to us. |
| Even if you cannot implement the feature, you can open a topic in [issues](https://github.com/opentoonz/opentoonz/issues). |
| It enables us to discuss about implementations of the feature there. |
| |
| ## Translations |
| |
| Translation source (`.ts`) files for OpenToonz GUI are located in `toonz/sources/translations`. |
| If you create new `.ts` files for your language or polish existing ones, |
| please send us those modifications as pull-requests. |
| [Qt Linguist](http://doc.qt.io/qt-5.6/linguist-translators.html) is useful for translating them. |
| |
| Please send us Qt message (`.qm`) files with `.ts` files if you can make the following modifications. |
| |
| OpenToonz uses `.qm` files generated from `.ts` files. |
| You can generate `.qm` files by using [Qt Linguist](http://doc.qt.io/qt-5.6/linguist-translators.html). |
| Please locate generated `.qm` files in `stuff/config/loc`. |
| It enables the OpenToonz installer to install them into the `stuff` directory. |