You want to spread Gajim to the world? Gajim can easily be translated to your language!
You can create new translations or just improve existing translations. On this page, you will find all the information you need in order to do just that. Also please register to translator mailing list if you like, so you know when updates are needed before a release.
or download the .po file, edit it with poedit or any other editor, and upload it back.
How should I translate and what should I keep in mind while translating
What is "Needs work" (or fuzzy in .po file)?
This means the originally translated english string has been modified. You should look carefully because the translation is wrong or incomplete in this case. Have a look at the punctuation in particular. When the string is translated correctly, uncheck the "Needs work" checkbox (or remove the #, fuzzy line in .po file).
What to do with strings like ?vcard:Unknown
You only have to translate the 'Unknown' part of the string. The '?vcard:' part is there to help you with the gender (masculine, feminin, neutral). See #675 (closed) for more on why it is needed.
What to do with strings that have stuff like %(nick)s ?
For example you see a string formed like this:
%(nick)s has been kicked by %(who)s: %(reason)s
It gives you the power to control the syntax, you MUST NOT translate the strings in %()s and you MUST HAVE them in the translated string. The rest of the string can be translated as usual. Rearranging the syntax can be done like in this example:
%(who)s kicked %(nick)s: %(reason)s
If you see _ in a string, it means your translation must have it too. Most of the times in the same word. If the original string says '_File', you can access this item via Alt + F in Gajim's user interface.
Be careful where you put . and where you don't
If you see a . (dot) at the end of the line, put it in your translation too. If you don't see a dot, do not put it in your translation.
One small example of what is meant by that is shown in the following text:
"Help me Go Somewhere Nice"
Your translation string should have the first letter in every word capitalized, except if that word is 'to', 'me', 'you', 'your', 'from', 'by', 'the', 'a', 'an', [...] in your language.
NOTE: The HIG acknowledges that different languages have different capitalization rules; for example, Swedish and Russian don't have header capitalization. Consult the GNOME Translation Project when in doubt.
If you have found strings that are not translatable but should be, please mention them in our channel email@example.com where we can help solve problems.
If you want to start translating Gajim into a new language, don't hesitate to ask us to add it.
What are Plural-Forms?
The Plural-Forms line tells gettext (used by Gajim for translations) how many plural forms there are in the language and how to use them. For example:
msgid "file" msgid_plural "files" msgstr "file" # your translation here msgstr "files" # your plural translation here (maybe more than one if you're polish, etc.)
Sometimes the English strings might be the same. "%d selected" doesn't change whether it stands for "1 selected" or "99 selected". If it does change in your language, you should translate the plural form differently.
MOTD: (message of the day) must be kept as is. A tooltip on MOTD will inform the user on what the 'message of the day' is.
translation-credits: When translating this special message, you put your name(s) there for credit. Each language has their own translation-credits (shown in Gajim's About window) You can use it like this:
compile the translation file with: msgfmt -o po/pt.mo the_file_you_edited.po (replace pt by your locale)
copy the compiled file to /usr/share/locale/pt/LC_MESSAGES/gajim.mo (replace pt by your locale)
launch Gajim, it should use your translation file if your 'LANGUAGE' environment variable is correctly configured.
Thank you very much!
Compiling plugin translations
In order to apply translations to plugins, Gajim’s Plugins Translations plugin is needed. The plugin provides compiled .mo files containing the translations.
How to compile
Gajim offers a script to compile the translations. For this to work, a symlink to the plugins repository is needed.
cd gajim-repository/scripts/devln -s gajim-plugins-repository ./community_plugins
Copy the donwloaded .po files from the appropriate translation project (e.g. Gajim Plugins master for plugins master branch) to gajim-repository/scripts/dev and execute the following command for each .po file (here, de.po gets compiled to de.mo):
./plugins_translate make_mo de
After that, all .mo files can be copied to gajim-plugins-repository/plugins-translations and after restarting Gajim, translations will be available.