國際語言環境指南

何謂語言環境?

應用程式的關鍵概念就是程式的語言環境。語言環境是原生語言環境的明確模組與定義。語言環境的概念是明確定義的,並包括在「ANSI C 語言」標準的程式庫定義中。

語言環境是由一些種類所組成,包括依賴於國家的格式或其他規格。程式的語言環境可定義自身的字碼集、資料和時間的格式慣例、幣制慣例、十進制的格式慣例以及分頁 (排序) 順序。

語言環境可由基礎語言、使用的國家 (地區)以及可選字碼集來組成。通常會假設字碼集。例如,德語為 de,為德國的縮寫,而瑞士德語為 de_CHCH 為瑞士邦聯的縮寫。此轉換可容許國家間的特定差異,如貨幣單位記號。

超過一個以上的語言環境可與一種特定語言相關聯,且可容許區域性的差異。例如,一位在美國說英語的使用者可以選取 en_US 語言環境 (美式英語),而另一位在英國說英語的使用者可以選取 en_GB (英式英語)。

語言環境名稱通常是由 LANG 環境變數指定的。語言環境種類隸屬於 LANG,但是可以個別設定,如此即會置換 LANG。如果已設定 LC_ALL 運算元,它會置換 LANG 和所有個別的語言環境種類。

語言環境命名慣例為:

language[_territory][.codeset] [@modifier]

其中雙字母的 language 字碼是來自 ISO 639,雙字母的 territory 字碼是來自 ISO 3166,codeset 是使用在語言環境中的字碼集名稱,modifier 是區分沒有修飾元之語言環境的特性名稱。

所有 Solaris 產品的語言環境都以 US-ASCII 字碼值保存「可攜字元集」的字元。

如需「可攜字元集」的詳細資訊,請參閱「X/Open CAE Specification:System Interface Definitions, Issue 5」(ISBN 1–85912–186–1)。

單一語言環境可以擁有一個以上的語言環境名稱。例如,POSIX 是與 C 相同的語言環境。

C 語言環境 - 預設語言環境

C 語言環境也稱為 POSIX 語言環境,是所有 POSIX 相容系統的 POSIX 系統預設語言環境。Solaris 作業系統即是 POSIX 系統。「單一 UNIX 規格」第 3 版中定義了 C 語言環境。請前往下列網址註冊,以便閱讀和下載此規格:http://www.unix.org/version3/online.html

您可以透過下列兩種方法其中之一,指定您的國際化程式執行於 C 語言環境:

若要在終端機環境中檢查目前的語言環境設定,請執行 locale(1) 指令。

system% locale

完整與部份語言環境

完整的 Solaris 語言環境擁有所有列出的功能以及使用相關語言的本土化系統訊息。部份語言環境沒有安裝本土化的訊息。Solaris 環境中的所有語言環境都可顯示本土化訊息,可為已安裝的相關語言提供本土化訊息。例如,下列語言環境可以是部分或完整語言環境:

當您從 Languages CD 安裝德文訊息翻譯時,上述所有的語言環境都會變成完整語言環境,因為它們都可存取已完全翻譯的桌上管理系統。Languages CD 包含下列語言以及語言環境的訊息翻譯:

Software CD 提供了所有的部份語言環境。Language CD 提供了訊息翻譯。

所有英文語言環境也是完整的語言環境,並可自 Software CD 取得。

受語言環境影響的行為

不同的文化通常使用不同的數字格式慣例,來填寫日期和時間、劃分字詞和片語或引用文章和演講資料。語言環境會決定如何處理不同區域的下列作業、檔案、格式和表示式:

Solaris 環境會將和語言及文化相關的資訊與應用程式分隔開來,並將資訊儲存在應用程式之外。此方法將不再需要針對每個市場來翻譯、重寫或重新編譯應用程式。進入新市場的唯一需求就是將外部資訊本土化為當地的語言和慣例。

語言環境的種類

語言環境的種類如下:

LC_CTYPE

控制字元處理功能的行為。

LC_TIME

指定日期和時間的格式,包括月份名稱、一星期的天數以及一般完整和縮寫的表示法。

LC_MONETARY

指定幣制格式,包括語言環境的貨幣符號、以千計分隔符號、記號位置、分數數字等。

LC_NUMERIC

指定十進制分割元 (或基數字元)、以千計分隔符號以及群組化。

LC_COLLATE

指定字元排序順序以及語言環境的常規表示式定義。

LC_MESSAGES

指定本土化訊息、語言環境的肯定與否定回應 (yes no 字串和表示式) 所使用的語言。

LO_LTYPE

指定提供關於語言描繪資訊的版面配置引擎。語言描繪 (或文字描繪) 取決於字體的外形和方向屬性。