diff options
Diffstat (limited to 'locale-gen')
-rw-r--r-- | locale-gen | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/locale-gen b/locale-gen index 1bc79322b6e9..c9b65c448ad7 100644 --- a/locale-gen +++ b/locale-gen @@ -8,17 +8,18 @@ fi for locale in /etc/locales/*; do if [ -f "$locale" ]; then + read -r charset < "$locale" + charset=${charset:-UTF-8} locale=${locale##*/} else continue fi - printf '%s: generating locale\n' "$locale".UTF-8 >&2 + printf '%s: generating locale\n' "$locale"."$charset" >&2 - localedef -i "$locale" -f UTF-8 -c "$locale".UTF-8 + localedef -i "$locale" -f "$charset" -c "$locale"."$charset" case $? in - 4) printf '%s: invalid locale\n' "$locale" >&2 ;; - 1) exit + 4) printf '%s: invalid locale\n' "$locale"."$charset" >&2 esac done |