gpt4 book ai didi

c# - 在 Winforms 应用程序中支持多种语言

转载 作者:太空狗 更新时间:2023-10-29 23:53:43 24 4
gpt4 key购买 nike

我几乎完成了我的 C# 应用程序;唯一剩下要做的就是实现多语言支持。

我已经创建了资源文件,其中包含屏幕上显示的所有文本的几种语言的字符串。

我的英文资源文件示例:

Name                    |  Value                       | Comment
------------------------------------------------------------------------------
lblName | Name: | Name EN

我的荷兰语资源文件示例:

Name                    |  Value                       | Comment
------------------------------------------------------------------------------
lblName | Naam: | Name NL

如何将字段 Value 绑定(bind)到 Text我的属性(property)Label (lblName)?

我正在使用 .NET Framework 3.5。

最佳答案

我知道很久以前就有人问过这个问题,但由于没有答案,所以我建议:

要在 C# 中访问资源文件,您可以使用 ResourceManager .首先根据当前语言创建资源管理器。为此,您有两种选择。您可以使用 switch 或 if 语句(如果语言由菜单决定)或使用本地化来使用计算机的当前文化。最后,通过这两种方式,您都可以调用 GetString() 方法,提供我认为在您的情况下是 lblName 的 key 。

注意:在下面的示例中,我使用了第一种方法,即从菜单中检索语言。

string selectedLanguage = comboBoxLang.Text; // Comes from a menu option
string resourceFile = string.Empty;

/***/
Logic to retrieve the proper resourceFile depending on the selectedLanguage.
/***/

ResourceManager rm = new ResourceManager(resourceFile, Assembly.GetExecutingAssembly());

// Set your label text.
lblName.Text = rm.GetString("lblName");

关于c# - 在 Winforms 应用程序中支持多种语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15359064/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com