#!/bin/sh

# create NLS directory structure
if [ ! -d /tmp/languages ] ; then
	/bin/mkdir /tmp/languages
	/bin/mkdir /tmp/languages/locale
	/bin/mkdir /tmp/languages/sysmessages
	/bin/mkdir /tmp/languages/help
fi

#
# check if all preinstalled languages are linked
#

if [ ! -f /tmp/languages/locale/locale.alias ] ; then
	/bin/ln -s /usr/share/preinstalled-locale/locale.alias /tmp/languages/locale/locale.alias
fi
if [ ! -f /tmp/languages/locale/locale.conf ] ; then
	/bin/ln -s /usr/share/preinstalled-locale/locale.conf /tmp/languages/locale/locale.conf
fi

INSTALLED="C "
for i in $(/bin/ls /usr/share/preinstalled-locale/ ) ; do
	if [ ! -L /usr/share/preinstalled-locale/$i ] && [ -d /usr/share/preinstalled-locale/$i ] ; then
		INSTALLED="$i $INSTALLED"
		/bin/ln -sf /usr/share/preinstalled-locale/$i /tmp/languages/locale/$i
	fi
done

for i in $(/bin/ls /usr/share/preinstalled-help/ ) ; do
	if [ -d /usr/share/preinstalled-help/$i ] ; then
		/bin/ln -sf /usr/share/preinstalled-help/$i /tmp/languages/help/$i
	fi
done

for i in $(/bin/ls /usr/share/preinstalled-sysmessages/ ) ; do
	if [ -d /usr/share/preinstalled-sysmessages/$i ] ; then
		/bin/ln -sf /usr/share/preinstalled-sysmessages/$i /tmp/languages/sysmessages/$i
	fi
done

#
# check if additional language is linked
#

LANG=$(/bin/ls /mnt/language/locale/)

if [ "$LANG" != "" ] ; then
	/bin/ln -sf /mnt/language/locale/$LANG /tmp/languages/locale/$LANG
	/bin/ln -sf /mnt/language/help/$LANG /tmp/languages/help/$LANG
	/bin/ln -sf /mnt/language/sysmessages/$LANG /tmp/languages/sysmessages/$LANG

	if [ -f /mnt/language/locale.alias ] ; then
		/bin/ln -sf /mnt/language/locale.alias /tmp/languages/locale/locale.alias
	fi
	if [ -f /mnt/language/locale.conf ] ; then
		/bin/ln -sf /mnt/language/locale.conf /tmp/languages/locale/locale.conf
	fi

	# link not installed voice message to 'C'
	if [ ! -e /mnt/language/sysmessages/$LANG ] ; then
		ln -sf /usr/share/preinstalled-sysmessages/C /mnt/language/sysmessages/$LANG
	else
		for i in $(/bin/ls /usr/share/preinstalled-sysmessages/C) ; do
			if [ ! -f /mnt/language/sysmessages/$LANG/$i ] ; then
				ln -sf /usr/share/preinstalled-sysmessages/C/$i /mnt/language/sysmessages/$LANG/$i
			fi
		done;
	fi

	# link not installed help message to 'C'
	if [ ! -e /mnt/language/help/$LANG ] ; then
		ln -sf /usr/share/preinstalled-help/C /mnt/language/help/$LANG
	else
		for i in $(/bin/ls /usr/share/preinstalled-help/C) ; do
			if [ ! -f /mnt/language/help/$LANG/$i ] ; then
				ln -sf /usr/share/preinstalled-help/C/$i /mnt/language/help/$LANG/$i
			fi
		done;
	fi

	if ! echo $INSTALLED | grep $LANG > /dev/null ; then
		INSTALLED="$LANG $INSTALLED"
	fi
fi

echo "languages=$INSTALLED" > /tmp/installed-languages.conf
