views:

43

answers:

2

I am wondering what the differences are in localised versions of the.net frameworks running under application the same culture code (i.e. application is not localised).

So far I understand that:

  • Exception Messages are localised so appear in foreign language
  • The Names of countries in the framework are localised

is there anything else to be aware of?

Update: I am writing winforms for the 3.5 framework

A: 

One gotcha to be aware of is the string representations of numbers. For example, in a Danish culture, which uses "," as its decimal separator, "3.141" will parse to 3141, as "." is interpreted as a thousands separator.

Additionally, DateTime.ToString() returns localized representations of data, and DateTime.Parse() parses in a localized manner.

If you are reading data from a source other than your own application or sending it to one, it is highly recommended that you use CultureInfo.InvariantCulture, as this will be consistent across locales. For data displayed to the user, stick to the local culture.

Heini Høgnason
Good point however if the app is using the same culture code this should be ok as it will still be formatted to UK
John
I don't quite understand why this is -1. Can you provide some feedback?
Heini Høgnason
-1 was not given by me. However although the point you made was valid I guess did not answer the question. You are referring to application localisation rather than the differences inside localised versions of the framework.
John
Oh dear, that went right over my head. Sorry!
Heini Høgnason
+2  A: 

This is done with satellite assemblies. You can see what can be localized with Reflector. Click the Resources node for an assembly and select the .resources entry. There's rather a lot of it, but I only see strings for exception messages and property descriptions visible from the Properties window. Country names are already localized.

Hans Passant