UNPKG

media-chrome

Version:

Custom elements (web components) for making audio and video player controls that look great in your website or app.

36 lines (35 loc) 1.03 kB
var _a; import { En } from "../lang/en.js"; const translations = { en: En }; let currentLang = ((_a = globalThis.navigator) == null ? void 0 : _a.language) || "en"; const setLanguage = (langCode) => { currentLang = langCode; }; const addTranslation = (lang, languageDictionary) => { translations[lang] = languageDictionary; }; const resolveTranslation = (key) => { var _a2, _b, _c; const [base] = currentLang.split("-"); return ((_a2 = translations[currentLang]) == null ? void 0 : _a2[key]) || ((_b = translations[base]) == null ? void 0 : _b[key]) || ((_c = translations.en) == null ? void 0 : _c[key]) || key; }; const getResolvedLanguage = () => { const [base] = currentLang.split("-"); if (translations[currentLang]) return currentLang; if (translations[base]) return base; return "en"; }; const t = (key, vars = {}) => resolveTranslation(key).replace( /\{(\w+)\}/g, (_, v) => v in vars ? String(vars[v]) : `{${v}}` ); export { addTranslation, getResolvedLanguage, setLanguage, t };