0

我正在显示一个国家/地区作为其他一些信息的一部分。国家作为国家代码从数据库中读出。

这样做是这样的:

Location location = new Location()
{                                
    Company = reader.GetString("Company"),
    Address1 = reader.GetString("Address"),
    Address2 = reader.GetString("Address2", string.Empty),
    ZipCity = reader.GetString("ZipCity"),
    Country = new RegionInfo(reader.GetString("Country", string.Empty)).DisplayName,
    CountryCode = new RegionInfo(reader.GetString("Country", string.Empty)).TwoLetterISORegionName,
    Att = reader.GetString("Att", string.Empty),
    Phone = reader.GetString("Phone", string.Empty)
};

我的问题是我真的很想强制显示名称为丹麦语。请注意,该国家现在将永远是丹麦,因此不能使用本地名称。

非常感谢您提前

4

3 回答 3

2

来自MSDN

DisplayName 属性以 .NET Framework 本地化版本的语言显示国家/地区名称。例如,DisplayName 属性在英文版 .NET Framework 上以英文显示国家/地区,在西班牙文版 .NET Framework 上以西班牙文显示国家/地区。

因此,如果您安装丹麦语版本的 .NET,它应该可以正常工作。

但是,最好不要依赖它,而只创建自己的丹麦国名表。

于 2015-02-09T11:25:34.223 回答
1

因此,在检查了为 .NET Framework 安装语言包的可能性(由于某种原因对我们来说不可能)之后,我们找到了以下解决方案。

将此行添加到 system.web 节点下的 web.config 中。

<globalization enableClientBasedCulture="false" culture="da-DK" uiCulture="da"/>

如果您在运行您的软件的机器上安装了操作系统语言包,它现在将被强制使用该语言。

于 2015-02-10T06:38:22.140 回答
0

您可以通过在实例化 RegionInfo 之前编写该行来解决该问题:

Thread.CurrentThread.CurrentUICulture = new CultureInfo("da-DK");
于 2016-03-16T13:55:04.560 回答