12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- #!/bin/sh
- set -e
- LOCALEGEN=/etc/locale.gen
- LOCALES=/usr/share/i18n/locales
- if [ -n "$POSIXLY_CORRECT" ]; then
- unset POSIXLY_CORRECT
- fi
- [ -f $LOCALEGEN -a -s $LOCALEGEN ] || exit 0;
- # Remove all old locale dir and locale-archive before generating new
- # locale data.
- rm -rf /usr/lib/locale/* || true
- umask 022
- is_entry_ok() {
- if [ -n "$locale" -a -n "$charset" ] ; then
- true
- else
- echo "error: Bad entry '$locale $charset'"
- false
- fi
- }
- echo "Generating locales..."
- while read locale charset; do \
- case $locale in \#*) continue;; "") continue;; esac; \
- is_entry_ok || continue
- echo -n " `echo $locale | sed 's/\([^.\@]*\).*/\1/'`"; \
- echo -n ".$charset"; \
- echo -n `echo $locale | sed 's/\([^\@]*\)\(\@.*\)*/\2/'`; \
- echo -n '...'; \
- if [ -f $LOCALES/$locale ]; then input=$locale; else \
- input=`echo $locale | sed 's/\([^.]*\)[^@]*\(.*\)/\1\2/'`; fi; \
- localedef -i $input -c -f $charset -A /usr/share/locale/locale.alias $locale; \
- echo ' done'; \
- done < $LOCALEGEN
- echo "Generation complete."
|