UNPKG

@khmyznikov/pwa-install

Version:

PWA install dialog provide more convenience user experience and fix lack of native dialogs in some browsers.

78 lines (72 loc) 1.78 kB
import { configureLocalization } from '@lit/localize'; import { sourceLocale, targetLocales, } from './locale-codes'; import * as ru from './locales/ru'; import * as tr from './locales/tr'; import * as de from "./locales/de"; import * as es from "./locales/es"; import * as nl from "./locales/nl"; import * as el from "./locales/el"; import * as fr from "./locales/fr"; import * as sr from "./locales/sr"; import * as pl from "./locales/pl"; import * as uk from "./locales/uk"; import * as zh from "./locales/zh"; import * as zhCN from "./locales/zh-CN"; import * as it from "./locales/it"; import * as cs from "./locales/cs"; import * as no from "./locales/no"; import * as pt from "./locales/pt"; import * as ja from "./locales/ja"; import * as sv from "./locales/sv"; import * as ko from "./locales/ko"; import * as km from "./locales/km"; const localizedTemplates = new Map([ ['ru', ru], ['tr', tr], ['de', de], ['es', es], ['nl', nl], ['el', el], ['fr', fr], ['sr', sr], ['pl', pl], ['uk', uk], ['zh', zh], ['zh-CN', zhCN], ['it', it], ['cs', cs], ['no', no], // + nb ['pt', pt], ['ja', ja], ['sv', sv], ['ko', ko], ['km', km] ]) export const { getLocale, setLocale } = configureLocalization({ sourceLocale, targetLocales, // @ts-ignore loadLocale: async (lang: string) => localizedTemplates.get(lang) }); export const changeLocale = (lang: string) => { // Norwegian Bokmål is same as Norwegian switch (lang.slice(0, 2)) { case 'nb': lang = 'no'; break; default: break; } try { if (localizedTemplates.get(lang)) setLocale(lang); else setLocale(lang.slice(0, 2)); } catch { console.warn(`pwa-install: translation error - unsupported locale: ${lang}`); } };