trans-coord-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

trans-coord/gnun/server/gnun ChangeLog Makefile...


From: Pavel Kharitonov
Subject: trans-coord/gnun/server/gnun ChangeLog Makefile...
Date: Sat, 15 Mar 2014 07:58:59 +0000

CVSROOT:        /sources/trans-coord
Module name:    trans-coord
Changes by:     Pavel Kharitonov <ineiev>       14/03/15 07:58:58

Modified files:
        gnun/server/gnun: ChangeLog Makefile.am NEWS expand-ssi.awk 
                          gnun-add-fuzzy-diff.in gnun-diff-po.in 
                          gnun-init-po.in gnun-merge-preconverted.in 
                          gnun-preconvert.in gnun-report.in 
                          gnun-validate-html.in update-localized-urls.in 
        gnun/server/gnun/doc: gnun.texi 
        gnun/server/gnun/tests: add-fuzzy-diff compendium.bg.po diff-po 
                                diff-po-0.po diff-po-1.po diff-po.html 
                                init-po init.bg.po 
        gnun/server/gnun/tests/validate: 1 3 4 
Added files:
        gnun/server/gnun/tests: conv-no-diffs.pr.po conv.html conv.pot 
                                conv.pr.html conv.pr.po convert 
                                diff-po-no-common.html 
                                init-no-diffs.bg.po preconv.pr.po 

Log message:
        Add a test for HTML-to-PO conversion utilities.
        
        Rewrite command line arguments parsers to accept file
        names mixed with options like GNU coreutils do. Accept
        `-h' and `-v' for `--help' and `--version'.
        
        Make validation work with awks that don't recognize `\>' in
        their regular expressions.
        
        * Makefile.am (tests_available): Add `convert' and `init-po'.
        (installcheck-local): Eliminate a bashism.
        (EXTRA_DIST): Add `tests/diff-po-no-common.html',
        `tests/convert', `tests/conv.html', `tests/conv.pr.html',
        `tests/preconv.pr.po', `tests/conv.pr.po', `tests/conv.pot',
        `tests/conv-no-diffs.pr.po', `tests/diff-po-no-common.html',
        `tests/init-no-diffs.bg.po'.
        * tests/conv.html:
        * tests/conv.pot:
        * tests/conv.pr.html:
        * tests/conv.pr.po:
        * tests/conv-no-diffs.pr.po:
        * tests/convert:
        * tests/diff-po-no-common.html:
        * tests/init-no-diffs.bg.po:
        * tests/preconv.pr.po: New files.
        * tests/validate/3:
        * tests/gnun-add-fuzzy-diff: Fix a comment.
        * tests/diff-po:
        * tests/init-po:
        * tests/validate/1:
        * tests/validate/4:
        * tests/diff-po-0.po:
        * tests/diff-po-1.po: Add more tests.
        * gnun-diff-po.in: Accept a directory name as the second FILE argument.
        * gnun-merge-preconverted.in: Add the `--disable-diffs' option.
        * gnun-diff-po.in:
        * gnun-init-po.in:
        * gnun-merge-preconverted.in:
        * gnun-preconvert.in:
        * gnun-report.in:
        * gnun-validate-html.in:
        * update-localized-urls.in: Rewrite command line parsers.
        * expand-ssi.awk (expand_var_value): Fix for awks that
        don't recognize `\>' in their regular expressions.
        * tests/diff-po.html:
        * doc/gnun.texi:
        * NEWS: Update.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/trans-coord/gnun/server/gnun/ChangeLog?cvsroot=trans-coord&r1=1.402&r2=1.403
http://cvs.savannah.gnu.org/viewcvs/trans-coord/gnun/server/gnun/Makefile.am?cvsroot=trans-coord&r1=1.38&r2=1.39
http://cvs.savannah.gnu.org/viewcvs/trans-coord/gnun/server/gnun/NEWS?cvsroot=trans-coord&r1=1.102&r2=1.103
http://cvs.savannah.gnu.org/viewcvs/trans-coord/gnun/server/gnun/expand-ssi.awk?cvsroot=trans-coord&r1=1.5&r2=1.6
http://cvs.savannah.gnu.org/viewcvs/trans-coord/gnun/server/gnun/gnun-add-fuzzy-diff.in?cvsroot=trans-coord&r1=1.4&r2=1.5
http://cvs.savannah.gnu.org/viewcvs/trans-coord/gnun/server/gnun/gnun-diff-po.in?cvsroot=trans-coord&r1=1.11&r2=1.12
http://cvs.savannah.gnu.org/viewcvs/trans-coord/gnun/server/gnun/gnun-init-po.in?cvsroot=trans-coord&r1=1.3&r2=1.4
http://cvs.savannah.gnu.org/viewcvs/trans-coord/gnun/server/gnun/gnun-merge-preconverted.in?cvsroot=trans-coord&r1=1.4&r2=1.5
http://cvs.savannah.gnu.org/viewcvs/trans-coord/gnun/server/gnun/gnun-preconvert.in?cvsroot=trans-coord&r1=1.4&r2=1.5
http://cvs.savannah.gnu.org/viewcvs/trans-coord/gnun/server/gnun/gnun-report.in?cvsroot=trans-coord&r1=1.5&r2=1.6
http://cvs.savannah.gnu.org/viewcvs/trans-coord/gnun/server/gnun/gnun-validate-html.in?cvsroot=trans-coord&r1=1.19&r2=1.20
http://cvs.savannah.gnu.org/viewcvs/trans-coord/gnun/server/gnun/update-localized-urls.in?cvsroot=trans-coord&r1=1.3&r2=1.4
http://cvs.savannah.gnu.org/viewcvs/trans-coord/gnun/server/gnun/doc/gnun.texi?cvsroot=trans-coord&r1=1.94&r2=1.95
http://cvs.savannah.gnu.org/viewcvs/trans-coord/gnun/server/gnun/tests/add-fuzzy-diff?cvsroot=trans-coord&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/trans-coord/gnun/server/gnun/tests/compendium.bg.po?cvsroot=trans-coord&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/trans-coord/gnun/server/gnun/tests/diff-po?cvsroot=trans-coord&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/trans-coord/gnun/server/gnun/tests/diff-po-0.po?cvsroot=trans-coord&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/trans-coord/gnun/server/gnun/tests/diff-po-1.po?cvsroot=trans-coord&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/trans-coord/gnun/server/gnun/tests/diff-po.html?cvsroot=trans-coord&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/trans-coord/gnun/server/gnun/tests/init-po?cvsroot=trans-coord&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/trans-coord/gnun/server/gnun/tests/init.bg.po?cvsroot=trans-coord&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/trans-coord/gnun/server/gnun/tests/conv-no-diffs.pr.po?cvsroot=trans-coord&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/trans-coord/gnun/server/gnun/tests/conv.html?cvsroot=trans-coord&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/trans-coord/gnun/server/gnun/tests/conv.pot?cvsroot=trans-coord&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/trans-coord/gnun/server/gnun/tests/conv.pr.html?cvsroot=trans-coord&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/trans-coord/gnun/server/gnun/tests/conv.pr.po?cvsroot=trans-coord&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/trans-coord/gnun/server/gnun/tests/convert?cvsroot=trans-coord&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/trans-coord/gnun/server/gnun/tests/diff-po-no-common.html?cvsroot=trans-coord&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/trans-coord/gnun/server/gnun/tests/init-no-diffs.bg.po?cvsroot=trans-coord&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/trans-coord/gnun/server/gnun/tests/preconv.pr.po?cvsroot=trans-coord&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/trans-coord/gnun/server/gnun/tests/validate/1?cvsroot=trans-coord&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/trans-coord/gnun/server/gnun/tests/validate/3?cvsroot=trans-coord&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/trans-coord/gnun/server/gnun/tests/validate/4?cvsroot=trans-coord&r1=1.1&r2=1.2

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/trans-coord/trans-coord/gnun/server/gnun/ChangeLog,v
retrieving revision 1.402
retrieving revision 1.403
diff -u -b -r1.402 -r1.403
--- ChangeLog   21 Feb 2014 15:49:52 -0000      1.402
+++ ChangeLog   15 Mar 2014 07:58:15 -0000      1.403
@@ -1,3 +1,55 @@
+2014-03-15  Pavel Kharitonov  <address@hidden>
+
+       Add a test for HTML-to-PO conversion utilities.
+
+       Rewrite command line arguments parsers to accept file
+       names mixed with options like GNU coreutils do. Accept
+       `-h' and `-v' for `--help' and `--version'.
+
+       Make validation work with awks that don't recognize `\>' in
+       their regular expressions.
+
+       * Makefile.am (tests_available): Add `convert' and `init-po'.
+       (installcheck-local): Eliminate a bashism.
+       (EXTRA_DIST): Add `tests/diff-po-no-common.html',
+       `tests/convert', `tests/conv.html', `tests/conv.pr.html',
+       `tests/preconv.pr.po', `tests/conv.pr.po', `tests/conv.pot',
+       `tests/conv-no-diffs.pr.po', `tests/diff-po-no-common.html',
+       `tests/init-no-diffs.bg.po'.
+       * tests/conv.html:
+       * tests/conv.pot:
+       * tests/conv.pr.html:
+       * tests/conv.pr.po:
+       * tests/conv-no-diffs.pr.po:
+       * tests/convert:
+       * tests/diff-po-no-common.html:
+       * tests/init-no-diffs.bg.po:
+       * tests/preconv.pr.po: New files.
+       * tests/validate/3:
+       * tests/gnun-add-fuzzy-diff: Fix a comment.
+       * tests/diff-po:
+       * tests/init-po:
+       * tests/validate/1:
+       * tests/validate/4:
+       * tests/diff-po-0.po:
+       * tests/diff-po-1.po: Add more tests.
+       * gnun-diff-po.in: Accept a directory name as the second FILE
+       argument.
+       * gnun-merge-preconverted.in: Add the `--disable-diffs'
+       option.
+       * gnun-diff-po.in:
+       * gnun-init-po.in:
+       * gnun-merge-preconverted.in:
+       * gnun-preconvert.in:
+       * gnun-report.in:
+       * gnun-validate-html.in:
+       * update-localized-urls.in: Rewrite command line parsers.
+       * expand-ssi.awk (expand_var_value): Fix for awks that
+       don't recognize `\>' in their regular expressions.
+       * tests/diff-po.html:
+       * doc/gnun.texi:
+       * NEWS: Update.
+
 2014-02-21  Pavel Kharitonov  <address@hidden>
 
        Initially add a testsuite.

Index: Makefile.am
===================================================================
RCS file: /sources/trans-coord/trans-coord/gnun/server/gnun/Makefile.am,v
retrieving revision 1.38
retrieving revision 1.39
diff -u -b -r1.38 -r1.39
--- Makefile.am 21 Feb 2014 15:49:52 -0000      1.38
+++ Makefile.am 15 Mar 2014 07:58:18 -0000      1.39
@@ -28,14 +28,16 @@
                    srcdir="$(srcdir)/tests" \
                    AWK="$(AWK)" \
                    MSGATTRIB="$(MSGATTRIB)" \
-                   SED="$(SED)"
+                   SED="$(SED)" \
+                   WDIFF="$(WDIFF)"
 
-tests_available += init-po
+tests_available += init-po convert
 if HAVE_GETTEXT
 bin_SCRIPTS += gnun-report gnun-init-po
 tests_enabled += init-po
 if HAVE_PO4A
 bin_SCRIPTS += gnun-preconvert gnun-merge-preconverted
+tests_enabled += convert
 endif
 endif
 
@@ -85,7 +87,8 @@
          is=" $$i "; \
          case " $(tests_enabled) "  in \
             *$$is*) \
-             if $(check_environment) "$(srcdir)/tests/$$i" &> /dev/null; \
+             if $(check_environment) "$(srcdir)/tests/$$i" \
+                 2>/dev/null > /dev/null; \
                   then \
                res="PASS: $$i"; pass=`expr $$pass + 1`; \
              else \
@@ -173,11 +176,14 @@
             validate-html-notify.in \
             tests/add-fuzzy-diff tests/fuzzy-diff-0.po tests/fuzzy-diff-1.po \
             tests/clear-previous tests/clear-previous.po \
+            tests/convert tests/conv.html tests/conv.pr.html \
+            tests/preconv.pr.po tests/conv-no-diffs.pr.po tests/conv.pr.po \
+            tests/conv.pot \
             tests/copy-msgid tests/copy-msgid-0.po tests/copy-msgid-1.po \
             tests/diff-po tests/diff-po-0.po tests/diff-po-1.po \
-            tests/diff-po.html \
+            tests/diff-po.html tests/diff-po-no-common.html \
             tests/init-po tests/compendium.bg.po tests/init.bg.po \
-            tests/init.pot \
+            tests/init-no-diffs.bg.po tests/init.pot \
             tests/make-prototype tests/proto.html tests/proto.proto \
             tests/validate/1 tests/validate/1.html \
             tests/validate/2 tests/validate/html5.html \

Index: NEWS
===================================================================
RCS file: /sources/trans-coord/trans-coord/gnun/server/gnun/NEWS,v
retrieving revision 1.102
retrieving revision 1.103
diff -u -b -r1.102 -r1.103
--- NEWS        21 Feb 2014 15:49:52 -0000      1.102
+++ NEWS        15 Mar 2014 07:58:21 -0000      1.103
@@ -4,8 +4,24 @@
 
 ** An initial testsuite was added.
 
+** Command line parsers for `gnun-init-po',
+   `gnun-merge-preconverted', `gnun-preconvert',
+   `gnun-report', `gnun-validate-html', `update-localized-urls' were
+   rewritten to accept file names mixed with options like
+   GNU coreutils do, and joint options like `-hv'; also, those
+   utilities now uniformly accept `-h' and `-v' as shortcuts
+   for `--help' and `--version'.
+
+** `gnun-merge-preconverted' now accepts the `--disable-diffs'
+   option.
+
+** `gnun-diff-po' now accepts a directory as the second argument.
+
 ** Bugs fixed in 0.9.
 
+*** `gnun-validate-html' didn't work with awks that don't
+    recognize `\>' in their regular expressions.
+
 *** <span class="gnun-split"></span> didn't work in templates.
 
 *** The GNUN tag (<gnun>) weren't eliminated correctly when

Index: expand-ssi.awk
===================================================================
RCS file: /sources/trans-coord/trans-coord/gnun/server/gnun/expand-ssi.awk,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- expand-ssi.awk      8 Oct 2013 04:38:24 -0000       1.5
+++ expand-ssi.awk      15 Mar 2014 07:58:23 -0000      1.6
@@ -1,6 +1,6 @@
 # expand-ssi.awk: process Apache SSI directives.
 
-# Copyright (C) 2013 Free Software Foundation, Inc.
+# Copyright (C) 2014 Free Software Foundation, Inc.
 
 # This file is part of GNUnited Nations.
 
@@ -44,7 +44,7 @@
         }
       else
         {
-          begin = 1; end = match(vars[i], /\>/); rest = end
+          begin = 1; end = match(vars[i] " ", /[^0-9a-zA-Z_]/); rest = end
         }
       if(end <= begin)
         {

Index: gnun-add-fuzzy-diff.in
===================================================================
RCS file: 
/sources/trans-coord/trans-coord/gnun/server/gnun/gnun-add-fuzzy-diff.in,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- gnun-add-fuzzy-diff.in      8 Oct 2013 04:38:24 -0000       1.4
+++ gnun-add-fuzzy-diff.in      15 Mar 2014 07:58:27 -0000      1.5
@@ -1,6 +1,6 @@
 #! @BASH@
 
-# Copyright (C) 2011, 2012, 2013 Free Software Foundation, Inc.
+# Copyright (C) 2011, 2012, 2013, 2014 Free Software Foundation, Inc.
 
 # This file is part of GNUnited Nations.
 
@@ -23,7 +23,7 @@
 function version () {
 cat <<EOF
 gnun-add-fuzzy-diff (@PACKAGE_NAME@) @PACKAGE_VERSION@
-Copyright (C) 2013 Free Software Foundation, Inc.
+Copyright (C) 2014 Free Software Foundation, Inc.
 You may redistribute copies of @PACKAGE_NAME@
 under the terms of the GNU General Public License.
 For more information about these matters, see the file named COPYING.
@@ -39,8 +39,8 @@
 Options:
   -i[SUFFIX], --in-place[=SUFFIX]
                  Edit files in place (makes backup if extension supplied)
-      --version  Display version info and exit
-      --help     Display this help and exit
+  -v, --version  Display version info and exit
+  -h, --help     Display this help and exit
 
 Report bugs to @PACKAGE_BUGREPORT@
 @PACKAGE_NAME@ home page: <@PACKAGE_URL@>
@@ -48,35 +48,58 @@
 EOF
 }
 
-params=$#
+function single_file_needed () {
+  echo 1>&2 "$0:" Single FILE argument is required.
+  exit 1
+}
+
 in_place=
+file=
 
-while [ ${params} -ge 1 ]; do
+while test $# -ge 1; do
   case "$1" in
-      --help )
+      --help | -h )
          usage
          exit 0
          ;;
-      --version )
+      --version | -v )
          version
          exit 0
          ;;
       -i* | --in-place=* | --in-place )
          in_place="$1"
          ;;
-      * )
+      -- )
+          shift
          break
          ;;
+      -* )
+          echo 1>&2 "$0:" Invalid option -- \'$1\'.
+          exit 1
+         ;;
+      * )
+          if test "x$file" = x; then
+            file="$1"
+          else
+            single_file_needed
+          fi
+         ;;
   esac
-  params=$((${params}-1))
   shift
 done
 
-if [ ${params} -gt 1 ]; then
-    echo 1>&2 Error: Multiple FILE arguments are not allowed.  See --help for 
details.
-    exit 1
+if test "x$file" = x; then
+  if test $# -lt 1; then
+    single_file_required
+  else
+    file="$1"
+    shift
+  fi
+fi
+if test $# -gt 0; then
+  single_file_needed
 fi
 
address@hidden@/add-fuzzy-diff ${in_place} $1
address@hidden@/add-fuzzy-diff $in_place "$file"
 
 exit $?

Index: gnun-diff-po.in
===================================================================
RCS file: /sources/trans-coord/trans-coord/gnun/server/gnun/gnun-diff-po.in,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -b -r1.11 -r1.12
--- gnun-diff-po.in     15 Feb 2014 09:56:58 -0000      1.11
+++ gnun-diff-po.in     15 Mar 2014 07:58:28 -0000      1.12
@@ -20,7 +20,7 @@
 function version () {
 cat <<EOF
 gnun-diff-po (@PACKAGE_NAME@) @PACKAGE_VERSION@
-Copyright (C) 2013 Free Software Foundation, Inc.
+Copyright (C) 2014 Free Software Foundation, Inc.
 You may redistribute copies of @PACKAGE_NAME@
 under the terms of the GNU General Public License.
 For more information about these matters, see the file named COPYING.
@@ -38,10 +38,10 @@
                                against PO_FILE1 when their sets differ
   -2, --merge-against-second Adjust the original strings of PO_FILE1
                                against PO_FILE2 when their sets differ
-      --no-common            Don't output strings that don't differ
-      --title=TITLE          Specify the title for the HTML page
-      --version              Display version info and exit
-      --help                 Display this help and exit
+      --no-common            Suppress strings that don't differ
+  -t, --title=TITLE          Specify the title for the HTML page
+  -v, --version              Display version info and exit
+  -h, --help                 Display this help and exit
 
 Report bugs to @PACKAGE_BUGREPORT@
 @PACKAGE_NAME@ home page: <@PACKAGE_URL@>
@@ -49,24 +49,33 @@
 EOF
 }
 
+function two_files_needed () {
+  echo 1>&2 "$0:" Two FILE arguments are required.
+}
+
 function check_po_file () {
-  if ! @MSGFMT@ -o /dev/null -c $1; then
-    echo 1>&2 "Error: File \`$1' contains errors."
+  if ! @MSGFMT@ -o /dev/null -c -- "$1"; then
+    echo 1>&2 "$0: File \`$1' contains errors."
     exit 1
   fi
 }
 
-title=""
-merge_against_second=""
-awk_args=""
-
-while [ $# -ge 1 ]; do
+title=
+merge_against_second=
+awk_args=
+file1=
+file2=
+
+function parse_option () {
+  skip_option=
+  trimmed_option=
+  end_of_options=
   case "$1" in
-      --help )
+      --help | -h* )
          usage
          exit 0
          ;;
-      --version )
+      --version | -v* )
          version
          exit 0
          ;;
@@ -76,38 +85,95 @@
       -1 | --merge-against-first )
          merge_against_second=""
          ;;
+      -1* )
+         merge_against_second=""
+          trimmed_option="${1#-1}"
+          ;;
       -2 | --merge-against-second )
          merge_against_second=yes
          ;;
+      -2* )
+         merge_against_second=yes
+          trimmed_option="${1#-2}"
+          ;;
       -t | --title )
-         shift
-         title="$1"
+          skip_option=yes
+         title="$2"
          ;;
       --title=* )
          title="${1#--title=}"
          ;;
+      -t* )
+         title="${1#-t}"
+         ;;
+      -- )
+          end_of_options=yes
+         ;;
+      -* )
+          echo 1>&2 "$0:" Invalid option -- \'$1\'.
+          exit 1
+         ;;
       * )
-         break
+         if test "x$file1" = x; then
+            file1="$1"
+          elif test "x$file2" = x; then
+            file2="$1"
+          else
+            two_files_needed
+          fi
          ;;
   esac
+}
+
+while [ $# -ge 1 ]; do
+  current_option="$1"
+  while test -n "$current_option";do
+    parse_option "$current_option" "$2"
+    if test -n "$skip_option"; then
   shift
+    fi
+    if test -n "$trimmed_option"; then
+      current_option=-"$trimmed_option"
+    else
+      current_option=
+    fi
+  done
+  shift
+  if test -n "$end_of_options"; then
+    break
+  fi
 done
 
-case $# in
-  2 ) ;;
-  * )
-    echo 1>&2 \
-      "Error: Exactly two FILE arguments are required.  See --help for 
details."
-    exit 1
-    ;;
-esac
+if test -z "$file1"; then
+  if test $# -gt 0; then
+    file1="$1"
+    shift
+  else
+    two_files_needed
+  fi
+fi
+if test "x$file2" = x; then
+  if test $# -gt 0; then
+    file2="$1"
+    shift
+  else
+    two_files_needed
+  fi
+fi
+if test $# -gt 0; then
+  two_files_needed
+fi
+
+if test -d "$file2"; then
+  file2="${file2%/}/${file1##*/}"
+fi
 
-check_po_file $1
-check_po_file $2
+check_po_file "$file1"
+check_po_file "$file2"
 
-title=${title:-$1 vs. $2}
-from_file="$1"
-to_file="$2"
+title=${title:-$file1 vs. $file2}
+from_file="$file1"
+to_file="$file2"
 
 # File to count msgid number, since msgexec doesn't provide
 # a variable for it, and for POT when merging is needed.
@@ -141,10 +207,10 @@
 <h2>$title</h2>
 EOF
 
-if @MSGCAT@ --less-than=2 "$1" "$2" | @GREP@ -q .; then
+if @MSGCAT@ --less-than=2 -- "$file1" "$file2" | @GREP@ -q .; then
   case "x$merge_against_second" in
-    x ) merge_from="$2"; merge_to="$1"; to_file="$temp3" ;;
-    * ) merge_from="$1"; merge_to="$2"; from_file="$temp3" ;;
+    x ) merge_from="$file2"; merge_to="$file1"; to_file="$temp3" ;;
+    * ) merge_from="$file1"; merge_to="$file2"; from_file="$temp3" ;;
   esac
   # Strip translations from merge_from because we don't want to use
   # the translations from merge_to; in other words, regenerate POT.
@@ -155,8 +221,8 @@
 }
 # Replace all other translations with empty strings.
 /^msgstr /{ s/.*/msgstr ""/; p; :egin; s/.*//; N; /^\n$/!begin; s/.// }' \
-     "$merge_to" > $temp
-  if @MSGMERGE@ -q "$merge_from" "$temp" > "$temp3" ; then
+     < "$merge_to" > $temp
+  if @MSGMERGE@ -q -- "$merge_from" "$temp" > "$temp3" ; then
     cat <<EOF
 <p><em>Note:</em> the files have been merged in order to compare them.</p>
 EOF
@@ -182,11 +248,11 @@
 
 # Sed provides "empty" (from wdiff's point of view) translations
 # for untranslated msgids in order to show new and removed translations.
address@hidden@ '/^msgstr ""/ { N; s/^msgstr ""\n$/msgstr " "\n/ }' "$to_file" \
address@hidden@ '/^msgstr ""/ { N; s/^msgstr ""\n$/msgstr " "\n/ }' < 
"$to_file" \
   | @MSGATTRIB@ --force-po --clear-fuzzy --no-obsolete - > "$temp4"
 # `--no-wrap' ensures that the gettext markers, `#-#-#...#-#-#\n',
 # occupy single lines even when the name of the article is fairly long.
address@hidden@ '/^msgstr ""/ { N; s/^msgstr ""\n$/msgstr " "\n/ }' 
"$from_file" \
address@hidden@ '/^msgstr ""/ { N; s/^msgstr ""\n$/msgstr " "\n/ }' < 
"$from_file" \
   | @MSGATTRIB@ --force-po --clear-fuzzy --no-obsolete - \
   | @MSGCAT@ --no-wrap --force-po - "$temp4" \
   | @AWK@ -f @pkglibexecdir@/diff-po.awk $awk_args

Index: gnun-init-po.in
===================================================================
RCS file: /sources/trans-coord/trans-coord/gnun/server/gnun/gnun-init-po.in,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- gnun-init-po.in     8 Oct 2013 04:38:25 -0000       1.3
+++ gnun-init-po.in     15 Mar 2014 07:58:29 -0000      1.4
@@ -1,7 +1,7 @@
 #! @BASH@
 # Init a translation file.
 
-# Copyright (C) 2012 Free Software Foundation, Inc.
+# Copyright (C) 2012, 2014 Free Software Foundation, Inc.
 
 # This file is part of GNUnited Nations.
 
@@ -21,7 +21,7 @@
 function version () {
 cat <<EOF
 gnun-init-po (@PACKAGE_NAME@) @PACKAGE_VERSION@
-Copyright (C) 2012 Free Software Foundation, Inc.
+Copyright (C) 2014 Free Software Foundation, Inc.
 You may redistribute copies of @PACKAGE_NAME@
 under the terms of the GNU General Public License.
 For more information about these matters, see the file named COPYING.
@@ -41,8 +41,8 @@
   -l, --language=LANG        Specify language suffix
   -t, --translator="FULL NAME <email>"
                              Specify translator
-      --version              Display version info and exit
-      --help                 Display this help and exit
+  -v, --version              Display version info and exit
+  -h, --help                 Display this help and exit
 
 Report bugs to @PACKAGE_BUGREPORT@
 @PACKAGE_NAME@ home page: <@PACKAGE_URL@>
@@ -50,6 +50,11 @@
 EOF
 }
 
+function single_file_needed () {
+  echo 1>&2 "$0:" Single FILE argument is required.
+  exit 1
+}
+
 # Parse command line.
 
 compendia=
@@ -57,70 +62,125 @@
 translator=
 team=
 disable_diffs=
+FILE=
 
-params=$#
-while [ ${params} -ge 1 ]; do
+function parse_option () {
+  skip_option=
+  trimmed_option=
+  end_of_options=
   case "$1" in
-      --help )
+      --help | -h* )
          usage
          exit 0
          ;;
-      --version )
+      --version | -v* )
          version
          exit 0
          ;;
-      -d | --disable-diffs )
+      --disable-diffs )
           disable_diffs=yes
           ;;
+      -d* )
+          disable_diffs=yes
+          trimmed_option="${1#-d}" 
+          ;;
       -t | --translator )
-          shift
-          params=$((${params}-1))
-          translator="$1"
+          skip_option=yes
+          translator="$2"
           ;;
       --translator=* )
           translator="${1#--translator=}"
           ;;
+      -t* )
+          translator="${1#-t}"
+          ;;
       -g | --team )
-          shift
-          params=$((${params}-1))
-          team="$1"
+          skip_option=yes
+          team="$2"
           ;;
       --team=* )
           team="${1#--team=}"
           ;;
+      -g* )
+          team="${1#-g}"
+          ;;
       -l | --language )
-         shift
-         params=$((${params}-1))
-         language=$1
+         skip_option=yes
+         language="$2"
          ;;
       --language=* )
          language="${1#--language=}"
          ;;
+      -l* )
+          language="${1#-l}"
+          ;;
       -C | --compendium )
-         shift
-         params=$((${params}-1))
-         compendia="${compendia} -C $1"
+         skip_option=yes
+         compendia="${compendia} -C $2"
          ;;
       --compendium=* )
          compendia="${compendia} -C ${1#--compendium=}"
          ;;
+      -C* )
+          compendia="${compendia} -C ${1#-C}"
+          ;;
+      -- )
+          end_of_options=yes
+         ;;
+      -* )
+          echo 1>&2 "$0:" Invalid option -- \'$1\'.
+          exit 1
+         ;;
       * )
-          break
+          if test "x$FILE" = x; then
+            FILE="$1"
+          else
+            single_file_needed
+          fi
          ;;
   esac
-  params=$((${params}-1))
+}
+
+while [ $# -ge 1 ]; do
+  current_option="$1"
+  while test -n "$current_option";do
+    parse_option "$current_option" "$2"
+    if test -n "$skip_option"; then
+      shift
+    fi
+    if test -n "$trimmed_option"; then
+      current_option=-"$trimmed_option"
+    else
+      current_option=
+    fi
+  done
   shift
+  if test -n "$end_of_options"; then
+    break
+  fi
 done
 
-if [ ${params} -ne 1 ]; then
-    echo 1>&2 Error: Single FILE arguments is required.  See --help for 
details.
-    exit 1
+if test "x$FILE" = x; then
+  if test $# -ne 1; then
+    single_file_needed
+  else
+    FILE="$1"
+  fi
+else
+  if test $# -gt 0; then
+    single_file_needed
+  fi
+fi
+
+if test -z "@WDIFF@" && test "$disable_diffs" != yes; then
+  disable_diffs=yes
+  echo 1>&2 "$0: Note: no wdiff found, fuzzy differences are disabled." 
 fi
 
 # Figure out language suffix and PO file name.
-article=${1%.opt}
-article=${article%.pot}
-article=${article##*/}
+article="${FILE%.opt}"
+article="${article%.pot}"
+article="${article##*/}"
 
 if test -z "${language}" && test -n "${compendia}"; then
   language=${compendia# -C }
@@ -130,15 +190,15 @@
 fi
 
 if test -z "${language}";then
-    echo 1>&2 Note: Language suffix is not specified.
+    echo 1>&2 "$0:" Note: Language suffix is not specified.
 fi
 
 po=${article}.${language}.po
 
 revision_date="`date +"%Y-%m-%d %H:%M%z"`"
 year=${revision_date%%-*}
-creation_date="address@hidden@ -n '1,/^$/ \
-{s/\\\n"//;/^\(\"POT-Creation-Date: \)/{s/\"POT-Creation-Date: //p;q}}' $1`"
address@hidden@ -n '1,/^$/ \
+{s/\\\n"//;/^\(\"POT-Creation-Date: \)/{s/\"POT-Creation-Date: //p;q}}' 
"$FILE"`
 
 # Figure out language name by its code.
 case ${language} in
@@ -198,13 +258,13 @@
 esac
 
 if test -n "${compendia}"; then
-  @MSGMERGE@ --previous ${compendia} -o ${po} /dev/null $1 || exit 1
+  @MSGMERGE@ --previous ${compendia} -o ${po} /dev/null "$FILE" || exit 1
 else
   # No compendium specified: just copy POT.
-  cp $1 ${po}
+  cp "$FILE" ${po}
 fi
 
-description="$(head -n 1 ${1})"
+description=$(head -n 1 "$FILE")
 # If the first line in the POT file contains "LANGUAGE",
 # it is considered to be filled by GNUN; so it should be used
 # to fill the URL of the article.

Index: gnun-merge-preconverted.in
===================================================================
RCS file: 
/sources/trans-coord/trans-coord/gnun/server/gnun/gnun-merge-preconverted.in,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- gnun-merge-preconverted.in  8 Oct 2013 04:38:25 -0000       1.4
+++ gnun-merge-preconverted.in  15 Mar 2014 07:58:30 -0000      1.5
@@ -1,7 +1,7 @@
 #! @BASH@
 # Merge preconverted files.
 
-# Copyright (C) 2012 Free Software Foundation, Inc.
+# Copyright (C) 2012, 2014 Free Software Foundation, Inc.
 
 # This file is part of GNUnited Nations.
 
@@ -21,7 +21,7 @@
 function version () {
 cat <<EOF
 gnun-merge-preconverted (@PACKAGE_NAME@) @PACKAGE_VERSION@
-Copyright (C) 2013 Free Software Foundation, Inc.
+Copyright (C) 2014 Free Software Foundation, Inc.
 You may redistribute copies of @PACKAGE_NAME@
 under the terms of the GNU General Public License.
 For more information about these matters, see the file named COPYING.
@@ -36,8 +36,9 @@
 
 Options:
   -C, --compendium=COMP      Use compendium
-      --version              Display version info and exit
-      --help                 Display this help and exit
+  -d, --disable-diffs        Don't add diffs to previous messages
+  -v, --version              Display version info and exit
+  -h, --help                 Display this help and exit
 
 Report bugs to @PACKAGE_BUGREPORT@
 @PACKAGE_NAME@ home page: <@PACKAGE_URL@>
@@ -45,40 +46,106 @@
 EOF
 }
 
+function two_files_needed () {
+  echo 1>&2 "$0:" Two FILE arguments are required.
+}
+
 compendia=
+disable_diffs=
+po=
+pot=
+function parse_option () {
+  skip_option=
+  trimmed_option=
+  end_of_options=
 
-params=$#
-while [ ${params} -ge 1 ]; do
   case "$1" in
-      --help )
+      --help | -h* )
          usage
          exit 0
          ;;
-      --version )
+      --version | -v* )
          version
          exit 0
          ;;
       -C | --compendium )
-         shift
-         params=$((${params}-1))
-         compendia="${compendia} -C $1"
+          skip_option=yes
+         compendia="${compendia} -C $2"
          ;;
       --compendium=* )
          compendia="${compendia} -C ${1#--compendium=}"
          ;;
+      -C* )
+         compendia="${compendia} -C ${1#-C}"
+         ;;
+      -d | --disable-diffs )
+          disable_diffs=yes
+          ;;
+      -d* )
+          disable_diffs=yes
+          trimmed_option="${1#-d}"
+          ;;
+      -- )
+          end_of_options=yes
+         ;;
       * )
-          break
+         if test "x$po" = x; then
+            po="$1"
+          elif test "x$pot" = x; then
+            pot="$1"
+          else
+            two_files_needed
+          fi
          ;;
   esac
-  params=$((${params}-1))
+}
+
+while [ $# -ge 1 ]; do
+  current_option="$1"
+  while test -n "$current_option";do
+    parse_option "$current_option" "$2"
+    if test -n "$skip_option"; then
   shift
+    fi
+    if test -n "$trimmed_option"; then
+      current_option=-"$trimmed_option"
+    else
+      current_option=
+    fi
+  done
+  shift
+  if test -n "$end_of_options"; then
+    break
+  fi
 done
 
-if [ ${params} -ne 2 ]; then
-    echo 1>&2 Error: Two FILE arguments are required.  See --help for details.
-    exit 1
+if test "x$po" = x; then
+  if test $# -gt 0; then
+    po="$1"
+    shift
+  else
+    two_files_needed
+  fi
+fi
+if test "x$pot" = x; then
+  if test $# -gt 0; then
+    pot="$1"
+    shift
+  else
+    two_files_needed
+  fi
+fi
+if test $# -gt 0; then
+  two_files_needed
+fi
+
+if test -z "@WDIFF@" && test "$disable_diffs" != yes; then
+  disable_diffs=yes
+  echo 1>&2 "$0: Note: no wdiff found, fuzzy differences are disabled." 
 fi
 
address@hidden@/copy-msgid -i ${1}
address@hidden@ --previous -C ${1} ${compendia} -o ${1} /dev/null ${2}
address@hidden@/add-fuzzy-diff -i ${1}
address@hidden@/copy-msgid -i "$po"
address@hidden@ --previous -C "$po" ${compendia} -o "$po" /dev/null "$pot"
+if test -z "$disable_diffs"; then
+  @pkglibexecdir@/add-fuzzy-diff -i "$po"
+fi

Index: gnun-preconvert.in
===================================================================
RCS file: /sources/trans-coord/trans-coord/gnun/server/gnun/gnun-preconvert.in,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- gnun-preconvert.in  8 Oct 2013 04:38:25 -0000       1.4
+++ gnun-preconvert.in  15 Mar 2014 07:58:32 -0000      1.5
@@ -2,7 +2,7 @@
 # Invoke po4a-gettextize to convert an existing translation from
 # HTML to PO.
 
-# Copyright (C) 2012 Free Software Foundation, Inc.
+# Copyright (C) 2012, 2014 Free Software Foundation, Inc.
 
 # This file is part of GNUnited Nations.
 
@@ -22,7 +22,7 @@
 function version () {
 cat <<EOF
 gnun-preconvert (@PACKAGE_NAME@) @PACKAGE_VERSION@
-Copyright (C) 2013 Free Software Foundation, Inc.
+Copyright (C) 2014 Free Software Foundation, Inc.
 You may redistribute copies of @PACKAGE_NAME@
 under the terms of the GNU General Public License.
 For more information about these matters, see the file named COPYING.
@@ -38,8 +38,8 @@
 
 Options:
   -e, --encoding=ENC         Specify encoding for TRANSLATION (if not UTF-8)
-      --version              Display version info and exit
-      --help                 Display this help and exit
+  -v, --version              Display version info and exit
+  -h, --help                 Display this help and exit
 
 Report bugs to @PACKAGE_BUGREPORT@
 @PACKAGE_NAME@ home page: <@PACKAGE_URL@>
@@ -47,42 +47,97 @@
 EOF
 }
 
-encoding=utf-8
+function two_files_needed () {
+  echo 1>&2 "$0:" Two FILE arguments are required.
+}
 
-params=$#
-while [ ${params} -ge 1 ]; do
+encoding=utf-8
+translation=
+master=
+function parse_option () {
+  skip_option=
+  trimmed_option=
+  end_of_options=
   case "$1" in
-      --help )
+      --help | -h* )
          usage
          exit 0
          ;;
-      --version )
+      --version | -v* )
          version
          exit 0
          ;;
       -e | --encoding )
-         shift
-         params=$((${params}-1))
-         encoding="$1"
+         skip_option=yes
+         encoding="$2"
          ;;
       --encoding=* )
          encoding="${1#--encoding=}"
          ;;
+      -e* )
+         encoding="${1#-e}"
+         ;;
+      -- )
+          end_of_options=
+         ;;
+      -* )
+          echo 1>&2 "$0:" Invalid option -- \'$1\'.
+          exit 1
+         ;;
       * )
-          break
+         if test "x$translation" = x; then
+            translation="$1"
+          elif test "x$master" = x; then
+            master="$1"
+          else
+            two_files_needed
+          fi
          ;;
   esac
-  params=$((${params}-1))
+}
+
+while [ $# -ge 1 ]; do
+  current_option="$1"
+  while test -n "$current_option";do
+    parse_option "$current_option" "$2"
+    if test -n "$skip_option"; then
+      shift
+    fi
+    if test -n "$trimmed_option"; then
+      current_option=-"$trimmed_option"
+    else
+      current_option=
+    fi
+  done
   shift
+  if test -n "$end_of_options"; then
+    break
+  fi
 done
 
-if [ ${params} -ne 2 ]; then
-    echo 1>&2 Error: Two FILE arguments are required.  See --help for details.
-    exit 1
+if test "x$translation" = x; then
+  if test $# -gt 0; then
+    translation="$1"
+    shift
+  else
+    two_files_needed
+  fi
+fi
+if test "x$master" = x; then
+  if test $# -gt 0; then
+    master="$1"
+    shift
+  else
+    two_files_needed
+  fi
+fi
+if test $# -gt 0; then
+  two_files_needed
 fi
 
-po=${1%.html}.po
+po=${translation%.html}.po
 
address@hidden@ -f xhtml -M utf-8 -L ${encoding} -l $1 -m $2 -p ${po} \
address@hidden@ -f xhtml -M utf-8 -L "$encoding" \
+  -l "$translation" -m "$master" -p "$po" \
   -o ontagerror=silent -o "attributes=<meta>content" -o "translated=W<pre>" \
   || exit 1

Index: gnun-report.in
===================================================================
RCS file: /sources/trans-coord/trans-coord/gnun/server/gnun/gnun-report.in,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- gnun-report.in      15 Feb 2014 09:56:58 -0000      1.5
+++ gnun-report.in      15 Mar 2014 07:58:33 -0000      1.6
@@ -20,7 +20,7 @@
 function version () {
 cat <<EOF
 gnun-report (@PACKAGE_NAME@) @PACKAGE_VERSION@
-Copyright (C) 2013 Free Software Foundation, Inc.
+Copyright (C) 2014 Free Software Foundation, Inc.
 You may redistribute copies of @PACKAGE_NAME@
 under the terms of the GNU General Public License.
 For more information about these matters, see the file named COPYING.
@@ -36,7 +36,7 @@
   -t, --team=CODE            Specify the language code of the team
       --root=DIRECTORY       Specify top directory for working copy
   -l, --language=NAME        Specify the name of team's language
-  -V, --version              Display version info and exit
+  -v, --version              Display version info and exit
   -h, --help                 Display this help and exit
 
 Report bugs to @PACKAGE_BUGREPORT@
@@ -56,7 +56,7 @@
 function report_file () {
   html=$1.html
   url='<a href="'"$root_url$html"'">'"$html"'</a>'
-  pot=$(echo $1 | @SED@ 's|\(.*\)/|\1/po/|; \|/po/|!s|^|po/|').pot
+  pot=$(echo "$1" | @SED@ 's|\(.*\)/|\1/po/|; \|/po/|!s|^|po/|').pot
   po=${pot%pot}${team}.po
   tran=$1.${team}.html
   pot_url="$root_url$pot"
@@ -166,62 +166,71 @@
 team=${team:-ml}
 lang_name=""
 root_url=${root_url:-http://www.gnu.org/}
-params=$#
 ROOT=""
 
-while [ ${params} -ge 1 ]; do
+function parse_option () {
+  skip_option=
+  trimmed_option=
+  end_of_options=
   case "$1" in
-      -h | --help )
+      -h* | --help )
          usage
          exit 0
          ;;
-      -V | --version )
+      -v* | --version )
          version
          exit 0
          ;;
       --root )
-         shift
-         params=$((${params}-1))
-         ROOT="$1"
+         skip_option=yes
+         ROOT="$2"
          ;;
       --root=* )
          ROOT="${1#--root=}"
          ;;
       -t | --team )
-         shift
-         params=$((${params}-1))
-         team="$1"
+         skip_option=yes
+         team="$2"
          ;;
       --team=* )
          team="${1#--team=}"
          ;;
+      -t* )
+         team="${1#-t}"
+         ;;
       -l | --language )
-         shift
-         params=$((${params}-1))
-         lang_name="$1"
+         skip_option=yes
+         lang_name="$2"
+         ;;
+      --language=* )
+         lang_name="${1#--language=}"
          ;;
       --language=* )
          lang_name="${1#--language=}"
          ;;
+      -* )
+          echo 1>&2 "$0": Invalid option -- \`$1\'.
+          exit 1
+          ;;
       * )
-          break
+          echo 1>&2 "$0": Invalid argument -- \`$1\'.
+          exit 1
          ;;
   esac
-  params=$((${params}-1))
   shift
 done
 
-if [ ${params} -ne 0 ]; then
-    echo 1>&2 $0: Unrecognized option \`$1\'.  See --help for details.
-    exit 1
-fi
-
-if test "x$ROOT" != x; then
-  cd $ROOT ||  { echo $0: Can"'"t cd $ROOT >&2; exit 1; }
+if test "x$root" != x; then
+  root="$ROOT"
+  case "$root" in
+    -* ) root="./$root" ;;
+    * ) ;;
+  esac
+  cd "$root" ||  { echo "$0": Can\'t cd \'"$root"\' >&2; exit 1; }
 fi
 
 if ! test -f server/gnun/priorities.mk; then
-  echo $0: No priorities.mk found in `pwd`/server/gnun/ >&2
+  echo "$0:" No priorities.mk found in `pwd`/server/gnun/ >&2
   exit 1
 fi
 

Index: gnun-validate-html.in
===================================================================
RCS file: 
/sources/trans-coord/trans-coord/gnun/server/gnun/gnun-validate-html.in,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -b -r1.19 -r1.20
--- gnun-validate-html.in       8 Oct 2013 04:38:26 -0000       1.19
+++ gnun-validate-html.in       15 Mar 2014 07:58:34 -0000      1.20
@@ -1,7 +1,7 @@
 #! @BASH@
 
 # Copyright (C) 2008, 2009, 2010, 2011, 2012,
-#   2013 Free Software Foundation, Inc.
+#   2013, 2014 Free Software Foundation, Inc.
 
 # This file is part of GNUnited Nations.
 
@@ -21,7 +21,7 @@
 function version () {
 cat <<EOF
 gnun-validate-html (@PACKAGE_NAME@) @PACKAGE_VERSION@
-Copyright (C) 2013 Free Software Foundation, Inc.
+Copyright (C) 2014 Free Software Foundation, Inc.
 You may redistribute copies of @PACKAGE_NAME@
 under the terms of the GNU General Public License.
 For more information about these matters, see the file named COPYING.
@@ -37,10 +37,10 @@
       --root=DIRECTORY       Specify top directory for working copy
       --apache-vars="VAR1=VAL1;VAR2=VAL2..."
                              Specify predefined Apache variables
-  -v, --verbose              Produce more verbose output intended
+  -V, --verbose              Produce more verbose output intended
                                for email reports
-      --version              Display version info and exit
-      --help                 Display this help and exit
+  -v, --version              Display version info and exit
+  -h, --help                 Display this help and exit
 
 Report bugs to @PACKAGE_BUGREPORT@
 @PACKAGE_NAME@ home page: <@PACKAGE_URL@>
@@ -48,67 +48,111 @@
 EOF
 }
 
+function single_file_needed () {
+  echo 1>&2 "$0:" Single FILE argument is required.
+  exit 1
+}
+
 set -e
 set -o pipefail
 
-params=$#
 ROOT=../..
 OUTPUT=
 MORE_VARS=
 verbose=no
+FILE=
 
-while [ ${params} -ge 1 ]; do
+function parse_option () {
+  skip_option=
+  trimmed_option=
+  end_of_options=
   case "$1" in
-      --help )
+      --help | -h* )
          usage
          exit 0
          ;;
-      --version )
+      --version | -v* )
          version
          exit 0
          ;;
-      -v | --verbose )
+      -V | --verbose )
          verbose=yes
          ;;
+      -V* )
+         verbose=yes
+         trimmed_option="${1#-V}"
+         ;;
       --root )
-         shift
-         params=$((${params}-1))
-         ROOT="$1"
+         skip_option=yes
+         ROOT="$2"
          ;;
       --root=* )
          ROOT="${1#--root=}"
          ;;
       --expand-to )
-         shift
-         params=$((${params}-1))
-         OUTPUT="$1"
+         skip_option=yes
+         OUTPUT="$2"
          ;;
       --expand-to=* )
          OUTPUT="${1#--expand-to=}"
          ;;
       --apache-vars )
-         shift
-         params=$((${params}-1))
-         MORE_VARS=";$1"
+         skip_option=yes
+         MORE_VARS=";$2"
          ;;
       --apache-vars=* )
          MORE_VARS=";${1#--apache-vars=}"
          ;;
+      -- )
+          end_of_options=yes
+         ;;
+      -* )
+          echo 1>&2 "$0:" Invalid option -- \`$1\'.
+          exit 1
+          ;;
       * )
-          break
+          if test "x$FILE" = x; then
+            FILE="$1"
+          else
+            single_file_needed
+          fi
          ;;
   esac
-  params=$((${params}-1))
+}
+
+while [ $# -ge 1 ]; do
+  current_option="$1"
+  while test -n "$current_option";do
+    parse_option "$current_option" "$2"
+    if test -n "$skip_option"; then
   shift
+    fi
+    if test -n "$trimmed_option"; then
+      current_option=-"$trimmed_option"
+    else
+      current_option=
+    fi
+  done
+  shift
+  if test -n "$end_of_options"; then
+    break
+  fi
 done
 
-if [ ${params} -ne 1 ]; then
-    echo 1>&2 Error: Single FILE argument is required.  See --help for details.
-    exit 1
+if test "x$FILE" = x; then
+  if test $# -ne 1; then
+    single_file_needed
+  else
+    FILE="$1"
+  fi
+else
+  if test $# -gt 0; then
+    single_file_needed
+  fi
 fi
 
-if [ ! -d "${ROOT}" ]; then
-    echo 1>&2 Error: Root directory \`${ROOT}\' doesn\'t exist.
+if test ! -d "$ROOT"; then
+    echo 1>&2 "$0:" Root directory \`"$ROOT"\' doesn\'t exist.
     exit 1
 fi
 
@@ -121,20 +165,35 @@
 
 # Use $TMP1 if no $OUTPUT is specified.
 OUTPUT="${OUTPUT:-${TMP1}}"
+case "x$OUTPUT" in
+  x-* ) OUTPUT="./$OUTPUT" ;;
+  * ) ;;
+esac
+
+root="$ROOT"
+case "x$root" in
+  x-* ) root="./$root" ;;
+  * ) ;;
+esac
+file="$FILE"
+case "x$file" in
+  x-* ) file="./$file" ;;
+  * ) ;;
+esac
 
-root_dir=`cd ${ROOT}; pwd`
-document_name=${1##*/}
-case $1 in
-  */* ) document_dir=`cd ${1%/*}; pwd` ;;
+root_dir=`cd "$root"; pwd`
+document_name="${FILE##*/}"
+case "$file" in
+  */* ) document_dir=`cd "${file%/*}"; pwd` ;;
   * ) document_dir=`pwd` ;;
 esac
 dir_from_root=${document_dir#${root_dir}}
 
-if ! LANG=C @AWK@ -f @pkglibexecdir@/expand-ssi.awk -v root="${ROOT}" \
+if ! LANG=C @AWK@ -f @pkglibexecdir@/expand-ssi.awk -v root="$ROOT" \
        -v passed_vars="DOCUMENT_NAME=${document_name};\
 DOCUMENT_URI=${dir_from_root}/${document_name};\
-REQUEST_URI=${dir_from_root}/${document_name}$MORE_VARS" $1 \
-       > "${OUTPUT}" 2> $TMP2; then
+REQUEST_URI=${dir_from_root}/${document_name}$MORE_VARS"\
+      < "$FILE" > "${OUTPUT}" 2> $TMP2; then
   echo Failed to expand SSIs:
   cat $TMP2
   exit 1

Index: update-localized-urls.in
===================================================================
RCS file: 
/sources/trans-coord/trans-coord/gnun/server/gnun/update-localized-urls.in,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- update-localized-urls.in    8 Oct 2013 04:38:26 -0000       1.3
+++ update-localized-urls.in    15 Mar 2014 07:58:35 -0000      1.4
@@ -1,6 +1,7 @@
 #! @BASH@
 
-# Copyright (C) 2011, 2012, 2013 Free Software Foundation, Inc.
+# Copyright (C) 2011, 2012, 2013,
+#   2014 Free Software Foundation, Inc.
 
 # This file is part of GNUnited Nations.
 
@@ -22,7 +23,7 @@
 function version () {
 cat <<EOF
 update-localized-urls (@PACKAGE_NAME@) @PACKAGE_VERSION@
-Copyright (C) 2013 Free Software Foundation, Inc.
+Copyright (C) 2014 Free Software Foundation, Inc.
 You may redistribute copies of @PACKAGE_NAME@
 under the terms of the GNU General Public License.
 For more information about these matters, see the file named COPYING.
@@ -38,8 +39,8 @@
                              (`../..' by default)
   -o, --output=FILE          Specify output file
                              (`localized-urls.mk' by default)
-      --version              Display version info and exit
-      --help                 Display this help and exit
+  -v, --version              Display version info and exit
+  -h, --help                 Display this help and exit
 
 Report bugs to @PACKAGE_BUGREPORT@
 @PACKAGE_NAME@ home page: <@PACKAGE_URL@>
@@ -47,49 +48,63 @@
 EOF
 }
 
-params=$#
 ROOT=../..
 OUTPUT=localized-urls.mk
 
-while [ ${params} -gt 1 ]; do
+while test $# -gt 1; do
   case "$1" in
-      --help )
+      --help | -h* )
          usage
          exit 0
          ;;
-      --version )
+      --version | -v* )
          version
          exit 0
          ;;
       --root )
-         shift
-         params=$((${params}-1))
-         ROOT="$1"
+         skip_option=yes
+         ROOT="$2"
          ;;
       --root=* )
          ROOT="${1#--root=}"
          ;;
       --output | -o )
-         shift
-         params=$((${params}-1))
-         OUTPUT="$1"
+         skip_option=yes
+         OUTPUT="$2"
          ;;
       --output=* )
          OUTPUT="${1#--output=}"
          ;;
       * )
-          echo 1>&2 Error: unknown option ${1}
+          echo 1>&2 "$0:" Invalid option -- \'$1\'
           usage
-          exit 1;
+          exit 1
          ;;
   esac
-  params=$((${params}-1))
+}
+
+while [ $# -ge 1 ]; do
+  current_option="$1"
+  while test -n "$current_option";do
+    parse_option "$current_option" "$2"
+    if test -n "$skip_option"; then
+      shift
+    fi
+    if test -n "$trimmed_option"; then
+      current_option=-"$trimmed_option"
+    else
+      current_option=
+    fi
+  done
   shift
+  if test -n "$end_of_options"; then
+    break
+  fi
 done
 
 if ! test -d "${ROOT}"; then
-  echo 1>&2 Error: root directory "'"${ROOT}"'" not found
-  exit 1;
+  echo 1>&2 "$0:" root directory \'$ROOT\' not found
+  exit 1
 fi
 
 address@hidden@ -t urls.XXXXXXXXXX`
@@ -122,4 +137,4 @@
 endef
 EOF
   done
-cp ${TMP} ${OUTPUT}
+cp $TMP "$OUTPUT"

Index: doc/gnun.texi
===================================================================
RCS file: /sources/trans-coord/trans-coord/gnun/server/gnun/doc/gnun.texi,v
retrieving revision 1.94
retrieving revision 1.95
diff -u -b -r1.94 -r1.95
--- doc/gnun.texi       10 Jan 2014 06:35:05 -0000      1.94
+++ doc/gnun.texi       15 Mar 2014 07:58:36 -0000      1.95
@@ -15,7 +15,7 @@
 @value{VERSION}), a suite for maintaining translations of www.gnu.org
 essays and other address@hidden
 @sp 1
-Copyright @copyright{} 2008, 2009, 2010, 2011, 2012, 2013 Free
+Copyright @copyright{} 2008, 2009, 2010, 2011, 2012, 2013, 2014 Free
 Software Foundation, Inc.
 
 @quotation
@@ -2220,10 +2220,12 @@
 @itemx --in-place
 Edit the file in place.
 
address@hidden --version
address@hidden -v
address@hidden --version
 Display copyright and version information and exit.
 
address@hidden --help
address@hidden -h
address@hidden --help
 Display usage information and exit.
 @end table
 
@@ -2262,16 +2264,18 @@
 sets differ.
 
 @item --no-common
-Don't output strings that don't differ.
+Suppress strings that don't differ.
 
 @item -t
 @itemx address@hidden
 Specify the title of the output HTML page.
 
address@hidden --version
address@hidden -v
address@hidden --version
 Display copyright and version information and exit.
 
address@hidden --help
address@hidden -h
address@hidden --help
 Display usage information and exit.
 @end table
 
@@ -2312,10 +2316,12 @@
 @itemx --translator="@var{full name <email>}"
 Specify translator.
 
address@hidden --version
address@hidden -v
address@hidden --version
 Display copyright and version information and exit.
 
address@hidden --help
address@hidden -h
address@hidden --help
 Display usage information and exit.
 @end table
 
@@ -2342,10 +2348,12 @@
 @itemx --encoding
 Specify the encoding of TRANSLATION (if other than UTF-8).
 
address@hidden --version
address@hidden -v
address@hidden --version
 Display copyright and version information and exit.
 
address@hidden --help
address@hidden -h
address@hidden --help
 Display usage information and exit.
 @end table
 
@@ -2369,10 +2377,17 @@
 Specify the compendium (if any).  This option can be used
 more than once to specify multiple compendia.
 
address@hidden --version
address@hidden -d
address@hidden --disable-diffs
+Don't add diffs to previous messages in the format of
+gnun-add-fuzzy-diff.
+
address@hidden -v
address@hidden --version
 Display copyright and version information and exit.
 
address@hidden --help
address@hidden -h
address@hidden --help
 Display usage information and exit.
 @end table
 
@@ -2412,10 +2427,12 @@
 is missing, @command{gnun-report} tries to figure out the language name
 based on the language code provided with the ``-t'' option.
 
address@hidden --version
address@hidden -v
address@hidden --version
 Display copyright and version information and exit.
 
address@hidden --help
address@hidden -h
address@hidden --help
 Display usage information and exit.
 @end table
 
@@ -2459,15 +2476,18 @@
 Specify additional (or override assumed) emulated predefined Apache
 variables.
 
address@hidden -v, --verbose
address@hidden -V
address@hidden --verbose
 Produce more detailed output intended for automatic email reports;
 essentially, it adds the expanded HTML to facilitate finding errors
 by people who receive the report.
 
address@hidden --version
address@hidden -v
address@hidden --version
 Display copyright and version information and exit.
 
address@hidden --help
address@hidden -h
address@hidden --help
 Display usage information and exit.
 @end table
 
@@ -2575,10 +2595,12 @@
 @end example
 
 @table @option
address@hidden --version
address@hidden -v
address@hidden --version
 Print copyright and version information on the standard output.
 
address@hidden --help
address@hidden -h
address@hidden --help
 Print usage information on stdout.
 @end table
 

Index: tests/add-fuzzy-diff
===================================================================
RCS file: 
/sources/trans-coord/trans-coord/gnun/server/gnun/tests/add-fuzzy-diff,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- tests/add-fuzzy-diff        21 Feb 2014 15:49:52 -0000      1.1
+++ tests/add-fuzzy-diff        15 Mar 2014 07:58:37 -0000      1.2
@@ -16,7 +16,7 @@
 # You should have received a copy of the GNU General Public License
 # along with GNUnited Nations.  If not, see <http://www.gnu.org/licenses/>.
 
-# Test add-fuzzy-diff.
+# Test gnun-add-fuzzy-diff.
 
 "${bindir}/gnun-add-fuzzy-diff" "${srcdir}/fuzzy-diff-0.po" \
   > fuzzy-diff-1.po || exit 1

Index: tests/compendium.bg.po
===================================================================
RCS file: 
/sources/trans-coord/trans-coord/gnun/server/gnun/tests/compendium.bg.po,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- tests/compendium.bg.po      21 Feb 2014 15:49:53 -0000      1.1
+++ tests/compendium.bg.po      15 Mar 2014 07:58:37 -0000      1.2
@@ -30,5 +30,5 @@
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-msgid "Free"
+msgid "GNU Project - Free Software Foundation"
 msgstr "Software Foundation"

Index: tests/diff-po
===================================================================
RCS file: /sources/trans-coord/trans-coord/gnun/server/gnun/tests/diff-po,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- tests/diff-po       21 Feb 2014 15:49:53 -0000      1.1
+++ tests/diff-po       15 Mar 2014 07:58:52 -0000      1.2
@@ -18,11 +18,54 @@
 
 # Test gnun-diff-po.
 
-"${bindir}/gnun-diff-po" -t "title" "${srcdir}/diff-po-0.po" \
+"${bindir}/gnun-diff-po" -1t "title" "${srcdir}/diff-po-0.po" \
   "${srcdir}/diff-po-1.po" \
   | "$SED" -e 's,^<title>title (.*)</title>$,<title>title ()</title>,' \
       -e 's,<!-- Generated by .*gnun-diff-po. -->,<!-- Generated by . -->,' \
       > diff-po.html || exit 1
 diff "${srcdir}/diff-po.html" diff-po.html || exit 1
 rm diff-po.html
+
+cat "${srcdir}/diff-po-0.po" > diff-po-1.po
+"${bindir}/gnun-diff-po" -t "title" diff-po-1.po "$srcdir" \
+  | "$SED" -e 's,^<title>title (.*)</title>$,<title>title ()</title>,' \
+      -e 's,<!-- Generated by .*gnun-diff-po. -->,<!-- Generated by . -->,' \
+      > diff-po.html || exit 1
+diff "${srcdir}/diff-po.html" diff-po.html || exit 1
+rm diff-po.html
+
+"${bindir}/gnun-diff-po" diff-po-1.po -t "title" "$srcdir" \
+  | "$SED" -e 's,^<title>title (.*)</title>$,<title>title ()</title>,' \
+      -e 's,<!-- Generated by .*gnun-diff-po. -->,<!-- Generated by . -->,' \
+      > diff-po.html || exit 1
+diff "${srcdir}/diff-po.html" diff-po.html || exit 1
+rm diff-po.html
+
+"${bindir}/gnun-diff-po" diff-po-1.po "$srcdir" -t "title" \
+  | "$SED" -e 's,^<title>title (.*)</title>$,<title>title ()</title>,' \
+      -e 's,<!-- Generated by .*gnun-diff-po. -->,<!-- Generated by . -->,' \
+      > diff-po.html || exit 1
+diff "${srcdir}/diff-po.html" diff-po.html || exit 1
+rm diff-po.html
+
+"${bindir}/gnun-diff-po" diff-po-1.po --no-common "$srcdir" -t "title" \
+  | "$SED" -e 's,^<title>title (.*)</title>$,<title>title ()</title>,' \
+      -e 's,<!-- Generated by .*gnun-diff-po. -->,<!-- Generated by . -->,' \
+      > diff-po.html || exit 1
+diff "${srcdir}/diff-po-no-common.html" diff-po.html || exit 1
+
+"${bindir}/gnun-diff-po" diff-po-1.po --no-common "$srcdir" -1t "title" \
+  | "$SED" -e 's,^<title>title (.*)</title>$,<title>title ()</title>,' \
+      -e 's,<!-- Generated by .*gnun-diff-po. -->,<!-- Generated by . -->,' \
+      > diff-po.html || exit 1
+diff "${srcdir}/diff-po-no-common.html" diff-po.html || exit 1
+
+mv diff-po-1.po ./-h
+"${bindir}/gnun-diff-po" -t "title" -- -h "$srcdir/diff-po-1.po" \
+  | "$SED" -e 's,^<title>title (.*)</title>$,<title>title ()</title>,' \
+      -e 's,<!-- Generated by .*gnun-diff-po. -->,<!-- Generated by . -->,' \
+      > diff-po.html || exit 1
+diff "${srcdir}/diff-po.html" diff-po.html || exit 1
+
+rm diff-po.html ./-h
 exit 0

Index: tests/diff-po-0.po
===================================================================
RCS file: /sources/trans-coord/trans-coord/gnun/server/gnun/tests/diff-po-0.po,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- tests/diff-po-0.po  21 Feb 2014 15:49:53 -0000      1.1
+++ tests/diff-po-0.po  15 Mar 2014 07:58:53 -0000      1.2
@@ -33,3 +33,10 @@
 #. type: Content of: <title>
 msgid "Title - GNU Project - Free Software Foundation"
 msgstr "Title - GNU Project - Free Software Foundation"
+
+msgid "foo"
+msgstr "foobar"
+
+# bar is pr for foobar
+msgid "foobar"
+msgstr "bar"

Index: tests/diff-po-1.po
===================================================================
RCS file: /sources/trans-coord/trans-coord/gnun/server/gnun/tests/diff-po-1.po,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- tests/diff-po-1.po  21 Feb 2014 15:49:54 -0000      1.1
+++ tests/diff-po-1.po  15 Mar 2014 07:58:54 -0000      1.2
@@ -33,3 +33,10 @@
 #. type: Content of: <title>
 msgid "Title - GNU Project - Free Software Foundation"
 msgstr "Title - GNU project - Free Software Foundation"
+
+msgid "foo"
+msgstr "foobar"
+
+# foobar is pr for foobar
+msgid "foobar"
+msgstr "bar"

Index: tests/diff-po.html
===================================================================
RCS file: /sources/trans-coord/trans-coord/gnun/server/gnun/tests/diff-po.html,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- tests/diff-po.html  21 Feb 2014 15:49:54 -0000      1.1
+++ tests/diff-po.html  15 Mar 2014 07:58:55 -0000      1.2
@@ -64,6 +64,32 @@
 Title - GNU <span class="removed"><del><strong>Project</strong></del></span> 
<span class="inserted"><ins><em>project</em></ins></span> - Free Software 
Foundation
 &nbsp;
 </td></tr>
+<tr><td rowspan="3">2</td>
+<td>&nbsp;</td>
+<td class="comment">
+&nbsp;
+</td></tr>
+<tr><td class="msgid">&nbsp;</td><td class="msgid"><code>
+foo&nbsp;
+</code></td></tr>
+<tr>
+<td>&nbsp;</td>
+<td class="msgstr">
+foobar&nbsp;
+</td></tr>
+<tr><td rowspan="3" class="modified"><strong>3</strong></td>
+<td class="modified"><strong>*</strong></td>
+<td class="comment">
+<span class="removed"><del><strong>bar</strong></del></span><span 
class="inserted"><ins><em>foobar</em></ins></span> is pr for foobar<br />
+</td></tr>
+<tr><td class="msgid">&nbsp;</td><td class="msgid"><code>
+foobar&nbsp;
+</code></td></tr>
+<tr>
+<td>&nbsp;</td>
+<td class="msgstr">
+bar&nbsp;
+</td></tr>
 </table>
 </body>
 </html>

Index: tests/init-po
===================================================================
RCS file: /sources/trans-coord/trans-coord/gnun/server/gnun/tests/init-po,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- tests/init-po       21 Feb 2014 15:49:54 -0000      1.1
+++ tests/init-po       15 Mar 2014 07:58:56 -0000      1.2
@@ -18,15 +18,35 @@
 
 # Test the gnun-init-po script.
 
-cat "${srcdir}/init.pot" > init.pot || exit 1
 "${bindir}/gnun-init-po" -C "${srcdir}/compendium.bg.po" \
-  init.pot || exit 1
+  "${srcdir}/init.pot" || exit 1
 
+date_mask='....-..-.. ..:.\{5,7\}'
+timestamp='1983-09-27 12:36-0500'
 # The PO-Revision-Date will depend on the time of checking;
 # the Language field may appear in various positions.
 "${SED}" -i -e \
-'s/^\("PO-Revision-Date:\) ....-..-.. ..:.......\\n"$/\1 1983-09-27 
12:36-0500\\n"/' \
--e '/^"Language: bg\\n"$/d' init.bg.po
-diff "${srcdir}/init.bg.po" init.bg.po || exit 1
-rm init.bg.po init.pot
+  's/^\("PO-Revision-Date:\) '"$date_mask"'\\n"$/\1 '"$timestamp"'\\n"/' \
+  -e '/^"Language: bg\\n"$/d' init.bg.po
+case "x$WDIFF" in
+  x ) file=init-no-diffs.bg.po ;;
+  * ) file=init.bg.po ;;
+esac
+diff "$srcdir/$file" init.bg.po || exit 1
+rm init.bg.po
+"${bindir}/gnun-init-po" "${srcdir}/init.pot" \
+  --compendium="${srcdir}/compendium.bg.po" || exit 1
+"${SED}" -i -e \
+  's/^\("PO-Revision-Date:\) '"$date_mask"'\\n"$/\1 '"$timestamp"'\\n"/' \
+  -e '/^"Language: bg\\n"$/d' init.bg.po
+diff "$srcdir/$file" init.bg.po || exit 1
+rm init.bg.po
+"${bindir}/gnun-init-po" -dC"${srcdir}/compendium.bg.po" \
+  "${srcdir}/init.pot" || exit 1
+"${SED}" -i -e \
+  's/^\("PO-Revision-Date:\) '"$date_mask"'\\n"$/\1 '"$timestamp"'\\n"/' \
+  -e '/^"Language: bg\\n"$/d' init.bg.po
+diff "$srcdir/init-no-diffs.bg.po" init.bg.po || exit 1
+rm init.bg.po
+
 exit 0

Index: tests/init.bg.po
===================================================================
RCS file: /sources/trans-coord/trans-coord/gnun/server/gnun/tests/init.bg.po,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- tests/init.bg.po    21 Feb 2014 15:49:55 -0000      1.1
+++ tests/init.bg.po    15 Mar 2014 07:58:56 -0000      1.2
@@ -31,11 +31,14 @@
 "Content-Transfer-Encoding: 8bit\n"
 
 #. type: Content of: <title>
+# | {+Title -+} GNU Project - Free Software Foundation
+#, fuzzy
+#| msgid "GNU Project - Free Software Foundation"
 msgid "Title - GNU Project - Free Software Foundation"
-msgstr ""
+msgstr "Software Foundation"
 
 msgid "GNU Project - Free Software Foundation"
-msgstr ""
+msgstr "Software Foundation"
 
 msgid "Free"
-msgstr "Software Foundation"
+msgstr ""

Index: tests/validate/1
===================================================================
RCS file: /sources/trans-coord/trans-coord/gnun/server/gnun/tests/validate/1,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- tests/validate/1    21 Feb 2014 15:49:56 -0000      1.1
+++ tests/validate/1    15 Mar 2014 07:58:57 -0000      1.2
@@ -23,4 +23,8 @@
 # 1.html contains no SSI directives, so it should expand to an identical file.
 diff "${srcdir}/validate/1.html" 1.html || exit 1
 rm 1.html
+"${bindir}/gnun-validate-html" --expand-to=-h --root "${srcdir}/validate" \
+  "${srcdir}/validate/1.html" || exit 1
+diff "${srcdir}/validate/1.html" ./-h || exit 1
+rm ./-h
 exit 0

Index: tests/validate/3
===================================================================
RCS file: /sources/trans-coord/trans-coord/gnun/server/gnun/tests/validate/3,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- tests/validate/3    21 Feb 2014 15:49:56 -0000      1.1
+++ tests/validate/3    15 Mar 2014 07:58:57 -0000      1.2
@@ -21,7 +21,6 @@
 "${bindir}/gnun-validate-html" --expand-to=3.1.html \
   --root "${srcdir}/validate" --apache-vars="a=test;b=value" \
   "${srcdir}/validate/3.0.html" || exit 1
-# 1.html contains no SSI directives, so it should expand to an identical file.
 diff "${srcdir}/validate/3.1.html" 3.1.html || exit 1
 rm 3.1.html
 exit 0

Index: tests/validate/4
===================================================================
RCS file: /sources/trans-coord/trans-coord/gnun/server/gnun/tests/validate/4,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- tests/validate/4    21 Feb 2014 15:49:57 -0000      1.1
+++ tests/validate/4    15 Mar 2014 07:58:58 -0000      1.2
@@ -21,7 +21,21 @@
 "${bindir}/gnun-validate-html" --expand-to=4.1.html \
   --root "${srcdir}/validate" \
   "${srcdir}/validate/4.0.html" || exit 1
-# 1.html contains no SSI directives, so it should expand to an identical file.
 diff "${srcdir}/validate/4.1.html" 4.1.html || exit 1
 rm 4.1.html
+"${bindir}/gnun-validate-html" --expand-to=-h \
+  --root "${srcdir}/validate" \
+  "${srcdir}/validate/4.0.html" || exit 1
+diff "${srcdir}/validate/4.1.html" ./-h || exit 1
+rm ./-h
+cat "${srcdir}/validate/4.0.html" > ./-h
+"${bindir}/gnun-validate-html" --expand-to 4.1.html \
+  --root="${srcdir}/validate" -- -h || exit 1
+diff "${srcdir}/validate/4.1.html" 4.1.html || exit 1
+rm 4.1.html ./-h
+mkdir ./--help
+cat "${srcdir}/validate/4.0.html" > ./--help/4.0.html
+"${bindir}/gnun-validate-html" \
+  --root --help -- --help/4.0.html || exit 1
+rm -f -r ./--help
 exit 0

Index: tests/conv-no-diffs.pr.po
===================================================================
RCS file: tests/conv-no-diffs.pr.po
diff -N tests/conv-no-diffs.pr.po
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ tests/conv-no-diffs.pr.po   15 Mar 2014 07:58:38 -0000      1.1
@@ -0,0 +1,98 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <address@hidden>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 1983-09-27 12:36-0500\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <address@hidden>\n"
+"Language-Team: LANGUAGE <address@hidden>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ascii\n"
+"Content-Transfer-Encoding: ENCODING\n"
+
+#. type: Content of: <title>
+#: ../gnun/tests/conv.html:21
+#, fuzzy
+#| msgid "original - GNU Project - Free Software Foundation"
+msgid "original - GNU Project - Free Software Foundation"
+msgstr "translated - GNU Project - Free Software Foundation"
+
+#. type: Content of: <h2>
+#: ../gnun/tests/conv.html:24
+#, fuzzy
+#| msgid "original"
+msgid "original"
+msgstr "translated"
+
+#. type: Content of: <p>
+#: ../gnun/tests/conv.html:26
+#, fuzzy
+#| msgid "English text."
+msgid "English text."
+msgstr "Translated text."
+
+#. type: Content of: <div><p>
+#: ../gnun/tests/conv.html:32
+#, fuzzy
+#| msgid ""
+#| "Please send general FSF &amp; GNU inquiries to <a 
href=\"mailto:address@hidden";
+#| "org\">&lt;address@hidden&gt;</a>.  There are also <a href=\"/contact/"
+#| "\">other ways to contact</a> the FSF.  Broken links and other corrections "
+#| "or suggestions can be sent to <a href=\"mailto:address@hidden";>&lt;"
+#| "address@hidden&gt;</a>."
+msgid ""
+"Please send general FSF &amp; GNU inquiries to <a 
href=\"mailto:address@hidden";
+"\">&lt;address@hidden&gt;</a>.  There are also <a href=\"/contact/\">other 
ways "
+"to contact</a> the FSF.  Broken links and other corrections or suggestions "
+"can be sent to <a href=\"mailto:address@hidden";>&lt;address@hidden"
+"org&gt;</a>."
+msgstr "translated contacts."
+
+#. type: Content of: <div><p>
+#: ../gnun/tests/conv.html:51
+#, fuzzy
+#| msgid ""
+#| "Please see the <a href=\"/server/standards/README.translations.html"
+#| "\">Translations README</a> for information on coordinating and submitting "
+#| "translations of this article."
+msgid ""
+"Please see the <a href=\"/server/standards/README.translations.html"
+"\">Translations README</a> for information on coordinating and submitting "
+"translations of this article."
+msgstr ""
+"Please see the <a href=\"/server/standards/README.translations.html"
+"\">Translations README</a> for information on coordinating and submitting "
+"translations of this article."
+
+#. type: Content of: <div><p>
+#: ../gnun/tests/conv.html:73
+#, fuzzy
+#| msgid "Copyright &copy; 2014 Free Software Foundation, Inc."
+msgid "Copyright &copy; 2014 Free Software Foundation, Inc."
+msgstr "Copyright &copy; 2014 Free Software Foundation, Inc."
+
+#. type: Content of: <div><p>
+#: ../gnun/tests/conv.html:75
+#, fuzzy
+#| msgid ""
+#| "This page is licensed under a <a rel=\"license\" href=\"http://";
+#| "creativecommons.org/licenses/by-nd/3.0/us/\">Creative Commons Attribution-"
+#| "NoDerivs 3.0 United States License</a>."
+msgid ""
+"This page is licensed under a <a rel=\"license\" href=\"http://";
+"creativecommons.org/licenses/by-nd/3.0/us/\">Creative Commons Attribution-"
+"NoDerivs 3.0 United States License</a>."
+msgstr ""
+"This page is licensed under a <a rel=\"license\" href=\"http://";
+"creativecommons.org/licenses/by-nd/3.0/us/\">Creative Commons Attribution-"
+"NoDerivs 3.0 United States License</a>."
+
+#. type: Content of: <div><p>
+#: ../gnun/tests/conv.html:81
+msgid "Updated:"
+msgstr "Updated:"

Index: tests/conv.html
===================================================================
RCS file: tests/conv.html
diff -N tests/conv.html
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ tests/conv.html     15 Mar 2014 07:58:39 -0000      1.1
@@ -0,0 +1,89 @@
+<!--#include virtual="/server/header.html" -->
+<!-- Parent-Version: 1.75 -->
+<!-- Test file for HTML-to-PO conversion scripts.
+
+Copyright (C) 2014 Free Software Foundation, Inc.
+
+This file is part of GNUnited Nations.
+
+GNUnited Nations is free software: you can redistribute it and/or
+modify it under the terms of the GNU General Public License as
+published by the Free Software Foundation, either version 3 of the
+License, or (at your option) any later version.
+
+GNUnited Nations is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNUnited Nations.  If not, see <http://www.gnu.org/licenses/>.  -->
+<title>original - GNU Project - Free Software Foundation</title>
+<!--#include virtual="/converted.translist" -->
+<!--#include virtual="/server/banner.html" -->
+<h2>original</h2>
+
+<p>English text.</p>
+
+</div><!-- for id="content", starts in the include above -->
+<!--#include virtual="/server/footer.html" -->
+<div id="footer">
+
+<p>Please send general FSF &amp; GNU inquiries to
+<a href="mailto:address@hidden";>&lt;address@hidden&gt;</a>.
+There are also <a href="/contact/">other ways to contact</a>
+the FSF.  Broken links and other corrections or suggestions can be sent
+to <a href="mailto:address@hidden";>&lt;address@hidden&gt;</a>.</p>
+
+<p><!-- TRANSLATORS: Ignore the original text in this paragraph,
+        replace it with the translation of these two:
+
+        We work hard and do our best to provide accurate, good quality
+        translations.  However, we are not exempt from imperfection.
+        Please send your comments and general suggestions in this regard
+        to <a href="mailto:address@hidden";>
+        &lt;address@hidden&gt;</a>.</p>
+
+        <p>For information on coordinating and submitting translations of
+        our web pages, see <a
+        href="/server/standards/README.translations.html">Translations
+        README</a>. -->
+Please see the <a
+href="/server/standards/README.translations.html">Translations
+README</a> for information on coordinating and submitting translations
+of this article.</p>
+
+<!-- Regarding copyright, in general, standalone pages (as opposed to
+     files generated as part of manuals) on the GNU web server should
+     be under CC BY-ND 3.0 US.  Please do NOT change or remove this
+     without talking with the webmasters or licensing team first.
+     Please make sure the copyright date is consistent with the
+     document.  For web pages, it is ok to list just the latest year the
+     document was modified, or published.
+     
+     If you wish to list earlier years, that is ok too.
+     Either "2001, 2002, 2003" or "2001-2003" are ok for specifying
+     years, as long as each year in the range is in fact a copyrightable
+     year, i.e., a year in which the document was published (including
+     being publicly visible on the web or in a revision control system).
+     
+     There is more detail about copyright years in the GNU Maintainers
+     Information document, www.gnu.org/prep/maintain. -->
+
+<p>Copyright &copy; 2014 Free Software Foundation, Inc.</p>
+
+<p>This page is licensed under a <a rel="license"
+href="http://creativecommons.org/licenses/by-nd/3.0/us/";>Creative
+Commons Attribution-NoDerivs 3.0 United States License</a>.</p>
+
+<!--#include virtual="/server/bottom-notes.html" -->
+
+<p>Updated:
+<!-- timestamp start -->
+$Date: 2014/03/15 07:58:39 $
+<!-- timestamp end -->
+</p>
+</div>
+</div>
+</body>
+</html>

Index: tests/conv.pot
===================================================================
RCS file: tests/conv.pot
diff -N tests/conv.pot
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ tests/conv.pot      15 Mar 2014 07:58:40 -0000      1.1
@@ -0,0 +1,67 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <address@hidden>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2014-02-24 04:28-0500\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <address@hidden>\n"
+"Language-Team: LANGUAGE <address@hidden>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ascii\n"
+"Content-Transfer-Encoding: ENCODING"
+
+#. type: Content of: <title>
+#: ../gnun/tests/conv.html:21
+msgid "original - GNU Project - Free Software Foundation"
+msgstr ""
+
+#. type: Content of: <h2>
+#: ../gnun/tests/conv.html:24
+msgid "original"
+msgstr ""
+
+#. type: Content of: <p>
+#: ../gnun/tests/conv.html:26
+msgid "English text."
+msgstr ""
+
+#. type: Content of: <div><p>
+#: ../gnun/tests/conv.html:32
+msgid ""
+"Please send general FSF &amp; GNU inquiries to <a "
+"href=\"mailto:address@hidden";>&lt;address@hidden&gt;</a>.  There are also <a "
+"href=\"/contact/\">other ways to contact</a> the FSF.  Broken links and "
+"other corrections or suggestions can be sent to <a "
+"href=\"mailto:address@hidden";>&lt;address@hidden&gt;</a>."
+msgstr ""
+
+#. type: Content of: <div><p>
+#: ../gnun/tests/conv.html:51
+msgid ""
+"Please see the <a "
+"href=\"/server/standards/README.translations.html\">Translations README</a> "
+"for information on coordinating and submitting translations of this article."
+msgstr ""
+
+#. type: Content of: <div><p>
+#: ../gnun/tests/conv.html:73
+msgid "Copyright &copy; 2014 Free Software Foundation, Inc."
+msgstr ""
+
+#. type: Content of: <div><p>
+#: ../gnun/tests/conv.html:75
+msgid ""
+"This page is licensed under a <a rel=\"license\" "
+"href=\"http://creativecommons.org/licenses/by-nd/3.0/us/\";>Creative Commons "
+"Attribution-NoDerivs 3.0 United States License</a>."
+msgstr ""
+
+#. type: Content of: <div><p>
+#: ../gnun/tests/conv.html:81
+msgid "Updated:"
+msgstr "Updated:"

Index: tests/conv.pr.html
===================================================================
RCS file: tests/conv.pr.html
diff -N tests/conv.pr.html
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ tests/conv.pr.html  15 Mar 2014 07:58:50 -0000      1.1
@@ -0,0 +1,86 @@
+<!--#include virtual="/server/header.pr.html" -->
+<!-- Parent-Version: 1.75 -->
+<!-- Test file for HTML-to-PO conversion scripts.
+
+Copyright (C) 2014 Free Software Foundation, Inc.
+
+This file is part of GNUnited Nations.
+
+GNUnited Nations is free software: you can redistribute it and/or
+modify it under the terms of the GNU General Public License as
+published by the Free Software Foundation, either version 3 of the
+License, or (at your option) any later version.
+
+GNUnited Nations is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNUnited Nations.  If not, see <http://www.gnu.org/licenses/>.  -->
+
+<title>translated - GNU Project - Free Software Foundation</title>
+<!--#include virtual="/converted.translist" -->
+<!--#include virtual="/server/banner.pr.html" -->
+<h2>translated</h2>
+
+<p>Translated text.</p>
+
+</div><!-- for id="content", starts in the include above -->
+<!--#include virtual="/server/footer.pr.html" -->
+<div id="footer">
+
+<p>translated contacts.</p>
+
+<p><!-- TRANSLATORS: Ignore the original text in this paragraph,
+        replace it with the translation of these two:
+
+        We work hard and do our best to provide accurate, good quality
+        translations.  However, we are not exempt from imperfection.
+        Please send your comments and general suggestions in this regard
+        to <a href="mailto:address@hidden";>
+        &lt;address@hidden&gt;</a>.</p>
+
+        <p>For information on coordinating and submitting translations of
+        our web pages, see <a
+        href="/server/standards/README.translations.html">Translations
+        README</a>. -->
+Please see the <a
+href="/server/standards/README.translations.html">Translations
+README</a> for information on coordinating and submitting translations
+of this article.</p>
+
+<!-- Regarding copyright, in general, standalone pages (as opposed to
+     files generated as part of manuals) on the GNU web server should
+     be under CC BY-ND 3.0 US.  Please do NOT change or remove this
+     without talking with the webmasters or licensing team first.
+     Please make sure the copyright date is consistent with the
+     document.  For web pages, it is ok to list just the latest year the
+     document was modified, or published.
+     
+     If you wish to list earlier years, that is ok too.
+     Either "2001, 2002, 2003" or "2001-2003" are ok for specifying
+     years, as long as each year in the range is in fact a copyrightable
+     year, i.e., a year in which the document was published (including
+     being publicly visible on the web or in a revision control system).
+     
+     There is more detail about copyright years in the GNU Maintainers
+     Information document, www.gnu.org/prep/maintain. -->
+
+<p>Copyright &copy; 2014 Free Software Foundation, Inc.</p>
+
+<p>This page is licensed under a <a rel="license"
+href="http://creativecommons.org/licenses/by-nd/3.0/us/";>Creative
+Commons Attribution-NoDerivs 3.0 United States License</a>.</p>
+
+<!--#include virtual="/server/bottom-notes.pr.html" -->
+
+<p>Updated:
+<!-- timestamp start -->
+$Date: 2014/03/15 07:58:50 $
+<!-- timestamp end -->
+</p>
+</div>
+</div>
+</body>
+</html>

Index: tests/conv.pr.po
===================================================================
RCS file: tests/conv.pr.po
diff -N tests/conv.pr.po
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ tests/conv.pr.po    15 Mar 2014 07:58:51 -0000      1.1
@@ -0,0 +1,105 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <address@hidden>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 1983-09-27 12:36-0500\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <address@hidden>\n"
+"Language-Team: LANGUAGE <address@hidden>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ascii\n"
+"Content-Transfer-Encoding: ENCODING\n"
+
+#. type: Content of: <title>
+#: ../gnun/tests/conv.html:21
+# || No change detected.  The change might only be in amounts of spaces.
+#, fuzzy
+#| msgid "original - GNU Project - Free Software Foundation"
+msgid "original - GNU Project - Free Software Foundation"
+msgstr "translated - GNU Project - Free Software Foundation"
+
+#. type: Content of: <h2>
+#: ../gnun/tests/conv.html:24
+# || No change detected.  The change might only be in amounts of spaces.
+#, fuzzy
+#| msgid "original"
+msgid "original"
+msgstr "translated"
+
+#. type: Content of: <p>
+#: ../gnun/tests/conv.html:26
+# || No change detected.  The change might only be in amounts of spaces.
+#, fuzzy
+#| msgid "English text."
+msgid "English text."
+msgstr "Translated text."
+
+#. type: Content of: <div><p>
+#: ../gnun/tests/conv.html:32
+# || No change detected.  The change might only be in amounts of spaces.
+#, fuzzy
+#| msgid ""
+#| "Please send general FSF &amp; GNU inquiries to <a 
href=\"mailto:address@hidden";
+#| "org\">&lt;address@hidden&gt;</a>.  There are also <a href=\"/contact/"
+#| "\">other ways to contact</a> the FSF.  Broken links and other corrections "
+#| "or suggestions can be sent to <a href=\"mailto:address@hidden";>&lt;"
+#| "address@hidden&gt;</a>."
+msgid ""
+"Please send general FSF &amp; GNU inquiries to <a 
href=\"mailto:address@hidden";
+"\">&lt;address@hidden&gt;</a>.  There are also <a href=\"/contact/\">other 
ways "
+"to contact</a> the FSF.  Broken links and other corrections or suggestions "
+"can be sent to <a href=\"mailto:address@hidden";>&lt;address@hidden"
+"org&gt;</a>."
+msgstr "translated contacts."
+
+#. type: Content of: <div><p>
+#: ../gnun/tests/conv.html:51
+# || No change detected.  The change might only be in amounts of spaces.
+#, fuzzy
+#| msgid ""
+#| "Please see the <a href=\"/server/standards/README.translations.html"
+#| "\">Translations README</a> for information on coordinating and submitting "
+#| "translations of this article."
+msgid ""
+"Please see the <a href=\"/server/standards/README.translations.html"
+"\">Translations README</a> for information on coordinating and submitting "
+"translations of this article."
+msgstr ""
+"Please see the <a href=\"/server/standards/README.translations.html"
+"\">Translations README</a> for information on coordinating and submitting "
+"translations of this article."
+
+#. type: Content of: <div><p>
+#: ../gnun/tests/conv.html:73
+# || No change detected.  The change might only be in amounts of spaces.
+#, fuzzy
+#| msgid "Copyright &copy; 2014 Free Software Foundation, Inc."
+msgid "Copyright &copy; 2014 Free Software Foundation, Inc."
+msgstr "Copyright &copy; 2014 Free Software Foundation, Inc."
+
+#. type: Content of: <div><p>
+#: ../gnun/tests/conv.html:75
+# || No change detected.  The change might only be in amounts of spaces.
+#, fuzzy
+#| msgid ""
+#| "This page is licensed under a <a rel=\"license\" href=\"http://";
+#| "creativecommons.org/licenses/by-nd/3.0/us/\">Creative Commons Attribution-"
+#| "NoDerivs 3.0 United States License</a>."
+msgid ""
+"This page is licensed under a <a rel=\"license\" href=\"http://";
+"creativecommons.org/licenses/by-nd/3.0/us/\">Creative Commons Attribution-"
+"NoDerivs 3.0 United States License</a>."
+msgstr ""
+"This page is licensed under a <a rel=\"license\" href=\"http://";
+"creativecommons.org/licenses/by-nd/3.0/us/\">Creative Commons Attribution-"
+"NoDerivs 3.0 United States License</a>."
+
+#. type: Content of: <div><p>
+#: ../gnun/tests/conv.html:81
+msgid "Updated:"
+msgstr "Updated:"

Index: tests/convert
===================================================================
RCS file: tests/convert
diff -N tests/convert
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ tests/convert       15 Mar 2014 07:58:51 -0000      1.1
@@ -0,0 +1,62 @@
+#! /bin/sh
+# Copyright (C) 2014 Free Software Foundation, Inc.
+
+# This file is part of GNUnited Nations.
+
+# GNUnited Nations is free software: you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+
+# GNUnited Nations is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with GNUnited Nations.  If not, see <http://www.gnu.org/licenses/>.
+
+# Test gnun-preconvert and gnun-merge-preconverted.
+
+date_mask='....-..-.. ..:.\{5,7\}'
+timestamp='1983-09-27 12:36-0500'
+# The lines beginning with `#: ' will depend on $(bulddir).
+# The POT-Creation-Date will depend on the time of checking.
+# The Language and Content-Transfer-Encoding fields depend on gettext version.
+cat "${srcdir}/conv.pr.html" > conv.pr.html || exit 1
+"${bindir}/gnun-preconvert" conv.pr.html "${srcdir}/conv.html" \
+  || exit 1
+"${SED}" -i -e '/^#: /d' -e '/^"Language: .*\\n"$/d' -e \
+  's/^\("Content-Transfer-Encoding:\) .*\\n"$/\1 ENCODING"/' -e \
+  's/^\("POT-Creation-Date:\) '"$date_mask"'\\n"$/\1 '"$timestamp"'\\n"/' \
+conv.pr.po
+diff "${srcdir}/preconv.pr.po" conv.pr.po || exit 1
+"${bindir}/gnun-preconvert" -e ascii conv.pr.html -- "${srcdir}/conv.html" \
+  || exit 1
+"${SED}" -i -e '/^#: /d' -e '/^"Language: .*\\n"$/d' -e \
+  's/^\("Content-Transfer-Encoding:\) .*\\n"$/\1 ENCODING"/' -e \
+  's/^\("POT-Creation-Date:\) '"$date_mask"'\\n"$/\1 '"$timestamp"'\\n"/' \
+  conv.pr.po
+diff "${srcdir}/preconv.pr.po" conv.pr.po || exit 1
+cat conv.pr.po > conv0.pr.po
+
+"${bindir}/gnun-merge-preconverted" conv.pr.po "${srcdir}/conv.pot"
+"${SED}" -i -e '/^"Language: .*\\n"$/d' -e \
+  's/^\("POT-Creation-Date:\) '"$date_mask"'\\n"$/\1 '"$timestamp"'\\n"/' \
+  conv.pr.po
+
+case "x$WDIFF" in
+  x ) file=conv-no-diffs.pr.po ;;
+  * ) file=conv.pr.po ;;
+esac
+diff "${srcdir}/$file" conv.pr.po || exit 1
+rm conv.pr.html conv.pr.po
+
+"${bindir}/gnun-merge-preconverted" -d conv0.pr.po "${srcdir}/conv.pot"
+"${SED}" -i -e '/^"Language: .*\\n"$/d' -e \
+  's/^\("POT-Creation-Date:\) '"$date_mask"'\\n"$/\1 '"$timestamp"'\\n"/' \
+  conv0.pr.po
+diff "${srcdir}/conv-no-diffs.pr.po" conv0.pr.po || exit 1
+
+rm conv0.pr.po
+exit 0

Index: tests/diff-po-no-common.html
===================================================================
RCS file: tests/diff-po-no-common.html
diff -N tests/diff-po-no-common.html
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ tests/diff-po-no-common.html        15 Mar 2014 07:58:54 -0000      1.1
@@ -0,0 +1,60 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd";>
+<html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+<!-- Generated by . -->
+<title>title ()</title>
+<style type="text/css">
+  span.removed { background-color: #faa; color: #000 }
+  span.inserted { background-color: #afa; color: #000 }
+  td.modified { background-color: #ffa; color: #000 }
+  td.msgid { background-color: #bbd; color: #000 }
+</style>
+</head>
+<body>
+<h2>title</h2>
+<table border="1">
+<tr><td rowspan="3" class="modified"><strong>1</strong></td>
+<td>&nbsp;</td>
+<td class="comment">
+Test translation of https://test.html<br />
+Copyright (C) 2014 Free Software Foundation, Inc.<br />
+This file is part of GNUnited Nations.<br />
+GNUnited Nations is free software: you can redistribute it and/or<br />
+modify it under the terms of the GNU General Public License as<br />
+published by the Free Software Foundation, either version 3 of the<br />
+License, or (at your option) any later version.<br />
+GNUnited Nations is distributed in the hope that it will be useful,<br />
+but WITHOUT ANY WARRANTY; without even the implied warranty of<br />
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the<br />
+GNU General Public License for more details.<br />
+You should have received a copy of the GNU General Public License<br />
+along with GNUnited Nations.  If not, see 
&lt;http://www.gnu.org/licenses/&gt;.<br />
+Translator, 1983
+</td></tr>
+<tr><td class="msgid">&nbsp;</td><td class="msgid"><code>
+Title - GNU Project - Free Software Foundation&nbsp;
+</code></td></tr>
+<tr>
+<td class="modified"><strong>*</strong></td>
+<td class="msgstr">
+Title - GNU <span class="removed"><del><strong>Project</strong></del></span> 
<span class="inserted"><ins><em>project</em></ins></span> - Free Software 
Foundation
+&nbsp;
+</td></tr>
+<tr><td rowspan="3" class="modified"><strong>3</strong></td>
+<td class="modified"><strong>*</strong></td>
+<td class="comment">
+<span class="removed"><del><strong>bar</strong></del></span><span 
class="inserted"><ins><em>foobar</em></ins></span> is pr for foobar<br />
+</td></tr>
+<tr><td class="msgid">&nbsp;</td><td class="msgid"><code>
+foobar&nbsp;
+</code></td></tr>
+<tr>
+<td>&nbsp;</td>
+<td class="msgstr">
+bar&nbsp;
+</td></tr>
+</table>
+</body>
+</html>

Index: tests/init-no-diffs.bg.po
===================================================================
RCS file: tests/init-no-diffs.bg.po
diff -N tests/init-no-diffs.bg.po
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ tests/init-no-diffs.bg.po   15 Mar 2014 07:58:55 -0000      1.1
@@ -0,0 +1,43 @@
+# Bulgarian translation of http://www.gnu.org/planetfeeds.html
+# Bulgarian compendium.
+#
+# Copyright (C) 2014 Free Software Foundation, Inc.
+#
+# This file is part of GNUnited Nations.
+#
+# GNUnited Nations is free software: you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# GNUnited Nations is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNUnited Nations.  If not, see <http://www.gnu.org/licenses/>.
+#
+# Translator, 1983
+msgid ""
+msgstr ""
+"Project-Id-Version: init.html\n"
+"POT-Creation-Date: 1983-09-27 12:36-0500\n"
+"PO-Revision-Date: 1983-09-27 12:36-0500\n"
+"Last-Translator: Translator <address@hidden>\n"
+"Language-Team: Test <address@hidden>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: Content of: <title>
+#, fuzzy
+#| msgid "GNU Project - Free Software Foundation"
+msgid "Title - GNU Project - Free Software Foundation"
+msgstr "Software Foundation"
+
+msgid "GNU Project - Free Software Foundation"
+msgstr "Software Foundation"
+
+msgid "Free"
+msgstr ""

Index: tests/preconv.pr.po
===================================================================
RCS file: tests/preconv.pr.po
diff -N tests/preconv.pr.po
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ tests/preconv.pr.po 15 Mar 2014 07:58:56 -0000      1.1
@@ -0,0 +1,73 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <address@hidden>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 1983-09-27 12:36-0500\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <address@hidden>\n"
+"Language-Team: LANGUAGE <address@hidden>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ascii\n"
+"Content-Transfer-Encoding: ENCODING"
+
+#. type: Content of: <title>
+#, fuzzy
+msgid "original - GNU Project - Free Software Foundation"
+msgstr "translated - GNU Project - Free Software Foundation"
+
+#. type: Content of: <h2>
+#, fuzzy
+msgid "original"
+msgstr "translated"
+
+#. type: Content of: <p>
+#, fuzzy
+msgid "English text."
+msgstr "Translated text."
+
+#. type: Content of: <div><p>
+#, fuzzy
+msgid ""
+"Please send general FSF &amp; GNU inquiries to <a "
+"href=\"mailto:address@hidden";>&lt;address@hidden&gt;</a>.  There are also <a "
+"href=\"/contact/\">other ways to contact</a> the FSF.  Broken links and "
+"other corrections or suggestions can be sent to <a "
+"href=\"mailto:address@hidden";>&lt;address@hidden&gt;</a>."
+msgstr "translated contacts."
+
+#. type: Content of: <div><p>
+#, fuzzy
+msgid ""
+"Please see the <a "
+"href=\"/server/standards/README.translations.html\">Translations README</a> "
+"for information on coordinating and submitting translations of this article."
+msgstr ""
+"Please see the <a "
+"href=\"/server/standards/README.translations.html\">Translations README</a> "
+"for information on coordinating and submitting translations of this article."
+
+#. type: Content of: <div><p>
+#, fuzzy
+msgid "Copyright &copy; 2014 Free Software Foundation, Inc."
+msgstr "Copyright &copy; 2014 Free Software Foundation, Inc."
+
+#. type: Content of: <div><p>
+#, fuzzy
+msgid ""
+"This page is licensed under a <a rel=\"license\" "
+"href=\"http://creativecommons.org/licenses/by-nd/3.0/us/\";>Creative Commons "
+"Attribution-NoDerivs 3.0 United States License</a>."
+msgstr ""
+"This page is licensed under a <a rel=\"license\" "
+"href=\"http://creativecommons.org/licenses/by-nd/3.0/us/\";>Creative Commons "
+"Attribution-NoDerivs 3.0 United States License</a>."
+
+#. type: Content of: <div><p>
+#, fuzzy
+msgid "Updated: $Date: 2014/03/15 07:58:56 $"
+msgstr "Updated: $Date: 2014/03/15 07:58:56 $"



reply via email to

[Prev in Thread] Current Thread [Next in Thread]