• Vietnamese for FF 3.1?

    November 6th, 2008 by seth bindernagel with 1 comment »

    Today, we filed the release tracker bug for the Vietnamese localization to participate in Firefox 3.1.  If you look at that bug, you can see all the other bugs we have filed to get this localization ready for release (something I just blogged about).

    The Vietnamese team has been incredibly motivated and responsive in working toward their goal of participating in FF 3.1.  But, this is also a great example of teamwork and assistance from the l10n-drivers.  Gandalf and Gen have been closely working to finalize a localization for Vietnamese.  It’s not done yet, but we’re much closer.

    The story behind it is very interesting.  Sometimes, in our world of localization, it happens that two or more efforts are started on a translation and those teams surface at different times before the final localization is ready.  In most cases, the teams start working together to finish the work.  You can imagine that this is not the easiest undertaking.  A lot of pride and time goes into the individual work.  When translations surfaces from multiple teams, the l10n-drivers works with all the individuals to figure out what is the best next step.  We strive to serve as the most objective intermediary and find an agreeable solution.  In this case, we had two translations from two teams from different regions in Vietnam.  Naturally, some differences in their work arose.  The teams presented their work separately, both with good efforts that were nearly complete.  At that point, we had to come together to decide what was best.  We even enlisted the help of a native, 3rd-party Vietnamese speaker to help evaluate.  But, the teams moved more quickly than we could and consolidated efforts to one.  Along the way, Gandalf put in a lot of effort in communicating with them to help get to this solution.  Also, with Silme, Gandalf provided technical assistance to help reconcile any differences.  Many thanks to Jasper and Hung from the Vietnamese teams.  Now, we’ll work on all the other aspecs necessary to localize, like the local web services.  We are getting close and hoping to get them into the release cycle for Firefox 3.1.

    In our Firefox l10n pipeline, with no particular order:  Vietnamese, Kazakh, Mexican Spanish, Bengali (Bengladesh), and Bosnian.  By “in the pipeline”, I mean we have had some recent activity with the localization teams and are working in some way to get them closer to shipping.

  • So what does “getting new languages ready for release” actually mean?

    November 4th, 2008 by seth bindernagel with 1 comment »

    On Friday, October 24, the L10n-drivers team spent the evening preparing six new languages for launch with the release of Firefox 3.0.4.  We then headed straight to Barcelona for the Mozilla EU camp that took place over the weekend.  While I was there, a number of community members who are not localizers asked me what exactly goes into “getting new languages ready” for the final release.  I thought I would write a bit about that final push.

    When we think of the localization process, it’s easy to think of localizers as the guys who translate the words of the Firefox user interface into another language.  But, it’s important to remember that localizers are the individuals making recommendations about what other services to include in Firefox to make that end-user experience the best.  Stas has done a nice job creating this page that describes the web services included in localized versions of Firefox.  Bugs are filed to determine the setup for the following:

    • Search engines for each locale (this is a blocker bug for new locales’ beta releases)
    • Protocol handlers
    • RSS readers
    • RSS Sample feed
    • “Getting started” page

    This “Bugogram” describes exactly what bugs are filed and who is responsible.

    You can see it becoming clear that the localizers job is much more than just translation.  Localizers help create the user experience by assisting Mozilla in what other organizations might call “business development”.

    Performing all of this research is one thing we do when “getting languages ready”.  Once the webservices team (lead by Stas) has gathered all of this information, we must do the technical work to implement these suggestions.

    Here’s what happens next.

    Each potential search provider, rss reader application, or websites listed on the Getting Started page has to verify in Bugzilla (or with Stas & the localizer by email) that they are OK with being included.  Once we have that, we change the code in each l10n repository to include in the suggestion.  Those code snippets from the partners have to be checked in before the code freeze date or the translated version of Firefox will not include the suggestions.  In the past, we’ve even decided not to ship a locale if too many of these issues remain open before code freeze.  But, we’ve started to ship locales as beta versions so the localizer can get their translation live and used and can continue to resolve the oustanding issues.

    Another big part of getting a localization ready for shipping is translation of the webparts of each local version.  Pascal manages this process.  He creates a set of bugs that track the progress of the translation of webparts.  Localization teams must translate the First Run and Getting Started pages.  Download landing pages also need to be translated.

    When a localization ships and is made available to the public for download, a new user sees all of this work as part of the defaul local experience.

    In the comment field of this bug, I’ve listed three bugs from that Friday that Gandalf, Stas and I worked on very very late one night.  I helped Stas by creating a few patches to include Wikipedia search plugins.  Gandalf reviewd my patches and checked them into Mercurial.

    In case you’re following my personal contributions to Mozilla…yes, these are my first patches to the code. Have I crossed the event horizon and am I on my way to being a dirty hacker?  Unlikely…anyone can write these patches.