Sophie

Sophie

distrib > Mandriva > 2006.0 > i586 > media > main-src > by-pkgid > 486f73e3998368e31b1a6b7a69a6eb93 > files > 12

zhcon-0.2.3-7mdk.src.rpm

#!/bin/bash
#
# zhcon-config.sh
# 
# This is a very simple script that checks for current locale and
# modify zhcon config files.
#
################################################################

if [ ! -d /etc/zhcon ]; then
	echo "/etc/zhcon directory does not exist!" >&2
	exit 1
fi
cd /etc/zhcon

# check screen resolution
resolution=`/bin/fbresolution 2>/dev/null`
if [ $? -eq 0 ]; then
	x=`echo $resolution | cut -dx -f1`
	y=`echo $resolution | cut -dx -f2`
	for i in zhcon.conf.*; do
		rm -f $i.bak
		cp -f $i $i.bak
		sed -e "s/^x_resolution.*/x_resolution = $x/" \
		    -e "s/^y_resolution.*/y_resolution = $y/" < $i.bak > $i
		rm -f $i.bak
	done
fi

mv -f zhcon.conf zhcon.conf.backup

# create symlink to correct config file based on locale env
for locale in $LC_ALL $LC_CTYPE $LANG; do
	case "`echo $locale | cut -c1-2`" in

		"ko")
			ln -s zhcon.conf.ko zhcon.conf
			;;
		"ja")
			ln -s zhcon.conf.ja zhcon.conf
			;;
		"zh")
			case "`echo $locale | cut -c1-5`" in
				"zh_TW"|"zh_HK")
					ln -s zhcon.conf.zh_TW zhcon.conf
					;;
				"zh_CN"|"zh_SG")
					if [ "`echo $locale | sed 's/.*\.//' | tr a-z A-Z`" == "GB2312" ]; then
						ln -s zhcon.conf.zh_CN.GB2312 zhcon.conf
					elif [ "`echo $locale | sed 's/.*\.//' | tr a-z A-Z`" == "GBK" ]; then
						ln -s zhcon.conf.zh_CN.GBK zhcon.conf
					fi
					;;
			esac
	esac
done
[ -L "zhcon.conf" ] || \
	ln -s zhcon.conf.zh_CN.GB2312 zhcon.conf