If you want to contribute to ZenMaxBuilder (ZMB) project and make it better, your help is very welcome.
# [ZMB] ZenMaxBuilder...
# -------------------------------------------------------------------
# 0. ==> starting blocks (RUN)
# 01. MAIN..........: zmb main processus (FUNC)
# 02. MANAGER.......: global management of the script (FUNC)
# 03. COLLECTER.....: functions to grab something (FUNC)
# 04. CONTROLLER....: functions to check something (FUNC)
# 05. STARTER.......: starts a new kernel compilation (FUNC)
# 06. TOOLCHAINER...: functions for the toolchains setting (FUNC)
# 07. MAKER.........: exports settings and runs make (FUNC)
# 08. PACKER........: functions for the zip creation (FUNC)
# 09. QUESTIONER....: questions asked to the user (FUNC)
# 10. TELEGRAMER....: kernel building feedback (FUNC)
# 11. VERSIONER.....: displays the toolchains versions (FUNC)
# 12. READER........: displays the compiled kernels (FUNC)
# 13. PATCHER.......: patchs/reverts patches to a kernel (FUNC)
# 14. INSTALLER.....: toolchains install management (FUNC)
# 15. UPDATER.......: updates the script and toolchains (FUNC)
# 16. FINDER........: displays mobile device specifications (FUNC)
# 17. HELPER........: displays zmb help and usage (FUNC)
# 00. ==> runs zmb main processus (RUN)
# -------------------------------------------------------------------
# [!] Code Style, Naming Convention...
# -------------------------------------------------------------------
# - Line length: max 78
# - Variable: uppercase only while needs to be exported or logged
# - Function: without function keyword and starts with an underscore
# - Condition: always use the power of the double brackets
# - Command: prefer the use of _command() function to handle ERR
# - Exit: always use _exit() function to rm temp files and get logs
# - Language: see Contributing Guidelines...
# -------------------------------------------------------------------
ZenMaxBuilder being translated into several languages, all translations are assigned as variables from a CFG file. You don't have to worry about the different translations, just add your variables in lang/en.cfg
(which is the main language file) and run the dedicated script that will translate and add the new variables in the different translation files :
bash src/translate.sh zmb
In case you'll add some language strings, please respect naming convention :
# Note.......: MSG_NOTE_*
# Warning....: MSG_WARN_*
# Error......: MSG_ERR_*
# ...
If you know another language and are willing to help translate ZMB, here are the steps to get started:
- Follow pull request guidelines as described below.
- Create a new file for your language in
lang
folder. - Name this file with the code of your language.
MANUAL TRANSLATION
- Copy all the content of
lang/en.cfg
into it. - Implement your translations. *
- Create a new pull request to submit your language.
AUTO TRANSLATION
- run
bash src/translate.sh zmb
- Check for errors/typo. *
- Create a new pull request to submit your language.
* ZMB being launched from a terminal, please respect line length (max 72).
language | flag | translator | progress |
---|---|---|---|
English | 🇬🇧 | @grm34 | 100% |
Spanish | 🇪🇸 | @grm34 | 100% |
French | 🇫🇷 | @grm34 | 100% |
German | 🇩🇪 | @0n1cOn3 | 100% |
- Create a personal fork of the project on Github.
- Clone the fork on your local machine.
- Add the original repository as a remote called
upstream
. - If you created your fork a while ago be sure to pull
upstream
changes into it. - Create a new branch to work on!
- Implement/fix your feature, comment your code.
- Follow the code style of the project, including indentation.
- Push your branch to your fork on Github, the remote
origin
. - From your fork open a pull request in the correct branch.
- Target the project's
zmb
branch! - Further changes are requested so just push them to your branch.
- Once the pull request is approved and merged you can pull the changes
from
upstream
to your local repo and delete your extra branch(es).