private void SetLiteral(string dialogName, string type, string elementName, IList <TextLocalization> texts)
        {
            foreach (var textLocalization in texts)
            {
                if (textLocalization != null)
                {
                    textLocalization.Text = EscapedStringConverter.ToEscapedString(textLocalization.Text);
                }
            }

            FileProviderInstance.Update(CreateGuiDictionaryKey(dialogName, type, elementName), texts);
        }
        private Dictionary <CultureInfo, Dictionary <string, string> > GetDictionaryFromFileProvider()
        {
            var dict = FileProviderInstance.GetDictionary();

            if (dict == null || dict.Count == 0)
            {
                dict = new Dictionary <CultureInfo, Dictionary <string, string> >
                {
                    { Thread.CurrentThread.CurrentUICulture, new Dictionary <string, string>() }
                };
            }

            if (!dict.ContainsKey(InputLanguage))
            {
                dict.Add(InputLanguage, new Dictionary <string, string>());
            }

            return(dict);
        }
        public override void SetGuiTranslation(DependencyObject element, IEnumerable <TextLocalization> texts)
        {
            IList <TextLocalization> textsEnumerated = texts.ToList();

            var key = GetKeyFromUnkownElementType(element);

            foreach (var textLocalization in textsEnumerated)
            {
                _dictOfDicts.TryGetValue(textLocalization.Language, out var langDict);
                if (langDict == null)
                {
                    continue;
                }

                if (langDict.ContainsKey(key))
                {
                    langDict.Remove(key);
                }

                langDict.Add(key, textLocalization.Text);
            }

            FileProviderInstance.Update(key, textsEnumerated);
        }
 public override void Save()
 {
     FileProviderInstance.SaveDictionary();
 }
 protected override void CancelInitialization()
 {
     _status = ProviderStatus.CancellationInProgress;
     FileProviderInstance.CancelInitialization();
 }