public override object ProvideValue(IServiceProvider serviceProvider) { if (DesignerExtensions.IsRunningInVisualStudioDesigner) { var env = FsLanguageLoader.CreateEnvironment(Locale, designMode: true); return(env.Translation.GetPropValue <string>(Value)); } return(App.LocalizedEnvironment.Translation.GetPropValue <string>(Value)); }
private void Page_Loaded(object sender, RoutedEventArgs e) { if (!System.ComponentModel.DesignerProperties.GetIsInDesignMode(this)) { this.Background = Brushes.Transparent; } FillComboBoxWithLanguages(); FillShortMessages(); LanguagesCombo.SelectedItem = FsLanguageLoader.LanguagesBriefData(DesignerExtensions.IsRunningInVisualStudioDesigner) .Value .First(x => x.Name == App.CurrentLocale.Name); shortGapHours.Text = App.Configuration.ShortBreakGap.Hours.ToString(); shortGapMinutes.Text = App.Configuration.ShortBreakGap.Minutes.ToString(); shortGapSeconds.Text = App.Configuration.ShortBreakGap.Seconds.ToString(); longGapHours.Text = App.Configuration.LongBreakGap.Hours.ToString(); longGapMinutes.Text = App.Configuration.LongBreakGap.Minutes.ToString(); longGapSeconds.Text = App.Configuration.LongBreakGap.Seconds.ToString(); shortDurationHours.Text = App.Configuration.ShortBreakDuration.Hours.ToString(); shortDurationMinutes.Text = App.Configuration.ShortBreakDuration.Minutes.ToString(); shortDurationSeconds.Text = App.Configuration.ShortBreakDuration.Seconds.ToString(); longDurationHours.Text = App.Configuration.LongBreakDuration.Hours.ToString(); longDurationMinutes.Text = App.Configuration.LongBreakDuration.Minutes.ToString(); longDurationSeconds.Text = App.Configuration.LongBreakDuration.Seconds.ToString(); forceUserCheckbox.IsChecked = App.Configuration.ForceUserToBreak; onlyOneShortbreakCheckbox.IsChecked = App.Configuration.OnlyOneShortBreak; storeStatsCheckbox.IsChecked = App.Configuration.SaveStats; alertBeforeLongbreak.IsChecked = App.Configuration.AlertBeforeLongBreak; shortBreakAllowCloseWithRightCLick.IsEnabled = !App.Configuration.ForceUserToBreak; shortBreakAllowCloseWithRightCLick.IsChecked = (!App.Configuration.ForceUserToBreak) && App.Configuration.ShortBreakAllowCloseWithRightCLick; sytemIdleCheckbox.IsChecked = App.Configuration.SystemIdleDetectionEnabled; UseLanguageAsSourceCheckbox.IsChecked = App.Configuration.UseLanguageProvedidShortMessages; }
private void LanguagesCombo_SelectionChanged(object sender, SelectionChangedEventArgs e) { try { MaintainersLinks.Inlines.Clear(); var translators = FsLanguageLoader.CreateEnvironment(((LanguageHolder)LanguagesCombo.SelectedItem).Name).Meta.Translators; for (int i = 0; i < translators.Count; i++) { var translator = translators[i]; var link = new Hyperlink(new Run(translator.Name)); var popup = new Popup { Child = new TranslatorInfo { TranslatorName = translator.Name, GitHubUsername = (string.IsNullOrWhiteSpace(translator.GitHubUsername)) ? App.LocalizedEnvironment.Translation.EyesGuard.Settings.LanguageSettings.NoAccount : $"@{translator.GitHubUsername}", WebsiteUrl = (string.IsNullOrWhiteSpace(translator.Website.ToString())) ?App.LocalizedEnvironment.Translation.EyesGuard.Settings.LanguageSettings.NoWebsite : translator.Website.ToString(), Notes = (string.IsNullOrWhiteSpace(translator.Notes)) ? App.LocalizedEnvironment.Translation.EyesGuard.Settings.LanguageSettings.NoNotes : translator.Notes }, PlacementTarget = MaintainersLinks, Placement = PlacementMode.Mouse, StaysOpen = false, PopupAnimation = PopupAnimation.Slide }; MaintainersLinks.Inlines.Add(popup); link.Click += (s, ev) => popup.IsOpen = !popup.IsOpen; MaintainersLinks.Inlines.Add(link); if (i != translators.Count - 1) { MaintainersLinks.Inlines.Add(new Run($" {App.CurrentLocale.TextInfo.ListSeparator} ") { Foreground = Brushes.White, FontSize = 12 }); } } } catch { } }
private void InitalizeLocalizedEnvironment() { string @default = FsLanguageLoader.DefaultLocale; var currentLocale = Configuration.ApplicationLocale; CurrentLocale = new CultureInfo(currentLocale); if (DesignerExtensions.IsRunningInVisualStudioDesigner) { LocalizedEnvironment = FsLanguageLoader.CreateEnvironment(currentLocale, designMode: true); CultureInfo.DefaultThreadCurrentCulture = new CultureInfo(@default); CultureInfo.DefaultThreadCurrentUICulture = new CultureInfo(@default); } else { if (currentLocale == @default) { LocalizedEnvironment = FsLanguageLoader.DefaultEnvironment; CultureInfo.DefaultThreadCurrentCulture = new CultureInfo(@default); CultureInfo.DefaultThreadCurrentUICulture = new CultureInfo(@default); } if (FsLanguageLoader.IsCultureSupportedAndExists(currentLocale)) { LocalizedEnvironment = FsLanguageLoader.CreateEnvironment(currentLocale); CultureInfo.DefaultThreadCurrentCulture = new CultureInfo(currentLocale); CultureInfo.DefaultThreadCurrentUICulture = new CultureInfo(currentLocale); } else { Configuration.ApplicationLocale = @default; Configuration.SaveSettingsToFile(); LocalizedEnvironment = FsLanguageLoader.DefaultEnvironment; CultureInfo.DefaultThreadCurrentCulture = new CultureInfo(@default); CultureInfo.DefaultThreadCurrentUICulture = new CultureInfo(@default); } } }
private void FillComboBoxWithLanguages() { LanguagesCombo.ItemsSource = FsLanguageLoader .LanguagesBriefData(DesignerExtensions.IsRunningInVisualStudioDesigner) .Value; }