5 # initramfs-tools header
21 # live-initramfs header
23 if [ -n "${NOLOCALES}" ]
28 . /scripts/live-functions
30 log_begin_msg "Setting up locales..."
32 # live-initramfs script
34 if [ -e /root/etc/default/locale ]
36 grep_file=/root/etc/default/locale
37 elif [ -e /root/etc/environment ]
40 grep_file=/root/etc/environment
43 if [ -n "${grep_file}" ]
45 # use rootfs configured locale
46 locale=$(grep -s 'LANG=' ${grep_file} | sed s/'LANG='// | tr -d '"' )
62 if [ "${set_locale}" ]
64 if echo "${locale}" | grep -sqE '^[[:lower:]]{2}$'
66 # input is like "locale=it", so we will convert and setup also the keyboard if not already set
69 # FIXME: look if this keyb is supported
74 uploc=$(echo "${locale}" | tr '[a-z]' '[A-Z]')
75 locale="${locale}_${uploc}.UTF-8"
78 LANG=$(grep "^${locale}" /root/usr/share/i18n/SUPPORTED | grep UTF-8 | sed -e 's, .*,,' -e q)
80 language="${LANG%%.UTF-8*}"
81 if [ -d /root/etc/default/kdm.d/ ]
84 cat > /root/etc/default/kdm.d/live-autologin << EOF
88 elif [ -f /root/etc/kde3/kdm/kdmrc ]
90 sed -i -r -e "s/#Language=.*/Language=${language}/" \
91 /root/etc/kde3/kdm/kdmrc
96 log_warning_message "Locale ${locale} is unsupported."
103 printf 'LANG="%s"\n' "${LANG}" >> /root/etc/default/locale
104 printf 'LANG="%s"\n' "${LANG}" >> /root/etc/environment
105 printf '%s UTF-8\n' "${LANG}" > /root/etc/locale.gen
106 chroot /root /usr/sbin/locale-gen