Ⅰ 什麼是PO文件
屬於L10n方案。「po」是: Portable Object(可跨平台對象)的縮寫。po與mo模式的轉變過程PO是 Portable Object (可移植對象)的縮寫形式;MO是 Machine Object (機器對象) 的縮寫形式。 PO 文件是面向翻譯人員的、提取於源代碼的一種資源文件。當軟體升級的時候,通過使用 gettext 軟體包處理 PO 文件,可以在一定程度上使翻譯成果得以繼承,減輕翻譯人員的負擔。MO 文件是面向計算機的、由 PO 文件通過 gettext 軟體包編譯而成的二進制文件。程序通過讀取 MO 文件使自身的界面轉換成用戶使用的語言。 GNUgettext 是一個軟體包,是為了使軟體實現國際化支持而產生的。 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 軟體包使軟體實現國際化支持。