ApplicationLanguages.PrimaryLanguageOverride | primaryLanguageOverride Property

取得或設定應用程式慣用語言的覆寫,以 BCP-47 語言標記表示。這個設定會持續存在。

語法


var primaryLanguageOverride = Windows.Globalization.ApplicationLanguages.primaryLanguageOverride;
Windows.Globalization.ApplicationLanguages.primaryLanguageOverride = primaryLanguageOverride;

屬性值

型別: String [JavaScript] | System.String [.NET] | Platform::String [C++]

BCP-47 語言標記。應用程式可以設定讓它覆寫使用者慣用語言順位清單最上方的語言 (ApplicationLanguages.Languages),而且其值將會在應用程式工作階段之間保存。它必須是單一語言標記,語言標記的分隔清單會失敗。

當您的應用程式取得值時, PrimaryLanguageOverride 會傳回單一語言標記 (如果您的應用程式之前設定過屬性) 或空字串。

備註

應用程式通常會使用系統所判斷的語言設定執行,判斷方法是比較應用程式支援的語言與使用者的語言喜好設定。該系統行為的設定可以使用 ApplicationLanguages.Languages 屬性來取得。PrimaryLanguageOverride 屬性是用來覆寫該行為,其方法是經由將特定語言設定為語言清單中的第一個語言。

PrimaryLanguageOverride 設定會在工作階段之間保存下來。它不應該在每次應用程式載入時設定。只能根據設定 UI 中出現的使用者輸入設定它。屬性隨時都可以讀取。如果屬性從未設定,則會傳回空字串。

當您設定 PrimaryLanguageOverride 時,會立即反映在 ApplicationLanguages.Languages 屬性中。然而,在應用程式 UI 中載入的資源,這項變更可能不會立即生效。若要確保應用程式回應這類變更,您可以接聽預設資源內容的 QualifierValues 屬性,並採取重新載入資源時可能需要的任何動作。這些需求可能因為應用程式使用的 UI 架構而有所不同,並且可能需要重新啟動應用程式。

注意事項  如果您的應用程式從這個類別將語言標記傳遞至任何地區語言支援函式,則必須先呼叫 ResolveLocaleName 來轉換標記。

從 Windows 8.1 開始:

語言標記可支援 Unicode 擴充功能。請參閱 ApplicationLanguages 類別的<備註>。

Windows 市集應用程式可以使用資源封裝部署。使用語言資源套件時,為指定使用者所安裝及註冊的套件取決於該使用者語言設定檔中的語言。因此,並非所有包含在提交至 Windows 市集的應用程式套件組合中的語言都一定可在執行階段使用。PrimaryLanguageOverride 屬性應該只能設定為使用者可用的語言。

可供應用程式在執行階段用來做為 ApplicationLanguages 物件的語言只限於主要應用程式套件資訊清單中所包含的這些語言,以及那些對應至使用者適用的語言資源封裝的語言 (取決於使用者喜好設定中的相符語言),還有那些已為使用者安裝和註冊的語言。ApplicationLanguages.ManifestLanguages 屬性會反映適用於使用者的語言資源套件,並因此傳回一組可用於設定 PrimaryLanguageOverride 屬性的適當語言。

ApplicationLanguages.Languages 屬性會將非常相似的清單傳回至 ManifestLanguages 屬性。差異是它可能包含任何封裝資訊清單中未列出的地方語言變化;例如,如果使用者設定檔有 "en-CA",且應用程式支援英文的任何地方種類,"en-CA" (英文 (加拿大)) 可以由 Languages 屬性傳回。這類使用者衍生的地區語言分支可能比較適合用於設定 PrimaryLanguageOverride 屬性,因為應用程式將會接著提供更適合使用者的全球化行為。

如果語言是在主要應用程式套件中,但不符合使用者喜好設定的任何語言,ManifestLanguages 屬性會傳回它,但 Languages 屬性則不會傳回它。這些也可以用來設定 PrimaryLanguageOverride 屬性。不過,因為這些語言不會反映在使用者喜好設定中,使用者可能無法了解這些語言。只有在使用者直接選擇時,才應該使用這類設定。

需求

支援的最小用戶端

Windows 8

支援的最小伺服器

Windows Server 2012

命名空間

Windows.Globalization
Windows::Globalization [C++]

Metadata

Windows.winmd

請參閱

ApplicationLanguages
ApplicationLanguages.Languages
BCP-47 語言標記

 

 

顯示:
© 2014 Microsoft