Clone this wiki locally
This page describes how to contribute uim and make uim better. In general, you have 3 ways to constribute uim:
- Sending a pull request to a GitHub repository
- Reporting using the GitHub issues
- Posting to the uim-en mailing list
You need to create an account before contributing uim: a GitHub account for sending a pull request and reporting bugs, and a Google account for subscribing and posting to the uim-en mailing list.
The intended audience of this page is mainly a non-committer, who doesn't permission to commit the uim repository.
Reporting a bug
When reporting a bug, you should include the following items in your report:
- uim version
- OS (distribution) and its version
- description on the bug
Check the existing issues before reporting your bug to avoid duplication.
Fixing a bug
When fixing a bug, you should include the following items in your report:
- your patches to fix the bug (your commits for a GitHub pull request)
- description on the bug
- description on what your patch does
You should use "git format-patch" when creating your patch. For detail, see DevelopUim.
You can see the existing bug reports by using the GitHub issues.
Requesting a feature
If you choose to use the GitHub issue, set its label to "enhancement".
Adding a feature
When you want to add a new feature to uim, you should include the following items in your report:
- your patches to add a new feature (your commits for a GitHub pull request)
- description on the feature
- description on what your patches do
If your patches (commits) pass a commiter's review, your patches (commits) will be merged into the uim repository.
If your patches (commits) are non-trivial and accepted by a committer, the committer may make you a committer.
The translation files (po files) in the uim repository is in po directory. You can get the translation files with Git:
$ git clone https://github.com/uim/uim.git $ cd uim/po $ ls *.po
The names of the po files are based on language code. For example, the po file for the German language is "de.po" because "de" is a language code for the German language. You can see all the language codes in Appendix A Language Codes in the official gettext manual.
If the uim repository have a po file corresponding to your native language, edit the file and post the po file to the uim-en mailing list. Instead, you can also send a GitHub pull request to add the po file.
If the repository doesn't have a correspoing po file, you need to create one. Here is how to create a po file.
First, install the gettext package. The gettext package is required to create a po file.
Secondly, create a pot file (uim.pot) with
make update-po in the po directory:
$ make update-po
A pot file is required to create a po file.
Thirdly, create a po file with
msginit in the po directory:
msginit is in the gettext package and creates a po file from a pot file.
Fourthly, edit the created po file. Though you can use any text editor to edit a po file, there are some po file editors
Finally, post the po file to post the GitHub issues or the uim-en mailing list. Instead, you can also send a GitHub pull request to add the po file.