# Contributing to SOGo ## Reporting Bugs and Suggesting Enhancements If you encounter a possible bug with SOGo, you can access our [bug tracking system](https://bugs.sogo.nu/). Please make sure to respect the following guidelines when reporting a bug: * verify that the bug you found is not already known or even fixed in the `master` version * make the actual facts very clear; be precise, we need to be able to reproduce the problem * explain your speculations, if any * add a screenshot to the ticket if appropriate ## Submitting a Pull Request Begin by reading [SOGo Developer's Guide](../Documentation/SOGoDevelopersGuide.asciidoc). ### Translations Three type of files must be translated. The first type are **Localizable.strings**; they can be translated online using **[Transifex](https://www.transifex.com/alinto/sogo/)**. To use Transifex, you must first sign up for a [free account](https://www.transifex.com/signup/). Once registered, [request a new team](https://www.transifex.com/alinto/teams/) for your language. Once authorized, you'll be able to start/continue translating SOGo in your language. The second type are **wox and html templates**. Only words outside the tags (<>) must be translated. Start by duplicating the English templates: * [UI/Templates/SOGoACLEnglishAdditionAdvisory.wox](https://raw.githubusercontent.com/alinto/sogo/master/UI/Templates/SOGoACLEnglishAdditionAdvisory.wox) * [UI/Templates/SOGoACLEnglishRemovalAdvisory.wox](https://raw.githubusercontent.com/alinto/sogo/master/UI/Templates/SOGoACLEnglishRemovalAdvisory.wox) * [UI/Templates/SOGoACLEnglishModificationAdvisory.wox](https://raw.githubusercontent.com/alinto/sogo/master/UI/Templates/SOGoACLEnglishModificationAdvisory.wox) * [UI/Templates/SOGoFolderEnglishAdditionAdvisory.wox](https://raw.githubusercontent.com/alinto/sogo/master/UI/Templates/SOGoFolderEnglishAdditionAdvisory.wox) * [UI/Templates/SOGoFolderEnglishRemovalAdvisory.wox](https://raw.githubusercontent.com/alinto/sogo/master/UI/Templates/SOGoFolderEnglishRemovalAdvisory.wox) * [SoObjects/Mailer/SOGoMailEnglishForward.wo/SOGoMailEnglishForward.html](https://raw.githubusercontent.com/alinto/sogo/master/SoObjects/Mailer/SOGoMailEnglishForward.wo/SOGoMailEnglishForward.html) * [SoObjects/Mailer/SOGoMailEnglishReply.wo/SOGoMailEnglishReply.html](https://raw.githubusercontent.com/alinto/sogo/master/SoObjects/Mailer/SOGoMailEnglishReply.wo/SOGoMailEnglishReply.html) The third type is the locale file formatted as a **plist**. Duplicate the English locale. Beware that words with other characters than [a-zA-Z] (accents, non-latin...) must be between double quotes ("). You can look at other files as arabic or french to have an example: * [UI/MainUI/English.lproj/Locale](https://raw.githubusercontent.com/alinto/sogo/master/UI/MainUI/English.lproj/Locale) Once translated, create an archive with all the files and [contact us](https://sogo.nu/support.html#/commercial). We'll integrate it in the next version of SOGo. ### Git Commit Guidelines We have very precise rules over how our git commit messages can be formatted. This leads to **more readable messages** that are easy to follow when looking through the **project history**. It is important to note that we use the git commit messages to **generate** the [CHANGELOG](../CHANGELOG.md) document. Improperly formatted commit messages may result in your change not appearing in the CHANGELOG of the next release. ### Commit Message Format Each commit message consists of a **header**, a **body** and a **footer**. The header has a special format that includes a **type**, a **scope** and a **subject**: ```html ():