问题标签 [cultureinfo]

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 投票
3 回答
348 浏览

.net - 在 Intranet、ASP.NET、单服务器应用程序中设置 CultureInfo 是否浪费时间?

我正在查看为 ToString 和数字转换和日期使用设置 CultureInfo 的 1000 段代码。该应用程序仅由一个单语办公室在一个城镇的一台服务器上使用,并且永远不会转移到另一个国家。

我认为这些是从 FxCop 关于国际化的错误建议中得到的。

在这种情况下有什么理由设置 CultureInfo 吗?我想念任何不寻常的原因吗?

更新:
如果有这个原因,新代码应该复制这种使用 CultureInfo 引用向代码发送垃圾邮件的约定。

0 投票
1 回答
5661 浏览

.net - 如何在只读 CultureInfo.NumberFormat 上设置 CurrencySymbol?

我正在尝试使用与默认 .Net 文化 (SFr.) 不同的符号 (CHF) 格式化货币 (Swiss Frank -- de-CH)。问题是该区域性的 NumberFormat 是只读的。

有没有使用 CultureInfo 和 NumberFormat 解决这个问题的简单方法?有什么方法可以覆盖 CurrencySymbol?

例子:

这将在设置时出错,NumberFormat.CurrencySymbol因为NumberFormatis **ReadOnly**

谢谢!

0 投票
2 回答
3931 浏览

asp.net - CA1305:int.Parse(字符串)

我收到 CA1305 警告。

Microsoft.Globalization :由于“int.Parse(string)”的行为可能因当前用户的区域设置而异,因此将“_Default.CalculateImageButton_Click(object, ImageClickEventArgs)”中的此调用替换为对“int.Parse(string) 的调用, IFormatProvider)'。如果将向用户显示“int.Parse(string, IFormatProvider)”的结果,请将“CultureInfo.CurrentCulture”指定为“IFormatProvider”参数。否则,如果结果将被软件存储和访问,例如当它被持久化到磁盘或数据库时,请指定“CultureInfo.InvariantCulture”。

如果我在解析 Int32 时忽略指定区域性,究竟会出现什么问题?

0 投票
1 回答
2173 浏览

.net - 为什么 CultureInfo.NativeName 不总是大写?

只是出于好奇...

在我们的应用程序中,我以“NativeName - EnglishName”的格式列出了所有可用的翻译。对于某些语言,NativeName 没有大写,例如。

第一个字母大写没什么大不了的,但这背后的原因是什么?

0 投票
3 回答
6764 浏览

c# - 更改日期格式的 ASP.NET 默认文化

出于某种原因,当我使用DateTime.ToString("g")时,我服务器上的 ASP.NET 代码现在返回的格式为dd/MM/yyyy而不是MM/dd/yyyy

与其用具体的格式字符串或 CultureInfo 参数替换所有“g”格式字符串,有没有一种方法可以在整个应用程序中覆盖默认的“短日期”格式?

我的偏好实际上是“yyyy-MM-dd”作为默认格式,但我可以接受以美国为中心的 MM/dd/yyyy,因为所有用户都在美国。

澄清:我不想更改整个默认文化,这可能会影响货币和在格式化数字中使用小数/逗号等内容。

我只想覆盖任何 ToString("g") 调用以使用 ISO/IEC 8824 日期格式(“yyyy-MM-dd”)。

我可以在我的代码中搜索和替换,以在每个 ToString() 调用中强制使用 CultureInfo,但这并不是最可维护的解决方案。

我目前的解决方案是我已经定义了一个格式化日期的静态方法,我在整个代码库中调用它而不是 ToString()。但是再一次,如果我忘记在代码中的某个地方这样做,我将再次有一个愚蠢的约会。

0 投票
1 回答
506 浏览

.net - 在 .net 应用程序文化信息中覆盖 NumberFormat

我有一个可用几种不同语言的 .NET 应用程序。我基本上在系统文化中加载和保存文件(包含双打),但我想强制使用美国文化格式(逗号作为数字分组,句点作为小数分隔符)始终显示和输入数字。我试图覆盖应用程序文化,但它似乎不起作用。有没有办法解决这个问题?

0 投票
2 回答
17911 浏览

datetime - Does DateTime.ToString("s") return always same format?

According to MSDN on DateTime.ToString ToString("s") should always return string in the format of the sortable XML Schema style formatting, e.g.: 2008-10-01T17:04:32.0000000

In Reflector I came to this pattern inside DateTimeFormatInfo.

Does DateTime.ToString("s") return always a string in this format?
Regardless the Culture, Region, ...


Yes it does
Code to test that

0 投票
3 回答
4469 浏览

c# - 新 CultureInfo(string Name) 构造函数 - .NET (C#)

我有一种情况,我将日期/数字等的字符串表示形式保存在数据库中,并且由于应用程序在多个国家/地区运行,有时不同国家/地区的用户使用相同的数据库,因此我将 CurrentCulture.Name 存储在数据库中记录,以便在客户端转换时,它使用正确的文化信息进行转换。例如:

DateTime dt = Convert.ToDateTime(value, new CultureInfo(value.ClientCulture));

这很好用,我的问题是,在调用 new CultureInfo(value.ClientCulture) 时,是从 .NET Framework 还是从 Windows 获取 CultureInfo?我担心如果从 Windows 调用,如果没有安装这些语言,可能会出现问题。如果从 .NET Framework 本身调用,那么我看不到任何问题。

谢谢

0 投票
1 回答
1415 浏览

c# - WPF 应用程序中的神秘资源/CultureInfo 行为

我在 WPF 项目(VS 2008)的 Properties 文件夹中有两个资源文件:

  • 资源.resx
  • 资源.de-DE.resx

选择文化“de-DE”不起作用(没有错误,但始终使用来自“Resources.resx”的字符串):

但是:如果我将“Resources.de-DE.resx”重命名为“Resources.fr-CA.resx”或“Resources.en-US.resx”

然后通过设置它

有用!!但为什么!?神秘...

0 投票
3 回答
5288 浏览

c# - CultureInfo 和 DateTimeInfo:如何检查是否为 24 小时制?

我正在修改一个全球化的 Web 应用程序,它为每个登录的用户使用存储的 CultureInfo。

客户希望时间数据输入本地化。显示不是问题,因为格式已经可用。但是,我需要检测当前的文化信息是 24 小时时间还是上午/下午,以便我可以显示正确的输入框(不仅仅是文本字段)。

我最初的想法是检查 CultureInfo 的 DateTimeInfo 属性,看看 ShortTimePattern 是否包含大写的 H 或小写的 h,但这对我来说感觉不够健壮。

有没有更好的办法?我已经阅读了两者的类属性,但除非我遗漏了什么,否则我看不到任何现有的方法或属性。