slitaz-tools annotate tinyutils/tazlocale @ rev 234
man: add 'No manual entry'
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Sat Jul 12 09:22:54 2008 +0000 (2008-07-12) |
parents | 23334267b435 |
children | db0e82bebc70 |
rev | line source |
---|---|
pankso@5 | 1 #!/bin/sh |
pankso@5 | 2 # |
pankso@5 | 3 # Tazlocale: SliTaz GNU/Linux locale setting using dialog boxes. |
pankso@5 | 4 # Configuration file is : /etc/locale.conf |
pankso@5 | 5 # |
pankso@145 | 6 # 20080417 <pankso@slitaz.org> - GNU gpl. |
pankso@5 | 7 # |
pascal@190 | 8 : ${DIALOG=tazdialog} |
pankso@192 | 9 export ICON="preferences-desktop-locale" |
pankso@5 | 10 |
pankso@5 | 11 # Script functions. |
pankso@5 | 12 status() |
pankso@5 | 13 { |
pankso@5 | 14 local CHECK=$? |
pankso@5 | 15 echo -en "\\033[70G[ " |
pankso@5 | 16 if [ $CHECK = 0 ]; then |
pankso@5 | 17 echo -en "\\033[1;33mOK" |
pankso@5 | 18 else |
pankso@5 | 19 echo -en "\\033[1;31mFailed" |
pankso@5 | 20 fi |
pankso@5 | 21 echo -e "\\033[0;39m ]" |
pankso@5 | 22 } |
pankso@5 | 23 |
pankso@5 | 24 # Check if user is root. |
pankso@5 | 25 # |
pankso@5 | 26 if test $(id -u) != 0; then |
pankso@145 | 27 echo -e "\nYou must be root to run `basename $0`!" |
pankso@145 | 28 echo -e "Type su and root password to become super-user.\n" |
pankso@145 | 29 exit 1 |
pankso@5 | 30 fi |
pankso@5 | 31 |
pankso@170 | 32 # Locale name displayed. |
pankso@170 | 33 get_locale_name() |
pankso@170 | 34 { |
pankso@170 | 35 for i in `locale -a | grep "[a-z]_"` |
pankso@170 | 36 do |
pankso@170 | 37 name=`locale -a -v | grep -A 2 "locale: $i" | grep "title" | \ |
pankso@170 | 38 cut -d " " -f 7` |
pankso@170 | 39 echo "$i $name" |
pankso@170 | 40 done |
pankso@170 | 41 } |
pankso@170 | 42 |
pankso@5 | 43 # Dialog menu. |
pankso@5 | 44 # |
pankso@5 | 45 exec 3>&1 |
pankso@5 | 46 value=`$DIALOG --clear \ |
pankso@145 | 47 --title " SliTaz locale configuration " \ |
pankso@145 | 48 --menu \ |
pankso@198 | 49 "\nSelect your language - Séléctionnez votre langue" 15 70 5 \ |
pankso@170 | 50 "en" "English" \ |
pankso@170 | 51 $(get_locale_name) \ |
pankso@5 | 52 2>&1 1>&3` |
pankso@5 | 53 retval=$? |
pankso@5 | 54 exec 3>&- |
pankso@5 | 55 |
pankso@5 | 56 case $retval in |
pankso@145 | 57 0) |
pankso@145 | 58 continue ;; |
pankso@145 | 59 1) |
pankso@145 | 60 echo "Cancel pressed." |
pankso@145 | 61 exit 0 ;; |
pankso@145 | 62 255) |
pankso@145 | 63 if test -n "$value"; then |
pankso@145 | 64 echo "$value" |
pankso@145 | 65 else |
pankso@145 | 66 echo "ESC pressed." |
pankso@145 | 67 exit 0 |
pankso@145 | 68 fi ;; |
pankso@5 | 69 esac |
pankso@5 | 70 |
pankso@147 | 71 # Default: C = English |
pankso@147 | 72 if [ "$value" = "en" ]; then |
pankso@147 | 73 value='C' |
pankso@147 | 74 fi |
pankso@5 | 75 |
pankso@174 | 76 # If it's a reconfiguration give an info message. |
pascal@204 | 77 if [ -s /etc/locale.conf ]; then |
pankso@174 | 78 $DIALOG --clear \ |
pankso@174 | 79 --title " Locale setting information " \ |
pankso@174 | 80 --msgbox "\n |
pankso@192 | 81 Please logout you current session and login again to use $value |
pankso@174 | 82 locale.\n" 16 70 |
pankso@174 | 83 fi |
pankso@174 | 84 |
pankso@145 | 85 # System configuration |
pankso@147 | 86 echo "LANG=$value" > /etc/locale.conf |
pankso@147 | 87 echo "LC_ALL=$value" >> /etc/locale.conf |
pankso@145 | 88 |
pankso@170 | 89 . /etc/locale.conf |
pankso@170 | 90 export LANG LC_ALL |
pankso@5 | 91 |
pankso@5 | 92 exit 0 |