本地化,如何使用特定的resx

时间:2009-06-25 13:56:42

标签: winforms localization

今天我正在玩本地化。我有一个winforms应用程序,我在屏幕上将localizable设置为true,然后我尽可能地将所有文本转换为西班牙语。所以现在我有我的screen.resx和我的screen.es.resx,一切看起来不错/ bueno。我现在如何运行我的应用程序并出现西班牙语版本?我尝试进入区域和语言选项,并将我的“标准和格式”选项设置为西班牙语。现在我的日期是西班牙语,这很好,但我的应用程序上的文字仍然是英文版。如何使用screen.es.resx加载此内容?

2 个答案:

答案 0 :(得分:2)

您是否将应用文化/ UI文化设置为西班牙语? 在下面的代码中,en-US将被您的UI文化所取代,它将使用适当的resx文件,具体取决于您设置它们的方式

HTH

System.Globalization.CultureInfo myCI = new System.Globalization.CultureInfo("en-US", false);
System.Threading.Thread.CurrentThread.CurrentUICulture = myCI;
System.Threading.Thread.CurrentThread.CurrentCulture = myCI;

答案 1 :(得分:0)

您可以通过设置当前线程的CurrentUICulture来控制使用的语言资源。您很可能还想设置CurrentCulture(控制数字和日期格式等)(C#代码):

// the following using statements must be present
// using System.Threading;
// using System.Globalization;
Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo("es-ES");
Thread.CurrentThread.CurrentCulture = Thread.CurrentThread.CurrentUICulture;

有关CurrentUICultureCurrentCulturethere is a blog post by Michael Kaplan on the topic之间差异的更详细讨论。