New L10n Report: July Edition

Please note some of the information provided in this report may be subject to change as we are sometimes sharing information about projects that are still in early stages and are not final yet.

Welcome!

New localizers:

Are you a locale leader and want us to include new members in our upcoming reports? Contact us!

New community and locales added

  • azz (Sierra Puebla Nahuatl): it was onboarded in recent months and already made a lot of progress.
  • be (Belarusian): when we sadly had to drop Belarusian from our desktop and mobile builds due to inactivity, new contributors immediately contacted us to revive localization work. A big shout-out to this newly formed community!
  • Tg (Tajik): successfully localized their first project, Thimble!

New content and projects

What’s new or coming up in Firefox desktop

Big changes are coming to Firefox 57, with some of them sneaking up even in 56 (the version currently localized in Nightly, until August 7). The new feature with more significant impact for localization is the new Onboarding experience: it consists of both an Onboarding overlay (a tour displayed by clicking the fox icon in the New tab), and Onboarding notifications, displayed at the bottom of New tab.

If you haven’t seen them yet (we always make sure to tweet the link), we strongly suggest to read the latest news about Photon in the Photon Engineering Newsletter (here’s the latest #8).

On a side note, you should be using Nightly for your daily browsing, it’s exciting (changes every day!) and fundamental to ensure the quality of your localization.

There is a bug on file to stop localizing about:networking, given how small the target is (users debugging network issues) and how obscure some of these strings are.

A final reminder: The deadline to update Firefox Beta is July 25. Remember that Firefox Beta should mainly be used to fix small issues, since new translations added directly to Beta need to be manually added to the Nightly project in your localization tools.

What’s new or coming up in Test Pilot

The new set of experiments, originally planned for July 5, has been moved to July 25. Make also sure to read this mail on dev-l10n if you have issues testing the website on the dev server.

What’s new or coming up in mobile

  • Mobile (both Android and iOS projects) is going to align with the visual changes coming up on desktop by getting a revamped UI thanks to Photon. Check it out!
    • Firefox for Android Photon meta-bug.
    • Please note that due to the current focus on desktop with Firefox 57, Firefox for Android work is slower than usual. Expect to see more and more Photon updates on Nightly builds though as time passes by.
  • We recently launched Focus for Android v1 with 52 languages! Have you tried it out yet? Reviews speak for themselves. Expect a new release soon, and with that, more locales (and of course, more features and improvements to the app)!
  • Mobile experiments are on the rise. The success of Focus is paving the way to many other great mobile projects. Stay tuned on our mailing list because there just may be cool stuff arriving very soon!

What’s new or coming up in web projects

  • With the new look and feel, a new set of Firefox pages and unified footer were released for l10n. Make sure to localize firefox/shared.lang before localizing the new pages. Try to complete these new pages before deadline or the pages will redirect to English on August 15
  • Monthly snippets have expanded to more locales. Last month, we launched the first set in RTL locales: ar, fa, he, and ur. The team is considering creating regional specific snippets.
  • A set of Internet Health pages were launched. Some recent updates were made to fit the new look and layout. Many communities have participated in localizing some or all pages.
  • The newly updated Community Participation Guideline is now localized in six languages: de, es, fr, hi-IN, pt-BR, and zh-TW. Thanks to the impacted communities for reviewing the document before publishing.
  • Expect more updates of existing pages in the coming months so the look and feel are consistent between pages.

What’s new or coming up in Foundation projects

  • Thimble, the educational code editor, got a makeover and new useful features, that all got localized in more than 20 locales.
  • The fundraising campaign will start ramping up earlier than November this year, so it’s a great idea to make sure the project is up-to-date for your locale, if it isn’t already.
  • The EU Copyright campaign is in slow mode over the summer while MEPs are on holiday, but we will rock again full speed in September before committees are voting
  • We will launch an Internet of Things survey over the summer to get a better understanding of what people know about IoT.

Newly published localizer facing documentation

Events

  • Next l10n workshop will be in Asuncion, Paraguay (August)
  • Berlin l10n workshop is coming up in September!
  • Want to showcase an event coming up that your community is participating in? Reach out to any l10n-driver and we’ll include that (see links to emails at the bottom of this report)

Opportunities

Accomplishments

Some numbers

Friends of the Lion

Image by Elio Qoshi

  • Shout-out to all Mozilla RTL communities who have been doing a great job at filing and fixing bugs on mobile – as well as providing much needed feedback and insights during these past few months! Tomer, Reza, ItielMaN, Umer, Amir, Manel, Yaron, Abdelrahman, Yaseen – just to name a few. Thank you!
  • Thanks to Jean-Bernard and Adam for jumping in to translate the new Firefox pages in French.
  • Thanks to Nihad of Bosnian community for leading the effort in localizing the mozilla.org site that is now on production.
  • A big thank you to Duy Thanh for his effort in rebuilding the Vietnamese community and his ongoing localization contribution.
  • kab (Kabyle) community started a while back, their engagement is impressive in all products and projects.

Know someone in your l10n community who’s been doing a great job and should appear here? Contact on of the l10n-drivers and we’ll make sure they get a shout-out (see list at the bottom)!

Useful Links

Questions? Want to get involved?

Did you enjoy reading this report? Let us know how we can improve by reaching out to any one of the l10n-drivers listed above.

Localization at Mozilla SF All Hands

Hello from sunny Northern California!

This week was Mozilla’s bi-annual All Hands, a gathering that brings Mozilla employees and community together for a week to hack on key Mozilla objectives. This All Hands, the Firefox team (which l10n is a part of) was in “all hands on deck” mode to make significant progress on the upcoming Firefox 57 launch. That being the case it was a bit different and more unstructured than previous All Hands.

Fun concept art by Sean Martell depicting Mozilla building new Firefox in comic book style.

L10n-drivers this week focused on a number of improvements to the localizer experience. Pontoon saw more work dedicated to QA checks, incorporating elements of compare-locales within the platform itself. We made significant progress toward landing l20n in Firefox desktop, enabling multi-locale Firefox desktop builds, and we creating l10n documentation for Pontoon and other elements of the l10n process. We also performed an initial terminology extraction from mozilla.org in order to create a Mozilla-specific termbase. Finally, we made the next version of the “Promote Firefox in your language” community marketing guide (which will be available on GitHub soon for the final feedback round) and the next version of the monthly Mozilla l10n report.

We’re also happy to announce two new communication channels for the global localization community: Facebook and Telegram. Over the years we’ve learned that different communities around the world need different ways to connect online than the more traditional means: mailing lists and IRC. Our Facebook group and Telegram channel will not replace mailing lists and IRC, but will supplement those in the hopes of increasing our reach to all l10n communities world wide and making it easier to promote the community’s contributions to localization. To avoid spammers, we moderate both of these channels, so if you’d like to join either, please reach out to your l10n community leaders (most of them are in one or both of these channels).

We’re all very excited for new Firefox to reach users on localized builds with Firefox 57. If you’re not already using Nightly in your language, please download and help us improve localization coverage of Firefox in your language. Firefox 57 will have some very exciting new features that non-English speakers will absolutely want in their language. We’ll increase messaging about exciting things in Firefox 57 throughout the next couple of months to keep you informed and allow you to start sharing them with your friends and family.

Paris Localization Workshop

From May 6th-7th, 42 participants (coincidence? I think not) gathered in the beautiful city of Paris for another successful edition of our l10n workshops. This was one of our larger scale events with a total of twelve localization communities from four continents: Acholi, Fulah, Songhay, Xhosa, Wolof, Azerbaijani, Turkish, Uzbek, Arabic, Persian, Hebrew and Urdu. What a diverse group! This was in fact the broadest geographical coverage in a single l10n event.

Marcia Knous and Pascal Chevrel, both from the Release Management team and working on Firefox Nightly, joined us and held a Nightly workshop on the side with members from the French community – as well as some joint sessions around Project Dawn and Nightly testing updates, that were of equal interest for both our groups present (i.e., L10n and Nightly communities).

Some may have noticed that, this year, our workshops have slowly started to evolve with each iteration. For example, although spectrograms have been a big part of our past workshops and have proved to be very useful, we decided not to do them this time around. With time, we’ve realized they are unfortunately a time constraint, and that we needed to shift our focus a bit (after all, we had been doing these for the past 2 years).

Instead, l10n-drivers present held a Q&A session – which resembled the Mozilla fireside chats in a way. Overall this proved to be very valuable as it lets localizers really get clarifications and dive deeper into whichever topic they are interested in. In fact, we had l10n-drivers from across the board present, which helped this session be broad enough, and technical enough, to interest everyone present.

(picture by Emin Mastizada)

To give an idea, the l10n-drivers at the event were:

Delphine Lebédel: L10n Firefox mobile project manager

Peiying Mo: L10n mozilla.org project manager

Théo Chevalier: Mozilla Foundation l10n project manager

Axel Hecht: L10n tech lead

Francesco Lodolo: L10n Firefox desktop project manager

Drivers also gave short updates on current projects’ status and general Mozilla plans and goals for the year.

(Picture by Christophe Villeneuve)

We also made room for community presentations this time around. Any community who wanted to present their work was welcome to do so. One of these was a presentation about RTL (right-to-left) on mobile. It was great to see the Arabic, Hebrew, Persian and Urdu communities spontaneously pair up and start collaborating not only for this presentation, but during the workshop as a whole.

Ibrahima from the Fulah localization team also gave a presentation on Unicode and UTF-8 from the perspective of his own community, sharing insights and lessons learned from years of diving into the topic.

Communities spent most of the rest of their time on accomplishing the goals they had set themselves for the weekend (goals and general agenda details here).

Thanks to Flore’s (a long time Mozilla contributor) spontaneous initiative, there was even a cultural activity organized, which included walking to the Trocadéro and seeing the beautiful Tour Eiffel – a must when you are in Paris. Led by Flore, participants bravely faced the parisian rain in order to get a breath of fresh air.

Although logistics were somewhat trickier to plan for such a large and diverse group, it was an incredible experience that allowed communities from completely different backgrounds to share insights and tips amongst each other – which, as always, was a beautiful and humbling moment to witness.

Thanks to the community feedback that we always gather from our final survey, we are able to learn and grow – making each edition an improvement over the previous ones, and building upon each event we hold. One take-away from this (and past) event(s) is that we are currently looking into how other organizations make sure that their events are as “food-friendly” – and accessible – to as many people as possible.

We are also tweaking up our format a bit with each workshop we do this year. We have realized that we need change, and that we can improve things much more quickly by being flexible and adapting with each workshop we hold. Communities are different, issues are different, cultures are different. One format does not fit them all! So we are eager to continue exploring this year and reporting back what we have found. And then building upon the lessons we learn with each new event. Maybe tweaking things up to be more like a localization unconference for the next iteration is going to be our next playground…

In any case, it seems to become clearer each time we organize one of these events that community needs diversity, and needs more meet-ups that let them mingle with a larger crowd. Two days may not be enough, especially given we are flying people from so far away. We’ve learned from our surveys that community misses the larger Mozcamp and MozSummit formats: they need to exchange more with like-minded people, from a much more diverse group, in order to strive and progress effectively. Exploring the idea of global localization workshops, with maybe other l10n communities from other open source projects, is one idea we are also currently playing with.

As usual, thoughts and feedback on improvements are always welcome. We want to hear from you! Always feel free to pitch any ideas by reaching out to anyone in our team.

Next up… Paraguay in August! Stay tuned 🙂

(Picture by Christophe Villeneuve)

(Picture by Christophe Villeneuve)

(Picture by Christophe Villeneuve)

Reuse Mozilla translations in external projects

Translation memory is now available for download in Translation Memory eXchange (TMX) file format for every project you localize in Pontoon. This functionality allows you to reuse Mozilla translations when translating other projects, even if you use other translation tools.

To download the TMX file, select Download Translation Memory form the profile menu of the translation interface. Files are generated on demand, which means translations submitted right before downloading the file are also included.

How does Translation memory work in Pontoon?

Every approved translation is stored in Translation memory, no matter if it’s submitted through Pontoon or imported from VCS. Pontoon’s metasearch engine then displays exact and fuzzy matches from Translation memory in the Machinery tab and the Machinery page.

Taipei Localization Workshop

In front of the iconic Taipei 101.

In discussing our plans for this years’ event, the city of Taipei was on a short list of preferred locations. Peter from our Taipei community helped us solidify the plan. We set the date for April 21-22 in favour of cooler weather and to avoid typhoon season!  This would be my third visit in Taiwan.

Working with our community leaders, we developed nomination criteria and sent out invitations. In addition to contributing to localizing content, we also reviewed community activities in other areas such as testing Pontoon, leading and managing community projects, and active participation in community channels.

360° view of the meetup.

In total, we invited representatives from 12 communities and all were represented at our event. We had a terrific response, more than 80% of the invitees accepted the invitation and were able to join us. It was a good mix of familiar faces and newcomers. We asked everyone to set personal goals in addition to team goals. Flod and Gary joined me for the second year in a row, while this was Axel’s first meeting with these communities in Asia.

Based on the experience and feedback from last year’s event, we switched things up, balancing discussion and presentation sessions with community-oriented breakout sessions throughout the weekend. These changes were well received.

Our venue was the Mozilla Taipei office, right at the heart of financial centre, a few minutes from Taipei 101. On Saturday morning, Axel covered the removal of the Aurora branch and cross-channel, while later Flod talked about Quantum and Photon and their impact on localization. We then held a panel Q&A session with the localisers and l10n-drivers. Though we solicited questions in advance, most questions were spontaneous, both technical and non-technical. They covered a broad range of subjects including Firefox, new brand design, vendor management and crowd sourcing practices by other companies. We hoped this new format would be interactive. And it was! We loved it, and from the survey, the response was positive too. In fact, we were asked to conduct another session the following day, so more questions could be answered.

Localisers were briefed on product updates.

The upcoming Firefox browser launch in autumn creates new challenges for our communities, including promoting the product in their languages. In anticipation, we are developing a Firefox l10n marketing kit for the communities. We took advantage of the event to collect input on local experiences that worked well and that didn’t. We covered communication channels, materials needed for organising an event, and key messages to promote the localised product. Flod shared the design of Photon, with a fun, new look and feel.

On Sunday, Flod demonstrated all the new development on Pontoon, including how to utilise the tool to work more efficiently. He covered the basic activities for different roles as a suggester, as a translator and as a locale manager. He also covered advanced features such as batch processing, referencing other languages for inspiration and filters, before describing future feature improvements. Though it was unplanned, many localisers tried their hands on the tool while they listened in attentively. It worked out better than expected!

Quality was the focus and theme for this year’s event. We shared test plans for desktop, mobile, and mozilla.org, then allowed the communities to spend the breakout sessions testing their localisation work. Axel also made a laptop available to test Windows Installer. Each community worked on their group goals between sessions for the rest of the weekend.

Last stop of the 貓空纜車 (Maokong Gondola ride)

Of course, we found some time to play. Though the weather was not cooperative, we braved unseasonally cold, wet, and windy weather to take a gondola ride on 貓空纜車 (Taipei Maokong Gondola) over the Taipei Zoo in the dark. Irvin introduced the visitors to the local community contributors at 摩茲工寮  (Mozilla community space). Gary led a group to visit Taipei’s famed night markets. Others followed Joanna to her workplace at 三七茶堂 (7 Tea House), to get an informative session on tea culture. Many brought home some local teas, the perfect souvenir from Taiwan.

Observing the making of the famous dumplings at 鼎泰豐 (Din Tai Fung at Taipei 101)

We were also spoiled by the abundance of food Taipei had to offer. The local community put a lot of thought in the planning phase. Among the challenges were the size of the group, the diversity of the dietary needs, and the desire of having a variety of cuisines. Flod and Axel had an eye opening experience with all the possible food options! There was no shortage, between snacks, lunch and dinner. Many of us gained a few pounds before heading home.

All of us were pleased with the active participation of all the attendees, their collaborations within the community and beyond. We hope you had achieved your personal goals. We are especially grateful for the tremendous support from Peter, Joanna and Lora who helped with each step of the planning, hotel selection, transportation directions, visa application process, food and restaurant selections and cultural activities. We could have not done it with their knowledge, patience and advice in planning and execution. Behind the scenes, community veterans Bob and Irvin lent their support to make sure things went as seamlessly as possible. It was true team effort to host a successful event of this size. Thanks to you all for creating this wonderful experience together.

We look forward to another event in Asia next year. In which country, using what format? We want to hear from you!

FTL, RTL, Tetris and other Pontoon enhancements

Let’s do a quick walkthrough of several Pontoon improvements that landed over the course of the last month or so.

Abiding maximum string length. If string length limit is provided, Pontoon will now detect it and prevent translations exceeding the limit from being submitted. Additionally, when translating such strings (e.g. snippets or tweets), you’ll notice a countdown which will tell you how many characters do you have left.

String length limit example

Appending “Mahna Mahna” makes this string too long

More information on dashboards. Additional information has been added to project dashboards, namely contact person and links to external resources like development sites, screenshots, etc. Note that links to external resources also appear on the localization dashboards, where they are localized – if you click on the Screenshots link, it will take you to the localized screenshots page.

FTL. We made the first step in bringing FTL powers to translators who aren’t coders. The FTL-specific user interface introduced last year (at the time known as L20n) is now implemented and already in use by the Test Pilot Website. We’ll prepare a more detailed presentation after we land additional improvements in the next weeks.

RTL. A few improvements have been made to make translating into right-to-left scripts more comfortable, particularly by using the correct text alignment and setting the dir attribute explicitly instead of relying on dir=auto.

Relatedly, but not entirely limited to RTL scripts, we landed additional font enhancements:

  • The font size for Arabic script is now increased by 20% for better readability. The default Arabic system fonts seem to be relatively small compared to fonts used for Latin and other scripts.
  • Italic font style is only used for scripts supported by Open Sans (bug 1357945) to avoid faux italic.
  • Марко Костић contributed his first Pontoon patch by fixing bug 1353135, which uses Ubuntu Regular for Serbian and Macedonian Cyrillic italic, because Open Sans only supports Russian Cyrillic in italic type.

Search speedup. Jotes made searching for strings faster and differentiate between Turkish dotted and dotless “i”. To land the search optimization, we had to take Pontoon off for a few minutes. So we created exciting new maintenance mode page featuring… Tetris!

Maintenance page

While in maintenance mode, Pontoon will not make you particularly productive

Latest activity enhancements. The latest activity information for project, team, localization and translated resource is now also set if translations are submitted in bulk or through file uploads. We also display latest activity information for subpages. And, jotes made sorting order of the latest activity and deadline column easier to comprehend.

Improving Machinery. Until recently, submissions made through mass actions haven’t been recorded in Translation Memory. This is no longer the case. Additionally, original strings in translation memory and other Machinery suggestions now show diff against the currently translated soruce string.

Translation Memory diff

Translation Memory diff

Making Pontoon more interconnected. Thanks to jotes, resource paths displayed below the original string now link to the translate view of that resource. Similarly, translations in the Locales tab now link to the translate view of the current string in the selected locale, so you can for example quickly suggest fixes for translations.

A few bugs have been fixed:

  • Stoyan fixed a JS error occurring when localStorage in unavailable.
  • Notification bar has been moved to bottom to avoid covering the most useful features.
  • If diff contains whitespace, it is now displayed.
  • Bug 1362929: Contributor timeline doesn’t stop loading prematurely (by jotes)
  • Bug 1350695: Make submit button execute the action the label indicates (by jotes)
  • Bug 1352744: Can’t initialize Pontoon’s db by running migrations via manage.py (by jotes)
  • Bug 1354812: Do not copy from helpers on Ctrl + Tab
  • Bug 1355850: Check unsaved changes when entering batch editing
  • Bug 1363320: Properly compose tab URLs
  • Bug 1357425: Upgrade Pontoon to latest Mercurial
  • Bug 1351821: More text contrast in textarea

Get involved. A total of 30 bugs have been resolved fixed to support Pontoon improvements covered in this blog post. More than half of them have been fixed or reported by a Mozilla community member. And you can do that, too!

Stay on top of localization with Pontoon notifications

With over 30 projects available for localization in Pontoon, hardly any day goes by without an important update in at least one project. Until recently, you had to manually check your team and project dashboards to find out if new strings have been made available for translation or if the deadline for your incomplete project approaches.

Enter notifications. Without a doubt, they are a critical component of a modern translation tool and no wonder they’ve been the top-voted feature in the Pontoon end-of-year 2016 survey. I’m excited to share some news on this topic.

Highlighted icon indicates unread notifications.

Notifications menu reveals more details.

In the last couple of weeks we’ve been rolling out Pontoon notifications, so there’s a good chance you’re already using them. If the bell icon in the page header is highlighted, it means you have unread notifications. By clicking on it, a popup will show up, revealing the details of all unread notifications.

When and where

Notifications are sent in the following scenarios:

  • If new strings are added to a project.
  • If an incomplete project is due in 7 or 2 days.
  • If project managers manually send them.

Notifications are targeted, which means they are only sent to users that have made contributions to the project in the past.

Notifications page shows all notifications, grouped by project.

This is just the beginning

In the next few weeks we’ll be monitoring how often notifications are being sent out and read by users. We’ll use the acquired data to design the email notification system that will not only reach you outside Pontoon, but also stay away from polluting you inbox too much.

We’ll be also fine-tuning the list of scenarios on which we send notifications and extending it. For example, we’d like to notify team translators and managers when new suggestions are ready for a review.

Get involved

As always, we’d be very happy to hear your thoughts. Not only about the current implementation, but also about the next steps we should be taking with notifications.

And last but not least – if you have some coding skills, we’d be very happy to mentor you in fixing your first (or second, third…) Pontoon bug.

Localizing Firefox in Barcelona

We were thrilled to start the year’s localization (l10n) community workshops in Barcelona at the end of March 2017! Thanks to the help of the ever dedicated Alba and Benny the workshop was fun, productive, and filled with amazing Catalonian food.

This workshop aimed to gather together core and active localizers from twenty-one l10n communities scattered throughout the southern parts of Western and Eastern Europe. Unlike the 2016 l10n hackathons, this was the first time we brought these twenty-one communities together to share experiences, ideas, and hack on Mozilla l10n projects together.

The workshop was held at Betahaus, a local co-working space in Barcelona located in Villa de Grácia, Barcelona. The space was great for both large group presentations and small group breakouts. We had room to move around, brainstorm on whiteboards, and play our favorite icebreaker game, spectograms.

All of the l10n-drivers were present for this workshop (another first) and many gave presentations on their main projects. Localizers got a look into new developments with L20n, Pontoon, and Pootle. We also had a glimpse into cross-channel localization for Firefox and how localizers can prepare for it to come in June.

Following tradition, l10n communities came to the workshop with specific goals to accomplish while there. While together, these communities were able to complete around 75% of their goals. These goals largely surrounded addressing the question of localization quality and testing, but also included translating strings for Mozilla products, web sites, and planning for recruiting new localizers.

We couldn’t think of being in Barcelona without taking advantage of participating in a cultural activity as a group. Alba was kind enough to guide the whole group through the city on Saturday night and show us some of the most prominent sites, like Sagrada Familia (which happened to be the most popular site among the l10n communities).

On Sunday, the l10n communities and drivers gathered around four different tables to discuss four different topics in 30-minute chunks of time. Every 30 minutes, Mozillians moved to a different table to discuss the topic assigned to that table. These topics included localization quality, style guides, recruiting new localizers, and mentoring new localizers. It was a great opportunity for both veteran and new localizers to come together and share their experience with each topic and ideas on how to take new approaches to each. Sure, it was a bit chaotic, but everyone was flexible and willing to participate, which made it a good experience nevertheless.

For more info about the workshop (including the official Spotify playlist of the workshop), visit the event’s wiki page here. ¡Hasta luego!

More pictures from the event:

Localizing Nightly by Default

One of our goals for 2017 is to implement a continuous localization system at Mozilla for Firefox and other projects. The idea is to expose new strings to localizers earlier and more frequently, and to ship updates to users as soon as they’re ready. I’m excited to say that we’ve arrived at one of the key milestones toward a continuous localization system: transitioning localization from Aurora to Nightly.

How can you help?

Starting April 19th, the focus for localization is going to be on Nightly.

If you are a localizer, you should install Nightly in your own language and test your localization.

If you are a member of a local community, you should start spreading the message about the importance of using Nightly to help improve localized versions of Firefox and share feedback with localizers.

If you are new to localization, and you want to help with translation tasks, check out our tools (Pontoon and Pootle), and get in touch with the contributors already working on your language.

The amount of information might be overwhelming at times, if you ever get lost you can find help on IRC in the #l10n channel, on our mailing list, and even via Twitter @mozilla_l10n.

Firefox release channels

Mozilla has three (previously four) release channels for Firefox, each with their own dedicated purpose. There’s Nightly (built from the mozilla-central repository), Beta (mozilla-beta), and Release (mozilla-release).

  • Nightly: development of Firefox (and now localization)
  • Aurora: testing & localization (no longer available)
  • Beta: stable testing of Firefox
  • Release: global distribution of Firefox to general audience

A version of Firefox will “ride the trains” from Nightly to Beta and finally to Release, moving down the channel stream every 6-8 weeks.

With Aurora, localizers were given one cycle to localize new, unchanging content for Firefox. In fact, once moved to Aurora, code would be considered “string frozen”, and only exceptional changes to strings would be allowed to land. Any good update from localizers during that time was signed off and rode the trains for 6-12 weeks before end-users received it.

We spent the last two years asking localizers about their contribution frequency preferences. We learned that, while some preferred this 6 week cycle to translate their strings, the majority preferred to have new content to translate more frequently. We came away from this with the understanding that the thing localizers want most when it comes to their contribution frequency is freedom: freedom to localize new Firefox content whenever they choose. They also wanted the freedom to send those updated translations to end-users as early as possible, without waiting 6-12 weeks. To accommodate this desire for freedom, Axel set out to develop a plan for a continuous localization system that exposes new content to localizers early and often, as well as delivers new l10n updates to users more quickly.

Nightly localization

The first continuous localization milestone consisted of removing the sign-off obligation from localizer’s TODO list. The second milestone consists of transitioning localization from the old Aurora channel to the Nightly channel. This transition aims to set the stage for cross-channel localization (one repository per locale with Nightly, Beta, and Release strings together) as well as satisfy the first desired freedom: to localize new Firefox content whenever localizers choose to localize.

This is how it works:

  1. A developer lands new strings in mozilla-central for Nightly.
  2. Localization drivers (l10n-drivers) review those new strings and offer feedback to the dev where needed.
  3. Every 2-3 days, localization drivers update a special clone of mozilla-central used by localization tools.
  4. Pootle & Pontoon detect when new strings have been added to this special repository and pull them into their translation environments automatically.
  5. When a new l10n updates is made, Pootle & Pontoon push the change into the locale’s Nightly repository.
  6. Localization drivers review all new updates into l10n Nightly repositories and sign off on all good updates.
  7. Good updates are flagged for shipping to Release users when the version of Firefox “rides the trains” to Release.

Localizing on Nightly offers localizers a few benefits:

  1. Localizers are exposed to new strings earlier for l10n, making it easier for developers to make corrections to en-US strings when localizers report errors.
  2. Localizers have the freedom to localize whenever new strings land (every 2-3 days) or to define their own cadence (every 2 weeks, 4 weeks, 8 weeks, etc.).
  3. Without Aurora, new localization updates get to end-users in Release faster.

The next continuous localization milestone is to implement cross-channel localization. Cross-channel will satisfy the second desired freedom: delivering translation updates to end-users faster. It will also drastically simplify the localization process, allowing localizers to land fixes once, and shipping them in all versions of Firefox. If you’d like to follow the work related to cross-channel, you can find it here on GitHub. We expect cross-channel to be ready before June 2017.

Firefox L10n Report – Nightly 55

This is going to be the last of these reports, since Aurora is going away, and Nightly strings will be exposed to localization tools once or twice a week. We’ll work on identifying new formats to keep you up to speed with all the changes happening in localization at Mozilla.

For further information about the change for Aurora, we’ve created these FAQs: https://github.com/mozilla-l10n/localizer-documentation/blob/master/misc/aurora_faqs.md

Nightly projects are already available in Pontoon, they will be available shortly also in Pootle.

Today Firefox 55 starts a second cycle on the Nightly channel, and these are the key dates:

  • Beta (54): localization updates for already shipping locales must be completed before May 31.
  • On June 12, Nightly (55) will move directly to the Beta channel.

String breakdown for locales starting to work on Nightly for the first time:

  • Firefox Nightly desktop has 695 added strings (97 obsolete). The actual number of missing strings will be much lower (184), since over 500 of them are a copy of the /preferences folder (see details later). About 4% of the new strings are for Developer Tools.
  • Fennec Nightly has 23 new strings (27 obsolete). 8 new strings are Fennec-only (in /mobile).

Noteworthy Changes

These are some of the interesting changes introduced in the last cycle.

Browser

Preferences are going to be heavily reorganized. 13 existing files (513 strings) have been copied from /preferences to /preferences-old as part of merge day migration scripts.

https://hg.mozilla.org/mozilla-central/rev/892ffc32ee08

Note that “new preferences” and “old preferences” have already started to diverge. In some cases there are small changes, like final colon or ellipses removed; your tool’s translation memory should help for these (make sure to double check the suggested translation).

In some other cases, you will have to translate new strings twice, since the new preferences are currently only enabled in Nightly (hidden behind a preference), and might not move to Beta with Firefox 55.

Mobile

Searchplugins are now managed similarly to desktop. The entire mobile/searchplugins folder is not used anymore and has been removed as part of merge day.

Common issues

wc-reporter.label

This is a string destined to be displayed in the hamburger menu (on Nightly): \u00ad is a special character used to tell the system to disable hyphenation.

You should *not* keep that character in your translation, unless that’s what you plan to do (disable automatic hyphenation, and only after testing on as many platforms as possible). Make sure to test this string, and shorten it if necessary, because there’s space only for 3 lines of text in these buttons.

New Languages

A few new languages are moving to Beta (and later release) with Firefox 54:

  • Burmese (my) for desktop.
  • Bulgarian (bg) and Kabyle (kab) for Android.

Congratulations to all the teams involved for reaching this goal.

If you want to know more about the process of releasing new locales, or if you speak one of these languages and want to know how to help the localization teams, please get in touch.

To all localizers: Thanks again for all the time and effort you put in localizing and promoting Firefox in your language.