How to translate Jitsi

All current translations are available at http://translate.jitsi.org.

Please create an account and select a project or a language to get started. If you have any trouble, or if your language is not listed there, feel free to contact us on our dev mailing list.

Note to translators

  • \ at the end of a line means that the translation is continued in the next line
  • {0}, {1}… are parameters which will be replaced by the actual text at runtime, place them as you wish
  • you cannot use single quotes when a parameter is used in the sentence. For example, <You can't move contact {0}>, <Contact {0} doesn't exist>, or <Accept '{0}'> does not display correctly. In such cases, you need to use type quotes twice (''): <You can''t move contact {0}>, <Contact {0} doesn''t exist>, or <Accept ''{0}''>

You can see some examples here.

Translate offline and test the result in Jitsi

You can of course translate the files locally and then submit them to our pootle server. Jitsi uses java properties files while pootle uses gettext po files, so the procedure to test your translated strings in Jitsi before sending them to pootle can be a bit tricky. Here is how to achieve it.

There are 2 possibilities:

  • either you download the po file from Pootle, you translate in your favorite po editor, and convert it in a java properties file to test your translation within Jitsi.
  • or you can directly work on a resources_xx.properties file (where xx is the ISO 639-1 language code of your language) that you will convert to a po file before submitting to pootle.

Convert between po and java properties

You need the translate toolkit to make the conversion.

To convert from po to properties, you use:

 po2prop --personality=mozilla -t resources.properties xx.po resources_xx.properties

To convert from properties to po, you use:

 prop2po --personality=mozilla --duplicates=msgctxt -t resources.properties
resources_xx.properties xx.po

Testing your strings in Jitsi

Get the Jitsi source code as explained here.

All translation files must be placed in resources/languages. Then, you must rebuild the project with:

 ant rebuild

Finally, you can set your language via the general option menu, or by starting the application with:

 ant -Duser.language=xx run