Mail Archives: djgpp-workers/2001/02/23/05:59:17
On Thu, 22 Feb 2001 09:58:59 +0200 (IST), Eli Zaretskii wrote:
> > LANG=de
> > LANGUAGE=es:de
> > This will select the spanish translations, if not found the german ones will
> > be used.
>
> Isn't the value of LANGUAGE parsed by the same code which looks at
> PATH and similar variables? If so, the above will have to be written
> "es;de" on DOS/Windows systems.
No. Please inspect intl/dcigettext.c. In function DCIGETTEXT at line 493
you will find a call to function guess_category_value(). This function returns
the string: categoryvalue containing the value of LANGUAGE. If LANGUAGE is empty,
then a call to setlocale will be performed. If this also fails, then the environment
variables LC_ALL, another variable and finaly LANG will be evaluated, in that order.
If this fails too, then 'C' will be returned as locale. At line 511 in function
DCIGETTEXT() starts the loop that will evaluate the content of categoryvalue. The loop
will look for **colon separated** items. No PATH evaluating code is used in DCIGETTEXT()
at all. Once again: LANGUAGE items **must** be separated by colons. For more information,
please inspect the function at the specified lines.
> Also, I suggest to mention all the minor deviations in behavior
> between Posix and non-Posix systems, such as the path separator and
> the on-the-fly conversion to DOS codepages, in the manual.
As soon as I have read the info docs I will try to add this.
May be that someone with better english skills than me would like to do this job.
Regards,
Guerrero, Juan Manuel
- Raw text -