SDM 223 微软开发国际版产品的实践研究
Quiz 答案是:B. 24 种 Windows XP 发布了多少不同语言版本? (How many different language versions of Windows XP shipped?) <= 20 20 <= 40 >= 40 I do not know 答案是:B. 24 种
探讨中国软件产品和服务 -国际化的最佳实践 课程内容安排 研究国际产品研发的重要意义 国际产品研发基本概念 微软产品走向国际的简史 微软国际版本的构架设计 国际版本产品测试的挑战、对策与最佳实践 重点总结 参考信息 问题解答 探讨中国软件产品和服务 -国际化的最佳实践
课程内容重点 研究国际产品研发的重要意义 国际产品研发基本概念 微软产品走向国际的简史 微软国际版本的构架设计 国际版本产品测试的挑战的对策 挑战/对策 概念 研究国际产品研发的重要意义 国际产品研发基本概念 微软产品走向国际的简史 微软国际版本的构架设计 国际版本产品测试的挑战的对策
研究国际产品研发的重要意义 即时传送时代 市场需求 持续发展需要 新技术发展 软件外包市场竞争 国产软件走向世界 意义 概念 简史 设计 挑战/对策 概念 即时传送时代 市场需求 持续发展需要 新技术发展 软件外包市场竞争 国产软件走向世界 自动切换配置文件
即时传送时代 用户 数据信息 互联网 服务性软件 移动装置 应用软件 2017年9月13日1时10分 6 © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. 6
研究国际产品研发的重要意义 进入软件“即时传送时代”(Live era) 软件将脱离操作系统而变成订购版与广告版,以便在网上就可使用 软件用户每年以极大幅度增长 信息传送无国界 市场需求: 更多国际版产品 本地市场趋于饱和时,可持续发展 软件外包市场竞争激烈 需要掌握国际产品测试开发知识和技能 我国国产软件走向世界 鉴戒现有技术经验,赶超世界先进水平
国际产品研发基本概念 研发国际软件产品概念及相互关系 基本概念 全世界可用(World readiness) 设计 意义 简史 挑战/对策 概念 研发国际软件产品概念及相互关系 基本概念 全世界可用(World readiness) 全球化(Globalization) 本地化(Localization) 国际化(Internationalization) 区域 (Locale) 区域设置(LCID) 文化(Culture) 自动切换配置文件
研发国际版软件产品概念及相互关系 国际版产品 全世界可用 本地化 用户定制 可全球化 可用户定制性 可本地化性 Microsoft Engineering Excellence 研发国际版软件产品概念及相互关系 国际版产品 全世界可用 本地化 用户定制 可全球化 可用户定制性 可本地化性 Microsoft Confidential 9
全世界可用(World readiness) 描述适用程度 考虑到国际产品需求 产品目标市场 产品构架设计
全球化(Globalization) 是使软件产品对用户语言、文化和市场中性化的研发过程 全球化是在软件设计和文档开发过程中, 使得功能和代码设计能处理多种语言和文化习俗 使创建不同语言版本时,不需要重新设计源程序代码的软件工程方法。 良好的软件全球化设计是增强本地化能力的基础,可以降低软件本地化过程的成本。
软件产品的本地化(Localization) 软件本地化是一项软件工程: 将一个软件产品按用户所在特定的国家、地区和语言需求在原语言版本上的改动加工 不局限于用户界面语言翻译,还包括功能的本地化 传统的本地化行业是面向大型跨国公司提供语言和技术服务的行业 更多国内企业逐步进入国际市场 本地化不应该仅仅是将国外的软件转变成适合中国用户使用的软件,还应包括将中国软件产品转换成适合世界上国家适合的产品 本地化需要科学的管理流程、严格的质量控制
国际化(Internationalization) 由于单词较长,为了便于书写,将中间的18个字母省略,简写成L18N 实现软件的国际化是特定软件工程方法: 使得功能和代码设计能处理多种语言 使得功能和代码设计能处理多种文化传统 使创建不同语言版本时,不需要重新设计源程序代码 软件产品的国际化包括全球化和本地化,是使单一语言产品得以制作成其他语言版本的过程
微软国际版产品开发常用术语 Locale:区域 (语言、国家/地区) LCID: 区域设置ID Culture: 文化(语言-区域) 举例:中文(中国) LCID: 区域设置ID 举例:2052 Culture: 文化(语言-区域) .NET Framework支持的每个文化,用一个‘母’语言加区域来表示。例如 en-US, en表示母语言是英文, -US表示区域是美国。 用户定义的文化应使用‘语言-区域’两者都有的格式 Custom Cultures and Regions One of the biggest bottlenecks in extending globalization support in the .NET Framework has been the addition of user-defined cultures.
微软产品走向国际的简史 – Windows* 设计 意义 简史 挑战/对策 概念 Windows 9x 基于代码页 支持部分语言字符集 通用 IME (Office & IE) Windows 2000 基于Unicode 任何语言任何版本 多语言用户界面(Multilingual User Interface: MUI) Windows XP 多语言用户界面 MUI 改进 (92% 98%) Enable Language Kits (ELK) 语言界面包(Language Interface Packs, LIP) Windows Vista 自动切换配置文件 * Russ Rolfe: http://www.microsoft.com/globaldev/training/presentations/default.mspx
Windows Vista 国际支持新体验* 自动支持所有语言文字 用户无需自己特加亚洲或南亚等语言支持 新增语言/区域: 支持:区域(Locale)数据, 排序, 文字识别和显示, 字体和输入法 Windows XP发布后: 新增 ~71 locales(区域) Windows XP SP2新增 25种ELK v1区域 下载中心又新增 11种ELK v2区域 Windows Vista新增 ~30-35种新区域 ELK v1 (Windows XP) •Bengali – India•Bosnian – Bosnia and Herzegovina•Croatian – Bosnia and Herzegovina•Malayalam – India•Maori – New Zealand•Maltese – Malta•Quechua – Bolivia•Quechua – Ecuador•Quechua – Peru•Sami, Inari – Finland•Sami, Lule – Norway•Sami, Lule – Sweden•Sami, Northern – Finland•Sami, Northern – Norway•Sami, Northern – Sweden•Sami, Skolt – Finland•Sami, Southern – Norway•Sami, Southern – Sweden•Serbian Latin – Bosnia and Herzegovina•Serbian Cyrillic – Bosnia and Herzegovina•Tswana (Setsuana) – South Africa•Xhosa (isiZhosa) – South Africa•Welsh – United Kingdom•Zulu – South Africa ELK v2 http://support.microsoft.com/?kbid=897338 •Bosnian (Cyrillic, Bosnia and Herzegovina) •Filipino (Philippines) •Frisian (Netherlands) •Inuktitut (Latin, Canada) •Irish (Ireland) •Luxembourgish (Luxembourg) •Mapudungun (Chile) •Mohawk (Mohawk) •Nepali (Nepal) •Pashto (Afghanistan) •Romansh (Switzerland) * Russ Rolfe: http://www.microsoft.com/globaldev/training/presentations/default.mspx
Windows Vista – 本地化版本 Windows XP – 24种完全本地化的版本 Arabic French Polish Brazilian Portuguese German Portuguese Greek Chinese – Simplified Hebrew Russian Chinese – Traditional Hungarian Czech Italian Danish Japanese Spanish Dutch Korean Swedish English Turkish Finnish Norwegian -- Bokmål Russ Rolfe: http://www.microsoft.com/globaldev/training/presentations/default.mspx
Windows Vista – 本地化版本 35种完全本地化的版本– Covering “Ultimate” Feature Set Arabic French Polish Brazilian Portuguese German Portuguese Bulgarian Greek Romanian Chinese – Simplified Hebrew Russian Chinese – Traditional Hindi Serbian – Latin Croation Hungarian Slovak Czech Italian Slovenian Danish Japanese Spanish Dutch Korean Swedish English Latvian Thai Estonian Lithuanian Turkish Finnish Norwegian -- Bokmål Ukrainian 50+语言界面包(Language Interface Packs, LIPs) * Russ Rolfe: http://www.microsoft.com/globaldev/training/presentations/default.mspx
实例:Windows Vista中国少数民族语言支持 藏族 蒙族 维吾尔族 彝族
微软国际版本的构架设计 微软Windows Vista和Office软件国际化构架 国际版软件主要开发过程 意义 简史 挑战/对策 概念 微软Windows Vista和Office软件国际化构架 国际版软件主要开发过程 微软Office产品多语言支持场景 自动切换配置文件
微软Windows Vista和Office软件国际化构架 Core源代码 法文 英文 中文 语言 “X”
微软Office产品多语言支持场景 过去 现在 需要安装: 安装和售后服务: 3 套不同源代码 3个不同的补丁 3个不同的发布时间 英文用户 阿拉伯文用户 日文用户 英文 3 套不同源代码 3个不同的补丁 3个不同的发布时间 阿拉伯文 日文 This slide gives a graphic view of what we have been talking about. The top portion of the slide shows the situation with traditional platforms. Large multinational organizations must deploy separate localized versions in each of their offices around the world. Availability of these versions will be staggered by the localization schedules. Worse yet, service releases and bug fixes will also be staggered. At any moment, an administrator for such an organization must support several versions of the platform, each with a slightly different set of fixes and service releases. The bottom portion of the slide shows the situation with MUI versions. The administrator can deploy one platform and one service release everywhere. All offices should have identical behavior. Local users can work in the language they prefer and the administrator can use the system (remotely if necessary) in their preferred language. Conversely, many multinational organizations today force all their users to use one version (typically the U.S. English version). This hampers productivity for users uncomfortable in that language. The MUI version allows such organizations to improve their productivity without raising their administrative costs. 现在 需要安装: 安装和售后服务: 英文、阿拉伯 文、日文用户 一套源代码(加用户界面) 只发布一个补丁 基本同时发布
国际版软件主要开发过程 http://download.microsoft.com/download/5/5/6/556f518a-ba8b-4b2f-a31a-9f0815af51b3/A24-367_c.ppt This is a rough outline of the process that delivers new Windows release (by no means does it describe the development cycle model accepted by feature teams – WordPad could be written under a Waterfall, Rapid Prototyping or some other development model) As the diagram shows, the overall planning and development process is separated from localization. Internationalization happens at the very early steps of the process. Essentially, the “Market forces” assume the market global; all subsequent work – marketing plan, design specification, development – are based on this assumption. http://download.microsoft.com/download/5/5/6/556f518a-ba8b-4b2f-a31a-9f0815af51b3/A24-367_c.ppt
国际版本产品测试的挑战与对策 挑战 对策 推广最佳实践 测试范围和考虑因素 知识和技术 可用资源 不同语言版本测试的特殊要求 知识教育 设计 意义 简史 挑战/对策 概念 挑战 测试范围和考虑因素 知识和技术 可用资源 不同语言版本测试的特殊要求 对策 知识教育 统筹计划 资源充分利用 假-本地化 推广最佳实践 自动切换配置文件
国际版本产品测试的挑战 测试范围广、考虑因素多 需要特殊知识和技术 可用资源有限 不同语言版本测试的特殊要求 支持多个已发布的版本(e.g. Windows XP, Office 2000, Office 2003) 需测试几十种语言版本 产品安装的多种方法(e.g. 典型安装、选择性安装) 产品组合的多种方法(e.g., Microsoft Excel, Microsoft Office) 需要特殊知识和技术 语言、文化 可用资源有限 懂国际测试技术人员、语言专家、测试用机、可用时间 不同语言版本测试的特殊要求 特定功能、特定打印机、键盘 自动切换配置文件
国际版本产品测试的对策 测试范围广、考虑因素多 需要特殊知识和技术 可用资源有限 不同语言版本测试的特殊要求 分清优先度 等价类测试(e.g. 亚洲版本, 阿拉伯/希伯来语, 欧洲语言) 推广自动化测试 推广Pseudo Loc测试版本 风险分析、调节重点 需要特殊知识和技术 懂国际测试技术人员、语言专家进行培训 可用资源有限 提前计划、列入总体日程 轮流手动或自动化测试主要语言版本 不同语言版本测试的特殊要求 雇用本地技术人员、配备特定硬件 自动切换配置文件
假-本地化* (pseudo localization) 假-本地化是帮助有效地进行国际化测试和本地化测试的辅助方法 MSDN 有专门文章讨论 Pseudo-Locales. 假-本地化数据用于本地化的过程。该过程把Wednesday, 8 March 2006显示成 Шěđлеśđαỳ !!!], 8 ōf [Μäŕςћ !!] ōf 2006 优点: 帮助尽早发现本地化和国际化产品缺陷 验证测试产品尊重用户特定的语言选项 懂英语技术人员都能读懂 帮助验证用户界面文字串长度 http://blogs.msdn.com/shawnste/archive/2006/06/27/647915.aspx * http://blogs.msdn.com/shawnste/archive/2006/06/27/647915.aspx
国际版本产品开发的最佳实践 过程 员工 方法技术 国际化产品质量 普及产品国际化开发知识 提早计划、列入产品开发日程 开发、测试互相支持 自动化测试机制和管理系统 推广最佳实践 人人有责 专人负责 知识资源共享 总部和个分部明确分工与互助协调 防止设计漏洞 自动化测试 等价类测试 推广Pseudo Loc测试版本 Bug bash, test pass 国际化产品质量 国际版本产品开发的最佳实践
重点总结 微软产品国际化实践告诉我们: 国际化产品研发和过程应引起特别重视 实现产品的国际化需要从产品构架的设计开始 中国软件产品和服务走向世界的需要! 实现产品的国际化需要从产品构架的设计开始 产品的国际化对测试/QA有很多挑战 发掘和推广最佳实践是成功的关键
参考信息 微软国际化软件开发信息资源:http://www.microsoft.com/globaldev/reference/default.mspx Dr.International,2003. 《Developing International Software》by Microsoft Press E-mail: Dr. International (mailto:drintl@microsoft.com)
与本次主题有关的课程 SDM 224: 张奭 (Kelly Zhang): 软件产品质量: 新挑战与新对策 http://www.microsoft.com/china/technet/TechEd/content/sdm1.asp#06
让我们一起为中国的软件行业 走在世界前列而共同奋斗! 问题解答 让我们一起为中国的软件行业 走在世界前列而共同奋斗! 谢谢大家!欢迎交流! KellyZ@microsoft.com