• Northern Sotho

    July 31st, 2009 by seth bindernagel with 1 comment »

    Northern Sotho is an official language of South Africa, and you’ve probably guessed why I am blogging about it.  Thanks to the folks at Translate.org.za, Firefox is now available for use in this language (by way of an AMO Collection).

    Since one of our localization community leaders, Dwayne Bailey, posted the following message via Facebook, I thought I would repost it on my blog.  Sorry for lifting the email and reposting if you’ve already read this note, but I’m hoping to provide maximum coverage.

    “Are you a Sepedi speaker, Firefox user or able to help test a Pedi version of Firefox? Yes that probably means all of you ;)

    “This work is soon to be part of the African Network for Localisation (ANLoc) (http://www.africanlocalisation.net/) activities where we’ll be localising Firefox into a number of African languages. So your help here can help change the way Africans view the internet, create content, etc, etc. You’re about to change the world!

    “OK testers here we go:

    1. Make sure you have Mozilla Firefox. Visit http://www.mozilla.com and install Firefox if needed.
    2. Start Firefox
    3. Visit the Northern Sotho collection https://addons.mozilla.org/en-US/firefox/collection/northern-sotho
    4. Install both the Northern Sotho language pack and the Locale Switcher
    5. Restart Firefox
    6. Change your user interface language by selecting: Tools -> Languages -> Northern Sotho
    7. Restart Firefox

    “Enjoy Firefox in Northern Sotho!  Whenever we update the translations you should get new copies.   Please provide any feedback on the Translate.org.za Facebook wall (or on Seth’s blog).

    “If you would like to get involved in the actual translation or in fixing errors then please contact Dwayne via Facebook (or Seth’s Blog). If your interested we could have a Northern Sotho Firefox bug day at our offices and work at fixing any errors.  But most of all HAVE FUN!”

  • Help me test two Kiswahili versions of Firefox

    July 23rd, 2009 by seth bindernagel with 7 comments »

    Surely, you saw me fire off a response two weeks ago about playing politics with our Kiswahili localization communities.  Let’s move on from that flame war by summarizing our situation and presenting a path to a solution.

    Presently, we have two communities, the tzLUG and the Kilinux teams, who have translated the Firefox application into Kiswahili (sw-TZ).  Unfortunately, we have had tough luck in getting an unbiased, thorough evaluation of each body of work to help us decide which one to use.  As it turned out, it was hard to find a number of individuals familiar enough with technical writing and Kiswahili who had time on their hands to volunteer for Mozilla.  Furthermore, we didn’t have an easy package to evaluate, except for the “diff” of the code differences between the two.  Yeah, that sounds ugly and it was.  Still is.

    To solve what has become a long-standing debate, we asked each team leader to create a Mozilla language pack of their work as an add-on that we would then host on and promote though our addons.mozilla.org website.  Both teams agreed and uploaded their versions.  Since then, I created two separate “collections” that bundle each language pack with Ben Smedberg’s Locale Switcher addon.  Our hope is that end-users ready to test will install both versions and use the addons.mozilla.org site to provide feedback to each developer team.

    If you are interested in testing each version, please install the following two collections:

    Once you have installed these, you can switch between the two versions and your English interface by going to the menu item Tools –> Languages…

    Now for testing…

    Requirements: You must be able to read Swahili and English fluently and you must use Firefox.

    If you choose to test these localization language packs, you’ll need to follow something similar to the “Firefox 3.5 Localizer Test Run” that has been created in Litmus, Mozilla’s testing application.  If you use Litmus, please follow the steps I have posted in the first comment on this blog post.

    You can also just use each language pack and keep notes of errors you spot.  Whether you choose to use Litmus or not, please record any translation errors that you find in the user interface of each version.  Please be very descriptive and thorough with any notes you keep, and write the notes in English.  Take a look at the word choices, terminology, spelling, grammar, etc. and keep a record of errors you see.  When you are finished, you can submit your evaluation to me.  Just ping me on this blog.

    As always, please ask some questions if you have them.  Nothing is off limits.

  • What happened to two localizations on the day of Firefox 3.5’s release

    July 22nd, 2009 by seth bindernagel with 9 comments »

    Not everything is picture perfect in the world of Mozilla localization.  Though it pains me to say that, we hit two snafus at the release of Firefox 3.5.  Here’s what happened with our Macedonian (mk) and Serbian (sr) localizations, complete with a mea culpa and a plan on how to fix things going forward.

    On the day we released, our community found two very similar errors in our mk and sr builds.  In both cases, a misspelling of &brandShortName; inside an <!ENTITY> triggered the “the yellow screen of death” when users selected the Help -> Check for Updates… option to get the new version.

    A thousand apologies to our localizers and mk and sr users for not catching these errors pre-release.

    With damage control in full swing, we removed the two localizations from the Firefox 3.5 release channels so that users would not receive a broken version of Firefox. The two localizers and the l10n-drivers then worked through our options.  We could either release a special post-Firefox 3.5 Macedonian and Serbian version, or wait until the release of Firefox 3.5.1.

    The unexpected timing of the Firefox 3.5.1 release helped us with the above decision.  Although the circumstances of the security update were not ideal, it did allow us to release mk and sr earlier than expected, getting users of those localizations back on the release track. Furthermore, any users who might have gotten the broken mk or sr version of Firefox 3.5 on release day will be updated behind-the-scenes without having to check for updates.  [1]

    What happened on the 3.5 release day underscored a few errors in our system that need to be fixed. Here are the proposed and soon-to-be or already implemented measures we are taking to reduce this margin of error:

    • Localization sign-off via the Web: Rather than opting-in with change sets, localizers will soon select the Mercurial change set they want to use for a release from a list of IDs pulled from their locale’s repository.  How does this help?  In Macedonian’s case, a localizer *had* submitted to Axel a change set that corrected the error prior to RC3.  However, Axel was unreachable at a conference and couldn’t relay that update to me.  Sadly, I submitted the incorrect change set.  Mea culpa.  This application allows localizers, l10n-drivers, and Firefox project managers to view the choices that have been made, and to the extent possible, test to make sure that the version the localizer wants is good for release.
    • Test automation: We are working on creating a script that can be run by our QA team before each milestone that will scan for misspellings in things like &brandShortName;. This bug is tracking that progress.  Our QA team also is increasing the number of automated tests that will be run on each locale before each milestone release.
    • L10n-testable builds: Presently, we are producing testable nightly builds with Axel’s l10n-merge code that will create localizations with en-US strings replacing any untranslated ones.  Now, localization teams can give their testing communities something to test from the beginning of the release process.  In the past, localizers had to wait until they had 100% translation before we provided them a nightly build.
    • Localized builds with nightly updates: Added to the testable builds above, we’ll soon be able to offer nightly updates to localizers and their testing communities.  Right now, only en-US testers of Mozilla’s pre-release versions get nightly updates pushed to them.  Soon, *all* localizations will get these nightly updates pushed their way so our global testing community can see the most recent additions made by Mozilla’s developers.

    These tools empower the localizers and the testing community, and we believe will help narrow our margin of error so that we don’t repeat what happened to our mk and sr builds.

    Many thanks to our Macedonian and Serbian localization teams for their understanding and patience and sorry for the errors discovered at the time of the Firefox 3.5 release.

    [1] Mozilla developer rstrong and his team fixed this bug and cleaned up a lot of code for the Firefox 3.5 release so that users of Firefox get updated behind-the-scenes without having to check for updates or get prompted unnecessarily if they want/need an update.

  • A Look at Firefox’s Localization Growth Over Time

    July 13th, 2009 by seth bindernagel with 15 comments »

    Mozilla Firefox’s localization count has grown each and every release over the years. I created the following to show just how much we’ve grown from launch to launch.

    .

    # Firefox 1 -> FF 1.5 -> FF 2 -> FF 3 -> FF 3.5

    .

    .

    75 Languages added 27 af

    .

    74 Growth 56.25% ar

    .

    73 as

    .

    72 be

    .

    71 bg

    .

    70 bn-BD

    .

    69 bn-IN

    .

    68 ca

    .

    67 cs

    .

    66 cy

    .

    65 da

    .

    64 de

    .

    63 el

    .

    62 en-GB

    .

    61 en-US

    .

    60 eo

    .

    59 es-AR

    .

    58 es-ES

    .

    57 es-MX

    .

    56 et

    .

    55 eu

    .

    54 fa

    .

    53 fi

    .

    52 fr

    .

    51 fy-NL

    .

    50 ga-IE

    .

    49 gl

    .

    48 Languages added 11 af gu-IN

    .

    47 Growth 29.73% ar he

    .

    46 be hi-IN

    .

    45 ca hr

    .

    44 cs hu

    .

    43 da id

    .

    42 de is

    .

    41 el it

    .

    40 en-GB ja

    .

    39 en-US ja-JP-mac

    .

    38 es-AR ka

    .

    37 Languages added 5 ar es-ES kn

    .

    36 Growth 15.63% bg eu ko

    .

    35 ca fi ku

    .

    34 cs fr lt

    .

    33 da fy-NL lv

    .

    32 Langs added 4 ar de ga-IE mk

    .

    31 Growth 14.29% ca el gu-IN ml

    .

    30 cs en-GB he mn

    .

    29 da en-US hu mr

    .

    28 ast-ES de es-AR id ms

    .

    27 ca-AD el es-ES it nb-NO

    .

    26 cs-CZ en-GB eu ja nl

    .

    25 da-DK en-US fi ka nn-NO

    .

    24 de-DE es-AR fr ko oc

    .

    23 el-GR es-ES fy-NL ku or

    .

    22 en-GB eu ga-IE lt pa-IN

    .

    21 en-US fi gu-IN mk pl

    .

    20 es-AR fr hu mn pt-BR

    .

    19 es-ES ga-IE it nb-NO pt-PT

    .

    18 fi-FI he ja nl rm

    .

    17 fr-FR hu ko nn-NO ro

    .

    16 he-IL it lt pa-IN ru

    .

    15 hu-HU ja mk pl si

    .

    14 it-IT ko mn pt-BR sk

    .

    13 ja-JP mk nb-NO pt-PT sl

    .

    12 ko-KR nb-NO nl ro sq

    .

    11 nb-NO nl nn-NO ru sr

    .

    10 nl-NL pl pl si sv-SE

    .

    9 pl-PL pt-BR pt-BR sk ta

    .

    8 pt-BR ro pt-PT sl ta-LK

    .

    7 ro-RO ru ru sq te

    .

    6 ru-RU sk sk sr th

    .

    5 sl-SI sl sl sv-SE tr

    .

    4 sv-SE sv-SE sv-SE tr uk

    .

    3 tr-TR tr tr uk vi

    .

    2 zh-CN zh-CN zh-CN zh-CN zh-CN

    .

    1 zh-TW zh-TW zh-TW zh-TW zh-TW

    With the release of Firefox 3.5, Mozilla added twenty-seven localizations and grew our locale count by 56.25%. Future versions of this graph might include an overlay that shows Firefox usage statistics for each of these locales. I’ll work with Ken Kovash to figure out some more ways to interesting present the data.

  • Response to a Swahili localization enthusiast

    July 2nd, 2009 by seth bindernagel with 11 comments »

    Those who read this blog may remember that we are trying to finalize a version of Firefox in Swahili.  As it happens now and again, we have two groups who have completed translations at nearly the same time.  The l10n-drivers team is now trying to find the most judicious solution to the problem: determining fairly which translation is best and shipping that.  Amazingly, the differences between the the strings for the two localizations number in the thousands, and properly evaluating the discrepancies is a sizable undertaking for us to find the better version of the two.  If you’d like to see the existing diff, comment here and we’ll send it your way.  Now that we have a finalized Firefox 3.5, I’ve asked each team leader to update the strings in their language pack for final evaluation and we’ll prepare the final diff.

    Sadly, amidst all we have done to ship Firefox to seventy-five locales, it was frustrating to read a blog post from one person suggesting that Mozilla’s l10n-drivers team is playing politics when it comes to shipping the Swahili version.  If it needs to be made explicitly clear, we are in the business of shipping excellent localized software to as many locales as possible.  If our team allowed politics to disrupt prudent judgment, I am not sure we would scale at all.

    In his post, huarya writes, “The Mozilla people want to play nice with everyone instead of giving priority to the team that has actually showed results, real result!”.  I responded extensively in the comment thread, an d here is a copy of my lengthy response for those who care to read it:

    huayra:  I’m not sure if we have ever spoken personally, so it seems a bit careless to suggest that we are playing politics.  If we have spoken via email or IRC, then my apologies.  You can find me on irc.mozilla.org, nick: sethb.

    We ship Firefox now in 75 locales.  We are not in the business of playing games.  It’s about scaling our localization communities in the most sustainable way possible AND providing an excellent finished product.

    But, as you can see through the comments in this post, you’ve planted the seed that our team at Mozilla is doing something dubious.  We are not and that’s irresponsible on your part since you do not mention the full story in your post.  Exactly what do you mean by “The Mozilla people want to play nice with everyone instead of giving priority to the team that has actually showed results, real result!”?

    Here are the facts and consider rewriting your post:

    We do have two language packs from the two teams with thousands of differences.  With those two language packs, my team prepared a presentation of grammatical and translation differences between the two versions and reached out to many different linguistic professors who have expertise in East African Language Studies.  One was eager to help and we are trying to get a final evaluation from him since he wants to get sw-TZ users a version of Firefox.  Another academic contact requested tens of thousands of dollars to do the evaluation and we cannot fund that since no other locale has been afforded any funding to help settle disputes.  A final academic contact did a rough evaluation, said that both translations contained many errors, he wouldn’t be comfortable with either, and would need to charge Mozilla a fee for him to do the thorough evaluation.  These responses come from department heads at leading universities.

    Playing politics would be something less prudent.

    Please also keep in mind that we have several things going on right now, not the least of which is shipping Firefox to 75 locales to our 300+ million users who want updates to Firefox 3.5.  In addition, we are actively working with many other new locales who want to participate.  Yes, sw-TZ has been trying to localize Firefox for many years now.  But, we are responding to requests from all over the world and do our best to manage it all and have done fairly well since we have scaled to 75 localizations.  Most importantly, we want our end users to have something that is an excellent finished product.

    sw-TZ is unique because we have two translations asking to be the official one.  We are seeking the most judicious result as possible because surely one team will be quite disappointed if their translation is not chosen.  The team at Mozilla is the group who deals with the aftermath of that decision.  And, not making a wise decision would only complicate things.

    I’d ask for your patience and understanding as we come to a resolution. And, please minimize the flaming when you don’t have all the facts. Not sure how that helps.