通过双击关联文件打开应用程序时,C#本地化不起作用

时间:2014-09-17 17:05:23

标签: c# .net wpf localization resx

我使用WIX部署应用程序。它是一个本地化的应用程序,显然用户可以在两种语言之间切换。当用户直接打开应用程序时,这很好用。但是,当用户通过双击具有我将其与我的应用程序关联的扩展名的文件来打开应用程序时,情况并非如此。我不太了解本地化背后的机制,即语言选择的保存位置。如果用户间接打开应用程序,即双击打开应用程序的其他文件,我将非常感谢有关这应该如何工作的指导。

这里文化初始化如何运作

 protected override void OnStartup(StartupEventArgs e)
    {

        CultureInfo culture = new CultureInfo(SurfaceApplication2.Properties.Settings.Default.Culture);
        System.Threading.Thread.CurrentThread.CurrentUICulture = culture;
        if (e.Args != null && e.Args.Length > 0)
        {
            this.Properties["ArbitraryArgName"] = e.Args[0];
        }
        base.OnStartup(e);
    }

在这里我如何在两种语言之间交替。

private void SurfaceButton_Click_6(object sender, RoutedEventArgs e)
    {
        if (Properties.Settings.Default.Culture.ToString().Equals("en-US"))
        {
            SurfaceApplication2.Properties.Settings.Default.Culture = "fr-FR";
            SurfaceApplication2.Properties.Settings.Default.Save();
        }
        else
        {
            SurfaceApplication2.Properties.Settings.Default.Culture = "en-US";
            SurfaceApplication2.Properties.Settings.Default.Save();
        }
    }

0 个答案:

没有答案