【发布时间】:2010-04-09 23:21:50
【问题描述】:
我创建了一个小型 WPF 桌面应用程序。我正在考虑如何使我的应用程序国际化。是否有任何语言类可供研究(基于 .NET 3.5)?
我想从 Windows 区域/语言配置中自动加载我的应用程序语言。
或。从我的应用程序菜单列表中切换语言的一些方法。(没有额外的自定义语言包安装,假设windows系统语言包已经支持中文/英文/日文/韩文)。
【问题讨论】:
标签: c# .net internationalization
我创建了一个小型 WPF 桌面应用程序。我正在考虑如何使我的应用程序国际化。是否有任何语言类可供研究(基于 .NET 3.5)?
我想从 Windows 区域/语言配置中自动加载我的应用程序语言。
或。从我的应用程序菜单列表中切换语言的一些方法。(没有额外的自定义语言包安装,假设windows系统语言包已经支持中文/英文/日文/韩文)。
【问题讨论】:
标签: c# .net internationalization
看看这里:http://msdn.microsoft.com/en-us/library/ms788718.aspx#workflow_to_localize
您可能需要将特定语言的字符串(和其他数据)放入单独的.resources.dlls 中。当应用程序启动时,.NET 框架将从适当的资源 DLL(称为 satellite DLL)加载资源。附属 DLL 位于主可执行文件所在文件夹的子文件夹中,名称为 en-US 或 fr-CA。
【讨论】:
我认为 System.Globalization 包含为此目的可能需要的所有类。我认为 CultureInfo 可能会满足您的需求。 不幸的是,我无法提供更多细节,因为我在这方面并没有太多经验。
也许这个链接“Internationalization in .NET and WPF”会对你有所帮助。
【讨论】:
看看下面的文章。保持标签来自资源文件的想法。并为不同的语言环境创建不同的资源文件。因此,当您知道用户选择或从操作系统设置中读取时,您可以加载该资源文件的语言环境。
例如,您有一个名为lblName 的标签;然后lblName.Text = GetResourceValue("lblName") 将从资源文件中读取资源值;假设你有上述方法从资源文件中返回资源值。
【讨论】: