UNPKG

1 kBJavaScriptView Raw
1// https://github.com/globalizejs/globalize
2
3function i18n(text, lang) {
4 lang = i18n[i18nGet(lang) || currentLang]
5 return lang[text] ||
6 text && lang[text = text.slice(text.indexOf("|") + 1) || text] ||
7 text || ""
8}
9
10function i18nGet(lang) {
11 return lang && (
12 i18n[lang = ("" + lang).toLowerCase()] ||
13 i18n[lang = lang.split("-")[0]]
14 ) && lang
15}
16
17function i18nUse(lang) {
18 lang = i18nGet(lang)
19 if (lang && currentLang != lang) {
20 i18n[currentLang = i18n.current = lang] = i18n[currentLang] || {}
21 }
22 return currentLang
23}
24
25function i18nAdd(lang, texts) {
26 if (i18n.list.indexOf(lang) == -1) i18n.list.push(lang)
27 JSON.merge(i18n[lang] || (i18n[lang] = {}), texts)
28 if (!currentLang) i18nUse(lang)
29}
30
31i18n.list = []
32i18n.get = i18nGet
33i18n.use = i18nUse
34i18n.add = i18nAdd
35i18n.def = function(map, key) {
36 for (key in map) {
37 i18nAdd(key, map)
38 }
39}
40// navigator.userLanguage for IE, navigator.language for others
41// var lang = navigator.language || navigator.userLanguage;
42// i18nUse("en")
43//*/