2014-06-24 77 views
0

我在C#中制作了一个应用程序,其中包含许多表单和其他内容。 我想本地化它,所以我在VS中使用了集成的本地化功能。 该应用程序最初是用法文(因为我)与英文翻译RESXes,但现在Codeplex与其他一些不会说法语的开发人员在Codeplex上,我想更改应用程序中的“默认”语言和RESX因此他们可以在不阅读法文的情况下翻译成其他语言。 原因当您在VS窗体设计器中选择另一种语言时,它会显示默认语言(这里是法语)。我试图重命名所有的文件,但问题是所有的表单属性都存储在默认的RESX中,所以如果我重命名,它将打破所有的东西。是否可以将默认语言更改为英语?更改C#应用程序中的“(默认)”语言

编辑:我想我需要更精确。 该应用程序最初是法文版。然后我用英语进行本地化。现在有一个MainWindow.resx,其中包含表单属性+原始法语本地化和MainWindow.en-US.resx包含只有英语本地化。因此,如果在设计器中,在“语言”中选择“(默认)”,它向我显示MainWindow.resx FRENCH,如果我想翻译,它会显示法文文本。为了使其他开发人员的翻译更容易,我想要进行MainWindow.resx英文本地化并创建一个单独的MainWindow.fr-FR.resx。我也尝试在AssemblyInfo.cs中改变“中性语言”,没有效果。

回答

1

您可以通过代码更改应用程序中的CurrentCulture和CurrentUICulture。 这与用于在运行时更改应用程序语言的方法相同。

看一看这段代码:

Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US"); 
Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-US"); 

希望它能帮助。

+0

这可能还不够。您还需要查看[CultureInfo.DefaultThreadCurrentCulture](http://msdn.microsoft.com/en-us/library/system.globalization.cultureinfo.defaultthreadcurrentculture(v = vs.110).aspx)和[CultureInfo.DefaultThreadCurrentUICulture ](http://msdn.microsoft.com/en-us/library/system.globalization.cultureinfo.defaultthreadcurrentuiculture(v = vs.110)的.aspx)。 –

+0

现在我明白他的问题根本就不在于此。 –