-
Working on Fedora L10n
-
In the last few days I’ve been working on Fedora’s L10n infrastructure. Not all of it was exciting, but we really need to increase the quality of our international desktops.
Why? Well, for start, Lord Smolt informs that 3 out of 10 registered systems are non-English, and I estimate another 2/10 of the en_US have localized desktop sessions (so that users won’t be facing encoding problems on the command-line). That’s 50% of the systems, although the numbers are probably much higher (of the top 10 spoken languages in the world, English is a mere 12%). Also, the Fedora Localization Project (FLP) is one of our biggest groups of contributors: AFAIK, more than 2000 people have contributed translations to Fedora, and the active translators are probably more than 300. Besides, with the arrival of OLPC, the importance of localized desktops is more evident than ever.
Internationalization (i18n) and localization (L10n) are basically ways of adapting resources for non-native environments (different locales), of various nations and cultures. i18n is the process of building a resource making no assumptions on the locale; for example write software using the gettext library to export translatable strings to translators. L10n is the actual process of adapting the resource to a particular locale, for example with translations. Basically they are both the same thing; i18n is the technical part of L10n.
The truth is that Fedora has a lot of problems in this area. A bunch of our software have i18n problems and can’t be localized. Until recently, font rendering was very ugly in non-latin alphabets and on the command-line greek support was broken. Can you imagine the frustration of a french person who opens up the Help menu of
system-config-network
and finds a completely incomprehensible text there? On the L10n side, translators need to sign up for two different systems and jump through hoops to translate software hosted on different SCMs.So, what have we done in the to make our processes better?
- We created a ‘cvsl10n’ group in our account system, which identifies all translators, and put up /wiki/L10N/Join which describes the steps to become a member.
- We are moving our L10N infrastructure on public systems (yay for openness!). The Docs Project spearheaded this process, and handled translations by giving RW access to ‘cvsl10n’ to all its
*/po/
directories. A translation contribution became a simplecvs commit <docs-module>/po/lang.po
away for any translator. F7 docs were translated in more languages than the FC6 ones. - We’ve identified language teams and maintainers, in order to keep communication channels between teams flowing and fragmentation low.
- Fedora L10n is planned to become a product in bugzilla, so that bugs for translations can be filed and assigned directly to the people who can actually fix them (ie. not the developer).
And finally, we are building an exciting new front-end to L10n, to replace the rusty
i18n.redhat
one. Besides translation statistics, it presents i18n errors of the module and urges people to code using the standard libraries, which increase interoperability. It also supports Subversion, Mercurial, and GIT repos. You can give it a spin at the testing system we’ve put up:
We’ve got some exciting times ahead of us, which will give Fedora, and hopefully many downstream and upstream projects the opportunity to increase their reach a lot.