L10n:Becoming an Official Localization: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(Update broken calendar link)
 
(45 intermediate revisions by 6 users not shown)
Line 1: Line 1:
__TOC__
__NOTOC__{{L10navbar}}<p><br>


The [[L10n:Localization Process Start|Starting a Localization]] described how to start a localization and use language packs to distribute that work to testers and users.
Releasing a localized Mozilla product is the ultimate goal for each L10n team. It is the culmination of all of their hard work and truly cause for celebrating! Each team has the option of releasing their work as either an official language pack or an official build.  


Having an official build will give your users
There are many advantages to releasing as an official build. This gives the L10n team's users the following:
* a download link on [http://en-US.www.mozilla.com/en-US/firefox/all.html mozilla.com], <code>navigator.language</code>-based download links on http://getfirefox.com, for all three major platforms
* a download link on for all three major platforms in each release channel
* a localized install experience, including profile migration
* a localized install experience, including profile migration
* a localized start page
* a localized start page
* localized [[L10n:Web parts|Web parts]] like first-run page, or get-involved
* localized [[L10n:Web parts|Web parts]] like first-run page, or get-involved
* automatically generated security updates
* automatically generated security updates
* language-specific major upgrade to the next versions
* language-specific upgrades to the latest version releases for each release channel
* localized web services experience (e.g., search, RSS Readers, RSS Feed/Live Bookmark and content handlers).


There are technical measures that help us achieve these goals;
[http://mozilla.github.com/process-releases/draft/development_overview/ Mozilla's rapid release cycle] gives L10n teams six weeks to localize the latest version of Firefox and other products before they are officially released. Each release channel represents a different stage of development and thus requires a different type of work for each L10n team. Once a team's work has been approved for inclusion in these release channels, it is critical for the teams to continue to localize and fix bugs in the appropriate channels for each release. Whether a team choses to release as a language pack or as a build, they all have to kick off their releases on the train. [https://www.google.com/calendar/embed?src=bW96aWxsYS5jb21fZGJxODRhbnI5aTh0Y25taGFiYXRzdHY1Y29AZ3JvdXAuY2FsZW5kYXIuZ29vZ2xlLmNvbQ We use this calendar to track when each six week period is over.]
* '''Use the Mozilla CVS server.''' To create builds Mozilla needs access to your source, this happens through our [http://lxr.mozilla.org/l10n cvs repository]. [[L10n:Localization Process Middle#Landing_in_CVS|Details...]]
* '''Localize some web content.''' This isn't all of the Mozilla.com website. We currently only offer the localization of the [[L10n:Web parts|Web parts]]. If your interested in translating the Mozilla.com website, we're interested, too, but we haven't figured out the right set of pages yet. [[L10n:Localization_Process_Middle#Building_your_Web_presence|Details...]]
* '''Fix bugs in your localization.''' There will be a bugzilla component for your localization, in which Mozilla and community members can file bugs on your localization. We'll be working together to fix those, land them, test them and ship them with the next (minor) release.
* '''Organize further QA.''' There will be further test requirements, which the localization team and its community are responsible for with help from the Mozilla [http://www.mozilla.org/community/developer-forums.html#dev-l10n L10n] and [http://quality.mozilla.org/ QA] teams. [[L10n:Localization_Process_Middle#Ship_Beta|Details...]]
* '''Follow the development.''' Localizers need to follow the announcements in .l10n, so that they know when to work on minor and major versions. [[L10n:Localization_Process_Middle#Official_Release|Details...]]


Over the next few paragraphs we will better define the process that moves towards official build status.
=The release train=
= Preparation =
To become an official localization, you will need to have a source for your localization and, if possible, some reviews of your work by native speakers. If you have some of the [[L10n:Building Blocks|Building Blocks]] filled, that's a plus, too. You should have a registration bug filed now, and that bug should list


* '''What you want to release.''' Please mention your language, the language code, and the product/products you're localizing.
Once L10n teams have largely completed their work for a Mozilla product, it becomes the L10n drivers' responsibility to review that work for it to be added to the rapid release cycle. This can be a tricky process, as once a team's work is approved, they are expected to localize within the appropriate channel for each new release of that Mozilla product.
* '''Who you are.''' We'll need your name, and the name of your peers. A link to your [[L10n:Teams|Teams]] page would be good, too.


File a registration bug using this [https://bugzilla.mozilla.org/enter_bug.cgi?product=Mozilla%20Localizations&version=unspecified&component=Registration%20%26%20Management&rep_platform=All&op_sys=All&priority=--&bug_severity=normal&target_milestone=---&bug_status=UNCONFIRMED&assigned_to=registration%40localization.bugs&qa_contact=registration%40localization.bugs&cc=&bug_file_loc=http%3A%2F%2F&short_desc=&comment=&commentprivacy=0&keywords=&dependson=&blocked=&maketemplate=Remember%20values%20as%20bookmarkable%20template&form_name=enter_bug bug link], which sets the right component. If multiple teams try to submit a localization, this will be resolved within a single registration bug, so before filing a new registration bug, make sure that there isn't one already. We strongly prefer that everyone cooperates to make a better and stronger team.
Many people have described the rapid release cycle as a train. A L10n team's first localized build is like the head of a train, and each additional version after that is another car added to the train. Essentially, once the head of the train begins to roll forward, all of the cars follow it. New cars (i.e., new versions of the product) are added while it's in motion within each channel, meaning that the train does not stop for any car.


From this point forward we will consider your officially responsible for this effort. You should consider this a several year commitment to continue with the effort of your localization. Mozilla is a community project and as such, we understand that your schedule has more on it than just Mozilla. Localizing Mozilla is an ongoing effort nevertheless, and if a localization community runs short on manpower, we need your help in getting new volunteers on board.
At Mozilla, we have four release channels: <b>Central</b> (which produces the Nightly build), <b>Aurora</b>, <b>Beta</b>, and <b>Release</b>. Builds of the product are pulled from locale-specific code repositories stored in hg (our version control system for Mozilla products).  


You should attach your localization source to this bug for review. Zips usually fail to work due to their file size as a single attachment, but tarballs do. You can create one by using
==Aurora: the localizer's workspace==
tar -jcvf localization.tar.bz2 l10n/en-X-dude,
When a L10n team is ready to put their train in motion (i.e., produce their first, official, localized build), a locale registration bug is created and their localized code is placed into a L10n repository (repo) within hg. This is typically done by the L10n drivers. The first builds are Aurora builds pulled from their repo in the <b>Aurora channel</b>. This is the channel in which the team will localize each new version (i.e., train car. Becoming clearer?), every six weeks. Once their L10n work is done for each version, it is submitted for review by the L10n drivers.  
where you replace <code>en-X-dude</code> with your language code.


== Reviews ==
By this time, members of new L10n teams should have access to hg. To get write access to the l10n hg repositories on the Mozilla server, there's a bit of paper work to be done. See the wiki page, [http://www.mozilla.org/hacking/commit-access-policy/ "Localizing with Mercurial"] for more info.
Mozilla will take a look at the reviews by native speakers that you point to in the bug. In addition to that, we'll do a user-experience and a technical review. The technical review is done to ensure that there is a promising effort to create a full source localization of the product in question by evaluating the technical correctness and localization coverage. The user-experience review will make a call whether a particular language or dialect is better served with a language pack instead of a full product localization. We may prioritize requests to match them with the resources inside the QA and release teams at Mozilla. Part of the user experience review is also some linguistic assessment of the language or dialect in question.


These reviews are done to ensure that the quality of the localization work meets the high standards people have come to expect when they download a Mozilla product from the official [http://www.mozilla.com/en-US/firefox/all.html Mozilla site]. A successful review gives the OK for moving from a language pack to a fully localized product.
==Beta==
While the L10n team's work is under review, their builds are migrated to the Beta channel. If problems are discovered during review, they are filed as bugs and the L10n team fixes them in this channel. As with Aurora, they have six weeks to fix all bugs. If they're successful and pass their review, their beta builds are migrated to the Release channel.


Once the reviews have been successful, we'll make your localization team official, create a bugzilla component for it, and we're ready to move the localization work into CVS.
If this is a L10n team's first official release, the review may take longer because of the larger amount of work to be reviewed. In addition, it is possible that the first Beta build may not be approved to move to the Release channel by the end of the six week Beta period. '''This is why it is absolutely necessary for each L10n team to continue localizing on Aurora, even if their first build is currently under review in another channel.''' This ensures lasting stability for the localization and reduces the overall amount of new source strings that each team will have to localize for each new version.


= Landing in CVS =
This channel is also where the L10n drivers monitor the total number of downloads for a new L10n team's work. As with the L10n teams' language packs, the L10n teams need to gather feedback on their localized Beta builds. Users can provide feedback on these builds by following going to Tools>Feedback and then providing their feedback about the localization (simple enough, right?). The L10n teams check up on the feedback they've received by visiting [http://input.mozilla.org input.mozilla.org].
Mozilla uses CVS to organize the source code changes, you should dig a little into version control systems, with a focus on CVS and branches to understand this better.


== CVS write access ==
==Release==
To get write access to the l10n cvs repository on the Mozilla server, there's a bit of paper work to be done. The localization owner needs to [https://bugzilla.mozilla.org/enter_bug.cgi?product=mozilla.org&component=CVS%20Account%20Request&version=other&rep_platform=All&op_sys=All&priority=--&bug_severity=normal&target_milestone=---&bug_status=UNCONFIRMED&assigned_to=registration%40localization.bugs&qa_contact=registration%40localization.bugs&short_desc=l10n%20CVS%20account%20for%20John%20Doe%20(ab-CD) file a bug requesting a CVS account]. You need to follow the instructions regarding the [http://www.mozilla.org/hacking/form.html CVS contributor form]. Write access to the CVS repository requires a ''voucher'', which, for the owner, will be done based on the review by Mozilla. For peers of a localization, the owner can vouch (once she or he is registered).
Congratulations! Making it to the Release channel is the culmination of all of the L10n team's hard work! If a team has a build distributed on this channel it means that they have:


Once your CVS access is up and working, we'll be working towards release.
*completed their L10n work (100% translated strings),
*resolved all bugs filed in Beta,
*recieved a green light approval on their sign-off or technical reviews,
*begun localizing subsequent versions of their Mozilla product on the Aurora channel,
*earned a huge celebration!


= Towards Release =
From this point forward we will consider the L10n team officially responsible for their L10n effort (they should consider this a several year commitment). Mozilla is a community project and as such, we understand that each contributor's schedule has more on it than just Mozilla. Localizing Mozilla is an ongoing effort nevertheless, and if a L10n team runs short on manpower, we need their help with getting new volunteers on board.
The first thing that needs to be done is the initial landing and set up. We're calling this the [[L10n:Incubator|Incubator]].


== Incubator Stage ==  
=A couple of words about reviews=
[[User:AxelHecht| Axel]] does the initial landing in CVS for you, as it happened to be more error prone than the rest. Your localization will be added to the [http://l10n.mozilla.org/buildbot/ incubator build], too, which generates build logs and language packs as soon as you check in. The result of this stage is a review of your language pack to ensure its working the way we all expect and then it moves to the branch. You'll be landing your changes on the trunk, which remain to be tested against the latest stable release.
Mozilla will take a look at the reviews by native speakers that L10n teams recieve and point to in their registration bug. In addition to that, we do a few different types of reviews depending on the state of the localization: a technical review and a sign-off review.  


This work will be tracked by a landing bug, filed in your bugzilla component and with the alias <code>land-AB-CD</code>, where <code>AB-CD</code> is your language code.
The [https://developer.mozilla.org/en/Localization_technical_reviews technical review] is done on first time builds to evaluate the technical correctness and localization coverage.


While we're jointly ironing out the remaining localization issues and possibly technical problems, the remaining parts for a full localization get addressed, in particular, the productization and the web parts.
The [https://developer.mozilla.org/en/Localization_sign-off_reviews sign-off review] is done on all subsequent builds. It is less intensive, as it concentrates only on the newest work done in the new version release instead of the entire repository.


=== Productization ===
These reviews are done to ensure that the quality of the localization work meets the high standards people have come to expect when they download a Mozilla product from the official Mozilla site. A successful review gives the OK for moving from a language pack to a fully localized product.
We'll jointly work on  your language-specific search engines, RSS readers, feeds and [http://wiki.mozilla.org/Firefox3/Product_Requirements_Document#Content_handling content handlers]. This way users not only have a browser that works in their language but features localized specifically for their language like Search and RSS readers.


We'll file a separate bug to track this step, in which you propose what local options you'd like to include and we collaboratively review it and once it's approved, you check in the changes.
=Testing and getting feedback=
Testing and getting feedback about the quality of your localization is critical to delivering a browser that will meet your users' needs. We want to attract people in your region to the world's best browser by making sure that it is the best <b><i>localized</i></b> browser available in your region. Gathering feedback is done in two different ways, depending on whether your localization is on the release train or not.


* [[User:MicBerman| Mic]] is the one who does the reviews with you over this stage
;Pre-release train testing
* the best way to make these recommendations is to get input from your local community as to what they use or want to use in your local language version. For examples check out bugs: [https://bugzilla.mozilla.org/show_bug.cgi?id=375198 375198], or [https://bugzilla.mozilla.org/show_bug.cgi?id=375818 375818]
If you're not yet on the release train, the best option for you to distribute, test, and get feedback about your localization is to regularly create language packs (langpacks) and distribute them through the [http://addons.mozilla.org Add-ons Manager]. Firefox users can download and install your langpack from there and even leave comments about its quality. This feedback will often help you to greatly improve your localization prior to boarding the release train. [https://addons.mozilla.org/en-US/firefox/language-tools/ Here's a list of langpacks] that are currently updated and distributed through the Add-ons Manager.
* also check out the current list of requirements for the upcoming release of [[Firefox3/L10n_Requirements| Firefox 3]] or the [[Firefox2/L10n_Requirements| Firefox 2]] requirements


== Building your Web presence ==
;Release train testing
* This is the stage when you build your [[L10n:Web_parts#Firefox_in-product_pages|in web product]] pages. These are dedicated pages to your build which describe and promote specifications you've identified that users will appreciate. This page is for users.
Not only is Aurora the channel for localization, but also for testing your localization. If you're already on the release train, you can encourage users in your region to download your locale's Aurora build and leave feedback using Firefox's Input feature (Found here: Tools > Input). As an official localization, you have access to your [https://input.mozilla.org/ locale's Input dashboard] to see what your users think of your work. You may even be able to recruit new localizers to your l10n team this way!
* [[User:Pascalc|Pascalc]] work with you to guide the building of these pages
* Pascal is working to create an [[L10n:Web_parts|explicit instruction set]]


== Branching the localization ==
You might be asking, "how do I get users in my region to download my langpack/Aurora build?" People have done this through many different and unique ways. Some have written a blog post describing how to download and install either the langpack or Aurora build and how to leave feedback for it. Others have gone to their local internet cafes, downloaded and installed Firefox langpacks or Aurora builds on every computer. Others still have teamed up with their colleges, universities, and local hackers to download, test, and give feedback about their work. You can email the [http://groups.google.com/group/mozilla.dev.l10n/topics m.d.l10n newsgroup] to learn what other l10n teams have done and try it out in your region. These are some ideas, but the best ideas are those that fit with your region's local customs and culture. When considering how to reach out and evangelize your work, consider what has worked before and give it your own unique, regional touch.
Axel handles this part again and specifically,
* This is the step when your localization gets on the branch
* We create a bug for build automation
* Once this step is complete your localization will then be building on branch
* Evaluations are then done by you to ensure all is done the way it's supposed to be. You should incorporate your community if you can for testing here as we all want the user experience to be the best and the crux of this stage is making sure all the translations are completed and "right".


== Ship Beta ==
;Infographics on the l10n process
* This is our QA stage, it is heavily dependent on a community review
*[[File:Mozilla_localization.pdf|frame|none|alt=Alt text|Infographic of l10n process (front)]]
* Effectively we're asking and you're asking to get as much community feedback as you have access to, to review these builds. We want to make sure users will be very happy with the quality of the language translation and the choices we've made to reflect functionality like search, RSS, etc in their language.
*[[File:Firefox_localization_back.pdf|frame|none|alt=Alt text|Infographic of l10n process (back)]]
* There are no automatic links to your localization on http://getfirefox.com yet, however it is listed as a Beta on http://www.mozilla.com/en-US/firefox/all.html.


We're working on a testing matrix to make it easier to find out how to get from a Beta build to a full official release.


= Official Release =
<div style="text-align:right">[[L10n:Official_Localized_Releases|Next >>]]</div>
You now have an official release of your localized Mozilla product. [[L10n:Localization_Process_End|Official Build]]s come with more possibilities and tasks, which deserves a separate page.
 
[[Category:L10n]]

Latest revision as of 19:01, 18 May 2015

Mozilla L10n Main | Join Mozilla | Overview | L10n Drivers | Communities | Meetings | Blog | Resources


Releasing a localized Mozilla product is the ultimate goal for each L10n team. It is the culmination of all of their hard work and truly cause for celebrating! Each team has the option of releasing their work as either an official language pack or an official build. There are many advantages to releasing as an official build. This gives the L10n team's users the following:

  • a download link on for all three major platforms in each release channel
  • a localized install experience, including profile migration
  • a localized start page
  • localized Web parts like first-run page, or get-involved
  • automatically generated security updates
  • language-specific upgrades to the latest version releases for each release channel
  • localized web services experience (e.g., search, RSS Readers, RSS Feed/Live Bookmark and content handlers).

Mozilla's rapid release cycle gives L10n teams six weeks to localize the latest version of Firefox and other products before they are officially released. Each release channel represents a different stage of development and thus requires a different type of work for each L10n team. Once a team's work has been approved for inclusion in these release channels, it is critical for the teams to continue to localize and fix bugs in the appropriate channels for each release. Whether a team choses to release as a language pack or as a build, they all have to kick off their releases on the train. We use this calendar to track when each six week period is over.

The release train

Once L10n teams have largely completed their work for a Mozilla product, it becomes the L10n drivers' responsibility to review that work for it to be added to the rapid release cycle. This can be a tricky process, as once a team's work is approved, they are expected to localize within the appropriate channel for each new release of that Mozilla product.

Many people have described the rapid release cycle as a train. A L10n team's first localized build is like the head of a train, and each additional version after that is another car added to the train. Essentially, once the head of the train begins to roll forward, all of the cars follow it. New cars (i.e., new versions of the product) are added while it's in motion within each channel, meaning that the train does not stop for any car.

At Mozilla, we have four release channels: Central (which produces the Nightly build), Aurora, Beta, and Release. Builds of the product are pulled from locale-specific code repositories stored in hg (our version control system for Mozilla products).

Aurora: the localizer's workspace

When a L10n team is ready to put their train in motion (i.e., produce their first, official, localized build), a locale registration bug is created and their localized code is placed into a L10n repository (repo) within hg. This is typically done by the L10n drivers. The first builds are Aurora builds pulled from their repo in the Aurora channel. This is the channel in which the team will localize each new version (i.e., train car. Becoming clearer?), every six weeks. Once their L10n work is done for each version, it is submitted for review by the L10n drivers.

By this time, members of new L10n teams should have access to hg. To get write access to the l10n hg repositories on the Mozilla server, there's a bit of paper work to be done. See the wiki page, "Localizing with Mercurial" for more info.

Beta

While the L10n team's work is under review, their builds are migrated to the Beta channel. If problems are discovered during review, they are filed as bugs and the L10n team fixes them in this channel. As with Aurora, they have six weeks to fix all bugs. If they're successful and pass their review, their beta builds are migrated to the Release channel.

If this is a L10n team's first official release, the review may take longer because of the larger amount of work to be reviewed. In addition, it is possible that the first Beta build may not be approved to move to the Release channel by the end of the six week Beta period. This is why it is absolutely necessary for each L10n team to continue localizing on Aurora, even if their first build is currently under review in another channel. This ensures lasting stability for the localization and reduces the overall amount of new source strings that each team will have to localize for each new version.

This channel is also where the L10n drivers monitor the total number of downloads for a new L10n team's work. As with the L10n teams' language packs, the L10n teams need to gather feedback on their localized Beta builds. Users can provide feedback on these builds by following going to Tools>Feedback and then providing their feedback about the localization (simple enough, right?). The L10n teams check up on the feedback they've received by visiting input.mozilla.org.

Release

Congratulations! Making it to the Release channel is the culmination of all of the L10n team's hard work! If a team has a build distributed on this channel it means that they have:

  • completed their L10n work (100% translated strings),
  • resolved all bugs filed in Beta,
  • recieved a green light approval on their sign-off or technical reviews,
  • begun localizing subsequent versions of their Mozilla product on the Aurora channel,
  • earned a huge celebration!

From this point forward we will consider the L10n team officially responsible for their L10n effort (they should consider this a several year commitment). Mozilla is a community project and as such, we understand that each contributor's schedule has more on it than just Mozilla. Localizing Mozilla is an ongoing effort nevertheless, and if a L10n team runs short on manpower, we need their help with getting new volunteers on board.

A couple of words about reviews

Mozilla will take a look at the reviews by native speakers that L10n teams recieve and point to in their registration bug. In addition to that, we do a few different types of reviews depending on the state of the localization: a technical review and a sign-off review.

The technical review is done on first time builds to evaluate the technical correctness and localization coverage.

The sign-off review is done on all subsequent builds. It is less intensive, as it concentrates only on the newest work done in the new version release instead of the entire repository.

These reviews are done to ensure that the quality of the localization work meets the high standards people have come to expect when they download a Mozilla product from the official Mozilla site. A successful review gives the OK for moving from a language pack to a fully localized product.

Testing and getting feedback

Testing and getting feedback about the quality of your localization is critical to delivering a browser that will meet your users' needs. We want to attract people in your region to the world's best browser by making sure that it is the best localized browser available in your region. Gathering feedback is done in two different ways, depending on whether your localization is on the release train or not.

Pre-release train testing

If you're not yet on the release train, the best option for you to distribute, test, and get feedback about your localization is to regularly create language packs (langpacks) and distribute them through the Add-ons Manager. Firefox users can download and install your langpack from there and even leave comments about its quality. This feedback will often help you to greatly improve your localization prior to boarding the release train. Here's a list of langpacks that are currently updated and distributed through the Add-ons Manager.

Release train testing

Not only is Aurora the channel for localization, but also for testing your localization. If you're already on the release train, you can encourage users in your region to download your locale's Aurora build and leave feedback using Firefox's Input feature (Found here: Tools > Input). As an official localization, you have access to your locale's Input dashboard to see what your users think of your work. You may even be able to recruit new localizers to your l10n team this way!

You might be asking, "how do I get users in my region to download my langpack/Aurora build?" People have done this through many different and unique ways. Some have written a blog post describing how to download and install either the langpack or Aurora build and how to leave feedback for it. Others have gone to their local internet cafes, downloaded and installed Firefox langpacks or Aurora builds on every computer. Others still have teamed up with their colleges, universities, and local hackers to download, test, and give feedback about their work. You can email the m.d.l10n newsgroup to learn what other l10n teams have done and try it out in your region. These are some ideas, but the best ideas are those that fit with your region's local customs and culture. When considering how to reach out and evangelize your work, consider what has worked before and give it your own unique, regional touch.

Infographics on the l10n process


Next >>