delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp-workers/2001/08/10/04:57:26.1

From: "Juan Manuel Guerrero" <ST001906 AT HRZ1 DOT HRZ DOT TU-Darmstadt DOT De>
Organization: Darmstadt University of Technology
To: Tim Van Holder <tim DOT van DOT holder AT pandora DOT be>,
JT Williams <jeffw AT darwin DOT sfbr DOT org>
Date: Fri, 10 Aug 2001 10:56:44 +0200
Subject: Re: gettext port
CC: djgpp-workers AT delorie DOT com
In-reply-to: <CAEGKOHJKAAFPKOCLHDIKEHBCGAA.tim.van.holder@pandora.be>
References: <20010809102227 DOT B12885 AT kendall DOT sfbr DOT org>
X-mailer: Pegasus Mail for Windows (v2.54DE)
Message-ID: <3D078832435@HRZ1.hrz.tu-darmstadt.de>
Reply-To: djgpp-workers AT delorie DOT com
Errors-To: nobody AT delorie DOT com
X-Mailing-List: djgpp-workers AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com

On Thu, 9 Aug 2001, Tim Van Holder wrote:
> On Thu, 9 Aug 2001, JT Williams wrote:
> > I probably lost my copy of `charset.alias' a frenzy of installation,
> > hacking, and reinstallation.  Perhaps (a version of) `charset.alias'
> > should be included with any NLS-capable package?
>
> Hmm - it would seem better suited for inclusion in djdev.
> The same would go for locale.alias (so you can set LANGUAGE=german
> or LANGUAGE=deutsch).

Some aclarations:
_ charset.alias is a generated file. It is generated from lib/config.charset. That is a
  shell script that is run during compilation and generates an appropiate charset.alias
  for the OS for which the package has been configured.
_ This charset.alias is generated by *every* GNU package that offers NLS. On DOS/WIN95
  the install target installs this file into DJDIR/lib overwritting a probabely already
  installed charset.alias from another package. This is not dramatic because all charset.alias
  are equal. Please inspect libiconv-1.7, recode-3.6, Textutils-2.0.14, Fileutils-4.1, etc.
  All this packages have a config.charset in their /lib subdir and all they generate a
  new charset.alias that will be installed in DJDIR/lib.
_ Very unfortunately I have written gtxt037, gtxt039, licv16 and licv17 manifest files
  that remove charset.alias. This implies, if the user removes one of these packages
  he removes also charset.alias breaking all the other packages. I will fix this ASAP.
_ As Tim pointed out LANGUAGE can be set to a series of language names (LANGUAGE=thai:turkish).
  The contents of LANGUAGE are evaluated with the aid of locale.alias and the result is used to
  build the path to the .mo file. GNU gettext knowns two different syntaces: XPG and CEN.
  The LOCALE can consist of up to four recognized parts for the XPG syntax:

    language[_territory[.codeset]][@modifier]

  and six parts for the CEN syntax:

    language[_territory][+audience][+special][,[sponsor][_revision]]

  Beside the first part all of them are allowed to be missing.  If
  the full specified locale is not found, the less specific one are
  looked for.  The various parts will be stripped off according to
  the following order:
    (1) revision
    (2) sponsor
    (3) special
    (4) codeset
    (5) normalized codeset
    (6) territory
    (7) audience/modifier

  locale.alias uses the XPG syntax. A path will looks like (for german):
    /dev/env/DJDIR/share/locale/de_DE.ISO-8859-1.iso88591/LC_MESSAGE/gettext.mo
  with:
    dirname:            /dev/env/DJDIR/share/locale (GNU uses this)
    language:           de
    territory:          DE
    codeset:            ISO-8859-1
    normalized codeset: iso88591
    lc_message:         LC_MESSAGE (GNU uses this)
    domain:             gettext (this is usualy the program name)

  Because a subdir like de_DE.ISO-8859-1.iso88591 will not be found,
  the stripping rules given above will be applied finaly resulting in a `de' subdir.
  It is worth to be noticed that the charset name included in a subdir name
  like `de_DE.ISO-8859-1.iso88591' has no influence about the locale charset
  to be used for on-the-fly recoding. Which locale charset will be used to recode
  is only defined by the content of LANG in the DJGPP specific case.


In conclusion:
  1) charset.alias is generated and installed by every GNU package that
     offers NLS *and* runtime recoding. This are packages that come with
     gettext => 0.10.36. This implies that every installation overwrites
     the already installed charset.alias.
  2) If charset.alias is included in the manifest file of an DJGPP package,
     removing the package will break all other packages.
  3) Including charset.alias and locale.alias in djdevNNN.zip will not really solve the difficulty, IMHO.
     It is very unlikely that charset.alias will change very soon but netherless djdevNNN.zip
     is released only every 3 or 4 years. This period of time seems to long to wait for
     a probabely needed update of charset.alias IMHO.
  4) The simplest solution seems to be to omit charset.alias and locale.alias from the manifest file
     but if an inclusion of charset.alias and locale.alias into djdevNNN.zip is prefered
     that will be ok with me. No objections.

Regards,
Guerrero, Juan Manuel

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019