UNPKG

@uifabric/utilities

Version:

Fluent UI React utilities for building components.

50 lines 2.14 kB
define(["require", "exports", "./dom/getDocument", "./localStorage", "./sessionStorage"], function (require, exports, getDocument_1, localStorage, sessionStorage) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); // Default to undefined so that we initialize on first read. var _language; var STORAGE_KEY = 'language'; /** * Gets the language set for the page. * @param persistenceType - Where to persist the value. Default is `localStorage` if available. * (In version 8, the default will be `sessionStorage`.) */ function getLanguage(persistenceType) { if (persistenceType === void 0) { persistenceType = 'localStorage'; } if (_language === undefined) { var doc = getDocument_1.getDocument(); var savedLanguage = persistenceType === 'localStorage' ? localStorage.getItem(STORAGE_KEY) : persistenceType === 'sessionStorage' ? sessionStorage.getItem(STORAGE_KEY) : undefined; if (savedLanguage) { _language = savedLanguage; } if (_language === undefined && doc) { _language = doc.documentElement.getAttribute('lang'); } if (_language === undefined) { _language = 'en'; } } return _language; } exports.getLanguage = getLanguage; function setLanguage(language, persistenceParam) { var doc = getDocument_1.getDocument(); if (doc) { doc.documentElement.setAttribute('lang', language); } var persistenceType = persistenceParam === true ? 'none' : !persistenceParam ? 'localStorage' : persistenceParam; if (persistenceType === 'localStorage') { localStorage.setItem(STORAGE_KEY, language); } else if (persistenceType === 'sessionStorage') { sessionStorage.setItem(STORAGE_KEY, language); } _language = language; } exports.setLanguage = setLanguage; }); //# sourceMappingURL=language.js.map