ContributeUim

Muneyuki Noguchi edited this page Mar 22, 2015 · 2 revisions

Introduction

This page describes how to contribute uim and make uim better. In general, you have 3 ways to constribute uim:

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.

Details

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.

Translating

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

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

  • Gtranslator
  • Lokalize
  • Poedit

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.