You are not logged in.

#1 2006-06-03 15:05:35

Jacek Poplawski
Member
From: Poland
Registered: 2006-01-10
Posts: 736
Website

Why LOCALE doesn't affect LC_ALL?

When I set LOCALE to pl_PL in rc.conf, only LANG will be set to pl_PL. Many programs (for instance Firefox) check LC_ALL, they will still be in english without that...

Offline

#2 2006-06-03 21:52:11

newgargamel
Member
From: PL, CZ
Registered: 2005-08-28
Posts: 156

Re: Why LOCALE doesn't affect LC_ALL?

It's becouse of new glibc -> look at old arch news below yikes
In /etc/locale.gen unmark two lines:
pl_PL.UTF-8    UTF-8
pl_PL     ISO-8859-2
run /usr/sbin/locale-gen and it'll work

glibc will no longer contain pre-generated locales. This means users who use something else than the C locale should take some steps when upgrading to the new glibc-2.3.6-2 package.
glibc will try to autodetect the locales needed on your system and enables them in /etc/locale.gen. After this, it will run /usr/sbin/locale-gen.
The glibc package will look in the $LANG variable and in /etc/rc.conf for the LOCALE setting. If you use any other locales than these, edit /etc/locale.gen and run /usr/sbin/locale-gen. This should generate all the locales you need.
The package is uploaded to testing first, if no bugs are reported, it will go into current quite soon.

For users who have been running 2.3.6-1 from testing, this autodetection won't work, as the /etc/locale.gen included in the package is under pacman's backup control and doesn't contain the required lines to support autodetection.

Offline

#3 2006-06-10 12:26:46

alibaba
Member
From: Graz Austria/Europe
Registered: 2004-02-12
Posts: 18

Re: Why LOCALE doesn't affect LC_ALL?

I have added follow changes to my /etc/rc.sysinit, now
it changes all neccessary allone...

# Set user defined locale
if [ "$LOCALE" != "" ]; then
    stat_busy "Setting Locale: $LOCALE"
    echo "export LANG=$LOCALE" >>/etc/profile.d/locale.sh


    # begin: Fix for the Locale Problem
    echo "export LC_ALL=$LOCALE" >>/etc/profile.d/locale.sh    
        # first 5 from LOCALE
        eval lc="${LOCALE:0:5}"
    # if not empty
        if [ -n "$lc" ]; then
          # check if disabled 
          lcd=`cat /etc/locale.gen | grep "^#$lc"`
      # if Locale disabled
          if [ -n "$lcd" ]; then
        # if no backup generate one
            if [ ! -f /etc/locale.gen.backup ]; then
               cp /etc/locale.gen /etc/locale.gen.backup
            fi
        # enable the Locale
            cp /etc/locale.gen /tmp/locale.gen.work
            sed "s/^#$lc/$lc/g" /tmp/locale.gen.work  >/etc/locale.gen
        rm /tmp/locale.gen.work
            # Generate the Locale
        locale-gen
      fi
        fi    
    # end: Fix for the Locale Problem        


    stat_done

Offline

Board footer

Powered by FluxBB