#!/bin/sh
###########################################################################
# Select SISCAD-P language 
# Copyright (c) 1993-1995 Staedtler Mars GmbH & Co - SIS
###########################################################################
# @(#)sislanguage	1.4 of 6/9/95

INSTALLBASE=/usr/siscadp
SISENV=/usr/siscadp/sys/siscad.env
OS=`uname -s`

case ${OS} in
  SunOS  ) LNCMD="/usr/5bin/ln -fs" ;;
  *      ) LNCMD="ln -fs" ;;
esac

#######
usage()
#######
{
  echo Aufruf / Usage : `basename $0` [ ENGLISH \| DEUTSCH ] 
  exit 1
}

#########
is_root()
#########
{ 
   ID=`id | grep root`

   if [ "${ID}" = "" ]
   then
     echo "Dieses Programm kann nur als ROOT ausgefuehrt werden"
     echo "This program can be executed as ROOT only"
     exit 1
   fi
}

###################
do_language_links() # $1 = de | en 
###################
{
  WDW_EXT="fvwm"           # Extension favorite window manager of SISCAD-P
  DEF_FILE="siscadp.def"

  for i in `find ${INSTALLBASE} -follow -name "*.$1" -print`
  do
    cd `dirname ${i}`
    SPRACH_FILE=`basename ${i}`
    LNK_FILE=`echo ${SPRACH_FILE} | awk '{
                                         printf "%s",substr($0,1,length($0)-3)
                                         }'`
    echo "Link ${SPRACH_FILE} --> ${LNK_FILE}"
    ${LNCMD} ./${SPRACH_FILE} ${LNK_FILE}
    if [ "${LNK_FILE}" = "${DEF_FILE}.${WDW_EXT}" ]
    then
      echo "Link ${LNK_FILE} --> ${DEF_FILE}"
      ${LNCMD} ./${LNK_FILE} ${DEF_FILE}
    fi
  done
}


#################
set_sislanguage() # $1 = DEUTSCH | ENGLISH
#################
{
if [ ! -f "$SISENV" ]
then
  echo "WARNING: Can't open $SISENV to change SISLANGUAGE environment"
else
ed -s $SISENV <<EOE
%s/SISLANGUAGE=.*$/SISLANGUAGE=$1/
w
q
EOE

case $1 in

DEUTSCH) 
cat <<EOT

SISLANGUAGE=$1 ($SISENV angepasst)

ACHTUNG: Sie muessen SISLANGUAGE ggf. in ihrer
^^^^^^^
          - globalen (/home/siscadp/sys/siscad.env) oder
          - privaten (\${HOME}/siscadp/sys/siscad.env)

         SISCAD-P Umgebung manuell aendern.

EOT
;;
ENGLISH)
cat <<EOT

SISLANGUAGE=$1 ($SISENV modified)

ATTENTION: You have to change SISLANGUAGE in your
^^^^^^^^^
            - global  (/home/siscadp/sys/siscad.env) or
            - private (\${HOME}/sys/siscad.env)

           SISCAD-P environment if necessary.

EOT
;;

esac
fi
}

######
# main
######

if [ $# != 1 ]
then
  usage
fi 

is_root

case $1 in

DEUTSCH) echo "SISCAD-P Sprachanpassung laeuft ..." 
         do_language_links de
         set_sislanguage DEUTSCH
;;
ENGLISH) echo "SISCAD-P language changes running ..." 
         do_language_links en 
         set_sislanguage ENGLISH 
;;

*) usage ;;
esac

