Example #1
0
        public LocaleCommands(LocaleViewModel vm)
        {
            _vm = vm;

            AddCustomFileCommand    = ReactiveCommand.Create(AddCustomFile);
            RemoveCustomFileCommand = ReactiveCommand.Create <LocaleCustomFileData>(RemoveCustomFile);
        }
        private async void OpenLocalizationEditorAsync()
        {
            LocaleViewModel localizationData = new LocaleViewModel();

            LocaleEditorCommands.LoadSettings(_instance.ViewModel, localizationData);
            await LocaleEditorCommands.LoadLocalizationDataAsync(localizationData, ViewModel, ViewModel.ManagedProjects.Where(p => p.Selected));

            RxApp.MainThreadScheduler.Schedule(_ =>
            {
                _instance.OpenLocalizationEditorWithData(localizationData);
            });
        }
 public void OpenLocalizationEditorWithData(LocaleViewModel data)
 {
     if (LocaleEditorWindow == null)
     {
         InitLocalizationEditor();
     }
     LocaleEditorWindow.LoadData(data);
     if (!LocaleEditorWindow.IsVisible)
     {
         LocaleEditorWindow.Show();
     }
 }
        public static async Task <Unit> OpenLocalizationEditorForProject(ModProjectData modData)
        {
            Log.Here().Activity($"Opening locale editor for project {modData.DisplayName}");
            LocaleViewModel localizationData = new LocaleViewModel();

            LocaleEditorCommands.LoadSettings(_instance.ViewModel, localizationData);
            await LocaleEditorCommands.LoadLocalizationDataAsync(localizationData, _instance.ViewModel, modData);

            RxApp.MainThreadScheduler.Schedule(_ =>
            {
                _instance.OpenLocalizationEditorWithData(localizationData);
            });
            return(Unit.Default);
        }
Example #5
0
        private LocaleViewModel GetLocale(string language, List <Culture> data)
        {
            var result = new LocaleViewModel
            {
                CurrentLanguage = language,
                Locales         = new Dictionary <string, Dictionary <string, string> >()
            };

            data.ForEach(c =>
            {
                // protection from duplicates if there are they
                var dict = c.Resources.ToDictionary(x => x.Key, x => x.Value);
                result.Locales.Add(c.Language, dict);
            });
            return(result);
        }
Example #6
0
        public async Task <LocaleViewModel> GetLocale(bool onlyCurrentLanguage = false)
        {
            LocaleViewModel locale = null;
            var             lang   = CultureInfo.CurrentCulture.TwoLetterISOLanguageName;

            if (onlyCurrentLanguage)
            {
                var culture = await _cultureStore.GetCultureByLanguageAsync(lang);

                locale = GetLocale(culture.Language, new List <Culture> {
                    culture
                });
            }
            else
            {
                var cultures = await _cultureStore.GetActiveCulturesAsync();

                lang = cultures.Any(c => c.Language == lang)
                    ? lang
                    : cultures.FirstOrDefault()?.Setting.DefaultLanguage;
                locale = GetLocale(lang, cultures);
            }
            return(locale);
        }
 public CustomLocaleTabGroup(LocaleViewModel parent, string name) : base(parent, name)
 {
     CanAddFiles = true;
 }