Difference between revisions of "ZH/Translation PO File Approach"
From ADempiere
This Wiki is read-only for reference purposes to avoid broken links.
Line 1: | Line 1: | ||
− | = | + | =通往国际化翻译的自由之路= |
+ | |||
+ | ==什么是.po翻译文件格式== | ||
+ | * .PO是“Portable Object”的意思。PO文件是单纯的文本文件,可以被任何文本处理程序编辑。PO 文件用于翻译者在其中将待翻译(国际化)的字符串翻译为某种特定语言 。而且PO 文件跟使用的平台无关,比如可以把GNU /L inux 程序的PO 文件放到MicrosoftW indows操作系统里面去翻译好再拿回来使用,这也就是PO 的全名“Port2able Object”的含义。(注1) | ||
+ | |||
* po文档是目前开源软件的主流翻译模式。 | * po文档是目前开源软件的主流翻译模式。 | ||
* 无论采用哪一种翻译平台,采用.po文件的方式是现阶段国际上最为成熟的本地化翻译工具。 | * 无论采用哪一种翻译平台,采用.po文件的方式是现阶段国际上最为成熟的本地化翻译工具。 | ||
− | * . | + | * .po文件的使用原理的方法见 [[ZH/Translation PO File Approach Detail|通往本地化翻译的自由之路-深入探寻]]。 |
− | + | * 本文尚在编辑完善中,欢迎您的参与! | |
− | + | ||
− | + | ||
+ | ==总体设想== | ||
+ | * 把.xml文档转换为.po文件格式。 | ||
+ | * 翻译流程: | ||
+ | ** 原有.xml文档 -----> 未翻译的.po文档 -----> 已翻译的.po文档 -----> 已翻译的.xml文档 | ||
+ | ** (自动处理) (手工翻译或Launchpad协作翻译) (自动处理) | ||
==目前需要着手的工作== | ==目前需要着手的工作== | ||
− | + | # 自动处理.xml文件格式的工具。 | |
+ | # 已有中文翻译成果的整理。此项工作难度最大。 | ||
+ | |||
===.po文档的典型格式=== | ===.po文档的典型格式=== | ||
.po文档的典型格式是这样的, | .po文档的典型格式是这样的, | ||
+ | 在这里,我们结合ADempiere的实际应用,介绍.po的格式。 | ||
+ | ===原始.xml文件=== | ||
+ | * 假设有一个未翻译的原始.xml文件:untrans.xml | ||
+ | ** 内容摘自AD_Window_Trl_en_US.xml | ||
− | + | <pre> | |
− | # | + | |
+ | <adempiereTrl language="en_US" table="AD_Window"> | ||
+ | <row id="100" trl="Y"> | ||
+ | <value column="Name" original="Table and Column">Table and Column</value> | ||
+ | <value column="Description" original="Maintain Tables and Columns">Maintain Tables and Columns</value> | ||
+ | <value column="Help" original="The Table and Column Window defines all tables with their columns">The Table and Column Window defines all tables with their columns</value> | ||
+ | </row> | ||
+ | </adempiereTrl> | ||
+ | </pre> | ||
+ | |||
+ | ===转化为.po文件=== | ||
+ | * 转化为未翻译的文件:untrans.po,格式如下: | ||
+ | |||
+ | <pre> | ||
+ | #. id="100" | ||
+ | #: type: Name | ||
msgid "Table and Column" | msgid "Table and Column" | ||
msgstr "" | msgstr "" | ||
− | #. | + | #. id="100" |
− | + | #: type: Description | |
msgid "Maintain Tables and Columns" | msgid "Maintain Tables and Columns" | ||
msgstr "" | msgstr "" | ||
− | #. | + | #. id="100" |
− | + | #: type: Help | |
msgid "The Table and Column Window defines all tables with their columns" | msgid "The Table and Column Window defines all tables with their columns" | ||
msgstr "" | msgstr "" | ||
+ | |||
+ | </pre> | ||
==翻译方法== | ==翻译方法== | ||
Line 35: | Line 65: | ||
* 无论采用哪一种方式,经过翻译之后,最后po文件内容都是一致的,例如: | * 无论采用哪一种方式,经过翻译之后,最后po文件内容都是一致的,例如: | ||
− | + | ===翻译后的.po文件=== | |
− | # | + | * 文件名为: trans.po |
+ | |||
+ | <pre> | ||
+ | #. id="100" | ||
+ | #: type: Name | ||
msgid "Table and Column" | msgid "Table and Column" | ||
msgstr "表格和列" | msgstr "表格和列" | ||
− | #. | + | #. id="100" |
− | + | #: type: Description | |
msgid "Maintain Tables and Columns" | msgid "Maintain Tables and Columns" | ||
msgstr "维护表格和列" | msgstr "维护表格和列" | ||
− | #. | + | #. id="100" |
− | + | #: type: Help | |
msgid "The Table and Column Window defines all tables with their columns" | msgid "The Table and Column Window defines all tables with their columns" | ||
− | msgstr " | + | msgstr "这个 表格和列窗体 用于定义所有的表格和列" |
+ | </pre> | ||
+ | |||
+ | ===翻译后的xml文件=== | ||
+ | * trans.xml | ||
+ | |||
+ | <pre> | ||
+ | <adempiereTrl language="en_US" table="AD_Window"> | ||
+ | <row id="100" trl="Y"> | ||
+ | <value column="Name" original="Table and Column">表格和列</value> | ||
+ | <value column="Description" original="Maintain Tables and Columns">维护表格和列</value> | ||
+ | <value column="Help" original="The Table and Column Window defines all tables with their columns">这个 表格和列窗体 用于定义所有的表格和列</value> | ||
+ | </row> | ||
+ | </adempiereTrl> | ||
+ | </pre> |
Revision as of 08:10, 4 February 2010
Contents
通往国际化翻译的自由之路
什么是.po翻译文件格式
- .PO是“Portable Object”的意思。PO文件是单纯的文本文件,可以被任何文本处理程序编辑。PO 文件用于翻译者在其中将待翻译(国际化)的字符串翻译为某种特定语言 。而且PO 文件跟使用的平台无关,比如可以把GNU /L inux 程序的PO 文件放到MicrosoftW indows操作系统里面去翻译好再拿回来使用,这也就是PO 的全名“Port2able Object”的含义。(注1)
- po文档是目前开源软件的主流翻译模式。
- 无论采用哪一种翻译平台,采用.po文件的方式是现阶段国际上最为成熟的本地化翻译工具。
- .po文件的使用原理的方法见 通往本地化翻译的自由之路-深入探寻。
- 本文尚在编辑完善中,欢迎您的参与!
总体设想
- 把.xml文档转换为.po文件格式。
- 翻译流程:
- 原有.xml文档 -----> 未翻译的.po文档 -----> 已翻译的.po文档 -----> 已翻译的.xml文档
- (自动处理) (手工翻译或Launchpad协作翻译) (自动处理)
目前需要着手的工作
- 自动处理.xml文件格式的工具。
- 已有中文翻译成果的整理。此项工作难度最大。
.po文档的典型格式
.po文档的典型格式是这样的, 在这里,我们结合ADempiere的实际应用,介绍.po的格式。
原始.xml文件
- 假设有一个未翻译的原始.xml文件:untrans.xml
- 内容摘自AD_Window_Trl_en_US.xml
<adempiereTrl language="en_US" table="AD_Window"> <row id="100" trl="Y"> <value column="Name" original="Table and Column">Table and Column</value> <value column="Description" original="Maintain Tables and Columns">Maintain Tables and Columns</value> <value column="Help" original="The Table and Column Window defines all tables with their columns">The Table and Column Window defines all tables with their columns</value> </row> </adempiereTrl>
转化为.po文件
- 转化为未翻译的文件:untrans.po,格式如下:
#. id="100" #: type: Name msgid "Table and Column" msgstr "" #. id="100" #: type: Description msgid "Maintain Tables and Columns" msgstr "" #. id="100" #: type: Help msgid "The Table and Column Window defines all tables with their columns" msgstr ""
翻译方法
- 对于po文档,有两种方式进行翻译。
- 一是上传至翻译平台(如launchpad.net),在网站上完成翻译后导出。
- 二是直接在po文档中手工翻译。
- 无论采用哪一种方式,经过翻译之后,最后po文件内容都是一致的,例如:
翻译后的.po文件
- 文件名为: trans.po
#. id="100" #: type: Name msgid "Table and Column" msgstr "表格和列" #. id="100" #: type: Description msgid "Maintain Tables and Columns" msgstr "维护表格和列" #. id="100" #: type: Help msgid "The Table and Column Window defines all tables with their columns" msgstr "这个 表格和列窗体 用于定义所有的表格和列"
翻译后的xml文件
- trans.xml
<adempiereTrl language="en_US" table="AD_Window"> <row id="100" trl="Y"> <value column="Name" original="Table and Column">表格和列</value> <value column="Description" original="Maintain Tables and Columns">维护表格和列</value> <value column="Help" original="The Table and Column Window defines all tables with their columns">这个 表格和列窗体 用于定义所有的表格和列</value> </row> </adempiereTrl>