什麼是po檔案?

aaronchan1028發表於2012-03-26


原文出處:hi.baidu.com/greatdnl/blog/item/cecdcce9636c3d3ab90e2d34.html



什麼是po檔案?

po檔案是GNU gettext專案的一套應用規範。屬於L10n方案。“po”是: Portable Object(可跨平臺物件)的縮寫。po與mo模式的轉變過程

PO 是 Portable Object (可移植物件)的縮寫形式;
MO 是 Machine Object (機器物件) 的縮寫形式。
PO 檔案是面向翻譯人員的、提取於原始碼的一種資原始檔。當軟體升級的時候,通過使用 gettext 軟體包處理 PO 檔案,可以在一定程度上使翻譯成果得以繼承,減輕翻譯人員的負擔。MO 檔案是面向計算機的、由 PO 檔案通過 gettext 軟體包編譯而成的二進位制檔案。程式通過讀取 MO 檔案使自身的介面轉換成使用者使用的語言。

GNU gettext 是一個軟體包,是為了使軟體實現國際化支援而產生的。

I18N 是 internationalization 的縮寫形式,意即在 i 和 n 之間有 18 個字母,本意是指軟體的“國際化”.

L10N 是 localization 的縮寫形式,意即在 l 和 n 之間有 10 個字母,本意是指軟體的“本地化”。

按照軟體開發的慣例,最初的軟體只有英文版本,根據需要,作者再把軟體介面和文件翻譯成不同國家、地區的語言版本。但是由於實現翻譯的途徑、翻譯的工作效率、翻譯的可重用性等因素各不相同,使翻譯工作面臨很大困境,也阻礙了軟體的推廣和應用。為了方便地將軟體翻譯成不同語言的版本,就需要一套翻譯規範和通用工具,這就導致了“國際化”機制的出現。僅僅翻譯是不夠的,同一種語言在不同國家、地區可能存在多個支系,它們在表達習慣、語法結構甚至文字種類和編碼上都有不同,方言更是千奇百怪,通用的翻譯其質量肯定是不高的。涉及到計算機領域,還存在操作習慣上的差別,而且對某種語言提供完美的輸入、顯示、列印、儲存、傳輸並非一件輕而易舉的事,這就導致了“本地化”機制的出現。簡而言之,“國際化”是“本地化”的一部分,主要是指國際化的實現機制和翻譯工作, “本地化”包含“國際化”,是對“國際化”的補充和完善,它還包括為實現對某種特定語言良好的支援而進行的有針對性的翻譯調整以及對軟體進行的打補丁工作。

I18N 和 L10N 的國際組織是 Openi18n 組織,其前身是 li18nux 組織。它原來是制定 GNU/Linux 自由作業系統上軟體全球化標準的國際計劃,後來擴充到 GNU/Linux 之外所有開放原始碼的技術領域,因而更名為 Open Internationalization Initiative,由非營利組織 Free Standards Group 贊助,併為世界各大廠商所支援,對於 GNU/Linux 系統上的多國語言文書處理技術和環境有決定性的影響。各個開源軟體開發組織通常都有負責“國際化”和“本地化”工作的分支機構。ajax

I18N 主要使用 gettext 軟體包使軟體實現國際化支援。事實上它是一整套 I18N 解決方案。


相關文章