本建议来源于本人近期的翻译工作,并参考了身边一些人的意见。希望大家讨论。如果没有什么问题的话,今后我如果有时间大规模翻修现有 CLI 程序的翻译的话,就按此统一格式了。
【冒号】 冒号左边的分句如果完全由英文和数字组成,则使用英文冒号,冒号后如有空格应该保留。如果冒号左边的分句含有中文字符,则使用中文冒号。 举例和理由: “-bash: foo: 未找到命令” 冒号离左边的字符比较近,并且中文冒号一般比英文冒号高。如果用中文冒号的话不太美观,感觉和右边的中文是一个整体,和左边的英文脱离。一般冒号都是和左边的字符串一起打印的("%s:"),跟随左边字符串的语言也比较合理。更别说目前的情况是一个英文一个中文(-bash: foo:未找到命令)。 “无法打开设备文件 /dev/sda:权限不够” 因为左边是一个中文句子,虽然冒号前面是英文字符,但还是使用中文冒号。 “test.c:1:10: 致命错误:foo.h: 没有那个文件或目录” 如果在 10 的后面用中文冒号的话就不太和谐了,因为前面两个冒号是分隔符,后面也没有空格,是不宜替换为中文冒号的,于是就会出现“test.c:1:10:”这种情况。 【引号】 最外层的引号不论原文如何,均使用 ASCII 双引号“"”。内层按照中文规则交替使用 ASCII 单引号和双引号。引号外侧如有空格应该保留(和中文标点之间没有空格)。 理由: 英文等宽字体基本上都自带引号。由于英文圆引号和中文引号是同一编码,字体选择英文等宽字体时,就算让翻译者改变打字习惯,在引号外侧加空格,也难以模拟中文引号的效果(比如内部是中文时引号高度太矮,或者引号形状像两撇而看起来明显是英文引号)。字体选择中文等宽字体时(特指 Noto Sans Mono CJK,文泉驿除外),则会因为字体内引号占两格而终端认为占一格而引起显示问题。所以最简单的方法就是使用 ASCII 引号。 根据 GNU style[1],没有说明单引号和双引号在使用条件上有什么区别,所以原文使用单引号应当是英语也可在最外层使用单引号所引起,所以除非原文中双引号和单引号的引用明显有不同的含义,可以保留原文,否则都应替换成双引号。使用“`'”这种方式已经不再被 GNU 推荐,所以同理。例外:原文如果在引用双引号,比如 missing `"',显然译文用 """ 有可读性问题,可以保留原文或者用 '"'。 【括号】 括号内只有英文或数字时,使用英文括号,括号外侧如有空格应当保留(和中文标点之间没有空格)。括号内含有中文时,使用中文括号。 理由: 除非使用英文宽度严格是中文一半的等宽字体(如 Noto Sans Mono Extracondensed、Inconsolata、Ubuntu Mono、Iosevka),否则都是中文宽度小于英文两倍,终端中每个中文字符的右侧会有一些空白。如果在英文外侧用中文括号,效果就会类似于( foo),在中文外侧用英文括号,效果类似于 (你 好 ),也就是括号内字符到两侧括号的距离不相同。 [1] https://www.gnu.org/prep/standards/html_node/Quote-Characters.html Regards, Wenbin Lv -- 您收到此邮件是因为您订阅了 Google 网上论坛的“i18n-zh”群组。 要退订此群组并停止接收此群组的电子邮件,请发送电子邮件到[email protected]。 要在网络上查看此讨论,请访问 https://groups.google.com/d/msgid/i18n-zh/f283d324-1f3d-4007-b278-a9fb8588e23an%40googlegroups.com。
