Firefox2/L10n Requirements
This is a draft document, circulated for public feedback. It is intended largely to clarify the policies that were in place for Firefox 1.5, and describe new requirements brought on by new features. Please address feedback to, or CC, Phil Schwan <pschwan@mozilla.com>
Thanks!
Goals
The Firefox brand already represents a faster, better, and more secure web experience for tens of millions of users, but the main focus for most people has been on en-US -- about 30% of the internet population. An amazing number of localizations shipped simultaneously on the 1.5 release date, and it is time for us to put more effort into helping the international volunteer community deliver the best possible browser experience in their locale, and to maintain a strong and consistent worldwide Firefox brand.
For Firefox 2, there are a number of principal locales designated as Tier 1 or 2. These are the locales with the largest internet population, number of Firefox users, or potential for growth. These locales are being treated as first-class citizens, as important as en-US, which is to say that any Tier 1 or 2 locale that does not meet the requirements will block the release of Firefox 2.
We know that QA is usually difficult, tedious, and under-appreciated. So we're producing a plan and dedicating resources to provide the same level of QA coverage for locales as for en-US.
Finally, I use the word "must" often below, in the same way it's used in other requirements documents, but please don't read unintended meaning into that. This is about trying to ensure that Firefox means something, whether you're in Belgium, Japan, or Australia. I hope that consistency of user experience is a shared goal for the entire community.
To summarize:
- Designate many locales as being as important as en-US, and work hard to help ensure that they're ready.
- Demonstrate our commitment to localization, by striving to provide the same level of QA coverage for Tier 1 and 2 localized elements that we provide for en-US.
- Exchange timely feedback with the localizers, and help converge on a release-ready product.
- If a localization team needs assistance, help develop a plan to improve it.
Strategy
- Prioritize our help
The community localizers have submitted or promised as many as 70 locales for Firefox 2, but we won't be able to add resources everywhere. Deciding where to draw the line is very difficult.
The Tier 1 and 2 locales for this release represent the largest group of existing or potential Firefox users, and those will receive the focused effort. Naturally, any improvements made to our automated localization tests will benefit all locales.
As always, we welcome and want to assist any team or individual who wants to help localize Firefox. All localizations that have passed through the QA process and been approved will be posted on the official web site.
- Provide extra QA coverage
Everyone agrees that fresh eyes catch new issues, especially with new users that are not steeped in the product on a daily basis. Mozilla is preparing to engage a team of translators to provide feedback to the localization teams, to assist with that portion of QA most difficult to automate.
To be clear: the localization teams continue to own the locales. These temporary translation assistants will provide feedback, which can be addressed according to its merit, in the usual open process.
- Automate where possible
Apart from the strings, there are dozens of feature and user experience hooks to validate, and the numbers are daunting: seventy locales multiplied by three or four platforms, plus numerous one-off builds. Manual QA of even the URLs in 200+ builds on an ongoing basis would appear to be impractical. Automatic verification of UE hooks for a given distribution and locale will address a large number of the requirements.
- Provide clear requirements and process for everyone
In preparing this effort, the most common feedback has been that Mozilla could do a better job communicating requirements and process to the localizers and QA community.
This document is the first of several iterative steps to hopefully improve this situation.
- Raise the profile of localization
We'd like to do more to build localization into our institutional thinking and processes. Developers can help by thinking about localization early and often, as they've learned to do with UI. If we consider the impact on localizers, and explicitly plan it into the schedule, we'll have fewer last-minute scrambles and stop-ship l10n issues.
Timeline
Summary: We'll attempt to complete the translation review between beta 2 and RC1. We ask that all URL changes requiring approval be submitted before beta 2 ships, so that we can lock down those changes for RC1. Beginning with RC2, l10n bugs will begin to block en-US releases.
Except for the August 8th date for approvals, these are intended to be non-binding, best-effort dates. New l10n-specific items are highlighted below.
We'll get them added to the main calendar after some review.
- August 1: Beta 2 lockdown
- August 8: Last day to request approval for feature and user-experience changes; Beta 2 ships
- August 9-20: Tentative window for translation review
- August 28: approval process complete; RC1 lockdown
- September 1: RC1 ships
- September 4: Goal to have all translation-review bugs closed; RC2 lockdown
- September 8: RC2 ships if Tier 1+2 locales are ready
Requirements
This section is intended to clarify the requirements already in place from Firefox 1.5, describe new features in Firefox 2.0, and provide a basis for a localization QA plan.
For consistency, this page uses the priority conventions specified in the Firefox 2 requirements document.
General
The basis for all of these requirements is an attempt to provide a consistent experience for users worldwide. In addition, we're asking for everyone's help to minimize legal risk to the project. For example, if a site goes down because of traffic caused by a Firefox bookmark, they may try to hold Mozilla liable. Part of our approval process (coming in a separate document) is to try to secure appropriate permissions.
As we did with Firefox 1.5, we are asking teams handling the most popular locales to request approval to deviate from the en-US branding.
- (P1) To provide a consistent user experience and quality of service worldwide, all Mozilla web content will be hosted on mozilla.com or mozilla.org
- (P1) With the exception of the start page, described below, all URLs that point to mozilla can be generated by added the locale as the first element in the path (eg, http://www.mozilla.com/en-US/firefox). This will display the localized page if available, fall back to a similar locale if available (eg, use es-ES if an es-AR page does not exist), and finally fall back to en-US as a last resort.
- (P2) Now that URLs are of a standard format, we can begin to generate them in the code and remove them from the locale files.
Regarding non-Mozilla web content:
- (P1) If you want to link to a localized version of a site that is part of the en-US branding, you do not need approval.
- (P1) If you want to link to a site that is not part of the en-US branding, please request approval.
- (P2) URLs should use a localized site when available. If one is not available, a locale might use the English site or request approval for an appropriate local substitute.
- (P1) If an English site is used when a localized site is not available, the name must indicate such by appending " [en]".
Open Bugs
- (P1) Tier 1 and 2 locales must be free of P1 localization bugs.
- (P3) Tier 3 locales may ship at the discretion of the owner, provided that they meet the other P1 requirements.
Translation
- If proper translation is hampered by the code -- for example, string parts in a fixed order that prohibit a grammatically-correct translation in a particular language -- it is probably too late to fix in Firefox 2. Please file those bugs as soon as possible for consideration in an update or Firefox 3.
- (P1) There should be no known translation errors (except those that require a code change).
- (P1) External QA review will likely happen on beta 2 and pre-beta-2 builds of Tier 1 and 2 locales.
- (P1) Please make every effort to address this feedback in one way or another as it comes in.
- (P1) For changes made after the translation review, please make an extra effort to get review from your peers.
Search Plugins
- (P1) Unless a localized version does not exist, all locales must list Google first and Yahoo! second except:
- (P1) Simplified Chinese (zh-CN) must list Yahoo! first.
- (P1) Traditional Chinese (zh-TW) must list Yahoo! first.
- (P1) Korean (ko) must list Yahoo! first.
- (P1) Japanese (ja and ja-x-mac) must list "Yahoo! Japan Search" first.
A spreadsheet with URL arguments for these and other search plugins will follow.
Google URL
Unlike past releases, Google would like all locales to use www.google.com, and let Google handle the redirection. We have also received feedback that some parameters are unnecessary, so we can reduce the set of arguments to these few:
| q=MY+IMPORTANT+SEARCH | Search term | 
| ie=utf-8 | Input encoding | 
| oe=utf-8 | Output encoding | 
| client=firefox-a | Identifier of official builds | 
| rls=org.mozilla:en-US:official | Will vary based on locale | 
See bug 335460 for related work.
Quicksearches
- (P1) Quicksearches should be localized according to the same general guidelines as other bookmarks.
- (P1) Where a Quicksearch refers to a search partner (like Google or Yahoo), use the same URL arguments as above.
- For reference, en-US includes additional Dictionary.com, Stock Symbol, and Wikipedia quicksearches.
Search Suggest
- (P1) If a localized Search Suggest for a given tier 1 or 2 locale is available, please use it.
It is unclear which engines will support Search Suggest for which locales; we'll let you know as soon as we find out.
Start Page
There is some hope that code will land at the last minute to generate these URLs automatically, instead of duplicating them in every locale file. beltzner is going to file a bug, and I'll add it here once he does.
- (P1) The first-run page (homepage_welcome_url) is shown when a new profile is used for the first time. It must be of the format http://www.mozilla.com/LOCALE/firefox/2.0.0.0/central (bug 314119)
- (P1) The just-updated page (homepage_override_url) is shown when an existing profile is updated. It must be of the format http://www.mozilla.com/LOCALE/firefox/2.0.0.0/whatsnew/
- (P1) The start page URL is the default home page for a new profile. It must be of the format http://LOCALE.start.mozilla.com/firefox
- (P1) Translated versions of start pages must be available (new for Firefox 2).
Bookmarks
The general strategy is one of consistency: take the en_US bookmarks, provide localized versions of the same sites where available, otherwise get approval to replace them with appropriate local equivalents. Requested bookmarks should be useful to a wide audience, and should not be political or religious in nature.
- (P1) The "Firefox Start Page" bookmark must match the start page URL (above).
- (P1) All locales must include a "Bookmark Addons..." link (bug 343023).
- (P3) In general, locales should not have more bookmarks than are found in en_US.
User Dictionaries
Because acquiring licenses for the dictionaries is difficult and time-consuming, they won't be ready for most languages in time for Firefox 2.0. Instead they will be shipped as add-ons (bug 343076).
- (P1) Because virtually all dictionaries will need a special license, all user dictionaries for all locales must receive approval.
RSS Sample
- (P1) en_US must use the BBC News feed.
- (P1) Because it's so easy to melt servers with RSS, approval is required if a locale wants to use any site other than a localized BBC feed, hosted by the BBC.
The intent is not to force everyone worldwide to read the BBC, just to make sure that the RSS feed is appropriate and used with permission.
RSS Feed Handlers
As with the search plugins, a list of default RSS handlers and order will be provided.
Names, URLs, and order are still hard-coded in the code today; see bug 342943. This bug will be fixed for beta 2.
Locale maintainers may want to suggest alternative RSS feed handlers which may be more appropriate (localized, larger market share, better user experience) for a given locale.
Safesearch (Anti-Phishing)
According to bug 329724, the following resources need to be localized:
- the warning message itself, including links to mozilla.com (bug 343084)
- links to report a false positive
- link for "get me out of here" (bug 339032)
Plugin Finder Service (PFS)
Best current information is that PFS localization will be handled on the server. It is not clear whether there will be IT resources available to provide PFS templates for localization in time for Firefox 2.
- (P1) The PFS URL is the same across all locales.
- (P2) If PFS templates are available for localization, it would be very nice for them to be translated.
Trademark Policy
There are a small number of additional requirements in the Trademark Policy document. After we receive feedback on this document, we will apply some effort to combining them and/or removing duplicate information.
- (P1) All locales must meet the requirements in the Mozilla Trademark Policy for Localization Projects.