On Thu, Oct 27, 2011 at 1:38 AM, Tom Gundersen <[email protected]> wrote: > Uglier script, but should now work with zsh as well as bash. > > Signed-off-by: Tom Gundersen <[email protected]> > --- > locale.sh | 77 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++--- > 1 files changed, 73 insertions(+), 4 deletions(-) > > diff --git a/locale.sh b/locale.sh > index e774659..4b4ef4e 100644 > --- a/locale.sh > +++ b/locale.sh > @@ -1,10 +1,79 @@ > if [ -s /etc/rc.conf ]; then > - LANG=$(. /etc/rc.conf 2> /dev/null ; echo "${LOCALE:=en_US.UTF-8}") > + LANG=$(. /etc/rc.conf 2> /dev/null ; echo "$LOCALE") > fi > + > if [ -s /etc/locale.conf ]; then > . /etc/locale.conf > fi > > -export LANG LANGUAGE LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE > -export LC_MONETARY LC_MESSAGES LC_PAPER LC_NAME LC_ADDRESS > -export LC_TELEPHONE LC_MEASUREMENT LC_IDENTIFICATION > +if [ -n "$LANG" ]; then > + export LANG > +else > + export LANG="C" > +fi > + > +if [ -n "$LC_CTYPE" ]; then > + export LC_CTYPE > +else > + unset LC_CTYPE > +fi > + > +if [ -n "$LC_NUMERIC" ]; then > + export LC_NUMERIC > +else > + unset LC_NUMERIC > +fi > + > +if [ -n "$LC_TIME" ]; then > + export LC_TIME > +else > + unset LC_TIME > +fi > + > +if [ -n "$LC_COLLATE" ]; then > + export LC_COLLATE > +else > + unset LC_COLLATE > +fi > + > +if [ -n "$LC_MONETARY" ]; then > + export LC_MONETARY > +else > + unset LC_MONETARY > +fi > + > +if [ -n "$LC_MESSAGES" ]; then > + export LC_MESSAGES > +else > + unset LC_MESSAGES > +fi > + > +if [ -n "$LC_PAPER" ]; then > + export LC_PAPER > +else > + unset LC_PAPER > +fi > + > +if [ -n "$LC_NAME" ]; then > + export LC_NAME > +else > + unset LC_NAME > +fi > + > +if [ -n "$LC_ADDRESS" ]; then > + export LC_ADDRESS > +else > + unset LC_ADDRESS > +fi > + > +if [ -n "$LC_TELEPHONE" ]; then > + export LC_MEASUREMENT > +else > + unset LC_MEASUREMENT > +fi > + > +if [ -n "$LC_IDENTIFICATION" ]; then > + export LC_IDENTIFICATION > +else > + unset LC_IDENTIFICATION > +fi > -- > 1.7.7.1 > > i think we should take an another approach about this issue of locale. We should use pam (with pam_env module) to set this env vars.
-- Sébastien Luttringer www.seblu.net
