|
# Translating Gajim
|
|
# Translating Gajim
|
|
|
|
|
|
![Nuvola_Esperanto_flag](/uploads/52eebdfebf0f95a94b47d929b03bacd8/Nuvola_Esperanto_flag.png) You want to spread Gajim to the world? You can translate Gajim easily in your language ! You can make new translations or just improve them. You will find in this page all you need in order to do that. Also please register to [translator mailing list](https://lists.gajim.org/cgi-bin/listinfo/translators) so you know when updates are needed before a release.
|
|
![Nuvola_Esperanto_flag](/uploads/52eebdfebf0f95a94b47d929b03bacd8/Nuvola_Esperanto_flag.png) You want to spread Gajim to the world? Gajim can easily be translated to your language!
|
|
|
|
|
|
## What to use to translate
|
|
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](https://lists.gajim.org/cgi-bin/listinfo/translators) if you like, so you know when updates are needed before a release.
|
|
|
|
|
|
PLease use the [translation website](https://translate.gajim.org). You can
|
|
## What do I use to translate Gajim
|
|
|
|
|
|
|
|
Translations are done on the [translation website](https://translate.gajim.org). You can
|
|
- translate online
|
|
- translate online
|
|
- or download the po file, edit it with poedit or any other editor, upload it back.
|
|
- or download the .po file, edit it with poedit or any other editor, and upload it back.
|
|
|
|
|
|
## PLEASE READ
|
|
## How should I translate and what should I keep in mind while translating
|
|
|
|
|
|
***What is "Needs work" (or fuzzy in po file)?***
|
|
**What is "Needs work" (or fuzzy in .po file)?**
|
|
|
|
|
|
This means the english string has been modified. You should look carefully because translation is wrong or incomplete. Have a particular look at the punctuation. When it's ok, uncheck the "Needs work" checkbox (or remove the #, fuzzy line 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 string like ?vcard:Unknown***
|
|
**What to do with strings like ?vcard:Unknown**
|
|
|
|
|
|
You translate only the Unknown part. The ?vcard: part is there to help you with the gender (masculine, feminin, neutral). #675 More on why it is needed
|
|
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). #675 More on why it is needed
|
|
|
|
|
|
***What to do with string that have stuff like %(nick)s ?***
|
|
**What to do with strings that have stuff like %(nick)s ?**
|
|
|
|
|
|
So you see:
|
|
For example you see a string formed like this:
|
|
|
|
|
|
`%(nick)s has been kicked by %(who)s: %(reason)s`
|
|
`%(nick)s has been kicked by %(who)s: %(reason)s`
|
|
|
|
|
|
this 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. So the correct translation is this (translate the normal text in your langague, here I do NOT do that so everyone can understand):
|
|
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`
|
|
`%(who)s kicked %(nick)s: %(reason)s`
|
|
|
|
|
|
|
|
|
|
***_ Explained***
|
|
**_ Explained**
|
|
|
|
|
|
|
|
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 <kbd>Alt</kbd> + <kbd>F</kbd> in Gajim's user interface.
|
|
|
|
|
|
|
|
**Be careful where you put . and where you don't**
|
|
|
|
|
|
If you see _ in a string that means your translation must have it too most of the times in the same word. So if _File then you can Alt+F.
|
|
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.
|
|
|
|
|
|
***Be careful where you put . and when you don't***
|
|
**Layout**
|
|
|
|
|
|
If you see a . (dot) in 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
|
|
Please try your translation to be robust. Be careful that strings don't break the [GNOME Human Interface Guidelines](https://developer.gnome.org/hig/stable/writing-style.html), those are provided for your language.
|
|
|
|
|
|
***Layout***
|
|
One small example of what is meant by that is shown in the following text:
|
|
|
|
|
|
Please try your translation to be robust and that strings don't break the GNOME Human Interface Guidelines as those are provided for your language.
|
|
"Help me Go Somewhere Nice"
|
|
|
|
|
|
One small example of this means that if you see the english text state:
|
|
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.
|
|
"Help me Go Somewhere Nice",
|
|
|
|
then your translation string should have the first letter in every word as Capital except if that word is to, me, you, your, from, by, the, a, an, [...] in your language. Please read https://developer.gnome.org/hig/stable/ for more.
|
|
|
|
|
|
|
|
_Note_: the HIG acknowledges that different languages have different capitalization rules; for example, Swedish and Russian
|
|
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.
|
|
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 room gajim@conference.gajim.org
|
|
If you have found strings that are not translatable but should be, please mention them in our room gajim@conference.gajim.org where we can help solve problems.
|
|
|
|
|
|
If you want to start a new language, don't hesitate to ask us to add it.
|
|
If you want to start translating Gajim into a new language, don't hesitate to ask us to add it.
|
|
|
|
|
|
***What is Plural-Forms?***
|
|
**What are Plural-Forms?**
|
|
|
|
|
|
The Plural-Forms line tells gettext how many plural forms there are in the language and how to use them. For example:
|
|
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 "file"
|
|
msgid_plural "files"
|
|
msgid_plural "files"
|
|
msgstr[0] "file" # your translation here
|
|
msgstr[0] "file" # your translation here
|
|
msgstr[1] "files" # your plural translation here (maybe more than one if you're polish etc..)
|
|
msgstr[1] "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 in your language, you should translate them differently.
|
|
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.
|
|
|
|
|
|
***Is your translation ready?***
|
|
**Is your translation ready?**
|
|
|
|
|
|
Check if there is no critical error in [the website](https://translate.gajim.org)
|
|
Check if there are no critical errors on [the website](https://translate.gajim.org).
|
|
|
|
|
|
***Explaining some strings***
|
|
**Some strings explained**
|
|
|
|
|
|
_MOTD_ (message of the day) must be kept as is. Tooltip on MOTD will inform the user on what that is.
|
|
_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 you translate that message, you put your name(s) there. like this:
|
|
_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:
|
|
|
|
|
|
msgid "translator-credits"
|
|
msgid "translator-credits"
|
|
msgstr ""
|
|
msgstr ""
|
|
"Name FamilyName <someone@somewhere>\n"
|
|
"Name FamilyName <someone@somewhere>\n"
|
|
"Name2 FamilyName2 <someoneelse@somewhere>"
|
|
"Name2 FamilyName2 <someoneelse@somewhere>"
|
|
|
|
|
|
**Trying your translation***
|
|
**Testing your translation**
|
|
|
|
|
|
* Downlod the po file from the website
|
|
* download the .po file from the website
|
|
* Compile the translation file with: msgfmt -o po/pt.mo the_file_you_edited.po (replace pt by your locale)
|
|
* compile the translation file with: `msgfmt -o po/pt.mo the_file_you_edited.po` (replace `pt` by your locale)
|
|
* Copy this file to /usr/share/locale/pt/LC_MESSAGES/gajim.mo (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
|
|
* launch Gajim, it should use your translation file if your 'LANGUAGE' environment variable is [correctly configured](help/gajimfaq#configuration).
|
|
|
|
|
|
|
|
|
|
Thank you very much! |
|
*Thank you very much!* |
|
\ No newline at end of file |
|
\ No newline at end of file |