我經常看到縮寫「en-US」,它與ISO639-1中標準化的2字符語言代碼相對應。我也明白,語言標記的格式通常由主語言(子標籤)代碼組成,後跟一系列由短劃線分隔的其他子標籤,如http://tools.ietf.org/html/rfc5646中所述。我應該使用哪種標準語言代碼用於多語言軟件?
該鏈接提到在ISO639-2,ISO639-3和ISO639-5中也定義了3個字母的語言代碼。
儘管如此,還是有更多爲Windows/.NET定義的代碼:http://msdn.microsoft.com/en-us/goglobal/bb896001.aspx。這些將語言標籤稱爲「文化名稱」,並使用不同的3字符代碼作爲「語言名稱」。因此,「文化名稱」似乎是2個字符的語言代碼,但我不確定他們爲什麼在Windows版本之間有所不同,或者他們如何遵循標準語言代碼。 「en-US」真的是「語言代碼」還是「文化名稱」?
如果我正在開發使用語言代碼的軟件,我應該使用哪種標準? (2個字符代碼或3個字符代碼?如果是3個字符,則是ISO639-2,3或5?)
爲什麼我應該選擇一個呢? (對於OS平臺或編程框架兼容性?)
沒有具體的標準或目的定義,這看起來像一個民意調查。 –
這不是一個民意調查,因爲我特別問「爲什麼」一個應該選擇其他。例如,最好的選擇可能取決於平臺。我不知道。如果是這樣的話,那麼一個明確的答案,比如「選擇取決於平臺和X平臺,應該使用這個方案,因爲...」將是一位有經驗的開發人員的有見地的答案。總的來說,對於使用2對3個字母的代碼也可能有有效的邏輯原因或特定目的,例如,所涵蓋的語言範圍等。我正在尋找事實和邏輯原因,而不是意見。 – Triynko
我並不是問「哪個更好,兩個或三個字符的代碼」,因爲這會被視爲自己。我在問「我什麼時候會使用2字符或3字符的代碼,爲什麼」(引出事實或邏輯信息)。我也對Windows API上下文中的「文化名稱」實際上只是一個2個字母的「語言代碼」感興趣。最清晰和最全面的答覆將被標記爲答案。 – Triynko