michael@0: /* This Source Code Form is subject to the terms of the Mozilla Public michael@0: * License, v. 2.0. If a copy of the MPL was not distributed with this michael@0: * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ michael@0: "use strict"; michael@0: michael@0: module.metadata = { michael@0: "stability": "unstable" michael@0: }; michael@0: michael@0: let usingJSON = false; michael@0: let hash = {}, bestMatchingLocale = null; michael@0: try { michael@0: let data = require("@l10n/data"); michael@0: hash = data.hash; michael@0: bestMatchingLocale = data.bestMatchingLocale; michael@0: usingJSON = true; michael@0: } michael@0: catch(e) {} michael@0: michael@0: exports.usingJSON = usingJSON; michael@0: michael@0: // Returns the translation for a given key, if available. michael@0: exports.get = function get(k) { michael@0: return k in hash ? hash[k] : null; michael@0: } michael@0: michael@0: // Returns the full length locale code: ja-JP-mac, en-US or fr michael@0: exports.locale = function locale() { michael@0: return bestMatchingLocale; michael@0: } michael@0: // Returns the short locale code: ja, en, fr michael@0: exports.language = function language() { michael@0: return bestMatchingLocale ? bestMatchingLocale.split("-")[0].toLowerCase() michael@0: : null; michael@0: }