Added gst-plugins-base-subtitles0.10-0.10.34 for Meego Harmattan 1.2
[mafwsubrenderer] / gst-plugins-base-subtitles0.10 / common / download-translations
diff --git a/gst-plugins-base-subtitles0.10/common/download-translations b/gst-plugins-base-subtitles0.10/common/download-translations
new file mode 100755 (executable)
index 0000000..aef1d31
--- /dev/null
@@ -0,0 +1,152 @@
+#!/bin/sh
+# Shell script to download the latest translations for a given GStreamer
+# package from translationproject.org
+
+
+# DOMAINS based on http://translationproject.org/extra/matrix.html
+# We need to check all domains, not only po/LINGUAS, since there might be
+# new translations
+DOMAINS=\
+"af am ar az be bg pt_BR bs ca zh_CN cs cy da de el eo es et eu fa fi fr "\
+"ga en_GB gl gu he hi zh_HK hr hu id is it ja ko ku ky lg lt lv mk mn ms "\
+"mt nb ne nl nn or pa pl pt rm ro ru rw sk sl sq sr sv ta tq th tk "\
+"tr zh_TW uk ven vi wa xh zu"
+
+# for testing/debugging:
+#DOMAINS="es fr hu sv pl xx"
+
+# check for 'diff' program
+diff --version 2>/dev/null >/dev/null
+if [ ! $? ]; then
+  echo "==== You must have the 'diff' program installed for this script ===="
+  exit 1
+fi
+
+# check for 'wget' program
+wget --version 2>/dev/null >/dev/null
+if [ ! $? ]; then
+  echo "==== You must have the 'wget' program installed for this script ===="
+  exit 1
+fi
+
+# make sure we're in the top-level directory
+if [ ! -d ./po ]; then
+  echo "==== No ./po directory in the current working directory ===="
+  exit 1
+fi
+
+# make sure a package argument was passed to us
+if [ -z "$1" ]; then
+  echo "Usage: $0 PACKAGE, e.g. $0 gst-plugins-good"
+  exit 1
+fi
+
+if test "$1" != "gstreamer" -a \
+        "$1" != "gst-plugins-base" -a \
+        "$1" != "gst-plugins-good" -a \
+        "$1" != "gst-plugins-ugly" -a \
+        "$1" != "gst-plugins-bad"; then
+  echo "Unexpected package '$1' ?!"
+  exit 1
+fi
+
+PACKAGE="$1"
+
+DOMAINS_TO_ADD=""
+DOMAINS_UPDATED=""
+DOMAINS_NOT_IN_LINGUAS=""
+
+echo "Downloading latest translation files for package $PACKAGE ..."
+echo
+
+for d in $DOMAINS
+do
+  PACKAGE_PO_URL_BASE="http://translationproject.org/latest/$PACKAGE"
+  PO_URL="$PACKAGE_PO_URL_BASE/$d.po"
+  PO_FILENAME="$PACKAGE.$d.po"
+  if wget -q -nc -O $PO_FILENAME $PO_URL; then
+    # we want all .po files in UTF-8 format really, so convert if needed..
+    CHARSET=`grep Content-Type $PO_FILENAME | sed -e 's/.*charset=\(.*\)\\\\n.*/\1/'`
+    if test "x$CHARSET" != "xUTF-8" -a "x$CHARSET" != "xutf-8"; then
+      # note: things like the bugs address will be added back by make update-po
+      if msguniq $PO_FILENAME --no-location \
+                              --output-file=$PO_FILENAME.utf8 \
+                              --to-code=UTF-8; then
+        mv $PO_FILENAME.utf8 $PO_FILENAME
+      else
+        echo "**** $d: conversion from $CHARSET to UTF-8 failed ****"
+      fi
+    fi
+    if [ -f "po/$d.po" ]; then
+      # ./po/foo.po exists, so let's check if ours matches the latest from the
+      # translation project website
+      REVDATE_NEW=`grep PO-Revision-Date $PO_FILENAME`;
+      REVDATE_OLD=`grep PO-Revision-Date po/$d.po`;
+      CHARSET_OLD=`grep Content-Type po/$d.po | sed -e 's/.*charset=\(.*\)\\\\n.*/\1/'`
+      if test "x$REVDATE_NEW" = "x$REVDATE_OLD" -a "x$CHARSET_OLD" = "xUTF-8"; then
+        # note: source code line markers will be removed later by make upload-po
+        echo "$d.po: up-to-date"
+        rm -f $PO_FILENAME
+      else
+        mv $PO_FILENAME "po/$d.po"
+        if test "x$CHARSET_OLD" != "xUTF-8" -a "x$CHARSET_OLD" != "xutf-8"; then
+          echo "$d.po: update (and charset converted from $CHARSET_OLD to UTF-8)"
+        else
+          echo "$d.po: updated"
+        fi
+        DOMAINS_UPDATED="$DOMAINS_UPDATED $d"
+      fi
+      # make sure domain is listed in LINGUAS
+      if ! grep $d "po/LINGUAS" >/dev/null 2>/dev/null; then
+        DOMAINS_NOT_IN_LINGUAS="$DOMAINS_NOT_IN_LINGUAS $d"
+      fi
+    else
+      # ./po/foo.po doesn't exist, but foo.po exists on the translation project
+      # website, so it's probably a new translation
+      echo "$d.po: new language"
+      mv $PO_FILENAME "po/$d.po"
+      DOMAINS_UPDATED="$DOMAINS_UPDATED $d"
+      DOMAINS_TO_ADD="$DOMAINS_TO_ADD $d"
+    fi
+  else
+    rm -f $PO_FILENAME
+    echo "$d.po: failure (does probably not exist)"
+  fi
+done
+
+if [ -n "$DOMAINS_UPDATED" ]; then
+  echo "===================================================================="
+  echo
+  echo "Language domains updated    :$DOMAINS_UPDATED"
+  echo "Language domains to git add :$DOMAINS_TO_ADD"
+  echo
+  echo "Source: http://translationproject.org/latest/$PACKAGE/"
+  echo
+  if [ -n "$DOMAINS_TO_ADD" ]; then
+    CMD_STRING="git add"
+    for d in $DOMAINS_TO_ADD; do
+      CMD_STRING="$CMD_STRING po/$d.po"
+    done
+    echo "Please run"
+    echo
+    echo "  $CMD_STRING"
+    echo
+    echo "now and add the following domains to the po/LINGUAS file:"
+    echo
+    echo "  $DOMAINS_TO_ADD"
+    echo
+    echo
+  fi
+  echo "===================================================================="
+fi
+
+if [ -n "$DOMAINS_NOT_IN_LINGUAS" ]; then
+  echo
+  echo "Existing domains missing from the po/LINGUAS file:"
+  echo
+  echo "  $DOMAINS_NOT_IN_LINGUAS"
+  echo
+  echo
+fi
+
+