Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Localization questions

0 views
Skip to first unread message

Gabe Mares

unread,
Aug 14, 1996, 3:00:00 AM8/14/96
to

We're finishing up F/A-18 Hornet 3.0 for Win95, and have some questions
about localization. We have a few strings that will need to be converted
to Japanese for our Japanese version. They're being drawn with TextOut or
ExtTextOut and being edited with SetWindowText and GetWindowText. Can we
use Unicode? What do we need to change? Also, on the Mac we can give our
Japanese distributors a copy of Hornet and they can edit the string
resources using ResEdit. It's a very simple process. Is there a way to
link an external resource file into a project in Visual C++ 4.0? What
about a resource editor? (We need a simple program that will let our
distributor edit the strings that need to be localized.) Any pointers to
information on how to do this stuff would be greatly appreciated. Thanks,

Gabe
Graphic Simulations Corporation

Manuel Guesdon

unread,
Aug 15, 1996, 3:00:00 AM8/15/96
to

gma...@cyberramp.net (Gabe Mares) wrote/écrivais:

[...]


>| (We need a simple program that will let our
>| distributor edit the strings that need to be localized.) Any pointers to
>| information on how to do this stuff would be greatly appreciated. Thanks,

You can take a look at my software:
http://www.worldnet.fr/~mguesdo/SBDev_WLT.html

Note: the 32Bits version will come soon...

WM_HOPETHISHELPS

____________________________________________________________________
Manuel GUESDON - SOFTWARE BUILDERS <mgu...@sbuilders.fr.eu.org>
Home: http://www.worldnet.fr/~mguesdo PGP Key Id: 76AB60D1
== Author of AppTranslator (A Windows Software Localization Tool) ==
========== http://www.worldnet.fr/~mguesdo/SBDev_WLT.html ==========


John Grant

unread,
Aug 15, 1996, 3:00:00 AM8/15/96
to

In article <gmares-1408...@newshost.cyberramp.net> gma...@cyberramp.net (Gabe Mares) writes:
>We're finishing up F/A-18 Hornet 3.0 for Win95, and have some questions
>about localization. We have a few strings that will need to be converted
>to Japanese for our Japanese version. They're being drawn with TextOut or
>ExtTextOut and being edited with SetWindowText and GetWindowText. Can we
>use Unicode? What do we need to change? Also, on the Mac we can give our
>Japanese distributors a copy of Hornet and they can edit the string
>resources using ResEdit. It's a very simple process. Is there a way to
>link an external resource file into a project in Visual C++ 4.0? What
>about a resource editor? (We need a simple program that will let our

>distributor edit the strings that need to be localized.) Any pointers to
>information on how to do this stuff would be greatly appreciated. Thanks,

Put all of your strings into a STRINGTABLE resource. That can then
be bound into the .EXE or put into a separate resource-only DLL.

You can't really give the distributor an ASCII string table to edit
because they need a compiler to build the DLL. If you give them the
DLL to edit, then they need a resource editor to edit the strings.
Either way they need special tools. The only way to avoid that is
to read the ASCII strings from your ASCII data file. Then they can
edit their copy of the data file.

If your strings are put into a separate DLL, you will have one for
each language, i.e. XXXE.DLL, XXXF.DLL, XXXJ.DLL etc. (english,
french,japanese). When you install it, you can select the correct
one and rename it to a more generic name XXX.DLL. Or you can just
install it as XXXJ.DLL and then put a pointer in myapp.ini which tells
it to load XXXJ.DLL.

You can also have all of the strings in a single DLL (or .EXE) and
select the table at runtime:
#define LANG_ENGLISH 0
#define LANG_FRENCH 1
#define LANG_JAPANESE 2
...

#define STRING_XXX 0
#define STRING_YYY 1
#define STRING_ZZZ 2
...

#define STR(l,s) ((l)*1000+(s))

In your STRINGTABLE, you will use:
STR(LANG_ENGLISH,STRING_XXX) "..."
STR(LANG_ENGLISH,STRING_YYY) "...
...
STR(LANG_FRENCH,STRING_XXX) "..."
STR(LANG_FRENCH,STRING_YYY) "..."
...

When you load the string in your application, you might have a language
variable set to LANG_<ENGLISH FRENCH JAPANESE> (perhaps read from
myapp.ini) and you will use that to compute the integer id of the
required string:
LoadString(hinst,STR(lang,STRING_YYY),buffer,sizeof(buffer));

There are many other combinations and methods of managing strings.

Sorry, I know absolutely nothing about UNICODE.
--
John A. Grant jag...@nrcan.gc.ca
Airborne Geophysics, Geological Survey of Canada, Ottawa
If you followup, please do NOT e-mail me a copy: I will read it here.

0 new messages