On ons, 2011-05-11 at 16:47 -0400, Tom Lane wrote:
> Hm, do you know how to enumerate the available locales on Windows?
EnumSystemLocalesEx()
Reference:
http://msdn.microsoft.com/en-us/library/dd317829(v=vs.85).aspx
Example: http://msdn.microsoft.com/en-us/library/dd319091(v=vs.85).aspx
As you can see in the example, this returns names like "en-US" and
"es-ES". I would imagine we normalize this to the usual "en_US",
"es_ES" (but we could also install the not normalized names, just like
we install "en_US.utf8").
But you need to rearrange the code in initdb a bit because this thing
works with callbacks.
There is an older interface EnumSystemLocales() which returns locale
IDs, which you then have to look up and convert into a name manually.
There is code for that in the old installer CVS on pgfoundry. But it's
very ugly, so I'd rather skip that and just concentrate on supporting
the newer interface.