Dennis Clarke wrote:
> 
> Is there some package to be installed that allows en_CA.ISO8859-1 to
> be specified in /etc/default/init or via simple shell environment
> variables ?
> 
> for example :
> 
> $ cat /etc/default/init
> #
> # Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
> # Use is subject to license terms.
> #
> # CDDL HEADER START
> # <snip>
> # CDDL HEADER END
> #
> #ident  "@(#)init.dfl   1.8     05/06/08 SMI"
> #
> # This file is /etc/default/init.  /etc/TIMEZONE is a symlink to this file.
> # This file looks like a shell script, but it is not.  To maintain
> # compatibility with old versions of /etc/TIMEZONE, some shell constructs
> # (i.e., export commands) are allowed in this file, but are ignored.
> #
> # Lines of this file should be of the form VAR=value, where VAR is one of
> # TZ, LANG, CMASK, or any of the LC_* environment variables.  value may
> # be enclosed in double quotes (") or single quotes (').
> #
> TZ=Canada/Eastern
> #TZ=GMT0
> CMASK=027
> #LANG=en_US.UTF-8
> LANG=C
> LC_ALL=C
> LC_COLLATE=en_CA.ISO8859-1
> LC_CTYPE=en_CA.ISO8859-1
> LC_MESSAGES=C
> LC_MONETARY=en_CA.ISO8859-1
> LC_NUMERIC=en_CA.ISO8859-1

Erm... this /etc/default/init won't work as expected since it sets a
wild mixture of LANG/LC_*-variables which partially override each other.
The basic odering is:
1. LANG sets the locale globally
2. All LC_* variables except LC_ALL override LANG
3. LC_ALL overrides all other settings, including LC_*, LANG and builtin
settings

There are two options to do it "correctly":
1. Only set LANG=en_CA.ISO8859-1 and obmit setting any LC_* variables
2. Set LC_* variables (but _not_ "LC_ALL" ("LC_ALL" is the "biggest gun
out there" and should be used only as exception and not by default))
either to override individual settings of LANG (e.g. $ export
LANG=de_DE.UTF-8 LC_NUMERIC=C #) or only use LC_* variables (but again,
DO NOT USE "LC_ALL")

> $ LANG=C;LC_ALL=C;LC_COLLATE=en_CA.ISO8859-1;LC_CTYPE=en_CA.ISO8859-1
> en_CA.ISO8859-1: unknown locale
> en_CA.ISO8859-1: unknown locale

Please check whether the locale is listed in the output of $
/usr/bin/locale -a | fgrep "en_CA.ISO8859-1" # ...

One interesting item may be how the shell should respond to the failure
of |setlocale()| in this case (e.g. should the value be kept at
assignment time or reset to the value "C") ...

----

Bye,
Roland

-- 
  __ .  . __
 (o.\ \/ /.o) [EMAIL PROTECTED]
  \__\/\/__/  MPEG specialist, C&&JAVA&&Sun&&Unix programmer
  /O /==\ O\  TEL <currently fluctuating>
 (;O/ \/ \O;)
_______________________________________________
indiana-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/indiana-discuss

Reply via email to