Re: which resource will be used?
"Ajay Kalra" <ajaykalra@yahoo.com> wrote in message
news:1153109568.733143.280180@b28g2000cwb.googlegroups.com...
Windows 2000/XP: Do not use SetThreadLocale to select a user interface
language. To select the resource that is defined in the .rc file with a
LANGUAGE statement, use the Win32 FindResourceEx function.
</>
To access the stringtable, I guess you could use FindResourceEx, but the doc
says, "An application can use FindResourceEx to find any type of resource,
but this function should be used only if the application must access the
binary resource data when making subsequent calls to the LockResource
function."
What we really want is a LoadString() which takes a language id. It sounds
like setting the thread locale causes LoadString() to use that.
This would be helpful also:
http://blogs.msdn.com/michkap/archive/2005/08/22/454360.aspx
Wow, UI Language, System Locale, User Locale... how confusing do they have
to make it when all we want is to show the right language? No wonder so
many apps have just taken to showing their own dialogs and asking the user
to select a language for that program only.
We never used it(thread locale) on a very large resource intensive
application. We had resources translated in each of the languages. This
does not make too much sense for a commercial app. For example strings
have different widths on a dialog. Translation alone will not help.
Yeah, we've always used satellite resource DLL's also, but it was intriguing
to me that it was at least (theoretically) possible to cram each language's
resources in the same .rc file.
-- David