Developing International Software (2 PAP/CDR)

Developing International Software (2 PAP/CDR)

  • ただいまウェブストアではご注文を受け付けておりません。 ⇒古書を探す
  • 製本 Paperback:紙装版/ペーパーバック版/ページ数 1060 p.
  • 言語 ENG
  • 商品コード 9780735615830
  • DDC分類 005.1

Full Description


In today's global economy, there are clear advantages to developing applications that can meet the needs of users across a wide variety of languages, countries, and cultures. Discover how to develop for the whole world with the second edition of this classic guide-now completely revised and updated to cover the latest techniques and insights, and designed for anyone who wants to write world-ready code for the Microsoft Windows 2000 and Windows XP platforms. It explains how to localize applications easily and inexpensively, determine important culture-specific issues, avoid international pitfalls and legal issues, use the best available technologies and coding practices, and more. It covers all of the essentials for developing international software-while revealing the hard-earned collective wisdom of the Microsoft international teams. Topics covered include: Introduction: Understanding internationalization and designing a world-ready program Globalization: Unicode; locale and cultural awareness; text input, output, and display; multilingual user interface (MUI) Localizability: Software localizability guidelines, mirroring, and content localizability guidelines Localization and testing: Localization, testing for world-readiness, sample international test cases, and testing localizability with pseudolocalization Tools and technologies: Graphics Device Interface Plus (GDI+), Hypertext Markup Language (HTML), Microsoft Internet Information Services (IIS), Microsoft Office, MLang, Microsoft Layer for Unicode (MSLU), The Microsoft .NET Framework, OpenType Fonts, RichEdit, Microsoft SQL Server, Text Services Framework (TSF), Uniscribe, Microsoft Visual Studio .NET, electronic copy of the book Code pages, documentation, and a case study Sample code, including Windows Platform SDK samples and .NET samples International tools and utilitiesFor customers who purchase an ebook version of this title, instructions for downloading the CD files can be found in the ebook.

Contents

List of Figures xxi List of Tables xxvi Foreword xxxi Acknowledgments xxxiii How to Use This Book xxxv PART I INTRODUCTION 1 Understanding Internationalization 3 Locales 5 World-Readiness 7 Localization 10 The Localization Process 12 Shipment of International Products 14 Summary 17 2 Designing a World-Ready Program 19 Identifying World-Ready Requirements in Specifications 21 Planning for Globalization 22 Customizing Features 23 Designing an International User Interface That s Localizable 25 Researching Legal Issues 27 Keeping Features Accessible 28 Organizing a Product Team 29 Setting Up a World-Ready Development Environment 32 Eliminating Compile Dependencies 33 Making Life Easier for Translators 36 Testing Considerations 38 Summary 39 PART II GLOBALIZATION 3 Unicode 43 Traditional Character Encoding 44 Basics of Character Encoding 45 A Closer Look at Unicode 54 Unicode s Capabilities 54 Unicode s Functionality 59 Windows Support for Unicode 63 Creating Win32 Unicode Applications 64 WCHAR, a 16-Bit Data Type 66 W Function Prototypes for Win32 APIs 66 Unicode Text Macro 67 C Run-Time Extensions 68 Conversion Functions Between Code Page and Unicode 69 Compiling Unicode Applications in Visual C++ 69 Migration to Unicode 70 Options to Migrate to Unicode 73 Best Practices 74 Encodings in Web Pages 75 Options for Web Encoding 76 Setting and Manipulating Encodings 77 User Override 80 Internet Explorer Language Support 80 Encodings in the .NET Framework 81 Encoding Support for Code Pages 82 Encodings in Console or Text-Mode Programming 84 CRT Console I/O 86 Win32 Text-Mode I/O 87 Summary 89 4 Locale and Cultural Awareness 91 Concept of Locale 93 Locale Variables 93 NLS and Locale ID 103 The CultureInfo Class in the .NET Framework 105 Retrieving the Right Locale 106 Retrieving the User Locale in Win32 106 Retrieving the Browser Language Setting 108 Retrieving the Current CultureInfo 110 Date and Calendar Formatting 111 Manipulating Calendars and Formatting Dates in Win32 114 Date Formatting in Web Pages 119 Date and Calendar Formatting in the .NET Framework 119 Time Formatting 123 Time Formatting and Time Zones in Win32 125 Time Formatting in Web Pages 129 Time Formatting and Time Zones in the .NET Framework 129 Currency Formatting 132 Currency Formatting in Win32 133 Currency Formatting in Web Pages 135 Currency Formatting in the .NET Framework 136 Casing 139 Casing in Win32 140 Casing in Web Pages 141 Casing in the .NET Framework 141 Sorting and String Comparison 142 String Comparison and Sorting in Win32 142 String Comparison and Sorting in the .NET Framework 147 Number Formatting 154 Number Formatting in Win32 156 Number Formatting in Web Pages 158 Number Formatting in the .NET Framework 158 Addresses 160 Paper Size 161 Telephone Numbers 161 Units of Measure 163 Units of Measure in Win32 163 Units of Measure in the .NET Framework 164 Locale Awareness in Console 164 C Run Time 164 Win32 and .NET Framework 165 Summary 165 5 Text Input, Output, and Display 167 Input Languages 168 Techniques for Handling Input Languages 171 Input Method Editors 174 Complex Scripts 183 Characteristics of Complex Scripts 184 Windows Support for Complex Scripts 188 Options for Displaying Text 189 Text Layout in Win32 Applications 189 Text Input, Output, and Display in Web Content and in the .NET Framework 196 Fonts 196 Font Support in Windows 2000 and Windows XP 197 Font Selection in Win32 Applications 200 Font Manipulation in Web Content 208 Summary 210 6 Multilingual User Interface (MUI) 211 MUI Support in Windows 212 Availability 212 Advantages of MUI 213 Options for Offering an MUI Solution 215 Method 1: Language-Dependent Binary 216 Method 2: One Multilingual Resource File 217 Method 3: Satellite DLLs 220 How to Implement Your Own Satellite DLLs 222 MUI in Win32 Applications 222 Multilingual Web Content 227 Resource Handling in the .NET Framework 231 Resource Loading in the .NET Framework 235 Resource Handling in Console Applications 237 Summary 240 PART III LOCALIZABILITY 7 Software Localizability Guidelines 243 Isolating Localizable Resources 244 String Handling 249 Avoid Run-Time Composite Strings 249 When Variables Are Necessary, Use Unique Names 250 Do Not Compound Several Variables 255 Keep Sentences in a Single String 256 Watch Your String Buffer Sizes 257 Localizability Considerations for the UI 257 Element Resizing 258 Localizability of UI Controls 265 Images and Icons 268 Summary 274 8 Mirroring 275 The Technology 276 Mirroring in Win32 Applications 277 Enabling Mirroring in Resources 278 Enabling Mirroring in Code 279 Mirroring and Property Sheets 283 Mapping Coordinates 284 Handling Direction-Sensitive Graphics 286 Mirroring and Image-List Controls 291 Mirroring in Web Pages 292 Directional Images 296 Forced Left Alignment of the Text 297 Absolute CSS Positioning 297 Reversibility Offered by Tables 298 Mirroring in the .NET Framework 299 Mirrored Web Forms 300 Mirrored Windows Forms 300 Message Boxes 305 Summary 306 9 Content Localizability Guidelines 307 Keep Content Simple 308 Follow Basic Writing Style Principles 309 Respect Cultural and Local Sensitivity 310 Write for Easy Recycling and Reduced Localization Costs 311 Respect Cultural Sensitivity in Art and Multimedia 312 Design the Help System with Global Functionality 314 Summary 314 PART IV LOCALIZATION 10 Localization 317 Localization Elements 319 Text 319 Layout 320 Graphics and Multimedia 321 Keyboard Shortcuts 322 Fonts 322 Locale Data and Character Sets 322 Build Process and Packaging 322 Localization Tools 323 Localization Team 324 The Localizer s Technical Knowledge 325 Establishing Localization Guidelines 327 Ensuring Effective Localization 327 Scheduling International Releases 328 Localization Outsourcing 329 Content Localization 330 Summary 331 PART V TESTING 11 Testing for World-Readiness 335 Quality Assurance for World-Readiness 336 The World-Ready Approach to Testing 337 Globalization of the Test 339 Preparing the Test 341 Carrying Out the Test 344 Localizability Testing 347 Localization Testing 350 General Areas of Focus in Localization Testing 351 Platform in Localization Testing 352 Localization Testing of the UI 352 The Role of Test Tools 353 Summary 355 Sample International Test Cases 357 12 Testing Localizability with Pseudo-Localization 369 Categories of Localizability Bugs 370 Most Common Features of Pseudo-Localization 372 Additional Uses for Pseudo-Localization 373 Pseudo-Localization of Graphics and Audio 374 Pseudo-Localization of Content (Help Files, Web Content) 374 Pseudo-Mirroring for BiDi Languages 374 Commenting Models 375 Summary 376 PART VI TOOLS AND TECHNOLOGY 13 Graphics Device Interface Plus (GDI+) 379 Overview of the Technology 379 What s New in GDI+? 380 Programming Model 381 Availability 381 International Features 381 Typography Handling in GDI+ 382 Font Fallback 384 Anti-Aliasing and ClearType 385 International Best Practices 386 Consider the Differences Among Various Scripts 386 Do Not Display One Character at a Time 386 Additional Resources 387 Summary 387 14 Hypertext Markup Language (HTML) 389 Overview of the Technology 389 International Features 391 Character Entity References 391 Form Submission 392 URL Encoding 393 Cascading Style Sheets 394 The LANG Attribute 396 Other Language Properties 396 Bidirectional Layout 397 The BDO Element 397 Setting Direction with CSS 397 International Best Practices 401 Additional Resources 401 Summary 402 15 Microsoft Internet Information Services (IIS) and Microsoft Active Server Pages (ASP) 403 Overview of the Technology 403 Availability 404 International Features 404 Code-Page Settings 405 Request Collections 408 URI Processing 409 Other Methods and Components 409 Logging 410 Issues with IIS 4 and IIS 5 411 International Best Practices 411 Additional Resources 412 Summary 413 16 Microsoft Office 415 Overview of the Tool 415 Availability 416 International Features 417 Proofing in over 40 Languages 417 Support for Asian-Language Input 417 Support for Sorting in a Wide Array of Languages 418 Proper Date and Currency Formats 418 Support for I/O of Text Files and of Web Pages in Any Encoding 419 Application-Specific Features for Certain Markets 419 International Best Practices 420 Maintain a Single Code Base 420 Consider Your User 420 Don t Forget to Make Your Application Localizable 420 Alternatives 421 Additional Resources 421 Summary 422 17 MLang 423 Overview of the Technology 423 Availability 424 International Features 425 Code-Page and Locale Enumeration 425 Character-Set Conversion 426 Code-Page Detection 427 Font Linking 427 Alternatives 429 Additional Resources 429 Summary 429 18 Microsoft Layer for Unicode (MSLU) 431 Overview of the Tool 431 How MSLU Works 434 How (and When) to Handle Overrides 435 Availability 437 Additional Resources 438 Summary 438 19 The Microsoft .NET Framework 439 Overview of the Platform 439 Availability 441 International Features 441 Additional Resources 442 Summary 443 20 OpenType Fonts 445 Overview of the Technology 445 Availability 446 International Features 446 Substitution of Alternative Glyph Forms 449 How OpenType Works 450 Issues 451 International Best Practices 452 Pay Attention to All Linguistic Features 452 Note the Order of Lookups 452 Consider Storage Efficiency 452 Use Device Tables to Position Diacritics at Very Small Point Sizes 452 Familiarize Yourself with All Recommendations for OpenType Fonts 452 Alternatives 453 Additional Resources 453 Summary 454 21 Rich Edit 455 Overview of the Technology 455 Creating a Rich Edit Control 456 Availability 458 International Features 459 Font Binding 460 Unicode Surrogate Pairs 461 Interfaces 462 Support for Input Method Editors 463 Issues 465 International Best Practices 465 Consider Backward Compatibility with Non-Unicode Text 465 Take Font Sizing into Account 466 Know How to Handle Multicode Sequences 466 Alternatives 467 Additional Resources 467 Summary 468 22 Microsoft SQL Server 469 Overview of the Technology 469 Availability 469 International Features 470 Data Types in SQL Server 2000 470 Collation 474 International Best Practices 479 Always Use Unicode Data Types 479 Standardize the Site Collation Where Possible 480 Deploy a Unicode Server and Client If Possible 480 Consider Storage Space and Performance 481 Delimit Identifiers for Objects in System Tables 483 Additional Resources 483 Summary 484 23 Microsoft Windows Text Services Framework (TSF) 485 Overview of the Technology 485 TSF Capabilities 486 Architecture and Object Model 487 Using TSF in Your Application 491 Availability 491 International Features 491 Support for New Methods of Input for the General User 491 Speech and Handwriting Support for East Asian Languages 492 No Need for Device- or Language-Specific APIs 492 Additional Resources 493 Summary 493 24 Uniscribe 495 Overview of the Technology 495 Text Line Support 496 Text Run Support 496 Uniscribe Versions 496 Availability 497 International Features 497 Kerning 497 Ligatures 498 Combining Marks and Character Reordering 499 RTL and LTR Reading Order 500 Many-to-Many Relationship Between Characters and Glyphs 501 Caret Placement 502 Additional Resources 502 Summary 503 25 Microsoft Visual Studio .NET 505 Overview of the Tool 505 Availability 506 International Features 506 Support for Various Encodings and for Font Linking 507 Support for Localized Windows Forms 507 Support for Localized Web Applications 508 Deployment Projects 509 Visual C++ Support for Various Character Encodings 509 Locale Model 510 MFC and ATL Libraries 510 Additional Resources 511 Summary 511 26 Extensible Markup Language (XML) 513 Overview of the Technology 513 Availability 516 International Features 518 International Best Practices 520 Use UTF-8 520 Make Sure Your XML Data Is Locale-and Culture-Neutral 520 Take Advantage of MSXML Tips and Tricks 521 Take Advantage of System.XML Tips and Tricks 524 Additional Resources 525 Summary