C# 拼音应该使用什么文化代码?

C# 拼音应该使用什么文化代码?,c#,asp.net,.net,cjk,currentuiculture,C#,Asp.net,.net,Cjk,Currentuiculture,我的问题 如果您想为说汉语的用户显示拼音,您会将拼音翻译存储在什么“资源文件”中 由于拼音本身不是一种“语言”,而是汉字的拉丁表示形式,因此它在.NET中没有文化代码 我的猜测是,我们可能需要使用适用的“zh-”(中文)文化,并简单地将拉丁字符拼音翻译放在这些资源文件中 如果这是一个愚蠢的问题,我提前道歉,但是所有不同文化的东西都在扰乱我的大脑 背景 我们终于开始着手网站的国际化了。我们现在正在处理大多数“西方”文化(拉丁字母:“es”、“fr”、“de”)和不同的日期/数字格式。然而,像中文这

我的问题

如果您想为说汉语的用户显示拼音,您会将拼音翻译存储在什么“资源文件”中

由于拼音本身不是一种“语言”,而是汉字的拉丁表示形式,因此它在.NET中没有文化代码

我的猜测是,我们可能需要使用适用的“zh-”(中文)文化,并简单地将拉丁字符拼音翻译放在这些资源文件中

如果这是一个愚蠢的问题,我提前道歉,但是所有不同文化的东西都在扰乱我的大脑

背景

我们终于开始着手网站的国际化了。我们现在正在处理大多数“西方”文化(拉丁字母:“es”、“fr”、“de”)和不同的日期/数字格式。然而,像中文这样基于表意文字的书写系统是一个挑战,因为各种遗留系统不处理Unicode。作为一个短期解决方案,我们的业务领域决定为说汉语的用户使用拼音


所以。。。业务部门要求我“只需在网站上添加拼音资源文件”

Microsoft区域性代码的格式为:

"language-country" 
以汉语为例。中文的代码是“zh”。但是,有许多国家和地区使用中文,因此我们在语言代码后附加了国家代码。“zh cn”代表中国大陆。同样,“zh tw”代表台湾的中国人

.Net使用了资源回退的概念,其中资源查找从指定的级别开始,只要找不到资源,就会查看不太特定的资源,直到找到默认资源。因此,理想情况下,“zh cn”资源文件应该只包含特定于中国大陆的资源。所有华语国家通用的所有资源都应位于“zh”资源中


说到你的问题,我相信拼音主要是在中国大陆使用的,既然你用它来代替中文翻译,我会把拼音翻译放在“zh cn”资源文件中。

你考虑过创建自己的定制文化吗?我曾想过做一个风俗文化,但不知怎么的,我觉得。。。“肮脏”;-)另外,这难道不会阻止我使用浏览器的语言设置吗?也许这不是一个好主意,我们应该始终让用户以某种方式“选择”网站上的语言?您应该始终让用户能够覆盖您根据他们的浏览器为他们选择的任何设置。这是一个很好的做法,将用户引导到浏览器支持的语言中,但是考虑你自己和朋友的笔记本电脑坐在一起,没有选择返回到IE.英语,而不需要对浏览器设置进行更改。实际上,没有“ZH”资源,如“EN”、“ES”、“FR”等。根据您的回复,我发现有针对中文的后备资源查找。“zh CHS”是“中文(简体)”父项或回退,“zh CHT”是“中文(繁体)”父项/回退。看这里:谢谢你,这为我节省了一些潜在的努力!!好吧,我要道歉。自从写了之前的评论后,我了解到我使用的一些在线资源已经过时了。我编写了一些快速C#代码来显示Net4.0中的所有区域性,“zh”是一个有效的“中立”区域性。我还了解到“zh-CHS”和“zh-CHT”是“遗产”,分别被“zh-Hans”和“zh-Hant”取代。你对拼音“zh-CN”的评论似乎是个好建议。尽管我仍然不明白为什么.NET会将“zh CHS”作为它的父对象,这是一个遗留问题。也许他们正试图让所有的“zh-”遗产,除了zh-Hant和zh-Hans最终??不管怎样,我会给你答案的。非常感谢@BojinLi-你应该更新你的答案,以反映你评论中的发现
zh-CH
根本不起作用,对我起作用的是
zh-Hans