slitaz-tools annotate tinyutils/tazlocale @ rev 296

desktopbox: Add autostart (GUI to enable/disable apps started with Openbox)
author Christophe Lincoln <pankso@slitaz.org>
date Sat Feb 21 22:33:58 2009 +0100 (2009-02-21)
parents df6285a99463
children af65458ca488
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
MikeDSmith25@252 81 Please logout of your 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