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); }
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); }
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; }