by Michael S. Kaplan, published on 2010/03/18 07:01 -04:00, original URI: http://blogs.msdn.com/b/michkap/archive/2010/03/18/9976688.aspx
So the other day, the question was:
I am seeing different behavior for currency symbol for Turkey based on regional settings.
We are creating culture like this:
var culture = new System.Globalization.CultureInfo("tr-TR");
If Turkish is selected in Regional settings then Culture.NumberFormat.CurrencySymbol is set "TL" which is correct.
However if English is selected in regional settings then Culture.NumberFormat.CurrencySymbol is incorrectly set as "YTL" which is an old currency symbol.
What would be the expected behavior?
The first part of this is explained in .NET is too busy being consistent with Windows to be consistent with itself.... - if Windows and .Net say something different, then when you create a culture based on the same locale as is in Regional and Language Options, you will get whatever Windows has.
Now which of Windows and .Net will say TL here and which ones will say YTL will really depend on the version of each.
And that gets us to the second part.
Now the Turkish folks did something interesting a few years ago.
Probably not as some type of revenge for a certain nameless employee of a company some people consider evil who owns a blog about internationalization smuggling a cat into the country. Because there is really no proof that such a thing ever happened, as both my stated and actual purpose for wanting to be in Ankara was to see a show near the tail end of Jethro Tull's Little Bit of Light Music tour, and nothing untoward happened at or around the time the concert did. The passport itself has been replaced and there is doubt that reliable witnesses could be found to claim I was even in the country. Plus, smuggling a cat on a flight that long would have involved many things beyond capabilities that any normal person would ascribe to me, like intricate knowledge of anesthetic effects on felines not to mention willingness to risk being quite literally sent to a Turkish prison -- the sort of crapshoot I'd typically avoid. Does that sound like something I would do?
Obviously not. You people know me better than that.
Anyway, where was I?
Oh yeah, that interesting thing not involving Nikola's cat that the folks in Turkey did.
You can get the skinny on Wikipedia's article on the Turkish lira, in particular the bit on the second lira, excerpted here:
In the transitional period between 1 January 2005 and 31 December 2008, the second lira was officially called "new lira" in Turkey. Coins were introduced in 2005 in denominations of 1, 5, 10, 25 and 50 new (yeni) kuruş and 1 new (yeni) lira. The 1 new kuruş was minted in brass and the 5, 10 and 25 new kuruş in cupro-nickel, whilst the 50 new kuruş and 1 new lira are bimetallic. All coins show portraits of Mustafa Kemal Atatürk.
From 1 January 2009, the "new" was removed from the second lira, its official name in Turkey becoming just "lira" again; new coins without the word "yeni" were introduced in denominations of 1, 5, 10, 25, 50 kuruş and 1 lira.
Now of course the 2005-2008 currency sign was something they wanted to be YTL (that word mentioned above) and then the 2009 change was to take it back to the TL like it was before that, though with the zeroes still gone.
Now Microsoft had put out a Euro update to help update versions of Windows that did not know about countries that switched to the Euro, something I have talked about before in blogs like Hey brother, can you spare a Euro?, a tool that is no longer available under its old name (though you can find it in updates that will even get the latest countries added like Slovakian, Slovenian and Maltese in KB960680 for XP, Server 2003, and other platforms.
I just noticed that the original page for this tool is still up, with the old information, at Microsoft Turkish Lira Currency Symbol Converter Tool. By the time you read this, it may be gone.
Published: November 9, 2004
The Turkish Lira Currency Symbol Converter Tool is designed to update the current Turkish monetary symbol (TL) to the New Turkish Lira symbol (YTL). While the tool will update the currency symbol as soon as it is run, the Turkish government will officially change from the current Turkish Lira to the New Turkish Lira symbol on January 1st, 2005. Therefore, we suggest you run this tool after December 31st, 2004.
Note that this tool's download link (ytl-install-en.exe) points to something that is no longer there, and that the KB article that mainly talks about the Euro's latest updates also updates the Turkish lira issue.
And a few years prior, they first released a LiraConv tool that did the same thing to change the TL to a YTL (to wit: the very download page I just cited!), so it makes sense to change it back.
Now this tool just updates the current locale, and each version of Windows and .Net has shipped with the version of the Turkish currency symbol matching the law of that point in time, so if you consider the versions of each that shipped over the years and the people who have run this tool, whether the Turkish currency sign would be right anytime you didn't allow user overrides or Turkish wasn't your default user locale would be a crapshoot.
On the whole the Turkish people were not very well served by the update, either time, given that confusion. Developers aiming at the market were bound to present an even worse story....
For what it's worth, Nikola's cat passed away a few years ago, at the age of 18 (which is fairly reasonable for a cat if you keep track of such things).
And the only jail/prison I have ever spent time was not in Turkey and was only for a few hours in Missouri and an honest mistake involving unrealistic speed limits, a 1979 Dodge Diplomat, and a road that was straight as the eye can see where you could literally see 3-4 miles in front of you. It only cost me my AAA card to get out, and somehow it never ended up on my record.
That was a crapshoot too, for what its worth....
Maybe some of this offtopic blather should have been footnoted, or perhaps just skipped entirely? Sorry, what with jury duty and all, last week (which for me writing this blog would be this week) was a really weird week and a this week (which for me writing this clause would be this week since I am adding it minutes before the blog is going live) hasn't made anything seem more normal as of yet....
sukru on 18 Mar 2010 2:12 PM:
I don't understand what's the thing between western people and Turkish prions...
You know they're actually one of the most humane in the World. For example, instead of putting people in cells of one or two in very remote locations, they are near cities (for visitation), and except for some high profile ones, inmates stays in groups of 10-12 (like dorms).
I guess one movie's effect is very powerful. :)
Pavanaja U B on 22 Mar 2010 9:49 PM:
Not exactly a comment on the current post. Just thought of mentioning. Very soon India will have it's own currency symbol for Rupee. Wondering how various cultures like Windows only, .NET, SQL Server, Access, etc., will handle this. Then there are issues like en-IN, hi-IN, kn-IN, etc.
go to newer or older post, or back to index or month or day