Sourceware Bugzilla – Attachment 1055 Details for
Bug 58
Outdated Ukrainian (uk_UA) locale
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
Script to test alphabet sorting and date formatting in Ukrainian locale
checklocale-uk_UA.UTF-8.sh (text/plain), 10.20 KB, created by
Volodymyr M. Lisivka
on 2006-05-27 18:25:12 UTC
(
hide
)
Description:
Script to test alphabet sorting and date formatting in Ukrainian locale
Filename:
MIME Type:
Creator:
Volodymyr M. Lisivka
Created:
2006-05-27 18:25:12 UTC
Size:
10.20 KB
patch
obsolete
>#!/bin/sh > > >VERSION="localeconf-0.3" >OUTPUT_MODE=color > > >for I in $@ >do >case "$I" in >-h|--help) > echo "Usage: $0 [OPTIONS]" > echo "Options:" > echo " -h, --help this help screen" > echo " -V, --version version of this script" > echo " -c, --no-color without colored output" > echo " -v, --verbose verbose output" > echo "" > exit 0; > ;; >-V|--version) > echo "$VERSION" > exit 0; > ;; >-c|--no-color) > OUTPUT_MODE=plain > ;; >-v|--verbose) > VERBOSE=yes > ;; >*) > echo "Unknown option: $I" > exit 1 > ;; >esac >done > >RES_COL=60 >MOVE_TO_COL="echo -en \\033[${RES_COL}G" >SETCOLOR_SUCCESS="echo -en \\033[1;32m" >SETCOLOR_FAILURE="echo -en \\033[1;31m" >SETCOLOR_WARNING="echo -en \\033[1;33m" >SETCOLOR_NORMAL="echo -en \\033[0;39m" > >return_success() { > STATUS=OK >} >return_failure() { > STATUS=FAILURE >} > >echo_success() { > if [ "$OUTPUT_MODE" = "color" ] ; then $MOVE_TO_COL ; else echo -ne "\t"; fi > echo -n "[ " > [ "$OUTPUT_MODE" = "color" ] && $SETCOLOR_SUCCESS > echo -n "OK" > [ "$OUTPUT_MODE" = "color" ] && $SETCOLOR_NORMAL > echo -n " ]" > if [ "$OUTPUT_MODE" = "color" ] ; then echo -ne "\r" ; else echo ; fi > return 0 >} > >echo_done() { > if [ "$OUTPUT_MODE" = "color" ] ; then $MOVE_TO_COL ; else echo -ne "\t"; fi > echo -n "[ " > [ "$OUTPUT_MODE" = "color" ] && $SETCOLOR_SUCCESS > echo -n "DONE" > [ "$OUTPUT_MODE" = "color" ] && $SETCOLOR_NORMAL > echo -n " ]" > if [ "$OUTPUT_MODE" = "color" ] ; then echo -ne "\r" ; else echo ; fi > return 0 >} > >echo_failure() { > if [ "$OUTPUT_MODE" = "color" ] ; then $MOVE_TO_COL ; else echo -ne "\t"; fi > echo -n "[" > [ "$OUTPUT_MODE" = "color" ] && $SETCOLOR_FAILURE > echo -n "FAILED" > [ "$OUTPUT_MODE" = "color" ] && $SETCOLOR_NORMAL > echo -n "]" > if [ "$OUTPUT_MODE" = "color" ] ; then echo -ne "\r" ; else echo ; fi > return_failure > return 1 >} > >echo_passed() { > if [ "$OUTPUT_MODE" = "color" ] ; then $MOVE_TO_COL ; else echo -ne "\t"; fi > echo -n "[" > [ "$OUTPUT_MODE" = "color" ] && $SETCOLOR_WARNING > echo -n "PASSED" > [ "$OUTPUT_MODE" = "color" ] && $SETCOLOR_NORMAL > echo -n "]" > if [ "$OUTPUT_MODE" = "color" ] ; then echo -ne "\r" ; else echo ; fi > return 1 >} > >echo_warning() { > if [ "$OUTPUT_MODE" = "color" ] ; then $MOVE_TO_COL ; else echo -ne "\t"; fi > echo -n "[" > [ "$OUTPUT_MODE" = "color" ] && $SETCOLOR_WARNING > echo -n "WARNING" > [ "$OUTPUT_MODE" = "color" ] && $SETCOLOR_NORMAL > echo -n "]" > if [ "$OUTPUT_MODE" = "color" ] ; then echo -ne "\r" ; else echo ; fi > return_failure > return 1 >} > >echo_skipped() { > if [ "$OUTPUT_MODE" = "color" ] ; then $MOVE_TO_COL ; else echo -ne "\t"; fi > echo -n "[" > [ "$OUTPUT_MODE" = "color" ] && $SETCOLOR_WARNING > echo -n "SKIPPED" > [ "$OUTPUT_MODE" = "color" ] && $SETCOLOR_NORMAL > echo -n "]" > if [ "$OUTPUT_MODE" = "color" ] ; then echo -ne "\r" ; else echo ; fi > return 1 >} > >echo_todo() { > if [ "$OUTPUT_MODE" = "color" ] ; then $MOVE_TO_COL ; else echo -ne "\t"; fi > echo -n "[" > [ "$OUTPUT_MODE" = "color" ] && $SETCOLOR_WARNING > echo -n "TODO" > [ "$OUTPUT_MODE" = "color" ] && $SETCOLOR_NORMAL > echo -n "]" > if [ "$OUTPUT_MODE" = "color" ] ; then echo -ne "\r" ; else echo ; fi > return_failure > return 1 >} > > >return_success > >LANGUAGE_ALPHABET='ÐаÐбÐвÐгÒÒÐдÐеÐÑÐжÐзÐиÐÑÐÑÐйÐкÐлÐмÐнÐоÐпРÑСÑТÑУÑФÑÐ¥Ñ Ð¦ÑЧÑШÑЩÑЬÑЮÑЯÑ' >LANGUAGE_DAYS="понедÑлок вÑвÑоÑок ÑеÑеда ÑеÑÐ²ÐµÑ Ð¿'ÑÑниÑÑ ÑÑбоÑа недÑлÑ" >LANGUAGE_DAYS_ABBR="пн Ð²Ñ ÑÑ ÑÑ Ð¿Ñ Ñб нд" >LANGUAGE_MONTHS="ÑÑÑÐµÐ½Ñ Ð»ÑÑий беÑÐµÐ·ÐµÐ½Ñ ÐºÐ²ÑÑÐµÐ½Ñ ÑÑÐ°Ð²ÐµÐ½Ñ ÑеÑÐ²ÐµÐ½Ñ Ð»Ð¸Ð¿ÐµÐ½Ñ ÑеÑÐ¿ÐµÐ½Ñ Ð²ÐµÑеÑÐµÐ½Ñ Ð¶Ð¾Ð²ÑÐµÐ½Ñ Ð»Ð¸ÑÑопад гÑÑденÑ" >LANGUAGE_MONTHS_ABBR="ÑÑÑ Ð»ÑÑ Ð±ÐµÑ ÐºÐ²Ñ ÑÑа ÑÐµÑ Ð»Ð¸Ð¿ ÑÐµÑ Ð²ÐµÑ Ð¶Ð¾Ð² Ð»Ð¸Ñ Ð³ÑÑ" > >LANGUAGE_TEST_DATETIME="2 may 2003 01:05:04" >LANGUAGE_TEST_DATETIME_FULL_FORMAT="п'ÑÑниÑÑ, 2 ÑÑÐ°Ð²Ð½Ñ 2003 01:05:04 `date -d '2 may 2003 01:05:04' +%z`" >LANGUAGE_TEST_DATETIME_LONG_FORMAT="пÑ, 02-ÑÑа-2003 01:05:04 `date -d '2 may 2003 01:05:04' +%z`" >LANGUAGE_TEST_DATE_SHORT_FORMAT="02.05.03" > >LANGUAGE_SORTING_EXAMPLE=`cat <<SORTING_EXAMPLE >аналÑгÑн >аналогÑÑнÑÑÑÑ >бджÑлÑниÑÑво >бджÑлонÑка >безвиннÑÑÑÑ >безвÑлÑнÑÑÑÑ >безгÑÑнÑÑÑÑ >безÒÑÑнÑовнÑÑÑÑ >пÑÑе >п'ÑÑи >SORTING_EXAMPLE >` > >LANGUAGE_NAME=Ukrainian >LANGUAGE_CODE=uk >LANGUAGE_COUNTRY=UA >LANGUAGE_ENCODING=UTF-8 >LANGUAGE_ENCODING_LC=`echo "$LANGUAGE_ENCODING"|tr '[A-Z]' '[a-z]'` >LANGUAGE_ENCODING_LC_COND=`echo "$LANGUAGE_ENCODING_LC"|tr -d ' _.-'` >LANGUAGE_FULL_LOCALE_NAME="${LANGUAGE_CODE}_${LANGUAGE_COUNTRY}.${LANGUAGE_ENCODING}" >LANGUAGE_FONT_ENCODING=iso10646-1 >LANGUAGE_X_KEYBOARD=ua >LANGUAGE_CONSOLE_KEYBOARD=ua > >if [ "foo$VERBOSE" != "foo" ] >then >echo LANGUAGE_NAME=$LANGUAGE_NAME >echo LANGUAGE_CODE=$LANGUAGE_CODE >echo LANGUAGE_COUNTRY=$LANGUAGE_COUNTRY >echo LANGUAGE_ENCODING=$LANGUAGE_ENCODING >echo LANGUAGE_FULL_LOCALE_NAME=$LANGUAGE_FULL_LOCALE_NAME >echo LANGUAGE_FONT_ENCODING=$LANGUAGE_FONT_ENCODING >echo LANGUAGE_X_KEYBOARD=$LANGUAGE_X_KEYBOARD >echo LANGUAGE_CONSOLE_KEYBOARD=$LANGUAGE_CONSOLE_KEYBOARD >echo LANGUAGE_ALPHABET=$LANGUAGE_ALPHABET > >echo LANGUAGE_DAYS=$LANGUAGE_DAYS >echo LANGUAGE_DAYS_ABBR=$LANGUAGE_DAYS_ABBR >echo LANGUAGE_MONTHS=$LANGUAGE_MONTHS >echo LANGUAGE_MONTHS_ABBR=$LANGUAGE_MONTHS_ABBR > >echo LANGUAGE_TEST_DATETIME=$LANGUAGE_TEST_DATETIME >echo LANGUAGE_TEST_DATETIME_FULL_FORMAT=$LANGUAGE_TEST_DATETIME_FULL_FORMAT >echo LANGUAGE_TEST_DATE_SHORT_FORMAT=$LANGUAGE_TEST_DATE_SHORT_FORMAT >fi > >echo -n "Checking for $LANGUAGE_FULL_LOCALE_NAME locale" > >LOCALES=`(locale -a; locale --list-archive 2>/dev/null ) | grep "^${LANGUAGE_CODE}_${LANGUAGE_COUNTRY}.$LANGUAGE_ENCODING_LC_COND\$"|uniq` > >if [ "$LOCALES" ] >then > echo_success > echo >else > echo_failure > echo > echo "Can't find locale $LANGUAGE_FULL_LOCALE_NAME!" > echo > echo "You can recreate them with command:" > echo "# localedef -c -f $LANGUAGE_ENCODING -i ${LANGUAGE_CODE}_$LANGUAGE_COUNTRY $LANGUAGE_FULL_LOCALE_NAME" >fi > > >#FIXME: generate temporary file names >ALPHABET_FILE=/tmp/alphabet.$RANDOM.$PPID >SORTED_ALPHABET_FILE=/tmp/sorted-alphabet.$RANDOM.$PPID > >echo -n "Checking collation order for $LANGUAGE_NAME alphabet" > >echo "$LANGUAGE_ALPHABET"|LC_ALL=$LANGUAGE_FULL_LOCALE_NAME fold -w 1 >$ALPHABET_FILE > >tac <$ALPHABET_FILE | LC_ALL="$LANGUAGE_FULL_LOCALE_NAME" sort >$SORTED_ALPHABET_FILE > >if cmp -s $ALPHABET_FILE $SORTED_ALPHABET_FILE >then > echo_success > echo >else > echo_failure > echo > echo "Your system has wrong collation order for $LANGUAGE_NAME alphabet!" > echo "You must fix Your $LANGUAGE_FULL_LOCALE_NAME locale!" > echo > LC_ALL="$LANGUAGE_FULL_LOCALE_NAME" diff -u $ALPHABET_FILE $SORTED_ALPHABET_FILE >fi > >echo -n "Checking collation order for $LANGUAGE_NAME letters and specials" >echo "$LANGUAGE_SORTING_EXAMPLE" >$ALPHABET_FILE > >tac <$ALPHABET_FILE | LC_ALL="$LANGUAGE_FULL_LOCALE_NAME" sort >$SORTED_ALPHABET_FILE > >if cmp -s $ALPHABET_FILE $SORTED_ALPHABET_FILE >then > echo_success > echo >else > echo_failure > echo > echo "Your system has wrong collation order for $LANGUAGE_NAME letters!" > echo "You must fix Your $LANGUAGE_FULL_LOCALE_NAME locale!" > echo > LC_ALL="$LANGUAGE_FULL_LOCALE_NAME" diff -u $ALPHABET_FILE $SORTED_ALPHABET_FILE >fi > >rm -f $ALPHABET_FILE $SORTED_ALPHABET_FILE > >echo -n "Checking day abbreviations for $LANGUAGE_NAME language" > >I=0 >WRONG_DAYS="" >for DAY in $LANGUAGE_DAYS_ABBR >do > LOCAL_DAY=`LC_ALL="$LANGUAGE_FULL_LOCALE_NAME" date -d "$(($I+5)) may 2003 1:5:4" "+%a"` > if [ "$DAY" != "$LOCAL_DAY" ] > then > WRONG_DAYS="$WRONG_DAYS $LOCAL_DAY (must be $DAY) >" > fi > I=$(($I+1)) >done >if [ "$WRONG_DAYS" ] >then > echo_failure > echo > echo "Wrong day abbreviations: >$WRONG_DAYS" >else > echo_success > echo >fi > >echo -n "Checking day names for $LANGUAGE_NAME language" > >I=0 >WRONG_DAYS="" >for DAY in $LANGUAGE_DAYS >do > LOCAL_DAY=`LC_ALL="$LANGUAGE_FULL_LOCALE_NAME" date -d "$(($I+5)) may 2003 1:5:4" "+%A"` > if [ "$DAY" != "$LOCAL_DAY" ] > then > WRONG_DAYS="$WRONG_DAYS $LOCAL_DAY (must be $DAY) >" > fi > I=$(($I+1)) >done >if [ "$WRONG_DAYS" ] >then > echo_failure > echo > echo "Wrong days: >$WRONG_DAYS" >else > echo_success > echo >fi > >echo -n "Checking month abbreviations for $LANGUAGE_NAME language" > >I=1 >WRONG_MONTHS="" >for MONTH in $LANGUAGE_MONTHS_ABBR >do > LOCAL_MONTH=`LC_ALL="$LANGUAGE_FULL_LOCALE_NAME" date -d "$I/1" "+%b"` > if [ "$MONTH" != "$LOCAL_MONTH" ] > then > WRONG_MONTHS="$WRONG_MONTHS $LOCAL_MONTH (must be $MONTH) >" > fi > I=$(($I+1)) >done >if [ "$WRONG_MONTHS" ] >then > echo_failure > echo > echo "Wrong month abbreviations: >$WRONG_MONTHS" >else > echo_success > echo >fi > >echo -n "Checking month names for $LANGUAGE_NAME language" > >I=1 >WRONG_MONTHS="" >for MONTH in $LANGUAGE_MONTHS >do > LOCAL_MONTH=`LC_ALL="$LANGUAGE_FULL_LOCALE_NAME" date -d "$I/1" "+%B"` > if [ "$MONTH" != "$LOCAL_MONTH" ] > then > WRONG_MONTHS="$WRONG_MONTHS $LOCAL_MONTH (must be $MONTH) >" > fi > I=$(($I+1)) >done >if [ "$WRONG_MONTHS" ] >then > echo_failure > echo > echo "Wrong months: >$WRONG_MONTHS" >else > echo_success > echo >fi > >echo -n "Checking full date format for $LANGUAGE_NAME language" > >LOCAL_DATE_FORMAT=`LC_ALL="$LANGUAGE_FULL_LOCALE_NAME" date -d "$LANGUAGE_TEST_DATETIME"` > >if [ "$LOCAL_DATE_FORMAT" != "$LANGUAGE_TEST_DATETIME_FULL_FORMAT" ] >then > echo_failure > echo > echo "Wrong full date format:" > echo "\"$LOCAL_DATE_FORMAT\" (must be \"$LANGUAGE_TEST_DATETIME_FULL_FORMAT\")" >else > echo_success > echo >fi > >echo -n "Checking long date format for $LANGUAGE_NAME language" > >LOCAL_DATE_FORMAT=`LC_ALL="$LANGUAGE_FULL_LOCALE_NAME" date -d "$LANGUAGE_TEST_DATETIME" "+%c"` > >if [ "$LOCAL_DATE_FORMAT" != "$LANGUAGE_TEST_DATETIME_LONG_FORMAT" ] >then > echo_failure > echo > echo "Wrong long date format:" > echo "\"$LOCAL_DATE_FORMAT\" (must be \"$LANGUAGE_TEST_DATETIME_LONG_FORMAT\")" >else > echo_success > echo >fi > >echo -n "Checking short date format for $LANGUAGE_NAME language" > >LOCAL_DATE_FORMAT=`LC_ALL="$LANGUAGE_FULL_LOCALE_NAME" date -d "$LANGUAGE_TEST_DATETIME" "+%x"` > >if [ "$LOCAL_DATE_FORMAT" != "$LANGUAGE_TEST_DATE_SHORT_FORMAT" ] >then > echo_failure > echo > echo "Wrong short date format:" > echo "\"$LOCAL_DATE_FORMAT\" (must be \"$LANGUAGE_TEST_DATE_SHORT_FORMAT\")" >else > echo_success > echo >fi
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 58
:
23
|
433
|
469
|
476
|
482
|
483
|
1053
|
1054
| 1055