import { addObjPropLangToObj, differenceFromDefaultLanguage, languageChoose, localizeErrors} from "./functions" import SetLanguageParametars from "./SetLanguageParametars" export default class Localize extends SetLanguageParametars { public localize( {languageObject}: {languageObject:object}, {isPropLanguage}: {isPropLanguage:boolean} ){ const defaultLanguage = this.getDefaultLanguage() const objectPropertiesLanguage = this.getObjectPropertiesLanguage() const currentLanguage = this.getCurrentLanguage() if (localizeErrors(languageObject, isPropLanguage, this)) { return; } const objectToReturn = defaultLanguage && objectPropertiesLanguage && isPropLanguage ? addObjPropLangToObj( {languageObject}, {defaultLanguage}, {objectPropertiesLanguage} ) : languageObject; const choosedLanguageObject = languageChoose(objectToReturn, currentLanguage) const defaultLanguageObject = languageChoose(objectToReturn, defaultLanguage) differenceFromDefaultLanguage(defaultLanguageObject, choosedLanguageObject) return choosedLanguageObject; } }