共用方式為


使用者介面語言管理

多語系使用者介面 (MUI) 可讓您的應用程式以兩種方式管理使用者介面語言。 根據預設,應用程式可以使用簡單的語言管理方法來管理作系統語言設定。 或者,應用程式可以支援使用者可從中選取自己的語言。 MUI API 也可讓您的應用程式直接存取作系統支援的語言和語言清單,並由資源載入器維護。 本主題的其餘部分會定義系統支援的語言和語言後援機制。

作系統維護的語言

系統預設UI語言/安裝語言

系統預設UI語言是用來設定Windows的當地語系化版本語言。 除了使用者選取不同的語言以外,所有功能表、對話框、錯誤訊息和說明檔都會以這個語言表示。

在 Windows Vista 和更新版本上,系統預設 UI 語言稱為「安裝語言」,並扮演更有限的角色。 針對大部分用途,系統慣用UI語言會取代它。 不過,在某些內容中,擁有一律完全支援的單一安裝語言會很有用。

注意

MUI 部署之後,仍會顯示系統預設 UI 語言中的 Windows 應用程式,例如 [繪圖]、[記事本]、[Wordpad] 和 [功能表] 選項。

沒有 MUI 函式可用來設定系統預設 UI 語言。 若要擷取此語言,應用程式可以呼叫 GetSystemDefaultUILanguage

系統 UI 語言

作系統會將系統 UI 語言定義為使用者介面語言,該語言可由系統管理員在 [控制面板] 區域和語言選項部分的 [進階] 索引卷標中設定。 如果目前使用者尚未進行特定語言設定,或未登入使用中帳戶,則作系統會使用此語言。 只有在計算機上安裝多個使用者介面語言時,才能變更語言。

注意

所有使用者和服務都必須重新啟動作系統,才能看到語言變更的效果。

 

沒有 MUI 函式可用來設定系統 UI 語言。 若要擷取此值,以 Windows Vista 和更新版本為目標的應用程式可以呼叫 GetSystemPreferredUILanguages,並在系統慣用 UI 語言清單中取得第一種語言。 以 Windows Vista 前作系統為目標的應用程式無法使用 GetSystemPreferredUILanguages,而且應該以系統 UI 語言一律與系統預設 UI 語言相同的假設為基礎。

使用者UI語言

使用者 UI 語言會決定用於功能表、對話框、說明檔等的使用者介面語言。 您可以在 [控制面板] 區域和語言選項部分的 [Language] 索引標籤中,由目前用戶設定。 只有在計算機上安裝多個使用者介面語言時,才能變更此語言。 請注意,用戶必須註銷,然後重新登入才能看到效果。 例如,跨國公司想要在其所有子公司中部署 Windows。 公司會建立全域安裝作業,不論位置為何,都會在所有用戶端上安裝英文版的 Windows。 同時,它會根據計算機所屬的組織單位,安裝特定的語言模組。 當使用者第一次登入新安裝的作系統時,Windows 會顯示為本地化的版本。

在 Windows Vista 和更新版本上,使用者 UI 語言是使用者慣用 UI 語言清單中的第一種語言。 請注意,如果特定資源無法使用此語言,則可以使用後援語言。

在 Windows Vista 前作系統上,使用者 UI 語言通常與系統預設 UI 語言相同。 不過,針對 Windows MUI,這兩種語言可能不同。

若要擷取使用者 UI 語言,應用程式可以 呼叫 getUserDefaultUILanguageGetUserPreferredUILanguages。 應用程式無法變更使用者 UI 語言,因為沒有可設定它的函式。

作系統維護的語言清單

系統慣用UI語言清單

資源載入器會維護系統慣用的UI語言清單。 此清單中包含的語言是作系統慣用的語言,適用於自己的資源,例如功能表和對話框、訊息、INF 檔案和說明檔。 此清單是由系統預設UI語言和系統UI語言及其後援所組成。 應用程式可以藉由呼叫 getSystemPreferredUILanguages 來擷取系統慣用的 UI 語言。

使用者慣用UI語言清單

資源載入器會使用使用者慣用的UI語言清單,其中包含使用者偏好的語言。 資源載入器會針對特定應用程式線程使用符合此清單中語言的資源。 這些語言優先於任何系統喜好設定。 若要擷取使用者慣用的UI語言,您的應用程式可以呼叫 GetUserPreferredUILanguages

處理慣用UI語言清單

在 Windows Vista 和更新版本上,資源載入器會維護由 MUI 應用程式執行進程所設定最多五個有效語言的程式慣用 UI 語言清單。 應用程式可以透過呼叫 setProcessPreferredUILanguages 來設定語言。 應用程式可以藉由呼叫 getProcessPreferredUILanguages 來擷取語言。

線程慣用UI語言清單

在 Windows Vista 和更新版本上,資源載入器會使用線程慣用 UI 語言清單,此清單由線程在 MUI 應用程式的執行進程中設定最多五個有效語言所組成。 這些語言可用來自定義應用程式使用者介面語言,並使其與作系統語言不同。 線程慣用UI語言清單是以使用者慣用UI語言、系統慣用UI語言和系統預設UI語言為基礎。

若要設定線程慣用UI語言,應用程式應該呼叫 SetThreadPreferredUILanguages。 若要擷取這些語言,應用程式會呼叫 GetThreadPreferredUILanguages

中性語言表示法

中性語言會單獨表示為語言,不含區域或地區設定。 例如,英文(加拿大)語言的中性表示法,en-CA,會以 “en” 表示。 雖然中性語言與區域或地區設定的各個層面沒有關聯,但您可以將它與資源集產生關聯。 一般而言,中性語言資源是以語言最普遍區域中的使用為基礎。

例如,假設您的 MUI 應用程式當地語系化德文(瑞士)的德文語言資源,以 de-CH 和德文(奧地利)表示為 de-AT,同時為德文(德國)建置一組以 de-DE表示的完整資源。 您必須針對此應用程式進行決策,以考慮整個資源檔。 如果應用程式將 de-DE 資源複製為中性語言資源,則必須為資源載入器提供後援語言。 如果載入器找不到 de-CH 或 de-AT的特定語言特定資源檔,則會回復為語言中性 “de” 資源。 這些資源可能比完全不同語言的資源更合適,例如英文(美國),這是唯一可能的其他後援。

另一個範例是,應用程式可能根本沒有針對貝里斯當地語系化。 不過,支援以 en-BZ表示的語言喜好設定(貝里斯),可讓應用程式回復為 「en」 資源。

資源載入器中的語言後援

Windows Vista 和更新版本會以資源載入器所使用的預先排序後援語言清單來排列使用者介面語言設定。 若要形成清單,作系統會結合數種語言,順序如下:

  • 線程慣用UI語言,由線程使用者介面語言及其中性形式組成。 例如,法國(法國)的 fr-FR 及其中性形式“fr”,以及西班牙(西班牙)的 es-ES 及其中性形式“es”。

  • 處理慣用UI語言,由進程使用者介面語言及其中性形式組成。 例如,德國(德國)及其中性形式 「de」 de-DE。

  • 使用者 UI 語言及其中性表單。 例如,日本(日本)及其中性形式 「ja」 ja-JP。

  • 系統 UI 語言及其中性形式。 例如,義大利(義大利)及其中性形式“義大利”it-IT。

    注意

    未設定使用者 UI 語言時,此語言只會包含在後援清單中。

     

  • 系統預設UI語言及其中性形式。 例如,西班牙(西班牙)及其中性形式 「es」 es-ES。

下列顯示合併的後援清單。 請注意,會消除語言重複,例如 es-ES 和es。 由於此範例會將使用者UI語言設定為 ja-JP,因此系統UI語言不會出現在合併的後援清單中。

fr-FR、fr、es-ES、es、de-DE、de、ja-JP、ja

載入 MUI 應用程式的資源時,資源載入器會嘗試選取符合目前執行中應用程式線程之線程慣用 UI 語言清單的其中一個檔案。 如果資源載入器在合併後援清單中找不到所選語言與第一個語言特定資源之間的直接相符專案,它會檢查清單中的後續語言,直到找到可接受的後援為止。

如果資源載入器找不到所需的檔案,則必須使用「保證良好」後援語言。 針對 MUI 資源技術,資源載入器會從所提供的資源組態數據判斷後援語言。 如需詳細資訊,請參閱 MUI 資源管理

多語系使用者介面

地區設定和語言

NLS 術語