• Adding contextual information to a localized build

    May 26th, 2009 by seth bindernagel with 3 comments »

    A volunteer from the Tanzanian Linux User Group passed me this blog post that describes a tool he created to help localizers with context of strings in the Firefox user interface. As Alberto writes,

    “It is difficult to translate something that you have never used before, functionalities that the translation team is not familiar with or English words that can be understood in several ways.”

    His tool allows a localizer to add tags to each string so that when the localizer builds Firefox locally, they can see the translation with a tag in the UI.  If the translation seems incorrect in the context, the localizer can use the tag to find the file that needs adjustment.  See the screen shot below and check out his post for more information.

    2_1241777494_umoja_firefox_35pre5_debug

  • Koala

    May 26th, 2009 by seth bindernagel with no comments »

    Many of you may remember our localization intern, Adrian Kalla, from last year.  A dedicated community member before his internship, Adrian returned to school to continue his contribution to Mozilla.  Recently, he approached us with a request to support a project that would help complete his course of studies.  After expanding the idea with Axel, he had a project idea to pursue and the l10n-drivers jumped at supporting such an interesting experiment that Adrian calls “Koala”.

    He will be blogging about his project on a regular basis, but he asked me to post the following initially to describe the idea:

    During my internship at Mozilla last year, I developed a Silme-based “compare-locales” version. It is a command-line only tool, that requires from the user to have experience in working with a console. Well – we all know that a text-interface is not necessarily a user’s first-choice, so Axel came up with a great idea to develop a user-friendly graphical front-end for it.

    Being back at my University, one part of my major is to work on a project, which may be done in cooperation with external companies. This project is officially scheduled for the term directly after the internship – that is, the chance to move Axel’s idea from the ‘ideabox’ to the ‘real’ world.  I see it as a great opportunity to continue my work on Mozilla L10n tools and my major at the same time.   Everything went quickly: Axel defined the project and its details, which was then accepted by my professor as an official university project. Together with my fellow computer science students, namely Adam Kowalewski and Florian Schloegl, we created a project team. And…

    What exactly are we working on?

    Calling the project just a “graphical interface for compare-locales” would underestimate the objectives we have set for it. It will be an extension for the Komodo Edit & Komodo IDE developer-editor/IDE applications, which are based on Mozilla technologies, that will help with the daily work of holding Mozilla localizations up-to-date. Starting with pulling Mercurial repositories, comparing the changes, showing that changes to the user directly in the work files, …, ending with helping during the translation process (e.g. translation-suggestions, syntax highlighting) and committing the changes back to a repository – everything in just one tool.

    We named the extension “Koala”, which stands for “Komodo Advanced Localization Addon”.

    More information will be available soon on http://koala.mozdev.org .

    To accomplish the project, we have a September, 15 (2009 of course ;) ) deadline. But you will hear of us sooner. Stay tuned.

  • An experiment to integrate Silme with Narro

    May 22nd, 2009 by seth bindernagel with no comments »

    Many of you know Romi Hardiyanto as our Indonesian localizer who has helped grow Firefox’s market share in Indonesia to 50% since he started localizing in 2007.  Romi is also a dedicated Mozilla contributor who recently hosted a terrific add-ons workshop at the Information System Department Park, ITS Campus in Sukolilo, Surabaya, Indonesia.  (But, I know you’ve read Gen’s post about that.)

    Recently, Romi responded to a Google Summer of Code idea I had posted about helping to enhance Mozilla’s dashboard.  The l10n-drivers knew that this project was a bit of an imperative, so we decided to take on development within our team before we had any guarantee from GSoC if our proposal would be accepted.  (Some blog post about the dashboard vision and progress are coming from me and Axel.)  Given the amount of ambiguity on the resources Mozilla would commit to the idea, the GSoC proposal was rejected.

    But, from the ashes came an idea to do a similar summer of code style project within Mozilla.  What if we could redirect Romi to do another experimental project that would have some benefit to the localization community?  Could Romi contribute to Silme by working on an implementation?  In the past, we’ve supported some of our tool authors with funding and development resources.  It turns out that Narro, another tool used by many of our localization teams, seemed like a good fit for the experiment.  Voila, a new proposal took shape.

    I am pleased to announce that Romi will be working to integrate Silme, a library of localization scripts created by Gandalf, into Narro.  With Silme integration, we should be able to get exports of translated strings from Narro that are file-type independent (because Silme does that nicely) and can be used by the localizers and l10n-drivers to smooth out any commit bugs when it comes time to push changes back to the l10n code repositories.

    Why is this important?

    I’ve blogged in the past about the uniqueness of Mozilla’s DTD and property file types.  Our file structure and file types can create conflicts with the output people who choose to localize with tools send to us.  With Silme integration, we’ll have something that maps a bit more nicely to DTD and property files with less conflict.  You can read more about Silme on Gandalf’s blog, including this wiki page that describes what features we hope to add in the 0.7 release.

    The early challenge for Romi’s project is going to be embedding a Python interpreter into Narro’s PHP code base  He researched a bit about PECL and will blog soon about his findings.  If you can provide any ideas on how to do this, Romi would love to hear your remarks.  We also have some stretch goals to hit if Silme gets integrated into Narro, and Romi will continue to blog about his progress, and those goals, over the next couple months.  Please welcome Romi when his first post to Planet appears and provide any advice you might have.

  • Useful communication tool for Mozilla web localization

    April 20th, 2009 by seth bindernagel with 6 comments »

    Pascal Chevrel introduced me to an experiment he calls “main.lang string checker” that he created over the weekend.  With this tool, localizers and the l10n-drivers team at Mozilla can check the status of the main.lang file, which is a kind of “po” file we use on our static html sites.  Pascal has been meaning to create this tool for some time.  It’s not overly complex, but it will help when either the Mozilla QA team, a localizer, or Pascal (or Stas) asks about specific files not being translated.

    For an example, let’s take a look at French locale’s page.  Here you’ll see a section titled “Missing strings.” and another named “Strings identical to English.”  At the bottom is a link to the French translations of the strings in the fr main.lang in SVN.  At this page, a localizer has a basic snapshot of the state of their team’s web l10n.

    I see some quick and direct benefits:

    1. Localizers can now see very specifically what l10n strings need examination
    2. New localizaiton teams who have finished localizing the Firefox product can see the the web localization tasks ahead
    3. Mozilla improves its communication regarding what specifically needs to be accomplished for a version to become official

    This is just another starting point.  We’ll have to work on unifying all of the recent improvements and forthcoming changes we’ll be seeing over the next couple weeks and months.  But, please find your locale of interest to see what needs to be investigated and possibly translated.

    Thanks, Pascal.

  • Hierarchical facets

    March 5th, 2009 by seth bindernagel with 4 comments »

    Axel gave me a nice lesson yesterday about hierarchical facets, something I didn’t really know much about. (Or, if I did, didn’t know it had a name.)

    He envisions hierarchical facets as a way to display the shipping information for our locales and I want to see his sketch of that.

    I began to think that we might use this technique to organize the information on Mozilla’s localization dashboard more effectively.

    Axel passed me this example, which I really liked.  I began daydreaming of something like this as a way to display the content on our dashboard.

    Where I see…

    …the “subject” section in this example, we could present “product” or “localization”…

    …the “format” section, our dashboard would display whatever we didn’t choose in the “subject” section…

    …opportunities for new sections (not seen in the example), we could display open bugs that could link to Pascal’s web-parts dashboard page, tracking bugs for finishing a localization, or Stas’s web services bugs.

    …a real chance to daydream, we might display a fourth section showing remaining untranslated strings in a locale.

    What other sections could we add?