I'm not a Klingon ( )

Shawn Steele's thoughts about Windows and .Net Framework globalization APIs

Best Way to Make Your Own Encoding

Martin recently asked what the best way to roll his own encoding in .Net 2.0, in particular can you...

Author: Shawn Steele (MSFT) Date: 09/29/2006

List of "ANSI" code pages used by Windows.

These are the "ANSI" code pages that could be used by CP_ACP. Other code pages should not appear as...

Author: Shawn Steele (MSFT) Date: 09/29/2006

RegionInfo objects are sensitive to a specific culture.

You can use a RegionInfo() object with a region name in the constructor, like "US", however that...

Author: Shawn Steele (MSFT) Date: 09/25/2006

VBScript's SetLocale doesn't know about new Vista locales.

I just discovered that VBScript has a SetLocale() function that apparently is backed by a static...

Author: Shawn Steele (MSFT) Date: 09/15/2006

How do I get localization in JScript (JavaScript) in IE7?

I ran into an interesting problem with a Vista sidebar calendar gadget. It seems that it is not...

Author: Shawn Steele (MSFT) Date: 09/05/2006

Does your web site die when it sees unexpected languages?

Recently I've seen a spate of bugs involving client-server web applications related to the user...

Author: Shawn Steele (MSFT) Date: 09/01/2006

Does "Everyone" Use IDN?

Recently it came to my attention that arbitrary implementation of IDN can break existing...

Author: Shawn Steele (MSFT) Date: 08/25/2006

MSDN Wiki is kind of cool.

MSDN has a Wiki at https://msdnwiki.microsoft.com that lets you add content to VS2005 documentation...

Author: Shawn Steele (MSFT) Date: 08/07/2006

How's the CultureAndRegionInfoBuilder (CARIB) do that?

The Microsoft Locale Builder tool is great for building custom locales. In fact it seems to even do...

Author: Shawn Steele (MSFT) Date: 08/07/2006

Custom Locale and Custom Culture Limitations and Things That Work.

Some people have used custom locales/custom cultures successfully and others are finding scenarios...

Author: Shawn Steele (MSFT) Date: 07/25/2006

Encoding.GetEncodings() has a couple "duplicate" names

The Microsoft.Net v2.0 Encoding.GetEncodings() method returns a complete list of supported...

Author: Shawn Steele (MSFT) Date: 07/18/2006

Oddities of LOCALE_SGROUPING, NumberGroupSizes and NUMBERFMT

Many people (such as myself) get confused when trying to figure out the correlation between the...

Author: Shawn Steele (MSFT) Date: 07/17/2006

Pseudo Locales in Windows Vista Beta 2

What's a pseudo locale? Pseudo-Locales are an aid to pseudo localization testing. MSDN has an...

Author: Shawn Steele (MSFT) Date: 06/27/2006

Calendar Assumptions: Why does Windows (or .Net) have 13 month names?

Sometimes people have wondered why DateTimeFormatInfo.MonthNames returns an array of 13 months, or...

Author: Shawn Steele (MSFT) Date: 06/26/2006

What's with Encoding.GetMaxByteCount() and Encoding.GetMaxCharCount()? Part 2

A little over a year ago I wrote What's with Encoding.GetMaxByteCount() and...

Author: Shawn Steele (MSFT) Date: 06/21/2006

Custom cultures & resources; BCL Team Blog; also ResourceManager Video

Recently I've had some questions about resource loading/fallback in .Net and how it works. Brian...

Author: Shawn Steele (MSFT) Date: 06/21/2006

I changed an earlier post

I don't normally change existing posts, but I don't want to be misleading. With the change of...

Author: Shawn Steele (MSFT) Date: 06/20/2006

Change to Unicode Encoding for Unicode 5.0 conformance

The behavior for UTF8Encoding, UnicodeEncoding and UTF32Encoding has changed in Windows Vista to...

Author: Shawn Steele (MSFT) Date: 06/16/2006

Internet Explorer has more explicit language names in Windows Vista

In Windows XP, Internet Explorer only provided partial tags for some languages. French (France) was...

Author: Shawn Steele (MSFT) Date: 06/03/2006

June 2006 MSDN, CLR Inside Out

I've been busy for a bit, so I've been lax on the blogs, however I'll probably blog about a couple...

Author: Shawn Steele (MSFT) Date: 05/24/2006

Custom Locale Builder Tool Beta Now Available!

[NOTE: 31 July 2007, the tool is available again at its new URL:...

Author: Shawn Steele (MSFT) Date: 05/24/2006

Cheating to Install Custom Cultures - Updated 20 June 2006

Warning: This technique will make it hard for an installer build by the Microsoft Locale Builder...

Author: Shawn Steele (MSFT) Date: 04/02/2006

More than one culture/locale can have the same name.

More than one culture can have the same "name", but there are a lot of names to choose from....

Author: Shawn Steele (MSFT) Date: 03/21/2006

Windows Vista Microsoft Locale Builder Tool

We're working on a tool, the Microsoft Locale Builder, for Windows Vista to help users create their...

Author: Shawn Steele (MSFT) Date: 02/20/2006

Klingon in pIqaD Windows Vista Custom Locale

[Updated 11 Aug 2006, changed tlh-pIqaD-US names to reflect IETF standard] Cool, they let us post...

Author: Shawn Steele (MSFT) Date: 02/17/2006

ISO 8601 Week of Year format in Microsoft .Net

Several people have noticed that Calendar.GetWeekOfYear() is almost like the ISO 8601 week when...

Author: Shawn Steele (MSFT) Date: 01/24/2006

Custom Time Zones in Windows

Someone asked about adding the "Olson" database of timezones to Windows, and I learned about...

Author: Shawn Steele (MSFT) Date: 01/20/2006

IDN Mitigation API dll needs to be explicitly linked

Since we (I) didn't provide a .lib file for the "Microsoft Internationalized Domain Name (IDN)...

Author: Shawn Steele (MSFT) Date: 01/05/2006

What's my Encoding Called?

There is a bit of confusion about the System.Text.Encoding names, primarily "Which name do I use for...

Author: Shawn Steele (MSFT) Date: 12/28/2005

What Version of Unicode Does X Support?

Michael answers this question in his blog at...

Author: Shawn Steele (MSFT) Date: 12/27/2005

Custom Locales vs Custom Cultures in Windows Vista / .Net Framework

When a Custom Culture is created in .Net it is used by Vista as well as a Custom Locale. There are...

Author: Shawn Steele (MSFT) Date: 12/08/2005

Custom and Synthetic (Windows ELK) RegionInfos in .Net 2.0

When we ship the Microsoft .Net Framework, the culture data associated with that version is fixed....

Author: Shawn Steele (MSFT) Date: 12/06/2005

Creating a Custom Culture (Locale) From Microsoft-ish LDML

[Updated 11 Aug 2006 to reflect IETF style locale names]This is just a simple example of creating a...

Author: Shawn Steele (MSFT) Date: 11/23/2005

Klingon Custom Culture/Locale MS LDML File

This is intended to go with the custom culture LDML example. Cut & paste this into a file called...

Author: Shawn Steele (MSFT) Date: 11/23/2005

CultureInfo.Name, ToString, LCID & CompareInfo.Name

There are multiple interesting names associated with CultureInfo and related objects, which could be...

Author: Shawn Steele (MSFT) Date: 10/25/2005

Avoid treating binary data as a String.

A common code snippet that I see is something that uses binary data as a String, something like:...

Author: Shawn Steele (MSFT) Date: 09/26/2005

Code Page 21027 "Extended/Ext Alpha Lowercase"

I was playing with code pages and ran into an interesting case: Code Page 21027 - Ext Alpha...

Author: Shawn Steele (MSFT) Date: 09/12/2005

New XPSP2 Locales Available

If you aren't playing with Windows Vista Beta 1 or Microsoft.Net v2 Custom Locales/Cultures, you can...

Author: Shawn Steele (MSFT) Date: 08/09/2005

Microsoft Internationalized Domain Names (IDN) Mitigation APIs 1.0 Released

Today we posted some APIs that convert to & from IDN Punycode, provide some mitigation...

Author: Shawn Steele (MSFT) Date: 08/09/2005

Custom Locales in Windows Vista (Longhorn)

Longhorn finally has a name, so now I have to remember to type Windows Vista :-) I'm a bit busy, but...

Author: Shawn Steele (MSFT) Date: 08/08/2005

Encoding/Decoding/Crypting and buffer lengths

This code snippet has a somewhat common bug. I've seen this bug in all sorts of buffer manipulation...

Author: Shawn Steele (MSFT) Date: 05/10/2005

Culture data shouldn't be considered stable (except for Invariant)

CultureInfo and RegionInfo data represents a cultural, regional, admin or user preference for...

Author: Shawn Steele (MSFT) Date: 04/05/2005

<Previous Next>