12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- import { LanguageService } from "./languageService";
- import Langs from './../../i18n';
- export const StringTypes = Object.freeze({
- ERROR: "error",
- MESSAGE: "message",
- UI: "ui"
- });
- export const LocalizedStrings = Object.freeze({
- getString: (id, type) => {
- let i18nObj = Langs[LanguageService.getLang()];
- if(!!!i18nObj) {
- console.warn(`Internal Error. The language set at ivprog.lang is not valid: ${LanguageService.getLang()}`);
- i18nObj = Langs[LanguageService.getDefaultLang()];
- }
- if(!!!i18nObj[type]) {
- return "{MISSING_I18N_TYPE_IDENTIFIER}";
- } else if (!!!i18nObj[type][id]) {
- return "{MISSING_I18N_IDENTIFIER}";
- } else {
- return i18nObj[type][id];
- }
- },
- getOR: () => LocalizedStrings.getUI('join_or'),
- getError: (id, context = []) => {
- const text = LocalizedStrings.getString(id, StringTypes.ERROR);
- return LocalizedStrings.processString(text, context)
- },
- getMessage: (id, context = []) => {
- const text = LocalizedStrings.getString(id, StringTypes.MESSAGE);
- return LocalizedStrings.processString(text, context)
- },
- getUI: (id, context = []) => {
- const text = LocalizedStrings.getString(id, StringTypes.UI);
- return LocalizedStrings.processString(text, context)
- },
- processString: (text, context) => {
- for (let i = 0; i < context.length; i++) {
- const v = context[i];
- text = text.replace('\$'+i, v);
- }
- return text;
- }
- });
|