版權歸原作者所有,如有侵權,請聯(lián)系我們

[科普中國]-I18N

科學百科
原創(chuàng)
科學百科為用戶提供權威科普內容,打造知識科普陣地
收藏

i18n(其來源是英文單詞 internationalization的首末字符i和n,18為中間的字符數(shù))是“國際化”的簡稱。在資訊領域,國際化(i18n)指讓產品(出版物,軟件,硬件等)無需做大的改變就能夠適應不同的語言和地區(qū)的需要。對程序來說,在不修改內部代碼的情況下,能根據(jù)不同語言及地區(qū)顯示相應的界面。 在全球化的時代,國際化尤為重要,因為產品的潛在用戶可能來自世界的各個角落。通常與i18n相關的還有L10n(“本地化”的簡稱)。

介紹在信息技術領域,國際化與本地化(英文:internationalization and localization)是指修改軟件使之能適應目標市場的語言、地區(qū)差異以及技術需要。

國際化是指在設計軟件,將軟件與特定語言及地區(qū)脫鉤的過程。當軟件被移植到不同的語言及地區(qū)時,軟件本身不用做內部工程上的改變或修正。本地化則是指當移植軟件時,加上與特定區(qū)域設置有關的信息和翻譯文件的過程。

國際化和本地化之間的區(qū)別雖然微妙,但卻很重要。國際化意味著產品有適用于任何地方的“潛力”;本地化則是為了更適合于“特定”地方的使用,而另外增添的特色。用一項產品來說,國際化只需做一次,但本地化則要針對不同的區(qū)域各做一次。這兩者之間是互補的,并且兩者合起來才能讓一個系統(tǒng)適用于各地1。

基于他們的英文單字長度過長,常被分別簡稱成i18n(18意味著在“internationalization”這個單字中,i和n之間有18個字母)及L10n。使用大寫的L以利區(qū)分i18n中的i和易于分辨小寫l與1。

背景信息眾所周知,計算機技術發(fā)源于英語國家,英語也因此成為世界范圍內程序員的通用語言,許多優(yōu)秀的編程語言、開發(fā)工具、文檔都是英文版,導致許多軟件開發(fā)者習慣首先開發(fā)英文版本,根據(jù)需要,再把軟件界面和文檔翻譯成不同國家、地區(qū)的語言版本。

但是由于實現(xiàn)翻譯的途徑、翻譯的工作效率、翻譯的可重用性等因素各不相同,使翻譯工作面臨很大困境,也阻礙了軟件的推廣和應用。

為了方便地將軟件翻譯成不同語言的版本,需要一套翻譯規(guī)范和通用工具,這就導致了“國際化”機制的出現(xiàn)。

僅僅翻譯是不夠的,同一種語言在不同國家、地區(qū)可能存在多個支系,它們在表達習慣、語法結構甚至文字種類和編碼上都有不同,方言更是千奇百怪,通用的翻譯其質量肯定是不高的。涉及到計算機領域,還存在操作習慣上的差別,而且對某種語言提供完美的輸入、顯示、打印、保存、傳輸并非一件輕而易舉的事,這就導致了“本地化”機制的出現(xiàn)。

國際化是指在設計軟件時,將軟件與特定語言及地區(qū)脫鉤的過程。當軟件被移植到不同的語言地區(qū)時,軟件本身不用做內部工程上的改變或修正。本地化則是指當移植軟件時,加上與特定區(qū)域設置有關的資訊和翻譯文件的過程。 國際化和本地化之間的區(qū)別雖然微妙,但卻很重要。國際化意味著產品有適用於任何地方的潛力;本地化則是為了更適合於特定地方的使用,而另外增添的特色。用一項產品來說,國際化只需做一次,但本地化則要針對不同的區(qū)域各做一次。 這兩者之間是互補的,并且兩者結合起來才能讓一個系統(tǒng)適用於各地。

簡而言之,“國際化”是“本地化”的一部分,主要是指國際化的實現(xiàn)機制和翻譯工作, “本地化”包含“國際化”,是對“國際化”的補充和完善,它還包括為實現(xiàn)對某種特定語言良好的支持而進行的有針對性的翻譯調整以及對軟件進行的打補丁工作。

在如微軟及IBM等企業(yè)中,則會使用全球化(globalization)來表示此兩者的合稱。在英文中,也會使用 g11n做為簡稱。

隨著全球經濟的一體化,軟件開發(fā)者開發(fā)出支持多國語言、國際化的應用是一種趨勢。對于Web應用來說,同樣的頁面在不同的語言環(huán)境下需要顯示不同的效果。也就是說,一個Web應用程序在運行時能夠根據(jù)客戶端請求所來自的國家和語言顯示不同的用戶界面。

國際組織i18n 和 L10n 的國際組織是 Openi18n 組織,其前身是 li18nux 組織。它原來是制定GNU/Linux 自由操作系統(tǒng)上軟件全球化標準的國際計劃,后來擴充到GNU/Linux 之外所有開放源代碼的技術領域,因而更名為 Open Internationalization Initiative,由非營利組織 Free Standards Group 贊助,并為世界各大廠商所支持,對于GNU/Linux 系統(tǒng)上的多國語言文字處理技術和環(huán)境有決定性的影響。各個開源軟件開發(fā)組織通常都有負責“國際化”和“本地化”工作的分支機構。

i18n 主要使用 gettext 軟件包使軟件實現(xiàn)國際化支持。事實上它是一整套 i18n解決方案?,F(xiàn)在開源程序中普遍通過分離語言文件 ,然后通過 gettext 軟件包來實現(xiàn)國際化發(fā)展。

范圍國際化與本地化工作的焦點包括:

語言

電子文件

字母。目前大部分的系統(tǒng)都采用統(tǒng)一碼為標準來解決字符編碼。

不同的數(shù)字命名系統(tǒng)。

書寫方向。譬如德語是從左到右,而波斯語、希伯來語和阿拉伯語是由右到左。

相同語言在不同地區(qū)的拼法差異,如美國英語、加拿大英語使用localization,而英國英語和澳大利亞英語使用localisation。

文件處理上的差異,如某些文字存在大小寫,其它則否。字母順序。

文字的圖像表示(列印物、內含線上圖片)。

讀法(音頻)

視頻的字幕

文化

圖片和顏色:這牽涉到理解和文化適宜的議題。

名字和稱謂

政府給定的編碼(如美國的社會安全碼,英國的National Insurance number,愛沙尼亞的Isikukood及其它各國的身份證號碼)和護照

電話號碼、地址和國際郵遞區(qū)號

貨幣 (符號、貨幣標志的位置)

度量衡

紙張大小

書寫習慣

日期跟時間的格式,包含各式日歷。

時區(qū)(在國際場合會使用世界標準時間)

數(shù)字格式(小數(shù)點、分隔點的位置、分隔所用的字符)

產品和服務所要面向的法規(guī)

只屬于本地化的主題有:

翻譯

針對特定語言(如東亞語言)的特別支持

符合當?shù)亓晳T

符合當?shù)氐牡赖掠^念

針對當?shù)刈珜憙热?/p>

符號

排序方法

美學

當?shù)氐奈幕瘍r值和社會環(huán)境

困難開發(fā)軟件時,國際化和本地化對開發(fā)者是一個有挑戰(zhàn)性的任務,特別是當軟件當初設計時沒有考慮這個問題時。通常作法是將文本和其他環(huán)境相關的資源與程序代碼相分離。這樣在理想的情況下,應對變化的環(huán)境時無需修改代碼,只要修改資源,從而顯著簡化了工作。

開發(fā)團隊需要了解其他語言和文化,而這樣的人才可能難以尋覓。而且資源的復制也可能成為維護的惡夢。例如,如果某個語言中顯示給用戶的信息變化了,其他的翻譯版本都要隨之變化。Gettext之類軟件庫有助于解決這一問題。

由于自由軟件自由地修改和再分發(fā),因此它比較容易國際化。當KDE擁有70個語言版本時,大多數(shù)專有軟件只能夠用于商業(yè)上有利可圖的語言。

區(qū)域設置計算機中一套定義用戶的語言、國家和用于定義用戶希望在其用戶界面上看到的各種可以改變的選擇的參數(shù)集合。通常一個locale標識符至少包括一個語言標識符和一個區(qū)域標識符。

在UNIX和WINDOWS中,locale的控制是不同的。在UNIX下,通常通過環(huán)境變量來控制locale。這些環(huán)境變量包括:LC_ALL, LC_CTYPE, LC_TIME, 等等。你可以通過改變這些環(huán)境變量來控制你的程序或者命令所表現(xiàn)出來的locale,前提是這些程序或者命令必須是已經被國際化的和本地化的。在Windows下,你可以通過改變控制面板上的“語言/區(qū)域”中的區(qū)域的值來設定Windows的當前用戶的locale。

與全球化的關系

國際化有時與 全球化 交替使用以描述聯(lián)系日益緊密的世界的經濟與文化影響。

國際化經常(特別是在軟件中)指提供一個用于多語言的框架,有時也指事物(機構、理念)可以藉此影響多個民族的過程。 此時很少使用全球化,因為它一般指機構和產品出現(xiàn)與世界各地(同時也引起了對本地化的需求)。

本地化可能用于描述貼近最終用戶以減小全球化的環(huán)境和其他副作用。

其它除了i18n,L10n(localization),g11n(globalization),還有m17n(multilingualization),區(qū)別是:

i18n支持多種語言,但是同一時間只能是英文和一種選定的語言,例如英文+中文、英文+德文、英文+韓文等等;

L10n(localization),支持2種語言,英文和另外一種語言(例如中文);

g11n(globalization),簡單的理解可以認為g11n = i18n + L10n。

m17n(multilingualization)可以在同一時間支持多種語言,例如你可以在一個頁面里看到中文、英文、德文和韓文。

本詞條內容貢獻者為:

閆曉東 - 副教授 - 中央民族大學信息工程學院