1 | import { getDocument } from './dom/getDocument';
|
2 | import * as localStorage from './localStorage';
|
3 | import * as sessionStorage from './sessionStorage';
|
4 |
|
5 | var _language;
|
6 | var STORAGE_KEY = 'language';
|
7 |
|
8 |
|
9 |
|
10 |
|
11 |
|
12 | export function getLanguage(persistenceType) {
|
13 | if (persistenceType === void 0) { persistenceType = 'localStorage'; }
|
14 | if (_language === undefined) {
|
15 | var doc = getDocument();
|
16 | var savedLanguage = persistenceType === 'localStorage'
|
17 | ? localStorage.getItem(STORAGE_KEY)
|
18 | : persistenceType === 'sessionStorage'
|
19 | ? sessionStorage.getItem(STORAGE_KEY)
|
20 | : undefined;
|
21 | if (savedLanguage) {
|
22 | _language = savedLanguage;
|
23 | }
|
24 | if (_language === undefined && doc) {
|
25 | _language = doc.documentElement.getAttribute('lang');
|
26 | }
|
27 | if (_language === undefined) {
|
28 | _language = 'en';
|
29 | }
|
30 | }
|
31 | return _language;
|
32 | }
|
33 | export function setLanguage(language, persistenceParam) {
|
34 | var doc = getDocument();
|
35 | if (doc) {
|
36 | doc.documentElement.setAttribute('lang', language);
|
37 | }
|
38 | var persistenceType = persistenceParam === true ? 'none' : !persistenceParam ? 'localStorage' : persistenceParam;
|
39 | if (persistenceType === 'localStorage') {
|
40 | localStorage.setItem(STORAGE_KEY, language);
|
41 | }
|
42 | else if (persistenceType === 'sessionStorage') {
|
43 | sessionStorage.setItem(STORAGE_KEY, language);
|
44 | }
|
45 | _language = language;
|
46 | }
|
47 |
|
\ | No newline at end of file |