本帖最后由 Jiaowen520Li 于 2013-7-11 15:46 编辑
“Launchpad上提交翻译建议” 是 社区爱好者 贡献翻译给Ubuntu/UbuntuKylin的方式之一,为了翻译的规范性,特转载此 翻译“格式要求”,希望对大家有用!O(∩_∩)O~
以下内容来源
Ubuntu 简体中文小组工作指南
01 特殊字符
1.1 转义字符和取消转义
标准 gettext 格式中的转义字符同 C 语言中的基本相同,常用的有以下两个:
· \n 换行
· \t 水平制表符
您不需要将同样数量的格式标记放在翻译中,但是如果它们之一有在原文开始或者结束位置的时候,您必须在翻译中使之包含在对应的开始或者结束之处。
如果要显示非转义字符,则需要使用 \ 来表明取消转义,如 " (半角双引号)在 PO 文件中表示字符串的开始或者结束,如果要在内容中使用该符号,则需输入 \",还可以参考以下例子:
\"\\t\" 在运行时显示的结果是:
"\t"
1.2 TRUE 和 FALSE
“TRUE”和“FALSE”多出现于 gtk+ 和 Gconf,以及很多 Glade 所生成的文件中(这些文件以 .glade 为文件名结尾),不要翻译它们。如果程序找不到它们,将会出现问题。
02 标点的使用
一般的原则是:除了小括号、省略号和破折号保留不变以外,都应该使用中文(全角)标点符号。英文标点符号后方常常跟随有一个半角空格,请在翻译成中文标点符号时将其去除。
1) 英文中的 , 在中文中可能是 ,或者 、
2) 英文中的 . 在中文中应该是 ,或者 。,视上下文而定,多数是 。
3) 英文中的 \"%s\" 在 GUI 程序中应该翻译为 “%s”, 而不是 \"%s\" 或者 \“%s\”,而且后者是不符合换码序列要求的。即在 GUI 程序中`something' 和 'something' 以及 \"something\" 都应该翻译为 “某事”
4) 英文中的 \"%s\" 在 CLI 程序中应保持为 \"%s\",因为全角引号在文本界面下显示不够美观,所以使用半角双引号,即在 CLI 程序中`something' 和 'something' 以及 \"something\"都应译作\"某事\"
5) 英文中的 : 应该翻译为:(全角)而不是 : (半角), 而作为分隔符时(例如时间),: 保留为英文(半角)的, 因为这个时候不是标点符号
6) 英文中的 ( ) 应该保持不变。由于全角小括号( )很难看,也占地方,所以一律使用半角小括号 ( )
7) 英文中的 ... 应该保持不变。由于翻译的时候常常难以分清哪些条目是菜单项,哪些条目是一般语句,而后者才能使用中文的省略号 ……,所以现在统一翻译为 ...
8) 英文中的 -- 应该保持不变。由于全角破折号 —— 兼容性不好,有时显示为两个方格,所以不再使用。
9) 遇到 %q 标记的时候,代表此标记显示的是一段引用内容,程序运行时将自动在其两端加上双引号,故不需另加引号。
03 关于空格
为了美观,通常建议在中文与英文、中文与阿拉伯数字、英文与阿拉伯数字之间加入一个半角空格。例如:
英文:Installing driver for %1中文:正在安装 %1 的驱动程序
英文:
Parameter start_num specifies the character at which to start the search.
The first character is character number 1. If start_num is omitted, it is
assumed to be 1.
中文:
参数 start_num 指定开始搜索的字符位置。第一个字符序号为 1。如果省略 "
"start_num,默认它为 1。"
不过,有时候有例如:“2013年6月5日”的视觉效果就比“2013 年 6 月 5 日”好。
对于 CLI (命令行界面) 程序,使用 monospace 等宽字体的场合:
原意见:因为文本界面字体显示的原因,一般推荐汉字后接英文时不留空格,英文后接汉字时留一个空格,在显示的时候不会因为英文前后都有空格而造成英文前面的空余空间远大于后面造成的不美观。
新意见:原意见汉字夹着英文,英文前不留空格,英文后加空格,结果英文跟前面的中文粘在一起,容易造成视觉上的混淆,而且英文两边空间不对称,那样的不对称会造成不美观。强烈建议不要为 CLI 程序制定这样前后不一致的特例。例如:
英文:"Set LC_ALL='C' to work around the problem."
中文:请设置LC_ALL='C' 以避免出现问题。 原意见,不推荐
中文:请设置 LC_ALL='C' 以避免出现问题。 新意见,推荐改用。
· 原意见:对于半角小括号,其两侧不加空格:
· 新意见:对于半角小括号,其两侧与文字之间要加空格,但翻译快捷键时则不加空格:
英文:Original idea and author (KDE1)
中文:原始创意和作者 (KDE1)
· 原意见:对于全角双引号,其两侧不加空格:
· 新意见:在现代的 Linux 系统里,因为优先以英文字体优先,双引号 (U+201C 和 U+201D) 只会以标准的半角形式显示出来,而在较旧 CJK 字体里的非标准的“全角双引号”,用户几乎没机会见到了。如果是这样,也许我们需要在按照上下文情况,在适当情况下在开引号前和关引号后添加空格。
例1:默认显示:
英文:
The APM Management subsystem seems to be disabled.\n
Try executing \"apm -e 1\" (FreeBSD) and see if \n
that helps.\n
中文:
APM 管理子系统似乎被禁用了。试试执行“apm -e 1”(FreeBSD) 并看看是否有用。\n
APM 管理子系统似乎被禁用了。试试执行 “apm -e 1” (FreeBSD) 并看看是否有用。\n
例2:强制设置 lang="zh-Hans" style="font-family: AR PL UMing CN, 宋体" 避开英数字体:
英文:
The APM Management subsystem seems to be disabled.\n
Try executing \"apm -e 1\" (FreeBSD) and see if \n
that helps.\n
中文:
APM 管理子系统似乎被禁用了。试试执行“apm -e 1”(FreeBSD) 并看看是否有用。
APM 管理子系统似乎被禁用了。试试执行 “apm -e 1” (FreeBSD) 并看看是否有用。
04 菜单项中快捷字符
快捷字符一律使用大写字母,用小括号括起来放到菜单文字的后面(如果有标点符号则放在标点符号的前面)。在 KDE 中,菜单快捷字符的前缀是“&”;在 GNOME 中,菜单快捷字符的前缀是“_”。但是如果翻译保留了原文的英文单词或阿拉伯数字,且该单词或数字正好是快捷键所在的单词或数字时,应保留原文的快捷键方式(如下面的第二、四个例子)。这里举几个例子:
KDE 菜单:
英文:C&lear
中文:清除(&L)
英文:&Glimmer Editor
错误:Glimmer 编辑器(&G)
中文:&Glimmer 编辑器
GNOME 菜单:
英文:_Setup...
中文:设置(_S)...
英文:Get _CDDB Now
错误:现在读取 CDDB(_C)
中文:现在读取 _CDDB
注意:以下情况的翻译有点特别。由于“复制”和“剪切”均为“编辑”菜单的条目,只有这样翻译才能保证显示正确!
英文:/_Edit
中文:/编辑(_E)
英文:/Edit/C_opy
中文:/编辑(E)/复制(_O)
英文:/Edit/C_ut
中文:/编辑(E)/剪切(_U)
05 翻译中参数的位置
有时候原来的参数顺序不符合中文的语法,一方面,翻译可以通过调整副词、语序等手法来符合中文习惯,另外一方面,在必要的情况下,需要改变参数的位置,例如在 KDE 中:
英文:%1 articles match rule %2
中文:匹配规则 %2 的文章有 %1 个
如果是在 GNOME 中则应该这样写:
英文:%d articles match rule %d
中文:匹配规则 %2$d 的文章有 %1$d 个
即用 1$、2$、3$ 等符号标明参数在原文里出现的位置。同时,任何一个参数的顺序进行了调整,则在这一句译文中所有参数都必须注明原文位置,否则无法通过格式检查。
06 注意注释
文件中有时会有给翻译者的注释,多数情况下会有“TRANSLATORS”字样提示。通常是对所翻译内容的解释和提示,请在翻译过程中留意。例如:
. TRANSLATORS: ls output needs to be aligned for ease of reading,
. so be wary of using variable width fields from the locale.
. Note %b is handled specially by ls and aligned correctly.
. Note also that specifying a width as in %5b is erroneous as strftime
. will count bytes rather than characters in multibyte locales.
当然,有一些文件内主要是地名或国家名,开发者会省略“TRANSLATORS”直接给出提示,例如:
. CN - China. (The official ISO 3166 short English name does
. not include "The People's Republic of".)
07 关于换行
对于很长的译文,就涉及到了换行问题。多数情况下没有限制,因为不影响最终的显示效果,只要阅读起来方便就行。下面几种格式都是正确的:
英文:
Preview failed: neither the internal KDE PostScript viewer (KGhostView) nor
any other external PostScript viewer could be found.
中文:
预览失败:找不到 KDE 内建的 PostScript 查看器(KGhostView)或其它外部
的 PostScript 查看器。
英文:
Preview failed: neither the internal KDE PostScript viewer (KGhostView) nor
any other external PostScript viewer could be found.
中文:
预览失败:找不到 KDE 内建的 PostScript 查看器(KGhostView)或其它外部的 PostScript 查看器。
英文:
Preview failed: neither the internal KDE PostScript viewer (KGhostView) nor
any other external PostScript viewer could be found.
中文:
预览失败:找不到 KDE 内建的 PostScript 查
看器(KGhostView)或其它外部
的 PostScript 查看器。
但是,如果有 c-format 等编程语言格式标记,或者原文中有强迫换行标记“\n”,那就要手工调整译文的换行,以便能最终正确地显示在程序界面上。原则是译文长度不大于原文长度,否则可能译文显示超出原有区域,或者译文后面部分被截去,很难看。对于含有 HTML 标记的长译文还需要在浏览器中预览显示效果(如果您了解 HTML 基本语法的话),酌情调整行宽。例如:
英文(c-format):
Error opening file '%s':\n
%s
中文(c-format):
打开文件“%s”出错:\n
%s
英文(c-format):
Parse a theme dir and generate a \n
gkrellmrc_ksim file that KSim will understand \n
better and exit.
中文(c-format):
解析一个主题目录生成 KSim 容易理解\n的 gkrellmrc_ksim 文件,然后退出。
多数 CLI 程序都需要手工设置换行,这个时候希望翻译者能够对翻译文件进行测试以确定每行到底应当放多少字符,尤其是翻译命令参数的时候,如果不对长句进行强制换行处理或者一味依照文本编辑器所显示的视觉上与英文原文长度相同,则很容易造成在程序实际运行中的格式非常难看。
08 关于对齐
对齐的问题通常出现在 CLI 程序的命令参数上,英文原文一般会使用空格进行对齐,但是空格并不能使得最终运行的程序在使用中文的情况下将文字正确对齐,所以应当使用制表符(Tab) 代替。制表符的对齐也不总是能在文本编辑器上所见即所得,也就是说在文本编辑器上已经对齐的行可能在实际运行时前后相差一个制表符的距离。
09 关于“translator-credits”字符串
“translator-credits”是放置程序运行过程中查看鸣谢信息时显示的翻译者条目,此项在 Launchpad 上为不可修改,只有在上游进行翻译时填写的条目才会在这里出现。
10 关于时间的译法
鉴于关于日期和时间的译法十分复杂,现在将国家标准中有关规定简要介绍一下,并给出推荐译法。
国标 GB/T 7408-94
《数据元和交换格式 信息交换 日期和时间表示法》
1994-12-06 发布,1995-08-01 实施 国家技术监督局发布
本标准等效采用国际标准 ISO 8601-1988《数据元和交换格式 信息交换 日期和时间表示法》
以下是最需要注意的几个要点:
1) 在日期格式中不能出现空格,即“2003 年”这样的格式是不符合国标的。
2) 表示日期时,必须按照年月日的顺序;年份一般用四位数字,而月、日必须使用带前导零的两位数字;必须使用“-”作为分隔符,或完全不使用分隔符。即“2004-01-03”或“20040103”来表示 2004年1月3日。
3) 表示时间时,时、分、秒都必须使用两位数字,中间用“:”(半角括号)分隔,或完全不使用分隔符。小时计法采用 24 小时制,不区分上下午。
时间的表示方法同 date 命令的表示方法,现将常见的几个对应其含义列表如下:
%% 一个 % 字符
%A 星期几(如“星期一”)
%B 月份(如“八月”)
%d 日期(00-31)
%D 日期,格式等于 %m/%d/%y (例如:08/25/09)
%F 日期,格式等于 %Y-%m-%d (例如:2009-08-25)
%g ISO-8601 格式年份的最后两位(例如:09)
%G ISO-8601 格式年份(例如:2009)
%H 小时(00-23)
%i 小时(00-12)
%m 月份(01-12)
%M 分钟(00-59)
%n 换行
%p 显示“上午”或者“下午”两个字
%S 秒(00-60)
%t 制表符
%T 时间,等于 %H:%M:%S
%x 日期(例如:12/31/99)
%X 时间(例如:23:13:48)
%y 年份的最后两位(例如:09)
%Y 年份(例如:2009)