对中文的本地化支持

时间:2009-04-29 06:13:46

标签: c# wpf windows .net-3.5 localization

我需要在Windows上的一个应用程序中支持中文,问题是我需要支持中文普通话而我没有找到任何语言环境代码,你能澄清一下Windows是否可以支持普通话中文还是有任何替代?

3 个答案:

答案 0 :(得分:6)

由于问题标记为C#和.NET 3.5,我假设适用以下.NET特性。

此页面上有一个提示zh-Hans, zh-Hant and the "old" zh-CHS, zh-CHT

  

使用IETF标准“zh-Hans”和“zh-Hant”名称为中文简体和传统......在.Net 2.0 / 3.x中我们仍然认识到zh-CHS& zh-CHT用于向后兼容... LCID(0x0004或0x7C04)

来自W3 I18N FAQ

  

“zh-Hant”和“zh-Hans”。这些语言代码不代表特定语言。 “zh-Hant”表示用繁体中文脚本写的中文。类似地,“zh-Hans”代表用简体中文 script 编写的中文。这可以指普通话或许多其他中文语言。

我想关键点是你提到的中文普通话是一种口语方言(因为想要一个更好的词),中文(简体)就是'字符集'用于在纸上表示该口语'。根据coobird的链接,LocaleId 0x0004

其他口语语言(粤语?)由不同的“字符集”表示,例如中文(繁体)。如果您的申请是去台湾或香港,您可以使用LocaleId 0x7C04

  • 注意:我不是在上面的computerese / ASCII意义上的'字符集',只是区分语音和书面表示。关于字符集/代码页/ unicode还有另外一个讨论(尽管通常只要你的字体被整理出来并坚持使用UTF-8,.NET似乎就可以应付这些东西了。)

答案 1 :(得分:1)

Mandarin Chinese指的是一系列汉语口语方言。

也许您正在寻找Simplified Chinese,这是People's Republic of China和其他国家/地区使用的书面中文字符集?

编辑我能够从微软找到Natural Language Support (NLS) API Reference,它提供了用于国际化的文化名称,我相信。 (我不确定国际化在.NET中是如何工作的。)

根据该表,中国有七种文化名称/标识符。 (中文的文化名称以zh开头。)

如果没有关于国际化应针对哪种特定中文的更多信息,我认为缩小范围会有点困难。 (也许其他人在这个主题上有过一些经验?)

答案 2 :(得分:1)

这是一个不常见的请求,但这对于口语UI来说是有意义的。但这与“wpf”标签不匹配,表格是可视的。但是,您需要更好地理解问题。 coobird建议使用简体中文,但在台湾岛也使用普通话。书面语言有繁体中文。

对两者的本地化同样很复杂 - 除了翻译你的文本之外,你还需要确保不使用粗体文本(对任何一个脚本都不起作用)并确保任何换行算法在单词为no时都能正常工作被空格分隔的更长的字母串。