.NET Internationalization: The Developer's Guide to Building Global Windows and Web Applications [NOOK Book]

Overview

As business becomes more and more global, software developers increasingly need to make applications multi-lingual and culturally aware. The .NET Framework may well have the most comprehensive support for internationalization and globalization of any development platform to date, and .NET Internationalization teaches developers how to unlock and utilize that support.

Experienced international application developer Guy Smith-Ferrier covers the internationalization of both Windows...

See more details below
.NET Internationalization: The Developer's Guide to Building Global Windows and Web Applications

Available on NOOK devices and apps  
  • NOOK Devices
  • Samsung Galaxy Tab 4 NOOK
  • NOOK HD/HD+ Tablet
  • NOOK
  • NOOK Color
  • NOOK Tablet
  • Tablet/Phone
  • NOOK for Windows 8 Tablet
  • NOOK for iOS
  • NOOK for Android
  • NOOK Kids for iPad
  • PC/Mac
  • NOOK for Windows 8
  • NOOK for PC
  • NOOK for Mac

Want a NOOK? Explore Now

NOOK Book (eBook)
$25.49
BN.com price
(Save 42%)$43.99 List Price

Overview

As business becomes more and more global, software developers increasingly need to make applications multi-lingual and culturally aware. The .NET Framework may well have the most comprehensive support for internationalization and globalization of any development platform to date, and .NET Internationalization teaches developers how to unlock and utilize that support.

Experienced international application developer Guy Smith-Ferrier covers the internationalization of both Windows Forms and ASP.NET applications, using both Versions 1.1 and 2.0 of the .NET Framework. Smith-Ferrier not only teaches you the best ways to take advantage of the globalization and internationalization features built in to the .NET Framework and Visual Studio, he also provides original code to take globalized applications to the next level of international utility and maintainability.

Key topics include

• An introduction to the internationalization process and how localization and globalization are supported in Windows and the .NET Framework

• The use of resource managers, cultures, resource DLLs, and localized strings, images, and files—including strongly typed resources

• Detailed coverage of form localization in Windows Forms and Web Forms

• Dealing with regional cultures and their casing, collation, and calendars

• Managing right-to-left Middle-Eastern text and pictographic East Asian languages

• How to use the book’s original resource administration utilities

• How to translate resources with machine translation

• How to create custom cultures and integrate them with the .NET Framework 2.0 and Visual Studio 2005

• How resource managers work and how to write custom resource managers, including a resource manager that uses a database

• How to test your internationalization with FxCop using new and existing globalization rules

• How to effectively include the translator in the internationalization process

Whether you are a developer, architect, or manager, if you are involved in international applications with the .NET Framework, this is the one book you need to read and understand before you start development.

Guy Smith-Ferrier is an author, developer, trainer, and speaker with more than 20 years of software engineering experience. He has internationalized applications in four development platforms, including the .NET Framework. A frequent conference speaker, Guy is the author of C# and .NET courseware and has written numerous articles. You can read his blog at guysmithferrier.com.

Read More Show Less

Product Details

  • ISBN-13: 9780132701471
  • Publisher: Pearson Education
  • Publication date: 8/21/2006
  • Sold by: Barnes & Noble
  • Format: eBook
  • Edition number: 1
  • Pages: 656
  • File size: 11 MB
  • Note: This product may take a few minutes to download.

Meet the Author

Guy Smith-Ferrier is an author, developer, trainer, and speaker with more than 20 years of software engineering experience. He has internationalized applications in four development platforms, including the .NET Framework. He has spoken at numerous conferences on three continents and been voted Best Speaker twice. He is the author of C#/.NET courseware and the official Borland courseware for COM and ADO. He has written articles for numerous magazines, has co-authored an application development book, and is the author of the ADO chapter of Mastering Delphi 6 (Sybex, 2001). He lives in the U.K. with his wife and two children. His blog is at guysmithferrier.com.

Read More Show Less

Read an Excerpt

PrefacePreface

It is often said that the world is getting smaller every day. Cheap, fast air travel; the global economy; the global climate; the insatiable desire for standards; and, perhaps, most important of all, the Internet all play a part in the homogenization of our world. It is ironic, therefore, that this shrinking effect is not a benefit to developers—in fact, it has the opposite effect. As the world community achieves greater awareness and greater tolerance, the demand for culturally aware software increases. Within the U.S. and Canada, for example, significant Hispanic, French, and Chinese populations exist.

At best, English-only Windows applications and Web sites are difficult for these cultures. At worst, these applications and Web sites exclude or even offend these populations. Such Web sites also are potentially illegal. For example, France and Quebec, Canada, both have laws prohibiting the hosting of English-only Web sites. Many countries (Wales, for example) also require that public services always be available in the native language, in addition to English. From marketing and financial viewpoints, English-only applications—and particularly Web sites—represent a massive lost market. By their very nature, Web sites are global, but an English-only Web site loses marketing opportunities to people who do not speak English. From a marketing point of view, such a lost opportunity is a criminal waste.

Good news exists, however. The .NET Framework has arguably the most comprehensive support for internationalizing .NET applications of any development platform. The .NET Framework provides a significant infrastructure for globalizing applications,and Visual Studio 2003 and 2005 provide excellent functionality for localizing Windows applications. Although Visual Studio 2003 offered little help for ASP.NET developers, rest assured that Visual Studio 2005 has thorough support for localizing Web applications.What This Book Covers

This book covers the internationalization of .NET Windows Forms and ASP.NET applications. It covers both versions 1.1 and 2.0 of the .NET Framework, and both Visual Studio 2003 and Visual Studio 2005. Although the main focus of the book is on the .NET Framework 2.0 and Visual Studio 2005, it highlights differences between them and the .NET Framework 1.1 and Visual Studio 2003. Visual Studio 2003 developers can read this book by skipping the sections on Visual Studio 2005, but I advise against this. Visual Studio 2005 offers many useful new facilities—many of which can be retrofitted to Visual Studio 2003—to provide guidance on how to design Visual Studio 2003 applications with a clear migration path to Visual Studio 2005. For a list of the new internationalization features in the .NET Framework 2.0 and Visual Studio 2005, see Appendix A, "New Internationalization Features in the .NET Framework 2.0 and Visual Studio 2005."

Chapter 1, "A Roadmap for the Internationalization Process," provides a general overview of what is involved in internationalizing an application, and includes more specific information on why some of the more advanced chapters will be of more interest to you and what solutions can be found in them. Chapter 2, "Unicode, Windows, and the .NET Framework," lays down the foundation of what Unicode is and what you can expect from the operating system and the .NET Framework. The essential mechanics of internationalization are covered in Chapter 3, "An Introduction to Internationalization," and this should be considered a prerequisite for all other chapters. From here, Windows Forms developers should read Chapter 4, "Windows Forms Specifics," and ASP.NET developers should read Chapter 5, "ASP.NET Specifics." Chapter 6, "Globalization," covers the concept of globalization in depth, along with the .NET Framework globalization classes and some solutions for globalization issues that are not covered by the .NET Framework classes. Chapter 7, "Middle East and East Asian Cultures," covers issues that are specific to right-to-left cultures (Arabic, Divehi, Farsi, Hebrew, Syriac, and Urdu) and Asian cultures (Chinese, Korean, and Japanese). Chapter 8, "Best Practices," provides internationalization guidance on a more general level, including issues such as the choice of fonts. Chapter 9, "Machine Translation," provides solutions for automatically translating your resources into other languages. Chapter 10, "Resource Administration," describes a number of utilities included in the source code for this book, to help with the administration of resources.

As applications grow beyond the simplistic examples used to illustrate concepts, the maintenance and management of applications' resources demand more dedicated solutions. Chapter 11, "Custom Cultures," describes how to create your own cultures and integrate them into the .NET Framework 2.0 and Visual Studio 2005. Custom cultures are useful for creating pseudo translations, supporting unsupported cultures, creating commercial dialects, and supporting languages outside their normal country (e.g., Spanish in the U.S., Chinese in Canada, and Urdu in the United Kingdom). Chapter 12, "Custom Resource Managers," describes how the existing resource managers work internally, and how to write new resource managers and use them in Windows Forms applications and ASP.NET applications. Custom resource managers are the solution to numerous developer issues, from changing the origin of resources (to, say, a database) to changing the functionality of resource managers (to, say, standardize specific properties throughout an application). Chapter 13, "Testing Internationalization Using FxCop," shows how to use FxCop to apply internationalization rules to your assemblies. It covers the existing FxCop globalization rules, introduces new globalization rules based on the issues raised throughout this book, and shows how to write these rules to enable you to write your own rules. Chapter 14, "The Translator," discusses the issues and solutions involved in including the translator in the internationalization process. As noted already, Appendix A, "New Internationalization Features in .NET Framework 2.0 and Visual Studio 2005," includes a list of the new features in the .NET Framework 2.0 and Visual Studio 2005. Most of these features are covered throughout the book, so this appendix is mostly a list of pointers to chapters within the book. Appendix B, "Information Resources," is a list of books, resources, Web sites, magazines, online machine-translation Web sites, blogs, conferences, organizations, and commercial machine-translations products that will raise your awareness of the internationalization community.Who Should Read This Book

This book is aimed at developers, team leaders, technical architects—essentially, anyone who is involved in the technical aspects of internationalizing .NET applications. The book uses C# examples, but the content is equally relevant to Visual Basic.NET developers and anyone who uses Visual Studio. The book expects that Visual Studio will be the main development environment, but many chapters focus solely on the .NET Framework. As such, the information contained within has equal value if you use an alternative development environment such as SharpDevelop or Borland Delphi 2005.What You Need to Use This Book

To get the most from this book, you need the .NET Framework 2.0 and Visual Studio 2005. Alternatively, you can follow a large part of this book using the .NET Framework 1.1 and Visual Studio 2003. You can follow a lesser part of this book using the .NET Framework 1.1 or 2.0 and an alternative development environment.Source Code

The complete source code for this book is available for download at http://www.dotneti18n.com. You will also find errata, updates to the code, new code examples, and additional information.

© Copyright Pearson Education. All rights reserved.

Read More Show Less

Table of Contents

1 A Roadmap for the Internationalization Process 1

2 Unicode, Windows, and the .NET Framework 15

3 An Introduction to Internationalization 29

4 Windows Forms Specifics 63

5 ASP.NET Specifics 123

6 Globalization 163

7 Middle East and East Asian Cultures 221

8 Best Practices 253

9 Machine Translation 299

10 Resource Administration 333

11 Custom Cultures 361

12 Custom Resource Managers 405

13 Testing Internationalization Using FxCop 487

14 The Translator 537

A New Internationalization Features in the .NET Framework 2.0 and

Visual Studio 2005 573

B Information Resources 597

Index 607

Read More Show Less

Preface

Preface

It is often said that the world is getting smaller every day. Cheap, fast air travel; the global economy; the global climate; the insatiable desire for standards; and, perhaps, most important of all, the Internet all play a part in the homogenization of our world. It is ironic, therefore, that this shrinking effect is not a benefit to developers—in fact, it has the opposite effect. As the world community achieves greater awareness and greater tolerance, the demand for culturally aware software increases. Within the U.S. and Canada, for example, significant Hispanic, French, and Chinese populations exist.

At best, English-only Windows applications and Web sites are difficult for these cultures. At worst, these applications and Web sites exclude or even offend these populations. Such Web sites also are potentially illegal. For example, France and Quebec, Canada, both have laws prohibiting the hosting of English-only Web sites. Many countries (Wales, for example) also require that public services always be available in the native language, in addition to English. From marketing and financial viewpoints, English-only applications—and particularly Web sites—represent a massive lost market. By their very nature, Web sites are global, but an English-only Web site loses marketing opportunities to people who do not speak English. From a marketing point of view, such a lost opportunity is a criminal waste.

Good news exists, however. The .NET Framework has arguably the most comprehensive support for internationalizing .NET applications of any development platform. The .NET Framework provides a significant infrastructure for globalizing applications, and Visual Studio 2003 and 2005 provide excellent functionality for localizing Windows applications. Although Visual Studio 2003 offered little help for ASP.NET developers, rest assured that Visual Studio 2005 has thorough support for localizing Web applications.

What This Book Covers

This book covers the internationalization of .NET Windows Forms and ASP.NET applications. It covers both versions 1.1 and 2.0 of the .NET Framework, and both Visual Studio 2003 and Visual Studio 2005. Although the main focus of the book is on the .NET Framework 2.0 and Visual Studio 2005, it highlights differences between them and the .NET Framework 1.1 and Visual Studio 2003. Visual Studio 2003 developers can read this book by skipping the sections on Visual Studio 2005, but I advise against this. Visual Studio 2005 offers many useful new facilities—many of which can be retrofitted to Visual Studio 2003—to provide guidance on how to design Visual Studio 2003 applications with a clear migration path to Visual Studio 2005. For a list of the new internationalization features in the .NET Framework 2.0 and Visual Studio 2005, see Appendix A, "New Internationalization Features in the .NET Framework 2.0 and Visual Studio 2005."

Chapter 1, "A Roadmap for the Internationalization Process," provides a general overview of what is involved in internationalizing an application, and includes more specific information on why some of the more advanced chapters will be of more interest to you and what solutions can be found in them. Chapter 2, "Unicode, Windows, and the .NET Framework," lays down the foundation of what Unicode is and what you can expect from the operating system and the .NET Framework. The essential mechanics of internationalization are covered in Chapter 3, "An Introduction to Internationalization," and this should be considered a prerequisite for all other chapters. From here, Windows Forms developers should read Chapter 4, "Windows Forms Specifics," and ASP.NET developers should read Chapter 5, "ASP.NET Specifics." Chapter 6, "Globalization," covers the concept of globalization in depth, along with the .NET Framework globalization classes and some solutions for globalization issues that are not covered by the .NET Framework classes. Chapter 7, "Middle East and East Asian Cultures," covers issues that are specific to right-to-left cultures (Arabic, Divehi, Farsi, Hebrew, Syriac, and Urdu) and Asian cultures (Chinese, Korean, and Japanese). Chapter 8, "Best Practices," provides internationalization guidance on a more general level, including issues such as the choice of fonts. Chapter 9, "Machine Translation," provides solutions for automatically translating your resources into other languages. Chapter 10, "Resource Administration," describes a number of utilities included in the source code for this book, to help with the administration of resources.

As applications grow beyond the simplistic examples used to illustrate concepts, the maintenance and management of applications' resources demand more dedicated solutions. Chapter 11, "Custom Cultures," describes how to create your own cultures and integrate them into the .NET Framework 2.0 and Visual Studio 2005. Custom cultures are useful for creating pseudo translations, supporting unsupported cultures, creating commercial dialects, and supporting languages outside their normal country (e.g., Spanish in the U.S., Chinese in Canada, and Urdu in the United Kingdom). Chapter 12, "Custom Resource Managers," describes how the existing resource managers work internally, and how to write new resource managers and use them in Windows Forms applications and ASP.NET applications. Custom resource managers are the solution to numerous developer issues, from changing the origin of resources (to, say, a database) to changing the functionality of resource managers (to, say, standardize specific properties throughout an application). Chapter 13, "Testing Internationalization Using FxCop," shows how to use FxCop to apply internationalization rules to your assemblies. It covers the existing FxCop globalization rules, introduces new globalization rules based on the issues raised throughout this book, and shows how to write these rules to enable you to write your own rules. Chapter 14, "The Translator," discusses the issues and solutions involved in including the translator in the internationalization process. As noted already, Appendix A, "New Internationalization Features in .NET Framework 2.0 and Visual Studio 2005," includes a list of the new features in the .NET Framework 2.0 and Visual Studio 2005. Most of these features are covered throughout the book, so this appendix is mostly a list of pointers to chapters within the book. Appendix B, "Information Resources," is a list of books, resources, Web sites, magazines, online machine-translation Web sites, blogs, conferences, organizations, and commercial machine-translations products that will raise your awareness of the internationalization community.

Who Should Read This Book

This book is aimed at developers, team leaders, technical architects—essentially, anyone who is involved in the technical aspects of internationalizing .NET applications. The book uses C# examples, but the content is equally relevant to Visual Basic.NET developers and anyone who uses Visual Studio. The book expects that Visual Studio will be the main development environment, but many chapters focus solely on the .NET Framework. As such, the information contained within has equal value if you use an alternative development environment such as SharpDevelop or Borland Delphi 2005.

What You Need to Use This Book

To get the most from this book, you need the .NET Framework 2.0 and Visual Studio 2005. Alternatively, you can follow a large part of this book using the .NET Framework 1.1 and Visual Studio 2003. You can follow a lesser part of this book using the .NET Framework 1.1 or 2.0 and an alternative development environment.

Source Code

The complete source code for this book is available for download at http://www.dotneti18n.com. You will also find errata, updates to the code, new code examples, and additional information.

© Copyright Pearson Education. All rights reserved.

Read More Show Less

Customer Reviews

Be the first to write a review
( 0 )
Rating Distribution

5 Star

(0)

4 Star

(0)

3 Star

(0)

2 Star

(0)

1 Star

(0)

Your Rating:

Your Name: Create a Pen Name or

Barnes & Noble.com Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & Noble.com that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & Noble.com does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at BN.com or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation

Reminder:

  • - By submitting a review, you grant to Barnes & Noble.com and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Noble.com Terms of Use.
  • - Barnes & Noble.com reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & Noble.com also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on BN.com. It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

 
Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously

    If you find inappropriate content, please report it to Barnes & Noble
    Why is this product inappropriate?
    Comments (optional)