gecko-dev/toolkit/components/extensions/ext-i18n.js
Kris Maglione b13ea15e1c Bug 1317697: Remove things from ExtensionUtils that don't belong there. r=mixedpuppy
MozReview-Commit-ID: CTX0TckLqoV

--HG--
extra : rebase_source : ebea9b6f0f17a29d331851a08e025cbd04f4d02b
extra : absorb_source : 70b120f39e9307c4b2ef66d8e776e8b832b4aab8
2017-04-07 13:39:06 -07:00

40 lines
1.1 KiB
JavaScript

"use strict";
XPCOMUtils.defineLazyModuleGetter(this, "LanguageDetector",
"resource:///modules/translation/LanguageDetector.jsm");
this.i18n = class extends ExtensionAPI {
getAPI(context) {
let {extension} = context;
return {
i18n: {
getMessage: function(messageName, substitutions) {
return extension.localizeMessage(messageName, substitutions, {cloneScope: context.cloneScope});
},
getAcceptLanguages: function() {
let result = extension.localeData.acceptLanguages;
return Promise.resolve(result);
},
getUILanguage: function() {
return extension.localeData.uiLocale;
},
detectLanguage: function(text) {
return LanguageDetector.detectLanguage(text).then(result => ({
isReliable: result.confident,
languages: result.languages.map(lang => {
return {
language: lang.languageCode,
percentage: lang.percent,
};
}),
}));
},
},
};
}
};