问题标签 [regioninfo]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
515 浏览

c# - 从 RegionInfo.TwoLetterISORegionName 获取 CultureInfo

在 db 中,我已经使用 RegionInfo.TwoLetterISORegionName 值存储了值。Atm 我有比利时的“be”、“no”、“gb”、“en”等值。

如果我写:

而不是比利时,我得到白俄罗斯。

所以我需要一种从 RegionInfo.TwoLetterISORegionName 获取 CultureInfo 的方法。

0 投票
0 回答
57 浏览

c# - 如何查找被引用的不同 .net 版本?

我试图找到ThreeLetterISORegionName国家“塞浦路斯”和“维尔京群岛”。因此,我RegionInfo使用System.Globalization了来自 mscorlib程序集的类。

上面的代码在我的本地机器上运行良好。但是在部署到生产环境后,我收到System.ArgumentException了消息

区域名称 CY 不应对应中立文化;需要特定的文化名称

在我的本地机器和服务器中,我使用的是.net 4.5.2版本。 mscorlibv汇编版本是 4.0.30319

任何帮助深表感谢。:)

0 投票
1 回答
534 浏览

c# - 为什么ᏌᏊ ᎢᏳᎾᎵᏍᏔᏅ ᏍᎦᏚᎩ 是美国的原名?

当我使用此代码时:

那么为什么是nativeName字符串"ᏌᏊ ᎢᏳᎾᎵᏍᏔᏅ ᏍᎦᏚᎩ"(在Cherokee中)?

如果我更改为new RegionInfo("US")(only difference, capital US),我会得到"United States".

知道的首选用法RegionInfo是提供特定的文化信息字符串,例如:

等等,这行得通。但是,为什么只有在我使用小写字母的情况下,切诺基语才比英语更受欢迎us


(见于 Windows 10(版本 1803“2018 年 4 月更新”)、.NET Framework 4.7.2。)


更新:即使在同一台机器上,这也不一致。例如,我多次尝试打开 PowerShell,每次都粘贴[System.Globalization.RegionInfo]'US'到其中。似乎很长一段时间以来,PowerShell 的所有实例都始终给出相同的结果。但过了一会儿,PowerShell 的实例又给出了相反的结果。这是两个窗口的屏幕截图,一个始终具有一个NativeName,另一个始终具有相反的一个。所以必须有一些不确定的决定(大小写没有区别):

PowerShell 窗口

0 投票
1 回答
118 浏览

elasticsearch - ElasticSearch 中的 RegionInfo 序列化

似乎该RegionInfo对象在序列化方面已经被遗忘了。CultureInfo效果很好,并且在字符串之间进行了序列化。当试图抛出一个RegionInfo对象时,我得到了所有RegionInfo无法反序列化的属性的混乱,因为没有构造函数可以反转所有这些属性。我很想将RegionInfos 序列化和反序列化为字符串,例如CultureInfo,但不能完全弄清楚。

我的尝试:

我创建了一个 regioninfo 转换器

我把它塞进ConnectionSettings:

但我得到了错误:object mapping for [region] tried to parse field [region] as object, but found a concrete value

这听起来像是我的序列化程序之一是错误的,但我觉得我不太了解它是哪一部分。谢谢。

0 投票
0 回答
80 浏览

c# - 使用 CultureAndRegionInfoBuilder 将新的文化注册到旧的 Windows 版本

tl;dr:是否可以在 Windows Server 2012 R2 上将 en-BS 定义和注册为一种文化?

我正在尝试将国际货币选项引入我正在开发的一些软件中。这个过程本身并不困难。我使用诸如“en-US”之类的文化代码来获取CultureInfo对象,并使用 CultureInfo 对象中的 NumberFormat 来格式化货币。伟大的!我们在巴哈马有一些客户,所以我们希望支持的货币之一是巴哈马元,它来自文化 en-BS。

这在整个开发过程中都非常有效。但是在我们部署该功能后,尝试检索 en-BS 的 CultureInfo 时返回以下错误。

不支持文化。
参数名称:名称
en-BS 是无效的文化标识符。

在研究这个错误时,我了解到文化不是由 .NET 定义的,而是由操作系统定义的。Windows 10 原生支持 en-BS。我的开发环境的好消息!Windows Server 2012 R2 不支持 en-BS。对我们的生产环境来说是个坏消息。

所以现在看起来我需要利用CultureAndRegionInfoBuilder。这不是最方便的解决方案,但我可以让它工作。我对巴哈马元的文化细微差别一无所知,所以我想做的就是获取在 Windows 10 上定义的信息并将其注册到我们的 2012 R2 服务器上。由于我不能只通过旧服务器上的代码提取 en-BS CultureInfo,我认为下一个最好的办法是将 CultureInfo 序列化为我的开发机器上的一个文件,然后反序列化旧服务器上的那个文件到那时与 CultureAndRegionInfoBuilder 一起使用。

这不是我写过的最优雅的代码,但它很简单,对于我要运行一次然后永久存档的东西来说应该足够好。不幸的是,当我尝试从文件中反序列化 CultureInfo 对象时,它再次以完全相同的“en-BS 是无效的文化标识符”错误击中我,就好像它正在积极拒绝该名称的任何文化一样。

我不知所措。是否可以将 en-BS 或任何其他不受支持的文化注册到 2012 R2 服务器?

0 投票
1 回答
115 浏览

c# - 我的本地机器上与 Azure 上的捷克语不同的英文名称

我正在尝试RegionInfo通过国家名称获取对象。我想出了这段代码:

它在我的机器上运行良好。但是当我将它部署在 Azure App Service 上时,它会返回null捷克。

所以我测试了它:

事实证明,捷克共和国在 2016 年更名,为什么 Azure 显示“旧”名称?如何使这个解决方案与文化无关?

0 投票
1 回答
76 浏览

c# - 使用 RegionInfo 将国家名称转换为自己的 ThreeLetterISORegionName (c# 2013 Winforms)

我已经在 ComboBox 中写入了每个国家/地区的名称,但是现在我想在单击 ComboBox 中的国家/地区名称并将其显示在标签中时获取每个国家/地区的 ThreeLetterISORegionName,这可能吗?谢谢

0 投票
0 回答
107 浏览

c# - 不支持文化 (WPF)

在 WPF 应用程序(.NET Framework 4.5.2)中,我使用 IValueConverter 从 2 个字母的区域代码中获取 RegionInfo:

这几乎在任何地方都很有效。现在一位客户遇到了异常:

TypeString:System.ArgumentException,mscorlib,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089 消息:不支持文化名称“MU”。参数名称:名称

当我使用 value="MU" 在本地调用 Convert-Method 时,我得到 'Mauritius' 作为相应的 DisplayName(来自 RegionInfo)。所以“MU”似乎是一个有效的区域代码。

那么为什么这个代码在客户端机器上是未知的呢?我该如何解决这个问题?

0 投票
3 回答
589 浏览

c# - 如何从 3 位 ISO 国家代码中获取 3 位/字母货币代码

我有一个带有代表国家代码的值的 ddl。例如。BRA、THA、UKR、AUS 等。我需要从每个本地化设置中获取首选货币。

我试过检查 RegionInfo 类,很可能答案就在那里。这个链接显示了我想要的https://www.iban.com/currency-codes

有没有办法在不使用表结构的情况下获得 3 位数的 currencyCode?即来自个人电脑或浏览器本身。基本上,如果用户选择他们的国家为美国,那么货币应该固定为美元。我可以用一些 sql 很容易地做到这一点。但我想在不打分贝的情况下做到这一点。即通过RegionInfo 或CultureInfo。

我不能使用 new RegionInfo(System.Threading.Thread.CurrentThread.CurrentUICulture.LCID).ISOCurrencySymbol 因为它从服务器中提取。

0 投票
1 回答
39 浏览

c# - .net 是否有在创建 RegionInfo 对象之前验证区域名称的内置方法?

我的代码如下所示:

是否有验证区域名称的内置方法,因此我不必使用 try/catch?