2012-02-23 66 views
2

我的問題我應該使用哪種文化代碼進行拼音?

如果你想顯示拼音爲中國講的用戶,在什麼「資源文件」將你存儲的拼音翻譯?

由於拼音本身不是「語言」,而是中文字符的拉丁表示形式,所以在.NET中沒有文化編碼。

我的猜測是,我們可能需要使用適用的「zh-」(中文)文化,並簡單地將拉丁字符拼音翻譯放在這些資源文件中。

如果這是一個愚蠢的問題,我提前道歉,但所有不同的文化的東西都爭先恐後!

背景

我們終於避過我們網站的國際化。我們現在正在處理大部分「西方」文化(拉丁字母:「es」,「fr」,「de」)和不同的日期/數字格式。然而,由於各種遺留系統未處理Unicode,基於表意文字的書寫系統(如中文)是一項挑戰。作爲一個短期的解決辦法,我們的業務領域決定使用漢語拼音。

因此...業務領域要求我「只需添加一個拼音資源文件」到網站。

+0

你有沒有考慮製作自己的自定義文化? http://msdn.microsoft.com/en-us/library/ms172469.aspx – 2012-02-23 21:34:32

+0

我曾想過做一個自定義的文化,但它不知何故覺得......「髒」;-)另外,這不會阻止我從使用瀏覽器的語言設置?無論如何,這可能不是一個好主意,我們應該始終讓用戶「選擇」網站上的語言? – SnookerC 2012-02-23 23:07:31

+1

您應該始終讓用戶能夠根據他們的瀏覽器覆蓋您爲他們選擇的任何設置。它的好習慣是引導用戶使用瀏覽器支持的語言,但認爲自己坐在你的朋友的筆記本電腦上,沒有選擇恢復到。英語而不開始對其瀏覽器設置進行更改。 – 2012-02-24 00:59:25

回答

1

微軟的文化代碼的格式爲:

"language-country" 

因此,以中國爲例。中文的代碼是「zh」。但是,有許多國家和地區使用中文,所以我們在國家代碼中添加了國家代碼。 「zh-cn」代表中國大陸。同樣,「zh-tw」代表臺灣的華人。

.Net使用資源回退的概念,其中資源查找從指定的級別開始,只要資源未找到,就會查看較不具體的資源,直至找到默認資源。因此,理想情況下,「zh-cn」資源文件應該只包含特定於中國大陸的資源。所有講中文的國家都有的資源應該存在於「zh」資源中。

因此,爲了解決您的問題,我相信拼音主要在中國大陸使用,並且由於您將其用作中文翻譯替代品,因此我會將拼音翻譯放在「zh-cn」資源文件中。

+0

實際上沒有「zh」資源,例如「en」,「es」,「fr」等。但是,通過您的響應提示,我發現有* * fallback資源查找中文。 「zh-CHS」是「中國(簡體)」父母或後備,「zh-CHT」是「中國(傳統)」父母/後備。看到這裏:http://www.agiledeveloper.com/articles/LocalizingDOTNet。pdf非常感謝,這爲我省下了一些潛在的努力! – SnookerC 2012-02-23 22:57:39

+1

好的,我需要道歉。自從寫了我以前的評論以來,我學到了一些我一直在使用的在線資源已經過時了。我寫了一些快速的C#代碼來顯示NET 4.0中的所有文化,而「zh」*是一種有效的「中立」文化。我還了解到「zh-CHS」和「zh-CHT」是「遺留」,分別由「zh-Hans」和「zh-Hant」取代。 – SnookerC 2012-02-24 22:44:44

+0

而你對拼音的評論,「zh-CN」似乎是很好的建議。雖然我仍然不明白爲什麼.NET有這樣的一個人指向「zh-CHS」作爲其父母,這是遺產。也許他們試圖製造除zh-Hant和zh-Hans以外的所有「zh-」遺產?無論如何,我正在給你答案。 **非常感謝**! – SnookerC 2012-02-24 22:45:10