wok-next annotate slitaz-i18n/stuff/locale-pack.functions @ rev 20080

fix
author Xander Ziiryanoff <psychomaniak@xakep.ru>
date Wed Oct 25 11:39:56 2017 +0200 (2017-10-25)
parents 98906245f829
children 5dcba97b45a1
rev   line source
al@14908 1 get_locale()
al@14908 2 {
al@19759 3 LOCALE="$1"; LOCALE_DEPENDS="$2"; LOCALEDEF="$3"
al@19759 4 KBD="$4"; KB_FLAGS="$5"; GCONV="$6"
al@18168 5 [ -z "$CHARMAP" ] && CHARMAP='UTF-8'
pankso@3087 6
al@17402 7 case "$SLITAZ_ARCH" in
al@17402 8 arm*) ;;
al@17402 9 i?86)
al@17402 10 # Get translated Openbox menu from SliTaz sub project slitaz-configs
al@18168 11 obmenu="$WOK/slitaz-configs/install/etc/xdg/openbox/menu.$LOCALE.xml"
al@18168 12 if [ -f "$obmenu" ]; then
al@17402 13 mkdir -p $fs/etc/xdg/openbox
al@17402 14 echo "* Found $LOCALE translations for: openbox menu"
al@17402 15 cp $obmenu $fs/etc/xdg/openbox
al@17402 16 fi
al@17402 17 ;;
al@17402 18 esac
gokhlayeh@11389 19
al@14908 20 # Get the core packages messages.
al@17402 21 case "$SLITAZ_ARCH" in
al@17402 22 arm*) CORE_PKGS="$CORE_PKGS_ARM" ;;
al@17402 23 esac
al@14908 24 mkdir -p $fs/usr/share/locale/$LOCALE
al@14908 25 for app in $CORE_PKGS; do
al@18168 26 app_locale="$WOK/$app/install/usr/share/locale/$LOCALE"
al@18168 27 if [ -d "$app_locale" ]; then
al@14908 28 echo "* Found $LOCALE translations for: $app"
al@14908 29 cp -a $app_locale $fs/usr/share/locale
pankso@3087 30 fi
pankso@3087 31 done
al@14908 32
al@14908 33 # List of available locales
al@19759 34 if [ -d "$WOK/glibc/install" ]; then
al@19759 35 cd $WOK/glibc/install/usr/share/i18n/locales
al@19759 36 locales=$(ls -1 | sed -n '/^'$LOCALE'$/p; /^'$LOCALE'_.*/p' | sed '/translit/d')
al@19759 37 else
al@19759 38 locales=''
al@19759 39 fi
al@18168 40 [ -n "$LOCALEDEF" ] && locales="$LOCALEDEF"
al@14908 41
al@14908 42 # Get X11 locale
al@14908 43 for def in $locales; do
al@18168 44 x11_locale="$WOK/xorg-libX11/install/usr/share/X11/locale/$def.$CHARMAP"
al@18168 45 case "$def.$CHARMAP" in
al@18168 46 en_US.UTF-8)
al@18168 47 # belongs to "xorg-libX11" package, skip it
al@18168 48 ;;
al@18168 49 *)
al@18168 50 if [ -d "$x11_locale" ]; then
al@18168 51 echo "* Found $def.$CHARMAP locale for: X11"
al@18168 52 mkdir -p $fs/usr/share/X11/locale
al@18168 53 cp -a $x11_locale $fs/usr/share/X11/locale
al@18168 54 fi
al@18168 55 ;;
al@18168 56 esac
al@14908 57 done
al@14908 58
al@16551 59 # Get locale definition files
al@19759 60 if [ -d "$WOK/glibc/install" ]; then
al@19759 61 for def in $locales; do
al@19759 62 case $def in
al@19759 63 en_US|en_GB)
al@19759 64 # already in glibc-base
al@19759 65 ;;
al@19759 66 *)
al@19759 67 echo "* Copying $def locale files"
al@19759 68 mkdir -p $fs/usr/share/i18n/locales
al@19759 69 cp -a $WOK/glibc/install/usr/share/i18n/locales/$def \
al@19759 70 $fs/usr/share/i18n/locales
al@19759 71 ;;
al@19759 72 esac
al@19759 73 done
al@16433 74
al@19759 75 if [ -n "$LOCALE_DEPENDS" ]; then
al@19759 76 for dep in $LOCALE_DEPENDS; do
al@19759 77 echo "* Copying additional $dep locale files"
al@19759 78 cp -a $WOK/glibc/install/usr/share/i18n/locales/$dep \
al@19759 79 $fs/usr/share/i18n/locales
al@19759 80 done
al@19759 81 fi
al@16591 82 fi
al@16591 83
al@18168 84 #grep -r 'include' $fs/usr/share/i18n/locales # test includes in locales
al@18168 85
al@16551 86 # Get timezones from tzdata
al@19759 87 if [ -d "$WOK/tzdata/install" ]; then
al@19759 88 countries=$(echo $locales | \
al@19759 89 sed 's|@[^ ]*||g; s|[^ _]*_||g' | tr ' ' '\n' | sort -u)
al@19759 90 echo "* Copy timezone info for countries: "$countries
al@19759 91 locations=''
al@19759 92 for country in $countries; do
al@19759 93 location=$(grep '^'$country \
al@19759 94 $WOK/tzdata/install/usr/share/zoneinfo/zone.tab | awk '{ print $3}')
al@19759 95 locations="$locations $location"
al@14908 96 done
al@19759 97 for location in $locations; do
al@19759 98 for tz in $location; do
al@19759 99 install -Dm644 $WOK/tzdata/install/usr/share/zoneinfo/$tz \
al@19759 100 $fs/usr/share/zoneinfo/$tz
al@19759 101 done
al@19759 102 done
al@19759 103 fi
al@16551 104
al@17402 105 case "$SLITAZ_ARCH" in
al@19759 106 arm*) return 0 ;;
al@17402 107 esac
al@17402 108
al@16551 109 # Get country flags
al@19759 110 if [ -d "$WOK/flag-icons/install" ]; then
al@19759 111 echo "* Copy flag icons for countries: "$countries
al@19759 112 for country in $countries; do
al@19759 113 for size in 16x16 48x48; do
al@19759 114 install -Dm644 \
al@19759 115 $WOK/flag-icons/install/usr/share/icons/hicolor/$size/intl/$country.png \
al@19759 116 $fs/usr/share/icons/hicolor/$size/intl/$country.png
al@19759 117 done
al@16551 118 done
al@19759 119 # above icons credits
al@19759 120 mkdir -p $fs/usr/share/licenses
al@19759 121 cp $WOK/flag-icons/install/usr/share/licenses/gosquared.txt \
al@19759 122 $fs/usr/share/licenses
al@19759 123 fi
al@16551 124
al@16591 125 # Gconv modules for encodings other than default
al@19759 126 if [ -n "$GCONV" -a -d "$WOK/glibc/install" ]; then
al@16591 127 mkdir -p $fs/usr/lib/gconv
al@16591 128 for enc in $GCONV; do
al@18986 129 case $enc in
al@18921 130 ISO8859-1|ISO8859-15)
al@18921 131 # already in glibc-base
al@18921 132 ;;
al@18921 133 *)
al@18921 134 echo "* Copying $enc gconv module"
al@18921 135 cp -a $WOK/glibc/install/usr/lib/gconv/$enc.so $fs/usr/lib/gconv
al@18921 136 ;;
al@18921 137 esac
al@16551 138 done
al@18168 139 #ldd $fs/usr/lib/gconv/* # test depends in gconv modules
al@18168 140 fi
al@18168 141
al@18168 142 # Console keyboard layouts
al@19759 143 if [ -n "$KBD" -a -d "$WOK/kbd/install" ]; then
al@18168 144 cd $WOK/kbd/install
al@18168 145 for map in $KBD; do
al@18168 146 echo "* Copying $map kbd map"
al@18168 147 mapfiles=$(find . -type f -name $map.map.gz)
al@18168 148 for mapfile in $mapfiles; do
al@18168 149 mkdir -p "$fs/$(dirname "${mapfile#./}")"
al@18168 150 cp "$WOK/kbd/install/${mapfile#./}" "$fs/${mapfile#./}"
al@18168 151 done
al@18168 152 done
al@16551 153 fi
al@16551 154
al@16591 155 # Keyboard flags for default lxpanel keyboard applet
al@19759 156 if [ -n "$KB_FLAGS" -a -d "$WOK/flag-icons/install" ]; then
al@18168 157 uslix='usr/share/lxpanel/images/xkb-flags'
al@19759 158 mkdir -p $fs/usr/share/lxpanel/images/xkb-flags
al@16591 159 for i in $KB_FLAGS; do
al@16591 160 install -Dm644 \
al@19759 161 $WOK/flag-icons/install/usr/share/icons/hicolor/16x16/intl/${i%%:*}.png \
al@19759 162 $fs/usr/share/icons/hicolor/16x16/intl/${i%%:*}.png
al@19759 163 ln -s ../../../icons/hicolor/16x16/intl/${i%%:*}.png \
al@19759 164 $fs/usr/share/lxpanel/images/xkb-flags/${i##*:}.png
al@16591 165 done
al@16591 166 fi
al@16591 167
al@16591 168 # exit code OK
al@16551 169 echo
pankso@3087 170 }