[[PageOutline(2-5,Contents,pullout)]] = Trac plugin l10n (localization) == Description Trac 0.12 was the first release providing Trac with message texts for other languages than English. Meanwhile, current stable Trac 1.0 has been released, and even translations for TracIni options are supported now: Top translations: Trac ยป [https://www.transifex.com/projects/p/trac/ trunk] Trac 1.0 interface localization: [[Image(http://www.transifex.net/projects/p/trac/resource/1_0-stable-messages-pot/chart/image_png)]] Trac 1.0 Javascript localization: [[Image(http://www.transifex.net/projects/p/trac/resource/1_0-stable-messages-js-pot/chart/image_png)]] Trac.ini 1.0 localization: [[Image(http://www.transifex.net/projects/p/trac/resource/1_0-stable-tracini-pot/chart/image_png)]] Charts kindly provided by [[Image(https://ds0k0en9abmn1.cloudfront.net/static/charts/images/tx-logo-micro.646b0065fce6.png, link=http://www.transifex.net/, title=the open translation platform, valign=bottom)]], based on the content of the catalogs uploaded there, which ''should'' correspond to the content of the catalogs in the repository. == Rationale Translating plugin message texts as well is a logical consequence of Trac supporting i18n/l10n. But this is a big challenge for a Trac plugin maintainer. The translator might be able to: 1. internationalize the messages inside the plugin code (i18n) and even 1. translate into message catalogs for only a couple of languages, because of the effort involved. However, Trac supports many more languages. == Who 'We', this is a team of volunteers using [http://www.transifex.net Transifex] as part of our workflow. Coming from different places our work is dedicated to localization of Trac plugins. And you're welcome to join us. It doesn't matter, if you're a skilled translator or a l10n newbie. Once registered with Transifex you have the chance to contribute to translations to many projects. The [http://www.transifex.net/projects/p/Trac_Plugin-L10N/ Trac plugin l10n project] is just one of them. == What There is a twofold offer: for maintainers of Trac plugins as well as for translators including Trac users in general that are willing to contribute. === Internationalization (I18N) We'll support i18n efforts as well as do it on our own. If you're about to start on your own, fine. However this might still be a hard job, especially at the first try. Please have a look at the [t:wiki:CookBook/PluginL10N#Prepareplugincode l10n cookbook page for Trac plugins]. We'd like to help with i18n issues, if requested and as much as our spare time permits. You could ask here, or write [wiki:hasienda me] directly. === Localization (L10N) We'll pick existing message catalogs on our own. But maintainers are free to participate actively by sending in * current POT files for translation as well as * existing PO files for central distribution and review at Transifex. To provide a uniform way for contributions to Trac plugins, there is a special [http://www.transifex.net/projects/p/Trac_Plugin-L10N/ Transifex project] backed by a dedicated [http://bitbucket.org/hasienda/trac_plugins-l10n Mercurial repository] at Bitbucket.org. For announcing i18n capability as well as available translations and way to contribute via this project at Transifex, please add a dedicated i18n/l10n section to the plugin's wiki page. Consider [SubticketsPlugin#Abouti18nl10nsupport SubticketsPlugin's page] as a good and re-usable example. == Notes Good translations respect a number of rules especially when it comes to [t:wiki:TracL10N#term-definitions Trac terms]. These are part of agreements per language, and agreements may be subject to disputes. Some Trac tickets are dedicated to [t:wiki:TracL10N#Translationcoordination translation coordination]. Additionally Trac plugin maintainers might provide their own hints, such as done at TracTicketTemplatePlugin. See the [t:wiki:CookBook/PluginL10N#Dotranslatorswork translator section] of the l10n cookbook page for Trac plugins for more details. And look at existing coordination pages for an number of languages here as well as other pages around the official [t:wiki:TracL10N Trac L10N] wiki page. == Discussion [add your questions here] - hasienda