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

问题描述 投票:0回答:2

我的问题

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

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

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

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

背景

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

所以...业务区要求我“只需添加一个拼音资源文件”到网站即可。

c# asp.net .net cjk currentuiculture
2个回答
1
投票

Microsoft 文化代码的格式为:

"language-country" 

所以,以中文为例。中文代码是“zh”。不过,使用中文的国家和地区有很多,所以我们在语言代码后面附加一个国家代码。 “zh-cn”代表Chinese-中国大陆。同样,“zh-tw”代表台湾的中文。

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

所以回答你的问题,我相信拼音主要在中国大陆使用,并且由于你使用它作为中文翻译替代品,我会将拼音翻译放在“zh-cn”资源文件中。


0
投票

简短回答:

zh-Latn-pinyin
zh-Latn-CN-pinyin
cmn-Latn-pinyin
都有效。

IANA 语言子标签注册表定义了变体子标签

pinyin
,与中文前缀
zh-Latn
(藏文前缀
bo-Latn
)一起使用。

W3C 的推荐:

检查变体子标签的上下文和顺序。大多数变体 注册表中的子标签记录具有一个或多个

Prefix
字段。这 前缀表示通常适合与哪些子标签一起使用 这个变体。例如,
pinyin
通常应用于 语言标签还包含子标签
zh
Latn
或 子标签
bo
Latn
,因为
pinyin
的条目包含 以下:

Prefix: zh-Latn
Prefix: bo-Latn

如果你有充分的理由,你可以 使用具有不同子标签的变体子标签,例如。

cmn-Latn-pinyin
会 是用拼音书写的普通话的完全合法的方式。

虽然指定了

zh
bo
Latn
,但这只是最低要求。 还可以包含其他子标签,例如区域子标签, 在语言标签中(如果适用),例如。
zh-Latn-CN-pinyin

https://www.w3.org/International/questions/qa-choosing-language-tags#variants

© www.soinside.com 2019 - 2024. All rights reserved.