全球化指導方針

設計和開發您的應用程式,使其能夠在具有不同語言和文化配置的系統上正常運作。 使用 全球化 API 來格式化資料;並避免程式代碼中有關語言、區域、字元分類、撰寫系統、日期/時間格式、數位、貨幣、權數和排序規則的假設。

建議 描述
在操作和比較字串時,將文化特性納入考慮。 例如,在比較字串之前,請勿變更字串大小寫。 請參閱字串使用建議
在整理 (排序) 字串和其他資料時,不要假設它總是按字母順序完成。 對於不使用拉丁字母的語言,排序規則是基於發音或筆劃數等因素。 即使是使用拉丁指令碼的語言也不一定會使用字母排序。 例如,在某些文化特性中,電話簿可能不會依字母順序排序。 Windows 可以為您處理排序,但如果您建立自己的排序演算法,請務必考慮目標市場所使用的排序方法。
適當地格式化數位、日期、時間、位址和電話號碼。 這些格式會因文化特性、區域、語言和市場而異。 如果您要顯示這些資料,請使用全球化 API 來取得適合特定物件的格式。 查閱全球化您的日期/時間/數字格式 家族和指定名稱的顯示順序,以及位址的格式也不同。 使用標準日期、時間和數字顯示。 使用標準日期和時間選擇器控制項。 使用標準地址資訊。
支援國際度量單位和貨幣。 不同的國家使用不同的單位和比例,但最受歡迎的是公制和英制。 如果您處理長度、溫度和區域等度量,請務必支援正確的系統測量。 使用 GeographicRegion.CurrenciesInUse 屬性可取得區域中使用中的貨幣集合。
使用 Unicode 進行字元編碼。 根據預設,Microsoft Visual Studio 會針對所有檔使用 Unicode 字元編碼。 如果您使用不同的編輯器,請務必將來源檔案儲存在適當的 Unicode 字元編碼中。 所有 Windows 執行階段 API 都會傳回 UTF-16 編碼字串。
支援國際紙張大小。 最常見的紙張尺寸因國家/地區而異,因此,如果您包含依賴紙張尺寸的功能 (例如列印),請務必支援並測試常見的國際尺寸。
記錄鍵盤或輸入法的語言。 當您的應用程式要求使用者輸入文字時,請記錄目前啟用鍵盤配置或輸入法編輯器 (IME) 的語言標記。 這可確保稍後會顯示輸入時,會向用戶呈現適當的格式設定。 使用 Language.CurrentInputMethodLanguageTag 屬性來取得目前的輸入語言。
不要使用語言來假設使用者所在的區域; 並且不要使用區域來假設使用者的語言。 語言和區域是不同的概念。 使用者可以說某種語言的特定區域變體,例如英國使用的英語 en-GB,但使用者可能位於完全不同的國家或地區。 考慮您的應用程式是否需要了解使用者的語言 (例如 UI 文字) 或區域 (例如許可)。 如需更多資訊,了解使用者設定檔語言和應用程式資訊清單語言
比較語言標籤的規則並不容易。 BCP-47 語言標記很複雜。 比較語言標籤時存在許多問題,包括匹配指令碼資訊、舊標籤和多個區域變體的問題。 Windows 中的資源管理系統會為您進行比對。 您可以使用任何語言指定一組資源,系統會為使用者和應用程式選擇合適的資源。 請參閱應用程式資源和資源管理系統,以及資源管理系統如何比對語言標籤
設計您的 UI 以適應標籤和文字輸入控制項的不同文字長度和字體大小。 翻譯成不同語言的字串的長度可能會有很大差異,因此您需要 UI 控制項根據其內容動態調整大小。 其他語言中的常見字元包括英語中通常使用的符號上方或下方的標記 (例如 Å 或 Ņ)。 使用標準字體大小和行高以提供足夠的垂直空間。 請注意,其他語言的字體可能需要更大的最小字體大小才能保持易讀性。 請參閱 Windows.Globalization.Fonts 命名空間中的類別。
支援閱讀順序鏡像。 文字對齊和閱讀順序可以是從左到右 (例如英語),也可以是從右到左 (RTL) (例如阿拉伯語或希伯來語)。 如果您要將產品當地語系化為使用與您自己的不同閱讀順序的語言,請確定 UI 元素的配置支援鏡像。 甚至後返回按鈕、UI 過渡效果和影像等項目也可能需要鏡像。 有關詳細資訊,請參閱調整佈局和字體並支援 RTL
正確顯示文字和字型。 文字的理想字型、字型大小和文字方向會因不同市場而異。 如需詳細資訊,請參閱 調整版面配置和字型,並支援 RTL國際字型

重要 API

 

範例