本书是一本经典之作,主要讲述了开发国际化软件所涉及的根本问题,深入剖析了怎样开发全球可用的应用程序。书中涵盖了最新的技术和内幕,并且是为那些希望为Microsoft Windows 2000和Windows XP平台编写全球可用代码的人员编写的。本书说明了如何以最少的资金和精力,将应用程序本地化、怎样确定文化特定的重要问题、怎样避开和国际化有关的陷阱以及怎样使用最佳的技术和编码方法等。 \r\n\r\n 在当今的全球经济环境下,使用软件的用户可能说着各种不同的语言、来自不同的国家,有着不同的文化背景,如果我们开发的应用软件能够满足这些用户需要 显而易见是益处多多。本书揭示了怎样开发全球用户都能使用的应用程序,在第1版的基础上做了一些修订和更新,以涵盖最新的技术和内幕。这本书是为那些希望为Microsoft Windows 2000和Windows XP平台编写国际化代码的人员而编写的。该书说明了怎样不用花费太多力气和金钱而将应用程序本地化、怎样确定文化特定的重要问题、怎样避开和国际化有关的陷阱及法律问题。怎样使用最佳的技术和编码方法等等。本书涵盖了开发国际化软件的所有基本问题,同时也体现了Microsoft国际化工作组千辛万苦获得的集体智慧。\r\n\r\n 简介:理解国际化.设计全球可用的应用程序\r\n\r\n 全球化:Unicode: 区域和文化意识:文本输入、输出及显示:多语言用户界面(MUl)\r\n\r\n 本地化能力:软件本地化能力准则、镜像以及内容本地化能力准则\r\n\r\n 本地化及测试:本地化、测试全球可用性、国际化测试样例以及用伪\r\n\r\n 本地化测试本地化能力\r\n\r\n 工具和技术:GDI+、HTML、Microsoft IIS、Microsoft Office、MLang、Unicode的Microsoft层(MSLU)、Microsoft.NET框架、OpenType字体、RichEdit、Microsoft SQL Server、 文本服务框架(TSF)、\r\n\r\nUniscribe、Microsoft VisuaI Studio.NET、XML谁是Dr.International?\r\n\r\n 本书首次披露了Dr.Internationational的身份——Microsoft的最高机密之一。这位博土在国际化方面博学多才,无所不知。他的背后有Microsoft国际化工作组的支持和帮助。他还负责决定在网上专栏<www.microsoft.com/globaldev上的“Ask Dr.International”)中发表哪些内容。读完本书后,你能了解更多东\r\n\r\n西,而不仅仅限子知道国际化软件开发要做些什么。\r\n
\r\n
前言\r\n怎样使用本书\r\n第一部分 简 介\r\n第1章 理解国际化 2\r\n1.1 区域 3\r\n1.2 全球可用性 4\r\n1.3 本地化 6\r\n1.3.1 本地化过程 8\r\n1.3.2 发布国际化产品 9\r\n1.4 小结 11\r\n第2章 设计全球可用程序 12\r\n2.1 识别规范中的全球可用需求 13\r\n2.2 规划全球化 14\r\n2.3 定制功能特征 14\r\n2.3.1 设计可本地化的国际用户界面 16\r\n2.3.2 研究法律问题 17\r\n2.3.3 保持功能特征的易用性 18\r\n2.4 组建产品组 18\r\n2.5 设置全球可用开发环境 20\r\n2.6 减轻翻译人员的工作量 23\r\n2.7 测试上的考虑事项 24\r\n2.8 小结 25\r\n第二部分 全 球 化\r\n第3章 Unicode 28\r\n3.1 传统的字符编码 29\r\n3.2 考察Unicode 36\r\n3.2.1 Unicode的性能 36\r\n3.2.2 Unicode的功能 39\r\n3.2.3 Windows对Unicode的支持 42\r\n3.3 创建Win32 Unicode应用程序 42\r\n3.3.1 WCHAR, 一种16位的数据类型 43\r\n3.3.2 Win32 API的W函数原型 44\r\n3.3.3 Unicode文本宏 45\r\n3.3.4 C运行库扩展 45\r\n3.3.5 代码页和Unicode之间的转换函数 46\r\n3.3.6 在Visual C++中编译Unicode应用\r\n程序 46\r\n3.3.7 移植到Unicode中 46\r\n3.3.8 移植到Unicode的选项 48\r\n3.3.9 最优方法 49\r\n3.4 Web页面中的编码 50\r\n3.4.1 Web编码选项 50\r\n3.4.2 设置并处理编码 51\r\n3.4.3 用户覆盖 53\r\n3.4.4 Internet Explorer的语言支持 54\r\n3.5 .NET框架中的编码 54\r\n3.6 控制台或文本模式程序设计中的编码 56\r\n3.6.1 CRT控制台I/ O 58\r\n3.6.2 Win32文本模式I/ O 59\r\n3.7 小结 59\r\n第4章 区域和文化意识 61\r\n4.1 区域的概念 62\r\n4.1.1 区域变量 62\r\n4.1.2 NLS和区域标识 69\r\n4.1.3 .NET框架中的CultureInfo类 71\r\n4.2 检索正确的区域 72\r\n4.2.1 检索Win32中的用户区域 72\r\n4.2.2 检索浏览器语言设置 73\r\n4.2.3 检索当前的CultureInfo 74\r\n4.3 日期和日历格式 75\r\n4.3.1 操纵Win32中的日历和格式化日期 77\r\n4.3.2 Web页面中的日期格式 80\r\n4.3.3 .NET框架中的日期和日历格式 81\r\n4.4 时间格式 84\r\n4.4.1 Win32中的时间格式和时区 86\r\n4.4.2 Web页面中的时间格式 88\r\n4.4.3 .NET框架中的时间格式和时区 89\r\n4.5 货币格式 90\r\n4.5.1 Win32中的货币格式 91\r\n4.5.2 Web页面中的货币格式 93\r\n4.5.3 .NET框架中的货币格式 93\r\n4.6 大小写转换 96\r\n4.6.1 Win32中的大小写转换 97\r\n4.6.2 Web页面中的大小写转换 97\r\n4.6.3 .NET框架中的大小写转换 98\r\n4.7 排序和字符串比较 98\r\n4.7.1 Win32中的字符串比较和排序 98\r\n4.7.2 .NET框架中的字符串比较和\r\n排序 101\r\n4.8 数字格式 107\r\n4.8.1 Win32中的数字格式 108\r\n4.8.2 Web页面中的数字格式 109\r\n4.8.3 .NET框架中的数字格式 110\r\n4.9 地址 111\r\n4.10 纸张大小 111\r\n4.11 电话号码 112\r\n4.12 度量单位 113\r\n4.12.1 Win32中的度量单位 113\r\n4.12.2 .NET框架中的度量单位 113\r\n4.13 控制台的区域意识 113\r\n4.13.1 C运行库 114\r\n4.13.2 Win32和.NET框架 114\r\n4.14 小结 114\r\n第5章 文本输入. 输出以及显示 116\r\n5.1 输入语言 117\r\n5.1.1 处理输入语言的技术 118\r\n5.1.2 输入法编辑器 121\r\n5.2 复杂文字 127\r\n5.2.1 复杂文字中的字符 128\r\n5.2.2 Windows对复杂文字的支持 130\r\n5.3 文本显示选项 131\r\n5.3.1 Win32应用程序的文本布局 131\r\n5.3.2 Web内容和.NET框架中的输入. \r\n输出和显示 137\r\n5.4 字体 137\r\n5.4.1 Windows 2000和Windows XP中的\r\n字体支持 137\r\n5.4.2 Win32应用程序中的字体选择 139\r\n5.4.3 Web内容中的字体控制 145\r\n5.5 小结 147\r\n第6章 多语言用户界面 148\r\n6.1 Windows中的多语言用户界面支持 148\r\n6.1.1 可用性 149\r\n6.1.2 多语言用户界面的好处 149\r\n6.2 提供多语言用户界面解决方案的选项 151\r\n6.2.1 方法1:语言相关二进制文件 151\r\n6.2.2 方法2:一个多语言资源文件 152\r\n6.2.3 方法3:辅助DLL 154\r\n6.3 怎样实现自己的辅助DLL 155\r\n6.3.1 Win32应用程序中的多语言用户\r\n界面 155\r\n6.3.2 多语言Web内容 159\r\n6.3.3 .NET框架中的资源处理 162\r\n6.3.4 .NET框架中的资源装载 165\r\n6.3.5 控制台应用程序中的资源处理 166\r\n6.4 小结 168\r\n第三部分 本地化能力\r\n第7章 软件本地化能力准则 170\r\n7.1 分离可本地化的资源 170\r\n7.2 字符串处理 174\r\n7.2.1 避免运行时组合字符串 174\r\n7.2.2 当必须使用变量时, 使用惟一的\r\n名称 175\r\n7.2.3 不要组合多个变量 178\r\n7.2.4 使句子保持在单个字符串中 178\r\n7.2.5 查看字符串缓冲区大小 179\r\n7.3 考虑UI的本地化能力 180\r\n7.3.1 重新调整元素 180\r\n7.3.2 UI控件的本地化能力 186\r\n7.3.3 图像和图标 188\r\n7.4 小结 192\r\n第8章 镜像 194\r\n8.1 技术 194\r\n8.2 Win32应用程序中的镜像 195\r\n8.2.1 启用资源镜像 196\r\n8.2.2 启用代码镜像 196\r\n8.2.3 镜像和属性页 199\r\n8.2.4 映射坐标 200\r\n8.2.5 处理方向敏感性图形 201\r\n8.2.6 镜像和图像列表控件 205\r\n8.3 Web页中的镜像 206\r\n8.3.1 有向图像 209\r\n8.3.2 文本的强制左对齐 210\r\n8.3.3 绝对CSS定位 210\r\n8.3.4 表提供的可翻转性 211\r\n8.4 .NET框架中的镜像 211\r\n8.4.1 被镜像的Web表单 211\r\n8.4.2 被镜像的Windows窗体 212\r\n8.4.3 消息框 214\r\n8.5 小结 215\r\n第9章 内容本地化能力准则 216\r\n9.1 简化内容 216\r\n9.2 遵循基本的书写风格原则 217\r\n9.3 重视文化和本地敏感性 218\r\n9.4 编写易于循环使用的程序并降低本地\r\n化代价 218\r\n9.5 重视艺术作品和多媒体的文化敏感性 219\r\n9.6 设计具有全球性功能的帮助系统 220\r\n9.7 小结 220\r\n第四部分 本 地 化\r\n第10章 本地化简介 222\r\n10.1 本地化要素 223\r\n10.1.1 文本 223\r\n10.1.2 布局 224\r\n10.1.3 图形和多媒体 224\r\n10.1.4 键盘快捷键 225\r\n10.1.5 字体 225\r\n10.1.6 区域数据和字符设置 225\r\n10.1.7 构建过程和包 225\r\n10.2 本地化工具 226\r\n10.3 本地化工作组 226\r\n10.4 建立本地化准则 228\r\n10.4.1 保证有效的本地化 228\r\n10.4.2 安排国际发布 228\r\n10.4.3 本地化外购 229\r\n10.5 内容本地化 230\r\n10.6 小结 230\r\n第五部分 测 试\r\n第11章 测试全球可用性 234\r\n11.1 全球可用性的质量保证 234\r\n11.2 全球可用的测试方法 235\r\n11.3 测试的全球化 237\r\n11.3.1 准备测试 237\r\n11.3.2 进行测试 240\r\n11.4 本地化能力测试 242\r\n11.5 本地化测试 244\r\n11.5.1 本地化测试的要点 244\r\n11.5.2 本地化测试的平台 244\r\n11.5.3 UI的本地化测试 245\r\n11.6 测试工具的作用 245\r\n11.7 小结 247\r\n11.8 国际化测试样例 247\r\n第12章 用伪本地化测试本地化能力 252\r\n12.1 本地化能力故障目录 252\r\n12.2 伪本地化的常见特征 253\r\n12.3 伪本地化的其他用途 254\r\n12.3.1 图形和音频的伪本地化 255\r\n12.3.2 内容(帮助文件. Web内容)\r\n的伪本地化 255\r\n12.3.3 BiDi语言的伪镜像 255\r\n12.3.4 注释模型 256\r\n12.4 小结 256\r\n第六部分 工具和技术\r\n第13章 图形设备接口+(GDI+) 259\r\n13.1 技术概况 259\r\n13.1.1 GDI+的新特性 259\r\n13.1.2 编程模型 260\r\n13.2 可用性 260\r\n13.3 国际化特征 260\r\n13.3.1 GDI+中的排印处理 260\r\n13.3.2 字体回退 261\r\n13.3.3 图形保真和ClearType 263\r\n13.4 国际化最优方法 263\r\n13.4.1 考虑各种文字间的差异 264\r\n13.4.2 不要一次显示一个字符 264\r\n13.5 其他资源 264\r\n13.6 小结 264\r\n第14章 超文本标记语言(HTML) 265\r\n14.1 技术概况 265\r\n14.2 国际化特征 266\r\n14.2.1 字符实体引用 266\r\n14.2.2 表单提交 267\r\n14.2.3 URL编码 268\r\n14.2.4 层叠样式单 268\r\n14.2.5 LANG属性 269\r\n14.2.6 其他语言属性 270\r\n14.2.7 双向布局 270\r\n14.2.8 BDO元素 270\r\n14.2.9 用CSS设置方向 270\r\n14.3 国际化最优方法 273\r\n14.4 其他资源 273\r\n14.5 小结 273\r\n第15章 Microsoft Internet信息服务(IIS)\r\n和Microsoft 活动服务器\r\n页面(ASP) 275\r\n15.1 技术概况 275\r\n15.2 可用性 275\r\n15.3 国际化特征 275\r\n15.3.1 代码页设置 276\r\n15.3.2 请求集合 278\r\n15.3.3 URI处理 279\r\n15.3.4 其他方法和组件 279\r\n15.3.5 日志 279\r\n15.4 IIS 4和IIS 5的有关问题 280\r\n15.5 国际化最优方法 280\r\n15.6 其他资源 280\r\n15.7 小结 282\r\n第16章 Microsoft Office 283\r\n16.1 工具概况 283\r\n16.2 可用性 284\r\n16.3 国际化特征 284\r\n16.3.1 保证可用40多种语言 284\r\n16.3.2 支持亚洲语言输入 284\r\n16.3.3 支持在各种语言中排序 285\r\n16.3.4 正确的日期和货币格式 285\r\n16.3.5 支持任何编码形式的文本文件和\r\nWeb页面I/ O 285\r\n16.3.6 为特定市场定制的应用程序专有\r\n的特征 285\r\n16.4 国际化最优方法 286\r\n16.4.1 维护单一代码库 286\r\n16.4.2 考虑你的用户 286\r\n16.4.3 记住使得应用程序可本地化 286\r\n16.5 替代工具 287\r\n16.6 其他资源 287\r\n16.7 小结 287\r\n第17章 MLang 289\r\n17.1 技术概况 289\r\n17.2 可用性 289\r\n17.3 国际化特征 289\r\n17.3.1 代码页和区域枚举 290\r\n17.3.2 字符集转换 291\r\n17.3.3 代码页检测 292\r\n17.3.4 字体链接 292\r\n17.4 替代技术 293\r\n17.5 其他资源 293\r\n17.6 小结 293\r\n第18章 Unicode的Microsoft层(MSLU) 295\r\n18.1 工具概况 295\r\n18.1.1 MSLU的工作方式 297\r\n18.1.2 怎样(以及何时)进行覆盖 297\r\n18.2 可用性 299\r\n18.3 其他资源 299\r\n18.4 小结 300\r\n第19章 Microsoft .NET框架 301\r\n19.1 平台概况 301\r\n19.2 可用性 301\r\n19.3 国际化特征 302\r\n19.4 其他资源 302\r\n19.5 小结 303\r\n第20章 OpenType字体 304\r\n20.1 技术概况 304\r\n20.2 可用性 304\r\n20.3 国际化特征 305\r\n20.3.1 置换可替换的字形形式 306\r\n20.3.2 OpenType的工作方式 307\r\n20.4 问题 308\r\n20.5 国际化最优方法 308\r\n20.5.1 重视所有语言特征 308\r\n20.5.2 注意查询次序 309\r\n20.5.3 考虑存储效率 309\r\n20.5.4 使用设备表在尺寸很小的点上\r\n放置发音符号 309\r\n20.5.5 熟悉关于OpenType字体的所有\r\n建议 309\r\n20.6 替代技术 309\r\n20.7 其他资源 309\r\n20.8 小结 310\r\n第21章 Rich Edit 311\r\n21.1 技术概况 311\r\n21.2 可用性 313\r\n21.3 国际化特征 314\r\n21.3.1 字体绑定 314\r\n21.3.2 Unicode代用对 315\r\n21.3.3 接口 315\r\n21.3.4 对输入法编辑器的支持 316\r\n21.4 问题 317\r\n21.5 国际化最优方法 317\r\n21.5.1 考虑向后兼容非Unicode文本 318\r\n21.5.2 考虑字体缩放 318\r\n21.5.3 了解怎样处理Multicode序列 318\r\n21.6 替代技术 319\r\n21.7 其他资源 319\r\n21.8 小结 319\r\n第22章 Microsoft SQL Server 320\r\n22.1 技术概况 320\r\n22.2 可用性 320\r\n22.3 国际化特征 320\r\n22.4 国际化最优方法 326\r\n22.4.1 始终使用Unicode数据类型 326\r\n22.4.2 只要有可能就标准化站点校对 327\r\n22.4.3 如有可能就配置Unicode服务器\r\n和客户 327\r\n22.4.4 考虑存储空间和存储性能 328\r\n22.4.5 确定系统表中的对象标识符 329\r\n22.5 其他资源 329\r\n22.6 小结 329\r\n第23章 Microsoft Windows文本服务框架\r\n(TSF) 330\r\n23.1 技术概况 330\r\n23.1.1 TSF的性能 330\r\n23.1.2 体系结构和对象模型 331\r\n23.1.3 在应用程序中使用TSF 334\r\n23.2 可用性 334\r\n23.3 国际化特征 334\r\n23.3.1 为一般用户提供对新输入方法的\r\n支持 334\r\n23.3.2 对东亚语言的语音和手写体支持 334\r\n23.3.3 无需设备特定或者语言特定的API 335\r\n23.4 其他资源 335\r\n23.5 小结 335\r\n第24章 Uniscribe 337\r\n24.1 技术概况 337\r\n24.1.1 文本行支持 337\r\n24.1.2 文本库支持 337\r\n24.1.3 Uniscribe的版本 338\r\n24.2 可用性 338\r\n24.3 国际化特征 338\r\n24.3.1 字距调整 338\r\n24.3.2 连字 339\r\n24.3.3 组合标记和字符记录 340\r\n24.3.4 RTL和LTR阅读顺序 340\r\n24.3.5 字符和字形间的多对多关系 341\r\n24.3.6 插入符定位 341\r\n24.4 其他资源 341\r\n24.5 小结 342\r\n第25章 Microsoft Visual Studio .NET 343\r\n25.1 工具概况 343\r\n25.2 可用性 343\r\n25.3 国际化特征 344\r\n25.3.1 支持各种编码和字体链接 344\r\n25.3.2 支持本地化的Windows窗体 344\r\n25.3.3 支持本地化的Web应用程序 345\r\n25.3.4 配置工程 346\r\n25.3.5 Visual C++对各种字符编码的支持 346\r\n25.3.6 区域模型 346\r\n25.3.7 MFC和ATL库 346\r\n25.4 其他资源 347\r\n25.5 小结 347\r\n第26章 可扩展标记语言(XML) 348\r\n26.1 技术概况 348\r\n26.2 可用性 349\r\n26.3 国际化特性 350\r\n26.4 国际化最优方法 352\r\n26.4.1 使用UTF-8 352\r\n26.4.2 保证XML数据区域中立以及文化\r\n中立 352\r\n26.4.3 利用MSXML技巧 352\r\n26.4.4 利用System.XML技巧 355\r\n26.5 其他资源 357\r\n26.6 小结 357\r\n第七部分 附录(在光盘中)\r\n附录A Windows XP中的NLS信息—\r\n概述 361\r\n附录B Windows XP中的NLS信息—\r\n详述各个区域的约定 371\r\n附录C 映射到代码页的区域表 506\r\n附录D 语言标识符表 513\r\n附录E GetLocaleInfo用到的LCTYPE\r\n常量 522\r\n附录F 选取的一些语言的排序方法 531\r\n附录G Unicode编码点分配 532\r\n附录H Microsoft Windows 2000和\r\nMicrosoft Windows XP的代\r\n码页支持 535\r\n附录I 代码页表 539\r\n附录J 编码Web文档 632\r\n附录K Microsoft .NET框架中的\r\nCultureInfo名称和标识符 640\r\n附录L Microsoft .NET框架中的\r\nRegionInfo名称和标识符 646\r\n附录M 挑选的国际标点符号 652\r\n附录N 有危险的字符 654\r\n附录O FONTSIGNATURE结构 666\r\n附录P Microsoft Windows 2000和\r\nMicrosoft Windows XP支持\r\n的键盘和IME列表 674\r\n附录Q 国际键盘布局 678\r\n附录R Microsoft Windows XP中的时区 730\r\n附录S 国际地址格式 732\r\n附录T 度量衡及换算 750\r\n附录U 纸张和信封的类型和大小 752\r\n附录V Microsoft Windows的本地化版本 755\r\n附录W 准备开发国际化软件的商业案例 759\r\n附录X Web资源 762\r\n附录Y 其他读物 765\r\n术语表 766 \r\n
\r\n
前 言
我在1994年12月完成了本书的第1版. 8年之后, 我仍然收到很多电子邮件, 询问怎样运行或者开发可以在全球使用的软件, 通常, 我都把这些邮件转发给微软Windows 分部专业的“全球可用指南”(WRG, World-Ready Guides)工作组(他们还负责http://www.microsoft.com/ globaldev上的Dr. International专栏). 由于到目前为止, 问得最多的问题是:“什么时候才会出新书?”所以, 当WRG小组承担起修订该书的任务时, 我非常激动. 本书更全面地阐述了和这个主题相关的内容, 这很有必要, 并且它还重点关注基于Web的软件, 这是自本书的第1版之后出现的一种现象. 在1995年, 开发人员只要掌握了Microsoft Win32应用程序接口(API)的基本技巧和知识就能开发全球可用的软件, 但在当今无处不在的Internet大环境下, 开发人员开始寻求了解其他Microsoft产品, 如Microsoft Office. Microsoft Internet信息服务(IIS). Microsoft SQL以及Visual Studio .NET, 以及可扩展标记语言(XML, Extensible Markup Language)等工业标准的核心技术. 看到在过去的几年中, 这些产品和技术已扩展了其对国际功能的支持, 真是振奋人心.
Windows内的国际支持也在逐步成熟. 虽然其根基—Unicode和国家语言支持API(NLS API)—还保持原样, 但每个新版本的功能都得到了加强, 包含新的区域. 区域信息, 以及更完善的文本布局和字体功能. 本书深入地研究了这些更新的内容, 并在得到极大改善的附录中列出了有关这些内容的详细信息. 同时, 我还很高兴地看到本书用整整一部分来讨论测试问题. 考虑到对产品可靠性和安全性的需求不断增长(对跨国公司来说尤其如此), 所以没有什么比完整的. 有系统的软件测试方法更重要的了.
在过去的8年中, 软件市场变得更加全球化, 但即使如此, 英语仍占据统治地位. 我1989年加入微软后不久, 当时微软的国际部副总裁举行了一次宴会, 庆祝本地化产品的销售收入占了公司整个利润的50%. 最近的数目则接近60%. 考虑到整个利润的增长, 10%的浮动即为数百万美元, 但我仍然纳闷为什么该数目没有接近75%或者更多. 当然, 微软以及其他很多公司都已清楚, 全球化软件并非某个部门的责任. 例如微软就不再设置国际开发部—每个产品组织都把全球可用当成其开发的核心要求. 在雷蒙德市, 我们款待来自于原始设备制造商(OEM, Original Equipment Manufacturers)合作伙伴和国际子公司的国际工作组, 以保证我们能在一致连续的基础上表述全球可用需求. 技术和组织相结合收效甚丰, 其中就包括同时发布几个不同语言版本的Microsoft Windows XP. 但是我仍然认为, 讲英语的开发人员在其内心仍倾向于关注“轻松自如”. 这已经超出了全球可用的概念—总的来说, 我们的产业需要为用户创造更好的生活环境. 公司部署软件开发的情景远比开发人员在设想怎样应用他们的设计和算法时所意识到的情景复杂.
我希望本书不仅能成为不可或缺的参考书, 而且能成为每个认真对待客户需求的软件开发组织的必备读物. 虽然应付某些挑战(如共享数据以及混合和匹配本地化的应用程序和本地化的操作系统)比以前更容易了, 但是, 使得全球交互实现起来更简单, 使用时功能更强大, 却仍是软件开发团体的责任. 启用这类交互的工具仍将得到持续的改进, 但即使基础架构已很完美, 开发人员也仍需为商业界和消费者恰当地利用这些优势, 以从中获得相应的好处. 到目前为止, 我们这些信奉全球可用性的人已在强调“使软件正常运行”和“减少为此而需付出的劳累”. 遵照本书中列出的方法, “让软件正常运行”就是理所当然的了. 作为开发人员, 你最好把重点放在尚在探索之中的多文化. 多语言群件以及它们所展示的尚未被撷取的机会之上. “正常运行”还不够. “现在, 那将是改变人们处事方式的伟大想法”是更迷人的提议.
—Nadine Kano
于华盛顿州雷蒙德市