Add getLanguage(), getFallback(), re-export plural()

master
Vitaliy Filippov 2021-08-28 15:38:24 +03:00
parent 6e09d92e11
commit 4d5b881540
1 changed files with 14 additions and 2 deletions

View File

@ -1,7 +1,9 @@
import plural_ru from './plural_ru.js';
import plural from './plural_ru.js';
const strings = {};
export plural;
export function setStrings(lang, strHash)
{
strings[lang] = strHash;
@ -19,11 +21,21 @@ export function setLanguage(lang)
language = lang;
}
export function getLanguage()
{
return language;
}
export function setFallback(lang)
{
fallback = lang;
}
export function getFallback()
{
return fallback;
}
export function L(s)
{
s = strings[language] && strings[language][s] || strings[fallback] && strings[fallback][s] || s;
@ -33,7 +45,7 @@ export function L(s)
s = s.replace(/\{(\d+)\}/g, (m, m1) => (arg[parseInt(m1)]||''));
s = s.replace(
/\{N:(\d+):((?:[^:\\]+|\\.)*):((?:[^:\\]+|\\.)*):((?:[^:\\]+|\\.)*)\}/g,
(m, m1, m2, m3, m4) => plural_ru(
(m, m1, m2, m3, m4) => plural(
arg[parseInt(m1)]||'',
m2.replace(/\\(.)/g, '$1'),
m3.replace(/\\(.)/g, '$1'),