Browse Source

Extended --update-po option to take an optional argument specifying the po file to update.

Sergey Poznyakoff 20 years ago
parent
commit
df2c78e32b
1 changed files with 26 additions and 11 deletions
  1. 26 11
      bootstrap

+ 26 - 11
bootstrap

@@ -40,7 +40,7 @@ usage() {
  --cvs-user=USERNAME          Set the CVS username to be used when accessing
                               the gnulib repository.
  --no-po                      Do not download po files.
- --update-po                  Update po files and exit.
+ --update-po[=LANG]           Update po file(s) and exit.
  
 Running without arguments will suffice in most cases. It is equivalent
 to
@@ -51,12 +51,21 @@ EOF
 }
 
 update_po() {
-  echo "$0: getting translations into po..."
-  (cd po &&
-   rm -f dummy `ls | sed -n '/\.gmo$/p; /\.po/p'` &&
-    wget -nv -nd -r -l 1 -A .po -C off $TP_URL &&
-    ls *.po | sed 's/\.po$//' >LINGUAS
-  ) || exit
+  if [ $# = 1 ]; then
+    case $1 in
+    *.po)  POFILE=$1;;
+    *)     POFILE=${1}.po;;
+    esac	
+    echo "$0: getting translation for $1..."
+    wget -C off $TP_URL/$POFILE
+  else
+    echo "$0: getting translations into po..."
+    (cd po &&
+     rm -f dummy `ls | sed -n '/\.gmo$/p; /\.po/p'` &&
+      wget -nv -nd -r -l 1 -A .po -C off $TP_URL &&
+      ls *.po | sed 's/\.po$//' >LINGUAS
+    ) || exit
+  fi
 }
 
 # Parse options.
@@ -76,6 +85,8 @@ do
     CVS_USER=`expr "$option" : '--cvs-user=\(.*\)'`;;
   --no-po)
     DOWNLOAD_PO=no;;
+  --update-po=*)
+    DOWNLOAD_PO=`expr "$option" : '--update-po=\(.*\)'`;;
   --update-po)
     DOWNLOAD_PO=only;;
   *)
@@ -84,10 +95,14 @@ do
   esac
 done
 
-if [ "$DOWNLOAD_PO" = "only" ]; then
-    update_po
-    exit 0
-fi	
+case $DOWNLOAD_PO in
+only)	update_po
+	exit 0
+	;;
+no|yes) ;;
+*)	update_po $DOWNLOAD_PO 
+	exit 0
+esac
 
 echo "$0: Bootstrapping CVS tar..."