• 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!”

  • A look at Microsoft’s website for downloading localized versions of IE8

    July 28th, 2009 by seth bindernagel with 5 comments »

    A while back, Tristan passed me a blog post by the Internet Explorer 8 team that announced the availability of IE8 in over sixty languages.  Their opening quote: “We are pleased to announce the availability of Internet Explorer 8 in 20 additional languages today.  Internet Explorer 8 is now available in a total of 63 languages!”  That’s a nice accomplishment by their team and congratulations.

    I went to their site to investigate how Microsoft offers downloads of their localized versions and noticed some distinctions between the Firefox and IE8 experience.

    Most interesting for me off the bat, IE8 is offering some languages Firefox does not have, including Konkani, Kyrgyz, Malay, and Uzbek (Latin).  Those are the languages listed on their blog, but I am not sure if that is a comprehensive list of the differences, so I could use some help on determining where we fall short.  It’s hard for me to tell from the official download page, which lists eighty-five different “county/region” selections, bringing me to my next observation.

    Microsoft asks in English for its users to select a “country/region” and operating system.  Then, they automatically send users to a localized download page.  That seems to be pretty nice, perhaps a user experience person could give me an opinion.  Looking at the list, I did see some Indian language fonts, indicating Indian versions, but I don’t know if that corresponds directly to a country or region.  Either way, the count in that drop down selector is around eighty-five.  Therefore, I don’t know if they offer sixty-three or eight-five localizations.  Either number is impressive.

    In addition to all this, Microsoft’s “Worldwide Sites” page lists fifty-four “country-languages” for a user to select that will change the UI of the website to that country-language.  Mozilla does not distinguish based on country specifically; we simply list languages.  Interestingly, they have several versions of French available for France, Canada, Switzerland, and North Africa.  Mozilla lists only one version of French.

    At Mozilla, we do not offer downloads based on “country/region” because we feel that it is best to showcase the language of the localization, not the geopolitical boundary.  For instance, in India, we have eleven different localization teams, so isolating downloads to country/region didn’t seem to get users exactly what they wanted.  Instead, we try to provide the best possible download by looking at the language of the browser in use at the moment of a visit to Mozilla for download and offering the version that matches that language.  If we cannot recognize the existing language, we have a series of fall-back options in our website code that tries to offer the best possible download.  If that doesn’t work, the en-US page provides an “Other Systems and Languages” link available just under the main download box.  That takes users to our all.html page where all of our localizations can be seen.

    Just looking at the copy of the Microsoft download site, the IE8 team states that the browser is available in many “locales/languages”.  We use a bit different terminology in an attempt to distinguish the term “localization” from “language”.  For Mozilla, localizations are partly identified by the language of the UI.  But, a localization is customized to the region where the language is most prevalently spoken.  For instance, using our eleven Indian localizations as an example again, each team is able to customize their version of the browser so that web services like search or protocol handlers are packaged together in one download.  It may be a nuance, but for Mozilla, we try not to interchange language and localization.

    Lastly, I am not quite sure how those sixty-three (eighty-five) languages are shipped to end-users.  Does Microsoft ship each version simultaneously? Or, are versions offered as “downloadable” packs after major release in Englsh?  In the past, I had heard that IE only ships one version (en-US) at the time of a major release.  But, I suspect that has changed, I just couldn’t find the information anywhere.  Please link me in the comments if you know.

  • 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.