國際語言環境指南

何謂語言環境?

應用程式的關鍵性觀念為程式的語言環境是一個明確的模型以及原生語言環境的定義。語言環境的概念是明確定義的,並包括在「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 規格:系統介面定義, 第 5 版” (ISBN 1–85912–186–1)。

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

完整與部份語言環境

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

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

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

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

受語言環境影響的行為

不同的文化通常使用不同的慣例來表示日期和時間、格式數字、字詞分割和引用資料。 語言環境會在系統中決定下列項目的行為:

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

語言環境的種類

語言環境的種類如下所示:

LC_CTYPE

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

LC_TIME

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

LC_MONETARY

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

LC_NUMERIC

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

LC_COLLATE

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

LC_MESSAGES

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

LO_LTYPE

指定提供關於語言描繪資訊的版面配置引擎。語言描繪(或文字描繪)是由文字具體化與定向性所組成。