How to contribute¶
Contributing to the code¶
Please read the contribution guidelines
Key rules at a glance¶
- Pick an issue first. Look for an existing issue or create one, and comment on it before opening a Pull Request. Wait until the issue is assigned to you before starting work.
- One Pull Request, one commit. Squash your work into a single commit with a descriptive message that reflects your changes.
- Naming. Create a dedicated branch named after the issue you are addressing.
- License. By submitting a Pull Request, you license your contribution under the project's LGPLv3 license ("Inbound = Outbound").
AI-assisted contributions¶
You may use AI tools to assist your contributions, but you remain fully responsible for everything you submit.
- Understand it: you must be able to explain every line of your code.
- Test it: AI-generated code must pass all tests and security checks.
- Disclose it: pick an AI assistance level (0–5) in the Pull Request template.
- Own it: you are the author. If a reviewer asks "why?", you answer — not the AI.
AI tools must not be used to fix issues labelled good first issue. These exist for human learning.
Contribute to the translation¶
Translate the documentation¶
You can translate the documentation by creating/modifying the markdown files in docs/doc in the website repository.
Translate the software¶
QualCoder supports multilingual functionality using two types of translation files:
- Gettext files (.po or .mo), which contain the software translation;
- QT language files (.ts or .qm) corresponding to the user interface.
To translate:
- Create a language file (if one does not already exist) using this command:
python rebuild_lang.py --create --lang LANGUAGE_CODEPlease note that the names of your language files must comply with the ISO 639-1 format. - If a language file already exists, you can update the translations using
python rebuild_lang.py --update --lang LANGUAGE_CODE. - You can edit the translations of the .po and .ts files in the src/i18n folder using the Poedit software.
- Once the work is complete, compile to machine format using this command:
python rebuild_lang.py --compile --lang LANGUAGE_CODE.