Code

add script to generate .pot file, needed by distcheck
authorrwst <rwst@users.sourceforge.net>
Tue, 23 May 2006 14:48:28 +0000 (14:48 +0000)
committerrwst <rwst@users.sourceforge.net>
Tue, 23 May 2006 14:48:28 +0000 (14:48 +0000)
Makefile.am
po/update_po_files.sh [new file with mode: 0644]

index 0cee8933be9345ac4eec89fbb1d3611bfc38d42e..8e3f8505179d445d9a69b5db8c53a2b5a637fb59 100644 (file)
@@ -137,6 +137,7 @@ EXTRA_DIST = \
        packaging/win32/header.bmp      \
        po/Makefile.mingw \
         po/inkscape.pot \
+        po/update_po_files.sh \
        src/Makefile.mingw src/inkscape_version.h.mingw src/inkscape.rc src/makedef.pl \
        src/helper/sp-marshal.h.mingw src/helper/sp-marshal.cpp.mingw
 
diff --git a/po/update_po_files.sh b/po/update_po_files.sh
new file mode 100644 (file)
index 0000000..0e570d5
--- /dev/null
@@ -0,0 +1,40 @@
+#!/bin/bash
+# Updates PO files from the current POT file
+# Please run this program from the po/ directory
+# Existing po.old files will be overwritten
+
+type -p intltool-update >/dev/null 2>/dev/null
+if [ "$?" -eq "0" ]; then
+  intltool-update --pot >/dev/null 2>&1
+  POT_FILENAME="`ls -1rt *.pot 2>/dev/null|tail -1 2>/dev/null`"
+  if [ ! -r "$POT_FILENAME" ]; then
+    echo "Could not create POT file. Exiting."
+    exit
+  fi
+else
+  echo "Could not create POT file (intltool-update not found). Exiting."
+  exit
+fi
+
+PO_FILE_COUNT=0
+
+find . -noleaf -type f -name "*.po"|sort|\
+(
+while read FILENAME; do
+  PO_FILE_COUNT=`expr $PO_FILE_COUNT + 1`
+  mv -f "$FILENAME" "$FILENAME".old     # do not ask questions, because the answers would come from the pipe
+  if [ "$?" -eq "0" ]; then
+    echo "$FILENAME"
+    msgmerge "$FILENAME".old "$POT_FILENAME" > "$FILENAME"
+    if [ "$?" -ne "0" ]; then
+      echo "Could not merge \"$FILENAME.old\"."
+    fi
+  else
+    echo "Could not rename \"$FILENAME\". File skipped."
+  fi
+done
+
+echo; echo "Total number of PO files: $PO_FILE_COUNT"
+)
+
+echo