slitaz-forge rev 268
pkgs: try an other way to get language
author | Christophe Lincoln <pankso@slitaz.org> |
---|---|
date | Fri Apr 13 00:59:55 2012 +0200 (2012-04-13) |
parents | 23e29516f2f5 |
children | 1eebd96882d2 |
files | pkgs/search.sh |
line diff
1.1 --- a/pkgs/search.sh Fri Apr 13 00:47:27 2012 +0200 1.2 +++ b/pkgs/search.sh Fri Apr 13 00:59:55 2012 +0200 1.3 @@ -20,6 +20,9 @@ 1.4 VERSION=cooking 1.5 SCRIPT_NAME="search.sh" 1.6 1.7 +# Internal variables 1.8 +po="de fr pt ru zh" 1.9 + 1.10 # Internationalization 1.11 . /usr/bin/gettext.sh 1.12 TEXTDOMAIN='tazpkg-web' 1.13 @@ -80,28 +83,27 @@ 1.14 [ "$SEARCH" == "." ] && SEARCH= 1.15 fi 1.16 1.17 -# preferred language 1.18 -if [ -z "$LANG" ]; then 1.19 - for i in $(echo $HTTP_ACCEPT_LANGUAGE | sed 's/[,;-_]/ /g'); do 1.20 - case "$i" in 1.21 - de*|fr*|pt*|ru*) 1.22 - LANG=${i} 1.23 - break;; 1.24 - esac 1.25 - done 1.26 -fi 1.27 - 1.28 -# lang substitution 1.29 -case "$LANG" in 1.30 -de*) LANG="de_DE";; 1.31 -es*) LANG="es_ES";; 1.32 -fr*) LANG="fr_FR";; 1.33 -it*) LANG="it_IT";; 1.34 -pt*) LANG="pt_BR";; 1.35 -ru*) LANG="ru_RU";; 1.36 -esac 1.37 - 1.38 -export LANG 1.39 +# Content negotiation for Gettext 1.40 +IFS="," 1.41 +for lang in $HTTP_ACCEPT_LANGUAGE 1.42 +do 1.43 + lang=${lang%;*} lang=${lang# } lang=${lang%-*} 1.44 + if echo "$po" | fgrep -q "$lang"; then 1.45 + break 1.46 + fi 1.47 + case "$lang" in 1.48 + en) lang="C" ;; 1.49 + de) lang="de_DE";; 1.50 + es) lang="es_ES";; 1.51 + fr) lang="fr_FR" ;; 1.52 + it) lang="it_IT";; 1.53 + pt) lang="pt_BR" ;; 1.54 + ru) lang="ru_RU" ;; 1.55 + zh) lang="zh_TW" ;; 1.56 + esac 1.57 +done 1.58 +unset IFS 1.59 +export LANG=$lang LC_ALL=$lang 1.60 1.61 case "$OBJECT" in 1.62 File) selected_file="selected";;