slitaz-tools view tinyutils/tazlocale @ rev 147

tazlocale: KISS gen locale list with 'locale -a'
author Christophe Lincoln <pankso@slitaz.org>
date Thu Apr 17 21:48:40 2008 +0200 (2008-04-17)
parents 6fdcd51993b5
children ba7eb3717f49
line source
1 #!/bin/sh
2 #
3 # Tazlocale: SliTaz GNU/Linux locale setting using dialog boxes.
4 # Configuration file is : /etc/locale.conf
5 #
6 # 20080417 <pankso@slitaz.org> - GNU gpl.
7 #
8 : ${DIALOG=dialog}
10 # Script functions.
11 status()
12 {
13 local CHECK=$?
14 echo -en "\\033[70G[ "
15 if [ $CHECK = 0 ]; then
16 echo -en "\\033[1;33mOK"
17 else
18 echo -en "\\033[1;31mFailed"
19 fi
20 echo -e "\\033[0;39m ]"
21 }
23 # Check if user is root.
24 #
25 if test $(id -u) != 0; then
26 echo -e "\nYou must be root to run `basename $0`!"
27 echo -e "Type su and root password to become super-user.\n"
28 exit 1
29 fi
31 # Dialog menu.
32 #
33 exec 3>&1
34 value=`$DIALOG --clear \
35 --title " SliTaz locale configuration " \
36 --menu \
37 "Select your language - Séléctionnez votre langue" 15 70 5 \
38 "en" "Locale" \
39 $(locale -a | grep ^[a-z] | awk '{ printf "%s Locale\n",$1,$2 }') \
40 2>&1 1>&3`
41 retval=$?
42 exec 3>&-
44 case $retval in
45 0)
46 continue ;;
47 1)
48 echo "Cancel pressed."
49 exit 0 ;;
50 255)
51 if test -n "$value"; then
52 echo "$value"
53 else
54 echo "ESC pressed."
55 exit 0
56 fi ;;
57 esac
59 # Default: C = English
60 if [ "$value" = "en" ]; then
61 value='C'
62 fi
64 # System configuration
65 echo "LANG=$value" > /etc/locale.conf
66 echo "LC_ALL=$value" >> /etc/locale.conf
68 . /etc/locale.conf && export LANG LC_ALL
70 exit 0