Internationalization with Visual Basic

( 7 )


Internationalization with Visual Basic is designed to get the Visual Basic developer into the realm of applications that can run in different locales and even process data from multiple locales.

Internationalization with Visual Basic explains how to create a Visual Basic application that will support the international marketplace. The readers will learn the important differences between globalization, multinationalization, and localization and how each affects their application....

See more details below
Available through our Marketplace sellers.
Other sellers (Other Format)
  • All (7) from $1.99   
  • New (1) from $155.00   
  • Used (6) from $1.99   
Sort by
Page 1 of 1
Showing All
Note: Marketplace items are not eligible for any coupons and promotions
Seller since 2015

Feedback rating:



New — never opened or used in original packaging.

Like New — packaging may have been opened. A "Like New" item is suitable to give as a gift.

Very Good — may have minor signs of wear on packaging but item works perfectly and has no damage.

Good — item is in good condition but packaging may have signs of shelf wear/aging or torn packaging. All specific defects should be noted in the Comments section associated with each item.

Acceptable — item is in working order but may show signs of wear such as scratches or torn packaging. All specific defects should be noted in the Comments section associated with each item.

Used — An item that has been opened and may show signs of wear. All specific defects should be noted in the Comments section associated with each item.

Refurbished — A used item that has been renewed or updated and verified to be in proper working condition. Not necessarily completed by the original manufacturer.

Brand new.

Ships from: acton, MA

Usually ships in 1-2 business days

  • Standard, 48 States
  • Standard (AK, HI)
Page 1 of 1
Showing All
Sort by
Sending request ...


Internationalization with Visual Basic is designed to get the Visual Basic developer into the realm of applications that can run in different locales and even process data from multiple locales.

Internationalization with Visual Basic explains how to create a Visual Basic application that will support the international marketplace. The readers will learn the important differences between globalization, multinationalization, and localization and how each affects their application. The book explains these concepts in detail while teaching the reader how to build an international application in Visual Basic. Readers will learn the importance basic user interface issues as well as going beyond the default language setting to handle these global issues. Included at the end of the book is an extensive reference section that will include valuable resources and links, character references, language identifiers, and various currency, date, and calendar formats.

  • Specific topics covered will include:
  • Using calendars
  • Regional settings
  • Building localized applications
  • Handling localized resources with satellite DLLs
  • Handling external formats
  • Web interface issues
  • Extending ASP with components and services
  • Creating documentation and using HTML help
Read More Show Less

Editorial Reviews

This book/CD-ROM package explains how to create a Visual Basic application that will be accepted in the international marketplace. Sections discuss globalization issues such as calendars and user interface issues, multinationalization, building localized applications and handling localized resources, databases, Web interface issues, and application content and help systems. Includes 100 pages of reference tables. The CD-ROM contains code samples, tables, fonts that support various international characters, keyboard layouts, and demo versions of software for internationalization. Kaplan is owner and lead developer of a software consulting company. Annotation c. Book News, Inc., Portland, OR (
Read More Show Less

Product Details

  • ISBN-13: 9780672319778
  • Publisher: Sams
  • Publication date: 9/22/2000
  • Series: Sams White Books Series
  • Edition description: BK&CD-ROM
  • Pages: 645
  • Product dimensions: 7.28 (w) x 9.04 (h) x 1.48 (d)

Table of Contents

1. Getting Started.
Thinking Globally: The Earth Is Round. Speaking the Same Language (in This Book!).
Internationalization (i18N). Multinationalization (M18N). Translation. Localization. Code Pages. Unicode: UCS-2, UCS-4, UTF-7, UTF-8, UTF-16, and So On. Glyphs. Fonts. Strings and BSTRs. Character Sets. Language and Locale. Locale ID (LCID). Primary Language Identifier (PRIMARYLANGID). Sublanguage Identifier (SUBLANGID). Language Identifier (LANGID). Sort Identifier (SORTID). Sort Version (SORTVERSION). Worldwide EXE. Input Method Editor (IME).


2. Working with Number, Date, and Currency Formats.
Handling Dates. Date/Time Formats.
COM and Evil Date Guessing. Are Time Zones a Problem? Wrapping Up Dates.
Handling Numbers and Currency.
Locale-Specific Numbers. The Euro: Farewell to “One Currency to a Customer.”

3. Calendars.
The Gregorian Calendar. Using the DateTimePicker and MonthView Controls in VB. Creating a Calendar Control Without Using DTPicker or MonthView. The Hijri Calendar. The Thai Calendar. Other Calendars.

4. User Interface Issues.
Basic User Interface Issues. All About Fonts.
Installing Fonts. Using Fonts. Font Character Sets.
Enough Space to Type. Sorting Data.
European Language Sorting Differences. Asian Language Sorting Differences.
Advanced UI Issues.
Bi-Directional (BiDi)Support for Hebrew, Arabic, and Farsi. Integrating the Input Method Editor (IME) for Asian Languages. Using the IME. Handling “Unicode-Only” Languages Such As Hindi, Tamil, and Georgian.

5. Regional Settings.
Different Systems of Measurement. Handling Changes to the Regional Settings. Working with LCIDs. Intrinsic Visual Basic Functions.


6. VB—Is It ANSI or Unicode?
A Brief History of Microsoft Products and Unicode.
16-Bit Windows (Windows 3.0, 3.1, and 3.1x). COM in the 16-Bit World. Visual Basic in the 16-Bit World. Windows NT. Windows 95. COM in the 32-Bit World. Windows 98. Windows Millennium Edition (Windows Me). Data Storage Engines. Data Access Methods. Microsoft Office. Windows 2000. Windows CE.
Visual Basic in the 32-Bit World. Looking at Future Versions of Visual Basic.

7. Understanding the Code Page Barrier.
Why Call It a Barrier?
Barriers as Immaterial (Theoretical) Hindrances. Barriers as Material (Real) Hindrances. Okay, It's a Barrier of One or Both Sorts. Why Cross It?
Using Unicode to Handle All These Languages.
The Many Faces of the StrConv Function. Using API Calls. Why You Should Not Try to Do It Yourself.
File I/O Functions. API Declarations. Windows 95/98/Me ANSI Dependencies. Where Does MLang Fit In? Handling Complex Scripts.
Problems with Calling Uniscribe. The Standard ScriptUniscribe APIs. The ScriptStringAPIs. A Real-World Example: A Multilingual Edit Control.

8. Handling VB Forms and Formats.
Using COM to Circumvent VB's Fear of Other Locales.
Keeping It Simple with VariantChangeTypeEx. Handling Time Zones.
Right Back to Calendars.
A “Do It Yourself” MonthView Control. Creating Your Own Calendar Without VB or the Windows Common Controls.
“Ruby” Forms in Visual Basic.
VB Edit Controls. VB Static Controls. Ruby Label Controls. Using the MSForms 2.0 (Forms3) Controls. The Windowless Controls from the Visual Basic CD. Displaying ToolTips. Handling Menu Items. Third-Party RichEdit Controls.


9. Building the Localized Application.
Translation Versus Localization. Keeping UI Elements in Resource Files.
Windows Resource Files. Using Multiple Resource Files. How Windows Decides What Resources to Load. Using Resources in VB Code.
Keeping Localize-able Resources in a Jet Database.

10. Handling Localized Resources with Satellite DLLs.
The Worldwide EXE. Choosing a Language.
The Default System Locale. The Default User Locale. The Windows 2000 UI Language. The Office 2000 UI Language. User-Selected Locale.
Dealing with the Actual Resources You Have Chosen to Use.
Release Scheduling. Code Maintenance and Upgrading.
Localizing an Existing Product That Was Never Designed with Such Issues in Mind. Writing Your UI Strings.
Poor Source Language Knowledge. Jargon. Poor Technical Knowledge.
Defining Resources Properly (Word Order, When to Reuse Text, Avoiding Concatenation).
Word Order. Reusing Text. Concatenating Phrases. Using Placeholder Tokens in Text.
Avoiding Machine Translation. Beyond String Tables (Localizing Whole Dialogs).
Dealing with BiDi Issues in Your Localized Forms.
Glossaries—Why Localizers Use Them, Why You Should Help Define Them. Outsourcing Localization.
Selecting a Localization Company. Working with a Localization Company.
Third-Party Localization Products for Visual Basic. The Trigeminal Software Win32Dialog Tools.
The TsiWin32Dialog.dll Add-in. Using the Win32Dialog Framework. The Runtime Win32Dialog Components.


11. Handling External Formats.
Handling User Data That Might Not Be in Their Locale.
Getting Data into a Database. Storing Your Data. Getting Data Out of a Database.
Using VB's Data Controls to Display the Data. Working with Text and HTML Files.
Reading Text/HTML Files into a Database. Specify International Options in a schema.ini File. Where Do the Text and HTML "Specifications" in Microsoft Access Fit In?
Dealing with XML and Other Internet Formats.

12. Jet, SQL Server, and Other Databases.
Database Schema Issues. Using Jet 4.0 and SQL Server 7.0/2000—Unicode (UCS-2) and Spanning Code Pages. Using Jet 3.5 and SQL Server 6.5—One Code Page at a Time. When the Database Is Not Jet, and Not SQL Server.
Oracle and Sybase. FoxPro. Excel.
Collation Orders: Just One Sort at a Time, Even with Unicode.
Problems with Case Sensitivity in ADO and DAO. Sorting/Searching Within a Given Collation Order. Handling Unicode Strings in SQL Queries. Sorting Outside of a Given Collation Order.
Handling More than One Locale per Database.
More on SQL Server 2000 International Features. Using Sort Keys (and Creating Your Own).
Using Replication to Use the Same Data Under Multiple Sort Orders.
Unique Indexes on Text Fields. Jet Partial Replicas and SQL Server Partitioned Replicas.
Case-Sensitive SQL Servers, ADO, and DAO. The i18N Issues with Dates and Databases.
Jet Dates. SQL Server Dates.


13. Web Interface Issues.
Basic Web Interface Issues.
ASPCodePage and the Metabase. CODEPAGE. Session.CodePage. charset. Getting Multilingual Text In and Out of a Database on a Web Site. LCID. Session.LCID. GetLocale/SetLocale.
The Role of VBScript and JScript on the Server Side. The Role of Client-Side Scripting. Fitting XML into the Mix. Server Issues: Operating System, Software, and Other Decisions.
What Operating System to Use? What Software Needs to Be on the Server?

14. Extending Web Applications with VB Components and Services.
Visual Basic's Role in International Web Applications. Extending ASP with Visual Basic Components. Providing Locale-Dependent Services. Creating Locale-Independent Components. The i18N Implications of Page Navigation and Inclusion.
Response.Redirect. Server-Side Includes. Server.Transfer. Server.Execute.
Using Third Party Components.


15. Extending Localization and Globalization Concepts.
Some Examples of Locale-Specific Misunderstandings. Spell Checking and Synonym Lookups with Different Languages. Holidays and Other Content-Based Calendar Issues. Issues to Look Out for in Your Content.
Keep Examples from Being Locale Specific. Keeping Geography Out of It. Humor Is Often Not the Way to Make Users Comfortable.
Bad Usability Assumptions for Localized Applications. The HTML Help Workshop and Other Languages. Dangerous Assumptions to Make in Applications. Paper Sizes. At a Minimum Testing (and Possibly Developing and/or Deploying) on Windows 2000. Names, Addresses, Phone Numbers, Postal Codes, and Other Formats That Can Change from Place to Place.

16. Testing International Software.
Planning Out What to Test?
Category 1: Regional Settings. Category 2: Input Locales and Data Storage. Category 3: Default System Language. Category 4: Faux-Localized Operating System. Category 5: Truly Localized Operating System.
Choosing Which Category from Table 16.1 to Support. Language Tiers. Installation of the Application Under Test (AUT). Execution of Your International Test Cases.
Things to Keep in Mind for i18N. Things to Keep in Mind for L10N. Things to Keep in Mind for Complex Scripts.


Appendix A. Resources and Links.
Interesting and Important Web Sites. Books.

Appendix B. Code Pages.
Font Character Sets. Unicode 2.0/3.0 Character Ranges and Beyond. General Scripts Area. Symbols Area. CJK Phonetics and Symbols Area. Braille. CJK Ideographs Area. Hangul Syllables Area. Surrogates Area. Private Use Area. Compatibility Areas and Specials.

Appendix C. Locale IDs (LCIDs).
Removed LCIDs. User-Defined LCIDs. Primary Language Identifiers (PRIMARYLANGIDs). User-Defined Primary Language Identifiers. Sublanguage Identifiers (SUBLANGIDs). User-Defined Sublanguage Identifiers. Sort Identifiers. Country Codes.

Appendix D. Formats.
Currency Formats. Date/Time Formats. Address Formats.

Appendix E. International Keyboard Layouts.
Read More Show Less

Customer Reviews

Average Rating 3.5
( 7 )
Rating Distribution

5 Star


4 Star


3 Star


2 Star


1 Star


Your Rating:

Your Name: Create a Pen Name or

Barnes & 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 & 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 & 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 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


  • - By submitting a review, you grant to Barnes & and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Terms of Use.
  • - Barnes & reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & 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 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
Sort by: Showing all of 7 Customer Reviews
  • Anonymous

    Posted January 15, 2001

    Very poorly written

    I am very dissappointed and do not recommend this book; very poorly written and organized. Also, the VB code does not work on our platforms.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted October 27, 2000

    A vademecum for the i18Ner

    Remember the fable about 7 visually challenged fellows and an elephant? Now, I have done projects which were originally conceptualized to be 'localizable' or even, to use Mr Kaplan's word, 'multi-nationalized' (i.e., one self-adapting distributable), and so I knew this beast of i18N (internationalization: i + 18 letters + N) was like a wall _and_ like a firehose _and_ like a tree, but a week ago I sure didn't know it was _also_ like a rope and like a fan etc . . . (In fact, I would have snickered at the fool who said 'fan'!) Having read this book, I finally have an idea of what this elephant is really like, and with that knowledge comes a sense of power that it can be tamed. Everybody in the business seems to know something about internationalizing software, but this book brings it all together between two covers: what we know, what we thought we knew (and were wrong about!), and probably quite a bit of what we never thought about at all. For instance, I knew a bit about Unicode, but I had not heard about the new 'surrogate range' designed to break the 64k-character barrier. I knew that different languages sort their alphabets differently, but I did not realize there are cases where the same language has 2 different sort orders (user-option). I have been impressed that Windows is capable of working with various calendars and adding/subtracting dates correctly in any of them, but I certainly didn't know that there is a case where even Windows throws up its hands and lets the user correct it! But that's the arcana, or the envelope that Mr Kaplan touches, and I cite these curiosities only to indicate that this book is extremely well researched. There is plenty of substance within the envelope: code pages, fonts, character sets, date/time and numerical formats, resource files, the distinction between translation and localization (L10N, of course), LCIDs, Uniscribe, BiDi languages, good and bad UI design, common 'sub-optimal' decisions (i.e., mistakes), and much more. Frankly, just the charts and tables (in the book and on the CD) are worth the price to me. Finally, despite the title of the book, I must believe it will more than pay for itself no matter what language an application is being developed in. Perhaps a third of the book deals with VB-specific issues, but the greater part is concerned generally with Windows OS products (especially Win2K) and the relevant API, and, as I attempted to illustrate earlier, a large part of its value is in just giving shape to the questions and issues i18N involves. So, if your organization has ever wondered if its software product might not be so well-designed and so deftly implemented that it _transcends_ nationality and even culture - and show me the organization that doesn't meet this criterion! - then this book belongs in the organizational library. On second thought, a personal copy belongs on the desk of each of the managers and developers who are going to do the work to prove this concept - heck, with the information and guidance provided by Mr Kaplan, you may even find out that it's true!

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted October 14, 2000

    The definitive international work, finally!

    I have been developing with Basic since VB 3.0 was released. One complaint I always had was that it simply did not support anything international. Sure, they added a few functions with each release and StrConv could do some nice tricks, but you were on your own if you wanted to do anything complicated. MSDN would include documentation that was great for C++ developers, but the people in VB had to suffer. <p>Now, Michael has produced a text that has the same power as Nadine Kano's book on International C++ development, only in VB. It discusses all the concepts you need to understand. in plain english. Then it takes you through important international issues: <p> *Formats for numbers, dates, and currency values <br>*Calendars <br>*Fonts on VB forms <br>*Calling Unicode APIs <br>*Localization <br>*Jet 4.0 <br>*SQL Server 2000 <p>He takes you through Unicode and the confusion of multiple code pages. He is the only person who has ever documented using MLang and Uniscribe; Microsoft support claims you cannot do it! He even dabbles in VBScript and its SetLocale function. The book includes important issues on content and how to make sure it will be acceptable in other countries. Perhaps most importantly, he includes information on testing international applications I have not seen in any book, ever. Most VB books do not even mention testing at all. The woman he credits with helping him with the chapter on testing gets my thanks, too! <p>Best of all, he provides the international keyboard layouts! Just like Nadine's book, only he has a lot more of them. I guess that is the advantage of a book that is released later? <p>I have seen Michael actively answering questions in the newsgroups. He fulfills an important need for people who have questions on international issues. It is obvious that there is no one who has the same breadth of knowledge as he does. To quote Microsoft's Chris Pratley from his foreword: 'If you do globalization work, you'll find just a single page of this book worth the price.' <p>I am a bit confused about the negative reviews he has gotten. I definitely think the claims that it is all in MSDN are completely untrue, since none of what he discusses is covered there. The guy who works in support will have to talk to the people who work for him -- you know, the ones who told me that you could not call Uniscribe from VB? <p>This book is the definitive work on making VB an international product. By the end of the book, I felt like I could take over the world with a VB app or something. It was quite simply that good!

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted October 14, 2000

    Lots of good information on localization

    <p>The key thing our company needed was the ability to translate all our UI to other languages, but we really had no idea where to go (and the samples in the product were pretty lousy). But this book actually took us through how to design an application that will be presented in other languages, which the author calls 'LOCALIZATION'. I am really digging into the code samples now and how to integrate a localization plan into our applications. <p>I do not actually focus on a lot of the core functionality, but I showed the sections on internationalization and databases to the people who have to manage those parts of the project and they both tried to steal my copy of the book. They finally gave up and decided to go buy their own - I think I should have gotten a royalty for the extra sales I generated. <p>I am not sure about some of the negative reviews I see, they do not really include very much detail on what they found wrong with the book. I do notice that the author seems to ramble sometimes, but I think that is just because he really seems to genuinely enjoy the 'global' arena so much. His rambling seems very much on topic to me. <p>One of my co-workers saw him at the Informant conference in Phoenix and said he clearly knew his stuff when it came to Access, and I think its pretty clear after reading the book that he knows about VB as well. From what I see this is a 'must have' if you are doing anything that needs to cross the borders in Visual Basic.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted October 7, 2000

    Visual Basic goes global (with Michael's help!)

    This book is the one that makes it happen. I was at the PDC where they talked about VB7 and they were not saying much about what the features would be next version - only two talks that even mentioned it - and they did not say anything about the features in VB6. <p>But this book made it possible to make the jump with our product today. I especially found all of the information on 'multinationalization' useful since that is the very type of application that I need to put together (one that supports many languages). The book pointed us to several Unicode controls that could be used for this, and took me through all the font and other issues that must be taken care of for the controls to work. <p>Michael's talk on databases was also really useful, especially all of the information about SQL Server 2000's COLLATE keyword. I was able to convince the company I work for to move from SQL Server 7.0 with this information and how it could be used. He is obviously also a big fan of Jet 4.0, but he is very clear on its limitations (though the fact that he can run his site on it is very impressive). <p>The one thing that I was disappointed as that there was not as big of a discussion about XML encoding as I would have liked, I think that would have been something to include, especially with all of the ocus on XML (he talks about it briefly but does not go into a lot of detail). <p>Overall, a wonderful effort, and I am really glad Michael wrote the book!

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted October 7, 2000

    A good book overall

    I'm a little surprised at the negative comments. This book compiles a lot of useful information and many examples that anyone can use to build enabled VB applications. Internationalization and localization are not easy topics and I suppose some sections of the book may be oriented to an audience who has already a basic understanding of those subjects. But I certainly didn't find anything that could justify harsh criticisms, especially when there are so few books on the topic.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted October 4, 2000

    Catchy Subject, Poor Presentation

    I expected a bit more. It suffers from the lack of good, solid editing. He rambles over some points and glosses over others. I can only recommend it to people who already have a slightly better than basic understanding of the material. This isn't a book a novice or hobbyists could learn from without a great deal of effort. For them I would suggest waiting until someone else tackles the topic and does so a little more clearly and a lot more concisely.

    Was this review helpful? Yes  No   Report this review
Sort by: Showing all of 7 Customer Reviews

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