49.6 語言變數巨集

若要將以不同語言配送同一應用程式所需的應用程式物件數目降至最低,您可以使用語言變數來表示 MSI 應用程式物件中與語言相關的資訊。簡單、AOT/AXT、終端伺服器或 Web 應用程式不支援語言變數。

例如,假設您要配送 ZENworks 桌面管理代辦的相應語言版本,且每種語言版本均具有獨立 .msi 檔案。依預設,桌面管理代辦的 .msi 檔案安裝在桌面管理伺服器的 sys:\public\zenworks\zfdagent\language 目錄中,其中 language 表示各種支援的語言。在桌面管理代辦的應用程式物件中,您可以在「language」目錄的來源路徑中包含語言變數。例如:

\\server\sys\public\zenworks\zfdagent\%LOCALE_SYS_NATIVE_LANG%\zfdagent.msi

在配送過程中,應用程式啟動器會從工作站的系統中取回請求的語言資訊,並用其來替換語言變數。

還例如,假設您具有 .msi 檔案 (例如 app1.msi)。當安裝特定的語言版本時,您必須套用語言特定的轉換檔案 (.mst)。若要滿足此需要,您可以為每個 .mst 檔案建立語言目錄,然後在指定轉換路徑時使用語言目錄變數。

\\server\sys\public\zenworks\app1\%LOCALE_SYS_NATIVE_LANG%\app1.mst

語言變數可以與其他巨集變數 (特殊的 Windows 巨集、環境變數等) 在同一 MSI 應用程式物件內容中使用。如需這些使用位置的清單,請參閱節 49.8, 可以使用巨集的應用程式物件內容

下表描述可用的語言變數。

表 49-6 語言變數巨集

語言變數

描述

%LOCALE_SYS_DEFAULT_ANSI_CP%

取回與系統語言環境關聯的美國國家標準協會 (American National Standards Institute, ANSI) 代碼頁。如果語言環境不使用 ANSI 代碼頁,則值為 0。

範例: 1252

%LOCALE_SYS_DEFAULT_OEM_CP%

取回與系統語言環境關聯的原始設備製造商 (Original Equipment Manufacturer, OEM) 代碼頁。如果語言環境不使用 OEM 代碼頁,則值為 1。

範例: 437

%LOCALE_SYS_LANGID%

取回系統語言環境的語言識別碼。語言識別碼是國家/地區或地理區域所使用語言的標準國際數字縮寫。

範例: 0409

%LOCALE_SYS_ABBR_LANG%

指定系統語言的縮寫名稱。在大多數情況下,可從國際標準化組織 (International Organization for Standardization, ISO) 標準 639 取得兩個字母的語言縮寫並適當地新增第三個字母以指示子語言,從而建立縮寫名稱。

範例:ENU

%LOCALE_SYS_ENG_LANG%

根據 ISO 標準 639 指定系統語言的完整英文名稱。這始終僅限於可映射至 ASCII 127 字元子集的字元。

範例:繁體中文

%LOCALE_SYS_LANG%

指定系統語言的完整本土化名稱。此名稱是以產品的本土化為基礎的,對於不同的本土化版本可能會有所不同。

範例:英語 (美國)

%LOCALE_SYS_ISO639_LANG%

僅根據 ISO 標準 639 指定系統語言的縮寫名稱。

範例:en

%LOCALE_SYS_NATIVE_LANG%

指定系統語言的本地名稱。

範例:繁體中文

%LOCALE_USER_DEFAULT_ANSI_CP%

取回與使用者語言環境關聯的 ANSI 代碼頁。如果語言環境不使用 ANSI 代碼頁,則值為 0。

範例: 1252

%LOCALE_USER_DEFAULT_OEM_CP%

取回與使用者語言環境關聯的 OEM 代碼頁。如果語言環境不使用 OEM 代碼頁,則值為 1。

範例: 850

%LOCALE_USER_LANGID%

取回使用者語言環境的語言識別碼。語言識別碼是國家/地區或地理區域所使用語言的標準國際數字縮寫。

範例:0c09

%LOCALE_USER_ABBR_LANG%

指定使用者語言的縮寫名稱。在大多數情況下,可從國際標準化組織 (International Organization for Standardization, ISO) 標準 639 取得兩個字母的語言縮寫並適當地新增第三個字母以指示子語言,從而建立縮寫名稱。

範例:ENA

%LOCALE_USER_ENG_LANG%

根據 ISO 標準 639 指定使用者語言的完整英文名稱。這始終僅限於可映射至 ASCII 127 字元子集的字元。

範例:繁體中文

%LOCALE_USER_LANG%

指定使用者語言的完整本土化名稱。此名稱是以產品的本土化為基礎的,對於不同的本土化版本可能會有所不同。

範例:英語 (澳大利亞)

%LOCALE_USER_ISO639_LANG%

僅根據 ISO 標準 639 指定使用者語言的縮寫名稱。

範例:en

%LOCALE_USER_NATIVE_LANG%

指定使用者語言的本地名稱。

範例:繁體中文