Preparation:

A translation for your language can be done by translating a list of strings (sequence of symbols/words) that are visible in Gummi. Those strings are all gathered together in a plain-text file called template.po. The latest version of this file can be downloaded here. Already finished translations (examples) are listed in this directory.

Changing the header:

Open the template.pot file and change the header at the top to the appropriate settings:

msgstr "" 
"Project-Id-Version: PACKAGE VERSION\n" 
"Report-Msgid-Bugs-To: \n" 
"POT-Creation-Date: 2010-05-22 23:23+0800\n" 
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" 
"Language-Team: LANGUAGE <LL@li.org>\n" 
"MIME-Version: 1.0\n" 
"Content-Type: text/plain; charset=CHARSET\n" 
"Content-Transfer-Encoding: 8bit\n" 

Translating the strings:

Within the template.pot file, strings are listed in the form:

#: ../gummi/gui/gummi.glade.h:88
msgid "_Compile Bibliography" 
msgstr "" 

Fill in your translation for every alphabetical string in the msgstr field and make sure to put quotes around it. Some original strings contain an underscore followed by an alphabetical character. This means the character behind the underscore is used as a hotkey. Add a hotkey to your translated string in the same fashion. If the target language does not contains an English character, please surrounded the hot key by "(" and ")" braces as this (Chinese) example:

#: ../gummi/gui/gummi.glade.h:88
msgid "_Compile Bibliography" 
msgstr "編譯參考文獻(_C)" 

When you are finished, rename your completed .po file as LANG_CODE-$svn_revision_number.po. For example, 'en_US-335.po’.
Add your completed .po file as an attachment to the translation bug.

Update the translation:
SVN revision number in 'template-$svn_revision_number.po’ indicates the latest version of translation template.
If you find a language’s revision number smaller than that of the template, it means that the translation needs to be update.

In order to update, please follow the following step:
1. Download template.pot and place it in the same directory of your older translation LANG_CODE-$old.po.
2. install gettext package from your distribution repository.
3. go to terminal and cd to the directory where you put your .po files.
4. type 'msgmerge -U LANG_CODE-$old.po template.po'
5. Now the fields in the 'LANG_CODE-$old.po’ is updated, finish/modify the translation.
6. Rename the po file, type 'mv LANG_CODE-$old.po LANG_CODE-$new.po'
7. Upload the updated translation.

Thanks in advance, don’t hesitate to contact me per email or through the translation bug if you’re having any issue.