Functions to internationalize your extension. You can use these APIs to get localized strings from locale files packaged with your extension, find out the browser's current language, and find out the value of its Accept-Language header.

For more details on using i18n for your extension, see:

Types

i18n.LanguageCode
A language tag such as "en-US" or "fr".

Functions

i18n.getAcceptLanguages()
Gets the accept-languages of the browser. This is different from the locale used by the browser. To get the locale, use i18n.getUILanguage.
i18n.getMessage()
Gets the localized string for the specified message.
i18n.getUILanguage()
Gets the UI language of the browser. This is different from i18n.getAcceptLanguages which returns the preferred user languages.
i18n.detectLanguage()
Detects the language of the provided text using the Compact Language Detector.

Browser compatibility

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxOperaFirefox for Android
LanguageCodeChrome Full support 47Edge Full support 14Firefox Full support 45Opera Full support 34Firefox Android Full support 48
detectLanguageChrome Full support 47Edge No support NoFirefox Full support 47Opera Full support 34Firefox Android Full support 48
getAcceptLanguagesChrome Full support 47Edge Full support 14Firefox Full support 47Opera Full support 34Firefox Android Full support 48
getMessageChrome Full support 17Edge Full support 14
Notes
Full support 14
Notes
Notes Throws an exception instead returning an empty string if the message does not exist.
Notes Expects substitutions to be strings, while other browsers allow any value which is then converted to a string.
Firefox Full support 45
Notes
Full support 45
Notes
Notes Firefox 47 and earlier returns "??" instead of "" if the message is not found in _locales, bug 1258199 changed this act to match Chrome, landed on Firefox 48.
Opera Full support 15Firefox Android Full support 48
getUILanguageChrome Full support 35Edge Full support 14Firefox Full support 47Opera Full support YesFirefox Android Full support 48

Legend

Full support  
Full support
No support  
No support
See implementation notes.
See implementation notes.

Example extensions

Acknowledgements

This API is based on Chromium's chrome.i18n API. This documentation is derived from i18n.json in the Chromium code.

Microsoft Edge compatibility data is supplied by Microsoft Corporation and is included here under the Creative Commons Attribution 3.0 United States License.

Document Tags and Contributors

Contributors to this page: wbamberg, andrewtruongmoz, abbycar, chrisdavidmills
Last updated by: wbamberg,