There are two primary l10n strategies to use when listing localized languages to a user:
1) List each language using the display name from that language's locale.
2) List each language using the display name from the current locale.
Option 1) is primarily used when implementing a UI-language selector; if a user only speaks Bulgarian, but their application has defaulted to an English UI, then they won't know how to search for "Bulgarian" in English, so the language selector should list Bulgarian as "български" using the display name from the bg locale.
Option 2) is used in other scenarios, such as https://www.mozilla.org/en-US/firefox/features/translate/ listing the supported languages for the user, where the user isn't looking to switch their UI into that language, but rather expecting to read each language in their preferred locale.
Description
There are two primary l10n strategies to use when listing localized languages to a user:
1) List each language using the display name from that language's locale. 2) List each language using the display name from the current locale.
Option 1) is primarily used when implementing a UI-language selector; if a user only speaks Bulgarian, but their application has defaulted to an English UI, then they won't know how to search for "Bulgarian" in English, so the language selector should list Bulgarian as "български" using the display name from the
bg
locale.Option 2) is used in other scenarios, such as https://www.mozilla.org/en-US/firefox/features/translate/ listing the supported languages for the user, where the user isn't looking to switch their UI into that language, but rather expecting to read each language in their preferred locale.
The localization for https://www.mozilla.org/en-US/firefox/features/translate/ is utilizing Option 1), when it should be utilizing Option 2).
Steps to reproduce
View the
en
version of https://www.mozilla.org/en-US/firefox/features/translate/It lists each language in English, as expected.
English
View https://www.mozilla.org/es-ES/firefox/features/translate/ localized for a different locale, e.g.
es-ES
.It lists each language using the display name from that language's locale, rather than the
es-ES
display name.Spanish
Expected result
The page's locale should be used to determine the display name for each language in the list (as is done for
en-US
).Actual result
The language display names for non-en-US pages are utilizing each language's locale instead of the page's locale.
Environment
N/A