Discussion:
three letters language codes for some applications UI translation strings
(too old to reply)
Cristian Secară
2010-04-03 11:49:59 UTC
Permalink
There are some applications that, for their regional UI strings and
help, store translated .dlls in directories whose names are the actual
language code (ARA, CHS, CHT, DEU, ESN, FRA, HUN, etc.). As a quick
example, Intel (WiFi, etc.) or HP (ProtectTools, etc.) applications.

Is this approach recognized automatically by Windows ? For example,
assuming a system set in a language for which a particular application
(from the above example) does not provide that language by default, by
simply adding that directory with the required files, the UI of that
application will show up translated with no further action ?

I just mak an association with the .mui files case, where, on a
system that has the Windows MUI installed, simply adding a .mui for a
desired application is simply enough (works for me with various
applications, like Yahoo Messenger for example).

Second question: which codes are these ? From ISO 3166-1 ?

Thank you,
Cristi
--
Cristian Secară
http://www.secarica.ro/
Mihai N.
2010-04-04 08:19:42 UTC
Permalink
Post by Cristian Secară
Is this approach recognized automatically by Windows ?
For example,
assuming a system set in a language for which a particular application
(from the above example) does not provide that language by default, by
simply adding that directory with the required files, the UI of that
application will show up translated with no further action ?
No, this is not a Windows or a MUI thing.
But it is a convention used by MFC.
So if the application is MFC, then dropping in a DLL with the 3 char
convention will be "magically" recognized.
Post by Cristian Secară
Second question: which codes are these ? From ISO 3166-1 ?
It is not standard.
ISO has abbreviations for languages, these 3 char codes contain
info on language+countey.
It is (most likely) the stuff returned by GetLocaleInfo with
LOCALE_SABBREVLANGNAME.

From MSDN (http://msdn.microsoft.com/en-
us/library/dd373831%28v=VS.85%29.aspx):
"Abbreviated name of the language. In most cases, the name is created
by taking the two-letter language abbreviation from ISO Standard 639
and adding a third letter, as appropriate, to indicate the sublanguage.
For example, the abbreviated name for the language corresponding to
the English (United States) locale is ENU."

Also, this is a best guess. Intel or HP might very well use their
own proprietary convention.
--
Mihai Nita [Microsoft MVP, Visual C++]
http://www.mihai-nita.net
------------------------------------------
Replace _year_ with _ to get the real email
Loading...