Firefox3/L10n Requirements

From MozillaWiki
Jump to: navigation, search

Goals

The Firefox brand already represents a faster, better, and more secure web experience for tens of millions of users. Over 30 localizations shipped simultaneously on the 2.0 release date, and we recognized the need 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 3, 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. The Tier 1 and 2 locales are being treated in the same way 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 3. This was how we approached things for Firefox 2 and we're trying to improve on them for Firefox 3 by adding more locales, improving our documentation and release process (including QA). Tier 3 locales are treated on a best effort basis, they will not block the release of Firefox 3 but we will do everything we can to support an on-time release. So, Tier 1, 2 and 3 can be equated with P1, P2 and P3 in bugzilla.

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. To read the latest on this check out the QA link above or our weekly meeting notes for updates.

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.
  • Work within consistent principles to support localizers to localize new and existing features of Fx3

Strategy

  • Prioritize our help

The community localizers have submitted or promised as many as 70 locales for Firefox 3, 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 has engaged 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. More can be found on the L10n:Home_Page and we've been expending more effort to improve those pages.

  • 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

Current information on the proposed Fx3 L10n release schedule is available. In 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.

Requirements

This section is intended to clarify the requirements already in place from Firefox 2.0, describe new features in Firefox 3.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. We have created a new set of guidelines to help you in making recommendations for changes to these 3rd party web services in your language/locale. Please review that and contact mic@mozilla.com for any questions. This year we will be posting a separate document with a log of those changes and the supporting rationale so Product (release drivers) can do a final review and QA can use it for testing. Like last year, we require these bugs to be filed so that we can get permission when we make changes from the 3rd party providers to ensure no legal risk to the Mozilla project.

As we did with Firefox 2.0, please request approval to deviate from the en-US branding or previously approved web services by filing a bug.

  • (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 according to the following formula: http[s]://%LOCALE%.%SERVICE%.mozilla.com/%LOCALE%/%APP%[/%VERSION%]/... (eg, http://en-US.www.mozilla.com/en-US/firefox/community). 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.  %VERSION% is used for all links to addons.mozilla.com, otherwise only where necessary.
  • (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 (bug 347944 and bug 348076)
  • (P2) URLs should use a localized site when available. If one is not available, you could 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]".

Approval

To help us reach our goal of a consistent worldwide user experience, we're asking localizers to undergo a short review, like we already do for code. This applies to all URLs in the browser (search plugins, bookmarks, sample RSS feed, any other URL), but not all changes require approval.

  • To copy a link from the en-US branding, you do not need approval.
  • To change to a localized version of a site that is part of the en-US branding -- for example, changing from English to German version of Yahoo -- you do not need approval.
  • To link to a site that is not part of the en-US branding, please request approval.

To request approval, please file a bug using this link.

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 -- please file those bugs as soon as possible for consideration inFirefox 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

en-US includes search plugins for Google, Yahoo, Amazon.com, Answers, Creative Commons, eBay and Wikipedia. Localizers are welcomed to use the local version of any of these providers (please indicate that in your web services or productization tracking bug). Localizers are also welcomed to offer other suggestions that are more relevant to their locales based on these guidelines and must file a bug to have the suggestion reviewed.

Localizers are free to translate the names of the search engines unless specifically prohibited by the engine's terms of service. If you have any questions, please ask.

Search Order

  • (P1) Unless a localized version does not exist, all locales must list Google first and Yahoo! second. Below is a list of approved exceptions to this rule.
      • If Google or Yahoo does not provide a version for your language or locale, you may omit it.
      • The order for the remainder of the plugins should follow a descending alphabetical approach e.g., Amazon, Answers, Creative Commons, eBay, Wikipedia
      • If a localized version of the search plug-in exits than it should be used e.g., for de use de.wikipedia.org

How to:

Add to the region.properties file the appropriate search order for your locale. The most common example, with Google first, is:

browser.search.defaultenginename = Google

browser.search.order.1 = Google
browser.search.order.2 = Yahoo

The code does not support specific order for more than two plugins.

Google

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:

http://www.google.com/search?q={searchTerms}&ie=utf-8&oe=utf-8&client=firefox-a&rls=org.mozilla:en-US:official

<thead> </thead> <tbody> </tbody>
q=MY+IMPORTANT+SEARCH Search term
ie=utf-8 Input encoding
-
oe=utf-8 Output encoding
-
client=firefox-a Used when Google ships as the default search engine
-
client=firefox Used when Google ships as the non-default search engine
-
rls=org.mozilla:en-US:official Will vary based on locale
-
hl=ja Interface language. Value is language portion of locale. For those languages that differ by country, should include both (pt-BR, zh-TW).
-
}

How To:

All locales should use the en-US version of the Google plugin, because it will do the right thing worldwide. The recipe is simple:

  • Remove the localized google*.xml file, if any
  • Add "google" to browser/searchplugins/list.txt
  • Modify your region.properties file to set the appropriate search order (see above)

Google Search Suggest

If you just use the en-US Google plugin as described above, it will automatically use search suggest. No further action is required on your part. For the record, the URL it uses is:

http://suggestqueries.google.com/complete/search?output=firefox&client=firefox&qu={searchTerms}

As at November 15, 2006, Google has asked that we add an "aq=t" parameter to Google search queries that originate from the searchbar. (This parameter identifies the query as coming from a suggest-enabled searchbox.) See Bug 359880 for additional context.

Yahoo!

Yahoo! URLs follow this basic formula:

http://%DOMAIN%/search?p={searchTerms}&ei=UTF-8&fr=%IDENTIFIER%

<thead> </thead> <tbody> </tbody>
%DOMAIN% Select from the table below, or visit world.yahoo.com
p=MY+IMPORTANT+SEARCH Search term
-
ei=UTF-8 Encoding
-
fr=moz2 %IDENTIFIER% when Yahoo is in the #2 search position in any non-CJKT locale
-
fr=moz1 %IDENTIFIER% when Yahoo Japan, Taiwan or Korea is in the #2 search position for mozilla partner distributed builds
-
fr=moz2 %IDENTIFIER% when Yahoo Japan, Taiwan or Korea is in the #1 search position for any mozilla distributed builds
-
fr=moz2y %IDENTIFIER% when Yahoo Japan, Taiwan or Korea is in the #1 search position for any Yahoo! distributed builds
-
f=D3_g %IDENTIFIER% when Yahoo! China is in the #1 search position for any Mozilla distributed builds (Note: China is the only exception to the above rule)
-
f=D4_g %IDENTIFIER% when Yahoo China is in the #1 search position for any Yahoo! distributed builds (Note: China is the only exception to the above rule)
-
f=D5_g %IDENTIFIER% when Yahoo! China is in the #2 search position for any Mozilla partner distributed builds (Note: China is the only exception to the above rule)
}

Yahoo Search Suggest

Yahoo supports search suggest in en-US, cn, de, jp, ko and tw. There are two separate URL formats: Japan and the others.

Japan: http://api.search.yahoo.co.jp/AssistSearchService/V2/webassistSearch?output=fxjson&p={searchTerms}
Everywhere else: http://%DOMAIN%/gossip?output=fxjson&command={searchTerms}

<thead> </thead> <tbody> </tbody>
de de.ff.search.yahoo.com
en-US ff.search.yahoo.com
-
cn TBC
-
tw TBC
-
ja search.yahoo.co.jp
-
ko kr.ff.search.yahoo.com
}

To enable this functionality, add these lines to your yahoo.xml search plugin, substituting your own URL as appropriate; the "&amp;" is intentional.

<Url type="application/x-suggestions+json" method="GET"

    template="http://ff.search.yahoo.com/gossip?output=fxjson&amp;command={searchTerms}" />

Amazon

Amazon.com URLs follow this basic formula:

http://%DOMAIN%/exec/obidos/external-search/?field-keywords={searchTerms}&mode=blended&tag=mozilla-20&sourceid=Mozilla-search

<thead> </thead> <tbody> </tbody>
%DOMAIN% Select from the table below
field-keywords=MY+SEARCH Search term
-
mode=blended Show results from all parts of the store
-
tag=%TAG% Mozilla identifier #1, from table below
-
sourceid=Mozilla-search Mozilla identifier #2
}

If your domain is not listed, then Amazon may not provide a site for your locale. Most other locales used www.amazon.com in Firefox 1.5:

<thead> </thead> <tbody> </tbody>
locale domain tag
en-CA www.amazon.ca tag=mozilla-20
-
en-GB www.amazon.co.uk tag=firefox-de-21
-
en-US www.amazon.com tag=mozilla-20
-
de www.amazon.de tag=firefox-de-21
-
fr www.amazon.fr tag=firefox-fr-21
-
ja www.amazon.co.jp tag=mozillajapan-fx-22
}

Creative Commons

Creative Commons provides only an English language search of their content, from this URL:

http://search.creativecommons.org/?q={searchTerms}&sourceid=Mozilla-search

eBay

eBay URLs follow this basic formula:

http://%DOMAIN%/search/search.dll

with a vast number of arguments:

<thead> </thead> <tbody> </tbody>
query=SEARCH+TERMS
MfcISAPICommand=GetResult
-
ht=1
-
ebaytag1=ebayreg
-
srchdesc=n
-
maxRecordsReturned=300
-
maxRecordsPerPage=50
-
SortProperty=MetaEndSort
}

Wikipedia

Each available language for Wikipedia can be searched like so:

http://%LOCALE%.wikipedia.org/wiki/Special:Search?search={searchTerms}

Where the available languages currently can be found listed at http://en.wikipedia.org/wiki/Special:SiteMatrix

For search suggest for Wikipedia please use this: <Url type="application/x-suggestions+json" method="GET" template="http://en.wikipedia.org/w/api.php?action=opensearch&search={searchTerms}"/>

Quicksearches

EDITOR'S NOTE: CONFIRM ACCURACY FOR FX3

Because quicksearches are invisible to novice users, and easily added by experienced users, Firefox 3 will ship without quicksearches in the default bookmarks.

  • (P1) All locales should remove all quicksearches from the bookmarks.html

In-Product Pages

There are new guidelines for in-product pages this year that are available at Firefox_3/In-Product_Page.

For the new "Getting started" pages we have new guidelines that need your attention:

As we'd described before (Firefox_3/In-Product_Pages#Getting_Started_page), we're updating this page to make it more useful to users...since we have Help content elsewhere now, we wanted to use this page to give web users a few starting points they could use to enjoy the web and get the most out of FF3.

We would like to start the review process now. Here's the way we hope it will work, it is similar to Web Services process, so shouldn't be any surprises ;-).

We'd like you to review the guidelines and then offer some suggestions in your respective tracking bug. Since many of these sites will be receiving Mozilla's official endorsement, we'd like you to be very sensitive that what you're suggesting is completely appropriate and consistent with the Mozilla mission.

Once you offer some suggestions Mic (of l10n-drivers) will review the suggestions for adherence to guidelines, ensuring we have 3d party permission (they are aware and links work etc), and to offer any additional research or insights we may have. For sticky decisions or ones where further guidance is needed Mic will rely on the UI/UE and Marketing teams at Mozilla who created the page. The UI/UE team lead for this page is Madhava Enros and the Marketing team lead for this page is John Slater.

If there are any problems like broken links, negative community feedback, etc. we will use the tracking bugs to address these kinds of things.

Our goal is to get as many locales localized i.e., with options more relevant to your language and/or geography as possible and at the very least to do this for all of the Tier 1 locales.

For any questions please contact Mic

Bookmarks

For Firefox 2, we overhauled the list of bookmarks, with the goal of having fewer links to portal pages with better information. Most, if not all locales, followed the process we outlined in the Fx2 l10n requirements document. If you did not, please follow the procedure outlined there.

It has been suggested that "About Mozilla" is better than "About Us" in some locales. As always, we will trust your judgment about which is best in your situation.

l10n teams will have the opportunity to provide localized versions of the web content. These pages would be the appropriate place to put links to the l10n community site for end-user support, getting involved, etc.

User Dictionaries

User dictionaries will be shipped as add-ons (bug 343076). For more information about how to ship a dictionary for your locale, see http://benjamin.smedbergs.us/blog/2006-07-26/dictionaries-in-firefoxthunderbird-2/

RSS Sample

The principal purpose of the RSS sample is to demonstrate a feature that users might not otherwise be aware of.

  • (P1) en_US is using the BBC News feed; the BBC has a large number of translations, which makes it a reasonable worldwide default.
  • (P1) If a locale wants to use something other than the BBC, that's fine -- but because it's so easy to melt servers with RSS, approval is required.

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.

To change this for your locale, file a bug to have this changed. This is done by Mozilla IT staff where it is done as a server side redirect. Therefore you don't need to edit this yourself.

RSS Feed Handlers

  • (P1) Locales must add contentHandlers to region.properties -- if you don't, your locale won't have any RSS feed handlers!
  • (P1) If you want to suggest alternative RSS feed handlers which may be more appropriate for your locale (localized, larger market share, better user experience), please file an approval bug (see Approval above).

The feed handlers from en-US in the approved order are:

browser.contentHandlers.types.0.title=Bloglines

browser.contentHandlers.types.0.uri=http://www.bloglines.com/login?r=/sub/%s
browser.contentHandlers.types.1.title=My Yahoo
browser.contentHandlers.types.1.uri=http://add.my.yahoo.com/rss?url=%s
browser.contentHandlers.types.2.title=Google Reader
browser.contentHandlers.types.2.uri=http://fusion.google.com/add?feedurl=%s

You can swap Bloglines for Netvibes especially when Netvibes is translated to your language:

browser.contentHandlers.types.0.title=Netvibes

browser.contentHandlers.types.0.uri=http://www.netvibes.com/subscribe.php?url=%s

Places

EDITOR'S NOTE: SPECIFICATIONS FOR L10N TO BE PROVIDED There is both a current PRD and overview of the requirements for your reading pleasure.

Web-Based Protocol Handling

For a description of the content handling feature. We expect the following protocols to be available for Firefox 3: webcalendar and webmail. These are the current list of defaults:

  • GMail
  • Yahoo Mail
  • MSN Live Mail

We expect this feature to be localized in the sense that if there are other providers in your language that are highly used we can include those to the set of defaults. So, Localizers can choose one of three options:

  • ship with defaults
  • change defaults to include other providers that are in your local language
  • if the defaults are not available in your language we can choose to allow the user to customize through the wizard

Here are further [Firefox_web_services_guidelines|guidelines] on making a recommendations.

Phishing Protection

EDITOR'S NOTE: SHOULD THIS SECTION CHANGE WITH MORE CURRENT INFORMATION?

There are three sets of localizable content for phishing protection: strings in the browser, content on mozilla.com, and content hosted by the service provider.

Strings in the browser are localized like all other strings; nothing special here.

Additional product information will be hosted on mozilla.com: you can see the current mockup at http://www.mozilla.org/projects/bonecho/anti-phishing/. This information will be localizable along with the rest of mozilla.com when the new content management system arrives, and the final URL will follow the generic mozilla.com URL scheme. No action is currently required on the part of the localizers.

Google is the phishing protection service provider for Firefox 2.0, and they will localize the web content that resides on their servers. Please note that Google may not provide this content for tier 3 locales, and that those users will receive English as a fallback. No action is currently required on the part of the localizers.

For more information, see bug 346242 and bug 329724.

addons.mozilla.org (AMO)

This section is purely informative. No action is required from localizers at this time.

All AMO URLs in the client will have a standard pattern across all locales and services (bug 346689): http://%LOCALE%.add-ons.mozilla.com/%LOCALE%/%APP%/%VERSION%/.../

These URLs will be removed from the l10n properties files and automatically generated (bug 348076).

http://%LOCALE%.add-ons.mozilla.com/%LOCALE%/%APP%/%VERSION%/add-ons/

http://%LOCALE%.add-ons.mozilla.com/%LOCALE%/%APP%/%VERSION%/plugins/
http://%LOCALE%.add-ons.mozilla.com/%LOCALE%/%APP%/%VERSION%/themes/
http://%LOCALE%.add-ons.mozilla.com/%LOCALE%/%APP%/%VERSION%/extensions/
http://%LOCALE%.add-ons.mozilla.com/%LOCALE%/%APP%/%VERSION%/search-engines/

In the short term, those URLs will redirect to English versions of the PFS/AMO. The new AMO site is designed to be localizable.

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.

EDITOR's NOTE: need to review this document and create a version of Trademark_L10n_Review-Firefox3 on public wiki