Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Translations for the Sonar Core Platform: making the Sonar Core Platform available in a new language requires to develop and publish a new Language Pack plugin.
  • Translations for the Sonar Community Plugins: open-source plugins of the Sonar Community (hosted in the Plugins Forge) must embed only the bundles for the default locale. Translations will be done in the Language Pack plugins.

  • Translations for other Plugins: closed-source/commercial/independant plugins must embed the bundles for the default locale and the translations for every language they want to support.
Tip
titleTo sum up
  • Sonar Core Platform and Sonar Community Plugins rely on Language Pack plugins to get translations
  • Other independant Sonar plugins embed by themselves all the translations they need

Translation bundles

There are 2 two types of files for localized messages:

...

Warning
titleUTF-8 encoding

In the Java API, properties files are supposed to be encoded in ISO-8859 charset. Without good tooling, this can be quite annoying to write translation for languages that do not fit in this charset.
This is why we deciced to encode the properties files in UTF-8, and let Maven turn them into ASCII at build time thanks to native2ascii-maven-plugin (check the French plugin POMpom.xml). This makes the process of writing translations with a standard editor far easier.
HTML files must also be encoded in UTF-8.

...

Code Block
# localize dates or datetimes
l(date_or_time)

GWT API

GWT provides its own mechanisms to internationalize components. The static technique is the most efficient and must be used into Sonar GWT extensions. Read the Google documentation for more details.

Java API

The component org.sonar.api.i18n.I18n is available for server extensions. Batch extensions are not supported yet and can not load bundles.

How to handle a Language Pack

...

A Language Pack defines bundles for the Sonar Core Platform and for Sonar Community Plugins.

...

The easiest way to create a new pack is to copy the French Pack and to adapt it to your language.

...

  • The English Pack - which contains all the bundles of the Sonar Core Platform that should be translated (you are not obliged to translate them all at once, you can proceed with baby steps)
  • The following Sonar Community Plugins which support L10n (as of August 2012):
    • Abacus
    • Branding
    • JIRA
    • Tab Metrics
    • Thucydides
    • Useless Code Tracker
    • Violation Density
    • Web
    • Widget Lab

...