[comp.sys.ibm.pc] Re^2: Internationalization of Software?

hans@nlgvax.UUCP (Hans Zuidam) (07/02/89)

You may want to look at the X/OPEN specification for NLS (Native Language
System).

X/OPEN (for those who don't know) is a European specification of an UN*X
like system, including commands, system calls and library functions. In
essence it defines a run-time environment for portable applications. The
X/OPEN specification is backed by major European and US manufactures,
Philips being one of them (couldn't resist ;-) ). X/OPEN confirms to AT&T's
SVID and will (or allready does) confirm to IEEE POSIX.

Now on NLS: this system provides the functions you described (date/time
conversions, yes/no answers, currency symbols and respresentation). Next
to these there is a library for language independent string handling
(f.i. of the top of my head: 'ch' is one character in Spanish). The string
functions support 16-bit characters also. The string functions use tables
(located as files somewhere) to perform these functions.

Next to these there are functions to output language independent strings.
For this there are a number of commands to hunt down strings (printf's and
the like) in your code and replace them by calls to the NLS printf
functions. The original strings are stored in a file and read from there
by the NLS functions. Adding another language means just ;-) to translate
the original strings and creating a new file.

The resolution of the actual language is done by an environment variable
called LANGUAGE.

The original implementation was done by HP and donated to X/OPEN. As far
as I know all HP systems have the NLS system available, but it's been
a few years back when I last looked at it. I do not know about source
availabillity, sorry. If you want to know more, feel free to ask.

Hope this helps a bit,
					Hans
-- 
Hans Zuidam                                    E-Mail: hans@pcg.philips.nl
Philips Telecommunications and Data Systems,   Tel: +31 40 892288
Project Centre Geldrop, Building XR
Willem Alexanderlaan 7B, 5664 AN Geldrop       The Netherlands