国际化 -- 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 /n"
"Language-Team: Silva i18n team /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编辑器测试页面"

以此类推,即可完成所有资源的翻译了。

你可能感兴趣的:(国际化 -- po/pot文件简介)