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 } |