Views

Translator Guide

Contents

Role

Workspace of: Translator
Browse this workspace
Browse other Workspaces
Members Corner
Contacts
Contact us
Main Guides
Translator Guide
Active tickets (Trac)
Workspace's Tickets

The role of the translator is to mainly translate in various language the Jajuk manual and interface.

Already translated

These languages are already translated or are being translated :

  • Catalan (ca)
  • Dutch (nl) *
  • English (en) [Default language]
  • French (fr)
  • Galician (gl)
  • German (de)
  • Greek (gr)
  • Italian (it) *
  • Korean (ko) *
  • Russian (ru)
  • Spanish (sp)
  • Swedish (sv) *

(*): Partially translated

Target

Anyone can translate Jajuk, no computer science is required. Note this is a voluntary work. For any question or comments, please contact us. Current Jajuk version translation should take few hours and upgrade only few minutes.

Mailing list

Translators should subscribe on the translators mailing list to get information about internationalization issues and translation update needs.

Jajuk translation

Jajuk uses a custom internationalization (i18n) system based on a XML file that allow translators to edit directly text files even when using non-european characters. Langpack files are named jajuk_{locale}.properties where {locale} is a ISO language code. jajuk.properties contains default resource bundle (English) and you have a property file for each language.

  • Get property file of your choice as a source language. Example: take last release of jajuk.properties as English source language or any other property file in this directory.
  • Create your text file. It should begin with:
#Jajuk {your language} langpack.
#Written by : {your name}
#Copyright {current year} The Jajuk Team, this is part of Jajuk distributed under the GPL V2 license
#FROM {source language} {SVN version}
#$Revision: $

FROM comment gives exact SVN version you translated to allow diffs with newer versions and Revision gives automatically the current SVN version of your file ( do not change this line manually, it will be updated by SVN). Example:

#Jajuk Galician langpack.
#Written by : Xabier Cancela
#Copyright 2008 The Jajuk Team, this is part of Jajuk distributed under the GPL V2 license
#FROM en 3425
#$Revision: $
  • You have to write your files in Unicode UTF-8 encoding. If you don't know how to set the encoding, please contact us. Under Windows, we suggest using Eclipse (see developer manual for eclipse i18n configuration) or Ultraedit. Under Linux, we suggest using Eclipse (see developer manual for eclipse i18n configuration) or Kate. If you didn't used UTF-8, we will convert it for you but please give us the encoding you used. If you don't know which encoding you used, start Jajuk, go to Help perspective/About view, click on the system tab and your encoding is given by file.encoding property.
  • Look at file structure: It is a simple key=value format. Example:
ParameterView.73=Check this if you allow others people to come read music from your box
ParameterView.74=Password :
ParameterView.75=Set password access to your box. 

Simply translate each value, Previous example in French:

ParameterView.73=Accepter que d'autres utilisateurs lise la musique située sur votre machine
ParameterView.74=Mot de passe :
ParameterView.75=Fixez un mot de passe à votre machine.
  • Translate even lines like Language_desc_*=* (other languages names) and add a new line with your own language.
  • Some lines are under comments like "limited size". In this case, make sure to keep your translation short to ensure correct display.
  • Send us your work as a property file with your local ( ex: jajuk_ru.properties for Russian ). Contact us if you have a developer profile so we will create a SVN account for you. Then you will be able to commit and maintain your translation files directly from the repository.

Optional, for translators with developer skills

  • If you want to test your work (ant must be installed):
    • Edit {jajuk installation path}/src/org/jajuk/util/Messages.java file and search for line :
public static final String[] locales = { "en", "fr", "de", ...};

Then, add your your own locale.

    • Copy your properties file in the {jajuk installation path}/src/org/jajuk/i18n directory
    • Go in the {jajuk installation path} directory where you can find the build.xml file
    • Rebuild Jajuk typing ant
    • Launch Jajuk and set language in the parameter view of the configuration perspective.
    • Check your work.

Translation upgrades

As you can imagine, Jajuk evolves and new releases brings new labels or change them. Before new releases, the packager sends messages to translators mailing list to request translation upgrade. Note that if some new labels are not translated, they will simply be displayed in English and so, a partial langpack is not critical. The hard work is the first translation : upgrade a translation usually requires only few minutes. You only need a web browser and a text editor supporting UTF-8 (see suggested text editors in the Jajuk translation section). You can upgrade your translation whenever you want. What you have to do when upgrading a translation is :

  • If your source (FROM) language is NOT English, make sure it is up to date before upgrading it.
  • Check your #FROM comment at the beginning of your file, it should contain SVN release version of your last upgrade.
  • Perform a 'diff' between this release and the latest in SVN repository using ViewVN interface accessible from here
  • Remove old labels, modify and add new ones.
  • Upgrade the #FROM comment with the translated release.
  • Commit your file or contact us.

Tips

  • Do not modify keys but only values. In "Label.1=foo", "Label.1" is the key and "foo" is the value.
  • If a value contains a '\ ', do not drop it, it means there is a space at line start
  • Keep <html>, </html> or others tag strings
  • Keep all punctuation and specials characters like '[','.' and so on...
  • Try to keep values length near from source ones so labels will not be too long and stay visible
  • Use a spelling corrector


See also