读《JavaScript DOM高级程序设计》

Posted by admin | 译作支持, JavaScript, 原创, 好书 | 星期五 27 6月 2008 9:32 下午

没错,我现在又开始读这本书。虽然 《JavaScript DOM高级程序设计》的第一读者就是我,但我现在仍然要说:我要安排时间再通读它几遍!

好书啊,没办法。翻译一遍,还不够烦吗?——怎么会烦呢?尽管在翻译它时,我倾注的热情和努力已经够多,但我仍然感觉没有完全读透它!我读它读得还不够。

再读 《JavaScript DOM高级程序设计》,我体验到了什么叫享受。毫无疑问,就当前谈论和讲解JavaScript及DOM编程的技术书而言,这本书已经接近该领域的极高点了(其他几本我也知道,但在它面前只能算各有千秋吧)。读一本好书——不是入门级的书——尤其是像《JavaScript DOM高级程序设计》这样适合中高级读者的好书,读者的心态应该是与书背后的作者进行交流。在读它的过程中,跟着作者的思路去假设、去思考、去推断、去印证、去反问、去寻找答案,是之谓交流。我正是因为体验到与作者交流的愉悦,才想起来写这些文字。

事实上,老实说,我现在正抽一切可能的时间做《JavaScript DOM高级程序设计》的审校。书虽然已经出版了,但我自己深知,作为正式翻译的第5本书,我当时(2007年9~11月)的翻译水平还不够好——至少不如现在的状态;而且,对翻译技术书的认识也没有今天这么深入。现在,我已经看到第2章,也单独为它建立了勘误页面。虽然目前发现的错误很少,但却发现语言表达上犯了“的的不休”的毛病,也就是“的”字用得有点过度——这一点,请买第一次印刷的朋友们多多担待。不过,多余的“的”字,我在审校过程中都已经加了删除标记。在第二次印刷时,相信这个毛病就会得到全面、彻底纠正。

为此,我跟杨爽同学要了这本书的英文版,以便对照审校。

翻译一本技术书的起点在哪里?

Posted by admin | 翻译, 原创 | 星期一 16 6月 2008 9:13 下午

文前(致谢、前言、序、内容简介、目录、作者介绍)、正文、附录、封面封底文字,这些都可以作为开始翻译的起点。有没有人认真想过,从哪里下笔最合理、最有效呢?

其实,我的想法是先翻译目录。不过,这里所说的目录,并不限于每章的标题,而是指包含章标题在内的、1~3级,甚至4级标题——换句话说,不是Contents at a Glance,而是完整的Table of Contents。

我现在想到的原因主要有以下三点:

一、有助于了解全书内容结构

译者首先是读者。
读者最关心一本新书的目录,是因为通过目录可以对全书的组织结构和内容纲要一目了然。通过阅读和对照目录,能够时时处处确定自己正在阅读的内容在全书中所处的地位和份量。从而,可以加深对重点、关键内容的理解。

作为读者的译者,关心目录也理所当然。如果能够在翻译全书之前,先把目录翻译出来,放在手边(保存到另一个文件中),就可以像读者一样,对全书内容有一个较为全面、深入的了解。毕竟,标题都是每一章、每一节的灵魂所在呀!因此,通过翻译和查阅目录,对理解作者的原文、确立翻译的基调和提高译文准确性将会大有助益。

二、有助于术语和引用的统一

术语和引用的统一,是翻译技术书这种说明性文体的一项核心原则[注1]

一本书的目录部分少则10来页,多的可以达到10页、20页,甚至更多。这么多页的目录虽然只是章标题及各级标题的简单汇总,但其中包含的信息,却极为重要。而且,目录中几乎肯定会包含一些常见的、甚至不常见的术语。通过翻译目录事先敲定这些术语的译法,对放心大胆地推敲译文和阐发作者思想会很有帮助。另外,翻译目录时附带确定的章节编号(如:2.1或5.6.3),也有助于在翻译过程中,准确、统一地在译文中定位和使用交叉引用。

三、有助于提高翻译的效率

技术书的翻译是一项强调效率的工作,这一点与文学作品的精雕细琢不同。

如上所述,通过翻译目录能够事先敲定一本书中部分关键术语的译法,这样就可以避免翻译中多次返工(查找替换)的困扰——当然,如果翻译目录时敲定的术语不准确,返工也不可避免。并且,还不止是术语,单说一个简单标题的译法,同一译者在不同时间,就可能会给出两种不同译法。比如:“调试某某程序”和“某某程序的调试”,很可能是基于完全相同的原文。因为这种情况导致返工最没有价值,但这又是翻译过程中经常遇到、不易避免的问题。而通过事先建立并维护一份目录,就可以降低甚至避免这种人为的、无价值的返工,节省宝贵时间。另外,翻译目录时附带确定的章节编号已经有了,届时,只需直接从现成的目录文件中复制,然后粘贴到译稿中即可。

由此可见,从翻译完整的目录着手翻译一本技术书,有诸多优点。根据经验,翻译一本书的目录,少则1~2小时,多则也不过一半天时间,能够获得那么多好处,还是很值得的。更何况,这些内容的翻译到底也省不掉。即使不安排在最初来翻译,在逐章翻译过程中,也还是要“个个歼灭”的——而且,由于化整为零、“歼灭”时间跨度过大,反而埋下了前后不一致的隐患。

——————
[注1]译者常常忽视除术语之外的需要统一表达的要素,如:交叉引用、图题表题、表格相关列、API式文档说明、代码注释以及标点符号等。

《JavaScript DOM高级程序设计》出版

Posted by admin | 译作支持, 翻译, 原创 | 星期六 14 6月 2008 8:50 上午

http://images.china-pub.com/ebook35001-40000/39957/zcover.jpg

《JavaScript DOM高级程序设计》

【原 书 名】 AdvancED DOM Scripting:Dynamic Web Design Techniques
【原出版社】 friends of ED
【出 版 社】 人民邮电出版社
【出版日期】 2008 年7月
【页 码】 457
【定价】 59.00-75折价44.25

DOM(Document Object Model,文档对象模型)脚本编程经常会被误解为Web上的某种脚本编程,实际上,纯粹的DOM脚本编程只包括W3C DOM规范中所涵盖的特性和方法。也就是说,不包括任何专有浏览器的特性。在理想的世界里,我们可以遵循标准,忽略专有特性,最终完成可以在任何设备中运 行的脚本。但是,这不是一个理想的世界。众所周知,并非所有设备或浏览器都与W3C标准兼容,这就给像我们这样的开发者提出了问题:什么时候需要适应每一 种设备或浏览器,怎样才能保证忠实于W3C DOM?

当试图回答这些问题,以及在保持真正的DOM符合性基础上处理多浏览器时,我们萌生了写这本书的想法。本书不仅对以上问题给出了答案,而且还涉及到下列主题:
深入W3C DOM规范,并筛选出经常容易被误解的、仍然为非标准浏览器提供等价选项的细小问题。
进一步探讨新方法,例如Ajax客户端-服务器端通信,冲破Ajax的局限性以提供更具交互性的体验。
体验一些主要的第三方资源,通过它们省掉可观的日常工作量。
理解并创建自己日常所用的DOM方法库。

这 些能力的新发现也带来了许多诱惑。由于热衷于新特性而偏离了基本常识,导致Web应用程序设计模糊的DOM脚本编程的例子太多了。因而,纵贯全书作者都会 强调最佳实践的价值,并提供很多基于可用性和可访问性的解决方案,这样对最终用户和你--开发者或设计者而言,都是有益的。

你可以把这本书放在计算机旁作为参考,或者从头到尾读完它,这完全取决于你。无论采取哪种方式,只要你坚持学习完本书中的理论介绍、代码、例子和案例研究,就会深刻地发现自己已经很好地理解了书中那些高级概念的含义,不仅知其然,而且更知其所以然。

本书读者对象

本书适合对DOM感兴趣并希望进一步提升自己的所有Web开发者和设计者。通过本书通俗易懂的讲解,读者能够轻松地理解高级的DOM编程概念。如果读者对DOM脚本编程和Web标准有一些基本的经验,那么通过学习本书收获会更大。

本书组织方式

本书分为三个主要部分,通过学习全书内容,读者将能构建起属于自己的DOM实用方法库。书中的每一章都以前一章学习的概念为依托,因而本书的每一部分都是一个整体,每一章也并非完全独立。

第 一部分,“深入理解DOM脚本编程”,涉及W3C DOM规范的方方面面,包括非标准的浏览器支持和不支持的内容。从一开始就以最佳实践为榜样,然后你将了解到DOM2 HTML和DOM2核心规范,同时还有DOM2事件和DOM2样式规范。本部分中的每一章都会给出一些不针对特定浏览器(browser- agnostic)的例子。而且,你也将着手构建自己的脚本程序库,并往其中添加访问和操纵DOM、样式以及事件的各种方法。这些方法将不针对特定的浏览 器,因此你可以很容易地在公共方法(你将自己创建)的基础上建立自己的应用程序。第一部分最后的第六章将会完成一个案例学习,在这一章中,你将学会建立一 个交互式裁剪和调整图像大小的工具。

在介绍了操纵和访问文档的各个方面知识之后,第二部分,“浏览器外部通信”,将以Ajax和客户端- 服务器端通讯为主题。在这一部分中,作者没有停留在介绍简单的做法上,而是深入解释了相应的内部工作机制,同时,也没有忘记介绍整合Ajax 界面时可能遇到的麻烦。第二部分最后把这些技能用于实战检验,综合运用传统和当前的通讯方法,创建一个带有实时进度条的文件上传程序。

最 后,在第三部分,“部分高级脚本编程资源”中,作者集中介绍了一批第三方脚本编程资源,包括库和API(Application Programming Interfaces,应用程序编程接口)。你将在这一部分学习到如何利用主要的 DOM 脚本库来提高自己的开发效率,也包括使用一些视觉效果,为自己的 Web 应用程序添彩。同时,你还将学习如何通过可自由使用的API来整合交互式地图和项目管理工具。这些资源将为你提供高级编程能力,同时最大限度地减少你的重 复性工作--但只有在对第一和第二部分内容深入理解的基础上,才能更好地体会到这些资源的价值。本书以Aaron Gustafson撰写的一个案例学习作为结尾,这个案例把select元素提高到了一个全新的水平。

作者没有提供附录,而是向读者公布 了一个网站http://advanceddomscripting.com。在这个网站中,读者可以下载到本书的源代码和额外一些例子和参考文献。作者 将在这个网站中发布与DOM脚本编程相关的最新的重要消息,读者可以经常访问这个网站,以便与时俱进。

《jQuery基础教程》出版

Posted by admin | 译作支持, 翻译, 原创 | 星期六 14 6月 2008 8:36 上午

《jQuery基础教程》

《jQuery基础教程》

【原 书 名】 Learning jQuery: Better Interaction Design and Web Development with Simple JavaScript Techniques
【原出版社】 Packt Publishing
【出 版 社】 人民邮电出版社
【出版日期】 2008 年7月
【页 码】 295
【定价】 45.00-75折价33.75

    jQuery是一个强大的JavaScript库。无论你具有什么编程背景,都可以通过它来增强自己的网站。

    由John Resig创建的jQuery,是一个开源项目,其核心团队由富有献身精神的顶尖JavaScript开发人员组成。jQuery在一个紧凑的小文件中提供了丰富多样的特性、简单易学的语法和稳定可靠的跨平台兼容性。此外,百余种为扩展jQuery功能而开发的插件,更使得它几乎成为适用于各类客户端脚本编程的必备工具。

    《jQuery基础教程》以通俗易懂的方式介绍了jQuery的基本概念,通过学习本书,即使曾经因编写JavaScript而受过挫折的人,也能够掌握为网页添加交互性和动态效果的技术。本书将引导读者跨越AJAX、事件、效果及JavaScript语言特性中的各种陷阱。

    本书网站http://book.learningjquery.com中,包含书中各章的在线示例。

    本书内容

    本书的第一部分是jQuery简介,用来帮助读者对jQuery建立起一个大概的印象。第1章的内容主要涉及如何下载和设置 jQuery库,同时也会示范通过jQuery编写第一个脚本。

    本书的第二部分将深入讨论jQuery库的各个主要方面。第2章学习如何取得我们想要的一切。通过jQuery中的选择符表达式,可以在页面中的任何地方找到想要的元素。这一章,将使用各种选择符表达式为页面中的不同元素添加样式,其中一些通过纯CSS方式是做不到的。

    第3章学习如何“扣动扳机”。本章介绍如何通过jQuery的事件处理机制,在浏览器中发生事件时触发行为。同时,还会介绍jQuery的独家秘笈——以不唐突的方式添加事件(甚至在页面加载完成之前)。

    第4章学习如何增加操作的艺术感。这一章介绍通过jQuery实现动画的技术,从中我们能够体会到隐藏、显示和移动页面元素时那种轻松自如的感觉。

    第5章学习如何通过指令改变页面。本章讲述的是动态修改HTML文档结构的技术。

    第6章学习如何让你的网站跻身主流行列。在学习完本章后,你也可以做到不用像过去那样刷新页面而访问服务器端功能。

    本书的第三部分与前两部分不同。这一部分主要以实例操作为主,即在前几章学习的基础上,通过jQuery创建常见应用的解决方案。第7章将学习排序、筛选和为信息添加样式并创建优美实用的数据布局。

    第8章以客户端数据验证为主题。届时,将设计一个具有适应能力的表单布局,还会实现基于客户端与服务器通信的交互式表单功能,例如自动完成。

    第9章介绍如何通过平滑地展示页面元素来增强它们的美感和实用性。其中,动态显示和隐藏信息的方式既有自动化的,也有基于用户控制的。

    第10章学习jQuery令人叹为观止的扩展能力。读者将在理解和掌握3个优秀jQuery插件的基础上,从头开始构建自己的插件。

    附录A提供了很多与jQuery、JavaScript以及通常的Web开发有关的内容丰富的网站信息。

    附录B推荐了一些有用的第三方程序和实用工具,用于在个人的开发环境中编辑和调试jQuery代码。

    附录C将讨论JavaScript中一个常见的高级特性——闭包。详细解释了如何扬长避短地发挥闭包的强大威力。

    由“当……的时候”说起

    Posted by admin | 翻译, 原创 | 星期五 13 6月 2008 4:32 下午

    一位朋友Mee看到《在大众媒体看到这样的中文,我愤然!》之后,提出问题:

    “当……的时候,……”这种用法还是可以接受的吧,我常常这么用。松峰为何觉得不妥呢?是因为“当”字本身包含了“的时候”的意思?
    以前不是有首歌叫“当我想你的时候”吗?在Google中输入“”当夜幕降临的时候””,得到136,000条结果。

    我回答这个问题的同时,又想起其他一些容易“成灾”的情形,一块罗列出来:

    当然,少量出现也不算问题。但是,多了恐怕成灾。之所以它“榜上有名”,大概是因为:

    一是看到思果先生(也许是余光中?)书里,有一篇文章提到过这个小问题(回头找找贴过来)。

    二是个人觉得when或while,不一定非要死套这种模式。多数情况根据上下文灵活变通效果更好。我想译者对此一定要有思想准备。尤其是当when、while集中出现的时候——呵呵,我也在用——此时,通常都可以找到比“当……的时候,……”更准确、更简洁的译法,比如:“此时,……”“(与此)同时,……”等。

    另外,when或while有时也不能直接译成“当……的时候”,反而是译为“如果……,那么……”更贴切;换句话说,它们表示一种假设或者条件。此时,就更要根据上下文来判断了。我大概记得在城铁电视中看到的“当……的时候”那句话,就属于这种情况。

    与when和while类似的,还有luckily、unluckily、fortunate、unfortunate,这些词如果千篇一律地译为“幸运的是”和“不幸的是”,肯定成灾。其实,可以译为“所幸(的是)”“好在”、“幸好”、“很幸运,……”;以及“偏巧”、“令人遗憾地(的是)”、“不凑巧的是”等等。

    说到底,就要看译者笔下的功夫——中文表达能力(文字功底)如何了。领悟这些东西,一定是有个过程。我在一开始就只会用“当……的时候”、“幸运的是”和“不幸的是”。有一次,图灵的某位编辑,把“幸运的是”给我改成了“所幸的是”,我感觉比较爽,呵呵,于是记住了这种译法。之后就有意识地在翻译中变换着使用。比如,前面用了“幸运的是”,后面再遇到同一词,就改译成“所幸的是”。总之,不让它前后重复,有点像作诗押韵;当然,现实意义是读者的阅读体验会更好,至少,从视觉上总有新鲜感。

    说到这里,我又想到了因果关系的处理。我现在发现,用“由于……,因此……”,比“因为……,所以……”更好——当然,这也是从一位编辑那里学来的。而且,如果这种情况出现得集中,则可以用“鉴于……,因而……”来客串一把,或者省略“由于”、“因为”,只在表达结果时,加上“因此”、“所以”、“因而”、“故而”来表明关系即可。之所以提到因果关系,是因为这种关系在翻译时极为常见,也极其有用。有很多上下文中的起、承、转、合,都有赖于这种关系的运用。

    Jacky Li又指出:

    思果和余光中先生都有多篇文章谈到了when的问题。
    此外,我觉得”所幸的是”就有赘余了,”所幸”本来就有承接下文的意思,而”的是”也有这个意思,两个连在一起反而不好;不如只说”幸运的是”或者”所幸”

    于是,我在Mee所举例子的基础上挥发了一小下:

    所幸,当我想你的时候,(当)夜幕降临(的时候)了。呵呵~

    在大众媒体看到这样的中文,我愤然!

    Posted by admin | 翻译, 原创 | 星期二 10 6月 2008 10:21 上午

    今天坐城铁,在13号线看到车载电视中正在反复播放自动售检系统的使用说明。由于车厢内声音噪杂,基本听不清解说,但能够看清电视画面下方的字幕。凭一名译者的“职业敏感”,我感觉字幕中的文字,不像中国人自己写的,像是翻译外方软件使用说明书得来。我把一些典型的翻译腔,记在手机里,现展示如下:

    ___这里需要特别提示的是,……
    ____当……的时候,……
    ____若你要取消充值,请点击取消按钮
    ____你应迅速地进站

    呵呵,看到这些文字,我脑海里浮现的是中软公司[注1]一位技术人员,正在对照外文,查着字典,用半生不熟的中文艰难地字斟句酌的镜头。可能是从事翻译工作的原因,我对这些字眼特别敏感(尤其最近正在看思果和余光中谈翻译的书)。

    特别是前面列举的第三和第四句:公共场合中对乘客应该尊称您,这是常识问题;还有,自动售票系统的人机界面是触摸屏,输入设备不是鼠标,而是手指。此时感觉“用手指轻点”或“指尖轻触”等语言更形象、更贴切(事实上,即使是用鼠标,我个人也更倾向于单击——与双击对应——而不是点击)。总之,我今天亲眼目睹了一桩糟蹋中文的事件,眼见洋垃圾充斥到了我们的电视屏幕上,很愤怒!

    如此粗陋不堪的文字,居然堂而皇之地在以文明之都自居的北京的地铁中反复向公众、向全世界播出,这简直是对我等以中华文明为荣的中国人的心理承受力的一次严峻挑战。我的内心的确受到很大震憾——的确,这几乎可以称为一次不大不小的文化地震——受众如此之广,可想而知,其恶劣、负面的影响无法估量!

    由此,我想到出版社遴选译者的标准。评判译者是否合格的一项重要指标,就是他的中文表达能力。这一点,通过他(她)的博客、邮件,甚至聊天用语不难得出结论。如果某译者中文表达能力差,无论他英语有多纯熟、对技术多么精通、翻译思想再怎么正确,我想在决定与其合作时都应该慎之又慎,以免造成不可挽回的损失。典型的问题是觉得某人乃大版主,或者有某某外企的职业背景,甚至是某某名牌大学出身,哈哈,愈是此时,就愈要防范踩不到这些巨人的肩膀,反把自己摔到地上的危险。

    ----------------
    [注1]我猜测是中铁人员的理由,一是经常在城铁站看到身穿有“中软”字样服装的工作人员在调试自动售票设备;二是根据下面的链接:http://tinyurl.com/6ogp67 

    下一页 »