架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

搜索
查看: 1435|回复: 4

[资料] .NET/C# 设置程序默认区域性(CultureInfo)信息

[复制链接]
发表于 2023-11-23 21:29:26 | 显示全部楼层 |阅读模式
需求:.NET/C# 设置程序默认区域性(CultureInfo)信息,不依赖 Windows 系统默认区域设置。

代码如下:


获取所有区域,代码如下:

微信截图_20231123212553.png

CultureInfo.CurrentCulture 属性是每个线程的设置,可确定日期、时间、货币和数字的默认格式、文本排序顺序、字符串比较以及大小写转换。
CultureInfo.CurrentUICulture 属性是每个线程的设置,可返回当前用户界面区域性。该属性由 ResourceManager 类用于在运行时查找区域性特定资源。

总结:当程序运行时,CurrentUICulture属性用来决定加载什么样的资源,而CurrentCulture属性用来决定诸如货币、数字和日期如何格式化。

参考:

https://learn.microsoft.com/zh-cn/dotnet/api/system.globalization.cultureinfo.defaultthreadcurrentculture
https://learn.microsoft.com/zh-cn/dotnet/api/system.globalization.cultureinfo.defaultthreadcurrentuiculture
https://github.com/dotnet/docs/issues/11363




上一篇:.NET/C# 读写锁 ReaderWriterLockSlim 测试
下一篇:使用 nvm 安装管理 node.js 版本
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
 楼主| 发表于 2023-11-23 21:34:28 | 显示全部楼层
zh-CN 和 zh-TW 是主要在 Windows 上使用的两种文化,Linux ICU 库仅支持它们作为别名文化。别名意味着这些区域性不会在区域性列表中枚举,但仅当您使用该别名创建区域性时才有效。

这些文化的正确名称是 zh-Hans-CN 和 zh-Hant-TW。

创建 zh-CN 或 zh-TW 区域性时,Linux 上的父区域性将为 zh,而不是 zh-Hans 或 zh-Hant。如果在 Windows 上运行,将会得到不同的行为。

如果创建文化 zh-Hans-CN,其父链为 zh-Hans -> zh
如果创建文化 zh-Hant-TW,其父链为 zh-Hant -> zh


language-script-region-variant-extension-privateuse

1. language:这部分就是ISO 639规定的代码,比如中文是zh。

2. script:表示变体,比如简体汉字是zh-Hans,繁体汉字是zh-Hant。

3. region:表示语言使用的地理区域,比如zh-Hans-CN就是中国大陆使用的简体中文。

4. variant:表示方言。

5. extension-privateus:表示扩展用途和私有标识。

一般约定,language标签全部小写,region标签全部大写,script标签只有首字母大写。不同标签之间用连字号-链接。

码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
发表于 2023-12-15 17:33:57 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
发表于 2023-12-20 12:23:33 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
 楼主| 发表于 2024-7-22 08:46:44 | 显示全部楼层

AllCultures7
.NET 可识别的所有区域性,包括用户创建的中性区域性和特定区域性以及自定义区域性。
在 .NET Framework 4 和更高版本以及正在 Windows 上运行的 .NET Core 上,将包括可从 Windows 操作系统获取的区域性数据。 在正在 Linux 和 macOS 上运行的 .NET Core 上,将包括 ICU 库中定义的区域性数据。
AllCultures 是包括 NeutralCultures、 SpecificCultures和 InstalledWin32Cultures 值的复合字段。
FrameworkCultures64
此成员已弃用;结合使用此值与 GetCultures(CultureTypes) 可以返回 .NET Framework 2.0 附带的非特定和特定区域性。
InstalledWin32Cultures4
此成员已弃用。 Windows 操作系统中安装的所有区域性。
NeutralCultures1
与某种语言关联但并不特定于某一国家/地区的区域性。
ReplacementCultures16
此成员已弃用。 用户创建的自定义区域性,可以替换 .NET Framework 附带的区域性。
SpecificCultures2
特定于某一国家/地区的区域性。
UserCustomCulture8
此成员已弃用。 用户创建的自定义区域性。
WindowsOnlyCultures32
此成员已弃用且将被忽略。


https://learn.microsoft.com/zh-cn/dotnet/api/system.globalization.culturetypes?view=net-8.0
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2024-10-8 11:19

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表