Esempio n. 1
0
        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));
        }
Esempio n. 2
0
 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 { }
 }
Esempio n. 3
0
        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);
                }
            }
        }