Process changes for releasing new locales

Jeff Beatty


There are a bunch of new teams out there who have been waiting on progress. Sorry for the wait, but here’s what you’ve been waiting for.

We changed a few things around releasing new localizations. Many things did not change, but I’ll start off with the new.

We’ve redone the process points from review request to being on the rapid release cycle. The purpose was to put less emphasis on the bugs and the technical details, and more emphasis on the l10n dashboard.

We hope to get to a point where localizers are working on the aurora branch on each cycle, and the contribution gets wider testing on beta, and then seamlessly goes to release. We want to have most things lined up before going into aurora and having aurora ready in one 6 week period. Then migrate to beta, get wider testing, and on the same version go to final, if the community review passes.

To do that we did the following:

  • dropped the requirements to have new contributors do search engine patches, etc. We’ll need your input on what services to hook up, but Milos will do the technical implementation. We also call these “productization bugs”.
  • be more crisp on what’s required on the web site. Sure, you can do more, but we’ll set you up with what’s required, and nothing more.

And again, we put your team page front and center. That’s where you find what’s up to do, in the initial phase and beyond as we move from one cycle to the next.

Things that did not change:

  • We still only start taking your contributions upstream if they’re close to done. We don’t have a setup where we can take the first 20% and then care or not.
  • The tooling story is as difficult as before. Right now, narro is tougher than the locamotion (Pootle) setup, but none are without serious caveats.

The next batch of localizations we’re taking is going to ride along Firefox 18, coming on to Aurora next week.

Awesome l10n contributor: Ibrahima Saar

Jeff Beatty


Part of a series similar to the Awesome L10n Communities series where individual contributors are spotlighted for their efforts.


Started with Mozilla project: Firefox
Nationality: Senegalese/Mauritanian
Languages: Fulah (Pulaar-Fulfulde), Wolof, Arabic, Soninke, French, English, Spanish, survival Italian
Background: I studied Applied Linguistics, Language  Teaching Methodology, Translation and CALL (Computer Assisted Language Learning) at Moray House College in Edinburgh, Scotland.

My team and I have been involved in Fulah translation and localization as well as promoting the language on the Internet ( In 2009, I led the Fulah teams on the 100 locales program and successfully completed the work for locales for Fulah_sn, Fulah_mr, and Fulah_gn. I also created most Fulah terminology for ICT, especially Firefox terminology.  Fulah is not a well-resourced language and almost everything had to be created from scratch. But we have implemented a method of creating terminology that respects consistency and coherence.

I started translating Joomla and other open source CMSs. Then I discovered Tuxpaint and started translation with PoEdit. In 2009 I completed the Fulah part of the “locales for 100 African languages” project. I was also involved in translation of Pootle’s basic terminology and Pootle server into Fulah.

Our biggest achievement yet is the localization of Firefox in Fulah which is released this summer (2012).

I have worked extensively on font creation, keyboard layouts creation and I am planning to build a  physical “pan-Senegalese/Mauritanian” keyboard usable to type Fulah,  Wolof, Soninke, Sereer. I speak, read and write English, French, Fulah (Pulaar-Fulfulde) Mauritanian Arabic, and Wolof. I read and write Spanish, some Italian and Arabic.

I like web and graphics design and when I have time, I write news articles for my website in Fulah (, the first website ever in the Fulah language and the most visited. I use the Internet daily as administrator of two websites and a community blog and my personal blog, all of these dedicated to the Fulah language and culture.

Role in L10n community:
Fulah localisation team lead and major contributor (95% of Firefox). SUMO contributor and KB l10n. Created most of Fulah Internet and IT terminology from scratch.

Projects you’re currently working on:
Firefox, SUMO KB, “50 videos for mastering Firefox in Fulah”, Firefox OS localization (unofficially).

How did you get started with the Mozilla project?

I usually say I have been a localizer ever since because as a kid (from 8/9), I used to translate letters written in French for Fulah speakers who are illiterate. But I started the Firefox project with ANLOC (African Network for Localization). After successfully completing the localization of many other projects like TuxPaint, Abiword, Virtaal and Pootle, Dwayne Bailey from proposed to localize Firefox. We could not believe it since I have always been a true believer in open source but also a user of Firefox since early releases.

I was not afraid of big projects, so I tried to get a few people from Fulah communities together to start working, but many were either not motivated or have not enough knowledge of IT. Since 95% of IT related terminology had yet to be created, I thought I would start the work and show people that nothing is impossible. It is only when the first early screenshots of the Firefox interface in Fulah were published that many joined. Dwayne created language packs so we could test our Firefox locally, and that has definitely triggered major interest in the Fulah community.

What tips or tricks do you use for overcoming blocks and bugs in your L10n work?

As I mentioned earlier, we had a real chance to have Dwayne Bailey helping out should we have any issues to deal with, and it is Dwayne who runs and manages the Pootle server we are using for the localization work. Pootle has fantastic built-in features for checking errors, bugs and other terminology related issues. With the translation memory, it is a lot easier to manage terminology consistency and Pootle does that really well.

So I would say that Dwayne’s help has been crucial and I learned a lot from him and also Friedel Wolff, one of the authors of Virtaal.

How do you help your team find new L10n contributors?

Fulah has a huge contributor potential because we are very “language conscious” people. Many Fulah people living in those twenty countries have strong feelings about being a Fulah, and the language is what makes us feel we belong the same people, although we are nationals of many countries.

Unfortunately, the Internet is the only way we can communicate and that is not yet considered as “real.” You have to meet people in person, convince them to work as volunteers, then train them to use all these tools. Recruiting is quite easy, but most who are really fluent in Fulah are not necessarily motivated to spend hours working for free! Or they just cannot access the Internet at home or maybe just don’t have a personal computer.

I am planning a number of l10n workshops in France, Senegal, Mali and Mauritania to trains SUMO volunteers. Most of the potential and actual contributors live in Africa. So it is not very efficient to just use email as it is too “unreal” and distant to get people to really feel they are involved. I hope Mozilla will help achieve this. Basically, contributors are there but you have to reach out to them in a more humanized manner to motivate them even more.

What’s your philosophy/method on mentoring new contributors?

Usually those who are involved already know me from other contributions to Fulah digitization, codification and promotion. So it is usually an honor for them when I contact them to ask them to work for Firefox. But again in my culture, you really need to meet people to establish a real contact and show them you are there to help, train, and support.

But I must say it is very hard to get people to work for free when they are struggling to make ends meet. So [I try] to have a personal relationship with them, [which usually leads to us] becoming friends. I call them quite often and not only to talk about contributing. That is the best way of having them around even when they are not really contributing.

But the most efficient way of mentoring them is to show them that they can do things and that they should not be afraid of all these tech terms they are not very familiar with. They can call me, invite me to talk on Skype, or post on my Facebook wall.

Since people are working as volunteers, you need to constantly make them feel they are actually making a difference no matter how much they contribute.

If you could identify several best practices that have helped you to become a successful Mozilla localizer, what would they be?

I think my personal motivation helped me a good deal in going ahead with the Mozilla project. So to keep motivation at a satisfactory level, it is important to adopt a effective strategy to make the work less tedious. As for Fulah, I could certainly not have been so successful [had I] not used Pootle server and Virtaal (translation editor).

Since Virtaal is an offline editor, I used it for translating .po files then checking errors offline before uploading to the server (Pootle). Then we can use Pootle to make the usual checks. So Pootle and Virtaal are really efficient tools that allow you to adopt a workflow that makes the task less scary.

As a team lead, I worked very hard to complete the biggest files to motivate others. So being the biggest contributor is also a good way of boosting others’ motivation.
Finally, in any type of work, being organized is a key strategy. When you start a huge project like Firefox l10n, you live in doubt whether you are fit for the job or not. You think you will never finish and soon wonder if it is worth carrying on something that will never end. What I believe is you have to fit the project into your everyday life.

  • Start with biggest files/folders (things become easier and easier…).
  • Work at regular times.
  • Discuss issues on a daily basis with other contributors.
  • Use a mailing list to communicate daily.
  • If you can, meet on Skype regularly and encourage each other.
  • After release, translate updates the day you are notified, don’t postpone.

These are just what worked for me and I hope it will help others to start, complete or update their localization. And I one day, I got this message from Milos Dinic:

Thanks folks,
I just want to say we’re happy how things are evolving and that Fulah is one of the very few locales that we’re releasing in one train (started in aurora with Firefox 14, moved to beta in Firefox 14, and releasing in Firefox 14).
So, yes, we’re releasing Firefox in Fulah in this cycle, and I’ll close the tracking bug past the release (July 14).
Keep up the good work!

These are the most beautiful words I have heard recently and I was speechless when I read that jaw-dropping news that drove me to tears.

What are you most looking forward to accomplishing this year?

Since we have completed Firefox with such efficiency, my objective this year and in 2013 is to hold talks and organize workshops in Africa to recruit dozens of contributors  and spread the word about Firefox and Mozilla products.

I’d like to do so by attending major cultural events like the Blues du Fleuve festival which is organized by Senegalese world music superstar Baaba Maal, humanitarian activist and Global Ambassador for OXFAM ( or the Water Festival in the same region.

What projects are you most looking forward to working on this year?

Good question! Firefox OS!! Localization for Firefox OS is something that I am ready for and jsut too excited about. You know for a people that are divided into 20 countries, life is the web and the web in African is mobile, and mobile it will remain. So Mozilla you know what’s next now… ;-)

Five things you may not know about me:

  1.  Because of my commitment to making Fulah a fully digitized language, many call me “tear wiper.” ;-)
  2. At the age of eight, I walked 5 kilometers (there and back) a day to go to school from my uncle’s home (did that for 2 years). On Saturdays, another 11 kilometers back to my parents’ village where there were only 2 classrooms! And back on Sunday to my uncle’s who lived “only” 5 km away from my school.
  3. I am a weird ambidextrous (left and right handed) but I am also able to write in both directions with either hands. That’s not all: I can write simultaneously with both hands, in opposite directions but it has to be the same text!
  4. I am a freelance journalist writing news articles in Fulah for my website
  5. I am a veteran Flight Simulator enthusiast and have been flying hardcore for many years. Just love aeronautics, flying, planes, airports, etc.

Get to know a L10n driver: Axel Hecht

Jeff Beatty


I’ve been contributing to the Mozilla project since 1999. Today I’m an employee based in Berlin, Germany and I work on coordination and infrastructure for our L10n efforts.

You can find me on IRC as Pike. I’m usually on a variety of channels there. I also follow our .l10n and .planning newsgroups, as well as various product and project groups.

On bugzilla, you can CC me as for L10n stuff, for RDF, and I follow the :l10n and :rtl aliases. You can also follow me on my blog.

Some things you may not know about me:

* I’m a founding member of Mozilla Europe.
* Technically, I’m also the RDF module owner, but that just means that I keep everyone else from breaking it until we remove it.

Documenting L20n.js

Staś Małolepszy


L20n’s JS lib is getting test cases and better documentation to make the code easier to work with and understand.

The JavaScript implementation of L20n is composed of 4 main components:

  • context (stas), which handles resource loading, locale fallback and provides an easy pulic API for getting translated strings by identifiers,
  • parser (gandalf), which parses the resources downloaded by the context into an AST,
  • compiler (stas), which takes the AST and makes it into JavaScript objects which the context can call to get translated strings,
  • and finally, HTML bindings (gandalf), which extend HTMLDocument with a default L20n context capable of automatically loading resources specified via link elements.

At this point, we’re almost feature frozen for all of these four components. We’re fixing bugs and making sure the public API is consistent and understandable.

Last two weeks saw us working hard on the context part. We finished a major code refactoring and introduced a robust locale fallback, which I’ll blog about in a future post.

Testing with Mocha

Another important improvement introduced recently was the addition of a full-featured testing framework, Mocha. We’ve written over 200 test cases for the compiler and currently we’re creating more tests for other components. As an nice bonus, Mocha also gives us beautiful test coverage reports.

Mocha is based on node.js, so we had to make a few small modifications to the codebase in order to support it. For example, we make use of node-XMLHttpRequest to mimic the XHR interface available in the browser.

Project page on GitHub

We created a GitHub page to serve as the entry point for all of the docs that we’re writing. Check it out at

We use excellent Docco to generate documentation from the comments in the code. See the compiler docs for an example.

Coming to your twitter feed

Jeff Beatty


I am very happy to announce that @mozilla_l10n is officially live!

Here’s what you can expect from following @mozilla_l10n:

  • Event/deadline notifications and reminders,
  • Public welcome to newcomers,
  • Calls for participation in new projects,
  • Recruitment calls for specific l10n team needing more members,
  • Congratulations to specific contributors and communities for reaching various milestones,
  • Brief updates to external sources about all of our l10n advancements and efforts.

In brief, this handle is for you! Let us know if there are specific announcements you’d like to be tweeted. Need more localizers? We’ll tweet about it! Having a l10n sprint to get your channels up-to-date? We’ll tweet about it!

If you’re a fellow tweeter, please follow us and encourage your fellow localizers to do the same.


Localization sessions at MozCamp EU 2012

Jeff Beatty


MozCamp EU 2012 is just around the corner and it just wouldn’t be MozCamp if the L10n Drivers didn’t host a variety of sessions dealing with current l10n topics.

As you may know, the MozCamp session format is being reinvented. Each session is now meant to be a workshop. This means that rather than having one person presenting on a topic while the audience listens, the presenter and audience focus on a clear, deliverable objective and produce something together. This new approach gives us a rare opportunity to get deeply involved in your localization effort.

In addition to the approved set of sessions, there will be breakout l10n sessions on Sunday morning in the common hang out area. Below you’ll find a list of both the approved sessions and the “impromptu” breakout sessions. Hope to see you there!

Approved sessions

Breakout sessions

New branding for Mozilla l10n

Jeff Beatty


For the longest time we have used an icon of a sphere made up of many of the world’s flags to identify the l10n program. With the change to the new One Mozilla theme on all websites, we thought it was time to modernize and re-brand the program that puts users first, no matter where they are (or what language they speak).

Behold, the new icon for Mozilla l10n!


Maithili localization released with Firefox 15

Jeff Beatty


We’re happy to announce that we’re adding a new localization to
Firefox 15 desktop!

Sangeeta Kumari and the Maithili (mai) team have been working tirelessly to produce the world’s first ever Maithili version of Firefox for the people of India and Nepal. According to our friends at Wikipedia, there were more than 34.7 million Maithili speakers around the world as of the year 2000. This specifically includes the regions of Bihar, Jharkhand, parts of West Bengal in India, and the Terai region in Nepal. Thanks to the Maithili team, more than 34.7 million native Maithili speakers can now enjoy browsing the Web with Firefox 15. The Maithili Firefox release brings our total number of Firefox localizations to 78. Congratulations to the Maithili team!

We also want to extend congratulations to the Acholi (ach) team! Their localization efforts have successfully led to a Acholi Firefox build in the Firefox Beta channel. The Acholi beta build will be released with Firefox 16. Native Acholi speakers (estimated to be more than 1.22 million speakers in Uganda and South Sudan) can download and help test their localized build here.


Translate-a-thon in Mexico

Jeff Beatty


Yucatec Maya is spoken daily by nearly 700,000 people in the Southern Mexico. It’s a living language, descendant of the civilization of antiquity, which has stood for centuries, with a growing artistic production. It is also used in daily speech among the Spanish-speaking Mexicans who live in the states of Yucatán, Campeche and Quintana Roo.

Among the younger bilingual speakers (Mayan/Spanish), there is a growing interest in using digital tools in their mother tongue. Therefore Nacnati (an NGO formed by digital enthusiasts under the age of 30), the Mozilla Mexico chapter, Wikimedia Mexico and the National Commission for Development of Indigenous Peoples of the government of Mexico held a Mayan Translatón (translate-a-thon) in Merida, Yucatan, commemorating the International Day of Indigenous Peoples on August 9th. Among the group of 31 translators were anthropologists, lawyers, researchers, graduate students in Maya and even high school students from nearby boroughs, such as Peto, Tekax, Valladolid, Halachó and Muna.

During the Translatón, which occurred from 8 am to 6 pm, participants localized Mozilla Firefox, increased the articles of Yucatec Mayan Wikipedia — which is still at Wikimedia Incubator — and uploaded the first documents of the Google Endangered Languages project.

With this event, the event’s participants and sponsors began a very important activity for new and current generations of our Mayan communities. Articles have been added to Wikipedia, the Firefox browser in Maya will now be published sooner, and Maya linguists are uploading documents to the Google Endangered Languages project. But the highlight of the Mayan Translatón is that 31 mayan language advocates are committed to follow this initiative and repeat this activity for the next event.

Ko’one’ex! (Hooray! in maya.)

Get to know a L10n driver: Arky

Jeff Beatty


I’m an Indian living in Hanoi, Vietnam.
At mozilla, I’m a Community Manager (L10N), helping create, connect and support new localization teams around the world.

I’m a technologist, hacktivist and an artist. I’ve worked with various FLOSS project over the last 10 years, helping various business and non-project organisations adopt/leverage FLOSS software.

You can follow my personal blog here.