Merge remote branch 'grml-scripts-split/split/grml-scripts-core'
[grml-scripts-core.git] / usr_sbin / grml-setlang
diff --git a/usr_sbin/grml-setlang b/usr_sbin/grml-setlang
deleted file mode 100755 (executable)
index ae6a096..0000000
+++ /dev/null
@@ -1,221 +0,0 @@
-#!/bin/sh
-# Filename:      grml-setlang
-# Purpose:       set language system-wide on grml system
-# Authors:       grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
-# Bug-Reports:   see http://grml.org/bugs/
-# License:       This file is licensed under the GPL v2.
-################################################################################
-
-PN="$(basename $0)"
-DIALOG=dialog
-CMDLINE=/proc/cmdline
-LANGFUNC=/etc/grml/language-functions
-
-# notice: Debian's locales.postinst has been modified to write
-# locale variables into /etc/default/locale instead of
-# /etc/environment; the latter file is a PAM configuration file,
-# so modifying it was a policy violation.
-CONFFILE=/etc/default/locale
-
-. /etc/grml/script-functions
-. /etc/grml/lsb-functions
-
-check4root || exit 100
-
-eindent # as we are running inside grml boot sequence as well make sure we integrate fine
-
-# allow writing $CONFFILE non-interactive via "grml-setlang $LANGUAGE"
-if [ -n "$1" ] ; then
-   NONINTERACTIVE=1
-else
-   NONINTERACTIVE=''
-fi
-
-if ! [ -r "$LANGFUNC" ] ; then
-   echo "$LANGFUNC could not be read. Make sure you have package grml-autoconfig installed." >&2
-   exit 1
-fi
-
-setvalue(){
-  [ -n "$2" ] || return 1
-  # already present in conffile?
-  if grep -q "^${1}" "$CONFFILE" ; then
-     sed -i "s#^${1}.*#${1}${2}#"  $CONFFILE
-  # is the new Debian style /etc/default/locale present?
-  elif grep -q "^# ${1}$" "$CONFFILE" ; then
-     sed -i "s#^\# ${1}#${1}${2}#" $CONFFILE
-  else
-     echo "$1${2}" >> $CONFFILE
-  fi
-}
-
-# grml-small does not provide any further locales
-if grep -q small /etc/grml_version 2>/dev/null ; then
-   if [ -z "$NONINTERACTIVE" ] ; then
-      LANG=C $DIALOG --stdout --msgbox "Notice: grml-small does not provide a full language setup.
-
-You have to make sure the appropriate packages are installed." 0 0
-      exit 1
-   else
-      esyslog user.notice "$PN" 'grml-small does not provide a full language setup.'
-   fi
-fi
-
-[ -r /etc/environment ]    && . /etc/environment
-[ -r /etc/default/locale ] && . /etc/default/locale
-[ -n "$LANGUAGE" ] && DEFAULT_LANGUAGE="$LANGUAGE"
-
-if [ -z "$DEFAULT_LANGUAGE" ] ; then
-   DEFAULT_LANGUAGE=en
-fi
-
-if [ -z "$NONINTERACTIVE" ] ; then
-   LANGUAGE=$(LANG=C $DIALOG --stdout --title "$PN" --default-item $DEFAULT_LANGUAGE --radiolist \
-"Which language do you want to use?
-
-This will affect \$LANG, \$LANGUAGE and \$LC_MESSAGES.
-
-Notice: if you want to adjust /etc/locale.gen (defines
-which locales should be generated by locale-gen)
-please run 'dpkg-reconfigure locales' manually.
-
-Configuration will be written to $CONFFILE" 0 0 0 \
- at 'austria (unicode version)' off \
- at-iso 'austrian (iso version)' off \
- au 'austrial (unicode version)' off \
- au-iso 'australian (iso version)' off \
- be 'belgian (unicode version)' off \
- be-iso 'belgian (iso version)' off \
- bg 'bulgarian (unicode version)' off \
- bg-iso 'bulgarian (iso version)' off \
- br 'brazilian (unicode version)' off \
- br-iso 'brazilian (iso version)' off \
- ch 'swiss (unicode version)' off \
- ch-iso 'swiss (iso version)' off \
- cf 'french canadian' off \
- cn 'chinese (unicode version)' off \
- cn-iso 'chinese (iso version)' off \
- cs 'czech (unicode version)' off \
- cs-iso 'czech (iso version)' off \
- cz 'czech (unicode version)' off \
- cz-iso 'czech (iso version)' off \
- de 'german (unicode version)' off \
- de-iso 'german (iso version)' off \
- dk 'dansk (unicode version)' off \
- dk-iso 'dansk (iso version)' off \
- da 'dansk (unicode version)' off \
- da-iso 'dansk (iso version)' off \
- el 'greek (unicode version)' off \
- el-iso 'greek (iso version)' off \
- en 'english [us] (unicode version, grml default)' on \
- en-iso 'english [us] (iso version)' off \
- es 'spanish (unicode version)' off \
- es-iso 'spanish (iso version)' off \
- fi 'finnish (unicode version)' off \
- fi-iso 'finnish (iso version)' off \
- fr 'frensh (unicode version)' off \
- fr-iso 'frensh (iso version)' off \
- ga 'irish gaeilge (unicode version)' off \
- ga-iso 'irish gaeilge (iso version)' off \
- he 'hebrew (unicode version)' off \
- he-iso 'hebrew (iso version)' off \
- il 'hebrew (unicode version)' off \
- il-iso 'hebrew (iso version)' off \
- ie 'irish (unicode version)' off \
- ie-iso 'irish (iso version)' off \
- it 'italian (unicode version)' off \
- it-iso 'italian (iso version)' off \
- ja 'japanese (unicode version)' off \
- ja-iso 'japanese (iso version)' off \
- nl 'dutch (unicode version)' off \
- nl-iso 'dutch (iso version)' off \
- pl 'polish (unicode version)' off \
- pl-iso 'polisch (iso version)' off \
- pt 'portuguese (unicode version)' off \
- pt-iso 'portuguese (iso version)' off \
- ru 'russian (unicode version)' off \
- ru-iso 'russian (iso version)' off \
- sk 'slovak (unicode version)' off \
- sk-iso 'slovak (iso version)' off \
- sl 'slovenian (unicode version)' off \
- sl-iso 'slovenian (iso version)' off \
- tr 'turkish (unicode version)' off \
- tr-iso 'turkish (iso version)' off \
- tw 'chinese (traditional) (unicode version)' off \
- tw-iso 'chinese (traditional) (iso version)' off \
- uk 'british (unicode version)' off \
- uk-iso 'british (iso version)' off \
- us 'american (unicode version)' off \
- us-iso 'american (iso version)' off \
-)
-
-  retval=$?
-  case $retval in
-      (0)   # everything ok
-            ;;
-      (1)   echo "Cancel pressed." ; exit 1 ;;
-      (255) echo "ESC pressed."    ; exit 1 ;;
-  esac
-
-else # non-interactive
-  LANGUAGE="$1"
-fi
-
-if ! grep -qe "${LANGUAGE})" -qe "${LANGUAGE}|" $LANGFUNC ; then
-   ewarn "Language ${LANGUAGE} not supported, using default." ; eend 0
-fi
-
-# fallback to C if using an ISO system (which is latin1 for LC_CTYPE);
-# this should prevent users from broken ctype settings if the set
-# locale isn't available on a remote system
-if echo $LANGUAGE | grep -q -- '-iso' ; then
-   LC_CTYPE=C
-fi
-
-# read in the file where all the $LANGUAGE stuff is defined
-  . $LANGFUNC
-
-# make sure the file exists
-if ! [ -r $CONFFILE ] ; then
-cat > $CONFFILE <<EOF
-# File generated by $PN on $(date)
-LANG=$LANG
-# LC_CTYPE=$LC_CTYPE
-# LANGUAGE=$LANGUAGE
-# TZ=$TZ
-# other environment variables you might want to set:
-# LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY
-# LC_MESSAGES LC_PAPER LC_NAME LC_ADDRESS
-# LC_TELEPHONE LC_MEASUREMENT LC_IDENTIFICATION
-#
-# Note: set LC_ALL to overwrite all LC_* variables
-#       LC_ALL > LC_* > LANG
-#       LANGUAGE is glibc only and binds stronger than LC_ALL
-EOF
-fi
-
-setvalue 'LANG='     $LANG
-
-retval=$?
-case $retval in
-    (0)
-          if [ -z "$NONINTERACTIVE" ] ; then
-             LANG=C $DIALOG --stdout --msgbox "Writing language settings ($LANGUAGE) to $CONFFILE was successful." 0 0
-          else
-             einfo "Writing language settings ($LANGUAGE) to $CONFFILE was successful."
-             esyslog user.notice "$PN" "Writing language settings ($LANGUAGE) to $CONFFILE was successful." ; eend 0
-          fi
-          ;;
-    *)
-          if [ -z "$NONINTERACTIVE" ] ; then
-             LANG=C $DIALOG --stdout --msgbox "Error writing settings for $LANGUAGE to $CONFFILE." 0 0
-          else
-             eerror "Error writing settings for $LANGUAGE to $CONFFILE." ; eend 1
-             esyslog user.notice "$PN" "Error writing settings for $LANGUAGE to $CONFFILE."
-          fi
-          ;;
-esac
-
-eoutdent
-
-## END OF FILE #################################################################