From 486280626a298d3126e97f32b130b0e8895177a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20=C4=8Ciha=C5=99?= Date: Fri, 12 Mar 2010 14:00:11 +0100 Subject: [PATCH] Adjus languages cleanup for gettext. --- scripts/lang-cleanup.sh | 64 ++++++++++------------------------------- 1 file changed, 15 insertions(+), 49 deletions(-) diff --git a/scripts/lang-cleanup.sh b/scripts/lang-cleanup.sh index d8688e9cd..b09674f90 100755 --- a/scripts/lang-cleanup.sh +++ b/scripts/lang-cleanup.sh @@ -6,71 +6,37 @@ # Script for removing language selection from phpMyAdmin if [ $# -lt 1 ] ; then - echo "Usage: lang-cleanup.sh type ..." + echo "Usage: lang-cleanup.sh type" echo "Type can be one of:" echo " all-languages - nothing will be done" - echo " all-languages-utf-8-only - non utf-8 languages will be deleted" - echo " language - keeps utf-8 version of language" - echo " language-charset - keeps this exact language" + echo " english - no translations will be kept" + echo " langcode - keeps language" echo - echo "Types can be entered multiple times, all matched languages will be kept" + echo "Languages can be scpecified multiple times" exit 1 fi -# Construct expressions for find +# Expression for find match="" for type in "$@" ; do case $type in all-languages) - match="$match -and -false" + exit 0 ;; - all-languages-utf-8-only) - match="$match -and -not -name *-utf-8.inc.php" + english) + rm -rf po + rm -rf locale + exit 0 ;; *) - if [ -f lang/$type-utf-8.inc.php ] ; then - match="$match -and -not -name $type-utf-8.inc.php" - elif [ -f lang/$type.inc.php ] ; then - match="$match -and -not -name $type.inc.php" - else - echo "ERROR: $type seems to be wrong!" - exit 2 - fi + match="$match -and -not -name $type.po -and -not -path locale/$type/LC_MESSAGES/phpmyadmin.mo" ;; esac done # Delete unvanted languages -find lang -name \*.inc.php $match -print0 | xargs -0r rm - -# Cleanup libraries/select_lang.lib.php - -# Find languages we have -langmatch="$(awk -F, \ - 'BEGIN { pr = 1 } ; - /^\);/ { pr = 1 } ; - {if(!pr) print $2;}; - /^\$available_languages/ { pr = 0 };' \ - libraries/select_lang.lib.php \ - | tr -d \' \ - | while read lng ; do if [ -f lang/$lng.inc.php ] ; then echo $lng ; fi ; done \ - | tr '\n' '|' \ - | sed 's/|$//' \ - )" - -# Prepare working copy -tmp=`mktemp libraries/select_lang.lib.php.XXXX` -cat libraries/select_lang.lib.php > $tmp - -# Remove languages we don't have -awk -F, \ - 'BEGIN { pr = 1 } ; - /^\);/ { pr = 1 } ; - {if(pr) print $0;}; - /'$langmatch'/ {if (!pr) print $0;}; - /^\$available_languages/ { pr = 0 };' \ - $tmp > libraries/select_lang.lib.php - -# Final cleanup -rm -f $tmp +find po locale -type f $match -print0 | xargs -0r rm +# Delete empty directories +rmdir --ignore-fail-on-non-empty locale/*/* +rmdir --ignore-fail-on-non-empty locale/*