1 |
|
2 |
|
3 | function 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 |
|
10 | function i18nGet(lang) {
|
11 | return lang && (
|
12 | i18n[lang = ("" + lang).toLowerCase()] ||
|
13 | i18n[lang = lang.split("-")[0]]
|
14 | ) && lang
|
15 | }
|
16 |
|
17 | function 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 |
|
25 | function 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 |
|
31 | i18n.list = []
|
32 | i18n.get = i18nGet
|
33 | i18n.use = i18nUse
|
34 | i18n.add = i18nAdd
|
35 | i18n.def = function(map, key) {
|
36 | for (key in map) {
|
37 | i18nAdd(key, map)
|
38 | }
|
39 | }
|
40 |
|
41 |
|
42 |
|
43 |
|