國際化 -- po/pot文件簡介

轉自 http://www.czug.org/plone/howto/diypo

 

關於Linux 國際化的基本知識, 可參考於明儉的文章 http://www.linuxforum.net/doc/i18n-new.html

Linux 用到的國際化工具: intltool

 

po是i18n翻譯的時候需要的翻譯文件。

 

I18N 是 internationalization 的縮寫形式,意即在 i 和 n 之間有 18 個字母,本意是指軟件的"國際化";與之類似,L10N 是 localization 的縮寫形式,意即在 l 和 n 之間有 10 個字母,本意是指軟件的"本地化"。

 

pot顧名思義,就是po的模版文件。定義好的格式和資源,翻譯的時候是要在空格等地方填入翻譯之後的內容即可。

下面是一個典型的pot文件的格式。

msgid ""
msgstr ""
"POT-Creation-Date: Mon May 2 00:46:04 2005/n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE/n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>/n"
"Language-Team: Silva i18n team <[email protected]>/n"
"MIME-Version: 1.0/n"
"Content-Type: text/plain; charset=UTF-8/n"
"Content-Transfer-Encoding: 8bit/n"
"Generated-By: zope/app/translation_files/extract.py/n"
"Language-Code: zh-cn/n"
"Language-Name: 簡體中文/n"
"Preferred-Encodings: utf-8/n"
"Domain: kupu/n"

#: /default/body.kupu:14
msgid "Kupu Editor Test Page"
msgstr ""

上面有幾點注意的是Language-Code、Language-Name、Preferred-Encodings、Domain。
在原始的pot文件裏面可能沒有上面這4個項目,如果沒有的話請自行添加。
Language-Name用於在zope的控制面板裏面顯示語言的名稱,而一般的編碼則採用UTF-8。
Domain是用來指定這個po文件應用的域,一定要寫上,否則po文件不會生效的。

下面就是po文件的主體結構了。每一個翻譯項佔一段。

#: /default/body.kupu:14 註釋。一般用來說明該段翻譯項所應用的地方。本例說明在/default/body.kupu文件的第14行。
msgid "Kupu Editor Test Page" 消息ID,用來標示將被翻譯的消息。
msgstr "" 消息字符串,用來寫翻譯後的文字。

翻譯後將是下面這樣:

#: /default/body.kupu:14
msgid "Kupu Editor Test Page"
msgstr "Kupu編輯器測試頁面"

以此類推,即可完成所有資源的翻譯了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章