« 三人成虎 | 返回首页 | 宗教与科学(转载) »

Lua 5.1 中文手册

前段时间安排同事工作时间翻译了 Lua 的参考手册 。当时的目的是想让翻译的人可以借翻译的机会深入了解这门语言。另外,其他人在查手册的时候也可以轻松一点。

事与愿违,这个中译本陆续经过了几个月的翻译和校对后,可读性依然欠缺。往往我需要去手册里查点东西的时候,都发现还不如直接看英文原版。中文译文读的晦涩倒是次要的,主要是一到关键点上就译的含糊不清,甚至有错误。

这倒符合我的观点,翻译技术资料,首先要求的是对原文的理解,然后是中文的组织水平,最后才是英文水平。

周末,我突然发神经,自己动手译了一下(其实起先只是想看看翻译这个篇幅的文档大约需要多少工时)。花掉两个半天敲了大约一万两千汉字,手都快抽筋了:)把最重要的一部分关于 Lua 语言的译完。

我想我的英文水平是很糟糕的,中文能力也不怎么样,不过满足翻译技术文档的第一要点:对 Lua 本身是很熟悉的。所以这个译本当是能看吧。

Lua 5.1 中文参考手册

很多技术术语我没有按标准译法来译,尽量用一些更通俗但是更繁杂的译法。大部分译词,如果我认为大家普遍能接受,就统一用中文译词,只在第一次出现时括号注明英文原文。例如:事件 (event) 、元方法 (metamethod)。

如果觉得译词不太能被大众接受,大部分地方保留英文,而在第一次出现的地方括号注明我认为合适的中文译法。例如 metatable (元表)、closure(闭包)。


2006年11月19日 凌晨: 手册的第三部分(C API)业已完成 :D

Comments

拿来参考,很有帮助,谢谢

拿来参考,很有帮助,谢谢

看了第一句话:Lua 是一个扩展式程序设计语言,它被设计成支持通用的过程式编程,并有相关数据描述的设施。
oh My Dog,我还是看英文版吧。

我已经在翻译了,并且将通过正规的图书出版渠道出版。敬请留意。

科普是很重要地,支持继续!

很想知道云风在什么公司

都看到第三章了,才发现是云风大哥翻译的~ 失敬失敬:-p

你比你同事厉害~

我检查了一下,是PIL不能被重新发布,手册没有这个限制.:)

笔者不才,设计了一个静态脚本语言csm,lua也是csm强有力的竞争对手,但是我认为在不远的将来,csm一定会超过lua,成为最适合嵌入到以C/C++为宿主语言的应用程序中去的脚本语言,请大家支持,网址是csm.zg66.com.

依稀记得你们在 maillist 上讨论过再发布手册的问题。

但是,我在 license 中没有看到关于这些的声明。

在 lua 的官方包里有一份 copyright 文件。注明了 lua 是遵循 MIT 许可证(应该是最自由的许可证了吧)发布的。原文摘录如下:

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

这里提到了 this software and associated documentation files 。也就是包括文档。

被授予的权利也包括了 distribute 。

至于 pil 的电子版,我就没有研究了。

提醒一下,根据www.lua.org的license申明,在他的网站以外任何地方以任何形式重新发布pil和manual都是不允许的。:)

正好刚才公司内部的 maillist 里有同事在讨论 lua 中 coroutine 的调试,发现有人对文档理解有误。回了个帖之后,我随便看了一下前译本 :D

原文:
The coroutine cannot be running a C function, a metamethod, or an iterator.

译文:
轻线程可以是一个运行的 C 函数, 一个元方法, 或者一个迭代器.

看完后冷汗直冒,幸亏没有把翻译成果拿出部门去 (._.!) 发现这种问题已经不是第一次了,每次我想查阅文档求证一些细节的时候,往往都不仅仅是言辞晦涩而已,大多数都是错误翻译。虽然已经数次看到提醒一下改过来,但是长久以往,已经失去了做这项工作的意义。

ps. 我认为正确的翻译(联系上下文):
这个时候, coroutine 不可以运行在一个 C 函数、元方法、或是迭代器中。

疑人不用,用人不疑这个道理我当然懂,而且老拿这个道理说其他人。前段时间公司管理层开会,我也就是拿这个事在会上吵 :D

不过就这件事来说,我的同事做翻译这个事情已经是大半年前,翻译完后不满意又退回去重新校对了好几次。终于我相信把这篇文档翻译好,绝对是找错了人。

一个人在译完了 lua 手册的全本后,还可以对这个语言的大多数细节茫然无知,我想译文的质量也不可能高过金山快译了。

"前段时间安排同事工作时间翻译了 Lua 的参考手册 。当时的目的是想让翻译的人可以借翻译的机会深入了解这门语言。另外,其他人在查手册的时候也可以轻松一点"

同事终要信赖,毕竟,越往后面,你关心的越是整体性的东西,如果没有很好的同事成长起来,也是你的罪过,呵呵.:)

呵呵,我倒没想通过翻译来学习 lua 语言。 Lua manual 和 programming in lua 的英文版很早都仔细拜读过了。

总感觉在自己动手之前,先看看是否有现成的物品会比较好。
关于LUA,网上有一个很好的译本,《programming in lua》,我就是看这本书学习的。

Post a comment

非这个主题相关的留言请到:留言本