Translation contribution guide

Translating messages printed by yash

Yash supports GNU gettext to localize printed messages.

Translation to a new language

To contribute translation for a new language:

  1. Install make and gettext.
  2. Fork the yash repository on GitHub and clone it to your local workspace. (Even though the main repository of yash is subversion, I recommend using Git.)
  3. Run ./configure && make pofiles in the workspace.
  4. Enter the "po" directory and run msginit. This command creates a new po file with a name corresponding to your current locale.
  5. Insert translations in the po file. You can use any text editor or po file editor to edit the file. If you are not familiar with editing po files, take a look at the existing Japanese translation "ja.po" as an example. See GNU gettext documentation for details.
  6. Commit the po file, push it to GitHub, and send a pull request!

Updating translation

If you find outdated translation, please contribute a fix!

  1. Clone the repo in the same way as above.
  2. Edit the existing po file to fix the translation. Outdated translations are marked as "fuzzy" by the gettext tool. Remove the "fuzzy" mark and correct the translations.
  3. Commit the po file and please pull-request!

Translating the manual

The manual of yash is written in the asciidoc format and converted by asciidoc into HTML and manpages. Preparing the manual for a new translation is not very automated: A few files have to be copied by hand. Possibly you might have to localize asciidoc before translating the manual. Please let me know if you are interested in translating the manual.

Thank you!