`
izuoyan
  • 浏览: 9317852 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

"iPhone开发秘籍"一书中的翻译错误

阅读更多

市面上热卖的iPhone开发秘籍是iPhone Developer's Cookbook的中文版.

很欣赏几位译者对iPhone开发的普及所做的努力,但技术功底实在不敢恭维。

翻译上有明显的漏洞,不是简单的typo,而是似乎译者并没有深入学习过c++或者说书翻译得很匆忙而没有被很好的review过。

我把我看到的一些错误及其修正持续更新在本帖中:

------

1.2节(组建iPhone项目)中,如下一个简单的句子有两处错误:

“它是ANSI C的一个面向对象的子集,而ANSI C是结合C和Smalltalk开发而来的”

英文原文:

“This is an object-oriented
superset of ANSI C, which was developed from a mix of C and Smalltalk.”

其中superset被误译为subset“子集”,而C和Smalltalk的结合明明是Objective-C,怎么成了ANSI C?

正确的译文应该是:

“它是ANSI C的一个面向对象的超集,是由C和Smalltalk语言的一个结合开发而来”。

------

1.5 SDK 限制

"in other ways" 应该是"在其它方面",而不是"换句话说". 整个语境应该是说:

除了使用相似的语言和框架外,在其它方面,和Mac机编程相比,iPhone的开发都是受限制的.

------

1.6 编程范型

"iPhone编程中心采用两种重要的范型",低级错误.

英文原文:iPhone programming centers on two important paradigms

centers on是该句的谓语, 正确的译文应该是:"iPhone编程以两种重要的范型为中心:"

------

1.6.1 "伪多重继承(通过调用转移)", 译者翻译比较合适:

英文原文:

"Multiple inheritance is an important feature of Objective-C’s approach to object- oriented programming. iPhone classes can inherit behaviors and data types from more than one parent.Take the class UITextView, for example. It’s both text and a view. Like other view classes,it can appear onscreen."

原文有一些含混不清, 多重继承在面向对象的语言如C++里是有特定含义的,指的是同时从两个父类派生. 而我们知道Objective-C和Java语言一样是单继承的,只有一个父类. 其面向对象的多重继承特性是通过"消息转发"(或译文中的调用转移)来实现的. UITextView类实际上只有一个父类UIView.下面补充苹果网站上关于消息转发和多重继承特性的官方说明:

消息转发和多重继承

消息转发很象继承,并且可以用来在Objective-C程序中模拟多重继承。如图 5-1所示, 一个对象通过转发来响应消息,看起来就象该对象从别的类那借来了或者”继承“了方法实现一样。

图 5-1消息转发

Figure 5-1 Forwarding

在上图中,Warrior类的一个对象实例将negotiate消息转发给Diplomat类的一个实例。看起来,Warrior类似乎和Diplomat类一样, 响应negotiate消息,并且行为和Diplomat一样(尽管实际上是Diplomat类响应了该消息)。

转发消息的对象看起来有两个继承体系分支——自己的和响应消息的对象的。在上面的例子中,Warrior看起来同时继承自Diplomat和自己的父类。

消息转发提供了多重继承的很多特性。然而,两者有很大的不同:多重继承是将不同的行为封装到单个的对象中,有可能导致庞大的,复杂的对象。而消息转发是将问题分解到更小的对象中,但是又以一种对消息发送对象来说完全透明的方式将这些对象联系起来。

------

page10下面, section 1.6.2:

"它提供了各种外观下的交互解释方式"

英文原文:

"So in that sense alone, the UIViewController does act as a controller by providing these links between the way things look and how interactions are interpreted."

应该译为:

"它提供了事物外观和交互行为解释两者之间的联系"

------

page21, 1.9.4 编辑标识信息

"只可以编辑公司名称条目"应该是"你可以只编辑公司名称条目"

分享到:
评论

相关推荐

    《iPhone开发基础教程》.pdf

    《iPhone开发基础教程》是一本面向初学者的指南,旨在帮助读者掌握iPhone应用程序开发的基本技能。这本书的中文翻译版包含了原版英文教材的部分精华章节,包括第1章、第4章和第12章,为那些希望进入iOS开发领域的...

    Pro iPhone Development with Swift 4(免积分下载)

    本书名为《Pro iPhone Development with Swift 4》,这是一本关于使用Swift 4语言进行iPhone应用开发的专业书籍。书籍的作者是Molly Maskrey和Wallace Wang,他们分别来自科罗拉多州的帕克市和加利福尼亚州的...

    iPhone上的txt阅读器实例

    iPhone上的TXT阅读器实例是一个很好的学习资源,可以帮助开发者了解如何在iOS环境中实现这样的功能。下面我们将深入探讨相关的知识点。 首先,我们需要知道iOS应用开发主要使用的是Swift或Objective-C编程语言,而...

    Beginning iPhone Development with Swift 3 Exploring the iOS SDK

    - **目标受众**:面向的是刚开始学习如何为iPhone开发应用程序的新手。 - **编程语言**:使用Swift 3作为主要的开发工具。 - **重点内容**:通过实践项目和深入讲解来探索iOS SDK(Software Development Kit)。 ##...

    Learn GameSalad for iOS Game Development for iPhone, iPad, and HTML5

    《学习GameSalad:用于iOS游戏开发的iPhone、iPad及HTML5》一书由David Guerineau撰写,由Apress出版社出版,于2012年发行。本书旨在为初学者提供一个全面且深入的指南,教授如何使用GameSalad这一强大的游戏开发...

    Apress.Beginning.iPhone.Development.with.Swift.5.5th.Edition.2019.pdf

    通过以上信息,我们可以得知这是一本专注于Swift 5语言和iOS SDK最新版的iPhone应用开发教程书籍,面向想要学习iOS开发的读者。该书涵盖了开发技术的各个方面,并强调了版权和商标的正确使用。同时,书籍由专业的...

    iphone textReader源码

    总结来说,“iPhone TextReader”源码的解析和应用涉及到了文件操作、字符流处理、性能优化等多个方面,是iOS开发中不可或缺的一部分。理解和掌握TextReader的原理和使用技巧,能极大地提升开发效率,为项目带来更加...

    ios5 programming cookbook

    iOS 5 Programming Cookbook是一本专注于iOS 5版本的应用开发技术指南书籍,适合于希望开发iPhone、iPad或iPod Touch应用的开发者。这本书提供了大约100个实例,每一个实例都旨在解决实际开发中遇到的问题,并提供可...

    ios 开发文档

    8. **iPhone开发秘籍(第2版)**与**iphone与ipad高级编程指南**:这些书籍可能是深入学习iOS开发的资源,包含高级话题如动画、推送通知、地图集成、多任务处理、Core Data等,对于想要提升技能的开发者极具价值。...

    Objective-c for absolute beginners英文版

    Xcode是苹果公司提供的官方集成开发环境(IDE),本教材会教读者如何使用Xcode内置的调试器,来找出代码中的错误和性能问题。 **实例和实战项目** “Objective-C for Absolute Beginners”也会通过多个实例和实战...

    Xcode开发员入门导引中文版

    - **内容结构**:本书按章节组织,每一章都围绕一个核心主题展开,帮助读者逐步构建起完整的iOS开发知识体系。 #### 第0章 在开始之前 - **准备环境**:介绍如何安装Xcode开发工具,以及配置必要的开发环境。 - **...

    Learn Java for Android Development, 2nd Edition

    尽管苹果公司的iPhone和iPad最初使用Objective-C语言开发应用程序,并在市场中占据了一定的先发优势,但是基于Java的应用程序开发使得Android平台的智能手机和平板电脑成为了强有力的竞争者。这种现象的出现说明了...

    iOS 5 Programming Cookbook

    10. **游戏开发**:简述了使用Sprite Kit或Cocos2d-iPhone进行2D游戏开发的基础知识,包括物理引擎、动画和事件处理。 11. **测试与调试**:涵盖了Xcode的调试工具,单元测试和UI测试的重要性,以及如何有效地调试...

Global site tag (gtag.js) - Google Analytics