#!/bin/sh

# lh_chroot_localization(1) - install localization packages into chroot
# Copyright (C) 2006-2008 Daniel Baumann <daniel@debian.org>
#
# live-helper comes with ABSOLUTELY NO WARRANTY; for details see COPYING.
# This is free software, and you are welcome to redistribute it
# under certain conditions; see COPYING for details.

set -e

# Including common functions
LH_BASE="${LH_BASE:-/usr/share/live-helper}"

for FUNCTION in "${LH_BASE}"/functions/*.sh
do
	. "${FUNCTION}"
done

# Setting static variables
DESCRIPTION="install localization packages into chroot"
HELP=""
USAGE="${PROGRAM} [--force]"

Arguments "${@}"

# Reading configuration files
Read_conffile config/all config/common config/bootstrap config/chroot config/binary config/source
Set_defaults

Echo_message "Begin installing localization packages..."

# Requiring stage file
Require_stagefile .stage/bootstrap

# Checking stage file
Check_stagefile .stage/chroot_localization

# Checking lock file
Check_lockfile .lock

# Creating lock file
Create_lockfile .lock

# Setting localizations
if [ -n "${LH_LANGUAGE}" ]
then
	case "${LH_LANGUAGE}" in
		af)
			# Afrikaans
			LOCALIZATIONS="iceweasel kde openoffice"
			;;

		as-in)
			# Assamese
			LOCALIZATIONS="openoffice"
			;;

		ar)
			# Arabic
			LOCALIZATIONS="iceweasel kde openoffice"
			;;

		az)
			# Azerbaijani
			LOCALIZATIONS="kde"
			;;

		be)
			# Belarusian
			LOCALIZATIONS="iceape iceweasel openoffice"

			# Overrides
			OPENOFFICE="be-by"
			;;

		bg)
			# Bulgarian
			LOCALIZATIONS="icedove iceweasel kde openoffice"
			;;

		bn)
			# Bengali
			LOCALIZATIONS="kde openoffice"
			;;

		br)
			# Breton
			LOCALIZATIONS="kde openoffice"
			;;

		bs)
			# Bosnian
			LOCALIZATION="kde openoffice"
			;;

		ca)
			# Catalan
			LOCALIZATIONS="iceape icedove iceweasel kde koffice openoffice"
			;;

		cs)
			# Czech
			LOCALIZATIONS="iceape icedove iceweasel kde koffice openoffice"
			;;

		cy-gb)
			# Welsh
			LOCALIZATIONS="iceweasel kde koffice openoffice"

			# Overrides
			KDE="cy"
			KOFFICE="cy"
			OPENOFFICE="cy"
			;;

		da)
			# Danish
			LOCALIZATIONS="icedove iceweasel kde koffice openoffice"
			;;

		de)
			# German
			LOCALIZATIONS="iceape icedove iceweasel kde koffice openoffice"
			;;

		dz-bt)
			# Dzongkha
			LOCALIZATIONS="iceweasel openoffice"

			# Overrides
			OPENOFFICE="dz"
			;;

		el)
			# Greek
			LOCALIZATIONS="icedove iceweasel kde koffice openoffice"
			;;

		en-gb)
			# English (Great Britain)
			LOCALIZATIONS="icedove iceweasel kde koffice openoffice"

			# Overrides
			KDE="engb"
			KOFFICE="engb"
			;;

		en-za)
			# English (South Africa)
			LOCALIZATIONS="openoffice"
			;;

		eo)
			# Esperanto
			LOCALIZATIONS="kde openoffice"
			;;

		es-ar)
			# Spanish (Argentina)
			LOCALIZATIONS="icedove iceweasel kde koffice openoffice"

			# Overrides
			KDE="es"
			KOFFICE="es"
			OPENOFFICE="es"
			;;

		es-es)
			# Spanish (Spain)
			LOCALIZATIONS="icedove iceweasel kde koffice openoffice"

			# Overrides
			KDE="es"
			KOFFICE="es"
			OPENOFFICE="es"
			;;

		et-ee)
			# Estonian
			LOCALIZATIONS="iceweasel kde koffice openoffice"

			# Overrides
			KDE="et"
			KOFFICE="et"
			OPENOFFICE="et"
			;;

		eu)
			# Basque
			LOCALIZATIONS="icedove iceweasel kde koffice"
			;;

		fa-ir)
			# Persian
			LOCALIZATIONS="iceweasel kde openoffice"

			# Overrides
			KDE="fa"
			OPENOFFICE="fa"
			;;

		fi)
			# Finnish
			LOCALIZATIONS="icedove iceweasel kde koffice openoffice"
			;;

		fr)
			# French
			LOCALIZATIONS="iceape icedove iceweasel kde koffice openoffice"
			;;

		fur-it)
			# Furlan
			LOCALIZATIONS="iceweasel"
			;;

		fy-nl)
			# Frisian
			LOCALIZATIONS="iceweasel kde"

			# Overrides
			KDE="fy"
			;;

		ga-ie)
			# Irish (Ireland)
			LOCALIZATIONS="icedove iceweasel kde openoffice"

			# Overrides
			ICEDOVE="ga"
			KDE="ga"
			OPENOFFICE="ga"
			;;

		gl)
			# Galician
			LOCALIZATIONS="kde"
			;;

		gu-in)
			# Gujarati (India)
			LOCALIZATIONS="icedove iceweasel openoffice"

			# Overrides
			ICEDOVE="gu"
			;;

		he)
			# Hebrew
			LOCALIZATIONS="iceape icedove iceweasel kde openoffice"
			;;

		hi)
			# Hindi
			LOCALIZATIONS="kde openoffice"
			;;

		hr)
			# Croatian
			LOCALIZATIONS="kde koffice openoffice"
			;;

		hu)
			# Hungarian
			LOCALIZATIONS="icedove iceweasel kde openoffice"
			;;

		in)
			# Indic
			LOCALIZATIONS="openoffice"
			;;

		is)
			# Icelandic
			LOCALIZATIONS="kde"
			;;

		it)
			# Italian
			LOCALIZATIONS="iceape icedove iceweasel kde koffice openoffice"
			;;

		ja)
			# Japanese
			LOCALIZATIONS="icedove iceweasel kde koffice openoffice"
			;;

		ka)
			# Georgian
			LOCALIZATIONS="iceweasel openoffice"
			;;

		km)
			# Khmer
			LOCALIZATIONS="kde openoffice"
			;;

		ko)
			# Korean
			LOCALIZATIONS="icedove iceweasel kde openoffice"
			;;

		ku)
			# Kurdish
			LOCALIZATIONS="iceweasel openoffice"
			;;

		lo)
			# Lao
			LOCALIZATIONS="openoffice"
			;;

		lt)
			# Lithuanian
			LOCALIZATIONS="icedove iceweasel kde openoffice"
			;;

		lv)
			# Latvian
			LOCALIZATIONS="kde koffice openoffice"
			;;

		mk)
			# Macedonian
			LOCALIZATIONS="icedove iceweasel kde openoffice"
			;;

		ml-in)
			# Malayalam
			LOCALIZATIONS="openoffice"
			;;

		mn)
			# Mongolian
			LOCALIZATIONS="iceweasel kde"
			;;

		ms)
			# Malay
			LOCALIZATIONS="kde koffice"
			;;

		nb-no)
			# Bokmaal (Norway)
			LOCALIZATIONS="icedove iceweasel kde koffice openoffice"

			# Overrides
			ICEDOVE="nb"
			KDE="nb"
			KOFFICE="nb"
			OPENOFFICE="nb"
			;;

		nds)
			# Low Saxon
			LOCALIZATIONS="kde"
			;;

		ne)
			# Nepalese
			LOCALIZATIONS="openoffice"
			;;

		nl)
			# Dutch
			LOCALIZATIONS="icedove iceweasel kde koffice openoffice"
			;;

		nn-no)
			# Nynorsk (Norway)
			LOCALIZATIONS="iceweasel kde openoffice"

			# Overrides
			KDE="nn"
			OPENOFFICE="nn"
			;;

		nr)
			# Ndebele
			LOCALIZATIONS="openoffice"
			;;

		ns)
			# Northernsotho
			LOCALIZATIONS="openoffice"
			;;

		or-in)
			# Oriya
			LOCALIZATIONS="openoffice"
			;;

		pa-in)
			# Punjabi (India)
			LOCALIZATIONS="icedove iceweasel kde openoffice"

			# Overrides
			ICEDOVE="pa"
			KDE="pa"
			;;

		pl)
			# Polish
			LOCALIZATIONS="iceape icedove iceweasel kde koffice openoffice"
			;;

		pt-br)
			# Portugese (Brazil)
			LOCALIZATIONS="icedove iceweasel kde koffice openoffice"

			# Overrides
			KDE="ptbr"
			KOFFICE="ptbr"
			;;

		pt-pt)
			# Portugese (Portugal)
			LOCALIZATIONS="iceweasel kde koffice openoffice"

			# Overrides
			KDE="pt"
			KOFFICE="pt"
			OPENOFFICE="pt"
			;;

		ro)
			# Romanian
			LOCALIZATIONS="iceweasel kde"
			;;

		roa-es-val)
			# Valencian (Spain)
			LOCALIZATIONS="iceweasel"
			;;

		ru)
			# Russian
			LOCALIZATIONS="iceape icedove iceweasel kde koffice openoffice"
			;;

		rw)
			# Kinarwanda
			LOCALIZATIONS="kde openoffice"
			;;

		se)
			# Northern Sami
			LOCALIZATIONS="kde"
			;;

		sk)
			# Slovak
			LOCALIZATIONS="icedove iceweasel kde koffice openoffice"
			;;

		sl)
			# Slovenian
			LOCALIZATIONS="icedove iceweasel kde koffice openoffice"
			;;

		sr-cs)
			# Serbian
			LOCALIZATIONS="kde koffice openoffice"

			# Overrides
			KDE="sr"
			KOFFICE="sr"
			;;

		sr-latin)
			# Latin Serbian
			LOCALIZATIONS="kde koffice"

			# Overrides
			KDE="srlatin"
			KOFFICE="srlatin"
			;;

		ss)
			# Swazi
			LOCALIZATIONS="kde openoffice"
			;;

		st)
			# Southern_sotho
			LOCALIZATIONS="openoffice"
			;;

		sv-se)
			# Swedish
			LOCALIZATIONS="icedove iceweasel kde koffice openoffice"

			# Overrides
			ICEDOVE="sv"
			KDE="sv"
			KOFFICE="sv"
			OPENOFFICE="sv"
			;;

		ta-in)
			# Tamil
			LOCALIZATIONS="kde openoffice"

			# Overrides
			KDE="ta"
			;;

		te-in)
			# Telugu
			LOCALIZATIONS="openoffice"
			;;

		tg)
			# Tajik
			LOCALIZATIONS="kde openoffice"
			;;

		th)
			# Thai
			LOCALIZATIONS="openoffice"
			;;

		tn)
			# Tswana
			LOCALIZATIONS="openoffice"
			;;

		tr)
			# Turkish
			LOCALIZATIONS="icedove iceweasel kde kofffice openoffice"
			;;

		ts)
			# Tsonga
			LOCALIZATIONS="openoffice"
			;;

		uk-ua)
			# Ukrainian
			LOCALIZATIONS="icedove iceweasel kde kofffice openoffice"

			# Overrides
			ICEDOVE="uk"
			KDE="uk"
			KDE="uk"
			OPENOFFICE="uk"
			;;

		uz)
			# Uzbek
			LOCALIZATIONS="kde"
			;;

		ve)
			# Venda
			LOCALIZATIONS="openoffice"
			;;

		vi)
			# Vietnamese
			LOCALIZATIONS="openoffice"
			;;

		xh)
			# Xhosa
			LOCALIZATIONS="openoffice"
			;;

		za)
			# South African
			LOCALIZATIONS="openoffice"
			;;

		zh-cn)
			# Chinese (China)
			LOCALIZATIONS="icedove iceweasel kde koffice openoffice"

			# Overrides
			KDE="zhcn"
			KOFFICE="zhcn"
			;;

		zh-tw)
			# Chinese (Taiwan)
			LOCALIZATIONS="iceweasel kde koffice openoffice"

			# Overrides
			KDE="zhtw"
			KOFFICE="zhtw"
			;;

		zu)
			# Zulu
			LOCALIZATIONS="openoffice"
			;;
	esac

	# Setting languages
	ICEAPE="${ICEAPE:-$LH_LANGUAGE}"
	ICEDOVE="${ICEDOVE:-$LH_LANGUAGE}"
	ICEWEASEL="${ICEWEASEL:-$LH_LANGUAGE}"
	KDE="${KDE:-$LH_LANGUAGE}"
	KOFFICE="${KOFFICE:-$LH_LANGUAGE}"
	OPENOFFICE="${OPENOFFICE:-$LH_LANGUAGE}"

	# Setting packages
	for LOCALIZATION in ${LOCALIZATIONS}
	do
		case "${LOCALIZATION}" in
			iceape)
				Check_installed chroot/usr/bin/iceape iceape; [ $INSTALL_STATUS -eq 0 ] && Check_package "" iceweasel-l10n-"${ICEAPE}"
				;;

			icedove)
				Check_installed chroot/usr/bin/icedove icedove; [ $INSTALL_STATUS -eq 0 ] && Check_package "" icedove-locale-"${ICEDOVE}"
				;;

			iceweasel)
				Check_installed chroot/usr/bin/iceweasel iceweasel; [ $INSTALL_STATUS -eq 0 ] && Check_package "" iceweasel-l10n-"${ICEWEASEL}" 
				;;

			kde)
				Check_installed chroot/usr/bin/kstart kdebase-bin; [ $INSTALL_STATUS -eq 0 ] && Check_package "" kde-i18n-"${KDE}" 
				;;

			koffice)
				Check_installed chroot/usr/bin/koconverter koffice; [ $INSTALL_STATUS -eq 0 ] && Check_package "" koffice-i18n-"${KOFFICE}"
				;;

			openoffice)
				Check_installed chroot/usr/bin/ooffice openoffice.org-common; [ $INSTALL_STATUS -eq 0 ] && Check_package "" openoffice.org-l10n-"${OPENOFFICE}" 
				;;
		esac
	done

	Check_installed chroot/usr/bin/gwenview gwenview; [ $INSTALL_STATUS -eq 0 ] && Check_package "" gwenview-i18n 
	Check_installed chroot/usr/bin/k3b k3b; [ $INSTALL_STATUS -eq 0 ] && Check_package "" k3b-i18n

	# Restoring cache
	Restore_cache cache/packages_localization

	# Installing packages
	Install_package

	# Saving cache
	Save_cache cache/packages_localization

	# Creating stage file
	Create_stagefile .stage/chroot_localization
fi
