UNPKG

@uifabric/utilities

Version:

Fluent UI React utilities for building components.

51 lines 1.93 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var getDocument_1 = require("./dom/getDocument"); var localStorage = require("./localStorage"); var sessionStorage = require("./sessionStorage"); // 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