日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
【Debian參考手冊】第?8?章?國際化和本地化

目錄

公司主營業(yè)務(wù):網(wǎng)站制作、成都網(wǎng)站建設(shè)、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)建站是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)建站推出元謀免費做網(wǎng)站回饋大家。

8.1. 語言環(huán)境
8.1.1. UTF-8 語言環(huán)境的基本原理
8.1.2. 語言環(huán)境的重新配置
8.1.3. 文件名編碼
8.1.4. 本地化信息和翻譯文檔
8.1.5. 語言環(huán)境的影響
8.2. 鍵盤輸入
8.2.1. Linux 控制臺和 X 窗口的鍵盤輸入
8.2.2. Wayland 鍵盤輸入
8.2.3. IBus 支持的輸入法
8.2.4. 一個日語的例子
8.3. 顯示輸出
8.4. 東亞環(huán)境下寬度有歧義的字符

一個應(yīng)用軟件的 多語言化 (M17N)或本地語言支持,通過 2 個步驟完成。

  • 國際化 (I18N): 使一個軟件能夠處理多個語言環(huán)境。

  • 本地化 (L10N):使一個軟件處理一個特定的語言環(huán)境。

提示

在 multilingualization(多語言化)、internationalization(國際化)和 localization(本地化)中,有17, 18, 或 10 個字母在"m" 和 "n", "i" 和 "n", 或 "l" 和 "n"中間,它們相應(yīng)表示為 M17N, I18N 和 L10N。細節(jié)參見 i18n 介紹 。

8.1. 語言環(huán)境

程序支持國際化的行為,是通過配置環(huán)境變量 "$LANG"來支持本地化。語言環(huán)境的實際支持,依賴 libc 庫提供的特性,并要求安裝 localeslocales-all 軟件包。 locales 軟件包需要被適當(dāng)?shù)某跏蓟?/p>

如果 localeslocales-all 軟件包均沒有安裝,支持語言環(huán)境的特性丟失,系統(tǒng)使用 US 英語消息,并按 ASCII 處理數(shù)據(jù)。這個行為和 "$LANG" 被設(shè)置為 "LANG="、"LANG=C" 或 "LANG=POSIX" 相同。

GNOME 和 KDE 等現(xiàn)代軟件是多語言的。他們通過處理 UTF-8 數(shù)據(jù)來實現(xiàn)國際化,并通過 gettext(1) 架構(gòu)提供翻譯信息來本地化。翻譯信息可以由獨立的本地化軟件包來提供。

目前的 Debian 桌面 GUI(圖形用戶界面)系統(tǒng)通常在 GUI 環(huán)境中設(shè)置語言環(huán)境為 "LANG=xx_YY.UTF-8"。這里,"xx" 是 ISO 639 語言代碼 ,"YY" 是 ISO 3166 國家地區(qū)代碼。這些值由配置桌面的 GUI 對話框來設(shè)置,并改變程序的行為。參見 第 1.5.2 節(jié) ““$LANG”變量”

8.1.1. UTF-8 語言環(huán)境的基本原理

最簡單的文本數(shù)據(jù)表達是 ASCII,它對英語是足夠的,少于 127 個字符(使用 7 位描述)。

即使純英文文本也可能包含非 ASCII 字符,例如微微卷曲的左右引號在 ASCII 中是不可用的。

“double quoted text” is not "double quoted ASCII"
‘single quoted text’ is not 'single quoted ASCII'

為了支持更多字符,許多字符集和編碼系統(tǒng)被用來支持多語言。(參見 表 11.2 “編碼值和用法的列表”)。

Unicode 字符集可以用 21 位碼點范圍來顯示幾乎所有人類已知的字符(例如,十六進制的 0 到 10FFFF)。

文本編碼系統(tǒng) UTF-8 將 Unicode 碼點適配到一個合理的 8 位數(shù)據(jù)流,并大部分兼容 ASCII 數(shù)據(jù)處理系統(tǒng)。這個使 UTF-8 作為現(xiàn)代推薦的選擇。UTF 表示 Unicode 轉(zhuǎn)換格式(Unicode Transformation Format)。當(dāng) ASCII 純文本數(shù)據(jù)轉(zhuǎn)換為 UTF-8 數(shù)據(jù),它有和原始 ASCII 完全一樣的內(nèi)容和大小。所以配置 UTF-8 語言環(huán)境不會有任何丟失。

在 UTF-8 語言環(huán)境下兼容的應(yīng)用程序,你可以顯示和編輯外語文本數(shù)據(jù),在所要求的字體和輸入法安裝和啟用后。例如在"LANG=fr_FR.UTF-8"語言環(huán)境下,gedit(1) (GNOME 桌面的文本編輯器) 能夠顯示和編輯中文字符文本數(shù)據(jù),而顯示的菜單是法語。

提示

新標(biāo)準(zhǔn)的 "en_US.UTF-8"和老標(biāo)準(zhǔn)的"C"/"POSIX"語言環(huán)境都使用標(biāo)準(zhǔn)的 US 英文消息,它們在排序等方面有細微的不同。在維護老的"C"本地行為時,如果你不僅想處理 ASCII 字符,同時還想優(yōu)雅的處理 UTF-8 編碼的字符,在 Debian 上使用非標(biāo)準(zhǔn)的 "C.UTF-8"語言環(huán)境。

注意

一些程序在支持 I8N 后會消耗更多的內(nèi)存。這是因為它們?yōu)榱怂俣葍?yōu)化,而在內(nèi)部使用 UTF-32(UCS4) 來支持 Unicode,并且每個獨立于語言環(huán)境所選的 ASCII 字符數(shù)據(jù)都會消耗 4 個字節(jié)。再一次地,使用 UTF-8 語言環(huán)境并不會使你損失什么。

8.1.2. 語言環(huán)境的重新配置

為了讓系統(tǒng)訪問某一語言環(huán)境,語言環(huán)境數(shù)據(jù)必須從語言環(huán)境數(shù)據(jù)庫中編譯。

locales 軟件包 沒有 包含預(yù)先編譯的語言環(huán)境數(shù)據(jù)。你需要按下面的方法配置:

# dpkg-reconfigure locales

該過程包含 2 個步驟。

  1. 選擇所有需要的語言環(huán)境數(shù)據(jù)編譯為二進制形式。(請確認至少包含一個 UTF-8 語言環(huán)境 )

  2. 通過創(chuàng)建 “/etc/default/locale” 來設(shè)置系統(tǒng)默認的語言環(huán)境值給 PAM 使用(參見 第 4.5 節(jié) “PAM 和 NSS”)。

設(shè)置在 "/etc/default/locale" 里的系統(tǒng)范圍的默認語言環(huán)境,可以被 GUI(圖形用戶界面)應(yīng)用程序的 GUI 配置覆蓋。

注意

所使用的確切傳統(tǒng)編碼系統(tǒng)可以通過 “/usr/share/i18n/SUPPORTED” 來確認。因此, "LANG=en_US" 是 "LANG=en_US.ISO-8859-1"。

locales-all 軟件包有所有預(yù)編譯的語言環(huán)境數(shù)據(jù),但是不創(chuàng)建"/etc/default/locale"。

8.1.3. 文件名編碼

對于跨平臺的數(shù)據(jù)交換(參見 第 10.1.7 節(jié) “可移動存儲設(shè)備”),你需要使用特殊的編碼掛載文件系統(tǒng).舉個例子,不使用選項時,mount(8) 假設(shè) vfat 文件系統(tǒng) 使用 CP437. 你需要給文件名提供明確的掛載選項來使用UTF-8 或 CP932.

注意

在 GNOME 這類的現(xiàn)代桌面環(huán)境下,當(dāng)自動掛載一個熱拔插 U 盤時,你可以提供這樣的掛載選項。右擊桌面上的圖標(biāo),點擊 "Drive" , "Setting", 輸入 "utf8" 到 "Mount options:". 當(dāng)這個 U 盤下次掛載時,UTF-8 就可以了。

注意

如果你在升級一個系統(tǒng),或者從老的非 UTF-8 系統(tǒng)遷移磁盤,非 ASCII 字符的文件名也許是使用老舊的 ISO-8859-1 或 eucJP 來編碼. 請尋求文本轉(zhuǎn)換工具把他們轉(zhuǎn)換到 UTF-8. 參見 第 11.1 節(jié) “文本數(shù)據(jù)轉(zhuǎn)換工具”.

在默認情況下,Samba 對新的客戶端(Windows NT, 200x, XP)使用 Unicode,但對老的客戶端(DOS 和 Windows 9x/Me)使用 CP850.可以在 "/etc/samba/smb.conf" 文件里面,使用"dos charset" 來改變老客戶端的這個默認編碼。比如說,CP932 表示為日語。

8.1.4. 本地化信息和翻譯文檔

在 Debian 系統(tǒng)中顯示的許多文檔和文本信息有翻譯存在,比如錯誤信息、標(biāo)準(zhǔn)程序輸出、菜單和手冊頁。GNU gettext(1) 命令工具鏈?zhǔn)谴蟛糠址g活動的后端工具。

aptitude(8) 里,"Tasks" → "Localization" 提供一個有用的二進制包擴展列表, 給應(yīng)用程序增加本地化信息和提供翻譯文檔。

舉個例子,你可以安裝 manpages-LANG 包來獲得本地化 man 手冊頁信息。從 "/usr/share/man/it/" 來讀取 programname 意大利語的 man 手冊頁 ,執(zhí)行下面的操作。

LANG=it_IT.UTF-8 man programname

通過 $LANGUAGE 環(huán)境變量,GNU gettext 能夠適應(yīng)翻譯語言的優(yōu)先級列表。例如:

 $ export LANGUAGE="pt:pt_BR:es:it:fr"

獲取更多信息,參見 info gettext ,閱讀 "The LANGUAGE variable" 章節(jié)。

8.1.5. 語言環(huán)境的影響

sort(1) 的字符排序,受 語言環(huán)境的影響. 西班牙語和英語語言環(huán)境排序是不一樣的。

ls(1) 的日期格式受語言環(huán)境影響. "LANG=C ls -l" 和 "LANG=en_US.UTF-8" 的日期格式是不一樣的(參見 第 9.3.4 節(jié) “定制時間和日期的顯示”).

不同語言環(huán)境的數(shù)字標(biāo)點不一樣.比如說,英語語言環(huán)境中, 一千點一顯示為 "1,000.1",而在德語語言環(huán)境中,它顯示為 "1.000,1". 你可以在電子表格程序里面看到這個不同。

"$LANG" 環(huán)境變量的每一個細節(jié)特征能夠通過設(shè)置 "$LC_*" 變量來覆蓋。這些環(huán)境變量又能夠通過設(shè)置 $LC_ALL"變量而被再次覆蓋。細節(jié)參見 locale(7) man 手冊頁。除非你有強烈的理由創(chuàng)建復(fù)雜的配置,請遠離他們并只使用 "$LANG" 變量來設(shè)置一個 UTF-8 語言環(huán)境。

8.2. 鍵盤輸入

8.2.1. Linux 控制臺和 X 窗口的鍵盤輸入

Debian 系統(tǒng)可以使用 keyboard-configurationconsole-setup 軟件包配置多個國際化鍵盤布局。

# dpkg-reconfigure keyboard-configuration
# dpkg-reconfigure console-setup

對于 Linux 控制臺和 X 窗口系統(tǒng),這將更新在 "/etc/default/keyboard" 和 "/etc/default/console-setup" 里的配置參數(shù)。這個也會配置 Linux 控制臺字體。許多非 ASCII 字符,包括許多歐洲語言使用的重音字符,可以使用 死鍵、AltGr 鍵 和 組合鍵 來輸入它們。

8.2.2. Wayland 鍵盤輸入

Wayland 桌面系統(tǒng)上的 GNOME, 第 8.2.1 節(jié) “Linux 控制臺和 X 窗口的鍵盤輸入” 不支持非英語的歐洲語言。IBus 不僅支持亞洲語言,也支持歐洲語言。GNOME 桌面環(huán)境的軟件包依賴關(guān)系通過"gnome-shell"推薦"ibus" 。"ibus" 的代碼已經(jīng)更新集成 setxkbmap 和 XKB 選項功能。對多語言鍵盤輸入,你需要從 "GNOME Settings" 或 "GNOME Tweaks" 配置 ibus

注意

如果 ibus 激活,即使在基于傳統(tǒng)的 X 的桌面環(huán)境下,通過 setxkbmap 配置的傳統(tǒng)的 X 鍵盤,也會被 ibus 覆蓋。你能夠禁用安裝的 ibus,使用 im-config 設(shè)置輸入法為"None"。更多信息,參見 Debian 維基:鍵盤。

8.2.3. IBus 支持的輸入法

因 GNOME 桌面環(huán)境通過"gnome-shell" 推薦"ibus","ibus"對于輸入法來說,是一個好的選擇。

輸入多種語言到應(yīng)用程序的處理流程如下:

Keyboard                                       Application
   |                                                 ^
   |                                                 |
   +-> Linux kernel ->  Input method (ibus)  -> Gtk, Qt, X, Wayland
                          +-- Engine--+

下面是 IBus 和它的引擎軟件包列表。

表 8.1. IBus 和它的引擎軟件包列表

軟件包 流行度 大小 支持的語言環(huán)境
ibus V:142, I:185 1598 使用 dbus 的輸入方式框架
ibus-mozc V:1, I:3 1008 日文
ibus-anthy V:0, I:1 8825 同上
ibus-kkc V:0, I:0 214 同上
ibus-skk V:0, I:0 244 同上
ibus-libpinyin V:0, I:2 2524 中文(zh_CN)
ibus-chewing V:0, I:0 422 中文 (zh_TW)
ibus-hangul V:0, I:2 288 韓文
ibus-table V:0, I:1 2009 IBus 表引擎
ibus-table-thai I:0 47 泰文
ibus-unikey V:0, I:0 318 越南語
ibus-m17n V:0, I:1 207 多語言:印度語、阿拉伯語和其它

注意

對于中文,"fcitx5" 可以是一個替代的輸入法框架。對于 Emacs 的狂熱愛好者,"uim"可以是一個替代。無論哪種方式,你可能需要用 im-config 做一些額外的手工配置。像 "kinput2"這類老的 輸入法 任然在 Debian 倉庫中存在,但是不推薦用到現(xiàn)代環(huán)境中。

8.2.4. 一個日語的例子

我發(fā)現(xiàn)在英語環(huán)境("en_US.UTF-8")下啟動日文輸入法非常有用. 下面是在 Wayland 上的 GNOME下使用 IBus 的做法:

  1. 安裝日文輸入法軟件包 ibus-mozc(或 ibus-anthy ),以及 im-config 等推薦的軟件包。

  2. 選擇 "Settings" → "Keyboard" → "Input Sources" → 在"Input Sources"中單擊 "+" → "Japanese" → "Japanese mozc (or anthy)", 然后單擊"Add"。如果它沒有被激活。

  3. 你可以選擇許多輸入源。

  4. 重新登錄用戶賬戶。

  5. 右鍵單擊 GUI 工具條圖標(biāo),設(shè)置每一個輸入源。

  6. 使用 SUPER-SPACE 在安裝的輸入法之間進行切換. (SUPER 鍵通常是 Windows 鍵.)

提示

如果你希望在日本物理鍵盤(shift-2 按鍵刻有有一個" 雙引號標(biāo)記 )上訪問只有字母表的鍵盤環(huán)境,在上面的過程中選擇 "Japanese" 。你能夠在物理的“US”鍵盤(shift-2 按鍵刻有有一個 @ 標(biāo)記)上使用"Japanese mozc (或 anthy)"輸入日文。

  • im-config(8) 的用戶界面菜單入口是 "Input method"。

  • 此外,從用戶的 shell 來執(zhí)行 "im-config" 。

  • 如果命令從 root 賬戶或 非 root 賬號執(zhí)行,im-config(8) 表現(xiàn)會有所不同。

  • im-config(8) 讓最佳的輸入法作為系統(tǒng)默認而不需要用戶干預(yù)。

8.3. 顯示輸出

Linux 控制臺只能顯示有限的字符。(你需要使用特殊的終端程序,例如 jfbterm(1),從而在非 GUI 控制臺中顯示非歐洲語言。)

只要需要的字體安裝并被啟用,GUI(圖形用戶界面)環(huán)境(第 7 章 GUI(圖形用戶界面)系統(tǒng))能夠顯示任意 UTF-8 字符。(原始字體數(shù)據(jù)的編碼會被處理,并對用戶來說是透明的。)

8.4. 東亞環(huán)境下寬度有歧義的字符

在東亞語言環(huán)境下,方框繪制、希臘字符和西里爾字符可能會顯示得比你預(yù)期的樣子更寬,這樣會導(dǎo)致終端輸出排列不再整齊(參見 Unicode 標(biāo)準(zhǔn)附錄 #11)。

您可以繞過這個問題:

  • gnome-terminal:首選項 → 配置文件 → 配置名 → 兼容性 → 寬度有歧義的字符 → 窄

  • ncurses:設(shè)置環(huán)境變量 export NCURSES_NO_UTF8_ACS=0


當(dāng)前文章:【Debian參考手冊】第?8?章?國際化和本地化
網(wǎng)站地址:http://www.5511xx.com/article/dhdeeii.html