]> git.ipfire.org Git - thirdparty/gettext.git/commitdiff
Regenerated.
authorBruno Haible <bruno@clisp.org>
Fri, 30 Nov 2001 15:22:56 +0000 (15:22 +0000)
committerBruno Haible <bruno@clisp.org>
Sun, 21 Jun 2009 21:31:10 +0000 (23:31 +0200)
116 files changed:
ABOUT-NLS
Makefile.in
aclocal.m4
config.h.in
configure
doc/Makefile.in
doc/gettext.info
doc/gettext.info-1
doc/gettext.info-2
doc/gettext.info-3
doc/gettext.info-4
doc/gettext.info-5
doc/gettext_1.html
doc/gettext_10.html
doc/gettext_11.html
doc/gettext_12.html
doc/gettext_13.html
doc/gettext_14.html
doc/gettext_2.html
doc/gettext_3.html
doc/gettext_4.html
doc/gettext_5.html
doc/gettext_6.html
doc/gettext_7.html
doc/gettext_8.html
doc/gettext_9.html
doc/gettext_foot.html
doc/gettext_toc.html
doc/version.texi
intl-java/Makefile.in
lib/Makefile.in
m4/Makefile.in
man/Makefile.in
man/bind_textdomain_codeset.3
man/bindtextdomain.3
man/gettext.3
man/msgattrib.1
man/msgattrib.1.html
man/msgcat.1
man/msgcat.1.html
man/msgcmp.1
man/msgcmp.1.html
man/msgcomm.1
man/msgcomm.1.html
man/msgconv.1
man/msgconv.1.html
man/msgen.1
man/msgen.1.html
man/msgexec.1
man/msgexec.1.html
man/msgfmt.1
man/msgfmt.1.html
man/msggrep.1
man/msggrep.1.html
man/msginit.1
man/msginit.1.html
man/msgmerge.1
man/msgmerge.1.html
man/msgunfmt.1
man/msgunfmt.1.html
man/msguniq.1
man/msguniq.1.html
man/ngettext.3
man/textdomain.3
man/xgettext.1
man/xgettext.1.html
misc/Makefile.in
po/cs.po
po/da.gmo
po/da.po
po/de.gmo
po/de.po
po/el.gmo
po/el.po
po/en@boldquot.gmo
po/en@boldquot.po
po/en@quot.gmo
po/en@quot.po
po/es.gmo
po/es.po
po/et.po
po/fr.gmo
po/fr.po
po/gettext.pot
po/gl.po
po/id.po
po/it.po
po/ja.gmo
po/ja.po
po/ko.gmo
po/ko.po
po/nl.gmo
po/nl.po
po/nn.gmo
po/nn.po
po/no.gmo
po/no.po
po/pl.gmo
po/pl.po
po/pt.gmo
po/pt.po
po/pt_BR.gmo
po/pt_BR.po
po/ru.po
po/sk.po
po/sl.gmo
po/sl.po
po/sv.gmo
po/sv.po
po/tr.gmo
po/tr.po
po/zh.po
projects/Makefile.in
src/Makefile.in
tests/Makefile.in
tests/xg-test1.ok.po

index 91e371bef6b64aade539a90659c7075c87c873c7..76b791537f498935f7bbaf6825f70a94a444478d 100644 (file)
--- a/ABOUT-NLS
+++ b/ABOUT-NLS
@@ -175,14 +175,14 @@ translation percentage of at least 50%.
      bash            |             []       [] []       []                   |
      bfd             |                                  []                   |
      binutils        |                                  []                   |
-     bison           |             []          [] []    []                   |
+     bison           |                            []    []                   |
      clisp           |             []    []    []       []                   |
      cpio            |          [] []          []       [] []                |
      diffutils       |          [] []       [] []       [] []          []    |
      enscript        |             []                   []                   |
      error           |                         []       []          []       |
      fetchmail       |          []                                           |
-     fileutils       |       [] [] [] []       []       [] []                |
+     fileutils       |                                  []                   |
      findutils       |          [] []          [] []    [] []          [] [] |
      flex            |          []             []       []                   |
      freetype        |                                                       |
@@ -190,8 +190,8 @@ translation percentage of at least 50%.
      gawk            |                                  []    []             |
      gcal            |                                                       |
      gcc             |                                  []                   |
-     gettext         |       [] [] [] []       []       [] []          [] [] |
-     gnupg           |             []       []    []    [] []             [] |
+     gettext         |             []                   []                   |
+     gnupg           |             []       [] [] []    [] []             [] |
      gprof           |                                  []                   |
      grep            |       []    []       [] [] []    [] []             [] |
      hello           |          [] [] []    [] [] [] [] [] []       []    [] |
@@ -222,13 +222,13 @@ translation percentage of at least 50%.
      sp              |                                                       |
      tar             |       [] [] []          [] []    []                [] |
      texinfo         |       [] [] []       []          []                   |
-     textutils       |       [] [] [] []       []       [] []                |
+     textutils       |             [] []       []       []                   |
      util-linux      |       [] []                      []                   |
-     wdiff           |          [] []             []                         |
+     wdiff           |          [] []             []    []                   |
      wget            |       [] [] [] []       [] []    [] [] []             |
                      +-------------------------------------------------------+
                        bg ca cs da de el en eo es et fi fr gl he hr hu id it
-                        0  3 14 31 35 11  1  8 24 13  1 39 23  4  0  2  8  9
+                        0  3 11 28 33  9  1  8 22 13  1 40 20  4  0  2  7  8
      
                        ja ko lv nb nl nn no pl pt pt_BR ru sk sl sv tr uk zh
                      +-------------------------------------------------------+
@@ -236,23 +236,23 @@ translation percentage of at least 50%.
      bash            |                                                       |  4
      bfd             |                                                       |  1
      binutils        |                                              []       |  2
-     bison           | []                               []          []       |  7
+     bison           |                                  []       [] []       |  5
      clisp           |             []                                        |  5
      cpio            |    []       []       []     []   []       []          | 11
      diffutils       |                      []          []       [] []       | 11
      enscript        |             []              []   []                   |  5
      error           |                                     []       []       |  5
      fetchmail       |                                                       |  1
-     fileutils       | [] []       []       []     []   [] [] [] [] []       | 17
-     findutils       |    []       []       []     []   []    [] [] []       | 16
+     fileutils       |                                           [] []       |  3
+     findutils       | [] []       []       []     []   []    [] [] []       | 17
      flex            |    []                            []       []          |  6
      freetype        |                                                       |  0
      gas             |                                                       |  1
      gawk            |                                              []       |  3
-     gcal            |                                                       |  0
+     gcal            |                                           []          |  1
      gcc             |                                                       |  1
-     gettext         | [] []                []     []   [] [] [] [] []    [] | 19
-     gnupg           | []                   []                   [] []       | 10
+     gettext         |                                           [] []       |  4
+     gnupg           | []                   []                   [] []       | 11
      gprof           |                                                       |  1
      grep            |                      []                [] [] []       | 12
      hello           | [] [] [] [] []    [] []          [] []    [] [] []    | 23
@@ -260,18 +260,18 @@ translation percentage of at least 50%.
      indent          |    []       []       []          [] []    [] []       | 12
      jpilot          |                                                       |  3
      jwhois          |                                                       |  0
-     kbd             |                                              []       |  1
+     kbd             |                                           [] []       |  2
      ld              |                                           []          |  2
      libc            | [] []    []       [] []     []      []    [] []       | 17
      lilypond        | []          []                            []          |  4
      lynx            | []          []              []   []       []          |  8
      m4              | []          []       []          []       []          | 12
      make            | [] []       []       []     []   []          []       | 12
-     mysecretdiary   |                                                       |  1
+     mysecretdiary   |                                           []          |  2
      nano            |                                  []       []    []    |  9
      nano_1_0        |                                           []          |  7
      opcodes         |                                           [] []       |  3
-     parted          | []                                        []          |  5
+     parted          | []                      []  []            []          |  7
      ptx             |          [] []    [] [] []       []       [] []       | 15
      python          |                                                       |  0
      recode          |                      []          []    [] []          | 13
@@ -282,14 +282,14 @@ translation percentage of at least 50%.
      soundtracker    |                                                       |  3
      sp              |                                                       |  0
      tar             | []       []       [] []     []         [] [] []       | 15
-     texinfo         | []                               []                   |  7
-     textutils       | []       [] []    [] []     []   [] [] []             | 16
+     texinfo         | []                               []       []          |  8
+     textutils       | []       []       [] []          [] [] []             | 11
      util-linux      |                             []            [] []       |  6
-     wdiff           |                                  [] []    [] []       |  7
+     wdiff           |                                  [] []    [] []       |  8
      wget            | []          []                   [] [] [] [] [] []    | 17
                      +-------------------------------------------------------+
        35 teams        ja ko lv nb nl nn no pl pt pt_BR ru sk sl sv tr uk zh
-       55 domains      18 10  1  6 19  0  6 17  1  13   25 11 11 30 23  3  2  422
+       55 domains      16  8  1  6 17  0  6 15  2  11   23  9  9 35 23  3  1  395
 
    Some counters in the preceding matrix are higher than the number of
 visible blocks let us expect.  This is because a few extra PO files are
index 6be68051ba793a9b2366ffc7d9ed0a2c5909ea28..8d138a3554fe6695f4d53c52d920073e87bd898a 100644 (file)
@@ -67,6 +67,7 @@ CC = @CC@
 CLASSPATH = @CLASSPATH@
 CLASSPATH_SEPARATOR = @CLASSPATH_SEPARATOR@
 CROSS_COMPILING = @CROSS_COMPILING@
+CXX = @CXX@
 DATADIRNAME = @DATADIRNAME@
 DEPDIR = @DEPDIR@
 DLLTOOL = @DLLTOOL@
@@ -81,10 +82,10 @@ HAVE_GCJ = @HAVE_GCJ@
 HAVE_GCJ_IN_PATH = @HAVE_GCJ_IN_PATH@
 HAVE_GIJ = @HAVE_GIJ@
 HAVE_GIJ_IN_PATH = @HAVE_GIJ_IN_PATH@
+HAVE_JAVA = @HAVE_JAVA@
 HAVE_JAVAC = @HAVE_JAVAC@
 HAVE_JAVAC_IN_PATH = @HAVE_JAVAC_IN_PATH@
 HAVE_JAVA_IN_PATH = @HAVE_JAVA_IN_PATH@
-HAVE_JAVA_JVM = @HAVE_JAVA_JVM@
 HAVE_JIKES = @HAVE_JIKES@
 HAVE_JIKES_IN_PATH = @HAVE_JIKES_IN_PATH@
 HAVE_JRE = @HAVE_JRE@
@@ -189,7 +190,7 @@ $(top_builddir)/config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 $(srcdir)/configure:  $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
        cd $(srcdir) && $(AUTOCONF)
 
-$(ACLOCAL_M4):  configure.in m4/backupfile.m4 m4/c-bs-a.m4 m4/codeset.m4 m4/flex.m4 m4/getline.m4 m4/gettext.m4 m4/glibc21.m4 m4/hostname.m4 m4/iconv.m4 m4/inttypes_h.m4 m4/isc-posix.m4 m4/javacomp.m4 m4/javaexec.m4 m4/lcmessage.m4 m4/libtool.m4 m4/mbrtowc.m4 m4/mbstate_t.m4 m4/mbswidth.m4 m4/mkdtemp.m4 m4/progtest.m4 m4/setenv.m4 m4/setlocale.m4 m4/siginfo.m4 m4/signalblocking.m4 m4/signed.m4 m4/ssize_t.m4 m4/stdbool.m4 m4/tmpdir.m4 m4/uintmax_t.m4 m4/ulonglong.m4 m4/unionwait.m4
+$(ACLOCAL_M4):  configure.in m4/backupfile.m4 m4/c-bs-a.m4 m4/codeset.m4 m4/flex.m4 m4/getline.m4 m4/gettext.m4 m4/glibc21.m4 m4/hostname.m4 m4/iconv.m4 m4/inttypes_h.m4 m4/isc-posix.m4 m4/javacomp.m4 m4/javaexec.m4 m4/lcmessage.m4 m4/libtool.m4 m4/mbrtowc.m4 m4/mbstate_t.m4 m4/mbswidth.m4 m4/mkdtemp.m4 m4/progtest.m4 m4/setenv.m4 m4/setlocale.m4 m4/siginfo.m4 m4/signalblocking.m4 m4/signed.m4 m4/ssize_t.m4 m4/stdbool.m4 m4/stdint_h.m4 m4/tmpdir.m4 m4/uintmax_t.m4 m4/ulonglong.m4 m4/unionwait.m4
        cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
 config.h: stamp-h
        @if test ! -f $@; then \
index 840296e6ef3824480b0c277628022a16cd1c63d6..5aac2742ac4e435babe02470986f3c3e1de03ea0 100644 (file)
@@ -679,7 +679,7 @@ AC_DEFUN([gt_JAVAEXEC],
     else
       if test -n "$HAVE_JAVA_IN_PATH" \
          && java -version >/dev/null 2>/dev/null; then
-        HAVE_JAVA_JVM=1
+        HAVE_JAVA=1
         ac_result="java"
       else
         if test -n "$HAVE_JRE_IN_PATH" \
@@ -704,7 +704,7 @@ AC_DEFUN([gt_JAVAEXEC],
   AC_SUBST(CLASSPATH)
   AC_SUBST(CLASSPATH_SEPARATOR)
   AC_SUBST(HAVE_GIJ)
-  AC_SUBST(HAVE_JAVA_JVM)
+  AC_SUBST(HAVE_JAVA)
   AC_SUBST(HAVE_JRE)
   AC_SUBST(HAVE_JVIEW)
 ])
@@ -4155,7 +4155,7 @@ AC_DEFUN([AM_TYPE_PTRDIFF_T],
    fi
 ])
 
-#serial 5
+#serial 6
 
 dnl From Paul Eggert.
 
@@ -4167,14 +4167,15 @@ AC_PREREQ(2.13)
 AC_DEFUN([jm_AC_TYPE_UINTMAX_T],
 [
   AC_REQUIRE([jm_AC_HEADER_INTTYPES_H])
-  if test $jm_ac_cv_header_inttypes_h = no; then
+  AC_REQUIRE([jm_AC_HEADER_STDINT_H])
+  if test $jm_ac_cv_header_inttypes_h = no && test $jm_ac_cv_header_stdint_h = no; then
     AC_REQUIRE([jm_AC_TYPE_UNSIGNED_LONG_LONG])
     test $ac_cv_type_unsigned_long_long = yes \
       && ac_type='unsigned long long' \
       || ac_type='unsigned long'
     AC_DEFINE_UNQUOTED(uintmax_t, $ac_type,
   [Define to unsigned long or unsigned long long
-   if <inttypes.h> doesn't define.])
+   if <inttypes.h> and <stdint.h> don't define.])
   fi
 ])
 
@@ -4201,6 +4202,29 @@ AC_DEFUN([jm_AC_HEADER_INTTYPES_H],
   fi
 ])
 
+#serial 1
+
+dnl From Paul Eggert.
+
+# Define HAVE_STDINT_H if <stdint.h> exists,
+# doesn't clash with <sys/types.h>, and declares uintmax_t.
+
+AC_DEFUN([jm_AC_HEADER_STDINT_H],
+[
+  AC_CACHE_CHECK([for stdint.h], jm_ac_cv_header_stdint_h,
+  [AC_TRY_COMPILE(
+    [#include <sys/types.h>
+#include <stdint.h>],
+    [uintmax_t i = (uintmax_t) -1;],
+    jm_ac_cv_header_stdint_h=yes,
+    jm_ac_cv_header_stdint_h=no)])
+  if test $jm_ac_cv_header_stdint_h = yes; then
+    AC_DEFINE_UNQUOTED(HAVE_STDINT_H, 1,
+[Define if <stdint.h> exists, doesn't clash with <sys/types.h>,
+   and declares uintmax_t. ])
+  fi
+])
+
 # serial 1
 
 dnl From Bruno Haible.
@@ -4418,7 +4442,9 @@ AC_DEFUN([gt_FUNC_MKDTEMP],
 [
   AC_REPLACE_FUNCS(mkdtemp)
   AC_STAT_MACROS_BROKEN
-  AC_CHECK_HEADERS(fcntl.h inttypes.h stdint.h sys/time.h time.h unistd.h)
+  jm_AC_HEADER_INTTYPES_H
+  jm_AC_HEADER_STDINT_H
+  AC_CHECK_HEADERS(fcntl.h sys/time.h time.h unistd.h)
   AC_CHECK_FUNCS(gettimeofday)
 ])
 
@@ -4586,7 +4612,8 @@ AC_DEFUN(gt_PREREQ_HOSTNAME,
 ])
 
 # Macro to add for using GNU gettext.
-# Ulrich Drepper <drepper@cygnus.com>, 1995.
+# Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
+# Bruno Haible <haible@clisp.cons.org>, 2000-2001.
 #
 # This file can be copied and used freely without restrictions.  It can
 # be used in projects which are not available under the GNU General Public
@@ -4597,13 +4624,17 @@ AC_DEFUN(gt_PREREQ_HOSTNAME,
 # gettext package package is covered by the GNU General Public License.
 # They are *not* in the public domain.
 
-# serial 10
+# serial 11
 
-dnl Usage: AM_GNU_GETTEXT([TOOLSYMBOL], [NEEDSYMBOL], [LIBDIR]).
-dnl If TOOLSYMBOL is specified and is 'use-libtool', then a libtool library
+dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [LIBDIR]).
+dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The
+dnl    default (if it is not specified or empty) is 'no-libtool'.
+dnl    INTLSYMBOL should be 'external' for packages with no intl directory,
+dnl    and 'no-libtool' or 'use-libtool' for packages with an intl directory.
+dnl    If INTLSYMBOL is 'use-libtool', then a libtool library
 dnl    $(top_builddir)/intl/libintl.la will be created (shared and/or static,
 dnl    depending on --{enable,disable}-{shared,static} and on the presence of
-dnl    AM-DISABLE-SHARED). Otherwise, a static library
+dnl    AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library
 dnl    $(top_builddir)/intl/libintl.a will be created.
 dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext
 dnl    implementations (in libc or libintl) without the ngettext() function
@@ -4622,53 +4653,52 @@ dnl    Catalog extension: .mo after installation, .gmo in source tree
 dnl 3) No internationalization, always use English msgid.
 dnl    Catalog format: none
 dnl    Catalog extension: none
+dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur.
 dnl The use of .gmo is historical (it was needed to avoid overwriting the
 dnl GNU format catalogs when building on a platform with an X/Open gettext),
 dnl but we keep it in order not to force irrelevant filename changes on the
 dnl maintainers.
 dnl
 AC_DEFUN([AM_GNU_GETTEXT],
-  [AC_REQUIRE([AC_PROG_MAKE_SET])dnl
-   AC_REQUIRE([AC_PROG_CC])dnl
-   AC_REQUIRE([AC_CANONICAL_HOST])dnl
-   AC_REQUIRE([AC_PROG_RANLIB])dnl
-   AC_REQUIRE([AC_ISC_POSIX])dnl
-   AC_REQUIRE([AC_HEADER_STDC])dnl
-   AC_REQUIRE([AC_C_CONST])dnl
-   AC_REQUIRE([AC_C_INLINE])dnl
-   AC_REQUIRE([AC_TYPE_OFF_T])dnl
-   AC_REQUIRE([AC_TYPE_SIZE_T])dnl
-   AC_REQUIRE([AC_FUNC_ALLOCA])dnl
-   AC_REQUIRE([AC_FUNC_MMAP])dnl
-   AC_REQUIRE([jm_GLIBC21])dnl
-
-   AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h stddef.h \
-stdlib.h string.h unistd.h sys/param.h])
-   AC_CHECK_FUNCS([feof_unlocked fgets_unlocked getc_unlocked getcwd getegid \
-geteuid getgid getuid mempcpy munmap putenv setenv setlocale stpcpy \
-strcasecmp strdup strtoul tsearch __argz_count __argz_stringify __argz_next])
-
-   AM_ICONV
-   AM_LANGINFO_CODESET
-   AM_LC_MESSAGES
+[
+  dnl Argument checking.
+  ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], ,
+    [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT
+])])])])])
+  ifelse([$2], [], , [ifelse([$2], [need-ngettext], ,
+    [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT
+])])])
+  define(gt_included_intl, ifelse([$1], [external], [no], [yes]))
+  define(gt_libtool_suffix_prefix, ifelse([$1], [use-libtool], [l], []))
+
+  AC_REQUIRE([AM_WITH_LIBINTL])dnl
+  AC_REQUIRE([AM_PO_SUBDIRS])dnl
+  ifelse(gt_included_intl, yes, [
+    AC_REQUIRE([AM_INTL_SUBDIR])dnl
+  ])
 
-    AC_MSG_CHECKING([whether NLS is requested])
-    dnl Default is enabled NLS
-    AC_ARG_ENABLE(nls,
-      [  --disable-nls           do not use Native Language Support],
-      USE_NLS=$enableval, USE_NLS=yes)
-    AC_MSG_RESULT($USE_NLS)
-    AC_SUBST(USE_NLS)
+  AC_MSG_CHECKING([whether NLS is requested])
+  dnl Default is enabled NLS
+  AC_ARG_ENABLE(nls,
+    [  --disable-nls           do not use Native Language Support],
+    USE_NLS=$enableval, USE_NLS=yes)
+  AC_MSG_RESULT($USE_NLS)
+  AC_SUBST(USE_NLS)
 
+  ifelse(gt_included_intl, yes, [
     BUILD_INCLUDED_LIBINTL=no
     USE_INCLUDED_LIBINTL=no
-    INTLLIBS=
+  ])
+  INTLLIBS=
+  POSUB=
 
-    dnl If we use NLS figure out what method
-    if test "$USE_NLS" = "yes"; then
-      AC_DEFINE(ENABLE_NLS, 1,
-        [Define to 1 if translation of program messages to the user's native language
+  dnl If we use NLS figure out what method
+  if test "$USE_NLS" = "yes"; then
+    AC_DEFINE(ENABLE_NLS, 1,
+      [Define to 1 if translation of program messages to the user's native language
    is requested.])
+    gt_use_preinstalled_gnugettext=no
+    ifelse(gt_included_intl, yes, [
       AC_MSG_CHECKING([whether included gettext is requested])
       AC_ARG_WITH(included-gettext,
         [  --with-included-gettext use the GNU gettext library included here],
@@ -4676,270 +4706,109 @@ strcasecmp strdup strtoul tsearch __argz_count __argz_stringify __argz_next])
         nls_cv_force_use_gnu_gettext=no)
       AC_MSG_RESULT($nls_cv_force_use_gnu_gettext)
 
-      gt_use_preinstalled_gnugettext=no
       nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
       if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
+    ])
         dnl User does not insist on using GNU NLS library.  Figure out what
         dnl to use.  If GNU gettext is available we use this.  Else we have
         dnl to fall back to GNU NLS library.
 
         dnl Add a version number to the cache macros.
-        define(gt_cv_func_gnugettext_libc, [gt_cv_func_gnugettext]ifelse([$2], need-ngettext, 2, 1)[_libc])
-        define(gt_cv_func_gnugettext_libintl, [gt_cv_func_gnugettext]ifelse([$2], need-ngettext, 2, 1)[_libintl])
+        define(gt_api_version, ifelse([$2], [need-ngettext], 2, 1))
+        define(gt_cv_func_gnugettext_libc, [gt_cv_func_gnugettext]gt_api_version[_libc])
+        define(gt_cv_func_gnugettext_libintl, [gt_cv_func_gnugettext]gt_api_version[_libintl])
 
-       AC_CHECK_HEADER(libintl.h,
-         [AC_CACHE_CHECK([for GNU gettext in libc], gt_cv_func_gnugettext_libc,
-           [AC_TRY_LINK([#include <libintl.h>
+        AC_CHECK_HEADER(libintl.h,
+         [AC_CACHE_CHECK([for GNU gettext in libc], gt_cv_func_gnugettext_libc,
+           [AC_TRY_LINK([#include <libintl.h>
 extern int _nl_msg_cat_cntr;],
-              [bindtextdomain ("", "");
-return (int) gettext ("")]ifelse([$2], need-ngettext, [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr],
-              gt_cv_func_gnugettext_libc=yes,
-              gt_cv_func_gnugettext_libc=no)])
-
-          if test "$gt_cv_func_gnugettext_libc" != "yes"; then
-            AC_CACHE_CHECK([for GNU gettext in libintl],
-              gt_cv_func_gnugettext_libintl,
-              [gt_save_LIBS="$LIBS"
-               LIBS="$LIBS -lintl $LIBICONV"
-               AC_TRY_LINK([#include <libintl.h>
+              [bindtextdomain ("", "");
+return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr],
+              gt_cv_func_gnugettext_libc=yes,
+              gt_cv_func_gnugettext_libc=no)])
+
+          if test "$gt_cv_func_gnugettext_libc" != "yes"; then
+            ifelse(gt_included_intl, yes, , [
+              AM_ICONV
+            ])
+            AC_CACHE_CHECK([for GNU gettext in libintl],
+              gt_cv_func_gnugettext_libintl,
+             [gt_save_LIBS="$LIBS"
+              LIBS="$LIBS -lintl $LIBICONV"
+              AC_TRY_LINK([#include <libintl.h>
 extern int _nl_msg_cat_cntr;],
-                 [bindtextdomain ("", "");
-return (int) gettext ("")]ifelse([$2], need-ngettext, [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr],
-                 gt_cv_func_gnugettext_libintl=yes,
-                 gt_cv_func_gnugettext_libintl=no)
-               LIBS="$gt_save_LIBS"])
-          fi
-
-          dnl If an already present or preinstalled GNU gettext() is found,
-          dnl use it.  But if this macro is used in GNU gettext, and GNU
-          dnl gettext is already preinstalled in libintl, we update this
-          dnl libintl.  (Cf. the install rule in intl/Makefile.in.)
-          if test "$gt_cv_func_gnugettext_libc" = "yes" \
-             || { test "$gt_cv_func_gnugettext_libintl" = "yes" \
-                  && test "$PACKAGE" != gettext; }; then
-            gt_use_preinstalled_gnugettext=yes
-          fi
-       ])
+                [bindtextdomain ("", "");
+return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr],
+                gt_cv_func_gnugettext_libintl=yes,
+                gt_cv_func_gnugettext_libintl=no)
+              LIBS="$gt_save_LIBS"])
+          fi
 
+          dnl If an already present or preinstalled GNU gettext() is found,
+          dnl use it.  But if this macro is used in GNU gettext, and GNU
+          dnl gettext is already preinstalled in libintl, we update this
+          dnl libintl.  (Cf. the install rule in intl/Makefile.in.)
+          if test "$gt_cv_func_gnugettext_libc" = "yes" \
+             || { test "$gt_cv_func_gnugettext_libintl" = "yes" \
+                  && test "$PACKAGE" != gettext; }; then
+            gt_use_preinstalled_gnugettext=yes
+          fi
+         ])
+
+    ifelse(gt_included_intl, yes, [
         if test "$gt_use_preinstalled_gnugettext" != "yes"; then
-         dnl GNU gettext is not found in the C library.
-         dnl Fall back on included GNU gettext library.
-         nls_cv_use_gnu_gettext=yes
+          dnl GNU gettext is not found in the C library.
+          dnl Fall back on included GNU gettext library.
+          nls_cv_use_gnu_gettext=yes
         fi
       fi
 
-      if test "$gt_use_preinstalled_gnugettext" = "yes"; then
-       if test "$gt_cv_func_gnugettext_libintl" = "yes"; then
-         dnl If iconv() is in a separate libiconv library, then anyone
-         dnl linking with libintl{.a,.so} also needs to link with libiconv.
-         INTLLIBS="-lintl $LIBICONV"
-       fi
-
-       dnl For backward compatibility. Some packages may be using this.
-       AC_DEFINE(HAVE_GETTEXT, 1,
-         [Define if the GNU gettext() function is already present or preinstalled.])
-
-       gt_save_LIBS="$LIBS"
-       LIBS="$LIBS $INTLLIBS"
-       AC_CHECK_FUNCS(dcgettext)
-       LIBS="$gt_save_LIBS"
-
-      fi
-
       if test "$nls_cv_use_gnu_gettext" = "yes"; then
         dnl Mark actions used to generate GNU NLS library.
         INTLOBJS="\$(GETTOBJS)"
-       BUILD_INCLUDED_LIBINTL=yes
-       USE_INCLUDED_LIBINTL=yes
-       INTLLIBS="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.ifelse([$1], use-libtool, [l], [])a $LIBICONV"
-       LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'`
+        BUILD_INCLUDED_LIBINTL=yes
+        USE_INCLUDED_LIBINTL=yes
+        INTLLIBS="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV"
+        LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'`
       fi
 
       if test "$gt_use_preinstalled_gnugettext" = "yes" \
-        || test "$nls_cv_use_gnu_gettext" = "yes"; then
-       dnl Mark actions to use GNU gettext tools.
+         || test "$nls_cv_use_gnu_gettext" = "yes"; then
+        dnl Mark actions to use GNU gettext tools.
         CATOBJEXT=.gmo
       fi
+    ])
 
-      dnl We need to process the po/ directory.
-      POSUB=po
-    fi
-
-    dnl Perform the following tests also if --disable-nls has been given,
-    dnl because they are needed for "make dist" to work.
-
-    dnl Search for GNU msgfmt in the PATH.
-    AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
-      [$ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1], :)
-    AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
-
-    dnl Search for GNU xgettext in the PATH.
-    AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
-      [$ac_dir/$ac_word --omit-header /dev/null >/dev/null 2>&1], :)
-
-    dnl Search for GNU msgmerge 0.11 or newer in the PATH.
-    AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge,
-      [$ac_dir/$ac_word --update -q /dev/null /dev/null >/dev/null 2>&1], :)
-
-    dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.
-    dnl Test whether we really found GNU msgfmt.
-    if test "$GMSGFMT" != ":"; then
-      dnl If it is no GNU msgfmt we define it as : so that the
-      dnl Makefiles still can work.
-      if $GMSGFMT --statistics /dev/null >/dev/null 2>&1; then
-       : ;
-      else
-       AC_MSG_RESULT(
-         [found msgfmt program is not GNU msgfmt; ignore it])
-       GMSGFMT=":"
+    if test "$gt_use_preinstalled_gnugettext" = "yes"; then
+      if test "$gt_cv_func_gnugettext_libintl" = "yes"; then
+        dnl If iconv() is in a separate libiconv library, then anyone
+        dnl linking with libintl{.a,.so} also needs to link with libiconv.
+        INTLLIBS="-lintl $LIBICONV"
       fi
-    fi
 
-    dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.
-    dnl Test whether we really found GNU xgettext.
-    if test "$XGETTEXT" != ":"; then
-      dnl If it is no GNU xgettext we define it as : so that the
-      dnl Makefiles still can work.
-      if $XGETTEXT --omit-header /dev/null >/dev/null 2>&1; then
-       : ;
-      else
-       AC_MSG_RESULT(
-         [found xgettext program is not GNU xgettext; ignore it])
-       XGETTEXT=":"
-      fi
+      dnl For backward compatibility. Some packages may be using this.
+      AC_DEFINE(HAVE_GETTEXT, 1,
+       [Define if the GNU gettext() function is already present or preinstalled.])
+      AC_DEFINE(HAVE_DCGETTEXT, 1,
+       [Define if the GNU dcgettext() function is already present or preinstalled.])
     fi
 
-    AC_OUTPUT_COMMANDS(
-     [for ac_file in $CONFIG_FILES; do
-        # Support "outfile[:infile[:infile...]]"
-        case "$ac_file" in
-          *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
-        esac
-        # PO directories have a Makefile.in generated from Makefile.in.in.
-        case "$ac_file" in */Makefile.in)
-          # Adjust a relative srcdir.
-          ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
-          ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
-          ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
-          # In autoconf-2.13 it is called $ac_given_srcdir.
-          # In autoconf-2.50 it is called $srcdir.
-          test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
-          case "$ac_given_srcdir" in
-            .)  top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
-            /*) top_srcdir="$ac_given_srcdir" ;;
-            *)  top_srcdir="$ac_dots$ac_given_srcdir" ;;
-          esac
-          if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
-            rm -f "$ac_dir/POTFILES"
-            test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"
-            sed -e "/^#/d" -e "/^[     ]*\$/d" -e "s,.*,     $top_srcdir/& \\\\," -e "\$s/\(.*\) \\\\/\1/" < "$ac_given_srcdir/$ac_dir/POTFILES.in" > "$ac_dir/POTFILES"
-            # ALL_LINGUAS, GMOFILES, POFILES depend on $ac_dir but don't
-            # depend on user-specified configuration parameters.
-            if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
-              # The LINGUAS file contains the set of available languages.
-              if test -n "$ALL_LINGUAS"; then
-                test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
-              fi
-              ALL_LINGUAS_=`sed -e "/^#/d" "$ac_given_srcdir/$ac_dir/LINGUAS"`
-              # Hide the ALL_LINGUAS assigment from automake.
-              eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
-            fi
-            GMOFILES=
-            POFILES=
-            for lang in $ALL_LINGUAS; do
-              GMOFILES="$GMOFILES $lang.gmo"
-              POFILES="$POFILES $lang.po"
-            done
-            # CATALOGS depends on both $ac_dir and the user's LINGUAS
-            # environment variable.
-            INST_LINGUAS=
-            if test -n "$ALL_LINGUAS"; then
-              for presentlang in $ALL_LINGUAS; do
-                useit=no
-                if test "%UNSET%" != "$LINGUAS"; then
-                  desiredlanguages="$LINGUAS"
-                else
-                  desiredlanguages="$ALL_LINGUAS"
-                fi
-                for desiredlang in $desiredlanguages; do
-                  # Use the presentlang catalog if desiredlang is
-                  #   a. equal to presentlang, or
-                  #   b. a variant of presentlang (because in this case,
-                  #      presentlang can be used as a fallback for messages
-                  #      which are not translated in the desiredlang catalog).
-                  case "$desiredlang" in
-                    "$presentlang"*) useit=yes;;
-                  esac
-                done
-                if test $useit = yes; then
-                  INST_LINGUAS="$INST_LINGUAS $presentlang"
-                fi
-              done
-            fi
-            CATALOGS=
-            if test -n "$INST_LINGUAS"; then
-              for lang in $INST_LINGUAS; do
-                CATALOGS="$CATALOGS $lang.gmo"
-              done
-            fi
-            test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile"
-            sed -e "/POTFILES =/r $ac_dir/POTFILES" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@POFILES@|$POFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile"
-          fi
-          ;;
-        esac
-      done],
-     [# Capture the value of obsolete $ALL_LINGUAS because we need it to
-      # compute GMOFILES, POFILES, CATALOGS. But hide it from automake.
-      eval 'ALL_LINGUAS''="$ALL_LINGUAS"'
-      # Capture the value of LINGUAS because we need it to compute CATALOGS.
-      LINGUAS="${LINGUAS-%UNSET%}"
-     ])
-
+    dnl We need to process the po/ directory.
+    POSUB=po
+  fi
 
+  ifelse(gt_included_intl, yes, [
     dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL
     dnl to 'yes' because some of the testsuite requires it.
     if test "$PACKAGE" = gettext; then
       BUILD_INCLUDED_LIBINTL=yes
     fi
 
-    dnl intl/plural.c is generated from intl/plural.y. It requires bison,
-    dnl because plural.y uses bison specific features. It requires at least
-    dnl bison-1.26 because earlier versions generate a plural.c that doesn't
-    dnl compile.
-    dnl bison is only needed for the maintainer (who touches plural.y). But in
-    dnl order to avoid separate Makefiles or --enable-maintainer-mode, we put
-    dnl the rule in general Makefile. Now, some people carelessly touch the
-    dnl files or have a broken "make" program, hence the plural.c rule will
-    dnl sometimes fire. To avoid an error, defines BISON to ":" if it is not
-    dnl present or too old.
-    AC_CHECK_PROGS([INTLBISON], [bison])
-    if test -z "$INTLBISON"; then
-      ac_verc_fail=yes
-    else
-      dnl Found it, now check the version.
-      AC_MSG_CHECKING([version of bison])
-changequote(<<,>>)dnl
-      ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
-      case $ac_prog_version in
-        '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
-        1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*)
-changequote([,])dnl
-           ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
-        *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
-      esac
-      AC_MSG_RESULT([$ac_prog_version])
-    fi
-    if test $ac_verc_fail = yes; then
-      INTLBISON=:
-    fi
-
     dnl Make all variables we use known to autoconf.
     AC_SUBST(BUILD_INCLUDED_LIBINTL)
     AC_SUBST(USE_INCLUDED_LIBINTL)
     AC_SUBST(CATOBJEXT)
-    AC_SUBST(INTLLIBS)
     AC_SUBST(INTLOBJS)
-    AC_SUBST(POSUB)
 
     dnl For backward compatibility. Some configure.ins may be using this.
     nls_cv_header_intl=
@@ -4957,49 +4826,259 @@ changequote([,])dnl
     GENCAT=gencat
     AC_SUBST(GENCAT)
 
-    dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly
-    dnl find the mkinstalldirs script in another subdir but $(top_srcdir).
-    dnl Try to locate is.
-    MKINSTALLDIRS=
-    if test -n "$ac_aux_dir"; then
-      MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs"
-    fi
-    if test -z "$MKINSTALLDIRS"; then
-      MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
-    fi
-    AC_SUBST(MKINSTALLDIRS)
-
     dnl Enable libtool support if the surrounding package wishes it.
-    INTL_LIBTOOL_SUFFIX_PREFIX=ifelse([$1], use-libtool, [l], [])
+    INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix
     AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX)
   ])
 
-#serial 2
+  dnl Make all documented variables known to autoconf.
+  AC_SUBST(INTLLIBS)
+  AC_SUBST(POSUB)
+])
 
-# Test for the GNU C Library, version 2.1 or newer.
-# From Bruno Haible.
 
-AC_DEFUN([jm_GLIBC21],
-  [
-    AC_CACHE_CHECK(whether we are using the GNU C Library 2.1 or newer,
-      ac_cv_gnu_library_2_1,
-      [AC_EGREP_CPP([Lucky GNU user],
-       [
-#include <features.h>
-#ifdef __GNU_LIBRARY__
- #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2)
-  Lucky GNU user
- #endif
-#endif
-       ],
-       ac_cv_gnu_library_2_1=yes,
-       ac_cv_gnu_library_2_1=no)
-      ]
-    )
-    AC_SUBST(GLIBC21)
-    GLIBC21="$ac_cv_gnu_library_2_1"
-  ]
-)
+AC_DEFUN([AM_WITH_LIBINTL],
+[
+  AC_ARG_WITH([libintl-prefix],
+[  --with-libintl-prefix=DIR  search for libintl in DIR/include and DIR/lib], [
+    for dir in `echo "$withval" | tr : ' '`; do
+      if test -d $dir/include; then CPPFLAGS="$CPPFLAGS -I$dir/include"; fi
+      if test -d $dir/lib; then LDFLAGS="$LDFLAGS -L$dir/lib"; fi
+    done
+   ])
+])
+
+
+dnl Checks for all prerequisites of the intl subdirectory,
+dnl except for INTL_LIBTOOL_SUFFIX_PREFIX (and possibly LIBTOOL), INTLOBJS,
+dnl            USE_INCLUDED_LIBINTL, BUILD_INCLUDED_LIBINTL.
+AC_DEFUN([AM_PO_SUBDIRS],
+[
+  AC_REQUIRE([AC_PROG_MAKE_SET])dnl
+  AC_REQUIRE([AC_PROG_INSTALL])dnl
+  AC_REQUIRE([AM_MKINSTALLDIRS])dnl
+
+  dnl Perform the following tests also if --disable-nls has been given,
+  dnl because they are needed for "make dist" to work.
+
+  dnl Search for GNU msgfmt in the PATH.
+  AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
+    [$ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1], :)
+  AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
+
+  dnl Search for GNU xgettext in the PATH.
+  AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
+    [$ac_dir/$ac_word --omit-header /dev/null >/dev/null 2>&1], :)
+
+  dnl Search for GNU msgmerge 0.11 or newer in the PATH.
+  AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge,
+    [$ac_dir/$ac_word --update -q /dev/null /dev/null >/dev/null 2>&1], :)
+
+  dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.
+  dnl Test whether we really found GNU msgfmt.
+  if test "$GMSGFMT" != ":"; then
+    dnl If it is no GNU msgfmt we define it as : so that the
+    dnl Makefiles still can work.
+    if $GMSGFMT --statistics /dev/null >/dev/null 2>&1; then
+      : ;
+    else
+      AC_MSG_RESULT(
+        [found msgfmt program is not GNU msgfmt; ignore it])
+      GMSGFMT=":"
+    fi
+  fi
+
+  dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.
+  dnl Test whether we really found GNU xgettext.
+  if test "$XGETTEXT" != ":"; then
+    dnl If it is no GNU xgettext we define it as : so that the
+    dnl Makefiles still can work.
+    if $XGETTEXT --omit-header /dev/null >/dev/null 2>&1; then
+      : ;
+    else
+      AC_MSG_RESULT(
+        [found xgettext program is not GNU xgettext; ignore it])
+      XGETTEXT=":"
+    fi
+  fi
+
+  AC_OUTPUT_COMMANDS([
+    for ac_file in $CONFIG_FILES; do
+      # Support "outfile[:infile[:infile...]]"
+      case "$ac_file" in
+        *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+      esac
+      # PO directories have a Makefile.in generated from Makefile.in.in.
+      case "$ac_file" in */Makefile.in)
+        # Adjust a relative srcdir.
+        ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
+        ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
+        ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
+        # In autoconf-2.13 it is called $ac_given_srcdir.
+        # In autoconf-2.50 it is called $srcdir.
+        test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
+        case "$ac_given_srcdir" in
+          .)  top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
+          /*) top_srcdir="$ac_given_srcdir" ;;
+          *)  top_srcdir="$ac_dots$ac_given_srcdir" ;;
+        esac
+        if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
+          rm -f "$ac_dir/POTFILES"
+          test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"
+          sed -e "/^#/d" -e "/^[       ]*\$/d" -e "s,.*,     $top_srcdir/& \\\\," -e "\$s/\(.*\) \\\\/\1/" < "$ac_given_srcdir/$ac_dir/POTFILES.in" > "$ac_dir/POTFILES"
+          # ALL_LINGUAS, POFILES, GMOFILES, UPDATEPOFILES, DUMMYPOFILES depend
+          # on $ac_dir but don't depend on user-specified configuration
+          # parameters.
+          if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
+            # The LINGUAS file contains the set of available languages.
+            if test -n "$ALL_LINGUAS"; then
+              test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
+            fi
+            ALL_LINGUAS_=`sed -e "/^#/d" "$ac_given_srcdir/$ac_dir/LINGUAS"`
+            # Hide the ALL_LINGUAS assigment from automake.
+            eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
+          fi
+          case "$ac_given_srcdir" in
+            .) srcdirpre= ;;
+            *) srcdirpre='$(srcdir)/' ;;
+          esac
+          POFILES=
+          GMOFILES=
+          UPDATEPOFILES=
+          DUMMYPOFILES=
+          for lang in $ALL_LINGUAS; do
+            POFILES="$POFILES $srcdirpre$lang.po"
+            GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
+            UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
+            DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
+          done
+          # CATALOGS depends on both $ac_dir and the user's LINGUAS
+          # environment variable.
+          INST_LINGUAS=
+          if test -n "$ALL_LINGUAS"; then
+            for presentlang in $ALL_LINGUAS; do
+              useit=no
+              if test "%UNSET%" != "$LINGUAS"; then
+                desiredlanguages="$LINGUAS"
+              else
+                desiredlanguages="$ALL_LINGUAS"
+              fi
+              for desiredlang in $desiredlanguages; do
+                # Use the presentlang catalog if desiredlang is
+                #   a. equal to presentlang, or
+                #   b. a variant of presentlang (because in this case,
+                #      presentlang can be used as a fallback for messages
+                #      which are not translated in the desiredlang catalog).
+                case "$desiredlang" in
+                  "$presentlang"*) useit=yes;;
+                esac
+              done
+              if test $useit = yes; then
+                INST_LINGUAS="$INST_LINGUAS $presentlang"
+              fi
+            done
+          fi
+          CATALOGS=
+          if test -n "$INST_LINGUAS"; then
+            for lang in $INST_LINGUAS; do
+              CATALOGS="$CATALOGS $lang.gmo"
+            done
+          fi
+          test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile"
+          sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile"
+          for f in "$ac_dir"/Rules-*; do
+            cat "$f" >> "$ac_dir/Makefile"
+          done
+        fi
+        ;;
+      esac
+    done],
+   [# Capture the value of obsolete $ALL_LINGUAS because we need it to compute
+    # POFILES, GMOFILES, UPDATEPOFILES, DUMMYPOFILES, CATALOGS. But hide it
+    # from automake.
+    eval 'ALL_LINGUAS''="$ALL_LINGUAS"'
+    # Capture the value of LINGUAS because we need it to compute CATALOGS.
+    LINGUAS="${LINGUAS-%UNSET%}"
+   ])
+])
+
+
+dnl Checks for all prerequisites of the po subdirectory,
+dnl except for USE_NLS.
+AC_DEFUN([AM_INTL_SUBDIR],
+[
+  AC_REQUIRE([AC_PROG_INSTALL])dnl
+  AC_REQUIRE([AM_MKINSTALLDIRS])dnl
+  AC_REQUIRE([AC_PROG_CC])dnl
+  AC_REQUIRE([AC_CANONICAL_HOST])dnl
+  AC_REQUIRE([AC_PROG_RANLIB])dnl
+  AC_REQUIRE([AC_ISC_POSIX])dnl
+  AC_REQUIRE([AC_HEADER_STDC])dnl
+  AC_REQUIRE([AC_C_CONST])dnl
+  AC_REQUIRE([AC_C_INLINE])dnl
+  AC_REQUIRE([AC_TYPE_OFF_T])dnl
+  AC_REQUIRE([AC_TYPE_SIZE_T])dnl
+  AC_REQUIRE([AC_FUNC_ALLOCA])dnl
+  AC_REQUIRE([AC_FUNC_MMAP])dnl
+  AC_REQUIRE([jm_GLIBC21])dnl
+
+  AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h stddef.h \
+stdlib.h string.h unistd.h sys/param.h])
+  AC_CHECK_FUNCS([feof_unlocked fgets_unlocked getc_unlocked getcwd getegid \
+geteuid getgid getuid mempcpy munmap putenv setenv setlocale stpcpy \
+strcasecmp strdup strtoul tsearch __argz_count __argz_stringify __argz_next])
+
+  AM_ICONV
+  AM_LANGINFO_CODESET
+  AM_LC_MESSAGES
+
+  dnl intl/plural.c is generated from intl/plural.y. It requires bison,
+  dnl because plural.y uses bison specific features. It requires at least
+  dnl bison-1.26 because earlier versions generate a plural.c that doesn't
+  dnl compile.
+  dnl bison is only needed for the maintainer (who touches plural.y). But in
+  dnl order to avoid separate Makefiles or --enable-maintainer-mode, we put
+  dnl the rule in general Makefile. Now, some people carelessly touch the
+  dnl files or have a broken "make" program, hence the plural.c rule will
+  dnl sometimes fire. To avoid an error, defines BISON to ":" if it is not
+  dnl present or too old.
+  AC_CHECK_PROGS([INTLBISON], [bison])
+  if test -z "$INTLBISON"; then
+    ac_verc_fail=yes
+  else
+    dnl Found it, now check the version.
+    AC_MSG_CHECKING([version of bison])
+changequote(<<,>>)dnl
+    ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
+    case $ac_prog_version in
+      '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
+      1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*)
+changequote([,])dnl
+         ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
+      *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
+    esac
+    AC_MSG_RESULT([$ac_prog_version])
+  fi
+  if test $ac_verc_fail = yes; then
+    INTLBISON=:
+  fi
+])
+
+
+AC_DEFUN([AM_MKINSTALLDIRS],
+[
+  dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly
+  dnl find the mkinstalldirs script in another subdir but $(top_srcdir).
+  dnl Try to locate is.
+  MKINSTALLDIRS=
+  if test -n "$ac_aux_dir"; then
+    MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs"
+  fi
+  if test -z "$MKINSTALLDIRS"; then
+    MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
+  fi
+  AC_SUBST(MKINSTALLDIRS)
+])
 
 #serial AM2
 
@@ -5071,49 +5150,6 @@ size_t iconv();
   AC_SUBST(LIBICONV)
 ])
 
-#serial AM1
-
-dnl From Bruno Haible.
-
-AC_DEFUN([AM_LANGINFO_CODESET],
-[
-  AC_CACHE_CHECK([for nl_langinfo and CODESET], am_cv_langinfo_codeset,
-    [AC_TRY_LINK([#include <langinfo.h>],
-      [char* cs = nl_langinfo(CODESET);],
-      am_cv_langinfo_codeset=yes,
-      am_cv_langinfo_codeset=no)
-    ])
-  if test $am_cv_langinfo_codeset = yes; then
-    AC_DEFINE(HAVE_LANGINFO_CODESET, 1,
-      [Define if you have <langinfo.h> and nl_langinfo(CODESET).])
-  fi
-])
-
-# Check whether LC_MESSAGES is available in <locale.h>.
-# Ulrich Drepper <drepper@cygnus.com>, 1995.
-#
-# This file can be copied and used freely without restrictions.  It can
-# be used in projects which are not available under the GNU General Public
-# License or the GNU Library General Public License but which still want
-# to provide support for the GNU gettext functionality.
-# Please note that the actual code of the GNU gettext library is covered
-# by the GNU Library General Public License, and the rest of the GNU
-# gettext package package is covered by the GNU General Public License.
-# They are *not* in the public domain.
-
-# serial 2
-
-AC_DEFUN([AM_LC_MESSAGES],
-  [if test $ac_cv_header_locale_h = yes; then
-    AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES,
-      [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES],
-       am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)])
-    if test $am_cv_val_LC_MESSAGES = yes; then
-      AC_DEFINE(HAVE_LC_MESSAGES, 1,
-        [Define if your <locale.h> file defines LC_MESSAGES.])
-    fi
-  fi])
-
 # Search path for a program which passes the given test.
 # Ulrich Drepper <drepper@cygnus.com>, 1996.
 #
@@ -5166,6 +5202,76 @@ fi
 AC_SUBST($1)dnl
 ])
 
+#serial 2
+
+# Test for the GNU C Library, version 2.1 or newer.
+# From Bruno Haible.
+
+AC_DEFUN([jm_GLIBC21],
+  [
+    AC_CACHE_CHECK(whether we are using the GNU C Library 2.1 or newer,
+      ac_cv_gnu_library_2_1,
+      [AC_EGREP_CPP([Lucky GNU user],
+       [
+#include <features.h>
+#ifdef __GNU_LIBRARY__
+ #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2)
+  Lucky GNU user
+ #endif
+#endif
+       ],
+       ac_cv_gnu_library_2_1=yes,
+       ac_cv_gnu_library_2_1=no)
+      ]
+    )
+    AC_SUBST(GLIBC21)
+    GLIBC21="$ac_cv_gnu_library_2_1"
+  ]
+)
+
+#serial AM1
+
+dnl From Bruno Haible.
+
+AC_DEFUN([AM_LANGINFO_CODESET],
+[
+  AC_CACHE_CHECK([for nl_langinfo and CODESET], am_cv_langinfo_codeset,
+    [AC_TRY_LINK([#include <langinfo.h>],
+      [char* cs = nl_langinfo(CODESET);],
+      am_cv_langinfo_codeset=yes,
+      am_cv_langinfo_codeset=no)
+    ])
+  if test $am_cv_langinfo_codeset = yes; then
+    AC_DEFINE(HAVE_LANGINFO_CODESET, 1,
+      [Define if you have <langinfo.h> and nl_langinfo(CODESET).])
+  fi
+])
+
+# Check whether LC_MESSAGES is available in <locale.h>.
+# Ulrich Drepper <drepper@cygnus.com>, 1995.
+#
+# This file can be copied and used freely without restrictions.  It can
+# be used in projects which are not available under the GNU General Public
+# License or the GNU Library General Public License but which still want
+# to provide support for the GNU gettext functionality.
+# Please note that the actual code of the GNU gettext library is covered
+# by the GNU Library General Public License, and the rest of the GNU
+# gettext package package is covered by the GNU General Public License.
+# They are *not* in the public domain.
+
+# serial 2
+
+AC_DEFUN([AM_LC_MESSAGES],
+  [if test $ac_cv_header_locale_h = yes; then
+    AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES,
+      [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES],
+       am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)])
+    if test $am_cv_val_LC_MESSAGES = yes; then
+      AC_DEFINE(HAVE_LC_MESSAGES, 1,
+        [Define if your <locale.h> file defines LC_MESSAGES.])
+    fi
+  fi])
+
 
 # serial 3
 
index 1715cc8163d33ffcffac24b637f53cd88d2ce423..1f1790d9f25aa5fd37e3f03c7a52f9987b5736f2 100644 (file)
@@ -7,7 +7,7 @@
 #define DEFAULT_OUTPUT_ALIGNMENT 1
 
 #ifndef PARAMS
-# if __STDC__
+# if __STDC__ || defined __GNUC__ || defined __SUNPRO_C || defined __cplusplus || __PROTOTYPES
 #  define PARAMS(args) args
 # else
 #  define PARAMS(args) ()
@@ -91,9 +91,6 @@
 /* Define if you have the __secure_getenv function.  */
 #undef HAVE___SECURE_GETENV
 
-/* Define if you have the dcgettext function.  */
-#undef HAVE_DCGETTEXT
-
 /* Define if you have the feof_unlocked function.  */
 #undef HAVE_FEOF_UNLOCKED
 
 /* Define if you have the <fcntl.h> header file.  */
 #undef HAVE_FCNTL_H
 
-/* Define if you have the <inttypes.h> header file.  */
-#undef HAVE_INTTYPES_H
-
 /* Define if you have the <limits.h> header file.  */
 #undef HAVE_LIMITS_H
 
 /* Define if you have the <stddef.h> header file.  */
 #undef HAVE_STDDEF_H
 
-/* Define if you have the <stdint.h> header file.  */
-#undef HAVE_STDINT_H
-
 /* Define if you have the <stdlib.h> header file.  */
 #undef HAVE_STDLIB_H
 
    and declares uintmax_t.  */
 #undef HAVE_INTTYPES_H
 
+/* Define if <stdint.h> exists, doesn't clash with <sys/types.h>,
+   and declares uintmax_t.  */
+#undef HAVE_STDINT_H
+
 /* Define to unsigned long or unsigned long long
-   if <inttypes.h> doesn't define. */
+   if <inttypes.h> and <stdint.h> don't define. */
 #undef uintmax_t
 
 /* Define as a signed type of the same size as size_t. */
 /* Define if <sys/wait.h> defines the 'union wait' type. */
 #undef HAVE_UNION_WAIT
 
+/* Define if <inttypes.h> exists, doesn't clash with <sys/types.h>,
+   and declares uintmax_t.  */
+#undef HAVE_INTTYPES_H
+
+/* Define if <stdint.h> exists, doesn't clash with <sys/types.h>,
+   and declares uintmax_t.  */
+#undef HAVE_STDINT_H
+
 /* Define to 1 if you have the sigset_t type and the sigprocmask function. */
 #undef HAVE_POSIX_SIGNALBLOCKING
 
 /* Define if the GNU gettext() function is already present or preinstalled. */
 #undef HAVE_GETTEXT
 
+/* Define if the GNU dcgettext() function is already present or preinstalled. */
+#undef HAVE_DCGETTEXT
+
 
 /* We don't test for the basename function but still want to use the
    version in the libc when compiling for a system using glibc.  */
index 73a4e4d88609423b3793f536c352a5d45bc8f088..80902541af96c9cbacc0bd61c334ed7c068cb33e 100755 (executable)
--- a/configure
+++ b/configure
@@ -184,6 +184,8 @@ ac_help="$ac_help
   --disable-libtool-lock  avoid locking (might break parallel builds)"
 ac_help="$ac_help
   --with-pic              try to use only PIC/non-PIC objects [default=use both]"
+ac_help="$ac_help
+  --with-libintl-prefix=DIR  search for libintl in DIR/include and DIR/lib"
 ac_help="$ac_help
   --with-libiconv-prefix=DIR  search for libiconv in DIR/include and DIR/lib"
 ac_help="$ac_help
@@ -737,7 +739,7 @@ am_aux_dir=`CDPATH=:; cd $ac_aux_dir && pwd`
 # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
 # ./install, which can be erroneously created by make from ./install.sh.
 echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
-echo "configure:741: checking for a BSD compatible install" >&5
+echo "configure:743: checking for a BSD compatible install" >&5
 if test -z "$INSTALL"; then
 if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -790,7 +792,7 @@ test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
 test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
 
 echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
-echo "configure:794: checking whether build environment is sane" >&5
+echo "configure:796: checking whether build environment is sane" >&5
 # Just in case
 sleep 1
 echo timestamp > conftest.file
@@ -861,7 +863,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:865: checking for $ac_word" >&5
+echo "configure:867: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_AWK'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -891,7 +893,7 @@ test -n "$AWK" && break
 done
 
 echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
-echo "configure:895: checking whether ${MAKE-make} sets \${MAKE}" >&5
+echo "configure:897: checking whether ${MAKE-make} sets \${MAKE}" >&5
 set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -959,7 +961,7 @@ fi
 
 # Define the identity of the package.
 PACKAGE=gettext
-VERSION=0.11-pre1
+VERSION=0.11-pre2
 cat >> confdefs.h <<EOF
 #define PACKAGE "$PACKAGE"
 EOF
@@ -1014,7 +1016,7 @@ RELEASE_DATE=2001-05-23
 # Extract the first word of "gcc", so it can be a program name with args.
 set dummy gcc; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1018: checking for $ac_word" >&5
+echo "configure:1020: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1044,7 +1046,7 @@ if test -z "$CC"; then
   # Extract the first word of "cc", so it can be a program name with args.
 set dummy cc; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1048: checking for $ac_word" >&5
+echo "configure:1050: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1095,7 +1097,7 @@ fi
       # Extract the first word of "cl", so it can be a program name with args.
 set dummy cl; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1099: checking for $ac_word" >&5
+echo "configure:1101: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1127,7 +1129,7 @@ fi
 fi
 
 echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:1131: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+echo "configure:1133: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
 
 ac_ext=c
 # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
@@ -1138,12 +1140,12 @@ cross_compiling=$ac_cv_prog_cc_cross
 
 cat > conftest.$ac_ext << EOF
 
-#line 1142 "configure"
+#line 1144 "configure"
 #include "confdefs.h"
 
 main(){return(0);}
 EOF
-if { (eval echo configure:1147: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1149: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   ac_cv_prog_cc_works=yes
   # If we can't run a trivial program, we are probably using a cross compiler.
   if (./conftest; exit) 2>/dev/null; then
@@ -1169,12 +1171,12 @@ if test $ac_cv_prog_cc_works = no; then
   { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
 fi
 echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:1173: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:1175: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
 echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
 cross_compiling=$ac_cv_prog_cc_cross
 
 echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:1178: checking whether we are using GNU C" >&5
+echo "configure:1180: checking whether we are using GNU C" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1183,7 +1185,7 @@ else
   yes;
 #endif
 EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1187: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1189: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
   ac_cv_prog_gcc=yes
 else
   ac_cv_prog_gcc=no
@@ -1202,7 +1204,7 @@ ac_test_CFLAGS="${CFLAGS+set}"
 ac_save_CFLAGS="$CFLAGS"
 CFLAGS=
 echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:1206: checking whether ${CC-cc} accepts -g" >&5
+echo "configure:1208: checking whether ${CC-cc} accepts -g" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1241,7 +1243,7 @@ doit:
 END
 # If we don't find an include directive, just comment out the code.
 echo $ac_n "checking for style of include used by $am_make""... $ac_c" 1>&6
-echo "configure:1245: checking for style of include used by $am_make" >&5
+echo "configure:1247: checking for style of include used by $am_make" >&5
 am__include='#'
 am__quote=
 _am_result=none
@@ -1275,7 +1277,7 @@ rm -f confinc confmf
 depcc="$CC"   am_compiler_list=
 
 echo $ac_n "checking dependency style of $depcc""... $ac_c" 1>&6
-echo "configure:1279: checking dependency style of $depcc" >&5
+echo "configure:1281: checking dependency style of $depcc" >&5
 if eval "test \"`echo '$''{'am_cv_CC_dependencies_compiler_type'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1353,7 +1355,7 @@ CCDEPMODE="depmode=$am_cv_CC_dependencies_compiler_type"
 # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
 # ./install, which can be erroneously created by make from ./install.sh.
 echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
-echo "configure:1357: checking for a BSD compatible install" >&5
+echo "configure:1359: checking for a BSD compatible install" >&5
 if test -z "$INSTALL"; then
 if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -1410,7 +1412,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1414: checking for $ac_word" >&5
+echo "configure:1416: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_YACC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1444,7 +1446,7 @@ test -n "$YACC" || YACC="yacc"
       # Extract the first word of "flex", so it can be a program name with args.
 set dummy flex; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1448: checking for $ac_word" >&5
+echo "configure:1450: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_LEX'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1478,7 +1480,7 @@ fi
 
 
 echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
-echo "configure:1482: checking how to run the C preprocessor" >&5
+echo "configure:1484: checking how to run the C preprocessor" >&5
 # On Suns, sometimes $CPP names a directory.
 if test -n "$CPP" && test -d "$CPP"; then
   CPP=
@@ -1493,13 +1495,13 @@ else
   # On the NeXT, cc -E runs the code through the compiler's parser,
   # not just through cpp.
   cat > conftest.$ac_ext <<EOF
-#line 1497 "configure"
+#line 1499 "configure"
 #include "confdefs.h"
 #include <assert.h>
 Syntax Error
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1503: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1505: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   :
@@ -1510,13 +1512,13 @@ else
   rm -rf conftest*
   CPP="${CC-cc} -E -traditional-cpp"
   cat > conftest.$ac_ext <<EOF
-#line 1514 "configure"
+#line 1516 "configure"
 #include "confdefs.h"
 #include <assert.h>
 Syntax Error
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1520: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1522: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   :
@@ -1527,13 +1529,13 @@ else
   rm -rf conftest*
   CPP="${CC-cc} -nologo -E"
   cat > conftest.$ac_ext <<EOF
-#line 1531 "configure"
+#line 1533 "configure"
 #include "confdefs.h"
 #include <assert.h>
 Syntax Error
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1537: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1539: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   :
@@ -1559,9 +1561,9 @@ echo "$ac_t""$CPP" 1>&6
 
 
   echo $ac_n "checking for Java compiler""... $ac_c" 1>&6
-echo "configure:1563: checking for Java compiler" >&5
+echo "configure:1565: checking for Java compiler" >&5
   cat > conftest.$ac_ext <<EOF
-#line 1565 "configure"
+#line 1567 "configure"
 #include "confdefs.h"
 
 #if defined _WIN32 || defined __WIN32__ || defined __EMX__ || defined __DJGPP__
@@ -1713,7 +1715,7 @@ EOF
 # Extract the first word of "jar", so it can be a program name with args.
 set dummy jar; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1717: checking for $ac_word" >&5
+echo "configure:1719: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_JAR'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1748,9 +1750,9 @@ fi
 
 
   echo $ac_n "checking for Java virtual machine""... $ac_c" 1>&6
-echo "configure:1752: checking for Java virtual machine" >&5
+echo "configure:1754: checking for Java virtual machine" >&5
   cat > conftest.$ac_ext <<EOF
-#line 1754 "configure"
+#line 1756 "configure"
 #include "confdefs.h"
 
 #if defined _WIN32 || defined __WIN32__ || defined __EMX__ || defined __DJGPP__
@@ -1891,7 +1893,7 @@ fi
     else
       if test -n "$HAVE_JAVA_IN_PATH" \
          && java -version >/dev/null 2>/dev/null; then
-        HAVE_JAVA_JVM=1
+        HAVE_JAVA=1
         ac_result="java"
       else
         if test -n "$HAVE_JRE_IN_PATH" \
@@ -1934,7 +1936,7 @@ else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
 fi
 
 echo $ac_n "checking host system type""... $ac_c" 1>&6
-echo "configure:1938: checking host system type" >&5
+echo "configure:1940: checking host system type" >&5
 
 host_alias=$host
 case "$host_alias" in
@@ -1957,7 +1959,7 @@ echo "$ac_t""$host" 1>&6
 
 
         echo $ac_n "checking for strerror in -lcposix""... $ac_c" 1>&6
-echo "configure:1961: checking for strerror in -lcposix" >&5
+echo "configure:1963: checking for strerror in -lcposix" >&5
 ac_lib_var=`echo cposix'_'strerror | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -1965,7 +1967,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lcposix  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 1969 "configure"
+#line 1971 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -1976,7 +1978,7 @@ int main() {
 strerror()
 ; return 0; }
 EOF
-if { (eval echo configure:1980: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1982: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -2000,13 +2002,13 @@ fi
 
 
 echo $ac_n "checking for object suffix""... $ac_c" 1>&6
-echo "configure:2004: checking for object suffix" >&5
+echo "configure:2006: checking for object suffix" >&5
 if eval "test \"`echo '$''{'ac_cv_objext'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   rm -f conftest*
 echo 'int i = 1;' > conftest.$ac_ext
-if { (eval echo configure:2010: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2012: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   for ac_file in conftest.*; do
     case $ac_file in
     *.c) ;;
@@ -2024,12 +2026,12 @@ OBJEXT=$ac_cv_objext
 ac_objext=$ac_cv_objext
 
 echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
-echo "configure:2028: checking for Cygwin environment" >&5
+echo "configure:2030: checking for Cygwin environment" >&5
 if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2033 "configure"
+#line 2035 "configure"
 #include "confdefs.h"
 
 int main() {
@@ -2040,7 +2042,7 @@ int main() {
 return __CYGWIN__;
 ; return 0; }
 EOF
-if { (eval echo configure:2044: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2046: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_cygwin=yes
 else
@@ -2057,19 +2059,19 @@ echo "$ac_t""$ac_cv_cygwin" 1>&6
 CYGWIN=
 test "$ac_cv_cygwin" = yes && CYGWIN=yes
 echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
-echo "configure:2061: checking for mingw32 environment" >&5
+echo "configure:2063: checking for mingw32 environment" >&5
 if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2066 "configure"
+#line 2068 "configure"
 #include "confdefs.h"
 
 int main() {
 return __MINGW32__;
 ; return 0; }
 EOF
-if { (eval echo configure:2073: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2075: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_mingw32=yes
 else
@@ -2088,7 +2090,7 @@ test "$ac_cv_mingw32" = yes && MINGW32=yes
 
 
 echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
-echo "configure:2092: checking for executable suffix" >&5
+echo "configure:2094: checking for executable suffix" >&5
 if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2098,7 +2100,7 @@ else
   rm -f conftest*
   echo 'int main () { return 0; }' > conftest.$ac_ext
   ac_cv_exeext=
-  if { (eval echo configure:2102: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+  if { (eval echo configure:2104: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
     for file in conftest.*; do
       case $file in
       *.c | *.o | *.obj) ;;
@@ -2189,7 +2191,7 @@ else
 fi
 
 echo $ac_n "checking build system type""... $ac_c" 1>&6
-echo "configure:2193: checking build system type" >&5
+echo "configure:2195: checking build system type" >&5
 
 build_alias=$build
 case "$build_alias" in
@@ -2218,7 +2220,7 @@ ac_prog=ld
 if test "$GCC" = yes; then
   # Check if gcc -print-prog-name=ld gives a path.
   echo $ac_n "checking for ld used by GCC""... $ac_c" 1>&6
-echo "configure:2222: checking for ld used by GCC" >&5
+echo "configure:2224: checking for ld used by GCC" >&5
   case $host in
   *-*-mingw*)
     # gcc leaves a trailing carriage return which upsets mingw
@@ -2248,10 +2250,10 @@ echo "configure:2222: checking for ld used by GCC" >&5
   esac
 elif test "$with_gnu_ld" = yes; then
   echo $ac_n "checking for GNU ld""... $ac_c" 1>&6
-echo "configure:2252: checking for GNU ld" >&5
+echo "configure:2254: checking for GNU ld" >&5
 else
   echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6
-echo "configure:2255: checking for non-GNU ld" >&5
+echo "configure:2257: checking for non-GNU ld" >&5
 fi
 if eval "test \"`echo '$''{'lt_cv_path_LD'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -2286,7 +2288,7 @@ else
 fi
 test -z "$LD" && { echo "configure: error: no acceptable ld found in \$PATH" 1>&2; exit 1; }
 echo $ac_n "checking if the linker ($LD) is GNU ld""... $ac_c" 1>&6
-echo "configure:2290: checking if the linker ($LD) is GNU ld" >&5
+echo "configure:2292: checking if the linker ($LD) is GNU ld" >&5
 if eval "test \"`echo '$''{'lt_cv_prog_gnu_ld'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2303,7 +2305,7 @@ with_gnu_ld=$lt_cv_prog_gnu_ld
 
 
 echo $ac_n "checking for $LD option to reload object files""... $ac_c" 1>&6
-echo "configure:2307: checking for $LD option to reload object files" >&5
+echo "configure:2309: checking for $LD option to reload object files" >&5
 if eval "test \"`echo '$''{'lt_cv_ld_reload_flag'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2315,7 +2317,7 @@ reload_flag=$lt_cv_ld_reload_flag
 test -n "$reload_flag" && reload_flag=" $reload_flag"
 
 echo $ac_n "checking for BSD-compatible nm""... $ac_c" 1>&6
-echo "configure:2319: checking for BSD-compatible nm" >&5
+echo "configure:2321: checking for BSD-compatible nm" >&5
 if eval "test \"`echo '$''{'lt_cv_path_NM'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2353,7 +2355,7 @@ NM="$lt_cv_path_NM"
 echo "$ac_t""$NM" 1>&6
 
 echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6
-echo "configure:2357: checking whether ln -s works" >&5
+echo "configure:2359: checking whether ln -s works" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2374,7 +2376,7 @@ else
 fi
 
 echo $ac_n "checking how to recognise dependant libraries""... $ac_c" 1>&6
-echo "configure:2378: checking how to recognise dependant libraries" >&5
+echo "configure:2380: checking how to recognise dependant libraries" >&5
 if eval "test \"`echo '$''{'lt_cv_deplibs_check_method'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2557,7 +2559,7 @@ fi
 
 # Check for command to grab the raw symbol name followed by C symbol from nm.
 echo $ac_n "checking command to parse $NM output""... $ac_c" 1>&6
-echo "configure:2561: checking command to parse $NM output" >&5
+echo "configure:2563: checking command to parse $NM output" >&5
 if eval "test \"`echo '$''{'lt_cv_sys_global_symbol_pipe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2633,10 +2635,10 @@ void nm_test_func(){}
 int main(){nm_test_var='a';nm_test_func();return(0);}
 EOF
 
-  if { (eval echo configure:2637: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+  if { (eval echo configure:2639: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
     # Now try to grab the symbols.
     nlist=conftest.nm
-    if { (eval echo configure:2640: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\") 1>&5; (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5; } && test -s "$nlist"; then
+    if { (eval echo configure:2642: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\") 1>&5; (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5; } && test -s "$nlist"; then
       # Try sorting and uniquifying the output.
       if sort "$nlist" | uniq > "$nlist"T; then
        mv -f "$nlist"T "$nlist"
@@ -2687,7 +2689,7 @@ EOF
          save_CFLAGS="$CFLAGS"
          LIBS="conftstm.$ac_objext"
          CFLAGS="$CFLAGS$no_builtin_flag"
-         if { (eval echo configure:2691: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+         if { (eval echo configure:2693: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
            pipe_works=yes
          fi
          LIBS="$save_LIBS"
@@ -2733,17 +2735,17 @@ for ac_hdr in dlfcn.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:2737: checking for $ac_hdr" >&5
+echo "configure:2739: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2742 "configure"
+#line 2744 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2747: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2749: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -2778,7 +2780,7 @@ case $deplibs_check_method in
 file_magic*)
   if test "$file_magic_cmd" = '$MAGIC_CMD'; then
     echo $ac_n "checking for ${ac_tool_prefix}file""... $ac_c" 1>&6
-echo "configure:2782: checking for ${ac_tool_prefix}file" >&5
+echo "configure:2784: checking for ${ac_tool_prefix}file" >&5
 if eval "test \"`echo '$''{'lt_cv_path_MAGIC_CMD'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2840,7 +2842,7 @@ fi
 if test -z "$lt_cv_path_MAGIC_CMD"; then
   if test -n "$ac_tool_prefix"; then
     echo $ac_n "checking for file""... $ac_c" 1>&6
-echo "configure:2844: checking for file" >&5
+echo "configure:2846: checking for file" >&5
 if eval "test \"`echo '$''{'lt_cv_path_MAGIC_CMD'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2911,7 +2913,7 @@ esac
 # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2915: checking for $ac_word" >&5
+echo "configure:2917: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2943,7 +2945,7 @@ if test -n "$ac_tool_prefix"; then
   # Extract the first word of "ranlib", so it can be a program name with args.
 set dummy ranlib; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2947: checking for $ac_word" >&5
+echo "configure:2949: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2978,7 +2980,7 @@ fi
 # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
 set dummy ${ac_tool_prefix}strip; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2982: checking for $ac_word" >&5
+echo "configure:2984: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_STRIP'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3010,7 +3012,7 @@ if test -n "$ac_tool_prefix"; then
   # Extract the first word of "strip", so it can be a program name with args.
 set dummy strip; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3014: checking for $ac_word" >&5
+echo "configure:3016: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_STRIP'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3059,8 +3061,8 @@ test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
 case $host in
 *-*-irix6*)
   # Find out which ABI we are using.
-  echo '#line 3063 "configure"' > conftest.$ac_ext
-  if { (eval echo configure:3064: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+  echo '#line 3065 "configure"' > conftest.$ac_ext
+  if { (eval echo configure:3066: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
     case `/usr/bin/file conftest.$ac_objext` in
     *32-bit*)
       LD="${LD-ld} -32"
@@ -3081,7 +3083,7 @@ case $host in
   SAVE_CFLAGS="$CFLAGS"
   CFLAGS="$CFLAGS -belf"
   echo $ac_n "checking whether the C compiler needs -belf""... $ac_c" 1>&6
-echo "configure:3085: checking whether the C compiler needs -belf" >&5
+echo "configure:3087: checking whether the C compiler needs -belf" >&5
 if eval "test \"`echo '$''{'lt_cv_cc_needs_belf'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3094,14 +3096,14 @@ ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$a
 cross_compiling=$ac_cv_prog_cc_cross
 
      cat > conftest.$ac_ext <<EOF
-#line 3098 "configure"
+#line 3100 "configure"
 #include "confdefs.h"
 
 int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:3105: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3107: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   lt_cv_cc_needs_belf=yes
 else
@@ -3214,7 +3216,7 @@ set dummy $CC
 compiler="$2"
 
 echo $ac_n "checking for objdir""... $ac_c" 1>&6
-echo "configure:3218: checking for objdir" >&5
+echo "configure:3220: checking for objdir" >&5
 rm -f .libs 2>/dev/null
 mkdir .libs 2>/dev/null
 if test -d .libs; then
@@ -3241,7 +3243,7 @@ test -z "$pic_mode" && pic_mode=default
 # in isolation, and that seeing it set (from the cache) indicates that
 # the associated values are set (in the cache) correctly too.
 echo $ac_n "checking for $compiler option to produce PIC""... $ac_c" 1>&6
-echo "configure:3245: checking for $compiler option to produce PIC" >&5
+echo "configure:3247: checking for $compiler option to produce PIC" >&5
 if eval "test \"`echo '$''{'lt_cv_prog_cc_pic'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3393,21 +3395,21 @@ else
 
   # Check to make sure the pic_flag actually works.
   echo $ac_n "checking if $compiler PIC flag $lt_cv_prog_cc_pic works""... $ac_c" 1>&6
-echo "configure:3397: checking if $compiler PIC flag $lt_cv_prog_cc_pic works" >&5
+echo "configure:3399: checking if $compiler PIC flag $lt_cv_prog_cc_pic works" >&5
   if eval "test \"`echo '$''{'lt_cv_prog_cc_pic_works'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
       save_CFLAGS="$CFLAGS"
     CFLAGS="$CFLAGS $lt_cv_prog_cc_pic -DPIC"
     cat > conftest.$ac_ext <<EOF
-#line 3404 "configure"
+#line 3406 "configure"
 #include "confdefs.h"
 
 int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:3411: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3413: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
         case $host_os in
       hpux9* | hpux10* | hpux11*)
@@ -3459,7 +3461,7 @@ if test -n "$lt_cv_prog_cc_shlib"; then
 fi
 
 echo $ac_n "checking if $compiler static flag $lt_cv_prog_cc_static works""... $ac_c" 1>&6
-echo "configure:3463: checking if $compiler static flag $lt_cv_prog_cc_static works" >&5
+echo "configure:3465: checking if $compiler static flag $lt_cv_prog_cc_static works" >&5
 if eval "test \"`echo '$''{'lt_cv_prog_cc_static_works'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3467,14 +3469,14 @@ else
   save_LDFLAGS="$LDFLAGS"
   LDFLAGS="$LDFLAGS $lt_cv_prog_cc_static"
   cat > conftest.$ac_ext <<EOF
-#line 3471 "configure"
+#line 3473 "configure"
 #include "confdefs.h"
 
 int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:3478: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3480: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   lt_cv_prog_cc_static_works=yes
 else
@@ -3501,7 +3503,7 @@ can_build_shared="$lt_cv_prog_cc_can_build_shared"
 
 # Check to see if options -o and -c are simultaneously supported by compiler
 echo $ac_n "checking if $compiler supports -c -o file.$ac_objext""... $ac_c" 1>&6
-echo "configure:3505: checking if $compiler supports -c -o file.$ac_objext" >&5
+echo "configure:3507: checking if $compiler supports -c -o file.$ac_objext" >&5
 if eval "test \"`echo '$''{'lt_cv_compiler_c_o'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3520,7 +3522,7 @@ chmod -w .
 save_CFLAGS="$CFLAGS"
 CFLAGS="$CFLAGS -o out/conftest2.$ac_objext"
 compiler_c_o=no
-if { (eval echo configure:3524: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>out/conftest.err; } && test -s out/conftest2.$ac_objext; then
+if { (eval echo configure:3526: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>out/conftest.err; } && test -s out/conftest2.$ac_objext; then
   # The compiler can only warn and ignore the option if not recognized
   # So say no if there are warnings
   if test -s out/conftest.err; then
@@ -3549,7 +3551,7 @@ echo "$ac_t""$compiler_c_o" 1>&6
 if test x"$compiler_c_o" = x"yes"; then
   # Check to see if we can write to a .lo
   echo $ac_n "checking if $compiler supports -c -o file.lo""... $ac_c" 1>&6
-echo "configure:3553: checking if $compiler supports -c -o file.lo" >&5
+echo "configure:3555: checking if $compiler supports -c -o file.lo" >&5
   if eval "test \"`echo '$''{'lt_cv_compiler_o_lo'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3558,14 +3560,14 @@ else
   save_CFLAGS="$CFLAGS"
   CFLAGS="$CFLAGS -c -o conftest.lo"
   cat > conftest.$ac_ext <<EOF
-#line 3562 "configure"
+#line 3564 "configure"
 #include "confdefs.h"
 
 int main() {
 int some_variable = 0;
 ; return 0; }
 EOF
-if { (eval echo configure:3569: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3571: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
       # The compiler can only warn and ignore the option if not recognized
     # So say no if there are warnings
@@ -3595,7 +3597,7 @@ hard_links="nottested"
 if test "$compiler_c_o" = no && test "$need_locks" != no; then
   # do not overwrite the value of need_locks provided by the user
   echo $ac_n "checking if we can lock with hard links""... $ac_c" 1>&6
-echo "configure:3599: checking if we can lock with hard links" >&5
+echo "configure:3601: checking if we can lock with hard links" >&5
   hard_links=yes
   $rm conftest*
   ln conftest.a conftest.b 2>/dev/null && hard_links=no
@@ -3614,20 +3616,20 @@ fi
 if test "$GCC" = yes; then
   # Check to see if options -fno-rtti -fno-exceptions are supported by compiler
   echo $ac_n "checking if $compiler supports -fno-rtti -fno-exceptions""... $ac_c" 1>&6
-echo "configure:3618: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
+echo "configure:3620: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
   echo "int some_variable = 0;" > conftest.$ac_ext
   save_CFLAGS="$CFLAGS"
   CFLAGS="$CFLAGS -fno-rtti -fno-exceptions -c conftest.$ac_ext"
   compiler_rtti_exceptions=no
   cat > conftest.$ac_ext <<EOF
-#line 3624 "configure"
+#line 3626 "configure"
 #include "confdefs.h"
 
 int main() {
 int some_variable = 0;
 ; return 0; }
 EOF
-if { (eval echo configure:3631: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3633: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
       # The compiler can only warn and ignore the option if not recognized
     # So say no if there are warnings
@@ -3654,7 +3656,7 @@ fi
 
 # See if the linker supports building shared libraries.
 echo $ac_n "checking whether the linker ($LD) supports shared libraries""... $ac_c" 1>&6
-echo "configure:3658: checking whether the linker ($LD) supports shared libraries" >&5
+echo "configure:3660: checking whether the linker ($LD) supports shared libraries" >&5
 
 allow_undefined_flag=
 no_undefined_flag=
@@ -4270,7 +4272,7 @@ test "$ld_shlibs" = no && can_build_shared=no
 
 # Check hardcoding attributes.
 echo $ac_n "checking how to hardcode library paths into programs""... $ac_c" 1>&6
-echo "configure:4274: checking how to hardcode library paths into programs" >&5
+echo "configure:4276: checking how to hardcode library paths into programs" >&5
 hardcode_action=
 if test -n "$hardcode_libdir_flag_spec" || \
    test -n "$runpath_var"; then
@@ -4298,7 +4300,7 @@ echo "$ac_t""$hardcode_action" 1>&6
 striplib=
 old_striplib=
 echo $ac_n "checking whether stripping libraries is possible""... $ac_c" 1>&6
-echo "configure:4302: checking whether stripping libraries is possible" >&5
+echo "configure:4304: checking whether stripping libraries is possible" >&5
 if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
   test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
   test -z "$striplib" && striplib="$STRIP --strip-unneeded"
@@ -4312,7 +4314,7 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown
 
 # PORTME Fill in your ld.so characteristics
 echo $ac_n "checking dynamic linker characteristics""... $ac_c" 1>&6
-echo "configure:4316: checking dynamic linker characteristics" >&5
+echo "configure:4318: checking dynamic linker characteristics" >&5
 library_names_spec=
 libname_spec='lib$name'
 soname_spec=
@@ -4698,7 +4700,7 @@ test "$dynamic_linker" = no && can_build_shared=no
 
 # Report the final consequences.
 echo $ac_n "checking if libtool supports shared libraries""... $ac_c" 1>&6
-echo "configure:4702: checking if libtool supports shared libraries" >&5
+echo "configure:4704: checking if libtool supports shared libraries" >&5
 echo "$ac_t""$can_build_shared" 1>&6
 
 if test "$hardcode_action" = relink; then
@@ -4737,7 +4739,7 @@ else
 
   *)
     echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6
-echo "configure:4741: checking for dlopen in -ldl" >&5
+echo "configure:4743: checking for dlopen in -ldl" >&5
 ac_lib_var=`echo dl'_'dlopen | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -4745,7 +4747,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-ldl  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 4749 "configure"
+#line 4751 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -4756,7 +4758,7 @@ int main() {
 dlopen()
 ; return 0; }
 EOF
-if { (eval echo configure:4760: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4762: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -4775,12 +4777,12 @@ if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
 else
   echo "$ac_t""no" 1>&6
 echo $ac_n "checking for dlopen""... $ac_c" 1>&6
-echo "configure:4779: checking for dlopen" >&5
+echo "configure:4781: checking for dlopen" >&5
 if eval "test \"`echo '$''{'ac_cv_func_dlopen'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 4784 "configure"
+#line 4786 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char dlopen(); below.  */
@@ -4803,7 +4805,7 @@ dlopen();
 
 ; return 0; }
 EOF
-if { (eval echo configure:4807: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4809: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_dlopen=yes"
 else
@@ -4821,12 +4823,12 @@ if eval "test \"`echo '$ac_cv_func_'dlopen`\" = yes"; then
 else
   echo "$ac_t""no" 1>&6
 echo $ac_n "checking for shl_load""... $ac_c" 1>&6
-echo "configure:4825: checking for shl_load" >&5
+echo "configure:4827: checking for shl_load" >&5
 if eval "test \"`echo '$''{'ac_cv_func_shl_load'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 4830 "configure"
+#line 4832 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char shl_load(); below.  */
@@ -4849,7 +4851,7 @@ shl_load();
 
 ; return 0; }
 EOF
-if { (eval echo configure:4853: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4855: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_shl_load=yes"
 else
@@ -4867,7 +4869,7 @@ if eval "test \"`echo '$ac_cv_func_'shl_load`\" = yes"; then
 else
   echo "$ac_t""no" 1>&6
 echo $ac_n "checking for dlopen in -lsvld""... $ac_c" 1>&6
-echo "configure:4871: checking for dlopen in -lsvld" >&5
+echo "configure:4873: checking for dlopen in -lsvld" >&5
 ac_lib_var=`echo svld'_'dlopen | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -4875,7 +4877,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lsvld  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 4879 "configure"
+#line 4881 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -4886,7 +4888,7 @@ int main() {
 dlopen()
 ; return 0; }
 EOF
-if { (eval echo configure:4890: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4892: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -4905,7 +4907,7 @@ if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
 else
   echo "$ac_t""no" 1>&6
 echo $ac_n "checking for shl_load in -ldld""... $ac_c" 1>&6
-echo "configure:4909: checking for shl_load in -ldld" >&5
+echo "configure:4911: checking for shl_load in -ldld" >&5
 ac_lib_var=`echo dld'_'shl_load | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -4913,7 +4915,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-ldld  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 4917 "configure"
+#line 4919 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -4924,7 +4926,7 @@ int main() {
 shl_load()
 ; return 0; }
 EOF
-if { (eval echo configure:4928: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4930: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -4977,7 +4979,7 @@ fi
     LIBS="$lt_cv_dlopen_libs $LIBS"
 
     echo $ac_n "checking whether a program can dlopen itself""... $ac_c" 1>&6
-echo "configure:4981: checking whether a program can dlopen itself" >&5
+echo "configure:4983: checking whether a program can dlopen itself" >&5
 if eval "test \"`echo '$''{'lt_cv_dlopen_self'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -4987,7 +4989,7 @@ else
     lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 4991 "configure"
+#line 4993 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -5048,7 +5050,7 @@ int main ()
     exit (status);
 }
 EOF
-  if { (eval echo configure:5052: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} 2>/dev/null; then
+  if { (eval echo configure:5054: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} 2>/dev/null; then
     (./conftest; exit; ) 2>/dev/null
     lt_status=$?
     case x$lt_status in
@@ -5071,7 +5073,7 @@ echo "$ac_t""$lt_cv_dlopen_self" 1>&6
     if test "x$lt_cv_dlopen_self" = xyes; then
       LDFLAGS="$LDFLAGS $link_static_flag"
       echo $ac_n "checking whether a statically linked program can dlopen itself""... $ac_c" 1>&6
-echo "configure:5075: checking whether a statically linked program can dlopen itself" >&5
+echo "configure:5077: checking whether a statically linked program can dlopen itself" >&5
 if eval "test \"`echo '$''{'lt_cv_dlopen_self_static'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -5081,7 +5083,7 @@ else
     lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 5085 "configure"
+#line 5087 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -5142,7 +5144,7 @@ int main ()
     exit (status);
 }
 EOF
-  if { (eval echo configure:5146: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} 2>/dev/null; then
+  if { (eval echo configure:5148: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} 2>/dev/null; then
     (./conftest; exit; ) 2>/dev/null
     lt_status=$?
     case x$lt_status in
@@ -5191,14 +5193,14 @@ if test "$enable_shared" = yes && test "$GCC" = yes; then
     # systems, -lgcc has to come before -lc. If gcc already passes -lc
     # to ld, don't add -lc before -lgcc.
     echo $ac_n "checking whether -lc should be explicitly linked in""... $ac_c" 1>&6
-echo "configure:5195: checking whether -lc should be explicitly linked in" >&5
+echo "configure:5197: checking whether -lc should be explicitly linked in" >&5
     if eval "test \"`echo '$''{'lt_cv_archive_cmds_need_lc'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   $rm conftest*
     echo 'static int dummy;' > conftest.$ac_ext
 
-    if { (eval echo configure:5202: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+    if { (eval echo configure:5204: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
       soname=conftest
       lib=conftest
       libobjs=conftest.$ac_objext
@@ -5211,7 +5213,7 @@ else
       libname=conftest
       save_allow_undefined_flag=$allow_undefined_flag
       allow_undefined_flag=
-      if { (eval echo configure:5215: \"$archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\") 1>&5; (eval $archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5; }
+      if { (eval echo configure:5217: \"$archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\") 1>&5; (eval $archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5; }
       then
        lt_cv_archive_cmds_need_lc=no
       else
@@ -5796,12 +5798,12 @@ EOF
 
 
 echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
-echo "configure:5800: checking for ANSI C header files" >&5
+echo "configure:5802: checking for ANSI C header files" >&5
 if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5805 "configure"
+#line 5807 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
 #include <stdarg.h>
@@ -5809,7 +5811,7 @@ else
 #include <float.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:5813: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:5815: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -5826,7 +5828,7 @@ rm -f conftest*
 if test $ac_cv_header_stdc = yes; then
   # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
 cat > conftest.$ac_ext <<EOF
-#line 5830 "configure"
+#line 5832 "configure"
 #include "confdefs.h"
 #include <string.h>
 EOF
@@ -5844,7 +5846,7 @@ fi
 if test $ac_cv_header_stdc = yes; then
   # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
 cat > conftest.$ac_ext <<EOF
-#line 5848 "configure"
+#line 5850 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
 EOF
@@ -5865,7 +5867,7 @@ if test "$cross_compiling" = yes; then
   :
 else
   cat > conftest.$ac_ext <<EOF
-#line 5869 "configure"
+#line 5871 "configure"
 #include "confdefs.h"
 #include <ctype.h>
 #define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
@@ -5876,7 +5878,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2);
 exit (0); }
 
 EOF
-if { (eval echo configure:5880: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:5882: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   :
 else
@@ -5903,17 +5905,17 @@ for ac_hdr in limits.h malloc.h string.h unistd.h values.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:5907: checking for $ac_hdr" >&5
+echo "configure:5909: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5912 "configure"
+#line 5914 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:5917: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:5919: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -5940,13 +5942,13 @@ fi
 done
 
 echo $ac_n "checking for stdbool.h""... $ac_c" 1>&6
-echo "configure:5944: checking for stdbool.h" >&5
+echo "configure:5946: checking for stdbool.h" >&5
 if eval "test \"`echo '$''{'gt_cv_header_stdbool_h'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
   cat > conftest.$ac_ext <<EOF
-#line 5950 "configure"
+#line 5952 "configure"
 #include "confdefs.h"
 #include <stdbool.h>
 #if false
@@ -5963,7 +5965,7 @@ int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:5967: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5969: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   gt_cv_header_stdbool_h=yes
 else
@@ -5989,12 +5991,12 @@ fi
 
 
 echo $ac_n "checking for working const""... $ac_c" 1>&6
-echo "configure:5993: checking for working const" >&5
+echo "configure:5995: checking for working const" >&5
 if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5998 "configure"
+#line 6000 "configure"
 #include "confdefs.h"
 
 int main() {
@@ -6043,7 +6045,7 @@ ccp = (char const *const *) p;
 
 ; return 0; }
 EOF
-if { (eval echo configure:6047: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6049: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_c_const=yes
 else
@@ -6064,21 +6066,21 @@ EOF
 fi
 
 echo $ac_n "checking for inline""... $ac_c" 1>&6
-echo "configure:6068: checking for inline" >&5
+echo "configure:6070: checking for inline" >&5
 if eval "test \"`echo '$''{'ac_cv_c_inline'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   ac_cv_c_inline=no
 for ac_kw in inline __inline__ __inline; do
   cat > conftest.$ac_ext <<EOF
-#line 6075 "configure"
+#line 6077 "configure"
 #include "confdefs.h"
 
 int main() {
 } $ac_kw foo() {
 ; return 0; }
 EOF
-if { (eval echo configure:6082: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6084: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_c_inline=$ac_kw; break
 else
@@ -6105,19 +6107,19 @@ esac
 
 
   echo $ac_n "checking for signed""... $ac_c" 1>&6
-echo "configure:6109: checking for signed" >&5
+echo "configure:6111: checking for signed" >&5
 if eval "test \"`echo '$''{'bh_cv_c_signed'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6114 "configure"
+#line 6116 "configure"
 #include "confdefs.h"
 
 int main() {
 signed char x;
 ; return 0; }
 EOF
-if { (eval echo configure:6121: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6123: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   bh_cv_c_signed=yes
 else
@@ -6139,12 +6141,12 @@ EOF
 
 
   echo $ac_n "checking whether backslash-a works in strings""... $ac_c" 1>&6
-echo "configure:6143: checking whether backslash-a works in strings" >&5
+echo "configure:6145: checking whether backslash-a works in strings" >&5
 if eval "test \"`echo '$''{'ac_cv_c_backslash_a'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6148 "configure"
+#line 6150 "configure"
 #include "confdefs.h"
 
 int main() {
@@ -6158,7 +6160,7 @@ int main() {
      
 ; return 0; }
 EOF
-if { (eval echo configure:6162: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6164: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_c_backslash_a=yes
 else
@@ -6180,12 +6182,12 @@ EOF
 
 
   echo $ac_n "checking for unsigned long long""... $ac_c" 1>&6
-echo "configure:6184: checking for unsigned long long" >&5
+echo "configure:6186: checking for unsigned long long" >&5
 if eval "test \"`echo '$''{'ac_cv_type_unsigned_long_long'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6189 "configure"
+#line 6191 "configure"
 #include "confdefs.h"
 unsigned long long ull = 1; int i = 63;
 int main() {
@@ -6193,7 +6195,7 @@ unsigned long long ullmax = (unsigned long long) -1;
      return ull << i | ull >> i | ullmax / ull | ullmax % ull;
 ; return 0; }
 EOF
-if { (eval echo configure:6197: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6199: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   ac_cv_type_unsigned_long_long=yes
 else
@@ -6214,12 +6216,12 @@ EOF
   fi
 
 echo $ac_n "checking for off_t""... $ac_c" 1>&6
-echo "configure:6218: checking for off_t" >&5
+echo "configure:6220: checking for off_t" >&5
 if eval "test \"`echo '$''{'ac_cv_type_off_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6223 "configure"
+#line 6225 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #if STDC_HEADERS
@@ -6247,12 +6249,12 @@ EOF
 fi
 
 echo $ac_n "checking for size_t""... $ac_c" 1>&6
-echo "configure:6251: checking for size_t" >&5
+echo "configure:6253: checking for size_t" >&5
 if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6256 "configure"
+#line 6258 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #if STDC_HEADERS
@@ -6280,19 +6282,19 @@ EOF
 fi
 
 echo $ac_n "checking for ptrdiff_t""... $ac_c" 1>&6
-echo "configure:6284: checking for ptrdiff_t" >&5
+echo "configure:6286: checking for ptrdiff_t" >&5
 if eval "test \"`echo '$''{'am_cv_type_ptrdiff_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6289 "configure"
+#line 6291 "configure"
 #include "confdefs.h"
 #include <stddef.h>
 int main() {
 ptrdiff_t p
 ; return 0; }
 EOF
-if { (eval echo configure:6296: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6298: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   am_cv_type_ptrdiff_t=yes
 else
@@ -6314,12 +6316,12 @@ EOF
 
 
   echo $ac_n "checking for inttypes.h""... $ac_c" 1>&6
-echo "configure:6318: checking for inttypes.h" >&5
+echo "configure:6320: checking for inttypes.h" >&5
 if eval "test \"`echo '$''{'jm_ac_cv_header_inttypes_h'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6323 "configure"
+#line 6325 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <inttypes.h>
@@ -6327,7 +6329,7 @@ int main() {
 uintmax_t i = (uintmax_t) -1;
 ; return 0; }
 EOF
-if { (eval echo configure:6331: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6333: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   jm_ac_cv_header_inttypes_h=yes
 else
@@ -6348,8 +6350,44 @@ EOF
   fi
 
 
+  echo $ac_n "checking for stdint.h""... $ac_c" 1>&6
+echo "configure:6355: checking for stdint.h" >&5
+if eval "test \"`echo '$''{'jm_ac_cv_header_stdint_h'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftest.$ac_ext <<EOF
+#line 6360 "configure"
+#include "confdefs.h"
+#include <sys/types.h>
+#include <stdint.h>
+int main() {
+uintmax_t i = (uintmax_t) -1;
+; return 0; }
+EOF
+if { (eval echo configure:6368: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+  rm -rf conftest*
+  jm_ac_cv_header_stdint_h=yes
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  jm_ac_cv_header_stdint_h=no
+fi
+rm -f conftest*
+fi
+
+echo "$ac_t""$jm_ac_cv_header_stdint_h" 1>&6
+  if test $jm_ac_cv_header_stdint_h = yes; then
+    cat >> confdefs.h <<EOF
+#define HAVE_STDINT_H 1
+EOF
+
+  fi
+
+
+  
   
-  if test $jm_ac_cv_header_inttypes_h = no; then
+  if test $jm_ac_cv_header_inttypes_h = no && test $jm_ac_cv_header_stdint_h = no; then
     
     test $ac_cv_type_unsigned_long_long = yes \
       && ac_type='unsigned long long' \
@@ -6362,12 +6400,12 @@ EOF
 
 
   echo $ac_n "checking for ssize_t""... $ac_c" 1>&6
-echo "configure:6366: checking for ssize_t" >&5
+echo "configure:6404: checking for ssize_t" >&5
 if eval "test \"`echo '$''{'gt_cv_ssize_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6371 "configure"
+#line 6409 "configure"
 #include "confdefs.h"
 
 #include <sys/types.h>
@@ -6378,7 +6416,7 @@ int main() {
 int x = sizeof (ssize_t *) + sizeof (ssize_t);
 ; return 0; }
 EOF
-if { (eval echo configure:6382: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6420: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   gt_cv_ssize_t=yes
 else
@@ -6399,12 +6437,12 @@ EOF
   fi
 
 echo $ac_n "checking for pid_t""... $ac_c" 1>&6
-echo "configure:6403: checking for pid_t" >&5
+echo "configure:6441: checking for pid_t" >&5
 if eval "test \"`echo '$''{'ac_cv_type_pid_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6408 "configure"
+#line 6446 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #if STDC_HEADERS
@@ -6435,19 +6473,19 @@ fi
 # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
 # for constant arguments.  Useless!
 echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6
-echo "configure:6439: checking for working alloca.h" >&5
+echo "configure:6477: checking for working alloca.h" >&5
 if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6444 "configure"
+#line 6482 "configure"
 #include "confdefs.h"
 #include <alloca.h>
 int main() {
 char *p = alloca(2 * sizeof(int));
 ; return 0; }
 EOF
-if { (eval echo configure:6451: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6489: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   ac_cv_header_alloca_h=yes
 else
@@ -6468,12 +6506,12 @@ EOF
 fi
 
 echo $ac_n "checking for alloca""... $ac_c" 1>&6
-echo "configure:6472: checking for alloca" >&5
+echo "configure:6510: checking for alloca" >&5
 if eval "test \"`echo '$''{'ac_cv_func_alloca_works'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6477 "configure"
+#line 6515 "configure"
 #include "confdefs.h"
 
 #ifdef __GNUC__
@@ -6501,7 +6539,7 @@ int main() {
 char *p = (char *) alloca(1);
 ; return 0; }
 EOF
-if { (eval echo configure:6505: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6543: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   ac_cv_func_alloca_works=yes
 else
@@ -6533,12 +6571,12 @@ EOF
 
 
 echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6
-echo "configure:6537: checking whether alloca needs Cray hooks" >&5
+echo "configure:6575: checking whether alloca needs Cray hooks" >&5
 if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6542 "configure"
+#line 6580 "configure"
 #include "confdefs.h"
 #if defined(CRAY) && ! defined(CRAY2)
 webecray
@@ -6563,12 +6601,12 @@ echo "$ac_t""$ac_cv_os_cray" 1>&6
 if test $ac_cv_os_cray = yes; then
 for ac_func in _getb67 GETB67 getb67; do
   echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:6567: checking for $ac_func" >&5
+echo "configure:6605: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6572 "configure"
+#line 6610 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -6591,7 +6629,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:6595: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6633: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -6618,7 +6656,7 @@ done
 fi
 
 echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6
-echo "configure:6622: checking stack direction for C alloca" >&5
+echo "configure:6660: checking stack direction for C alloca" >&5
 if eval "test \"`echo '$''{'ac_cv_c_stack_direction'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -6626,7 +6664,7 @@ else
   ac_cv_c_stack_direction=0
 else
   cat > conftest.$ac_ext <<EOF
-#line 6630 "configure"
+#line 6668 "configure"
 #include "confdefs.h"
 find_stack_direction ()
 {
@@ -6645,7 +6683,7 @@ main ()
   exit (find_stack_direction() < 0);
 }
 EOF
-if { (eval echo configure:6649: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:6687: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   ac_cv_c_stack_direction=1
 else
@@ -6667,12 +6705,12 @@ EOF
 fi
 
 echo $ac_n "checking for vprintf""... $ac_c" 1>&6
-echo "configure:6671: checking for vprintf" >&5
+echo "configure:6709: checking for vprintf" >&5
 if eval "test \"`echo '$''{'ac_cv_func_vprintf'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6676 "configure"
+#line 6714 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char vprintf(); below.  */
@@ -6695,7 +6733,7 @@ vprintf();
 
 ; return 0; }
 EOF
-if { (eval echo configure:6699: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6737: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_vprintf=yes"
 else
@@ -6719,12 +6757,12 @@ fi
 
 if test "$ac_cv_func_vprintf" != yes; then
 echo $ac_n "checking for _doprnt""... $ac_c" 1>&6
-echo "configure:6723: checking for _doprnt" >&5
+echo "configure:6761: checking for _doprnt" >&5
 if eval "test \"`echo '$''{'ac_cv_func__doprnt'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6728 "configure"
+#line 6766 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char _doprnt(); below.  */
@@ -6747,7 +6785,7 @@ _doprnt();
 
 ; return 0; }
 EOF
-if { (eval echo configure:6751: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6789: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func__doprnt=yes"
 else
@@ -6775,12 +6813,12 @@ for ac_func in getcwd mblen memcpy posix_spawn putc_unlocked raise select \
 strerror uname utime utimes
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:6779: checking for $ac_func" >&5
+echo "configure:6817: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6784 "configure"
+#line 6822 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -6803,7 +6841,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:6807: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6845: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -6831,12 +6869,12 @@ for ac_func in memset stpcpy stpncpy strcspn \
 strcasecmp strncasecmp strpbrk strstr strtoul vasprintf
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:6835: checking for $ac_func" >&5
+echo "configure:6873: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6840 "configure"
+#line 6878 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -6859,7 +6897,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:6863: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6901: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -6887,12 +6925,12 @@ done
 
   am_getline_needs_run_time_check=no
   echo $ac_n "checking for getline""... $ac_c" 1>&6
-echo "configure:6891: checking for getline" >&5
+echo "configure:6929: checking for getline" >&5
 if eval "test \"`echo '$''{'ac_cv_func_getline'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6896 "configure"
+#line 6934 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char getline(); below.  */
@@ -6915,7 +6953,7 @@ getline();
 
 ; return 0; }
 EOF
-if { (eval echo configure:6919: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6957: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_getline=yes"
 else
@@ -6937,7 +6975,7 @@ fi
 
   if test $am_getline_needs_run_time_check = yes; then
     echo $ac_n "checking for working getline function""... $ac_c" 1>&6
-echo "configure:6941: checking for working getline function" >&5
+echo "configure:6979: checking for working getline function" >&5
 if eval "test \"`echo '$''{'am_cv_func_working_getline'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -6946,7 +6984,7 @@ else
   am_cv_func_working_getline=no     
 else
   cat > conftest.$ac_ext <<EOF
-#line 6950 "configure"
+#line 6988 "configure"
 #include "confdefs.h"
 
 #    include <stdio.h>
@@ -6965,7 +7003,7 @@ else
     }
     
 EOF
-if { (eval echo configure:6969: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:7007: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   am_cv_func_working_getline=yes     
 else
@@ -6991,12 +7029,12 @@ if test $am_cv_func_working_getline != yes; then
   for ac_func in getdelim
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:6995: checking for $ac_func" >&5
+echo "configure:7033: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 7000 "configure"
+#line 7038 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -7019,7 +7057,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:7023: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7061: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -7050,17 +7088,17 @@ fi
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:7054: checking for $ac_hdr" >&5
+echo "configure:7092: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 7059 "configure"
+#line 7097 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:7064: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:7102: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -7089,12 +7127,12 @@ done
   for ac_func in isascii iswcntrl iswprint mbsinit wcwidth
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:7093: checking for $ac_func" >&5
+echo "configure:7131: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 7098 "configure"
+#line 7136 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -7117,7 +7155,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:7121: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7159: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -7143,19 +7181,19 @@ done
 
   
   echo $ac_n "checking whether mbrtowc and mbstate_t are properly declared""... $ac_c" 1>&6
-echo "configure:7147: checking whether mbrtowc and mbstate_t are properly declared" >&5
+echo "configure:7185: checking whether mbrtowc and mbstate_t are properly declared" >&5
 if eval "test \"`echo '$''{'jm_cv_func_mbrtowc'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 7152 "configure"
+#line 7190 "configure"
 #include "confdefs.h"
 #include <wchar.h>
 int main() {
 mbstate_t state; return ! (sizeof state && mbrtowc);
 ; return 0; }
 EOF
-if { (eval echo configure:7159: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7197: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   jm_cv_func_mbrtowc=yes
 else
@@ -7177,12 +7215,12 @@ EOF
 
 
   echo $ac_n "checking whether wcwidth is declared""... $ac_c" 1>&6
-echo "configure:7181: checking whether wcwidth is declared" >&5
+echo "configure:7219: checking whether wcwidth is declared" >&5
 if eval "test \"`echo '$''{'ac_cv_have_decl_wcwidth'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 7186 "configure"
+#line 7224 "configure"
 #include "confdefs.h"
 
 /* AIX 3.2.5 declares wcwidth in <string.h>. */
@@ -7201,7 +7239,7 @@ int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:7205: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:7243: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_have_decl_wcwidth=yes
 else
@@ -7229,17 +7267,17 @@ EOF
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:7233: checking for $ac_hdr" >&5
+echo "configure:7271: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 7238 "configure"
+#line 7276 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:7243: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:7281: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -7267,12 +7305,12 @@ done
 
 
    echo $ac_n "checking for mbstate_t""... $ac_c" 1>&6
-echo "configure:7271: checking for mbstate_t" >&5
+echo "configure:7309: checking for mbstate_t" >&5
 if eval "test \"`echo '$''{'ac_cv_type_mbstate_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 7276 "configure"
+#line 7314 "configure"
 #include "confdefs.h"
 
 #if HAVE_STDLIB_H
@@ -7283,7 +7321,7 @@ int main() {
 mbstate_t x; return sizeof x;
 ; return 0; }
 EOF
-if { (eval echo configure:7287: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:7325: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_type_mbstate_t=yes
 else
@@ -7308,12 +7346,12 @@ for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr that defines DIR""... $ac_c" 1>&6
-echo "configure:7312: checking for $ac_hdr that defines DIR" >&5
+echo "configure:7350: checking for $ac_hdr that defines DIR" >&5
 if eval "test \"`echo '$''{'ac_cv_header_dirent_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 7317 "configure"
+#line 7355 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <$ac_hdr>
@@ -7321,7 +7359,7 @@ int main() {
 DIR *dirp = 0;
 ; return 0; }
 EOF
-if { (eval echo configure:7325: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:7363: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   eval "ac_cv_header_dirent_$ac_safe=yes"
 else
@@ -7346,7 +7384,7 @@ done
 # Two versions of opendir et al. are in -ldir and -lx on SCO Xenix.
 if test $ac_header_dirent = dirent.h; then
 echo $ac_n "checking for opendir in -ldir""... $ac_c" 1>&6
-echo "configure:7350: checking for opendir in -ldir" >&5
+echo "configure:7388: checking for opendir in -ldir" >&5
 ac_lib_var=`echo dir'_'opendir | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -7354,7 +7392,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-ldir  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 7358 "configure"
+#line 7396 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -7365,7 +7403,7 @@ int main() {
 opendir()
 ; return 0; }
 EOF
-if { (eval echo configure:7369: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7407: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -7387,7 +7425,7 @@ fi
 
 else
 echo $ac_n "checking for opendir in -lx""... $ac_c" 1>&6
-echo "configure:7391: checking for opendir in -lx" >&5
+echo "configure:7429: checking for opendir in -lx" >&5
 ac_lib_var=`echo x'_'opendir | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -7395,7 +7433,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lx  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 7399 "configure"
+#line 7437 "configure"
 #include "confdefs.h"
 /* Override any gcc2 internal prototype to avoid an error.  */
 /* We use char because int might match the return type of a gcc2
@@ -7406,7 +7444,7 @@ int main() {
 opendir()
 ; return 0; }
 EOF
-if { (eval echo configure:7410: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7448: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_lib_$ac_lib_var=yes"
 else
@@ -7431,7 +7469,7 @@ fi
 
     
   echo $ac_n "checking whether closedir returns void""... $ac_c" 1>&6
-echo "configure:7435: checking whether closedir returns void" >&5
+echo "configure:7473: checking whether closedir returns void" >&5
 if eval "test \"`echo '$''{'ac_cv_func_closedir_void'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -7439,13 +7477,13 @@ else
   ac_cv_func_closedir_void=yes
 else
   cat > conftest.$ac_ext <<EOF
-#line 7443 "configure"
+#line 7481 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <$ac_header_dirent>
 int closedir(); main() { exit(closedir(opendir(".")) != 0); }
 EOF
-if { (eval echo configure:7449: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:7487: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   ac_cv_func_closedir_void=no
 else
@@ -7471,17 +7509,17 @@ fi
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:7475: checking for $ac_hdr" >&5
+echo "configure:7513: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 7480 "configure"
+#line 7518 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:7485: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:7523: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -7508,7 +7546,7 @@ fi
 done
 
     echo $ac_n "checking for long file names""... $ac_c" 1>&6
-echo "configure:7512: checking for long file names" >&5
+echo "configure:7550: checking for long file names" >&5
 if eval "test \"`echo '$''{'ac_cv_sys_long_file_names'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -7554,12 +7592,12 @@ fi
   for ac_func in pathconf
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:7558: checking for $ac_func" >&5
+echo "configure:7596: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 7563 "configure"
+#line 7601 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -7582,7 +7620,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:7586: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7624: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -7610,17 +7648,17 @@ done
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:7614: checking for $ac_hdr" >&5
+echo "configure:7652: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 7619 "configure"
+#line 7657 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:7624: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:7662: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -7649,17 +7687,17 @@ done
 
 ac_safe=`echo "vfork.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for vfork.h""... $ac_c" 1>&6
-echo "configure:7653: checking for vfork.h" >&5
+echo "configure:7691: checking for vfork.h" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 7658 "configure"
+#line 7696 "configure"
 #include "confdefs.h"
 #include <vfork.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:7663: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:7701: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -7684,18 +7722,18 @@ else
 fi
 
 echo $ac_n "checking for working vfork""... $ac_c" 1>&6
-echo "configure:7688: checking for working vfork" >&5
+echo "configure:7726: checking for working vfork" >&5
 if eval "test \"`echo '$''{'ac_cv_func_vfork_works'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   if test "$cross_compiling" = yes; then
   echo $ac_n "checking for vfork""... $ac_c" 1>&6
-echo "configure:7694: checking for vfork" >&5
+echo "configure:7732: checking for vfork" >&5
 if eval "test \"`echo '$''{'ac_cv_func_vfork'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 7699 "configure"
+#line 7737 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char vfork(); below.  */
@@ -7718,7 +7756,7 @@ vfork();
 
 ; return 0; }
 EOF
-if { (eval echo configure:7722: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7760: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_vfork=yes"
 else
@@ -7740,7 +7778,7 @@ fi
 ac_cv_func_vfork_works=$ac_cv_func_vfork
 else
   cat > conftest.$ac_ext <<EOF
-#line 7744 "configure"
+#line 7782 "configure"
 #include "confdefs.h"
 /* Thanks to Paul Eggert for this test.  */
 #include <stdio.h>
@@ -7835,7 +7873,7 @@ main() {
   }
 }
 EOF
-if { (eval echo configure:7839: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:7877: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   ac_cv_func_vfork_works=yes
 else
@@ -7861,12 +7899,12 @@ fi
 for ac_func in waitpid
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:7865: checking for $ac_func" >&5
+echo "configure:7903: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 7870 "configure"
+#line 7908 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -7889,7 +7927,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:7893: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7931: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -7914,12 +7952,12 @@ fi
 done
 
 echo $ac_n "checking for union wait""... $ac_c" 1>&6
-echo "configure:7918: checking for union wait" >&5
+echo "configure:7956: checking for union wait" >&5
 if eval "test \"`echo '$''{'gt_cv_union_wait'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 7923 "configure"
+#line 7961 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <sys/wait.h>
@@ -7942,7 +7980,7 @@ pid = waitpid (-1, &status, 0);
 
 ; return 0; }
 EOF
-if { (eval echo configure:7946: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7984: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   gt_cv_union_wait=yes
 else
@@ -7964,12 +8002,12 @@ echo "$ac_t""$gt_cv_union_wait" 1>&6
 
 
   echo $ac_n "checking whether stat file-mode macros are broken""... $ac_c" 1>&6
-echo "configure:7968: checking whether stat file-mode macros are broken" >&5
+echo "configure:8006: checking whether stat file-mode macros are broken" >&5
 if eval "test \"`echo '$''{'ac_cv_header_stat_broken'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 7973 "configure"
+#line 8011 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <sys/stat.h>
@@ -8022,12 +8060,12 @@ fi
   for ac_func in __secure_getenv
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:8026: checking for $ac_func" >&5
+echo "configure:8064: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 8031 "configure"
+#line 8069 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -8050,7 +8088,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:8054: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8092: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -8079,12 +8117,12 @@ done
   for ac_func in mkdtemp
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:8083: checking for $ac_func" >&5
+echo "configure:8121: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 8088 "configure"
+#line 8126 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -8107,7 +8145,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:8111: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8149: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -8134,12 +8172,12 @@ done
 
 
   echo $ac_n "checking whether stat file-mode macros are broken""... $ac_c" 1>&6
-echo "configure:8138: checking whether stat file-mode macros are broken" >&5
+echo "configure:8176: checking whether stat file-mode macros are broken" >&5
 if eval "test \"`echo '$''{'ac_cv_header_stat_broken'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 8143 "configure"
+#line 8181 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <sys/stat.h>
@@ -8189,21 +8227,91 @@ EOF
 
 fi
 
-  for ac_hdr in fcntl.h inttypes.h stdint.h sys/time.h time.h unistd.h
+  
+  echo $ac_n "checking for inttypes.h""... $ac_c" 1>&6
+echo "configure:8233: checking for inttypes.h" >&5
+if eval "test \"`echo '$''{'jm_ac_cv_header_inttypes_h'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftest.$ac_ext <<EOF
+#line 8238 "configure"
+#include "confdefs.h"
+#include <sys/types.h>
+#include <inttypes.h>
+int main() {
+uintmax_t i = (uintmax_t) -1;
+; return 0; }
+EOF
+if { (eval echo configure:8246: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+  rm -rf conftest*
+  jm_ac_cv_header_inttypes_h=yes
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  jm_ac_cv_header_inttypes_h=no
+fi
+rm -f conftest*
+fi
+
+echo "$ac_t""$jm_ac_cv_header_inttypes_h" 1>&6
+  if test $jm_ac_cv_header_inttypes_h = yes; then
+    cat >> confdefs.h <<EOF
+#define HAVE_INTTYPES_H 1
+EOF
+
+  fi
+
+  
+  echo $ac_n "checking for stdint.h""... $ac_c" 1>&6
+echo "configure:8268: checking for stdint.h" >&5
+if eval "test \"`echo '$''{'jm_ac_cv_header_stdint_h'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftest.$ac_ext <<EOF
+#line 8273 "configure"
+#include "confdefs.h"
+#include <sys/types.h>
+#include <stdint.h>
+int main() {
+uintmax_t i = (uintmax_t) -1;
+; return 0; }
+EOF
+if { (eval echo configure:8281: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+  rm -rf conftest*
+  jm_ac_cv_header_stdint_h=yes
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  jm_ac_cv_header_stdint_h=no
+fi
+rm -f conftest*
+fi
+
+echo "$ac_t""$jm_ac_cv_header_stdint_h" 1>&6
+  if test $jm_ac_cv_header_stdint_h = yes; then
+    cat >> confdefs.h <<EOF
+#define HAVE_STDINT_H 1
+EOF
+
+  fi
+
+  for ac_hdr in fcntl.h sys/time.h time.h unistd.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:8197: checking for $ac_hdr" >&5
+echo "configure:8305: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 8202 "configure"
+#line 8310 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8207: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8315: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -8232,12 +8340,12 @@ done
   for ac_func in gettimeofday
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:8236: checking for $ac_func" >&5
+echo "configure:8344: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 8241 "configure"
+#line 8349 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -8260,7 +8368,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:8264: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8372: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -8288,7 +8396,7 @@ done
 
   signals_not_posix=
   cat > conftest.$ac_ext <<EOF
-#line 8292 "configure"
+#line 8400 "configure"
 #include "confdefs.h"
 #include <signal.h>
 EOF
@@ -8303,12 +8411,12 @@ rm -f conftest*
 
   if test -z "$signals_not_posix"; then
     echo $ac_n "checking for sigprocmask""... $ac_c" 1>&6
-echo "configure:8307: checking for sigprocmask" >&5
+echo "configure:8415: checking for sigprocmask" >&5
 if eval "test \"`echo '$''{'ac_cv_func_sigprocmask'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 8312 "configure"
+#line 8420 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char sigprocmask(); below.  */
@@ -8331,7 +8439,7 @@ sigprocmask();
 
 ; return 0; }
 EOF
-if { (eval echo configure:8335: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8443: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_sigprocmask=yes"
 else
@@ -8357,12 +8465,12 @@ fi
 
 
   echo $ac_n "checking for signal handlers with siginfo_t""... $ac_c" 1>&6
-echo "configure:8361: checking for signal handlers with siginfo_t" >&5
+echo "configure:8469: checking for signal handlers with siginfo_t" >&5
 if eval "test \"`echo '$''{'gt_cv_siginfo_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 8366 "configure"
+#line 8474 "configure"
 #include "confdefs.h"
 
 #include <signal.h>
@@ -8375,7 +8483,7 @@ action.sa_sigaction = (void *) 0;
 
 ; return 0; }
 EOF
-if { (eval echo configure:8379: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8487: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   gt_cv_siginfo_t=yes
 else
@@ -8399,12 +8507,12 @@ EOF
   for ac_func in setenv
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:8403: checking for $ac_func" >&5
+echo "configure:8511: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 8408 "configure"
+#line 8516 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -8427,7 +8535,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:8431: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8539: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -8457,17 +8565,17 @@ done
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:8461: checking for $ac_hdr" >&5
+echo "configure:8569: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 8466 "configure"
+#line 8574 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8471: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8579: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -8496,12 +8604,12 @@ done
   for ac_func in tsearch
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:8500: checking for $ac_func" >&5
+echo "configure:8608: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 8505 "configure"
+#line 8613 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -8524,7 +8632,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:8528: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8636: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -8551,13 +8659,13 @@ done
   
   
   echo $ac_n "checking if errno is properly declared""... $ac_c" 1>&6
-echo "configure:8555: checking if errno is properly declared" >&5
+echo "configure:8663: checking if errno is properly declared" >&5
   if eval "test \"`echo '$''{'gt_cv_var_errno_declaration'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
     cat > conftest.$ac_ext <<EOF
-#line 8561 "configure"
+#line 8669 "configure"
 #include "confdefs.h"
 #include <errno.h>
       extern struct { int foo; } errno;
@@ -8565,7 +8673,7 @@ int main() {
 errno.foo = 1;
 ; return 0; }
 EOF
-if { (eval echo configure:8569: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8677: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   gt_cv_var_errno_declaration=no
 else
@@ -8588,13 +8696,13 @@ EOF
   
   
   echo $ac_n "checking if environ is properly declared""... $ac_c" 1>&6
-echo "configure:8592: checking if environ is properly declared" >&5
+echo "configure:8700: checking if environ is properly declared" >&5
   if eval "test \"`echo '$''{'gt_cv_var_environ_declaration'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
     cat > conftest.$ac_ext <<EOF
-#line 8598 "configure"
+#line 8706 "configure"
 #include "confdefs.h"
 #include <unistd.h>
       extern struct { int foo; } environ;
@@ -8602,7 +8710,7 @@ int main() {
 environ.foo = 1;
 ; return 0; }
 EOF
-if { (eval echo configure:8606: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8714: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   gt_cv_var_environ_declaration=no
 else
@@ -8625,19 +8733,19 @@ EOF
 
 
 echo $ac_n "checking for error_at_line""... $ac_c" 1>&6
-echo "configure:8629: checking for error_at_line" >&5
+echo "configure:8737: checking for error_at_line" >&5
 if eval "test \"`echo '$''{'am_cv_lib_error_at_line'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 8634 "configure"
+#line 8742 "configure"
 #include "confdefs.h"
 
 int main() {
 error_at_line(0, 0, "", 0, "");
 ; return 0; }
 EOF
-if { (eval echo configure:8641: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8749: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   am_cv_lib_error_at_line=yes
 else
@@ -8660,17 +8768,17 @@ for ac_hdr in locale.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:8664: checking for $ac_hdr" >&5
+echo "configure:8772: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 8669 "configure"
+#line 8777 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8674: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8782: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -8697,13 +8805,13 @@ fi
 done
 
 echo $ac_n "checking for setlocale declaration""... $ac_c" 1>&6
-echo "configure:8701: checking for setlocale declaration" >&5
+echo "configure:8809: checking for setlocale declaration" >&5
 if eval "test \"`echo '$''{'gt_cv_proto_setlocale'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 cat > conftest.$ac_ext <<EOF
-#line 8707 "configure"
+#line 8815 "configure"
 #include "confdefs.h"
 
 #include <stdlib.h>
@@ -8722,7 +8830,7 @@ int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:8726: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8834: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   gt_cv_proto_setlocale_arg1=""
 else
@@ -8749,17 +8857,17 @@ EOF
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:8753: checking for $ac_hdr" >&5
+echo "configure:8861: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 8758 "configure"
+#line 8866 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8763: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8871: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -8788,12 +8896,12 @@ done
   for ac_func in gethostname gethostbyname inet_ntop
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:8792: checking for $ac_func" >&5
+echo "configure:8900: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 8797 "configure"
+#line 8905 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -8816,7 +8924,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:8820: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8928: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -8842,13 +8950,13 @@ done
 
 
   echo $ac_n "checking for IPv6 sockets""... $ac_c" 1>&6
-echo "configure:8846: checking for IPv6 sockets" >&5
+echo "configure:8954: checking for IPv6 sockets" >&5
   if eval "test \"`echo '$''{'gt_cv_socket_ipv6'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
     cat > conftest.$ac_ext <<EOF
-#line 8852 "configure"
+#line 8960 "configure"
 #include "confdefs.h"
 
 #include <sys/types.h>
@@ -8858,7 +8966,7 @@ int main() {
 int x = AF_INET6; struct in6_addr y; struct sockaddr_in6 z;
 ; return 0; }
 EOF
-if { (eval echo configure:8862: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8970: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   gt_cv_socket_ipv6=yes
 else
@@ -8880,10 +8988,20 @@ EOF
   fi
 
 
+
+        MKINSTALLDIRS=
+  if test -n "$ac_aux_dir"; then
+    MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs"
+  fi
+  if test -z "$MKINSTALLDIRS"; then
+    MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
+  fi
+  
+
 # Extract the first word of "ranlib", so it can be a program name with args.
 set dummy ranlib; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:8887: checking for $ac_word" >&5
+echo "configure:9005: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -8914,17 +9032,17 @@ for ac_hdr in unistd.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:8918: checking for $ac_hdr" >&5
+echo "configure:9036: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 8923 "configure"
+#line 9041 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8928: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:9046: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -8953,12 +9071,12 @@ done
 for ac_func in getpagesize
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:8957: checking for $ac_func" >&5
+echo "configure:9075: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 8962 "configure"
+#line 9080 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -8981,7 +9099,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:8985: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9103: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -9006,7 +9124,7 @@ fi
 done
 
 echo $ac_n "checking for working mmap""... $ac_c" 1>&6
-echo "configure:9010: checking for working mmap" >&5
+echo "configure:9128: checking for working mmap" >&5
 if eval "test \"`echo '$''{'ac_cv_func_mmap_fixed_mapped'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -9014,7 +9132,7 @@ else
   ac_cv_func_mmap_fixed_mapped=no
 else
   cat > conftest.$ac_ext <<EOF
-#line 9018 "configure"
+#line 9136 "configure"
 #include "confdefs.h"
 
 /* Thanks to Mike Haertel and Jim Avera for this test.
@@ -9154,7 +9272,7 @@ main()
 }
 
 EOF
-if { (eval echo configure:9158: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:9276: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   ac_cv_func_mmap_fixed_mapped=yes
 else
@@ -9178,12 +9296,12 @@ fi
 
 
     echo $ac_n "checking whether we are using the GNU C Library 2.1 or newer""... $ac_c" 1>&6
-echo "configure:9182: checking whether we are using the GNU C Library 2.1 or newer" >&5
+echo "configure:9300: checking whether we are using the GNU C Library 2.1 or newer" >&5
 if eval "test \"`echo '$''{'ac_cv_gnu_library_2_1'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 9187 "configure"
+#line 9305 "configure"
 #include "confdefs.h"
 
 #include <features.h>
@@ -9213,23 +9331,201 @@ echo "$ac_t""$ac_cv_gnu_library_2_1" 1>&6
     GLIBC21="$ac_cv_gnu_library_2_1"
   
 
-                                    
-   for ac_hdr in argz.h limits.h locale.h nl_types.h malloc.h stddef.h \
+
+  # Check whether --with-libintl-prefix or --without-libintl-prefix was given.
+if test "${with_libintl_prefix+set}" = set; then
+  withval="$with_libintl_prefix"
+  
+    for dir in `echo "$withval" | tr : ' '`; do
+      if test -d $dir/include; then CPPFLAGS="$CPPFLAGS -I$dir/include"; fi
+      if test -d $dir/lib; then LDFLAGS="$LDFLAGS -L$dir/lib"; fi
+    done
+   
+fi
+
+
+
+      
+    
+    # Extract the first word of "msgfmt", so it can be a program name with args.
+set dummy msgfmt; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:9354: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  case "$MSGFMT" in
+  /*)
+  ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path.
+  ;;
+  *)
+  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+  for ac_dir in $PATH; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      if $ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1; then
+       ac_cv_path_MSGFMT="$ac_dir/$ac_word"
+       break
+      fi
+    fi
+  done
+  IFS="$ac_save_ifs"
+  test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT=":"
+  ;;
+esac
+fi
+MSGFMT="$ac_cv_path_MSGFMT"
+if test "$MSGFMT" != ":"; then
+  echo "$ac_t""$MSGFMT" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+  # Extract the first word of "gmsgfmt", so it can be a program name with args.
+set dummy gmsgfmt; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:9388: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  case "$GMSGFMT" in
+  /*)
+  ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path.
+  ;;
+  ?:/*)                         
+  ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a dos path.
+  ;;
+  *)
+  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS=":"
+  ac_dummy="$PATH"
+  for ac_dir in $ac_dummy; do 
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      ac_cv_path_GMSGFMT="$ac_dir/$ac_word"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+  test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT"
+  ;;
+esac
+fi
+GMSGFMT="$ac_cv_path_GMSGFMT"
+if test -n "$GMSGFMT"; then
+  echo "$ac_t""$GMSGFMT" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+
+    # Extract the first word of "xgettext", so it can be a program name with args.
+set dummy xgettext; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:9425: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  case "$XGETTEXT" in
+  /*)
+  ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path.
+  ;;
+  *)
+  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+  for ac_dir in $PATH; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      if $ac_dir/$ac_word --omit-header /dev/null >/dev/null 2>&1; then
+       ac_cv_path_XGETTEXT="$ac_dir/$ac_word"
+       break
+      fi
+    fi
+  done
+  IFS="$ac_save_ifs"
+  test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":"
+  ;;
+esac
+fi
+XGETTEXT="$ac_cv_path_XGETTEXT"
+if test "$XGETTEXT" != ":"; then
+  echo "$ac_t""$XGETTEXT" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+
+    # Extract the first word of "msgmerge", so it can be a program name with args.
+set dummy msgmerge; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:9460: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_path_MSGMERGE'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  case "$MSGMERGE" in
+  /*)
+  ac_cv_path_MSGMERGE="$MSGMERGE" # Let the user override the test with a path.
+  ;;
+  *)
+  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+  for ac_dir in $PATH; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      if $ac_dir/$ac_word --update -q /dev/null /dev/null >/dev/null 2>&1; then
+       ac_cv_path_MSGMERGE="$ac_dir/$ac_word"
+       break
+      fi
+    fi
+  done
+  IFS="$ac_save_ifs"
+  test -z "$ac_cv_path_MSGMERGE" && ac_cv_path_MSGMERGE=":"
+  ;;
+esac
+fi
+MSGMERGE="$ac_cv_path_MSGMERGE"
+if test "$MSGMERGE" != ":"; then
+  echo "$ac_t""$MSGMERGE" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+
+      if test "$GMSGFMT" != ":"; then
+            if $GMSGFMT --statistics /dev/null >/dev/null 2>&1; then
+      : ;
+    else
+      echo "$ac_t""found msgfmt program is not GNU msgfmt; ignore it" 1>&6
+      GMSGFMT=":"
+    fi
+  fi
+
+      if test "$XGETTEXT" != ":"; then
+            if $XGETTEXT --omit-header /dev/null >/dev/null 2>&1; then
+      : ;
+    else
+      echo "$ac_t""found xgettext program is not GNU xgettext; ignore it" 1>&6
+      XGETTEXT=":"
+    fi
+  fi
+
+  
+
+
+                            
+  for ac_hdr in argz.h limits.h locale.h nl_types.h malloc.h stddef.h \
 stdlib.h string.h unistd.h sys/param.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:9223: checking for $ac_hdr" >&5
+echo "configure:9519: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 9228 "configure"
+#line 9524 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:9233: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:9529: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -9255,17 +9551,17 @@ else
 fi
 done
 
-   for ac_func in feof_unlocked fgets_unlocked getc_unlocked getcwd getegid \
+  for ac_func in feof_unlocked fgets_unlocked getc_unlocked getcwd getegid \
 geteuid getgid getuid mempcpy munmap putenv setenv setlocale stpcpy \
 strcasecmp strdup strtoul tsearch __argz_count __argz_stringify __argz_next
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:9264: checking for $ac_func" >&5
+echo "configure:9560: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 9269 "configure"
+#line 9565 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -9288,7 +9584,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:9292: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9588: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -9313,7 +9609,7 @@ fi
 done
 
 
-   
+  
     
   # Check whether --with-libiconv-prefix or --without-libiconv-prefix was given.
 if test "${with_libiconv_prefix+set}" = set; then
@@ -9328,7 +9624,7 @@ fi
 
 
   echo $ac_n "checking for iconv""... $ac_c" 1>&6
-echo "configure:9332: checking for iconv" >&5
+echo "configure:9628: checking for iconv" >&5
 if eval "test \"`echo '$''{'am_cv_func_iconv'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -9336,7 +9632,7 @@ else
     am_cv_func_iconv="no, consider installing GNU libiconv"
     am_cv_lib_iconv=no
     cat > conftest.$ac_ext <<EOF
-#line 9340 "configure"
+#line 9636 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
 #include <iconv.h>
@@ -9346,7 +9642,7 @@ iconv_t cd = iconv_open("","");
        iconv_close(cd);
 ; return 0; }
 EOF
-if { (eval echo configure:9350: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9646: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   am_cv_func_iconv=yes
 else
@@ -9358,7 +9654,7 @@ rm -f conftest*
       am_save_LIBS="$LIBS"
       LIBS="$LIBS -liconv"
       cat > conftest.$ac_ext <<EOF
-#line 9362 "configure"
+#line 9658 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
 #include <iconv.h>
@@ -9368,7 +9664,7 @@ iconv_t cd = iconv_open("","");
          iconv_close(cd);
 ; return 0; }
 EOF
-if { (eval echo configure:9372: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9668: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   am_cv_lib_iconv=yes
         am_cv_func_iconv=yes
@@ -9389,13 +9685,13 @@ echo "$ac_t""$am_cv_func_iconv" 1>&6
 EOF
 
     echo $ac_n "checking for iconv declaration""... $ac_c" 1>&6
-echo "configure:9393: checking for iconv declaration" >&5
+echo "configure:9689: checking for iconv declaration" >&5
     if eval "test \"`echo '$''{'am_cv_proto_iconv'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
       cat > conftest.$ac_ext <<EOF
-#line 9399 "configure"
+#line 9695 "configure"
 #include "confdefs.h"
 
 #include <stdlib.h>
@@ -9414,7 +9710,7 @@ int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:9418: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:9714: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   am_cv_proto_iconv_arg1=""
 else
@@ -9441,21 +9737,21 @@ EOF
   fi
   
 
-   
+  
   echo $ac_n "checking for nl_langinfo and CODESET""... $ac_c" 1>&6
-echo "configure:9447: checking for nl_langinfo and CODESET" >&5
+echo "configure:9743: checking for nl_langinfo and CODESET" >&5
 if eval "test \"`echo '$''{'am_cv_langinfo_codeset'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 9452 "configure"
+#line 9748 "configure"
 #include "confdefs.h"
 #include <langinfo.h>
 int main() {
 char* cs = nl_langinfo(CODESET);
 ; return 0; }
 EOF
-if { (eval echo configure:9459: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9755: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   am_cv_langinfo_codeset=yes
 else
@@ -9476,21 +9772,21 @@ EOF
 
   fi
 
-   if test $ac_cv_header_locale_h = yes; then
+  if test $ac_cv_header_locale_h = yes; then
     echo $ac_n "checking for LC_MESSAGES""... $ac_c" 1>&6
-echo "configure:9482: checking for LC_MESSAGES" >&5
+echo "configure:9778: checking for LC_MESSAGES" >&5
 if eval "test \"`echo '$''{'am_cv_val_LC_MESSAGES'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 9487 "configure"
+#line 9783 "configure"
 #include "confdefs.h"
 #include <locale.h>
 int main() {
 return LC_MESSAGES
 ; return 0; }
 EOF
-if { (eval echo configure:9494: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9790: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   am_cv_val_LC_MESSAGES=yes
 else
@@ -9511,9 +9807,70 @@ EOF
     fi
   fi
 
-    echo $ac_n "checking whether NLS is requested""... $ac_c" 1>&6
-echo "configure:9516: checking whether NLS is requested" >&5
-        # Check whether --enable-nls or --disable-nls was given.
+                      for ac_prog in bison
+do
+# Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:9816: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_INTLBISON'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  if test -n "$INTLBISON"; then
+  ac_cv_prog_INTLBISON="$INTLBISON" # Let the user override the test.
+else
+  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS=":"
+  ac_dummy="$PATH"
+  for ac_dir in $ac_dummy; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      ac_cv_prog_INTLBISON="$ac_prog"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+fi
+fi
+INTLBISON="$ac_cv_prog_INTLBISON"
+if test -n "$INTLBISON"; then
+  echo "$ac_t""$INTLBISON" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+test -n "$INTLBISON" && break
+done
+
+  if test -z "$INTLBISON"; then
+    ac_verc_fail=yes
+  else
+        echo $ac_n "checking version of bison""... $ac_c" 1>&6
+echo "configure:9849: checking version of bison" >&5
+    ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
+    case $ac_prog_version in
+      '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
+      1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*)
+         ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
+      *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
+    esac
+    echo "$ac_t""$ac_prog_version" 1>&6
+  fi
+  if test $ac_verc_fail = yes; then
+    INTLBISON=:
+  fi
+
+
+    
+  
+  
+  
+
+      
+      
+
+  echo $ac_n "checking whether NLS is requested""... $ac_c" 1>&6
+echo "configure:9873: checking whether NLS is requested" >&5
+    # Check whether --enable-nls or --disable-nls was given.
 if test "${enable_nls+set}" = set; then
   enableval="$enable_nls"
   USE_NLS=$enableval
@@ -9521,20 +9878,25 @@ else
   USE_NLS=yes
 fi
 
-    echo "$ac_t""$USE_NLS" 1>&6
-    
+  echo "$ac_t""$USE_NLS" 1>&6
+  
 
+  
     BUILD_INCLUDED_LIBINTL=no
     USE_INCLUDED_LIBINTL=no
-    INTLLIBS=
+  
+  INTLLIBS=
+  POSUB=
 
-        if test "$USE_NLS" = "yes"; then
-      cat >> confdefs.h <<\EOF
+    if test "$USE_NLS" = "yes"; then
+    cat >> confdefs.h <<\EOF
 #define ENABLE_NLS 1
 EOF
 
+    gt_use_preinstalled_gnugettext=no
+    
       echo $ac_n "checking whether included gettext is requested""... $ac_c" 1>&6
-echo "configure:9538: checking whether included gettext is requested" >&5
+echo "configure:9900: checking whether included gettext is requested" >&5
       # Check whether --with-included-gettext or --without-included-gettext was given.
 if test "${with_included_gettext+set}" = set; then
   withval="$with_included_gettext"
@@ -9545,26 +9907,27 @@ fi
 
       echo "$ac_t""$nls_cv_force_use_gnu_gettext" 1>&6
 
-      gt_use_preinstalled_gnugettext=no
       nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
       if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
+    
                         
                 
         
+        
 
-       ac_safe=`echo "libintl.h" | sed 'y%./+-%__p_%'`
+        ac_safe=`echo "libintl.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for libintl.h""... $ac_c" 1>&6
-echo "configure:9558: checking for libintl.h" >&5
+echo "configure:9921: checking for libintl.h" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 9563 "configure"
+#line 9926 "configure"
 #include "confdefs.h"
 #include <libintl.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:9568: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:9931: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -9581,12 +9944,12 @@ fi
 if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
   echo "$ac_t""yes" 1>&6
   echo $ac_n "checking for GNU gettext in libc""... $ac_c" 1>&6
-echo "configure:9585: checking for GNU gettext in libc" >&5
+echo "configure:9948: checking for GNU gettext in libc" >&5
 if eval "test \"`echo '$''{'gt_cv_func_gnugettext2_libc'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 9590 "configure"
+#line 9953 "configure"
 #include "confdefs.h"
 #include <libintl.h>
 extern int _nl_msg_cat_cntr;
@@ -9595,7 +9958,7 @@ bindtextdomain ("", "");
 return (int) gettext ("") + (int) ngettext ("", "", 0) + _nl_msg_cat_cntr
 ; return 0; }
 EOF
-if { (eval echo configure:9599: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9962: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   gt_cv_func_gnugettext2_libc=yes
 else
@@ -9609,16 +9972,17 @@ fi
 
 echo "$ac_t""$gt_cv_func_gnugettext2_libc" 1>&6
 
-          if test "$gt_cv_func_gnugettext2_libc" != "yes"; then
-            echo $ac_n "checking for GNU gettext in libintl""... $ac_c" 1>&6
-echo "configure:9615: checking for GNU gettext in libintl" >&5
+          if test "$gt_cv_func_gnugettext2_libc" != "yes"; then
+            
+            echo $ac_n "checking for GNU gettext in libintl""... $ac_c" 1>&6
+echo "configure:9979: checking for GNU gettext in libintl" >&5
 if eval "test \"`echo '$''{'gt_cv_func_gnugettext2_libintl'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   gt_save_LIBS="$LIBS"
-               LIBS="$LIBS -lintl $LIBICONV"
-               cat > conftest.$ac_ext <<EOF
-#line 9622 "configure"
+              LIBS="$LIBS -lintl $LIBICONV"
+              cat > conftest.$ac_ext <<EOF
+#line 9986 "configure"
 #include "confdefs.h"
 #include <libintl.h>
 extern int _nl_msg_cat_cntr;
@@ -9627,7 +9991,7 @@ bindtextdomain ("", "");
 return (int) gettext ("") + (int) ngettext ("", "", 0) + _nl_msg_cat_cntr
 ; return 0; }
 EOF
-if { (eval echo configure:9631: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9995: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   gt_cv_func_gnugettext2_libintl=yes
 else
@@ -9637,340 +10001,70 @@ else
   gt_cv_func_gnugettext2_libintl=no
 fi
 rm -f conftest*
-               LIBS="$gt_save_LIBS"
+              LIBS="$gt_save_LIBS"
 fi
 
 echo "$ac_t""$gt_cv_func_gnugettext2_libintl" 1>&6
-          fi
+          fi
 
-                                          if test "$gt_cv_func_gnugettext2_libc" = "yes" \
-             || { test "$gt_cv_func_gnugettext2_libintl" = "yes" \
-                  && test "$PACKAGE" != gettext; }; then
-            gt_use_preinstalled_gnugettext=yes
-          fi
-       
+                                                  if test "$gt_cv_func_gnugettext2_libc" = "yes" \
+             || { test "$gt_cv_func_gnugettext2_libintl" = "yes" \
+                  && test "$PACKAGE" != gettext; }; then
+            gt_use_preinstalled_gnugettext=yes
+          fi
+         
 else
   echo "$ac_t""no" 1>&6
 fi
 
 
+    
         if test "$gt_use_preinstalled_gnugettext" != "yes"; then
-                         nls_cv_use_gnu_gettext=yes
+                              nls_cv_use_gnu_gettext=yes
         fi
       fi
 
-      if test "$gt_use_preinstalled_gnugettext" = "yes"; then
-       if test "$gt_cv_func_gnugettext2_libintl" = "yes"; then
-                         INTLLIBS="-lintl $LIBICONV"
-       fi
-
-               cat >> confdefs.h <<\EOF
-#define HAVE_GETTEXT 1
-EOF
-
-
-       gt_save_LIBS="$LIBS"
-       LIBS="$LIBS $INTLLIBS"
-       for ac_func in dcgettext
-do
-echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:9678: checking for $ac_func" >&5
-if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  cat > conftest.$ac_ext <<EOF
-#line 9683 "configure"
-#include "confdefs.h"
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char $ac_func(); below.  */
-#include <assert.h>
-/* Override any gcc2 internal prototype to avoid an error.  */
-/* We use char because int might match the return type of a gcc2
-    builtin and then its argument prototype would still apply.  */
-char $ac_func();
-
-int main() {
-
-/* The GNU C library defines this for functions which it implements
-    to always fail with ENOSYS.  Some functions are actually named
-    something starting with __ and the normal name is an alias.  */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-$ac_func();
-#endif
-
-; return 0; }
-EOF
-if { (eval echo configure:9706: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-  rm -rf conftest*
-  eval "ac_cv_func_$ac_func=yes"
-else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  eval "ac_cv_func_$ac_func=no"
-fi
-rm -f conftest*
-fi
-
-if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
-    ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
-  cat >> confdefs.h <<EOF
-#define $ac_tr_func 1
-EOF
-else
-  echo "$ac_t""no" 1>&6
-fi
-done
-
-       LIBS="$gt_save_LIBS"
-
-      fi
-
       if test "$nls_cv_use_gnu_gettext" = "yes"; then
                 INTLOBJS="\$(GETTOBJS)"
-       BUILD_INCLUDED_LIBINTL=yes
-       USE_INCLUDED_LIBINTL=yes
-       INTLLIBS="\${top_builddir}/intl/libintl.la $LIBICONV"
-       LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'`
+        BUILD_INCLUDED_LIBINTL=yes
+        USE_INCLUDED_LIBINTL=yes
+        INTLLIBS="\${top_builddir}/intl/libintl.la $LIBICONV"
+        LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'`
       fi
 
       if test "$gt_use_preinstalled_gnugettext" = "yes" \
-        || test "$nls_cv_use_gnu_gettext" = "yes"; then
-               CATOBJEXT=.gmo
-      fi
-
-            POSUB=po
-    fi
-
-        
-        # Extract the first word of "msgfmt", so it can be a program name with args.
-set dummy msgfmt; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:9754: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  case "$MSGFMT" in
-  /*)
-  ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path.
-  ;;
-  *)
-  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
-  for ac_dir in $PATH; do
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/$ac_word; then
-      if $ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1; then
-       ac_cv_path_MSGFMT="$ac_dir/$ac_word"
-       break
-      fi
-    fi
-  done
-  IFS="$ac_save_ifs"
-  test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT=":"
-  ;;
-esac
-fi
-MSGFMT="$ac_cv_path_MSGFMT"
-if test "$MSGFMT" != ":"; then
-  echo "$ac_t""$MSGFMT" 1>&6
-else
-  echo "$ac_t""no" 1>&6
-fi
-
-    # Extract the first word of "gmsgfmt", so it can be a program name with args.
-set dummy gmsgfmt; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:9788: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  case "$GMSGFMT" in
-  /*)
-  ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path.
-  ;;
-  ?:/*)                         
-  ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a dos path.
-  ;;
-  *)
-  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS=":"
-  ac_dummy="$PATH"
-  for ac_dir in $ac_dummy; do 
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/$ac_word; then
-      ac_cv_path_GMSGFMT="$ac_dir/$ac_word"
-      break
-    fi
-  done
-  IFS="$ac_save_ifs"
-  test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT"
-  ;;
-esac
-fi
-GMSGFMT="$ac_cv_path_GMSGFMT"
-if test -n "$GMSGFMT"; then
-  echo "$ac_t""$GMSGFMT" 1>&6
-else
-  echo "$ac_t""no" 1>&6
-fi
-
-
-        # Extract the first word of "xgettext", so it can be a program name with args.
-set dummy xgettext; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:9825: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  case "$XGETTEXT" in
-  /*)
-  ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path.
-  ;;
-  *)
-  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
-  for ac_dir in $PATH; do
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/$ac_word; then
-      if $ac_dir/$ac_word --omit-header /dev/null >/dev/null 2>&1; then
-       ac_cv_path_XGETTEXT="$ac_dir/$ac_word"
-       break
+         || test "$nls_cv_use_gnu_gettext" = "yes"; then
+                CATOBJEXT=.gmo
       fi
-    fi
-  done
-  IFS="$ac_save_ifs"
-  test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":"
-  ;;
-esac
-fi
-XGETTEXT="$ac_cv_path_XGETTEXT"
-if test "$XGETTEXT" != ":"; then
-  echo "$ac_t""$XGETTEXT" 1>&6
-else
-  echo "$ac_t""no" 1>&6
-fi
-
+    
 
-        # Extract the first word of "msgmerge", so it can be a program name with args.
-set dummy msgmerge; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:9860: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_path_MSGMERGE'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  case "$MSGMERGE" in
-  /*)
-  ac_cv_path_MSGMERGE="$MSGMERGE" # Let the user override the test with a path.
-  ;;
-  *)
-  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
-  for ac_dir in $PATH; do
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/$ac_word; then
-      if $ac_dir/$ac_word --update -q /dev/null /dev/null >/dev/null 2>&1; then
-       ac_cv_path_MSGMERGE="$ac_dir/$ac_word"
-       break
+    if test "$gt_use_preinstalled_gnugettext" = "yes"; then
+      if test "$gt_cv_func_gnugettext2_libintl" = "yes"; then
+                        INTLLIBS="-lintl $LIBICONV"
       fi
-    fi
-  done
-  IFS="$ac_save_ifs"
-  test -z "$ac_cv_path_MSGMERGE" && ac_cv_path_MSGMERGE=":"
-  ;;
-esac
-fi
-MSGMERGE="$ac_cv_path_MSGMERGE"
-if test "$MSGMERGE" != ":"; then
-  echo "$ac_t""$MSGMERGE" 1>&6
-else
-  echo "$ac_t""no" 1>&6
-fi
 
+            cat >> confdefs.h <<\EOF
+#define HAVE_GETTEXT 1
+EOF
 
-            if test "$GMSGFMT" != ":"; then
-                  if $GMSGFMT --statistics /dev/null >/dev/null 2>&1; then
-       : ;
-      else
-       echo "$ac_t""found msgfmt program is not GNU msgfmt; ignore it" 1>&6
-       GMSGFMT=":"
-      fi
-    fi
+      cat >> confdefs.h <<\EOF
+#define HAVE_DCGETTEXT 1
+EOF
 
-            if test "$XGETTEXT" != ":"; then
-                  if $XGETTEXT --omit-header /dev/null >/dev/null 2>&1; then
-       : ;
-      else
-       echo "$ac_t""found xgettext program is not GNU xgettext; ignore it" 1>&6
-       XGETTEXT=":"
-      fi
     fi
 
-    
-
+        POSUB=po
+  fi
 
+  
             if test "$PACKAGE" = gettext; then
       BUILD_INCLUDED_LIBINTL=yes
     fi
 
-                                            for ac_prog in bison
-do
-# Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:9922: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_INTLBISON'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  if test -n "$INTLBISON"; then
-  ac_cv_prog_INTLBISON="$INTLBISON" # Let the user override the test.
-else
-  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS=":"
-  ac_dummy="$PATH"
-  for ac_dir in $ac_dummy; do
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/$ac_word; then
-      ac_cv_prog_INTLBISON="$ac_prog"
-      break
-    fi
-  done
-  IFS="$ac_save_ifs"
-fi
-fi
-INTLBISON="$ac_cv_prog_INTLBISON"
-if test -n "$INTLBISON"; then
-  echo "$ac_t""$INTLBISON" 1>&6
-else
-  echo "$ac_t""no" 1>&6
-fi
-
-test -n "$INTLBISON" && break
-done
-
-    if test -z "$INTLBISON"; then
-      ac_verc_fail=yes
-    else
-            echo $ac_n "checking version of bison""... $ac_c" 1>&6
-echo "configure:9955: checking version of bison" >&5
-      ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
-      case $ac_prog_version in
-        '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
-        1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*)
-           ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
-        *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
-      esac
-      echo "$ac_t""$ac_prog_version" 1>&6
-    fi
-    if test $ac_verc_fail = yes; then
-      INTLBISON=:
-    fi
-
         
     
     
     
-    
-    
 
         nls_cv_header_intl=
     nls_cv_header_libgt=
@@ -9984,25 +10078,20 @@ echo "configure:9955: checking version of bison" >&5
         GENCAT=gencat
     
 
-                MKINSTALLDIRS=
-    if test -n "$ac_aux_dir"; then
-      MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs"
-    fi
-    if test -z "$MKINSTALLDIRS"; then
-      MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
-    fi
+        INTL_LIBTOOL_SUFFIX_PREFIX=l
     
+  
 
-        INTL_LIBTOOL_SUFFIX_PREFIX=l
     
   
 
+
 # Check whether --with-lispdir or --without-lispdir was given.
 if test "${with_lispdir+set}" = set; then
   withval="$with_lispdir"
    lispdir="$withval" 
     echo $ac_n "checking where .elc files should go""... $ac_c" 1>&6
-echo "configure:10006: checking where .elc files should go" >&5
+echo "configure:10095: checking where .elc files should go" >&5
     echo "$ac_t""$lispdir" 1>&6
 else
   
@@ -10014,7 +10103,7 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:10018: checking for $ac_word" >&5
+echo "configure:10107: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_EMACS'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -10047,7 +10136,7 @@ test -n "$EMACS" || EMACS="no"
   if test $EMACS != "no"; then
     if test x${lispdir+set} != xset; then
       echo $ac_n "checking where .elc files should go""... $ac_c" 1>&6
-echo "configure:10051: checking where .elc files should go" >&5
+echo "configure:10140: checking where .elc files should go" >&5
 if eval "test \"`echo '$''{'am_cv_lispdir'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -10074,7 +10163,7 @@ ac_aux_dir_abs=`cd $ac_aux_dir && pwd`
 # Extract the first word of "dvips", so it can be a program name with args.
 set dummy dvips; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:10078: checking for $ac_word" >&5
+echo "configure:10167: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_DVIPS'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -10110,7 +10199,7 @@ fi
 # Extract the first word of "texi2pdf", so it can be a program name with args.
 set dummy texi2pdf; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:10114: checking for $ac_word" >&5
+echo "configure:10203: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_TEXI2PDF'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -10146,7 +10235,7 @@ fi
 # Extract the first word of "perl", so it can be a program name with args.
 set dummy perl; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:10150: checking for $ac_word" >&5
+echo "configure:10239: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_PERL'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
 CROSS_COMPILING=$cross_compiling
 
 
+for ac_prog in $CCC c++ g++ gcc CC cxx cc++ cl
+do
+# Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:10281: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CXX'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  if test -n "$CXX"; then
+  ac_cv_prog_CXX="$CXX" # Let the user override the test.
+else
+  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS=":"
+  ac_dummy="$PATH"
+  for ac_dir in $ac_dummy; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      ac_cv_prog_CXX="$ac_prog"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+fi
+fi
+CXX="$ac_cv_prog_CXX"
+if test -n "$CXX"; then
+  echo "$ac_t""$CXX" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+test -n "$CXX" && break
+done
+test -n "$CXX" || CXX=":"
+
+if test "$CXX" != ":"; then
+  echo $ac_n "checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works""... $ac_c" 1>&6
+echo "configure:10313: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works" >&5
+
+ac_ext=C
+# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='${CXX-g++} -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cxx_cross
+
+cat > conftest.$ac_ext << EOF
+
+#line 10324 "configure"
+#include "confdefs.h"
+
+int main(){return(0);}
+EOF
+if { (eval echo configure:10329: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  ac_cv_prog_cxx_works=yes
+  # If we can't run a trivial program, we are probably using a cross compiler.
+  if (./conftest; exit) 2>/dev/null; then
+    ac_cv_prog_cxx_cross=no
+  else
+    ac_cv_prog_cxx_cross=yes
+  fi
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  ac_cv_prog_cxx_works=no
+fi
+rm -fr conftest*
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+echo "$ac_t""$ac_cv_prog_cxx_works" 1>&6
+if test $ac_cv_prog_cxx_works = no; then
+  { echo "configure: error: installation or configuration problem: C++ compiler cannot create executables." 1>&2; exit 1; }
+fi
+echo $ac_n "checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
+echo "configure:10355: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "$ac_t""$ac_cv_prog_cxx_cross" 1>&6
+cross_compiling=$ac_cv_prog_cxx_cross
+
+fi
+
 test -d intl || mkdir intl
 echo "GNU gettext library from $PACKAGE-$VERSION" > intl/VERSION
 cat > intl/ChangeLog.inst <<EOF
@@ -10385,7 +10559,7 @@ s%@HAVE_JRE_IN_PATH@%$HAVE_JRE_IN_PATH%g
 s%@HAVE_JVIEW_IN_PATH@%$HAVE_JVIEW_IN_PATH%g
 s%@JAVA@%$JAVA%g
 s%@HAVE_GIJ@%$HAVE_GIJ%g
-s%@HAVE_JAVA_JVM@%$HAVE_JAVA_JVM%g
+s%@HAVE_JAVA@%$HAVE_JAVA%g
 s%@HAVE_JRE@%$HAVE_JRE%g
 s%@HAVE_JVIEW@%$HAVE_JVIEW%g
 s%@TESTJAVA@%$TESTJAVA%g
@@ -10407,25 +10581,25 @@ s%@LIBTOOL@%$LIBTOOL%g
 s%@STDBOOL_H@%$STDBOOL_H%g
 s%@ALLOCA@%$ALLOCA%g
 s%@LIBOBJS@%$LIBOBJS%g
-s%@GLIBC21@%$GLIBC21%g
-s%@LIBICONV@%$LIBICONV%g
-s%@USE_NLS@%$USE_NLS%g
+s%@MKINSTALLDIRS@%$MKINSTALLDIRS%g
 s%@MSGFMT@%$MSGFMT%g
 s%@GMSGFMT@%$GMSGFMT%g
 s%@XGETTEXT@%$XGETTEXT%g
 s%@MSGMERGE@%$MSGMERGE%g
+s%@GLIBC21@%$GLIBC21%g
+s%@LIBICONV@%$LIBICONV%g
 s%@INTLBISON@%$INTLBISON%g
+s%@USE_NLS@%$USE_NLS%g
 s%@BUILD_INCLUDED_LIBINTL@%$BUILD_INCLUDED_LIBINTL%g
 s%@USE_INCLUDED_LIBINTL@%$USE_INCLUDED_LIBINTL%g
 s%@CATOBJEXT@%$CATOBJEXT%g
-s%@INTLLIBS@%$INTLLIBS%g
 s%@INTLOBJS@%$INTLOBJS%g
-s%@POSUB@%$POSUB%g
 s%@DATADIRNAME@%$DATADIRNAME%g
 s%@INSTOBJEXT@%$INSTOBJEXT%g
 s%@GENCAT@%$GENCAT%g
-s%@MKINSTALLDIRS@%$MKINSTALLDIRS%g
 s%@INTL_LIBTOOL_SUFFIX_PREFIX@%$INTL_LIBTOOL_SUFFIX_PREFIX%g
+s%@INTLLIBS@%$INTLLIBS%g
+s%@POSUB@%$POSUB%g
 s%@EMACS@%$EMACS%g
 s%@lispdir@%$lispdir%g
 s%@aclocaldir@%$aclocaldir%g
@@ -10433,6 +10607,7 @@ s%@DVIPS@%$DVIPS%g
 s%@TEXI2PDF@%$TEXI2PDF%g
 s%@PERL@%$PERL%g
 s%@CROSS_COMPILING@%$CROSS_COMPILING%g
+s%@CXX@%$CXX%g
 s%@LTLIBOBJS@%$LTLIBOBJS%g
 s%@LTALLOCA@%$LTALLOCA%g
 
@@ -10674,12 +10849,13 @@ for am_file in config.h; do
 done
 AMDEP_TRUE="$AMDEP_TRUE"
 ac_aux_dir="$ac_aux_dir"
-# Capture the value of obsolete $ALL_LINGUAS because we need it to
-      # compute GMOFILES, POFILES, CATALOGS. But hide it from automake.
-      eval 'ALL_LINGUAS''="$ALL_LINGUAS"'
-      # Capture the value of LINGUAS because we need it to compute CATALOGS.
-      LINGUAS="${LINGUAS-%UNSET%}"
-     
+# Capture the value of obsolete $ALL_LINGUAS because we need it to compute
+    # POFILES, GMOFILES, UPDATEPOFILES, DUMMYPOFILES, CATALOGS. But hide it
+    # from automake.
+    eval 'ALL_LINGUAS''="$ALL_LINGUAS"'
+    # Capture the value of LINGUAS because we need it to compute CATALOGS.
+    LINGUAS="${LINGUAS-%UNSET%}"
+   
 
 EOF
 cat >> $CONFIG_STATUS <<\EOF
@@ -10723,89 +10899,103 @@ for mf in $CONFIG_FILES; do
   done
 done
 
-for ac_file in $CONFIG_FILES; do
-        # Support "outfile[:infile[:infile...]]"
-        case "$ac_file" in
-          *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+
+    for ac_file in $CONFIG_FILES; do
+      # Support "outfile[:infile[:infile...]]"
+      case "$ac_file" in
+        *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+      esac
+      # PO directories have a Makefile.in generated from Makefile.in.in.
+      case "$ac_file" in */Makefile.in)
+        # Adjust a relative srcdir.
+        ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
+        ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
+        ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
+        # In autoconf-2.13 it is called $ac_given_srcdir.
+        # In autoconf-2.50 it is called $srcdir.
+        test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
+        case "$ac_given_srcdir" in
+          .)  top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
+          /*) top_srcdir="$ac_given_srcdir" ;;
+          *)  top_srcdir="$ac_dots$ac_given_srcdir" ;;
         esac
-        # PO directories have a Makefile.in generated from Makefile.in.in.
-        case "$ac_file" in */Makefile.in)
-          # Adjust a relative srcdir.
-          ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
-          ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
-          ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
-          # In autoconf-2.13 it is called $ac_given_srcdir.
-          # In autoconf-2.50 it is called $srcdir.
-          test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
+        if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
+          rm -f "$ac_dir/POTFILES"
+          test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"
+          sed -e "/^#/d" -e "/^[       ]*\$/d" -e "s,.*,     $top_srcdir/& \\\\," -e "\$s/\(.*\) \\\\/\1/" < "$ac_given_srcdir/$ac_dir/POTFILES.in" > "$ac_dir/POTFILES"
+          # ALL_LINGUAS, POFILES, GMOFILES, UPDATEPOFILES, DUMMYPOFILES depend
+          # on $ac_dir but don't depend on user-specified configuration
+          # parameters.
+          if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
+            # The LINGUAS file contains the set of available languages.
+            if test -n "$ALL_LINGUAS"; then
+              test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
+            fi
+            ALL_LINGUAS_=`sed -e "/^#/d" "$ac_given_srcdir/$ac_dir/LINGUAS"`
+            # Hide the ALL_LINGUAS assigment from automake.
+            eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
+          fi
           case "$ac_given_srcdir" in
-            .)  top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
-            /*) top_srcdir="$ac_given_srcdir" ;;
-            *)  top_srcdir="$ac_dots$ac_given_srcdir" ;;
+            .) srcdirpre= ;;
+            *) srcdirpre='$(srcdir)/' ;;
           esac
-          if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
-            rm -f "$ac_dir/POTFILES"
-            test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"
-            sed -e "/^#/d" -e "/^[     ]*\$/d" -e "s,.*,     $top_srcdir/& \\\\," -e "\$s/\(.*\) \\\\/\1/" < "$ac_given_srcdir/$ac_dir/POTFILES.in" > "$ac_dir/POTFILES"
-            # ALL_LINGUAS, GMOFILES, POFILES depend on $ac_dir but don't
-            # depend on user-specified configuration parameters.
-            if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
-              # The LINGUAS file contains the set of available languages.
-              if test -n "$ALL_LINGUAS"; then
-                test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
+          POFILES=
+          GMOFILES=
+          UPDATEPOFILES=
+          DUMMYPOFILES=
+          for lang in $ALL_LINGUAS; do
+            POFILES="$POFILES $srcdirpre$lang.po"
+            GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
+            UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
+            DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
+          done
+          # CATALOGS depends on both $ac_dir and the user's LINGUAS
+          # environment variable.
+          INST_LINGUAS=
+          if test -n "$ALL_LINGUAS"; then
+            for presentlang in $ALL_LINGUAS; do
+              useit=no
+              if test "%UNSET%" != "$LINGUAS"; then
+                desiredlanguages="$LINGUAS"
+              else
+                desiredlanguages="$ALL_LINGUAS"
               fi
-              ALL_LINGUAS_=`sed -e "/^#/d" "$ac_given_srcdir/$ac_dir/LINGUAS"`
-              # Hide the ALL_LINGUAS assigment from automake.
-              eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
-            fi
-            GMOFILES=
-            POFILES=
-            for lang in $ALL_LINGUAS; do
-              GMOFILES="$GMOFILES $lang.gmo"
-              POFILES="$POFILES $lang.po"
-            done
-            # CATALOGS depends on both $ac_dir and the user's LINGUAS
-            # environment variable.
-            INST_LINGUAS=
-            if test -n "$ALL_LINGUAS"; then
-              for presentlang in $ALL_LINGUAS; do
-                useit=no
-                if test "%UNSET%" != "$LINGUAS"; then
-                  desiredlanguages="$LINGUAS"
-                else
-                  desiredlanguages="$ALL_LINGUAS"
-                fi
-                for desiredlang in $desiredlanguages; do
-                  # Use the presentlang catalog if desiredlang is
-                  #   a. equal to presentlang, or
-                  #   b. a variant of presentlang (because in this case,
-                  #      presentlang can be used as a fallback for messages
-                  #      which are not translated in the desiredlang catalog).
-                  case "$desiredlang" in
-                    "$presentlang"*) useit=yes;;
-                  esac
-                done
-                if test $useit = yes; then
-                  INST_LINGUAS="$INST_LINGUAS $presentlang"
-                fi
+              for desiredlang in $desiredlanguages; do
+                # Use the presentlang catalog if desiredlang is
+                #   a. equal to presentlang, or
+                #   b. a variant of presentlang (because in this case,
+                #      presentlang can be used as a fallback for messages
+                #      which are not translated in the desiredlang catalog).
+                case "$desiredlang" in
+                  "$presentlang"*) useit=yes;;
+                esac
               done
-            fi
-            CATALOGS=
-            if test -n "$INST_LINGUAS"; then
-              for lang in $INST_LINGUAS; do
-                CATALOGS="$CATALOGS $lang.gmo"
-              done
-            fi
-            test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile"
-            sed -e "/POTFILES =/r $ac_dir/POTFILES" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@POFILES@|$POFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile"
+              if test $useit = yes; then
+                INST_LINGUAS="$INST_LINGUAS $presentlang"
+              fi
+            done
           fi
-          ;;
-        esac
-      done
+          CATALOGS=
+          if test -n "$INST_LINGUAS"; then
+            for lang in $INST_LINGUAS; do
+              CATALOGS="$CATALOGS $lang.gmo"
+            done
+          fi
+          test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile"
+          sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile"
+          for f in "$ac_dir"/Rules-*; do
+            cat "$f" >> "$ac_dir/Makefile"
+          done
+        fi
+        ;;
+      esac
+    done
 
     for m in lib/Makefile src/Makefile tests/Makefile; do
     sed -e "s,\`test -f \\\$< || echo '\\\$(srcdir)/'\`\\\$<,\\\$<," < $m > $m.tmp
     mv $m.tmp $m
   done
+    chmod a+x misc/gettextize
 
 exit 0
 EOF
index fb05c17b76bef3eb0397534b4144319e9901adea..c0a6abceb6753a8c488be58e1e9eb65a8bee0806 100644 (file)
@@ -67,6 +67,7 @@ CC = @CC@
 CLASSPATH = @CLASSPATH@
 CLASSPATH_SEPARATOR = @CLASSPATH_SEPARATOR@
 CROSS_COMPILING = @CROSS_COMPILING@
+CXX = @CXX@
 DATADIRNAME = @DATADIRNAME@
 DEPDIR = @DEPDIR@
 DLLTOOL = @DLLTOOL@
@@ -77,12 +78,19 @@ GENCAT = @GENCAT@
 GLIBC21 = @GLIBC21@
 GMSGFMT = @GMSGFMT@
 HAVE_GCJ = @HAVE_GCJ@
+HAVE_GCJ_IN_PATH = @HAVE_GCJ_IN_PATH@
 HAVE_GIJ = @HAVE_GIJ@
+HAVE_GIJ_IN_PATH = @HAVE_GIJ_IN_PATH@
+HAVE_JAVA = @HAVE_JAVA@
 HAVE_JAVAC = @HAVE_JAVAC@
-HAVE_JAVA_JVM = @HAVE_JAVA_JVM@
+HAVE_JAVAC_IN_PATH = @HAVE_JAVAC_IN_PATH@
+HAVE_JAVA_IN_PATH = @HAVE_JAVA_IN_PATH@
 HAVE_JIKES = @HAVE_JIKES@
+HAVE_JIKES_IN_PATH = @HAVE_JIKES_IN_PATH@
 HAVE_JRE = @HAVE_JRE@
+HAVE_JRE_IN_PATH = @HAVE_JRE_IN_PATH@
 HAVE_JVIEW = @HAVE_JVIEW@
+HAVE_JVIEW_IN_PATH = @HAVE_JVIEW_IN_PATH@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
 INSTOBJEXT = @INSTOBJEXT@
 INTLBISON = @INTLBISON@
@@ -152,7 +160,9 @@ gettext_TEXINFOS = \
 
 EXTRA_DIST = iso-639.sed iso-3166.sed ISO_639 ISO_3166 nls.texi matrix.texi $(EXTRA_DIST_html) texi2html
 
-EXTRA_DIST_html = $(wildcard gettext_*.html)
+# This strange way of taking wildcards is a workaround to an automake-1.5 bug
+# which would occur if we wrote $(wildcard $(srcdir)/gettext_*.html).
+EXTRA_DIST_html = $(notdir $(wildcard gettext_*.html) $(wildcard $(addprefix $(srcdir), $(addprefix /, gettext_*.html))))
 CLEANFILES = gettext.pdf gettext.html
 # gettext.dvi and gettext.ps are already known to automake.
 MAINTAINERCLEANFILES = gettext_*.html
@@ -287,6 +297,7 @@ top_distdir = ..
 distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
 
 distdir: $(DISTFILES)
+       $(mkinstalldirs) $(distdir)/
        @for file in $(DISTFILES); do \
          if test -f $$file; then d=.; else d=$(srcdir); fi; \
          dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
index 147161f7e036f63b7a651e2c2da0768cf2114a35..cc60c8985b204c5e83c4a6e671e4906efed1335f 100644 (file)
@@ -33,106 +33,150 @@ translation approved by the Foundation.
 \1f
 Indirect:
 gettext.info-1: 1411
-gettext.info-2: 49085
-gettext.info-3: 98511
-gettext.info-4: 147276
-gettext.info-5: 196307
+gettext.info-2: 46553
+gettext.info-3: 91891
+gettext.info-4: 140946
+gettext.info-5: 189556
+gettext.info-6: 238120
+gettext.info-7: 287808
 \1f
 Tag Table:
 (Indirect)
 Node: Top\7f1411
-Node: Introduction\7f7072
-Node: Why\7f8928
-Ref: Why-Footnote-1\7f12035
-Node: Concepts\7f12191
-Node: Aspects\7f15604
-Node: Files\7f21353
-Node: Overview\7f23295
-Node: Basics\7f34216
-Node: Installation\7f35046
-Node: PO Files\7f37016
-Ref: PO Files-Footnote-1\7f44018
-Node: Main PO Commands\7f44145
-Node: Entry Positioning\7f49085
-Node: Normalizing\7f54339
-Node: Sources\7f58792
-Node: Triggering\7f60062
-Node: Mark Keywords\7f63078
-Node: Marking\7f66626
-Node: c-format\7f74270
-Node: Special cases\7f78026
-Node: Template\7f80888
-Node: xgettext Invocation\7f81240
-Node: Creating\7f85050
-Node: Updating\7f91362
-Node: msgmerge Invocation\7f92115
-Node: Translated Entries\7f92289
-Node: Fuzzy Entries\7f93580
-Node: Untranslated Entries\7f96675
-Node: Obsolete Entries\7f98511
-Node: Modifying Translations\7f101643
-Node: Modifying Comments\7f109464
-Node: Subedit\7f113772
-Node: C Sources Context\7f117548
-Node: Auxiliary\7f122514
-Node: Compendium\7f125613
-Node: Binaries\7f126309
-Node: msgfmt Invocation\7f126573
-Node: MO Files\7f129201
-Node: Users\7f137290
-Node: Matrix\7f138773
-Node: Installers\7f139977
-Node: End Users\7f141147
-Node: Programmers\7f141796
-Node: catgets\7f142968
-Node: Interface to catgets\7f144372
-Node: Problems with catgets\7f146376
-Node: gettext\7f147276
-Node: Interface to gettext\7f148734
-Node: Ambiguities\7f151075
-Node: Locating Catalogs\7f153768
-Ref: Locating Catalogs-Footnote-1\7f154915
-Ref: Locating Catalogs-Footnote-2\7f155140
-Node: Charset conversion\7f155289
-Node: Plural forms\7f157731
-Ref: Plural forms-Footnote-1\7f168079
-Node: GUI program problems\7f168171
-Node: Optimized gettext\7f173275
-Node: Comparison\7f174608
-Node: Using libintl.a\7f178880
-Node: gettext grok\7f179657
-Node: Temp Programmers\7f182289
-Node: Temp Implementations\7f182729
-Node: Temp catgets\7f184095
-Node: Temp WSI\7f185782
-Node: Temp Notes\7f187770
-Node: Translators\7f188259
-Node: Trans Intro 0\7f188638
-Node: Trans Intro 1\7f191287
-Node: Discussions\7f193151
-Node: Organization\7f196307
-Node: Central Coordination\7f198288
-Node: National Teams\7f199416
-Node: Sub-Cultures\7f201928
-Node: Organizational Ideas\7f202847
-Node: Mailing Lists\7f203850
-Node: Information Flow\7f205653
-Node: Maintainers\7f207786
-Node: Flat and Non-Flat\7f209545
-Node: Prerequisites\7f211028
-Node: gettextize Invocation\7f215150
-Node: Adjusting Files\7f218722
-Node: po/POTFILES.in\7f220019
-Node: configure.in\7f220963
-Node: config.guess\7f223094
-Node: aclocal\7f224153
-Node: acconfig\7f225271
-Node: Makefile\7f225754
-Node: src/Makefile\7f228202
-Node: Conclusion\7f231104
-Node: History\7f231594
-Node: References\7f235054
-Node: Language Codes\7f236609
-Node: Country Codes\7f240512
+Node: Introduction\7f9603
+Node: Why\7f11461
+Ref: Why-Footnote-1\7f14568
+Node: Concepts\7f14724
+Node: Aspects\7f18137
+Node: Files\7f23919
+Node: Overview\7f25814
+Node: Basics\7f36652
+Node: Installation\7f37482
+Node: PO Files\7f39424
+Ref: PO Files-Footnote-1\7f46426
+Node: Main PO Commands\7f46553
+Node: Entry Positioning\7f51625
+Node: Normalizing\7f57079
+Node: Sources\7f61532
+Node: Triggering\7f62802
+Node: Mark Keywords\7f65818
+Node: Marking\7f69366
+Node: c-format\7f77082
+Node: Special cases\7f80838
+Node: Template\7f83700
+Node: xgettext Invocation\7f84052
+Node: Creating\7f89380
+Node: msginit Invocation\7f90271
+Node: Header Entry\7f91891
+Node: Updating\7f98048
+Node: msgmerge Invocation\7f98803
+Node: Translated Entries\7f102655
+Node: Fuzzy Entries\7f104013
+Node: Untranslated Entries\7f107183
+Node: Obsolete Entries\7f109105
+Node: Modifying Translations\7f112320
+Node: Modifying Comments\7f120271
+Node: Subedit\7f124684
+Node: C Sources Context\7f128563
+Node: Auxiliary\7f133666
+Node: Compendium\7f136891
+Node: Creating Compendia\7f137501
+Node: Using Compendia\7f140058
+Node: Manipulating\7f140946
+Node: msgcat Invocation\7f144171
+Node: msgconv Invocation\7f147400
+Node: msggrep Invocation\7f149560
+Node: msgexec Invocation\7f153052
+Node: msguniq Invocation\7f155639
+Node: msgcomm Invocation\7f158507
+Node: msgcmp Invocation\7f161531
+Node: msgattrib Invocation\7f162761
+Node: msgen Invocation\7f165876
+Node: Binaries\7f168018
+Node: msgfmt Invocation\7f168350
+Node: msgunfmt Invocation\7f173593
+Node: MO Files\7f175787
+Node: Users\7f183878
+Node: Matrix\7f185361
+Node: Installers\7f186565
+Node: End Users\7f187735
+Node: Programmers\7f188384
+Node: catgets\7f189556
+Node: Interface to catgets\7f190960
+Node: Problems with catgets\7f192964
+Node: gettext\7f193864
+Node: Interface to gettext\7f195322
+Node: Ambiguities\7f197663
+Node: Locating Catalogs\7f200356
+Ref: Locating Catalogs-Footnote-1\7f201503
+Ref: Locating Catalogs-Footnote-2\7f201728
+Node: Charset conversion\7f201877
+Node: Plural forms\7f204319
+Ref: Plural forms-Footnote-1\7f214912
+Node: GUI program problems\7f215004
+Node: Optimized gettext\7f220108
+Node: Comparison\7f221441
+Node: Using libintl.a\7f225713
+Node: gettext grok\7f226490
+Node: Temp Programmers\7f229122
+Node: Temp Implementations\7f229562
+Node: Temp catgets\7f230928
+Node: Temp WSI\7f232615
+Node: Temp Notes\7f234603
+Node: Translators\7f235092
+Node: Trans Intro 0\7f235471
+Node: Trans Intro 1\7f238120
+Node: Discussions\7f239984
+Node: Organization\7f243486
+Node: Central Coordination\7f245467
+Node: National Teams\7f246595
+Node: Sub-Cultures\7f249107
+Node: Organizational Ideas\7f250026
+Node: Mailing Lists\7f251029
+Node: Information Flow\7f252832
+Node: Maintainers\7f254965
+Node: Flat and Non-Flat\7f256735
+Node: Prerequisites\7f258218
+Node: gettextize Invocation\7f262359
+Node: Adjusting Files\7f266432
+Node: po/POTFILES.in\7f267841
+Node: po/LINGUAS\7f268783
+Node: po/Makevars\7f269565
+Node: configure.in\7f271151
+Node: config.guess\7f273141
+Node: aclocal\7f274254
+Node: acconfig\7f275488
+Node: Makefile\7f275971
+Node: src/Makefile\7f278364
+Node: Programming Languages\7f281224
+Node: Language Implementors\7f281986
+Node: Programmers for other Languages\7f286807
+Node: Translators for other Languages\7f287373
+Node: List of Programming Languages\7f287808
+Node: C\7f288869
+Node: sh\7f289850
+Node: bash\7f290476
+Node: Python\7f291161
+Node: Common Lisp\7f292225
+Node: clisp C\7f292931
+Node: Emacs Lisp\7f293653
+Node: librep\7f294353
+Node: Smalltalk\7f294992
+Node: Java\7f296065
+Node: gawk\7f298735
+Node: Pascal\7f299512
+Node: wxWindows\7f300728
+Node: YCP\7f301462
+Node: Perl\7f302122
+Node: PHP\7f302740
+Node: Pike\7f303443
+Node: List of Data Formats\7f304069
+Node: POT\7f304455
+Node: RST\7f304699
+Node: Conclusion\7f304897
+Node: History\7f305397
+Node: References\7f309499
+Node: Language Codes\7f311054
+Node: Country Codes\7f314957
 \1f
 End Tag Table
index 2a84d96cb000e0a63c40ebbe9d10c4a64ef490f1..32ac675758f1c41e9adef4615a035badcbed2ccd 100644 (file)
@@ -44,11 +44,13 @@ GNU `gettext' utilities
 * Template::                    Making the PO Template File
 * Creating::                    Creating a New PO File
 * Updating::                    Updating Existing PO Files
+* Manipulating::                Manipulating PO Files
 * Binaries::                    Producing Binary MO Files
 * Users::                       The User's View
 * Programmers::                 The Programmer's View
 * Translators::                 The Translator's View
 * Maintainers::                 The Maintainer's View
+* Programming Languages::       Other Programming Languages
 * Conclusion::                  Concluding Remarks
 
 * Language Codes::              ISO 639 language codes
@@ -84,6 +86,11 @@ Making the PO Template File
 
 * xgettext Invocation::         Invoking the `xgettext' Program
 
+Creating a New PO File
+
+* msginit Invocation::          Invoking the `msginit' Program
+* Header Entry::                Fields in the Header Entry
+
 Updating Existing PO Files
 
 * msgmerge Invocation::         Invoking the `msgmerge' Program
@@ -96,11 +103,29 @@ Updating Existing PO Files
 * Subedit::                     Mode for Editing Translations
 * C Sources Context::           C Sources Context
 * Auxiliary::                   Consulting Auxiliary PO Files
-* Compendium::                  Using Translation Compendiums
+* Compendium::                  Using Translation Compendia
+
+Using Translation Compendia
+
+* Creating Compendia::          Merging translations for later use
+* Using Compendia::             Using older translations if they fit
+
+Manipulating PO Files
+
+* msgcat Invocation::           Invoking the `msgcat' Program
+* msgconv Invocation::          Invoking the `msgconv' Program
+* msggrep Invocation::          Invoking the `msggrep' Program
+* msgexec Invocation::          Invoking the `msgexec' Program
+* msguniq Invocation::          Invoking the `msguniq' Program
+* msgcomm Invocation::          Invoking the `msgcomm' Program
+* msgcmp Invocation::           Invoking the `msgcmp' Program
+* msgattrib Invocation::        Invoking the `msgattrib' Program
+* msgen Invocation::            Invoking the `msgen' Program
 
 Producing Binary MO Files
 
 * msgfmt Invocation::           Invoking the `msgfmt' Program
+* msgunfmt Invocation::         Invoking the `msgunfmt' Program
 * MO Files::                    The Format of GNU MO Files
 
 The User's View
@@ -169,6 +194,8 @@ The Maintainer's View
 Files You Must Create or Alter
 
 * po/POTFILES.in::              `POTFILES.in' in `po/'
+* po/LINGUAS::                  `LINGUAS' in `po/'
+* po/Makevars::                 `Makefile' pieces in `po/'
 * configure.in::                `configure.in' at top level
 * config.guess::                `config.guess', `config.sub' at top level
 * aclocal::                     `aclocal.m4' at top level
@@ -176,6 +203,39 @@ Files You Must Create or Alter
 * Makefile::                    `Makefile.in' at top level
 * src/Makefile::                `Makefile.in' in `src/'
 
+Other Programming Languages
+
+* Language Implementors::       The Language Implementor's View
+* Programmers for other Languages::  The Programmer's View
+* Translators for other Languages::  The Translator's View
+* List of Programming Languages::  Individual Programming Languages
+* List of Data Formats::        Internationalizable Data
+
+Individual Programming Languages
+
+* C::                           C, C++, Objective C
+* sh::                          sh - Shell Script
+* bash::                        bash - Bourne-Again Shell Script
+* Python::                      Python
+* Common Lisp::                 GNU clisp - Common Lisp
+* clisp C::                     GNU clisp C sources
+* Emacs Lisp::                  Emacs Lisp
+* librep::                      librep
+* Smalltalk::                   GNU Smalltalk
+* Java::                        Java
+* gawk::                        GNU awk
+* Pascal::                      Pascal - Free Pascal Compiler
+* wxWindows::                   wxWindows library
+* YCP::                         YCP - YaST2 scripting language
+* Perl::                        Perl
+* PHP::                         PHP Hypertext Preprocessor
+* Pike::                        Pike
+
+Internationalizable Data
+
+* POT::                         POT - Portable Object Template
+* RST::                         Resource String Table
+
 Concluding Remarks
 
 * History::                     History of GNU `gettext'
@@ -213,7 +273,7 @@ maintenance cycle should usually operate.
    Please send suggestions and corrections to:
 
      Internet address:
-         bug-gnu-utils@gnu.org
+         bug-gnu-gettext@gnu.org
 
 Please include the manual's edition number and update date in your
 messages.
@@ -455,7 +515,8 @@ _Numbers_
      respective locales:
 
           12,345.67       English
-          12.345,67       French
+          12.345,67       German
+           12345,67       French
           1,2345.67       Asia
 
      Some programs could go further and use different unit systems, like
@@ -498,8 +559,7 @@ translations.  Program `msgmerge' takes care of adjusting PO files
 between releases of the corresponding sources, commenting obsolete
 entries, initializing new ones, and updating all source line
 references.  Files ending with `.pot' are kind of base translation
-files found in distributions, in PO file format, and `.pox' files are
-often temporary PO files.
+files found in distributions, in PO file format.
 
    MO files are meant to be read by programs, and are binary in nature.
 A few systems already offer tools for creating and handling MO files as
@@ -533,11 +593,11 @@ maintainers.
      |   |                                            |             ^
      |   |                                            `---.         |
      |   `---.                                            +---> PO mode ---.
-     |       +----> msgmerge ------> LANG.po--->--------'                |
+     |       +----> msgmerge ------> LANG.po ---->--------'                |
      |   .---'                                                             |
      |   |                                                                 |
      |   `-------------<---------------.                                   |
-     |                                 +--- LANG.po <--- New LANG.pox <----'
+     |                                 +--- New LANG.po <------------------'
      |   .--- LANG.gmo <--- msgfmt <---'
      |   |
      |   `---> install ---> /.../LANG/PACKAGE.mo ---.
@@ -604,7 +664,8 @@ By doing so, you spare yourself typing the `xgettext' command, as
 
    The first time through, there is no `LANG.po' yet, so the `msgmerge'
 step may be skipped and replaced by a mere copy of `PACKAGE.pot' to
-`LANG.pox', where LANG represents the target language.
+`LANG.po', where LANG represents the target language.  See *Note
+Creating:: for details.
 
    Then comes the initial translation of messages.  Translation in
 itself is a whole matter, still exclusively meant for humans, and whose
@@ -614,7 +675,7 @@ Translators::).  You will also find there indications about how to
 contact translating teams, or becoming part of them, for sharing your
 translating concerns with others who target the same native language.
 
-   While adding the translated messages into the `LANG.pox' PO file, if
+   While adding the translated messages into the `LANG.po' PO file, if
 you do not have Emacs handy, you are on your own for ensuring that your
 efforts fully respect the PO file format, and quoting conventions
 (*note PO Files::).  This is surely not an impossible task, as this is
@@ -664,7 +725,7 @@ existing `LANG.po' file, by comparing it with a newer `PACKAGE.pot'
 template file, extracted by `xgettext' out of recent C sources.  The
 refreshing operation adjusts all references to C source locations for
 strings, since these strings move as programs are modified.  Also,
-`msgmerge' comments out as obsolete, in `LANG.pox', those already
+`msgmerge' comments out as obsolete, in `LANG.po', those already
 translated entries which are no longer used in the program sources
 (*note Obsolete Entries::).  It finally discovers new strings and
 inserts them in the resulting PO file as untranslated entries (*note
@@ -672,9 +733,7 @@ Untranslated Entries::).  *Note msgmerge Invocation::, for more
 information about what `msgmerge' really does.
 
    Whatever route or means taken, the goal is to obtain an updated
-`LANG.pox' file offering translations for all strings.  When this is
-properly achieved, this file `LANG.pox' may take the place of the
-previous official `LANG.po' file.
+`LANG.po' file offering translations for all strings.
 
    The temporal mobility, or fluidity of PO files, is an integral part
 of the translation game, and should be well understood, and accepted.
@@ -748,15 +807,15 @@ file `.emacs', once and for all, so it contains a few lines looking
 like:
 
      (setq auto-mode-alist
-           (cons '("\\.po[tx]?\\'\\|\\.po\\." . po-mode) auto-mode-alist))
+           (cons '("\\.po\\'\\|\\.po\\." . po-mode) auto-mode-alist))
      (autoload 'po-mode "po-mode" "Major mode for translators to edit PO files" t)
 
-   Later, whenever you edit some `.po', `.pot' or `.pox' file, or any
-file having the string `.po.' within its name, Emacs loads
-`po-mode.elc' (or `po-mode.el') as needed, and automatically activates
-PO mode commands for the associated buffer.  The string _PO_ appears in
-the mode line for any buffer for which PO mode is active.  Many PO
-files may be active at once in a single Emacs session.
+   Later, whenever you edit some `.po' file, or any file having the
+string `.po.' within its name, Emacs loads `po-mode.elc' (or
+`po-mode.el') as needed, and automatically activates PO mode commands
+for the associated buffer.  The string _PO_ appears in the mode line
+for any buffer for which PO mode is active.  Many PO files may be
+active at once in a single Emacs session.
 
    If you are using Emacs version 20 or newer, and have already
 installed the appropriate international fonts on your system, you may
@@ -765,7 +824,7 @@ every PO file.  This will often (but not always) cause the necessary
 fonts to be loaded and used for displaying the translations on your
 Emacs screen.  For this to happen, add the lines:
 
-     (modify-coding-system-alist 'file "\\.po[tx]?\\'\\|\\.po\\."
+     (modify-coding-system-alist 'file "\\.po\\'\\|\\.po\\."
                                  'po-find-file-coding-system)
      (autoload 'po-find-file-coding-system "po-mode")
 
@@ -922,109 +981,3 @@ be replaced unexpectedly when the PO file is given to `msgmerge'.
    (1) This limitation is not imposed by GNU `gettext', but is for
 compatibility with the `msgfmt' implementation on Solaris.
 
-\1f
-File: gettext.info,  Node: Main PO Commands,  Next: Entry Positioning,  Prev: PO Files,  Up: Basics
-
-Main PO mode Commands
-=====================
-
-   After setting up Emacs with something similar to the lines in *Note
-Installation::, PO mode is activated for a window when Emacs finds a PO
-file in that window.  This puts the window read-only and establishes a
-po-mode-map, which is a genuine Emacs mode, in a way that is not derived
-from text mode in any way.  Functions found on `po-mode-hook', if any,
-will be executed.
-
-   When PO mode is active in a window, the letters `PO' appear in the
-mode line for that window.  The mode line also displays how many
-entries of each kind are held in the PO file.  For example, the string
-`132t+3f+10u+2o' would tell the translator that the PO mode contains
-132 translated entries (*note Translated Entries::, 3 fuzzy entries
-(*note Fuzzy Entries::), 10 untranslated entries (*note Untranslated
-Entries::) and 2 obsolete entries (*note Obsolete Entries::).
-Zero-coefficients items are not shown.  So, in this example, if the
-fuzzy entries were unfuzzied, the untranslated entries were translated
-and the obsolete entries were deleted, the mode line would merely
-display `145t' for the counters.
-
-   The main PO commands are those which do not fit into the other
-categories of subsequent sections.  These allow for quitting PO mode or
-for managing windows in special ways.
-
-`U'
-     Undo last modification to the PO file.
-
-`Q'
-     Quit processing and save the PO file.
-
-`q'
-     Quit processing, possibly after confirmation.
-
-`O'
-     Temporary leave the PO file window.
-
-`?'
-`h'
-     Show help about PO mode.
-
-`='
-     Give some PO file statistics.
-
-`V'
-     Batch validate the format of the whole PO file.
-
-   The command `U' (`po-undo') interfaces to the Emacs _undo_ facility.
-*Note Undoing Changes: (emacs)Undo.  Each time `U' is typed,
-modifications which the translator did to the PO file are undone a
-little more.  For the purpose of undoing, each PO mode command is
-atomic.  This is especially true for the `<RET>' command: the whole
-edition made by using a single use of this command is undone at once,
-even if the edition itself implied several actions.  However, while in
-the editing window, one can undo the edition work quite parsimoniously.
-
-   The commands `Q' (`po-quit') and `q' (`po-confirm-and-quit') are
-used when the translator is done with the PO file.  The former is a bit
-less verbose than the latter.  If the file has been modified, it is
-saved to disk first.  In both cases, and prior to all this, the
-commands check if some untranslated message remains in the PO file and,
-if yes, the translator is asked if she really wants to leave off
-working with this PO file.  This is the preferred way of getting rid of
-an Emacs PO file buffer.  Merely killing it through the usual command
-`C-x k' (`kill-buffer') is not the tidiest way to proceed.
-
-   The command `O' (`po-other-window') is another, softer way, to leave
-PO mode, temporarily.  It just moves the cursor to some other Emacs
-window, and pops one if necessary.  For example, if the translator just
-got PO mode to show some source context in some other, she might
-discover some apparent bug in the program source that needs correction.
-This command allows the translator to change sex, become a programmer,
-and have the cursor right into the window containing the program she
-(or rather _he_) wants to modify.  By later getting the cursor back in
-the PO file window, or by asking Emacs to edit this file once again, PO
-mode is then recovered.
-
-   The command `h' (`po-help') displays a summary of all available PO
-mode commands.  The translator should then type any character to resume
-normal PO mode operations.  The command `?' has the same effect as `h'.
-
-   The command `=' (`po-statistics') computes the total number of
-entries in the PO file, the ordinal of the current entry (counted from
-1), the number of untranslated entries, the number of obsolete entries,
-and displays all these numbers.
-
-   The command `V' (`po-validate') launches `msgfmt' in verbose mode
-over the current PO file.  This command first offers to save the
-current PO file on disk.  The `msgfmt' tool, from GNU `gettext', has
-the purpose of creating a MO file out of a PO file, and PO mode uses
-the features of this program for checking the overall format of a PO
-file, as well as all individual entries.
-
-   The program `msgfmt' runs asynchronously with Emacs, so the
-translator regains control immediately while her PO file is being
-studied.  Error output is collected in the Emacs `*compilation*' buffer,
-displayed in another window.  The regular Emacs command `C-x`'
-(`next-error'), as well as other usual compile commands, allow the
-translator to reposition quickly to the offending parts of the PO file.
-Once the cursor is on the line in error, the translator may decide on
-any PO mode action which would help correcting the error.
-
index 611696bd3869965a36447f1055b840e12f1703ea..aad92fc745db86467f264a0d41c3ac9454ea8571 100644 (file)
@@ -30,6 +30,113 @@ manual into another language, under the above conditions for modified
 versions, except that this permission notice may be stated in a
 translation approved by the Foundation.
 
+\1f
+File: gettext.info,  Node: Main PO Commands,  Next: Entry Positioning,  Prev: PO Files,  Up: Basics
+
+Main PO mode Commands
+=====================
+
+   After setting up Emacs with something similar to the lines in *Note
+Installation::, PO mode is activated for a window when Emacs finds a PO
+file in that window.  This puts the window read-only and establishes a
+po-mode-map, which is a genuine Emacs mode, in a way that is not derived
+from text mode in any way.  Functions found on `po-mode-hook', if any,
+will be executed.
+
+   When PO mode is active in a window, the letters `PO' appear in the
+mode line for that window.  The mode line also displays how many
+entries of each kind are held in the PO file.  For example, the string
+`132t+3f+10u+2o' would tell the translator that the PO mode contains
+132 translated entries (*note Translated Entries::, 3 fuzzy entries
+(*note Fuzzy Entries::), 10 untranslated entries (*note Untranslated
+Entries::) and 2 obsolete entries (*note Obsolete Entries::).
+Zero-coefficients items are not shown.  So, in this example, if the
+fuzzy entries were unfuzzied, the untranslated entries were translated
+and the obsolete entries were deleted, the mode line would merely
+display `145t' for the counters.
+
+   The main PO commands are those which do not fit into the other
+categories of subsequent sections.  These allow for quitting PO mode or
+for managing windows in special ways.
+
+`_'
+     Undo last modification to the PO file (`po-undo').
+
+`Q'
+     Quit processing and save the PO file (`po-quit').
+
+`q'
+     Quit processing, possibly after confirmation
+     (`po-confirm-and-quit').
+
+`0'
+     Temporary leave the PO file window (`po-other-window').
+
+`?'
+`h'
+     Show help about PO mode (`po-help').
+
+`='
+     Give some PO file statistics (`po-statistics').
+
+`V'
+     Batch validate the format of the whole PO file (`po-validate').
+
+   The command `_' (`po-undo') interfaces to the Emacs _undo_ facility.
+*Note Undoing Changes: (emacs)Undo.  Each time `U' is typed,
+modifications which the translator did to the PO file are undone a
+little more.  For the purpose of undoing, each PO mode command is
+atomic.  This is especially true for the `<RET>' command: the whole
+edition made by using a single use of this command is undone at once,
+even if the edition itself implied several actions.  However, while in
+the editing window, one can undo the edition work quite parsimoniously.
+
+   The commands `Q' (`po-quit') and `q' (`po-confirm-and-quit') are
+used when the translator is done with the PO file.  The former is a bit
+less verbose than the latter.  If the file has been modified, it is
+saved to disk first.  In both cases, and prior to all this, the
+commands check if some untranslated message remains in the PO file and,
+if yes, the translator is asked if she really wants to leave off
+working with this PO file.  This is the preferred way of getting rid of
+an Emacs PO file buffer.  Merely killing it through the usual command
+`C-x k' (`kill-buffer') is not the tidiest way to proceed.
+
+   The command `0' (`po-other-window') is another, softer way, to leave
+PO mode, temporarily.  It just moves the cursor to some other Emacs
+window, and pops one if necessary.  For example, if the translator just
+got PO mode to show some source context in some other, she might
+discover some apparent bug in the program source that needs correction.
+This command allows the translator to change sex, become a programmer,
+and have the cursor right into the window containing the program she
+(or rather _he_) wants to modify.  By later getting the cursor back in
+the PO file window, or by asking Emacs to edit this file once again, PO
+mode is then recovered.
+
+   The command `h' (`po-help') displays a summary of all available PO
+mode commands.  The translator should then type any character to resume
+normal PO mode operations.  The command `?' has the same effect as `h'.
+
+   The command `=' (`po-statistics') computes the total number of
+entries in the PO file, the ordinal of the current entry (counted from
+1), the number of untranslated entries, the number of obsolete entries,
+and displays all these numbers.
+
+   The command `V' (`po-validate') launches `msgfmt' in checking and
+verbose mode over the current PO file.  This command first offers to
+save the current PO file on disk.  The `msgfmt' tool, from GNU
+`gettext', has the purpose of creating a MO file out of a PO file, and
+PO mode uses the features of this program for checking the overall
+format of a PO file, as well as all individual entries.
+
+   The program `msgfmt' runs asynchronously with Emacs, so the
+translator regains control immediately while her PO file is being
+studied.  Error output is collected in the Emacs `*compilation*' buffer,
+displayed in another window.  The regular Emacs command `C-x`'
+(`next-error'), as well as other usual compile commands, allow the
+translator to reposition quickly to the offending parts of the PO file.
+Once the cursor is on the line in error, the translator may decide on
+any PO mode action which would help correcting the error.
+
 \1f
 File: gettext.info,  Node: Entry Positioning,  Next: Normalizing,  Prev: Main PO Commands,  Up: Basics
 
@@ -46,33 +153,34 @@ selects on which entry commands operate.
 
    Some PO mode commands alter the position of the cursor in a
 specialized way.  A few of those special purpose positioning are
-described here, the others are described in following sections.
+described here, the others are described in following sections (for a
+complete list try `C-h m'):
 
 `.'
-     Redisplay the current entry.
+     Redisplay the current entry (`po-current-entry').
 
 `n'
-`n'
-     Select the entry after the current one.
+     Select the entry after the current one (`po-next-entry').
 
 `p'
-`p'
-     Select the entry before the current one.
+     Select the entry before the current one (`po-previous-entry').
 
 `<'
-     Select the first entry in the PO file.
+     Select the first entry in the PO file (`po-first-entry').
 
 `>'
-     Select the last entry in the PO file.
+     Select the last entry in the PO file (`po-last-entry').
 
 `m'
-     Record the location of the current entry for later use.
+     Record the location of the current entry for later use
+     (`po-push-location').
 
-`l'
-     Return to a previously saved entry location.
+`r'
+     Return to a previously saved entry location (`po-pop-location').
 
 `x'
-     Exchange the current entry location with the previously saved one.
+     Exchange the current entry location with the previously saved one
+     (`po-exchange-location').
 
    Any Emacs command able to reposition the cursor may be used to
 select the current entry in PO mode, including commands which move by
@@ -456,15 +564,15 @@ you mark strings as translatable in your program sources.
 
 `,'
      Search through program sources for a string which looks like a
-     candidate for translation.
+     candidate for translation (`po-tags-search').
 
 `M-,'
-     Mark the last string found with `_()'.
+     Mark the last string found with `_()' (`po-mark-translatable').
 
 `M-.'
      Mark the last string found with a keyword taken from a set of
      possible keywords.  This command with a prefix allows some
-     management of these keywords.
+     management of these keywords (`po-select-mark-and-mark').
 
    The `,' (`po-tags-search') command searches for the next occurrence
 of a string which looks like a possible candidate for translation, and
@@ -736,64 +844,89 @@ File: gettext.info,  Node: xgettext Invocation,  Prev: Template,  Up: Template
 Invoking the `xgettext' Program
 ===============================
 
-     xgettext [OPTION] INPUTFILE ...
+     xgettext [OPTION] [INPUTFILE] ...
 
-`-a'
-`--extract-all'
-     Extract all strings.
+   The `xgettext' program extracts translatable strings from given
+input files.
 
-`-c [TAG]'
-`--add-comments[=TAG]'
-     Place comment block with TAG (or those preceding keyword lines) in
-     output file.
+Input file location
+-------------------
 
-`-C'
-`--c++'
-     Recognize C++ style comments.
+`INPUTFILE ...'
+     Input files.
 
-`--debug'
-     Use the flags `c-format' and `possible-c-format' to show who was
-     responsible for marking a message as a format string.  The latter
-     form is used if the `xgettext' program decided, the format form is
-     used if the programmer prescribed it.
+`-f FILE'
+`--files-from=FILE'
+     Read the names of the input files from FILE instead of getting
+     them from the command line.
 
-     By default only the `c-format' form is used.  The translator should
-     not have to care about these details.
+`-D DIRECTORY'
+`--directory=DIRECTORY'
+     Add DIRECTORY to the list of directories.  Source files are
+     searched relative to this list of directories.  The resulting `.po'
+     file will be written relative to the current directory, though.
+
+   If INPUTFILE is `-', standard input is read.
+
+Output file location
+--------------------
 
 `-d NAME'
 `--default-domain=NAME'
      Use `NAME.po' for output (instead of `messages.po').
 
-     The special domain name `-' or `/dev/stdout' means to write the
-     output to `stdout'.
+`-o FILE'
+`--output=FILE'
+     Write output to specified file (instead of `NAME.po' or
+     `messages.po').
 
-`-D DIRECTORY'
-`--directory=DIRECTORY'
-     Change to DIRECTORY before beginning to search and scan source
-     files.  The resulting `.po' file will be written relative to the
-     original directory, though.
+`-p DIR'
+`--output-dir=DIR'
+     Output files will be placed in directory DIR.
 
-`-f FILE'
-`--files-from=FILE'
-     Read the names of the input files from FILE instead of getting
-     them from the command line.
+   If the output FILE is `-' or `/dev/stdout', the output is written to
+standard output.
 
-`--force'
-     Always write an output file even if no message is defined.
+Choice of input file language
+-----------------------------
 
-`-h'
-`--help'
-     Display this help and exit.
+`-L NAME'
+`--language=NAME'
+     Specifies the language of the input files.  The supported languages
+     are `C', `C++', `ObjectiveC', `PO', `Java', `YCP'.
+
+`-C'
+`--c++'
+     This is a shorthand for `--language=C++'.
 
-`-I LIST'
-`--input-path=LIST'
-     List of directories searched for input files.
+   By default the language is guessed depending on the input file name
+extension.
+
+Operation mode
+--------------
 
 `-j'
 `--join-existing'
      Join messages with existing file.
 
-`-k WORD'
+`-x FILE'
+`--exclude-file=FILE'
+     Entries from FILE are not extracted.  FILE should be a PO or POT
+     file.
+
+`-c [TAG]'
+`--add-comments[=TAG]'
+     Place comment block with TAG (or those preceding keyword lines) in
+     output file.
+
+Language=C/C++ specific options
+-------------------------------
+
+`-a'
+`--extract-all'
+     Extract all strings.
+
+`-k KEYWORDSPEC'
 `--keyword[=KEYWORDSPEC]'
      Additional keyword to be looked for (without KEYWORDSPEC means not
      to use default keywords).
@@ -812,381 +945,181 @@ Invoking the `xgettext' Program
      `dcgettext:2', `ngettext:1,2', `dngettext:2,3', `dcngettext:2,3',
      and `gettext_noop'.
 
-`-m [STRING]'
-`--msgstr-prefix[=STRING]'
-     Use STRING or "" as prefix for msgstr entries.
-
-`-M [STRING]'
-`--msgstr-suffix[=STRING]'
-     Use STRING or "" as suffix for msgstr entries.
-
-`--no-location'
-     Do not write `#: FILENAME:LINE' lines.
-
-`-n'
-`--add-location'
-     Generate `#: FILENAME:LINE' lines (default).
-
-`--omit-header'
-     Don't write header with `msgid ""' entry.
-
-     This is useful for testing purposes because it eliminates a source
-     of variance for generated `.gmo' files.  We can ship some of these
-     files in the GNU `gettext' package, and the result of regenerating
-     them through `msgfmt' should yield the same values.
-
-`-p DIR'
-`--output-dir=DIR'
-     Output files will be placed in directory DIR.
-
-`-s'
-`--sort-output'
-     Generate sorted output and remove duplicates.
-
-`--strict'
-     Write out a strict Uniforum conforming PO file.
-
-`-v'
-`--version'
-     Output version information and exit.
-
-`-x FILE'
-`--exclude-file=FILE'
-     Entries from FILE are not extracted.
+`-T'
+`--trigraphs'
+     Understand ANSI C trigraphs for input.
 
-   Search path for supplementary PO files is:
-`/usr/local/share/nls/src/'.
+`--debug'
+     Use the flags `c-format' and `possible-c-format' to show who was
+     responsible for marking a message as a format string.  The latter
+     form is used if the `xgettext' program decided, the format form is
+     used if the programmer prescribed it.
 
-   If INPUTFILE is `-', standard input is read.
+     By default only the `c-format' form is used.  The translator should
+     not have to care about these details.
 
    This implementation of `xgettext' is able to process a few awkward
 cases, like strings in preprocessor macros, ANSI concatenation of
 adjacent strings, and escaped end of lines for continued strings.
 
-\1f
-File: gettext.info,  Node: Creating,  Next: Updating,  Prev: Template,  Up: Top
-
-Creating a New PO File
-**********************
-
-   When starting a new translation, the translator copies the
-`PACKAGE.pot' template file to a file called `LANG.po'.  Then she
-modifies the initial comments and the header entry of this file.
-
-   The initial comments "SOME DESCRIPTIVE TITLE", "YEAR" and "FIRST
-AUTHOR <EMAIL@ADDRESS>, YEAR" ought to be replaced by sensible
-information.  This can be done in any text editor; if Emacs is used and
-it switched to PO mode automatically (because it has recognized the
-file's suffix), you can disable it by typing `M-x fundamental-mode'.
-
-   Modifying the header entry can already be done using PO mode: in
-Emacs, type `M-x po-mode RET' and then `RET' again to start editing the
-entry.  You should fill in the following fields.
-
-Project-Id-Version
-     This is the name and version of the package.
-
-POT-Creation-Date
-     This has already been filled in by `xgettext'.
-
-PO-Revision-Date
-     You don't need to fill this in. It will be filled by the Emacs PO
-     mode when you save the file.
-
-Last-Translator
-     Fill in your name and email address (without double quotes).
-
-Language-Team
-     Fill in the English name of the language, and the email address of
-     the language team you are part of.
-
-     Before starting a translation, it is a good idea to get in touch
-     with your translation team, not only to make sure you don't do
-     duplicated work, but also to coordinate difficult linguistic
-     issues.
-
-     In the Free Translation Project, each translation team has its own
-     mailing list.  The up-to-date list of teams can be found at the
-     Free Translation Project's homepage,
-     `http://www.iro.umontreal.ca/contrib/po/HTML/', in the "National
-     teams" area.
-
-Content-Type
-     Replace `CHARSET' with the character encoding used for your
-     language, in your locale, or UTF-8.  This field is needed for
-     correct operation of the `msgmerge' and `msgfmt' programs, as well
-     as for users whose locale's character encoding differs from yours
-     (see *Note Charset conversion::).
-
-     You get the character encoding of your locale by running the shell
-     command `locale charmap'.  If the result is `C' or
-     `ANSI_X3.4-1968', which is equivalent to `ASCII' (= `US-ASCII'),
-     it means that your locale is not correctly configured.  In this
-     case, ask your translation team which charset to use.  `ASCII' is
-     not usable for any language except Latin.
-
-     Because the PO files must be portable to operating systems with
-     less advanced internationalization facilities, the character
-     encodings that can be used are limited to those supported by both
-     GNU `libc' and GNU `libiconv'. These are: `ASCII', `ISO-8859-1',
-     `ISO-8859-2', `ISO-8859-3', `ISO-8859-4', `ISO-8859-5',
-     `ISO-8859-6', `ISO-8859-7', `ISO-8859-8', `ISO-8859-9',
-     `ISO-8859-13', `ISO-8859-15', `KOI8-R', `KOI8-U', `CP850',
-     `CP866', `CP874', `CP932', `CP949', `CP950', `CP1250', `CP1251',
-     `CP1252', `CP1253', `CP1254', `CP1255', `CP1256', `CP1257',
-     `GB2312', `EUC-JP', `EUC-KR', `EUC-TW', `BIG5', `BIG5HKSCS',
-     `GBK', `GB18030', `SJIS', `JOHAB', `TIS-620', `VISCII', `UTF-8'.
-
-     In the GNU system, the following encodings are frequently used for
-     the corresponding languages.
-
-        * `ISO-8859-1' for  Afrikaans, Albanian, Basque, Catalan,
-          Dutch, English, Estonian, Faroese,  Finnish, French,
-          Galician, German, Greenlandic, Icelandic, Indonesian,  Irish,
-          Italian, Malay, Norwegian, Portuguese, Spanish, Swedish,
+Output details
+--------------
 
-        * `ISO-8859-2' for  Croatian, Czech, Hungarian, Polish,
-          Romanian, Serbian, Slovak, Slovenian,
+`--force-po'
+     Always write an output file even if no message is defined.
 
-        * `ISO-8859-3' for Maltese,
+`-i'
+`--indent'
+     Write the .po file using indented style.
 
-        * `ISO-8859-5' for Macedonian, Serbian,
+`--no-location'
+     Do not write `#: FILENAME:LINE' lines.
 
-        * `ISO-8859-6' for Arabic,
+`-n'
+`--add-location'
+     Generate `#: FILENAME:LINE' lines (default).
 
-        * `ISO-8859-7' for Greek,
+`--strict'
+     Write out a strict Uniforum conforming PO file.  Note that this
+     Uniforum format should be avoided because it doesn't support the
+     GNU extensions.
 
-        * `ISO-8859-8' for Hebrew,
+`-w NUMBER'
+`--width=NUMBER'
+     Set the output page width.  Long strings in the output files will
+     be split across multiple lines in order to ensure that each line's
+     width (= number of screen columns) is less or equal to the given
+     NUMBER.
 
-        * `ISO-8859-9' for Turkish,
+`-s'
+`--sort-output'
+     Generate sorted output.  Note that using this option makes it much
+     harder for the translator to understand each message's context.
 
-        * `ISO-8859-13' for Latvian, Lithuanian,
+`-F'
+`--sort-by-file'
+     Sort output by file location.
 
-        * `ISO-8859-15' for  Basque, Catalan, Dutch, English, Finnish,
-          French, Galician, German, Irish,  Italian, Portuguese,
-          Spanish, Swedish,
+`--omit-header'
+     Don't write header with `msgid ""' entry.
 
-        * `KOI8-R' for Russian,
+     This is useful for testing purposes because it eliminates a source
+     of variance for generated `.gmo' files.  With `--omit-header', two
+     invocations of `xgettext' on the same files with the same options
+     at different times are guaranteed to produce the same results.
 
-        * `KOI8-U' for Ukrainian,
+`--foreign-user'
+     Omit FSF copyright in output.  This can be useful for translators
+     outside the GNU project.
 
-        * `CP1251' for Bulgarian, Byelorussian,
+`-m [STRING]'
+`--msgstr-prefix[=STRING]'
+     Use STRING (or "" if not specified) as prefix for msgstr entries.
 
-        * `GB2312', `GBK', `GB18030'  for simplified writing of Chinese,
+`-M [STRING]'
+`--msgstr-suffix[=STRING]'
+     Use STRING (or "" if not specified) as suffix for msgstr entries.
 
-        * `BIG5', `BIG5HKSCS'  for traditional writing of Chinese,
+Informative output
+------------------
 
-        * `EUC-JP' for Japanese,
+`-h'
+`--help'
+     Display this help and exit.
 
-        * `EUC-KR' for Korean,
+`-V'
+`--version'
+     Output version information and exit.
 
-        * `TIS-620' for Thai,
+\1f
+File: gettext.info,  Node: Creating,  Next: Updating,  Prev: Template,  Up: Top
 
-        * `UTF-8' for any language, including those listed above.
+Creating a New PO File
+**********************
 
-     When single quote characters or double quote characters are used in
-     translations for your language, and your locale's encoding is one
-     of the ISO-8859-* charsets, it is best if you create your PO files
-     in UTF-8 encoding, instead of your locale's encoding.  This is
-     because in UTF-8 the real quote characters can be represented
-     (single quote characters: U+2018, U+2019, double quote characters:
-     U+201C, U+201D), whereas none of ISO-8859-* charsets has them all.
-     Users in UTF-8 locales will see the real quote characters,
-     whereas users in ISO-8859-* locales will see the vertical
-     apostrophe and the vertical double quote instead (because that's
-     what the character set conversion will transliterate them to).
+   When starting a new translation, the translator creates a file called
+`LANG.po', as a copy of the `PACKAGE.pot' template file with
+modifications in the initial comments (at the beginning of the file)
+and in the header entry (the first entry, near the beginning of the
+file).
 
-     To enter such quote characters under X11, you can change your
-     keyboard mapping using the `xmodmap' program.  The X11 names of
-     the quote characters are "leftsinglequotemark",
-     "rightsinglequotemark", "leftdoublequotemark",
-     "rightdoublequotemark", "singlelowquotemark", "doublelowquotemark".
+   The easiest way to do so is by use of the `msginit' program.  For
+example:
 
-     Note that only recent versions of GNU Emacs support the UTF-8
-     encoding: Emacs 20 with Mule-UCS, and Emacs 21.  As of January
-     2001, XEmacs doesn't support the UTF-8 encoding.
+     $ cd PACKAGE-VERSION
+     $ cd po
+     $ msginit --verbose
 
-     The character encoding name can be written in either upper or
-     lower case.  Usually upper case is preferred.
+   The alternative way is to do the copy and modifications by hand.  To
+do so, the translator copies `PACKAGE.pot' to `LANG.po'.  Then she
+modifies the initial comments and the header entry of this file.
 
-Content-Transfer-Encoding
-     Set this to `8-bit'.
+* Menu:
 
-Plural-Forms
-     This field is optional.  It is only needed if the PO file has
-     plural forms.  You can find them by searching for the
-     `msgid_plural' keyword.  The format of the plural forms field is
-     described in *Note Plural forms::.
+* msginit Invocation::          Invoking the `msginit' Program
+* Header Entry::                Filling in the Header Entry
 
 \1f
-File: gettext.info,  Node: Updating,  Next: Binaries,  Prev: Creating,  Up: Top
+File: gettext.info,  Node: msginit Invocation,  Next: Header Entry,  Prev: Creating,  Up: Creating
 
-Updating Existing PO Files
-**************************
+Invoking the `msginit' Program
+==============================
 
-* Menu:
+     msginit [OPTION]
 
-* msgmerge Invocation::         Invoking the `msgmerge' Program
-* Translated Entries::          Translated Entries
-* Fuzzy Entries::               Fuzzy Entries
-* Untranslated Entries::        Untranslated Entries
-* Obsolete Entries::            Obsolete Entries
-* Modifying Translations::      Modifying Translations
-* Modifying Comments::          Modifying Comments
-* Subedit::                     Mode for Editing Translations
-* C Sources Context::           C Sources Context
-* Auxiliary::                   Consulting Auxiliary PO Files
-* Compendium::                  Using Translation Compendiums
+   The `msginit' program creates a new PO file, initializing the meta
+information with values from the user's environment.
 
-\1f
-File: gettext.info,  Node: msgmerge Invocation,  Next: Translated Entries,  Prev: Updating,  Up: Updating
+Input file location
+-------------------
 
-Invoking the `msgmerge' Program
-===============================
+`-i INPUTFILE'
+`--input=INPUTFILE'
+     Input POT file.
 
-\1f
-File: gettext.info,  Node: Translated Entries,  Next: Fuzzy Entries,  Prev: msgmerge Invocation,  Up: Updating
+   If no INPUTFILE is given, the current directory is searched for the
+POT file.  If it is `-', standard input is read.
 
-Translated Entries
-==================
+Output file location
+--------------------
 
-   Each PO file entry for which the `msgstr' field has been filled with
-a translation, and which is not marked as fuzzy (*note Fuzzy Entries::),
-is a said to be a "translated" entry.  Only translated entries will
-later be compiled by GNU `msgfmt' and become usable in programs.  Other
-entry types will be excluded; translation will not occur for them.
+`-o FILE'
+`--output-file=FILE'
+     Write output to specified PO file.
 
-   Some commands are more specifically related to translated entry
-processing.
+   If no output file is given, it depends on the `--locale' option or
+the user's locale setting.  If it is `-', the results are written to
+standard output.
 
-`t'
-     Find the next translated entry.
+Output details
+--------------
 
-`M-t'
-     Find the previous translated entry.
+`-l LL_CC'
+`--locale=LL_CC'
+     Set target locale.  LL should be a language code, and CC should be
+     a country code.  The command `locale -a' can be used to output a
+     list of all installed locales.  The default is the user's locale
+     setting.
 
-   The commands `t' (`po-next-translated-entry') and `M-t'
-(`po-previous-transted-entry') move forwards or backwards, chasing for
-an translated entry.  If none is found, the search is extended and
-wraps around in the PO file buffer.
+`--no-translator'
+     Declares that the PO file will not have a human translator and is
+     instead automatically generated.
 
-   Translated entries usually result from the translator having edited
-in a translation for them, *Note Modifying Translations::.  However, if
-the variable `po-auto-fuzzy-on-edit' is not `nil', the entry having
-received a new translation first becomes a fuzzy entry, which ought to
-be later unfuzzied before becoming an official, genuine translated
-entry.  *Note Fuzzy Entries::.
+`-w NUMBER'
+`--width=NUMBER'
+     Set the output page width.  Long strings in the output files will
+     be split across multiple lines in order to ensure that each line's
+     width (= number of screen columns) is less or equal to the given
+     NUMBER.
 
-\1f
-File: gettext.info,  Node: Fuzzy Entries,  Next: Untranslated Entries,  Prev: Translated Entries,  Up: Updating
-
-Fuzzy Entries
-=============
-
-   Each PO file entry may have a set of "attributes", which are
-qualities given a name and explicitely associated with the translation,
-using a special system comment.  One of these attributes has the name
-`fuzzy', and entries having this attribute are said to have a fuzzy
-translation.  They are called fuzzy entries, for short.
-
-   Fuzzy entries, even if they account for translated entries for most
-other purposes, usually call for revision by the translator.  Those may
-be produced by applying the program `msgmerge' to update an older
-translated PO files according to a new PO template file, when this tool
-hypothesises that some new `msgid' has been modified only slightly out
-of an older one, and chooses to pair what it thinks to be the old
-translation for the new modified entry.  The slight alteration in the
-original string (the `msgid' string) should often be reflected in the
-translated string, and this requires the intervention of the
-translator.  For this reason, `msgmerge' might mark some entries as
-being fuzzy.
-
-   Also, the translator may decide herself to mark an entry as fuzzy
-for her own convenience, when she wants to remember that the entry has
-to be later revisited.  So, some commands are more specifically related
-to fuzzy entry processing.
-
-`f'
-     Find the next fuzzy entry.
-
-`M-f'
-     Find the previous fuzzy entry.
-
-`<TAB>'
-     Remove the fuzzy attribute of the current entry.
-
-   The commands `f' (`po-next-fuzzy') and `M-f' (`po-previous-fuzzy')
-move forwards or backwards, chasing for a fuzzy entry.  If none is
-found, the search is extended and wraps around in the PO file buffer.
-
-   The command `<TAB>' (`po-unfuzzy') removes the fuzzy attribute
-associated with an entry, usually leaving it translated.  Further, if
-the variable `po-auto-select-on-unfuzzy' has not the `nil' value, the
-`<TAB>' command will automatically chase for another interesting entry
-to work on.  The initial value of `po-auto-select-on-unfuzzy' is `nil'.
-
-   The initial value of `po-auto-fuzzy-on-edit' is `nil'.  However, if
-the variable `po-auto-fuzzy-on-edit' is set to `t', any entry edited
-through the `<RET>' command is marked fuzzy, as a way to ensure some
-kind of double check, later.  In this case, the usual paradigm is that
-an entry becomes fuzzy (if not already) whenever the translator
-modifies it.  If she is satisfied with the translation, she then uses
-`<TAB>' to pick another entry to work on, clearing the fuzzy attribute
-on the same blow.  If she is not satisfied yet, she merely uses `<SPC>'
-to chase another entry, leaving the entry fuzzy.
-
-   The translator may also use the `<DEL>' command
-(`po-fade-out-entry') over any translated entry to mark it as being
-fuzzy, when she wants to easily leave a trace she wants to later return
-working at this entry.
-
-   Also, when time comes to quit working on a PO file buffer with the
-`q' command, the translator is asked for confirmation, if fuzzy string
-still exists.
+Informative output
+------------------
 
-\1f
-File: gettext.info,  Node: Untranslated Entries,  Next: Obsolete Entries,  Prev: Fuzzy Entries,  Up: Updating
-
-Untranslated Entries
-====================
-
-   When `xgettext' originally creates a PO file, unless told otherwise,
-it initializes the `msgid' field with the untranslated string, and
-leaves the `msgstr' string to be empty.  Such entries, having an empty
-translation, are said to be "untranslated" entries.  Later, when the
-programmer slightly modifies some string right in the program, this
-change is later reflected in the PO file by the appearance of a new
-untranslated entry for the modified string.
-
-   The usual commands moving from entry to entry consider untranslated
-entries on the same level as active entries.  Untranslated entries are
-easily recognizable by the fact they end with `msgstr ""'.
-
-   The work of the translator might be (quite naively) seen as the
-process of seeking for an untranslated entry, editing a translation for
-it, and repeating these actions until no untranslated entries remain.
-Some commands are more specifically related to untranslated entry
-processing.
-
-`u'
-     Find the next untranslated entry.
-
-`M-u'
-     Find the previous untranslated entry.
-
-`k'
-     Turn the current entry into an untranslated one.
-
-   The commands `u' (`po-next-untranslated-entry') and `M-u'
-(`po-previous-untransted-entry') move forwards or backwards, chasing
-for an untranslated entry.  If none is found, the search is extended
-and wraps around in the PO file buffer.
-
-   An entry can be turned back into an untranslated entry by merely
-emptying its translation, using the command `k' (`po-kill-msgstr').
-*Note Modifying Translations::.
-
-   Also, when time comes to quit working on a PO file buffer with the
-`q' command, the translator is asked for confirmation, if some
-untranslated string still exists.
+`-h'
+`--help'
+     Display this help and exit.
+
+`-V'
+`--version'
+     Output version information and exit.
 
index 20f4cf6697f94794acb2c26c6980e27c6d1879d7..e5feacb3c7dfbf78ecde7ab106249e26374c2a7c 100644 (file)
@@ -30,6 +30,482 @@ manual into another language, under the above conditions for modified
 versions, except that this permission notice may be stated in a
 translation approved by the Foundation.
 
+\1f
+File: gettext.info,  Node: Header Entry,  Prev: msginit Invocation,  Up: Creating
+
+Filling in the Header Entry
+===========================
+
+   The initial comments "SOME DESCRIPTIVE TITLE", "YEAR" and "FIRST
+AUTHOR <EMAIL@ADDRESS>, YEAR" ought to be replaced by sensible
+information.  This can be done in any text editor; if Emacs is used and
+it switched to PO mode automatically (because it has recognized the
+file's suffix), you can disable it by typing `M-x fundamental-mode'.
+
+   Modifying the header entry can already be done using PO mode: in
+Emacs, type `M-x po-mode RET' and then `RET' again to start editing the
+entry.  You should fill in the following fields.
+
+Project-Id-Version
+     This is the name and version of the package.
+
+POT-Creation-Date
+     This has already been filled in by `xgettext'.
+
+PO-Revision-Date
+     You don't need to fill this in. It will be filled by the Emacs PO
+     mode when you save the file.
+
+Last-Translator
+     Fill in your name and email address (without double quotes).
+
+Language-Team
+     Fill in the English name of the language, and the email address or
+     homepage URL of the language team you are part of.
+
+     Before starting a translation, it is a good idea to get in touch
+     with your translation team, not only to make sure you don't do
+     duplicated work, but also to coordinate difficult linguistic
+     issues.
+
+     In the Free Translation Project, each translation team has its own
+     mailing list.  The up-to-date list of teams can be found at the
+     Free Translation Project's homepage,
+     `http://www.iro.umontreal.ca/contrib/po/HTML/', in the "National
+     teams" area.
+
+Content-Type
+     Replace `CHARSET' with the character encoding used for your
+     language, in your locale, or UTF-8.  This field is needed for
+     correct operation of the `msgmerge' and `msgfmt' programs, as well
+     as for users whose locale's character encoding differs from yours
+     (see *Note Charset conversion::).
+
+     You get the character encoding of your locale by running the shell
+     command `locale charmap'.  If the result is `C' or
+     `ANSI_X3.4-1968', which is equivalent to `ASCII' (= `US-ASCII'),
+     it means that your locale is not correctly configured.  In this
+     case, ask your translation team which charset to use.  `ASCII' is
+     not usable for any language except Latin.
+
+     Because the PO files must be portable to operating systems with
+     less advanced internationalization facilities, the character
+     encodings that can be used are limited to those supported by both
+     GNU `libc' and GNU `libiconv'. These are: `ASCII', `ISO-8859-1',
+     `ISO-8859-2', `ISO-8859-3', `ISO-8859-4', `ISO-8859-5',
+     `ISO-8859-6', `ISO-8859-7', `ISO-8859-8', `ISO-8859-9',
+     `ISO-8859-13', `ISO-8859-15', `KOI8-R', `KOI8-U', `CP850',
+     `CP866', `CP874', `CP932', `CP949', `CP950', `CP1250', `CP1251',
+     `CP1252', `CP1253', `CP1254', `CP1255', `CP1256', `CP1257',
+     `GB2312', `EUC-JP', `EUC-KR', `EUC-TW', `BIG5', `BIG5-HKSCS',
+     `GBK', `GB18030', `SHIFT_JIS', `JOHAB', `TIS-620', `VISCII',
+     `UTF-8'.
+
+     In the GNU system, the following encodings are frequently used for
+     the corresponding languages.
+
+        * `ISO-8859-1' for  Afrikaans, Albanian, Basque, Catalan,
+          Dutch, English, Estonian, Faroese,  Finnish, French,
+          Galician, German, Greenlandic, Icelandic, Indonesian,  Irish,
+          Italian, Malay, Norwegian, Portuguese, Spanish, Swedish,
+
+        * `ISO-8859-2' for  Croatian, Czech, Hungarian, Polish,
+          Romanian, Serbian, Slovak, Slovenian,
+
+        * `ISO-8859-3' for Maltese,
+
+        * `ISO-8859-5' for Macedonian, Serbian,
+
+        * `ISO-8859-6' for Arabic,
+
+        * `ISO-8859-7' for Greek,
+
+        * `ISO-8859-8' for Hebrew,
+
+        * `ISO-8859-9' for Turkish,
+
+        * `ISO-8859-13' for Latvian, Lithuanian,
+
+        * `ISO-8859-15' for  Basque, Catalan, Dutch, English, Finnish,
+          French, Galician, German, Irish,  Italian, Portuguese,
+          Spanish, Swedish,
+
+        * `KOI8-R' for Russian,
+
+        * `KOI8-U' for Ukrainian,
+
+        * `CP1251' for Bulgarian, Byelorussian,
+
+        * `GB2312', `GBK', `GB18030'  for simplified writing of Chinese,
+
+        * `BIG5', `BIG5-HKSCS'  for traditional writing of Chinese,
+
+        * `EUC-JP' for Japanese,
+
+        * `EUC-KR' for Korean,
+
+        * `TIS-620' for Thai,
+
+        * `UTF-8' for any language, including those listed above.
+
+     When single quote characters or double quote characters are used in
+     translations for your language, and your locale's encoding is one
+     of the ISO-8859-* charsets, it is best if you create your PO files
+     in UTF-8 encoding, instead of your locale's encoding.  This is
+     because in UTF-8 the real quote characters can be represented
+     (single quote characters: U+2018, U+2019, double quote characters:
+     U+201C, U+201D), whereas none of ISO-8859-* charsets has them all.
+     Users in UTF-8 locales will see the real quote characters,
+     whereas users in ISO-8859-* locales will see the vertical
+     apostrophe and the vertical double quote instead (because that's
+     what the character set conversion will transliterate them to).
+
+     To enter such quote characters under X11, you can change your
+     keyboard mapping using the `xmodmap' program.  The X11 names of
+     the quote characters are "leftsinglequotemark",
+     "rightsinglequotemark", "leftdoublequotemark",
+     "rightdoublequotemark", "singlelowquotemark", "doublelowquotemark".
+
+     Note that only recent versions of GNU Emacs support the UTF-8
+     encoding: Emacs 20 with Mule-UCS, and Emacs 21.  As of January
+     2001, XEmacs doesn't support the UTF-8 encoding.
+
+     The character encoding name can be written in either upper or
+     lower case.  Usually upper case is preferred.
+
+Content-Transfer-Encoding
+     Set this to `8bit'.
+
+Plural-Forms
+     This field is optional.  It is only needed if the PO file has
+     plural forms.  You can find them by searching for the
+     `msgid_plural' keyword.  The format of the plural forms field is
+     described in *Note Plural forms::.
+
+\1f
+File: gettext.info,  Node: Updating,  Next: Manipulating,  Prev: Creating,  Up: Top
+
+Updating Existing PO Files
+**************************
+
+* Menu:
+
+* msgmerge Invocation::         Invoking the `msgmerge' Program
+* Translated Entries::          Translated Entries
+* Fuzzy Entries::               Fuzzy Entries
+* Untranslated Entries::        Untranslated Entries
+* Obsolete Entries::            Obsolete Entries
+* Modifying Translations::      Modifying Translations
+* Modifying Comments::          Modifying Comments
+* Subedit::                     Mode for Editing Translations
+* C Sources Context::           C Sources Context
+* Auxiliary::                   Consulting Auxiliary PO Files
+* Compendium::                  Using Translation Compendia
+
+\1f
+File: gettext.info,  Node: msgmerge Invocation,  Next: Translated Entries,  Prev: Updating,  Up: Updating
+
+Invoking the `msgmerge' Program
+===============================
+
+     msgmerge [OPTION] DEF.po REF.pot
+
+   The `msgmerge' program merges two Uniforum style .po files together.
+The DEF.po file is an existing PO file with translations which will be
+taken over to the newly created file as long as they still match;
+comments will be preserved, but extracted comments and file positions
+will be discarded.  The REF.pot file is the last created PO file with
+up-to-date source references but old translations, or a PO Template file
+(generally created by `xgettext'); any translations or comments in the
+file will be discarded, however dot comments and file positions will be
+preserved.  Where an exact match cannot be found, fuzzy matching is
+used to produce better results.
+
+Input file location
+-------------------
+
+`DEF.po'
+     Translations referring to old sources.
+
+`REF.pot'
+     References to the new sources.
+
+`-D DIRECTORY'
+`--directory=DIRECTORY'
+     Add DIRECTORY to the list of directories.  Source files are
+     searched relative to this list of directories.  The resulting `.po'
+     file will be written relative to the current directory, though.
+
+`-C FILE'
+`--compendium=FILE'
+     Specify an additional library of message translations.  *Note
+     Compendium::.  This option may be specified more than once.
+
+Operation mode
+--------------
+
+`-U'
+`--update'
+     Update DEF.po.  Do nothing if DEF.po is already up to date.
+
+Output file location
+--------------------
+
+`-o FILE'
+`--output-file=FILE'
+     Write output to specified file.
+
+   The results are written to standard output if no output file is
+specified or if it is `-'.
+
+Output file location in update mode
+-----------------------------------
+
+   The result is written back to DEF.po.
+
+`--backup=CONTROL'
+     Make a backup of DEF.po
+
+`--suffix=SUFFIX'
+     Override the usual backup suffix.
+
+   The version control method may be selected via the `--backup' option
+or through the `VERSION_CONTROL' environment variable.  Here are the
+values:
+
+`none'
+`off'
+     Never make backups (even if `--backup' is given).
+
+`numbered'
+`t'
+     Make numbered backups.
+
+`existing'
+`nil'
+     Make numbered backups if numbered backups for this file already
+     exist, otherwise make simple backups.
+
+`simple'
+`never'
+     Always make simple backups.
+
+   The backup suffix is `~', unless set with `--suffix' or the
+`SIMPLE_BACKUP_SUFFIX' environment variable.
+
+Operation modifiers
+-------------------
+
+`-m'
+`--multi-domain'
+     Apply REF.pot to each of the domains in DEF.po.
+
+Output details
+--------------
+
+`--force-po'
+     Always write an output file even if it contains no message.
+
+`-i'
+`--indent'
+     Write the .po file using indented style.
+
+`--no-location'
+     Do not write `#: FILENAME:LINE' lines.
+
+`--add-location'
+     Generate `#: FILENAME:LINE' lines (default).
+
+`--strict'
+     Write out a strict Uniforum conforming PO file.  Note that this
+     Uniforum format should be avoided because it doesn't support the
+     GNU extensions.
+
+`-w NUMBER'
+`--width=NUMBER'
+     Set the output page width.  Long strings in the output files will
+     be split across multiple lines in order to ensure that each line's
+     width (= number of screen columns) is less or equal to the given
+     NUMBER.
+
+`-s'
+`--sort-output'
+     Generate sorted output.  Note that using this option makes it much
+     harder for the translator to understand each message's context.
+
+`-F'
+`--sort-by-file'
+     Sort output by file location.
+
+Informative output
+------------------
+
+`-h'
+`--help'
+     Display this help and exit.
+
+`-V'
+`--version'
+     Output version information and exit.
+
+`-v'
+`--verbose'
+     Increase verbosity level.
+
+`-q'
+`--quiet'
+`--silent'
+     Suppress progress indicators.
+
+\1f
+File: gettext.info,  Node: Translated Entries,  Next: Fuzzy Entries,  Prev: msgmerge Invocation,  Up: Updating
+
+Translated Entries
+==================
+
+   Each PO file entry for which the `msgstr' field has been filled with
+a translation, and which is not marked as fuzzy (*note Fuzzy Entries::),
+is a said to be a "translated" entry.  Only translated entries will
+later be compiled by GNU `msgfmt' and become usable in programs.  Other
+entry types will be excluded; translation will not occur for them.
+
+   Some commands are more specifically related to translated entry
+processing.
+
+`t'
+     Find the next translated entry (`po-next-translated-entry').
+
+`T'
+     Find the previous translated entry
+     (`po-previous-translated-entry').
+
+   The commands `t' (`po-next-translated-entry') and `M-t'
+(`po-previous-translated-entry') move forwards or backwards, chasing
+for an translated entry.  If none is found, the search is extended and
+wraps around in the PO file buffer.
+
+   Translated entries usually result from the translator having edited
+in a translation for them, *Note Modifying Translations::.  However, if
+the variable `po-auto-fuzzy-on-edit' is not `nil', the entry having
+received a new translation first becomes a fuzzy entry, which ought to
+be later unfuzzied before becoming an official, genuine translated
+entry.  *Note Fuzzy Entries::.
+
+\1f
+File: gettext.info,  Node: Fuzzy Entries,  Next: Untranslated Entries,  Prev: Translated Entries,  Up: Updating
+
+Fuzzy Entries
+=============
+
+   Each PO file entry may have a set of "attributes", which are
+qualities given a name and explicitely associated with the translation,
+using a special system comment.  One of these attributes has the name
+`fuzzy', and entries having this attribute are said to have a fuzzy
+translation.  They are called fuzzy entries, for short.
+
+   Fuzzy entries, even if they account for translated entries for most
+other purposes, usually call for revision by the translator.  Those may
+be produced by applying the program `msgmerge' to update an older
+translated PO files according to a new PO template file, when this tool
+hypothesises that some new `msgid' has been modified only slightly out
+of an older one, and chooses to pair what it thinks to be the old
+translation for the new modified entry.  The slight alteration in the
+original string (the `msgid' string) should often be reflected in the
+translated string, and this requires the intervention of the
+translator.  For this reason, `msgmerge' might mark some entries as
+being fuzzy.
+
+   Also, the translator may decide herself to mark an entry as fuzzy
+for her own convenience, when she wants to remember that the entry has
+to be later revisited.  So, some commands are more specifically related
+to fuzzy entry processing.
+
+`z'
+     Find the next fuzzy entry (`po-next-fuzzy-entry').
+
+`Z'
+     Find the previous fuzzy entry (`po-previous-fuzzy-entry').
+
+`<TAB>'
+     Remove the fuzzy attribute of the current entry (`po-unfuzzy').
+
+   The commands `z' (`po-next-fuzzy-entry') and `Z'
+(`po-previous-fuzzy-entry') move forwards or backwards, chasing for a
+fuzzy entry.  If none is found, the search is extended and wraps around
+in the PO file buffer.
+
+   The command `<TAB>' (`po-unfuzzy') removes the fuzzy attribute
+associated with an entry, usually leaving it translated.  Further, if
+the variable `po-auto-select-on-unfuzzy' has not the `nil' value, the
+`<TAB>' command will automatically chase for another interesting entry
+to work on.  The initial value of `po-auto-select-on-unfuzzy' is `nil'.
+
+   The initial value of `po-auto-fuzzy-on-edit' is `nil'.  However, if
+the variable `po-auto-fuzzy-on-edit' is set to `t', any entry edited
+through the `<RET>' command is marked fuzzy, as a way to ensure some
+kind of double check, later.  In this case, the usual paradigm is that
+an entry becomes fuzzy (if not already) whenever the translator
+modifies it.  If she is satisfied with the translation, she then uses
+`<TAB>' to pick another entry to work on, clearing the fuzzy attribute
+on the same blow.  If she is not satisfied yet, she merely uses `<SPC>'
+to chase another entry, leaving the entry fuzzy.
+
+   The translator may also use the `<DEL>' command
+(`po-fade-out-entry') over any translated entry to mark it as being
+fuzzy, when she wants to easily leave a trace she wants to later return
+working at this entry.
+
+   Also, when time comes to quit working on a PO file buffer with the
+`q' command, the translator is asked for confirmation, if fuzzy string
+still exists.
+
+\1f
+File: gettext.info,  Node: Untranslated Entries,  Next: Obsolete Entries,  Prev: Fuzzy Entries,  Up: Updating
+
+Untranslated Entries
+====================
+
+   When `xgettext' originally creates a PO file, unless told otherwise,
+it initializes the `msgid' field with the untranslated string, and
+leaves the `msgstr' string to be empty.  Such entries, having an empty
+translation, are said to be "untranslated" entries.  Later, when the
+programmer slightly modifies some string right in the program, this
+change is later reflected in the PO file by the appearance of a new
+untranslated entry for the modified string.
+
+   The usual commands moving from entry to entry consider untranslated
+entries on the same level as active entries.  Untranslated entries are
+easily recognizable by the fact they end with `msgstr ""'.
+
+   The work of the translator might be (quite naively) seen as the
+process of seeking for an untranslated entry, editing a translation for
+it, and repeating these actions until no untranslated entries remain.
+Some commands are more specifically related to untranslated entry
+processing.
+
+`u'
+     Find the next untranslated entry (`po-next-untranslated-entry').
+
+`U'
+     Find the previous untranslated entry
+     (`po-previous-untransted-entry').
+
+`k'
+     Turn the current entry into an untranslated one (`po-kill-msgstr').
+
+   The commands `u' (`po-next-untranslated-entry') and `M-u'
+(`po-previous-untransted-entry') move forwards or backwards, chasing
+for an untranslated entry.  If none is found, the search is extended
+and wraps around in the PO file buffer.
+
+   An entry can be turned back into an untranslated entry by merely
+emptying its translation, using the command `k' (`po-kill-msgstr').
+*Note Modifying Translations::.
+
+   Also, when time comes to quit working on a PO file buffer with the
+`q' command, the translator is asked for confirmation, if some
+untranslated string still exists.
+
 \1f
 File: gettext.info,  Node: Obsolete Entries,  Next: Modifying Translations,  Prev: Untranslated Entries,  Up: Updating
 
@@ -56,13 +532,14 @@ the fact.
 entry processing.
 
 `o'
-     Find the next obsolete entry.
+     Find the next obsolete entry (`po-next-obsolete-entry').
 
-`M-o'
-     Find the previous obsolete entry.
+`O'
+     Find the previous obsolete entry (`po-previous-obsolete-entry').
 
 `<DEL>'
-     Make an active entry obsolete, or zap out an obsolete entry.
+     Make an active entry obsolete, or zap out an obsolete entry
+     (`po-fade-out-entry').
 
    The commands `o' (`po-next-obsolete-entry') and `M-o'
 (`po-previous-obsolete-entry') move forwards or backwards, chasing for
@@ -120,20 +597,24 @@ diagnosed mechanically or reported by a user, the translators have to
 resort to using the following commands for modifying the translations.
 
 `<RET>'
-     Interactively edit the translation.
+     Interactively edit the translation (`po-edit-msgstr').
 
 `<LFD>'
-     Reinitialize the translation with the original, untranslated
-     string.
+`C-j'
+     Reinitialize the translation with the original, untranslated string
+     (`po-msgid-to-msgstr').
 
 `k'
-     Save the translation on the kill ring, and delete it.
+     Save the translation on the kill ring, and delete it
+     (`po-kill-msgstr').
 
 `w'
-     Save the translation on the kill ring, without deleting it.
+     Save the translation on the kill ring, without deleting it
+     (`po-kill-ring-save-msgstr').
 
 `y'
-     Replace the translation, taking the new from the kill ring.
+     Replace the translation, taking the new from the kill ring
+     (`po-yank-msgstr').
 
    The command `<RET>' (`po-edit-msgstr') opens a new Emacs window
 meant to edit in a new translation, or to modify an already existing
@@ -270,16 +751,19 @@ translations, so the general indications given for those apply here.
 *Note Modifying Translations::.
 
 `#'
-     Interactively edit the translator comments.
+     Interactively edit the translator comments (`po-edit-comment').
 
 `K'
-     Save the translator comments on the kill ring, and delete it.
+     Save the translator comments on the kill ring, and delete it
+     (`po-kill-comment').
 
 `W'
-     Save the translator comments on the kill ring, without deleting it.
+     Save the translator comments on the kill ring, without deleting it
+     (`po-kill-ring-save-comment').
 
 `Y'
-     Replace the translator comments, taking the new from the kill ring.
+     Replace the translator comments, taking the new from the kill ring
+     (`po-yank-comment').
 
    These commands parallel PO mode commands for modifying the
 translation strings, and behave much the same way as they do, except
@@ -343,13 +827,13 @@ described in fuller detail.  It installs a few commands over the usual
 editing set of Emacs, which are described below.
 
 `C-c C-c'
-     Complete edition.
+     Complete edition (`po-subedit-exit').
 
 `C-c C-k'
-     Abort edition.
+     Abort edition (`po-subedit-abort').
 
 `C-c C-a'
-     Consult auxiliary PO files.
+     Consult auxiliary PO files (`po-subedit-cycle-auxiliary').
 
    The window's contents represents a translation for a given message,
 or a translator comment.  The translator may modify this window to her
@@ -366,11 +850,12 @@ original translation or comment.  Another way would be for her to exit
 normally with `C-c C-c', then type `U' once for undoing the whole
 effect of last edition.
 
-   The command `C-c C-a' allows for glancing through translations
-already achieved in other languages, directly while editing the current
-translation.  This may be quite convenient when the translator is fluent
-at many languages, but of course, only makes sense when such completed
-auxiliary PO files are already available to her (*note Auxiliary::).
+   The command `C-c C-a' (`po-subedit-cycle-auxiliary') allows for
+glancing through translations already achieved in other languages,
+directly while editing the current translation.  This may be quite
+convenient when the translator is fluent at many languages, but of
+course, only makes sense when such completed auxiliary PO files are
+already available to her (*note Auxiliary::).
 
    Functions found on `po-subedit-mode-hook', if any, are executed after
 the string has been inserted in the edit buffer.
@@ -447,18 +932,21 @@ program source context for a PO file entry.
 
 `s'
      Resume the display of a program source context, or cycle through
-     them.
+     them (`po-cycle-source-reference').
 
 `M-s'
-     Display of a program source context selected by menu.
+     Display of a program source context selected by menu
+     (`po-select-source-reference').
 
 `S'
-     Add a directory to the search path for source files.
+     Add a directory to the search path for source files
+     (`po-consider-source-path').
 
 `M-S'
-     Delete a directory from the search path for source files.
+     Delete a directory from the search path for source files
+     (`po-ignore-source-path').
 
-   The commands `s' (`po-cycle-reference') and `M-s'
+   The commands `s' (`po-cycle-source-reference') and `M-s'
 (`po-select-source-reference') both open another window displaying some
 source program file, and already positioned in such a way that it shows
 an actual use of the string to be translated.  By doing so, the command
@@ -529,16 +1017,19 @@ PO files, and also for showing contexts for the entry under work.
    Here are the auxiliary file commands available in PO mode.
 
 `a'
-     Seek auxiliary files for another translation for the same entry.
+     Seek auxiliary files for another translation for the same entry
+     (`po-cycle-auxiliary').
 
-`M-a'
-     Switch to a particular auxiliary file.
+`C-c C-a'
+     Switch to a particular auxiliary file (`po-select-auxiliary').
 
 `A'
-     Declare this PO file as an auxiliary file.
+     Declare this PO file as an auxiliary file
+     (`po-consider-as-auxiliary').
 
 `M-A'
-     Remove this PO file from the list of auxiliary files.
+     Remove this PO file from the list of auxiliary files
+     (`po-ignore-as-auxiliary').
 
    Command `A' (`po-consider-as-auxiliary') adds the current PO file to
 the list of auxiliary files, while command `M-A'
@@ -553,9 +1044,9 @@ file is also made into an auxiliary file, if not already.  So, `a' in
 this newly displayed PO file will seek another PO file, and so on, so
 repeating `a' will eventually yield back the original PO file.
 
-   The command `M-a' (`po-select-auxiliary') asks the translator for
-her choice of a particular auxiliary file, with completion, and then
-switches to that selected PO file.  The command also checks if the
+   The command `C-c C-a' (`po-select-auxiliary') asks the translator
+for her choice of a particular auxiliary file, with completion, and
+then switches to that selected PO file.  The command also checks if the
 selected file has an `msgid' field identical as the one for the current
 entry, and if yes, this entry becomes current.  Otherwise, the cursor
 of the selected file is left undisturbed.
@@ -577,458 +1068,119 @@ resolved, the translator should stay aware of normalisation issues.
 \1f
 File: gettext.info,  Node: Compendium,  Prev: Auxiliary,  Up: Updating
 
-Using Translation Compendiums
-=============================
-
-   Compendiums are yet to be implemented.
+Using Translation Compendia
+===========================
 
-   An incoming PO mode feature will let the translator maintain a
-compendium of already achieved translations.  A "compendium" is a
-special PO file containing a set of translations recurring in many
-different packages.  The translator will be given commands for adding
-entries to her compendium, and later initializing untranslated entries,
-or updating already translated entries, from translations kept in the
-compendium.  For this to work, however, the compendium would have to be
-normalized.  *Note Normalizing::.
-
-\1f
-File: gettext.info,  Node: Binaries,  Next: Users,  Prev: Updating,  Up: Top
-
-Producing Binary MO Files
-*************************
+   A "compendium" is a special PO file containing a set of translations
+recurring in many different packages.  The translator can use gettext
+tools to build a new compendium, to add entries to her compendium, and
+to initialize untranslated entries, or to update already translated
+entries, from translations kept in the compendium.
 
 * Menu:
 
-* msgfmt Invocation::           Invoking the `msgfmt' Program
-* MO Files::                    The Format of GNU MO Files
+* Creating Compendia::          Merging translations for later use
+* Using Compendia::             Using older translations if they fit
 
 \1f
-File: gettext.info,  Node: msgfmt Invocation,  Next: MO Files,  Prev: Binaries,  Up: Binaries
-
-Invoking the `msgfmt' Program
-=============================
-
-     Usage: msgfmt [OPTION] FILENAME.po ...
-
-`-a NUMBER'
-`--alignment=NUMBER'
-     Align strings to NUMBER bytes (default: 1).
-
-`-h'
-`--help'
-     Display this help and exit.
-
-`--no-hash'
-     Binary file will not include the hash table.
-
-`-o FILE'
-`--output-file=FILE'
-     Specify output file name as FILE.
-
-`--strict'
-     Direct the program to work strictly following the Uniforum/Sun
-     implementation.  Currently this only affects the naming of the
-     output file.  If this option is not given the name of the output
-     file is the same as the domain name.  If the strict Uniforum mode
-     is enabled the suffix `.mo' is added to the file name if it is not
-     already present.
-
-     We find this behaviour of Sun's implementation rather silly and so
-     by default this mode is _not_ selected.
-
-`-v'
-`--verbose'
-     Detect and diagnose input file anomalies which might represent
-     translation errors.  The `msgid' and `msgstr' strings are studied
-     and compared.  It is considered abnormal that one string starts or
-     ends with a newline while the other does not.
-
-     Also, if the string represents a format string used in a
-     `printf'-like function both strings should have the same number of
-     `%' format specifiers, with matching types.  If the flag
-     `c-format' or `possible-c-format' appears in the special comment
-     <#,> for this entry a check is performed.  For example, the check
-     will diagnose using `%.*s' against `%s', or `%d' against `%s', or
-     `%d' against `%x'.  It can even handle positional parameters.
-
-     Normally the `xgettext' program automatically decides whether a
-     string is a format string or not.  This algorithm is not perfect,
-     though.  It might regard a string as a format string though it is
-     not used in a `printf'-like function and so `msgfmt' might report
-     errors where there are none.  Or the other way round: a string is
-     not regarded as a format string but it is used in a `printf'-like
-     function.
-
-     So solve this problem the programmer can dictate the decision to
-     the `xgettext' program (*note c-format::).  The translator should
-     not consider removing the flag from the <#,> line.  This "fix"
-     would be reversed again as soon as `msgmerge' is called the next
-     time.
+File: gettext.info,  Node: Creating Compendia,  Next: Using Compendia,  Prev: Compendium,  Up: Compendium
 
-`-V'
-`--version'
-     Output version information and exit.
+Creating Compendia
+------------------
 
-   If input file is `-', standard input is read.  If output file is
-`-', output is written to standard output.
+   Basically every PO file consisting of translated entries only can be
+declared as a valid compendium.  Often the translater wants to have
+special compendia; let's consider two cases: `concatenating PO files'
+and `extracting a message subset from a PO file'.
 
-\1f
-File: gettext.info,  Node: MO Files,  Prev: msgfmt Invocation,  Up: Binaries
-
-The Format of GNU MO Files
-==========================
-
-   The format of the generated MO files is best described by a picture,
-which appears below.
-
-   The first two words serve the identification of the file.  The magic
-number will always signal GNU MO files.  The number is stored in the
-byte order of the generating machine, so the magic number really is two
-numbers: `0x950412de' and `0xde120495'.  The second word describes the
-current revision of the file format.  For now the revision is 0.  This
-might change in future versions, and ensures that the readers of MO
-files can distinguish new formats from old ones, so that both can be
-handled correctly.  The version is kept separate from the magic number,
-instead of using different magic numbers for different formats, mainly
-because `/etc/magic' is not updated often.  It might be better to have
-magic separated from internal format version identification.
-
-   Follow a number of pointers to later tables in the file, allowing
-for the extension of the prefix part of MO files without having to
-recompile programs reading them.  This might become useful for later
-inserting a few flag bits, indication about the charset used, new
-tables, or other things.
-
-   Then, at offset O and offset T in the picture, two tables of string
-descriptors can be found.  In both tables, each string descriptor uses
-two 32 bits integers, one for the string length, another for the offset
-of the string in the MO file, counting in bytes from the start of the
-file.  The first table contains descriptors for the original strings,
-and is sorted so the original strings are in increasing lexicographical
-order.  The second table contains descriptors for the translated
-strings, and is parallel to the first table: to find the corresponding
-translation one has to access the array slot in the second array with
-the same index.
-
-   Having the original strings sorted enables the use of simple binary
-search, for when the MO file does not contain an hashing table, or for
-when it is not practical to use the hashing table provided in the MO
-file.  This also has another advantage, as the empty string in a PO
-file GNU `gettext' is usually _translated_ into some system information
-attached to that particular MO file, and the empty string necessarily
-becomes the first in both the original and translated tables, making
-the system information very easy to find.
-
-   The size S of the hash table can be zero.  In this case, the hash
-table itself is not contained in the MO file.  Some people might prefer
-this because a precomputed hashing table takes disk space, and does not
-win _that_ much speed.  The hash table contains indices to the sorted
-array of strings in the MO file.  Conflict resolution is done by double
-hashing.  The precise hashing algorithm used is fairly dependent of GNU
-`gettext' code, and is not documented here.
-
-   As for the strings themselves, they follow the hash file, and each
-is terminated with a <NUL>, and this <NUL> is not counted in the length
-which appears in the string descriptor.  The `msgfmt' program has an
-option selecting the alignment for MO file strings.  With this option,
-each string is separately aligned so it starts at an offset which is a
-multiple of the alignment value.  On some RISC machines, a correct
-alignment will speed things up.
-
-   Plural forms are stored by letting the plural of the original string
-follow the singular of the original string, separated through a <NUL>
-byte.  The length which appears in the string descriptor includes both.
-However, only the singular of the original string takes part in the
-hash table lookup.  The plural variants of the translation are all
-stored consecutively, separated through a <NUL> byte.  Here also, the
-length in the string descriptor includes all of them.
-
-   Nothing prevents a MO file from having embedded <NUL>s in strings.
-However, the program interface currently used already presumes that
-strings are <NUL> terminated, so embedded <NUL>s are somewhat useless.
-But the MO file format is general enough so other interfaces would be
-later possible, if for example, we ever want to implement wide
-characters right in MO files, where <NUL> bytes may accidently appear.
-(No, we don't want to have wide characters in MO files.  They would
-make the file unnecessarily large, and the `wchar_t' type being
-platform dependent, MO files would be platform dependent as well.)
-
-   This particular issue has been strongly debated in the GNU `gettext'
-development forum, and it is expectable that MO file format will evolve
-or change over time.  It is even possible that many formats may later
-be supported concurrently.  But surely, we have to start somewhere, and
-the MO file format described here is a good start.  Nothing is cast in
-concrete, and the format may later evolve fairly easily, so we should
-feel comfortable with the current approach.
-
-             byte
-                  +------------------------------------------+
-               0  | magic number = 0x950412de                |
-                  |                                          |
-               4  | file format revision = 0                 |
-                  |                                          |
-               8  | number of strings                        |  == N
-                  |                                          |
-              12  | offset of table with original strings    |  == O
-                  |                                          |
-              16  | offset of table with translation strings |  == T
-                  |                                          |
-              20  | size of hashing table                    |  == S
-                  |                                          |
-              24  | offset of hashing table                  |  == H
-                  |                                          |
-                  .                                          .
-                  .    (possibly more entries later)         .
-                  .                                          .
-                  |                                          |
-               O  | length & offset 0th string  ----------------.
-           O + 8  | length & offset 1st string  ------------------.
-                   ...                                    ...   | |
-     O + ((N-1)*8)| length & offset (N-1)th string           |  | |
-                  |                                          |  | |
-               T  | length & offset 0th translation  ---------------.
-           T + 8  | length & offset 1st translation  -----------------.
-                   ...                                    ...   | | | |
-     T + ((N-1)*8)| length & offset (N-1)th translation      |  | | | |
-                  |                                          |  | | | |
-               H  | start hash table                         |  | | | |
-                   ...                                    ...   | | | |
-       H + S * 4  | end hash table                           |  | | | |
-                  |                                          |  | | | |
-                  | NUL terminated 0th string  <----------------' | | |
-                  |                                          |    | | |
-                  | NUL terminated 1st string  <------------------' | |
-                  |                                          |      | |
-                   ...                                    ...       | |
-                  |                                          |      | |
-                  | NUL terminated 0th translation  <---------------' |
-                  |                                          |        |
-                  | NUL terminated 1st translation  <-----------------'
-                  |                                          |
-                   ...                                    ...
-                  |                                          |
-                  +------------------------------------------+
+Concatenate PO Files
+....................
 
-\1f
-File: gettext.info,  Node: Users,  Next: Programmers,  Prev: Binaries,  Up: Top
-
-The User's View
-***************
-
-   When GNU `gettext' will truly have reached its goal, average users
-should feel some kind of astonished pleasure, seeing the effect of that
-strange kind of magic that just makes their own native language appear
-everywhere on their screens.  As for naive users, they would ideally
-have no special pleasure about it, merely taking their own language for
-_granted_, and becoming rather unhappy otherwise.
-
-   So, let's try to describe here how we would like the magic to
-operate, as we want the users' view to be the simplest, among all ways
-one could look at GNU `gettext'.  All other software engineers:
-programmers, translators, maintainers, should work together in such a
-way that the magic becomes possible.  This is a long and progressive
-undertaking, and information is available about the progress of the
-Translation Project.
-
-   When a package is distributed, there are two kinds of users:
-"installers" who fetch the distribution, unpack it, configure it,
-compile it and install it for themselves or others to use; and "end
-users" that call programs of the package, once these have been
-installed at their site.  GNU `gettext' is offering magic for both
-installers and end users.
+   To concatenate several valid PO files into one compendium file you
+can use `msgcomm' or `msgcat' (the latter preferred):
 
-* Menu:
+     msgcat -o compendium.po file1.po file2.po
 
-* Matrix::                      The Current `ABOUT-NLS' Matrix
-* Installers::                  Magic for Installers
-* End Users::                   Magic for End Users
+   By default, `msgcat' will accumulate divergent translations for the
+same string.  Those occurences will be marked as `fuzzy' and highly
+visible decorated; calling `msgcat' on `file1.po':
 
-\1f
-File: gettext.info,  Node: Matrix,  Next: Installers,  Prev: Users,  Up: Users
-
-The Current `ABOUT-NLS' Matrix
-==============================
-
-   Languages are not equally supported in all packages using GNU
-`gettext'.  To know if some package uses GNU `gettext', one may check
-the distribution for the `ABOUT-NLS' information file, for some `LL.po'
-files, often kept together into some `po/' directory, or for an `intl/'
-directory.  Internationalized packages have usually many `LL.po' files,
-where LL represents the language.  *Note End Users:: for a complete
-description of the format for LL.
-
-   More generally, a matrix is available for showing the current state
-of the Translation Project, listing which packages are prepared for
-multi-lingual messages, and which languages are supported by each.
-Because this information changes often, this matrix is not kept within
-this GNU `gettext' manual.  This information is often found in file
-`ABOUT-NLS' from various distributions, but is also as old as the
-distribution itself.  A recent copy of this `ABOUT-NLS' file,
-containing up-to-date information, should generally be found on the
-Translation Project sites, and also on most GNU archive sites.
+     #: src/hello.c:200
+     #, c-format
+     msgid "Report bugs to <%s>.\n"
+     msgstr "Comunicar `bugs' a <%s>.\n"
 
-\1f
-File: gettext.info,  Node: Installers,  Next: End Users,  Prev: Matrix,  Up: Users
+and `file2.po':
 
-Magic for Installers
-====================
+     #: src/bye.c:100
+     #, c-format
+     msgid "Report bugs to <%s>.\n"
+     msgstr "Comunicar \"bugs\" a <%s>.\n"
 
-   By default, packages fully using GNU `gettext', internally, are
-installed in such a way that they to allow translation of messages.  At
-_configuration_ time, those packages should automatically detect
-whether the underlying host system already provides the GNU `gettext'
-functions.  If not, the GNU `gettext' library should be automatically
-prepared and used.  Installers may use special options at configuration
-time for changing this behavior.  The command `./configure
---with-included-gettext' bypasses system `gettext' to use the included
-GNU `gettext' instead, while `./configure --disable-nls' produces
-programs totally unable to translate messages.
-
-   Internationalized packages have usually many `LL.po' files.  Unless
-translations are disabled, all those available are installed together
-with the package.  However, the environment variable `LINGUAS' may be
-set, prior to configuration, to limit the installed set.  `LINGUAS'
-should then contain a space separated list of two-letter codes, stating
-which languages are allowed.
+will result in:
 
-\1f
-File: gettext.info,  Node: End Users,  Prev: Installers,  Up: Users
+     #: src/hello.c:200 src/bye.c:100
+     #, fuzzy, c-format
+     msgid "Report bugs to <%s>.\n"
+     msgstr ""
+     "#-#-#-#-#  file1.po  #-#-#-#-#\n"
+     "Comunicar `bugs' a <%s>.\n"
+     "#-#-#-#-#  file2.po  #-#-#-#-#\n"
+     "Comunicar \"bugs\" a <%s>.\n"
 
-Magic for End Users
-===================
+The translator will have to resolve this "conflict" manually; she has
+to decide whether the first or the second version is appropriate (or
+provide a new translation), to delete the "marker lines", and finally
+to remove the `fuzzy' mark.
 
-   We consider here those packages using GNU `gettext' internally, and
-for which the installers did not disable translation at _configure_
-time.  Then, users only have to set the `LANG' environment variable to
-the appropriate `LL_CC' combination prior to using the programs in the
-package.  *Note Matrix::.  For example, let's presume a German site.
-At the shell prompt, users merely have to execute `setenv LANG de_DE'
-(in `csh') or `export LANG; LANG=de_DE' (in `sh').  They could even do
-this from their `.login' or `.profile' file.
+   If the translator knows in advance the first found translation of a
+message is always the best translation she can make use to the
+`--use-first' switch:
 
-\1f
-File: gettext.info,  Node: Programmers,  Next: Translators,  Prev: Users,  Up: Top
-
-The Programmer's View
-*********************
-
-   One aim of the current message catalog implementation provided by
-GNU `gettext' was to use the systems message catalog handling, if the
-installer wishes to do so.  So we perhaps should first take a look at
-the solutions we know about.  The people in the POSIX committee did not
-manage to agree on one of the semi-official standards which we'll
-describe below.  In fact they couldn't agree on anything, so they
-decided only to include an example of an interface.  The major Unix
-vendors are split in the usage of the two most important
-specifications: X/Open's catgets vs. Uniforum's gettext interface.
-We'll describe them both and later explain our solution of this dilemma.
+     msgcat --use-first -o compendium.po file1.po file2.po
 
-* Menu:
+   A good compendium file must not contain `fuzzy' or untranslated
+entries.  If input files are "dirty" you must use the
+`--translated-only' switch (FIXME: TBI) or a manual way to pre- or
+postprocess.  (FIXME: Handling of obsolete entries at this point?
+Proposal: By default, make them valid entries.
+`--no-obsolete-entries'.)
 
-* catgets::                     About `catgets'
-* gettext::                     About `gettext'
-* Comparison::                  Comparing the two interfaces
-* Using libintl.a::             Using libintl.a in own programs
-* gettext grok::                Being a `gettext' grok
-* Temp Programmers::            Temporary Notes for the Programmers Chapter
+Extract a Message Subset from a PO File
+.......................................
 
-\1f
-File: gettext.info,  Node: catgets,  Next: gettext,  Prev: Programmers,  Up: Programmers
-
-About `catgets'
-===============
-
-   The `catgets' implementation is defined in the X/Open Portability
-Guide, Volume 3, XSI Supplementary Definitions, Chapter 5.  But the
-process of creating this standard seemed to be too slow for some of the
-Unix vendors so they created their implementations on preliminary
-versions of the standard.  Of course this leads again to problems while
-writing platform independent programs: even the usage of `catgets' does
-not guarantee a unique interface.
-
-   Another, personal comment on this that only a bunch of committee
-members could have made this interface.  They never really tried to
-program using this interface.  It is a fast, memory-saving
-implementation, an user can happily live with it.  But programmers hate
-it (at least me and some others do...)
-
-   But we must not forget one point: after all the trouble with
-transfering the rights on Unix(tm) they at last came to X/Open, the
-very same who published this specification.  This leads me to making
-the prediction that this interface will be in future Unix standards
-(e.g. Spec1170) and therefore part of all Unix implementation
-(implementations, which are _allowed_ to wear this name).
+   Nobody wants to translate the same messages again and again; thus you
+may wish to have a compendium file containing `getopt.c' messages.
 
-* Menu:
+   To extract a message subset (e.g., all `getopt.c' messages) from an
+existing PO file into one compendium file you can use `msggrep':
 
-* Interface to catgets::        The interface
-* Problems with catgets::       Problems with the `catgets' interface?!
+     msggrep --location src/getopt.c -o compendium.po file.po
 
 \1f
-File: gettext.info,  Node: Interface to catgets,  Next: Problems with catgets,  Prev: catgets,  Up: catgets
-
-The Interface
--------------
-
-   The interface to the `catgets' implementation consists of three
-functions which correspond to those used in file access: `catopen' to
-open the catalog for using, `catgets' for accessing the message tables,
-and `catclose' for closing after work is done.  Prototypes for the
-functions and the needed definitions are in the `<nl_types.h>' header
-file.
+File: gettext.info,  Node: Using Compendia,  Prev: Creating Compendia,  Up: Compendium
 
-   `catopen' is used like in this:
+Using Compendia
+---------------
 
-     nl_catd catd = catopen ("catalog_name", 0);
+   You can use a compendium file to initialize a translation from
+scratch or to update an already existing translation.
 
-   The function takes as the argument the name of the catalog.  This
-usual refers to the name of the program or the package.  The second
-parameter is not further specified in the standard.  I don't even know
-whether it is implemented consistently among various systems.  So the
-common advice is to use `0' as the value.  The return value is a handle
-to the message catalog, equivalent to handles to file returned by
-`open'.
+Initialize a New Translation File
+.................................
 
-   This handle is of course used in the `catgets' function which can be
-used like this:
+   Since a PO file with translations does not exist the translator can
+merely use `/dev/null' to fake the "old" translation file.
 
-     char *translation = catgets (catd, set_no, msg_id, "original string");
+     msgmerge --compendium compendium.po -o file.po /dev/null file.pot
 
-   The first parameter is this catalog descriptor.  The second parameter
-specifies the set of messages in this catalog, in which the message
-described by `msg_id' is obtained.  `catgets' therefore uses a
-three-stage addressing:
+Update an Existing Translation File
+...................................
 
-     catalog name => set number => message ID => translation
+   Concatenate the compendium file(s) and the existing PO, merge the
+result with the POT file and remove the obsolete entries (optional,
+here done using `sed'):
 
-   The fourth argument is not used to address the translation.  It is
-given as a default value in case when one of the addressing stages
-fail.  One important thing to remember is that although the return type
-of catgets is `char *' the resulting string _must not_ be changed.  It
-should better be `const char *', but the standard is published in 1988,
-one year before ANSI C.
-
-The last of these function functions is used and behaves as expected:
-
-     catclose (catd);
-
-   After this no `catgets' call using the descriptor is legal anymore.
-
-\1f
-File: gettext.info,  Node: Problems with catgets,  Prev: Interface to catgets,  Up: catgets
-
-Problems with the `catgets' Interface?!
----------------------------------------
-
-   Now that this description seemed to be really easy -- where are the
-problem we speak of?  In fact the interface could be used in a
-reasonable way, but constructing the message catalogs is a pain.  The
-reason for this lies in the third argument of `catgets': the unique
-message ID.  This has to be a numeric value for all messages in a single
-set.  Perhaps you could imagine the problems keeping such a list while
-changing the source code.  Add a new message here, remove one there.  Of
-course there have been developed a lot of tools helping to organize this
-chaos but one as the other fails in one aspect or the other.  We don't
-want to say that the other approach has no problems but they are far
-more easy to manage.
+     msgcat --use-first -o update.po compendium1.po compendium2.po file.po
+     msgmerge update.po file.pot | sed -e '/^#~/d' > file.po
 
index 7bf6378400964dd327368dcb8c14c8d69a681ef5..634c64345a2dede3a10ddc24b61e93c4e1f5d89a 100644 (file)
@@ -31,1137 +31,1557 @@ versions, except that this permission notice may be stated in a
 translation approved by the Foundation.
 
 \1f
-File: gettext.info,  Node: gettext,  Next: Comparison,  Prev: catgets,  Up: Programmers
+File: gettext.info,  Node: Manipulating,  Next: Binaries,  Prev: Updating,  Up: Top
 
-About `gettext'
-===============
-
-   The definition of the `gettext' interface comes from a Uniforum
-proposal and it is followed by at least one major Unix vendor (Sun) in
-its last developments.  It is not specified in any official standard,
-though.
-
-   The main points about this solution is that it does not follow the
-method of normal file handling (open-use-close) and that it does not
-burden the programmer so many task, especially the unique key handling.
-Of course here is also a unique key needed, but this key is the message
-itself (how long or short it is).  See *Note Comparison:: for a more
-detailed comparison of the two methods.
+Manipulating PO Files
+*********************
 
-   The following section contains a rather detailed description of the
-interface.  We make it that detailed because this is the interface we
-chose for the GNU `gettext' Library.  Programmers interested in using
-this library will be interested in this description.
+   Sometimes it is necessary to manipulate PO files in a way that is
+better performed automatically than by hand.  GNU `gettext' includes a
+complete set of tools for this purpose.
+
+   When merging two packages into a single package, the resulting POT
+file will be the concatenation of the two packages' POT files.  Thus the
+maintainer must concatenate the two existing package translations into
+a single translation catalog, for each language.  This is best performed
+using `msgcat'.  It is then the translators' duty to deal with any
+possible conflicts that arose during the merge.
+
+   When a translator takes over the translation job from another
+translator, but she uses a different character encoding in her locale,
+she will convert the catalog to her character encoding.  This is best
+done through the `msgconv' program.
+
+   When a maintainer takes a source file with tagged messages from
+another package, he should also take the existing translations for this
+source file (and not let the translators do the same job twice).  One
+way to do this is through `msggrep', another is to create a POT file for
+that source file and use `msgmerge'.
+
+   When a translator wants to adjust some translation catalog for a
+special dialect or orthography - for example, German as written in
+Switzerland versus German as written in Germany -, she needs to apply
+some text processing to every message in the catalog.  The tool for
+doing this is `msgexec'.
+
+   Another use of `msgexec' is to produce approximately the POT file for
+which a given PO file was made.  This can be done through a filter
+command like `msgexec sed -e d | sed -e '/^# /d''.  Note that the
+original POT file may have had different comments and different plural
+message counts, that's why it's better to use the original POT file if
+available.
+
+   When third party tools create PO or POT files, sometimes duplicates
+cannot be avoided.  But the GNU `gettext' tools give an error when they
+encounter duplicate msgids in the same file and in the same domain.  To
+merge duplicates, the `msguniq' program can be used.
+
+   `msgcomm' is a more general tool for keeping or throwing away
+duplicates, occurring in different files.
+
+   `msgcmp' can be used to check whether a translation catalog is
+completely translated.
+
+   `msgattrib' can be used to select and extract only the fuzzy or
+untranslated messages of a translation catalog.
+
+   `msgen' is useful as a first step for preparing English translation
+catalogs.  It copies each message's msgid to its msgstr.
 
 * Menu:
 
-* Interface to gettext::        The interface
-* Ambiguities::                 Solving ambiguities
-* Locating Catalogs::           Locating message catalog files
-* Charset conversion::          How to request conversion to Unicode
-* Plural forms::                Additional functions for handling plurals
-* GUI program problems::        Another technique for solving ambiguities
-* Optimized gettext::           Optimization of the *gettext functions
+* msgcat Invocation::           Invoking the `msgcat' Program
+* msgconv Invocation::          Invoking the `msgconv' Program
+* msggrep Invocation::          Invoking the `msggrep' Program
+* msgexec Invocation::          Invoking the `msgexec' Program
+* msguniq Invocation::          Invoking the `msguniq' Program
+* msgcomm Invocation::          Invoking the `msgcomm' Program
+* msgcmp Invocation::           Invoking the `msgcmp' Program
+* msgattrib Invocation::        Invoking the `msgattrib' Program
+* msgen Invocation::            Invoking the `msgen' Program
 
 \1f
-File: gettext.info,  Node: Interface to gettext,  Next: Ambiguities,  Prev: gettext,  Up: gettext
-
-The Interface
--------------
-
-   The minimal functionality an interface must have is a) to select a
-domain the strings are coming from (a single domain for all programs is
-not reasonable because its construction and maintenance is difficult,
-perhaps impossible) and b) to access a string in a selected domain.
-
-   This is principally the description of the `gettext' interface.  It
-has a global domain which unqualified usages reference.  Of course this
-domain is selectable by the user.
-
-     char *textdomain (const char *domain_name);
-
-   This provides the possibility to change or query the current status
-of the current global domain of the `LC_MESSAGE' category.  The
-argument is a null-terminated string, whose characters must be legal in
-the use in filenames.  If the DOMAIN_NAME argument is `NULL', the
-function return the current value.  If no value has been set before,
-the name of the default domain is returned: _messages_.  Please note
-that although the return value of `textdomain' is of type `char *' no
-changing is allowed.  It is also important to know that no checks of
-the availability are made.  If the name is not available you will see
-this by the fact that no translations are provided.
-
-To use a domain set by `textdomain' the function
-
-     char *gettext (const char *msgid);
-
-   is to be used.  This is the simplest reasonable form one can imagine.
-The translation of the string MSGID is returned if it is available in
-the current domain.  If not available the argument itself is returned.
-If the argument is `NULL' the result is undefined.
-
-   One things which should come into mind is that no explicit
-dependency to the used domain is given.  The current value of the
-domain for the `LC_MESSAGES' locale is used.  If this changes between
-two executions of the same `gettext' call in the program, both calls
-reference a different message catalog.
-
-   For the easiest case, which is normally used in internationalized
-packages, once at the beginning of execution a call to `textdomain' is
-issued, setting the domain to a unique name, normally the package name.
-In the following code all strings which have to be translated are
-filtered through the gettext function.  That's all, the package speaks
-your language.
+File: gettext.info,  Node: msgcat Invocation,  Next: msgconv Invocation,  Prev: Manipulating,  Up: Manipulating
+
+Invoking the `msgcat' Program
+=============================
+
+     msgcat [OPTION] [INPUTFILE]...
+
+   The `msgcat' program concatenates and merges the specified PO files.
+It finds messages which are common to two or more of the specified PO
+files.  By using the `--more-than' option, greater commonality may be
+requested before messages are printed.  Conversely, the `--less-than'
+option may be used to specify less commonality before messages are
+printed (i.e.  `--less-than=2' will only print the unique messages).
+Translations, comments and extract comments will be cumulated, except
+that if `--use-first' is specified, they will be taken from the first
+PO file to define them.  File positions from all PO files will be
+cumulated.
+
+Input file location
+-------------------
+
+`INPUTFILE ...'
+     Input files.
+
+`-f FILE'
+`--files-from=FILE'
+     Read the names of the input files from FILE instead of getting
+     them from the command line.
+
+`-D DIRECTORY'
+`--directory=DIRECTORY'
+     Add DIRECTORY to the list of directories.  Source files are
+     searched relative to this list of directories.  The resulting `.po'
+     file will be written relative to the current directory, though.
+
+   If INPUTFILE is `-', standard input is read.
+
+Output file location
+--------------------
+
+`-o FILE'
+`--output-file=FILE'
+     Write output to specified file.
+
+   The results are written to standard output if no output file is
+specified or if it is `-'.
+
+Message selection
+-----------------
+
+`-< NUMBER'
+`--less-than=NUMBER'
+     Print messages with less than NUMBER definitions, defaults to
+     infinite if not set.
+
+`-> NUMBER'
+`--more-than=NUMBER'
+     Print messages with more than NUMBER definitions, defaults to 0 if
+     not set.
+
+`-u'
+`--unique'
+     Shorthand for `--less-than=2'.  Requests that only unique messages
+     be printed.
+
+Output details
+--------------
+
+`-t'
+`--to-code=NAME'
+     Specify encoding for output.
+
+`--use-first'
+     Use first available translation for each message.  Don't merge
+     several translations into one.
+
+`--force-po'
+     Always write an output file even if it contains no message.
+
+`-i'
+`--indent'
+     Write the .po file using indented style.
+
+`--no-location'
+     Do not write `#: FILENAME:LINE' lines.
+
+`-n'
+`--add-location'
+     Generate `#: FILENAME:LINE' lines (default).
+
+`--strict'
+     Write out a strict Uniforum conforming PO file.  Note that this
+     Uniforum format should be avoided because it doesn't support the
+     GNU extensions.
+
+`-w NUMBER'
+`--width=NUMBER'
+     Set the output page width.  Long strings in the output files will
+     be split across multiple lines in order to ensure that each line's
+     width (= number of screen columns) is less or equal to the given
+     NUMBER.
+
+`-s'
+`--sort-output'
+     Generate sorted output.  Note that using this option makes it much
+     harder for the translator to understand each message's context.
+
+`-F'
+`--sort-by-file'
+     Sort output by file location.
+
+Informative output
+------------------
+
+`-h'
+`--help'
+     Display this help and exit.
+
+`-V'
+`--version'
+     Output version information and exit.
 
 \1f
-File: gettext.info,  Node: Ambiguities,  Next: Locating Catalogs,  Prev: Interface to gettext,  Up: gettext
+File: gettext.info,  Node: msgconv Invocation,  Next: msggrep Invocation,  Prev: msgcat Invocation,  Up: Manipulating
 
-Solving Ambiguities
+Invoking the `msgconv' Program
+==============================
+
+     msgconv [OPTION] [INPUTFILE]
+
+   The `msgconv' program converts a translation catalog to a different
+character encoding.
+
+Input file location
 -------------------
 
-   While this single name domain works well for most applications there
-might be the need to get translations from more than one domain.  Of
-course one could switch between different domains with calls to
-`textdomain', but this is really not convenient nor is it fast.  A
-possible situation could be one case subject to discussion during this
-writing:  all error messages of functions in the set of common used
-functions should go into a separate domain `error'.  By this mean we
-would only need to translate them once.  Another case are messages from
-a library, as these _have_ to be independent of the current domain set
-by the application.
-
-For this reasons there are two more functions to retrieve strings:
-
-     char *dgettext (const char *domain_name, const char *msgid);
-     char *dcgettext (const char *domain_name, const char *msgid,
-                      int category);
-
-   Both take an additional argument at the first place, which
-corresponds to the argument of `textdomain'.  The third argument of
-`dcgettext' allows to use another locale but `LC_MESSAGES'.  But I
-really don't know where this can be useful.  If the DOMAIN_NAME is
-`NULL' or CATEGORY has an value beside the known ones, the result is
-undefined.  It should also be noted that this function is not part of
-the second known implementation of this function family, the one found
-in Solaris.
-
-   A second ambiguity can arise by the fact, that perhaps more than one
-domain has the same name.  This can be solved by specifying where the
-needed message catalog files can be found.
-
-     char *bindtextdomain (const char *domain_name,
-                           const char *dir_name);
-
-   Calling this function binds the given domain to a file in the
-specified directory (how this file is determined follows below).
-Especially a file in the systems default place is not favored against
-the specified file anymore (as it would be by solely using
-`textdomain').  A `NULL' pointer for the DIR_NAME parameter returns the
-binding associated with DOMAIN_NAME.  If DOMAIN_NAME itself is `NULL'
-nothing happens and a `NULL' pointer is returned.  Here again as for
-all the other functions is true that none of the return value must be
-changed!
-
-   It is important to remember that relative path names for the
-DIR_NAME parameter can be trouble.  Since the path is always computed
-relative to the current directory different results will be achieved
-when the program executes a `chdir' command.  Relative paths should
-always be avoided to avoid dependencies and unreliabilities.
+`INPUTFILE'
+     Input PO file.
+
+`-D DIRECTORY'
+`--directory=DIRECTORY'
+     Add DIRECTORY to the list of directories.  Source files are
+     searched relative to this list of directories.  The resulting `.po'
+     file will be written relative to the current directory, though.
+
+   If no INPUTFILE is given or if it is `-', standard input is read.
+
+Output file location
+--------------------
+
+`-o FILE'
+`--output-file=FILE'
+     Write output to specified file.
+
+   The results are written to standard output if no output file is
+specified or if it is `-'.
+
+Conversion target
+-----------------
+
+`-t'
+`--to-code=NAME'
+     Specify encoding for output.
+
+   The default encoding is the current locale's encoding.
+
+Output details
+--------------
+
+`--force-po'
+     Always write an output file even if it contains no message.
+
+`-i'
+`--indent'
+     Write the .po file using indented style.
+
+`--no-location'
+     Do not write `#: FILENAME:LINE' lines.
+
+`--add-location'
+     Generate `#: FILENAME:LINE' lines (default).
+
+`--strict'
+     Write out a strict Uniforum conforming PO file.  Note that this
+     Uniforum format should be avoided because it doesn't support the
+     GNU extensions.
+
+`-w NUMBER'
+`--width=NUMBER'
+     Set the output page width.  Long strings in the output files will
+     be split across multiple lines in order to ensure that each line's
+     width (= number of screen columns) is less or equal to the given
+     NUMBER.
+
+`-s'
+`--sort-output'
+     Generate sorted output.  Note that using this option makes it much
+     harder for the translator to understand each message's context.
+
+`-F'
+`--sort-by-file'
+     Sort output by file location.
+
+Informative output
+------------------
+
+`-h'
+`--help'
+     Display this help and exit.
+
+`-V'
+`--version'
+     Output version information and exit.
 
 \1f
-File: gettext.info,  Node: Locating Catalogs,  Next: Charset conversion,  Prev: Ambiguities,  Up: gettext
+File: gettext.info,  Node: msggrep Invocation,  Next: msgexec Invocation,  Prev: msgconv Invocation,  Up: Manipulating
+
+Invoking the `msggrep' Program
+==============================
 
-Locating Message Catalog Files
-------------------------------
+     msggrep [OPTION] [INPUTFILE]
 
-   Because many different languages for many different packages have to
-be stored we need some way to add these information to file message
-catalog files.  The way usually used in Unix environments is have this
-encoding in the file name.  This is also done here.  The directory name
-given in `bindtextdomain's second argument (or the default directory),
-followed by the value and name of the locale and the domain name are
-concatenated:
+   The `msggrep' program extracts all messages of a translation catalog
+that match a given pattern or belong to some given source files.
 
-     DIR_NAME/LOCALE/LC_CATEGORY/DOMAIN_NAME.mo
+Input file location
+-------------------
+
+`INPUTFILE'
+     Input PO file.
+
+`-D DIRECTORY'
+`--directory=DIRECTORY'
+     Add DIRECTORY to the list of directories.  Source files are
+     searched relative to this list of directories.  The resulting `.po'
+     file will be written relative to the current directory, though.
+
+   If no INPUTFILE is given or if it is `-', standard input is read.
+
+Output file location
+--------------------
+
+`-o FILE'
+`--output-file=FILE'
+     Write output to specified file.
+
+   The results are written to standard output if no output file is
+specified or if it is `-'.
+
+Message selection
+-----------------
+
+       [-N SOURCEFILE]... [-M DOMAINNAME]... [-K MSGID-PATTERN] [-T MSGSTR-PATTERN]
+
+   A message is selected if
+   * it comes from one of the specified source files,
+
+   * or if it comes from one of the specified domains,
+
+   * or if `-K' is given and its key (msgid or msgid_plural) matches
+       MSGID-PATTERN,
+
+   * or if `-T' is given and its translation (msgstr) matches
+     MSGSTR-PATTERN.
+
+   When more than one selection criterion is specified, the set of
+selected messages is the union of the selected messages of each
+criterion.
+
+   MSGID-PATTERN or MSGSTR-PATTERN syntax:
+       [-E | -F] [-e PATTERN | -f FILE]...
+   PATTERNs are basic regular expressions by default, or extended
+regular expressions if -E is given, or fixed strings if -F is given.
+
+`-N SOURCEFILE'
+`--location=SOURCEFILE'
+     Select messages extracted from SOURCEFILE.
+
+`-M DOMAINNAME'
+`--domain=DOMAINNAME'
+     Select messages belonging to domain DOMAINNAME.
+
+`-K'
+`--msgid'
+     Start of patterns for the msgid.
+
+`-T'
+`--msgstr'
+     Start of patterns for the msgstr.
+
+`-E'
+`--extended-regexp'
+     Specify that PATTERN is an extended regular expression.
+
+`-F'
+`--fixed-strings'
+     Specify that PATTERN is a set of newline-separated strings.
+
+`-e PATTERN'
+`--regexp=PATTERN'
+     Use PATTERN as a regular expression.
+
+`-f FILE'
+`--file=FILE'
+     Obtain PATTERN from FILE.
+
+`-i'
+`--ignore-case'
+     Ignore case distinctions.
+
+Output details
+--------------
+
+`--force-po'
+     Always write an output file even if it contains no message.
+
+`--indent'
+     Write the .po file using indented style.
+
+`--no-location'
+     Do not write `#: FILENAME:LINE' lines.
+
+`--add-location'
+     Generate `#: FILENAME:LINE' lines (default).
 
-   The default value for DIR_NAME is system specific.  For the GNU
-library, and for packages adhering to its conventions, it's:
-     /usr/local/share/locale
+`--strict'
+     Write out a strict Uniforum conforming PO file.  Note that this
+     Uniforum format should be avoided because it doesn't support the
+     GNU extensions.
 
-LOCALE is the value of the locale whose name is this `LC_CATEGORY'.
-For `gettext' and `dgettext' this `LC_CATEGORY' is always
-`LC_MESSAGES'.(1) The value of the locale is determined through
-`setlocale (LC_CATEGORY, NULL)'.  (2) `dcgettext' specifies the locale
-category by the third argument.
+`-w NUMBER'
+`--width=NUMBER'
+     Set the output page width.  Long strings in the output files will
+     be split across multiple lines in order to ensure that each line's
+     width (= number of screen columns) is less or equal to the given
+     NUMBER.
 
-   ---------- Footnotes ----------
+`--sort-output'
+     Generate sorted output.  Note that using this option makes it much
+     harder for the translator to understand each message's context.
 
-   (1) Some system, eg Ultrix, don't have `LC_MESSAGES'.  Here we use a
-more or less arbitrary value for it, namely 1729, the smallest positive
-integer which can be represented in two different ways as the sum of
-two cubes.
+`--sort-by-file'
+     Sort output by file location.
 
-   (2) When the system does not support `setlocale' its behavior in
-setting the locale values is simulated by looking at the environment
-variables.
+Informative output
+------------------
+
+`-h'
+`--help'
+     Display this help and exit.
+
+`-V'
+`--version'
+     Output version information and exit.
 
 \1f
-File: gettext.info,  Node: Charset conversion,  Next: Plural forms,  Prev: Locating Catalogs,  Up: gettext
-
-How to specify the output character set `gettext' uses
-------------------------------------------------------
-
-   `gettext' not only looks up a translation in a message catalog.  It
-also converts the translation on the fly to the desired output character
-set.  This is useful if the user is working in a different character set
-than the translator who created the message catalog, because it avoids
-distributing variants of message catalogs which differ only in the
-character set.
-
-   The output character set is, by default, the value of `nl_langinfo
-(CODESET)', which depends on the `LC_CTYPE' part of the current locale.
-But programs which store strings in a locale independent way (e.g.
-UTF-8) can request that `gettext' and related functions return the
-translations in that encoding, by use of the `bind_textdomain_codeset'
-function.
-
-   Note that the MSGID argument to `gettext' is not subject to
-character set conversion.  Also, when `gettext' does not find a
-translation for MSGID, it returns MSGID unchanged - independently of
-the current output character set.  It is therefore recommended that all
-MSGIDs be US-ASCII strings.
-
- - Function: char * bind_textdomain_codeset (const char *DOMAINNAME,
-          const char *CODESET)
-     The `bind_textdomain_codeset' function can be used to specify the
-     output character set for message catalogs for domain DOMAINNAME.
-     The CODESET argument must be a valid codeset name which can be used
-     for the `iconv_open' function, or a null pointer.
-
-     If the CODESET parameter is the null pointer,
-     `bind_textdomain_codeset' returns the currently selected codeset
-     for the domain with the name DOMAINNAME. It returns `NULL' if no
-     codeset has yet been selected.
-
-     The `bind_textdomain_codeset' function can be used several times.
-     If used multiple times with the same DOMAINNAME argument, the
-     later call overrides the settings made by the earlier one.
-
-     The `bind_textdomain_codeset' function returns a pointer to a
-     string containing the name of the selected codeset.  The string is
-     allocated internally in the function and must not be changed by the
-     user.  If the system went out of core during the execution of
-     `bind_textdomain_codeset', the return value is `NULL' and the
-     global variable ERRNO is set accordingly.
+File: gettext.info,  Node: msgexec Invocation,  Next: msguniq Invocation,  Prev: msggrep Invocation,  Up: Manipulating
+
+Invoking the `msgexec' Program
+==============================
+
+     msgexec [OPTION] FILTER [FILTER-OPTION]
+
+   The `msgexec' program applies a filter to all translations of a
+translation catalog.
+
+Input file location
+-------------------
+
+`-i INPUTFILE'
+`--input=INPUTFILE'
+     Input PO file.
+
+`-D DIRECTORY'
+`--directory=DIRECTORY'
+     Add DIRECTORY to the list of directories.  Source files are
+     searched relative to this list of directories.  The resulting `.po'
+     file will be written relative to the current directory, though.
+
+   If no INPUTFILE is given or if it is `-', standard input is read.
+
+Output file location
+--------------------
+
+`-o FILE'
+`--output-file=FILE'
+     Write output to specified file.
+
+   The results are written to standard output if no output file is
+specified or if it is `-'.
+
+The filter
+----------
+
+   The FILTER can be any program that reads a translation from standard
+input and writes a modified translation to standard output.  A
+frequently used filter is `sed'.
+
+Useful FILTER-OPTIONs when the FILTER is `sed'
+----------------------------------------------
+
+`-e SCRIPT'
+`--expression=SCRIPT'
+     Add SCRIPT to the commands to be executed.
+
+`-f SCRIPTFILE'
+`--file=SCRIPTFILE'
+     Add the contents of SCRIPTFILE to the commands to be executed.
+
+`-n'
+`--quiet'
+`--silent'
+     Suppress automatic printing of pattern space.
+
+Output details
+--------------
+
+`--force-po'
+     Always write an output file even if it contains no message.
+
+`--indent'
+     Write the .po file using indented style.
+
+`--no-location'
+     Do not write `#: FILENAME:LINE' lines.
+
+`--add-location'
+     Generate `#: FILENAME:LINE' lines (default).
+
+`--strict'
+     Write out a strict Uniforum conforming PO file.  Note that this
+     Uniforum format should be avoided because it doesn't support the
+     GNU extensions.
+
+`-w NUMBER'
+`--width=NUMBER'
+     Set the output page width.  Long strings in the output files will
+     be split across multiple lines in order to ensure that each line's
+     width (= number of screen columns) is less or equal to the given
+     NUMBER.
+
+`-s'
+`--sort-output'
+     Generate sorted output.  Note that using this option makes it much
+     harder for the translator to understand each message's context.
+
+`-F'
+`--sort-by-file'
+     Sort output by file location.
+
+Informative output
+------------------
+
+`-h'
+`--help'
+     Display this help and exit.
+
+`-V'
+`--version'
+     Output version information and exit.
 
 \1f
-File: gettext.info,  Node: Plural forms,  Next: GUI program problems,  Prev: Charset conversion,  Up: gettext
-
-Additional functions for plural forms
--------------------------------------
-
-   The functions of the `gettext' family described so far (and all the
-`catgets' functions as well) have one problem in the real world which
-have been neglected completely in all existing approaches.  What is
-meant here is the handling of plural forms.
-
-   Looking through Unix source code before the time anybody thought
-about internationalization (and, sadly, even afterwards) one can often
-find code similar to the following:
-
-        printf ("%d file%s deleted", n, n == 1 ? "" : "s");
-
-After the first complaints from people internationalizing the code
-people either completely avoided formulations like this or used strings
-like `"file(s)"'.  Both look unnatural and should be avoided.  First
-tries to solve the problem correctly looked like this:
-
-        if (n == 1)
-          printf ("%d file deleted", n);
-        else
-          printf ("%d files deleted", n);
-
-   But this does not solve the problem.  It helps languages where the
-plural form of a noun is not simply constructed by adding an `s' but
-that is all.  Once again people fell into the trap of believing the
-rules their language is using are universal.  But the handling of plural
-forms differs widely between the language families.  For example, Rafal
-Maszkowski `<rzm@mat.uni.torun.pl>' reports:
-
-     In Polish we use e.g. plik (file) this way:
-          1 plik
-          2,3,4 pliki
-          5-21 pliko'w
-          22-24 pliki
-          25-31 pliko'w
-     and so on (o' means 8859-2 oacute which should be rather okreska,
-     similar to aogonek).
-
-   There are two things which can differ between languages (and even
-inside language families);
-
-   * The form how plural forms are build differs.  This is a problem
-     with languages which have many irregularities.  German, for
-     instance, is a drastic case.  Though English and German are part
-     of the same language family (Germanic), the almost regular forming
-     of plural noun forms (appending an `s') is hardly found in German.
-
-   * The number of plural forms differ.  This is somewhat surprising for
-     those who only have experiences with Romanic and Germanic languages
-     since here the number is the same (there are two).
-
-     But other language families have only one form or many forms.  More
-     information on this in an extra section.
-
-   The consequence of this is that application writers should not try to
-solve the problem in their code.  This would be localization since it is
-only usable for certain, hardcoded language environments.  Instead the
-extended `gettext' interface should be used.
-
-   These extra functions are taking instead of the one key string two
-strings and a numerical argument.  The idea behind this is that using
-the numerical argument and the first string as a key, the implementation
-can select using rules specified by the translator the right plural
-form.  The two string arguments then will be used to provide a return
-value in case no message catalog is found (similar to the normal
-`gettext' behavior).  In this case the rules for Germanic language is
-used and it is assumed that the first string argument is the singular
-form, the second the plural form.
-
-   This has the consequence that programs without language catalogs can
-display the correct strings only if the program itself is written using
-a Germanic language.  This is a limitation but since the GNU C library
-(as well as the GNU `gettext' package) are written as part of the GNU
-package and the coding standards for the GNU project require program
-being written in English, this solution nevertheless fulfills its
-purpose.
-
- - Function: char * ngettext (const char *MSGID1, const char *MSGID2,
-          unsigned long int N)
-     The `ngettext' function is similar to the `gettext' function as it
-     finds the message catalogs in the same way.  But it takes two
-     extra arguments.  The MSGID1 parameter must contain the singular
-     form of the string to be converted.  It is also used as the key
-     for the search in the catalog.  The MSGID2 parameter is the plural
-     form.  The parameter N is used to determine the plural form.  If no
-     message catalog is found MSGID1 is returned if `n == 1', otherwise
-     `msgid2'.
-
-     An example for the use of this function is:
-
-          printf (ngettext ("%d file removed", "%d files removed", n), n);
-
-     Please note that the numeric value N has to be passed to the
-     `printf' function as well.  It is not sufficient to pass it only to
-     `ngettext'.
-
- - Function: char * dngettext (const char *DOMAIN, const char *MSGID1,
-          const char *MSGID2, unsigned long int N)
-     The `dngettext' is similar to the `dgettext' function in the way
-     the message catalog is selected.  The difference is that it takes
-     two extra parameter to provide the correct plural form.  These two
-     parameters are handled in the same way `ngettext' handles them.
-
- - Function: char * dcngettext (const char *DOMAIN, const char *MSGID1,
-          const char *MSGID2, unsigned long int N, int CATEGORY)
-     The `dcngettext' is similar to the `dcgettext' function in the way
-     the message catalog is selected.  The difference is that it takes
-     two extra parameter to provide the correct plural form.  These two
-     parameters are handled in the same way `ngettext' handles them.
-
-   Now, how do these functions solve the problem of the plural forms?
-Without the input of linguists (which was not available) it was not
-possible to determine whether there are only a few different forms in
-which plural forms are formed or whether the number can increase with
-every new supported language.
-
-   Therefore the solution implemented is to allow the translator to
-specify the rules of how to select the plural form.  Since the formula
-varies with every language this is the only viable solution except for
-hardcoding the information in the code (which still would require the
-possibility of extensions to not prevent the use of new languages).
-
-   The information about the plural form selection has to be stored in
-the header entry of the PO file (the one with the empty `msgid' string).
-The plural form information looks like this:
-
-     Plural-Forms: nplurals=2; plural=n == 1 ? 0 : 1;
+File: gettext.info,  Node: msguniq Invocation,  Next: msgcomm Invocation,  Prev: msgexec Invocation,  Up: Manipulating
+
+Invoking the `msguniq' Program
+==============================
+
+     msguniq [OPTION] [INPUTFILE]
+
+   The `msguniq' program unifies duplicate translations in a translation
+catalog.  It finds duplicate translations of the same message ID.  Such
+duplicates are invalid input for other programs like `msgfmt',
+`msgmerge' or `msgcat'.  By default, duplicates are merged together.
+When using the `--repeated' option, only duplicates are output, and all
+other messages are discarded.  Comments and extracted comments will be
+cumulated, except that if `--use-first' is specified, they will be
+taken from the first translation.  File positions will be cumulated.
+When using the `--unique' option, duplicates are discarded.
+
+Input file location
+-------------------
+
+`INPUTFILE'
+     Input PO file.
+
+`-D DIRECTORY'
+`--directory=DIRECTORY'
+     Add DIRECTORY to the list of directories.  Source files are
+     searched relative to this list of directories.  The resulting `.po'
+     file will be written relative to the current directory, though.
+
+   If no INPUTFILE is given or if it is `-', standard input is read.
+
+Output file location
+--------------------
+
+`-o FILE'
+`--output-file=FILE'
+     Write output to specified file.
+
+   The results are written to standard output if no output file is
+specified or if it is `-'.
+
+Message selection
+-----------------
 
-   The `nplurals' value must be a decimal number which specifies how
-many different plural forms exist for this language.  The string
-following `plural' is an expression which is using the C language
-syntax.  Exceptions are that no negative numbers are allowed, numbers
-must be decimal, and the only variable allowed is `n'.  This expression
-will be evaluated whenever one of the functions `ngettext',
-`dngettext', or `dcngettext' is called.  The numeric value passed to
-these functions is then substituted for all uses of the variable `n' in
-the expression.  The resulting value then must be greater or equal to
-zero and smaller than the value given as the value of `nplurals'.
+`-d'
+`--repeated'
+     Print only duplicates.
 
-The following rules are known at this point.  The language with families
-are listed.  But this does not necessarily mean the information can be
-generalized for the whole family (as can be easily seen in the table
-below).(1)
+`-u'
+`--unique'
+     Print only unique messages, discard duplicates.
 
-Only one form:
-     Some languages only require one single form.  There is no
-     distinction between the singular and plural form.  An appropriate
-     header entry would look like this:
+Output details
+--------------
 
-          Plural-Forms: nplurals=1; plural=0;
+`-t'
+`--to-code=NAME'
+     Specify encoding for output.
 
-     Languages with this property include:
+`--use-first'
+     Use first available translation for each message.  Don't merge
+     several translations into one.
 
-    Finno-Ugric family
-          Hungarian
+`--force-po'
+     Always write an output file even if it contains no message.
 
-    Asian family
-          Japanese
+`-i'
+`--indent'
+     Write the .po file using indented style.
 
-    Turkic/Altaic family
-          Turkish
+`--no-location'
+     Do not write `#: FILENAME:LINE' lines.
 
-Two forms, singular used for one only
-     This is the form used in most existing programs since it is what
-     English is using.  A header entry would look like this:
+`-n'
+`--add-location'
+     Generate `#: FILENAME:LINE' lines (default).
 
-          Plural-Forms: nplurals=2; plural=n != 1;
+`--strict'
+     Write out a strict Uniforum conforming PO file.  Note that this
+     Uniforum format should be avoided because it doesn't support the
+     GNU extensions.
 
-     (Note: this uses the feature of C expressions that boolean
-     expressions have to value zero or one.)
+`-w NUMBER'
+`--width=NUMBER'
+     Set the output page width.  Long strings in the output files will
+     be split across multiple lines in order to ensure that each line's
+     width (= number of screen columns) is less or equal to the given
+     NUMBER.
 
-     Languages with this property include:
+`-s'
+`--sort-output'
+     Generate sorted output.  Note that using this option makes it much
+     harder for the translator to understand each message's context.
 
-    Germanic family
-          Danish, Dutch, English, German, Norwegian, Swedish
+`-F'
+`--sort-by-file'
+     Sort output by file location.
 
-    Finno-Ugric family
-          Estonian, Finnish
+Informative output
+------------------
 
-    Latin/Greek family
-          Greek
+`-h'
+`--help'
+     Display this help and exit.
 
-    Semitic family
-          Hebrew
+`-V'
+`--version'
+     Output version information and exit.
 
-    Romanic family
-          Italian, Spanish
+\1f
+File: gettext.info,  Node: msgcomm Invocation,  Next: msgcmp Invocation,  Prev: msguniq Invocation,  Up: Manipulating
 
-    Artificial
-          Esperanto
+Invoking the `msgcomm' Program
+==============================
 
-Two forms, singular used for zero and one
-     Exceptional case in the language family.  The header entry would
-     be:
+     msgcomm [OPTION] [INPUTFILE]...
 
-          Plural-Forms: nplurals=2; plural=n>1;
+   The `msgcomm' program finds messages which are common to two or more
+of the specified PO files.  By using the `--more-than' option, greater
+commonality may be requested before messages are printed.  Conversely,
+the `--less-than' option may be used to specify less commonality before
+messages are printed (i.e.  `--less-than=2' will only print the unique
+messages).  Translations, comments and extract comments will be
+preserved, but only from the first PO file to define them.  File
+positions from all PO files will be cumulated.
 
-     Languages with this property include:
+Input file location
+-------------------
 
-    Romanic family
-          French
+`INPUTFILE ...'
+     Input files.
 
-Three forms, special cases for one and two
-     The header entry would be:
+`-f FILE'
+`--files-from=FILE'
+     Read the names of the input files from FILE instead of getting
+     them from the command line.
 
-          Plural-Forms: nplurals=3; plural=n==1 ? 0 : n==2 ? 1 : 2;
+`-D DIRECTORY'
+`--directory=DIRECTORY'
+     Add DIRECTORY to the list of directories.  Source files are
+     searched relative to this list of directories.  The resulting `.po'
+     file will be written relative to the current directory, though.
 
-     Languages with this property include:
+   If INPUTFILE is `-', standard input is read.
 
-    Celtic
-          Gaeilge
+Output file location
+--------------------
 
-Three forms, special case for numbers ending in 1[2-9]
-     The header entry would look like this:
+`-o FILE'
+`--output-file=FILE'
+     Write output to specified file.
 
-          Plural-Forms: nplurals=3; \
-              plural=n%10==1 && n%100!=11 ? 0 : \
-                     n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2;
+   The results are written to standard output if no output file is
+specified or if it is `-'.
 
-     Languages with this property include:
+Message selection
+-----------------
 
-    Baltic family
-          Lithuanian
+`-< NUMBER'
+`--less-than=NUMBER'
+     Print messages with less than NUMBER definitions, defaults to
+     infinite if not set.
 
-Three forms, special cases for numbers ending in 1 and 2, 3, 4, except those ending in 1[1-4]
-     The header entry would look like this:
+`-> NUMBER'
+`--more-than=NUMBER'
+     Print messages with more than NUMBER definitions, defaults to 1 if
+     not set.
 
-          Plural-Forms: nplurals=3; \
-              plural=n%10==1 && n%100!=11 ? 0 : \
-                     n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;
+`-u'
+`--unique'
+     Shorthand for `--less-than=2'.  Requests that only unique messages
+     be printed.
 
-     Languages with this property include:
+Output details
+--------------
 
-    Slavic family
-          Czech, Russian, Slovak, Ukrainian
+`--force-po'
+     Always write an output file even if it contains no message.
 
-Three forms, special case for one and some numbers ending in 2, 3, or 4
-     The header entry would look like this:
+`-i'
+`--indent'
+     Write the .po file using indented style.
 
-          Plural-Forms: nplurals=3; \
-              plural=n==1 ? 0 : \
-                     n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;
+`--no-location'
+     Do not write `#: FILENAME:LINE' lines.
 
-     (Continuation in the next line is possible.)
+`-n'
+`--add-location'
+     Generate `#: FILENAME:LINE' lines (default).
 
-     Languages with this property include:
+`--strict'
+     Write out a strict Uniforum conforming PO file.  Note that this
+     Uniforum format should be avoided because it doesn't support the
+     GNU extensions.
 
-    Slavic family
-          Polish
+`-w NUMBER'
+`--width=NUMBER'
+     Set the output page width.  Long strings in the output files will
+     be split across multiple lines in order to ensure that each line's
+     width (= number of screen columns) is less or equal to the given
+     NUMBER.
 
-Four forms, special case for one and all numbers ending in 02, 03, or 04
-     The header entry would look like this:
+`-s'
+`--sort-output'
+     Generate sorted output.  Note that using this option makes it much
+     harder for the translator to understand each message's context.
 
-          Plural-Forms: nplurals=4; \
-              plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3;
+`-F'
+`--sort-by-file'
+     Sort output by file location.
 
-     Languages with this property include:
+`--omit-header'
+     Don't write header with `msgid ""' entry.
 
-    Slavic family
-          Slovenian
+Informative output
+------------------
 
-   ---------- Footnotes ----------
+`-h'
+`--help'
+     Display this help and exit.
 
-   (1) Additions are welcome.  Send appropriate information to
-<bug-glibc-manual@gnu.org>.
+`-V'
+`--version'
+     Output version information and exit.
 
 \1f
-File: gettext.info,  Node: GUI program problems,  Next: Optimized gettext,  Prev: Plural forms,  Up: gettext
-
-How to use `gettext' in GUI programs
-------------------------------------
-
-   One place where the `gettext' functions, if used normally, have big
-problems is within programs with graphical user interfaces (GUIs).  The
-problem is that many of the strings which have to be translated are very
-short.  They have to appear in pull-down menus which restricts the
-length.  But strings which are not containing entire sentences or at
-least large fragments of a sentence may appear in more than one
-situation in the program but might have different translations.  This is
-especially true for the one-word strings which are frequently used in
-GUI programs.
-
-   As a consequence many people say that the `gettext' approach is
-wrong and instead `catgets' should be used which indeed does not have
-this problem.  But there is a very simple and powerful method to handle
-these kind of problems with the `gettext' functions.
-
-As as example consider the following fictional situation.  A GUI program
-has a menu bar with the following entries:
-
-     +------------+------------+--------------------------------------+
-     | File       | Printer    |                                      |
-     +------------+------------+--------------------------------------+
-     | Open     | | Select   |
-     | New      | | Open     |
-     +----------+ | Connect  |
-                  +----------+
-
-   To have the strings `File', `Printer', `Open', `New', `Select', and
-`Connect' translated there has to be at some point in the code a call
-to a function of the `gettext' family.  But in two places the string
-passed into the function would be `Open'.  The translations might not
-be the same and therefore we are in the dilemma described above.
-
-   One solution to this problem is to artificially enlengthen the
-strings to make them unambiguous.  But what would the program do if no
-translation is available?  The enlengthened string is not what should be
-printed.  So we should use a little bit modified version of the
-functions.
-
-   To enlengthen the strings a uniform method should be used.  E.g., in
-the example above the strings could be chosen as
-
-     Menu|File
-     Menu|Printer
-     Menu|File|Open
-     Menu|File|New
-     Menu|Printer|Select
-     Menu|Printer|Open
-     Menu|Printer|Connect
-
-   Now all the strings are different and if now instead of `gettext'
-the following little wrapper function is used, everything works just
-fine:
-
-       char *
-       sgettext (const char *msgid)
-       {
-         char *msgval = gettext (msgid);
-         if (msgval == msgid)
-           msgval = strrchr (msgid, '|') + 1;
-         return msgval;
-       }
-
-   What this little function does is to recognize the case when no
-translation is available.  This can be done very efficiently by a
-pointer comparison since the return value is the input value.  If there
-is no translation we know that the input string is in the format we used
-for the Menu entries and therefore contains a `|' character.  We simply
-search for the last occurrence of this character and return a pointer
-to the character following it.  That's it!
-
-   If one now consistently uses the enlengthened string form and
-replaces the `gettext' calls with calls to `sgettext' (this is normally
-limited to very few places in the GUI implementation) then it is
-possible to produce a program which can be internationalized.
-
-   The other `gettext' functions (`dgettext', `dcgettext' and the
-`ngettext' equivalents) can and should have corresponding functions as
-well which look almost identical, except for the parameters and the
-call to the underlying function.
-
-   Now there is of course the question why such functions do not exist
-in the GNU gettext package?  There are two parts of the answer to this
-question.
-
-   * They are easy to write and therefore can be provided by the
-     project they are used in.  This is not an answer by itself and
-     must be seen together with the second part which is:
-
-   * There is no way the gettext package can contain a version which
-     can work everywhere.  The problem is the selection of the
-     character to separate the prefix from the actual string in the
-     enlenghtened string.  The examples above used `|' which is a quite
-     good choice because it resembles a notation frequently used in
-     this context and it also is a character not often used in message
-     strings.
-
-     But what if the character is used in message strings?  Or if the
-     chose character is not available in the character set on the
-     machine one compiles (e.g., `|' is not required to exist for
-     ISO C; this is why the `iso646.h' file exists in ISO C programming
-     environments).
-
-   There is only one more comment to be said.  The wrapper function
-above requires that the translations strings are not enlengthened
-themselves.  This is only logical.  There is no need to disambiguate
-the strings (since they are never used as keys for a search) and one
-also saves quite some memory and disk space by doing this.
+File: gettext.info,  Node: msgcmp Invocation,  Next: msgattrib Invocation,  Prev: msgcomm Invocation,  Up: Manipulating
+
+Invoking the `msgcmp' Program
+=============================
+
+     msgcmp [OPTION] DEF.po REF.pot
+
+   The `msgcmp' program compares two Uniforum style .po files to check
+that both contain the same set of msgid strings.  The DEF.po file is an
+existing PO file with the translations.  The REF.pot file is the last
+created PO file, or a PO Template file (generally created by
+`xgettext').  This is useful for checking that you have translated each
+and every message in your program.  Where an exact match cannot be
+found, fuzzy matching is used to produce better diagnostics.
+
+Input file location
+-------------------
+
+`DEF.po'
+     Translations.
+
+`REF.pot'
+     References to the sources.
+
+`-D DIRECTORY'
+`--directory=DIRECTORY'
+     Add DIRECTORY to the list of directories.  Source files are
+     searched relative to this list of directories.
+
+Operation modifiers
+-------------------
+
+`-m'
+`--multi-domain'
+     Apply REF.pot to each of the domains in DEF.po.
+
+Informative output
+------------------
+
+`-h'
+`--help'
+     Display this help and exit.
+
+`-V'
+`--version'
+     Output version information and exit.
 
 \1f
-File: gettext.info,  Node: Optimized gettext,  Prev: GUI program problems,  Up: gettext
-
-Optimization of the *gettext functions
---------------------------------------
-
-   At this point of the discussion we should talk about an advantage of
-the GNU `gettext' implementation.  Some readers might have pointed out
-that an internationalized program might have a poor performance if some
-string has to be translated in an inner loop.  While this is unavoidable
-when the string varies from one run of the loop to the other it is
-simply a waste of time when the string is always the same.  Take the
-following example:
-
-     {
-       while (...)
-         {
-           puts (gettext ("Hello world"));
-         }
-     }
-
-When the locale selection does not change between two runs the resulting
-string is always the same.  One way to use this is:
-
-     {
-       str = gettext ("Hello world");
-       while (...)
-         {
-           puts (str);
-         }
-     }
-
-But this solution is not usable in all situation (e.g. when the locale
-selection changes) nor does it lead to legible code.
-
-   For this reason, GNU `gettext' caches previous translation results.
-When the same translation is requested twice, with no new message
-catalogs being loaded in between, `gettext' will, the second time, find
-the result through a single cache lookup.
+File: gettext.info,  Node: msgattrib Invocation,  Next: msgen Invocation,  Prev: msgcmp Invocation,  Up: Manipulating
+
+Invoking the `msgattrib' Program
+================================
+
+     msgattrib [OPTION] [INPUTFILE]
+
+   The `msgattrib' program filters the messages of a translation catalog
+according to their attributes, and manipulates the attributes.
+
+Input file location
+-------------------
+
+`INPUTFILE'
+     Input PO file.
+
+`-D DIRECTORY'
+`--directory=DIRECTORY'
+     Add DIRECTORY to the list of directories.  Source files are
+     searched relative to this list of directories.  The resulting `.po'
+     file will be written relative to the current directory, though.
+
+   If no INPUTFILE is given or if it is `-', standard input is read.
+
+Output file location
+--------------------
+
+`-o FILE'
+`--output-file=FILE'
+     Write output to specified file.
+
+   The results are written to standard output if no output file is
+specified or if it is `-'.
+
+Message selection
+-----------------
+
+`--translated'
+     Keep translated messages, remove untranslated messages.
+
+`--untranslated'
+     Keep untranslated messages, remove translated messages.
+
+`--no-fuzzy'
+     Remove `fuzzy' marked messages.
+
+`--only-fuzzy'
+     Keep `fuzzy' marked messages, remove all other messsages.
+
+`--no-obsolete'
+     Remove obsolete #~ messages.
+
+`--only-obsolete'
+     Keep obsolete #~ messages, remove all other messages.
+
+Attribute manipulation
+----------------------
+
+   Attributes are modified after the message selection/removal has been
+performed.
+
+`--set-fuzzy'
+     Set all messages `fuzzy'.
+
+`--clear-fuzzy'
+     Set all messages non-`fuzzy'.
+
+`--set-obsolete'
+     Set all messages obsolete.
+
+`--clear-obsolete'
+     Set all messages non-obsolete.
+
+`--fuzzy'
+     Synonym for `--only-fuzzy --clear-fuzzy': It keeps only the fuzzy
+     messages and removes their `fuzzy' mark.
+
+`--obsolete'
+     Synonym for `--only-obsolete --clear-obsolete': It keeps only the
+     obsolete messages and makes them non-obsolete.
+
+Output details
+--------------
+
+`--force-po'
+     Always write an output file even if it contains no message.
+
+`-i'
+`--indent'
+     Write the .po file using indented style.
+
+`--no-location'
+     Do not write `#: FILENAME:LINE' lines.
+
+`-n'
+`--add-location'
+     Generate `#: FILENAME:LINE' lines (default).
+
+`--strict'
+     Write out a strict Uniforum conforming PO file.  Note that this
+     Uniforum format should be avoided because it doesn't support the
+     GNU extensions.
+
+`-w NUMBER'
+`--width=NUMBER'
+     Set the output page width.  Long strings in the output files will
+     be split across multiple lines in order to ensure that each line's
+     width (= number of screen columns) is less or equal to the given
+     NUMBER.
+
+`-s'
+`--sort-output'
+     Generate sorted output.  Note that using this option makes it much
+     harder for the translator to understand each message's context.
+
+`-F'
+`--sort-by-file'
+     Sort output by file location.
+
+Informative output
+------------------
+
+`-h'
+`--help'
+     Display this help and exit.
+
+`-V'
+`--version'
+     Output version information and exit.
 
 \1f
-File: gettext.info,  Node: Comparison,  Next: Using libintl.a,  Prev: gettext,  Up: Programmers
+File: gettext.info,  Node: msgen Invocation,  Prev: msgattrib Invocation,  Up: Manipulating
 
-Comparing the Two Interfaces
+Invoking the `msgen' Program
 ============================
 
-   The following discussion is perhaps a little bit colored.  As said
-above we implemented GNU `gettext' following the Uniforum proposal and
-this surely has its reasons.  But it should show how we came to this
-decision.
-
-   First we take a look at the developing process.  When we write an
-application using NLS provided by `gettext' we proceed as always.  Only
-when we come to a string which might be seen by the users and thus has
-to be translated we use `gettext("...")' instead of `"..."'.  At the
-beginning of each source file (or in a central header file) we define
-
-     #define gettext(String) (String)
-
-   Even this definition can be avoided when the system supports the
-`gettext' function in its C library.  When we compile this code the
-result is the same as if no NLS code is used.  When  you take a look at
-the GNU `gettext' code you will see that we use `_("...")' instead of
-`gettext("...")'.  This reduces the number of additional characters per
-translatable string to _3_ (in words: three).
-
-   When now a production version of the program is needed we simply
-replace the definition
-
-     #define _(String) (String)
-
-by
-
-     #include <libintl.h>
-     #define _(String) gettext (String)
-
-Additionally we run the program `xgettext' on all source code file
-which contain translatable strings and that's it: we have a running
-program which does not depend on translations to be available, but which
-can use any that becomes available.
-
-   The same procedure can be done for the `gettext_noop' invocations
-(*note Special cases::).  One usually defines `gettext_noop' as a no-op
-macro.  So you should consider the following code for your project:
-
-     #define gettext_noop(String) (String)
-     #define N_(String) gettext_noop (String)
-
-   `N_' is a short form similar to `_'.  The `Makefile' in the `po/'
-directory of GNU `gettext' knows by default both of the mentioned short
-forms so you are invited to follow this proposal for your own ease.
-
-   Now to `catgets'.  The main problem is the work for the programmer.
-Every time he comes to a translatable string he has to define a number
-(or a symbolic constant) which has also be defined in the message
-catalog file.  He also has to take care for duplicate entries,
-duplicate message IDs etc.  If he wants to have the same quality in the
-message catalog as the GNU `gettext' program provides he also has to
-put the descriptive comments for the strings and the location in all
-source code files in the message catalog.  This is nearly a Mission:
-Impossible.
-
-   But there are also some points people might call advantages speaking
-for `catgets'.  If you have a single word in a string and this string
-is used in different contexts it is likely that in one or the other
-language the word has different translations.  Example:
-
-     printf ("%s: %d", gettext ("number"), number_of_errors)
-     
-     printf ("you should see %d %s", number_count,
-             number_count == 1 ? gettext ("number") : gettext ("numbers"))
-
-   Here we have to translate two times the string `"number"'.  Even if
-you do not speak a language beside English it might be possible to
-recognize that the two words have a different meaning.  In German the
-first appearance has to be translated to `"Anzahl"' and the second to
-`"Zahl"'.
-
-   Now you can say that this example is really esoteric.  And you are
-right!  This is exactly how we felt about this problem and decide that
-it does not weight that much.  The solution for the above problem could
-be very easy:
-
-     printf ("%s %d", gettext ("number:"), number_of_errors)
-     
-     printf (number_count == 1 ? gettext ("you should see %d number")
-                               : gettext ("you should see %d numbers"),
-             number_count)
-
-   We believe that we can solve all conflicts with this method.  If it
-is difficult one can also consider changing one of the conflicting
-string a little bit.  But it is not impossible to overcome.
-
-   `catgets' allows same original entry to have different translations,
-but `gettext' has another, scalable approach for solving ambiguities of
-this kind: *Note Ambiguities::.
+     msgen [OPTION] INPUTFILE
 
-\1f
-File: gettext.info,  Node: Using libintl.a,  Next: gettext grok,  Prev: Comparison,  Up: Programmers
+   The `msgen' program creates an English translation catalog.  The
+input file is the last created English PO file, or a PO Template file
+(generally created by xgettext).  Untranslated entries are assigned a
+translation that is identical to the msgid, and are marked fuzzy.
 
-Using libintl.a in own programs
-===============================
+Input file location
+-------------------
 
-   Starting with version 0.9.4 the library `libintl.h' should be
-self-contained.  I.e., you can use it in your own programs without
-providing additional functions.  The `Makefile' will put the header and
-the library in directories selected using the `$(prefix)'.
+`INPUTFILE'
+     Input PO or POT file.
 
-   One exception of the above is found on HP-UX 10.01 systems.  Here
-the C library does not contain the `alloca' function (and the HP
-compiler does not generate it inlined).  But it is not intended to
-rewrite the whole library just because of this dumb system.  Instead
-include the `alloca' function in all package you use the `libintl.a' in.
+`-D DIRECTORY'
+`--directory=DIRECTORY'
+     Add DIRECTORY to the list of directories.  Source files are
+     searched relative to this list of directories.  The resulting `.po'
+     file will be written relative to the current directory, though.
 
-\1f
-File: gettext.info,  Node: gettext grok,  Next: Temp Programmers,  Prev: Using libintl.a,  Up: Programmers
+   If INPUTFILE is `-', standard input is read.
 
-Being a `gettext' grok
-======================
+Output file location
+--------------------
 
-   To fully exploit the functionality of the GNU `gettext' library it
-is surely helpful to read the source code.  But for those who don't want
-to spend that much time in reading the (sometimes complicated) code here
-is a list comments:
+`-o FILE'
+`--output-file=FILE'
+     Write output to specified file.
 
-   * Changing the language at runtime
+   The results are written to standard output if no output file is
+specified or if it is `-'.
 
-     For interactive programs it might be useful to offer a selection
-     of the used language at runtime.  To understand how to do this one
-     need to know how the used language is determined while executing
-     the `gettext' function.  The method which is presented here only
-     works correctly with the GNU implementation of the `gettext'
-     functions.
+Output details
+--------------
 
-     In the function `dcgettext' at every call the current setting of
-     the highest priority environment variable is determined and used.
-     Highest priority means here the following list with decreasing
-     priority:
+`--force-po'
+     Always write an output file even if it contains no message.
 
-       1. `LANGUAGE'
+`-i'
+`--indent'
+     Write the .po file using indented style.
 
-       2. `LC_ALL'
+`--no-location'
+     Do not write `#: FILENAME:LINE' lines.
 
-       3. `LC_xxx', according to selected locale
+`--add-location'
+     Generate `#: FILENAME:LINE' lines (default).
 
-       4. `LANG'
+`--strict'
+     Write out a strict Uniforum conforming PO file.  Note that this
+     Uniforum format should be avoided because it doesn't support the
+     GNU extensions.
 
-     Afterwards the path is constructed using the found value and the
-     translation file is loaded if available.
+`-w NUMBER'
+`--width=NUMBER'
+     Set the output page width.  Long strings in the output files will
+     be split across multiple lines in order to ensure that each line's
+     width (= number of screen columns) is less or equal to the given
+     NUMBER.
 
-     What is now when the value for, say, `LANGUAGE' changes.  According
-     to the process explained above the new value of this variable is
-     found as soon as the `dcgettext' function is called.  But this
-     also means the (perhaps) different message catalog file is loaded.
-     In other words: the used language is changed.
+`-s'
+`--sort-output'
+     Generate sorted output.  Note that using this option makes it much
+     harder for the translator to understand each message's context.
 
-     But there is one little hook.  The code for gcc-2.7.0 and up
-     provides some optimization.  This optimization normally prevents
-     the calling of the `dcgettext' function as long as no new catalog
-     is loaded.  But if `dcgettext' is not called the program also
-     cannot find the `LANGUAGE' variable be changed (*note Optimized
-     gettext::).  A solution for this is very easy.  Include the
-     following code in the language switching function.
+`-F'
+`--sort-by-file'
+     Sort output by file location.
 
-            /* Change language.  */
-            setenv ("LANGUAGE", "fr", 1);
-          
-            /* Make change known.  */
-            {
-              extern int  _nl_msg_cat_cntr;
-              ++_nl_msg_cat_cntr;
-            }
+Informative output
+------------------
 
-     The variable `_nl_msg_cat_cntr' is defined in `loadmsgcat.c'.  The
-     programmer will find himself in need for a construct like this only
-     when developing programs which do run longer and provide the user
-     to select the language at runtime.  Non-interactive programs (like
-     all these little Unix tools) should never need this.
+`-h'
+`--help'
+     Display this help and exit.
 
+`-V'
+`--version'
+     Output version information and exit.
 
 \1f
-File: gettext.info,  Node: Temp Programmers,  Prev: gettext grok,  Up: Programmers
+File: gettext.info,  Node: Binaries,  Next: Users,  Prev: Manipulating,  Up: Top
 
-Temporary Notes for the Programmers Chapter
-===========================================
+Producing Binary MO Files
+*************************
 
 * Menu:
 
-* Temp Implementations::        Temporary - Two Possible Implementations
-* Temp catgets::                Temporary - About `catgets'
-* Temp WSI::                    Temporary - Why a single implementation
-* Temp Notes::                  Temporary - Notes
+* msgfmt Invocation::           Invoking the `msgfmt' Program
+* msgunfmt Invocation::         Invoking the `msgunfmt' Program
+* MO Files::                    The Format of GNU MO Files
 
 \1f
-File: gettext.info,  Node: Temp Implementations,  Next: Temp catgets,  Prev: Temp Programmers,  Up: Temp Programmers
-
-Temporary - Two Possible Implementations
-----------------------------------------
-
-   There are two competing methods for language independent messages:
-the X/Open `catgets' method, and the Uniforum `gettext' method.  The
-`catgets' method indexes messages by integers; the `gettext' method
-indexes them by their English translations.  The `catgets' method has
-been around longer and is supported by more vendors.  The `gettext'
-method is supported by Sun, and it has been heard that the COSE
-multi-vendor initiative is supporting it.  Neither method is a POSIX
-standard; the POSIX.1 committee had a lot of disagreement in this area.
-
-   Neither one is in the POSIX standard.  There was much disagreement
-in the POSIX.1 committee about using the `gettext' routines vs.
-`catgets' (XPG).  In the end the committee couldn't agree on anything,
-so no messaging system was included as part of the standard.  I believe
-the informative annex of the standard includes the XPG3 messaging
-interfaces, "...as an example of a messaging system that has been
-implemented..."
-
-   They were very careful not to say anywhere that you should use one
-set of interfaces over the other.  For more on this topic please see
-the Programming for Internationalization FAQ.
+File: gettext.info,  Node: msgfmt Invocation,  Next: msgunfmt Invocation,  Prev: Binaries,  Up: Binaries
 
-\1f
-File: gettext.info,  Node: Temp catgets,  Next: Temp WSI,  Prev: Temp Implementations,  Up: Temp Programmers
-
-Temporary - About `catgets'
----------------------------
-
-   There have been a few discussions of late on the use of `catgets' as
-a base.  I think it important to present both sides of the argument and
-hence am opting to play devil's advocate for a little bit.
-
-   I'll not deny the fact that `catgets' could have been designed a lot
-better.  It currently has quite a number of limitations and these have
-already been pointed out.
-
-   However there is a great deal to be said for consistency and
-standardization.  A common recurring problem when writing Unix software
-is the myriad portability problems across Unix platforms.  It seems as
-if every Unix vendor had a look at the operating system and found parts
-they could improve upon.  Undoubtedly, these modifications are probably
-innovative and solve real problems.  However, software developers have
-a hard time keeping up with all these changes across so many platforms.
-
-   And this has prompted the Unix vendors to begin to standardize their
-systems.  Hence the impetus for Spec1170.  Every major Unix vendor has
-committed to supporting this standard and every Unix software developer
-waits with glee the day they can write software to this standard and
-simply recompile (without having to use autoconf) across different
-platforms.
-
-   As I understand it, Spec1170 is roughly based upon version 4 of the
-X/Open Portability Guidelines (XPG4).  Because `catgets' and friends
-are defined in XPG4, I'm led to believe that `catgets' is a part of
-Spec1170 and hence will become a standardized component of all Unix
-systems.
+Invoking the `msgfmt' Program
+=============================
 
-\1f
-File: gettext.info,  Node: Temp WSI,  Next: Temp Notes,  Prev: Temp catgets,  Up: Temp Programmers
-
-Temporary - Why a single implementation
----------------------------------------
-
-   Now it seems kind of wasteful to me to have two different systems
-installed for accessing message catalogs.  If we do want to remedy
-`catgets' deficiencies why don't we try to expand `catgets' (in a
-compatible manner) rather than implement an entirely new system.
-Otherwise, we'll end up with two message catalog access systems
-installed with an operating system - one set of routines for packages
-using GNU `gettext' for their internationalization, and another set of
-routines (catgets) for all other software.  Bloated?
-
-   Supposing another catalog access system is implemented.  Which do we
-recommend?  At least for Linux, we need to attract as many software
-developers as possible.  Hence we need to make it as easy for them to
-port their software as possible.  Which means supporting `catgets'.  We
-will be implementing the `libintl' code within our `libc', but does
-this mean we also have to incorporate another message catalog access
-scheme within our `libc' as well?  And what about people who are going
-to be using the `libintl' + non-`catgets' routines.  When they port
-their software to other platforms, they're now going to have to include
-the front-end (`libintl') code plus the back-end code (the non-`catgets'
-access routines) with their software instead of just including the
-`libintl' code with their software.
-
-   Message catalog support is however only the tip of the iceberg.
-What about the data for the other locale categories.  They also have a
-number of deficiencies.  Are we going to abandon them as well and
-develop another duplicate set of routines (should `libintl' expand
-beyond message catalog support)?
-
-   Like many parts of Unix that can be improved upon, we're stuck with
-balancing compatibility with the past with useful improvements and
-innovations for the future.
+     msgfmt [OPTION] FILENAME.po ...
+
+   The `msgfmt' programs generates a binary message catalog from a
+textual translation description.
+
+Input file location
+-------------------
+
+`FILENAME.po ...'
+
+`-D DIRECTORY'
+`--directory=DIRECTORY'
+     Add DIRECTORY to the list of directories.  Source files are
+     searched relative to this list of directories.  The resulting `.po'
+     file will be written relative to the current directory, though.
+
+   If an input file is `-', standard input is read.
+
+Operation mode
+--------------
+
+`-j'
+`--java'
+     Java mode: generate a Java `ResourceBundle' class.
+
+`--java2'
+     Like -java, and assume Java2 (JDK 1.2 or higher).
+
+Output file location
+--------------------
+
+`-o FILE'
+`--output-file=FILE'
+     Write output to specified file.
+
+`--strict'
+     Direct the program to work strictly following the Uniforum/Sun
+     implementation.  Currently this only affects the naming of the
+     output file.  If this option is not given the name of the output
+     file is the same as the domain name.  If the strict Uniforum mode
+     is enabled the suffix `.mo' is added to the file name if it is not
+     already present.
+
+     We find this behaviour of Sun's implementation rather silly and so
+     by default this mode is _not_ selected.
+
+   If the output FILE is `-', output is written to standard output.
+
+Output file location in Java mode
+---------------------------------
+
+`-r RESOURCE'
+`--resource=RESOURCE'
+     Specify the resource name.
+
+`-l LOCALE'
+`--locale=LOCALE'
+     Specify the locale name, either a language specification of the
+     form LL or a combined language and country specification of the
+     form LL_CC.
+
+`-d DIRECTORY'
+     Specify the base directory of classes directory hierarchy.
+
+   The class name is determined by appending the locale name to the
+resource name, separated with an underscore.  The `-d' option is
+mandatory.  The class is written under the specified directory.
+
+Input file interpretation
+-------------------------
+
+`-c'
+`--check'
+     Perform all the checks implied by `--check-format',
+     `--check-header', `--check-domain'.
+
+`--check-format'
+     Check language dependent format strings.
+
+     If the string represents a format string used in a `printf'-like
+     function both strings should have the same number of `%' format
+     specifiers, with matching types.  If the flag `c-format' or
+     `possible-c-format' appears in the special comment <#,> for this
+     entry a check is performed.  For example, the check will diagnose
+     using `%.*s' against `%s', or `%d' against `%s', or `%d' against
+     `%x'.  It can even handle positional parameters.
+
+     Normally the `xgettext' program automatically decides whether a
+     string is a format string or not.  This algorithm is not perfect,
+     though.  It might regard a string as a format string though it is
+     not used in a `printf'-like function and so `msgfmt' might report
+     errors where there are none.
+
+     To solve this problem the programmer can dictate the decision to
+     the `xgettext' program (*note c-format::).  The translator should
+     not consider removing the flag from the <#,> line.  This "fix"
+     would be reversed again as soon as `msgmerge' is called the next
+     time.
+
+`--check-header'
+     Verify presence and contents of the header entry.  *Note Header
+     Entry::, for a description of the various fields in the header
+     entry.
+
+`--check-domain'
+     Check for conflicts between domain directives and the
+     `--output-file' option
+
+`-C'
+`--check-compatibility'
+     Check that GNU msgfmt behaves like X/Open msgfmt.  This will give
+     an error when attempting to use the GNU extensions.
+
+`--check-accelerators[=CHAR]'
+     Check presence of keyboard accelerators for menu items.  This is
+     based on the convention used in some GUIs that a keyboard
+     accelerator in a menu item string is designated by an immediately
+     preceding `&' character.  Sometimes a keyboard accelerator is also
+     called "keyboard mnemonic".  This check verifies that if the
+     untranslated string has exactly one `&' character, the translated
+     string has exactly one `&' as well.  If this option is given with
+     a CHAR argument, this CHAR should be a non-alphanumeric character
+     and is used as keyboard acceleator mark instead of `&'.
+
+`-f'
+`--use-fuzzy'
+     Use fuzzy entries in output.  Note that using this option is
+     usually wrong, because fuzzy messages are exactly those which have
+     not been validated by a human translator.
+
+Output details
+--------------
+
+`-a NUMBER'
+`--alignment=NUMBER'
+     Align strings to NUMBER bytes (default: 1).
+
+`--no-hash'
+     Don't include a hash table in the binary file.  Lookup will be
+     more expensive at run time (binary search instead of hash table
+     lookup).
+
+Informative output
+------------------
+
+`-h'
+`--help'
+     Display this help and exit.
+
+`-V'
+`--version'
+     Output version information and exit.
+
+`--statistics'
+     Print statistics about translations.
+
+`-v'
+`--verbose'
+     Increase verbosity level.
 
 \1f
-File: gettext.info,  Node: Temp Notes,  Prev: Temp WSI,  Up: Temp Programmers
+File: gettext.info,  Node: msgunfmt Invocation,  Next: MO Files,  Prev: msgfmt Invocation,  Up: Binaries
 
-Temporary - Notes
------------------
+Invoking the `msgunfmt' Program
+===============================
+
+     msgunfmt [OPTION] [FILE]...
+
+   The `msgunfmt' program converts a binary message catalog to a
+Uniforum style .po file.
 
-   X/Open agreed very late on the standard form so that many
-implementations differ from the final form.  Both of my system (old
-Linux catgets and Ultrix-4) have a strange variation.
+Operation mode
+--------------
+
+`-j'
+`--java'
+     Java mode: generate a Java `ResourceBundle' class.
+
+Input file location
+-------------------
 
-   OK.  After incorporating the last changes I have to spend some time
-on making the GNU/Linux `libc' `gettext' functions.  So in future
-Solaris is not the only system having `gettext'.
+`FILE ...'
+     Input .mo files.
+
+   If no input FILE is given or if it is `-', standard input is read.
+
+Input file location in Java mode
+--------------------------------
+
+`-r RESOURCE'
+`--resource=RESOURCE'
+     Specify the resource name.
+
+`-l LOCALE'
+`--locale=LOCALE'
+     Specify the locale name, either a language specification of the
+     form LL or a combined language and country specification of the
+     form LL_CC.
+
+   The class name is determined by appending the locale name to the
+resource name, separated with an underscore.  The class is located
+using the `CLASSPATH'.
+
+Output file location
+--------------------
+
+`-o FILE'
+`--output-file=FILE'
+     Write output to specified file.
+
+   The results are written to standard output if no output file is
+specified or if it is `-'.
+
+Output details
+--------------
+
+`--force-po'
+     Always write an output file even if it contains no message.
+
+`-i'
+`--indent'
+     Write the .po file using indented style.
+
+`--strict'
+     Write out a strict Uniforum conforming PO file.  Note that this
+     Uniforum format should be avoided because it doesn't support the
+     GNU extensions.
+
+`-w NUMBER'
+`--width=NUMBER'
+     Set the output page width.  Long strings in the output files will
+     be split across multiple lines in order to ensure that each line's
+     width (= number of screen columns) is less or equal to the given
+     NUMBER.
+
+`-s'
+`--sort-output'
+     Generate sorted output.  Note that using this option makes it much
+     harder for the translator to understand each message's context.
+
+Informative output
+------------------
+
+`-h'
+`--help'
+     Display this help and exit.
+
+`-V'
+`--version'
+     Output version information and exit.
+
+`-v'
+`--verbose'
+     Increase verbosity level.
 
 \1f
-File: gettext.info,  Node: Translators,  Next: Maintainers,  Prev: Programmers,  Up: Top
+File: gettext.info,  Node: MO Files,  Prev: msgunfmt Invocation,  Up: Binaries
+
+The Format of GNU MO Files
+==========================
+
+   The format of the generated MO files is best described by a picture,
+which appears below.
+
+   The first two words serve the identification of the file.  The magic
+number will always signal GNU MO files.  The number is stored in the
+byte order of the generating machine, so the magic number really is two
+numbers: `0x950412de' and `0xde120495'.  The second word describes the
+current revision of the file format.  For now the revision is 0.  This
+might change in future versions, and ensures that the readers of MO
+files can distinguish new formats from old ones, so that both can be
+handled correctly.  The version is kept separate from the magic number,
+instead of using different magic numbers for different formats, mainly
+because `/etc/magic' is not updated often.  It might be better to have
+magic separated from internal format version identification.
+
+   Follow a number of pointers to later tables in the file, allowing
+for the extension of the prefix part of MO files without having to
+recompile programs reading them.  This might become useful for later
+inserting a few flag bits, indication about the charset used, new
+tables, or other things.
+
+   Then, at offset O and offset T in the picture, two tables of string
+descriptors can be found.  In both tables, each string descriptor uses
+two 32 bits integers, one for the string length, another for the offset
+of the string in the MO file, counting in bytes from the start of the
+file.  The first table contains descriptors for the original strings,
+and is sorted so the original strings are in increasing lexicographical
+order.  The second table contains descriptors for the translated
+strings, and is parallel to the first table: to find the corresponding
+translation one has to access the array slot in the second array with
+the same index.
+
+   Having the original strings sorted enables the use of simple binary
+search, for when the MO file does not contain an hashing table, or for
+when it is not practical to use the hashing table provided in the MO
+file.  This also has another advantage, as the empty string in a PO
+file GNU `gettext' is usually _translated_ into some system information
+attached to that particular MO file, and the empty string necessarily
+becomes the first in both the original and translated tables, making
+the system information very easy to find.
+
+   The size S of the hash table can be zero.  In this case, the hash
+table itself is not contained in the MO file.  Some people might prefer
+this because a precomputed hashing table takes disk space, and does not
+win _that_ much speed.  The hash table contains indices to the sorted
+array of strings in the MO file.  Conflict resolution is done by double
+hashing.  The precise hashing algorithm used is fairly dependent of GNU
+`gettext' code, and is not documented here.
+
+   As for the strings themselves, they follow the hash file, and each
+is terminated with a <NUL>, and this <NUL> is not counted in the length
+which appears in the string descriptor.  The `msgfmt' program has an
+option selecting the alignment for MO file strings.  With this option,
+each string is separately aligned so it starts at an offset which is a
+multiple of the alignment value.  On some RISC machines, a correct
+alignment will speed things up.
+
+   Plural forms are stored by letting the plural of the original string
+follow the singular of the original string, separated through a <NUL>
+byte.  The length which appears in the string descriptor includes both.
+However, only the singular of the original string takes part in the
+hash table lookup.  The plural variants of the translation are all
+stored consecutively, separated through a <NUL> byte.  Here also, the
+length in the string descriptor includes all of them.
+
+   Nothing prevents a MO file from having embedded <NUL>s in strings.
+However, the program interface currently used already presumes that
+strings are <NUL> terminated, so embedded <NUL>s are somewhat useless.
+But the MO file format is general enough so other interfaces would be
+later possible, if for example, we ever want to implement wide
+characters right in MO files, where <NUL> bytes may accidently appear.
+(No, we don't want to have wide characters in MO files.  They would
+make the file unnecessarily large, and the `wchar_t' type being
+platform dependent, MO files would be platform dependent as well.)
+
+   This particular issue has been strongly debated in the GNU `gettext'
+development forum, and it is expectable that MO file format will evolve
+or change over time.  It is even possible that many formats may later
+be supported concurrently.  But surely, we have to start somewhere, and
+the MO file format described here is a good start.  Nothing is cast in
+concrete, and the format may later evolve fairly easily, so we should
+feel comfortable with the current approach.
+
+             byte
+                  +------------------------------------------+
+               0  | magic number = 0x950412de                |
+                  |                                          |
+               4  | file format revision = 0                 |
+                  |                                          |
+               8  | number of strings                        |  == N
+                  |                                          |
+              12  | offset of table with original strings    |  == O
+                  |                                          |
+              16  | offset of table with translation strings |  == T
+                  |                                          |
+              20  | size of hashing table                    |  == S
+                  |                                          |
+              24  | offset of hashing table                  |  == H
+                  |                                          |
+                  .                                          .
+                  .    (possibly more entries later)         .
+                  .                                          .
+                  |                                          |
+               O  | length & offset 0th string  ----------------.
+           O + 8  | length & offset 1st string  ------------------.
+                   ...                                    ...   | |
+     O + ((N-1)*8)| length & offset (N-1)th string           |  | |
+                  |                                          |  | |
+               T  | length & offset 0th translation  ---------------.
+           T + 8  | length & offset 1st translation  -----------------.
+                   ...                                    ...   | | | |
+     T + ((N-1)*8)| length & offset (N-1)th translation      |  | | | |
+                  |                                          |  | | | |
+               H  | start hash table                         |  | | | |
+                   ...                                    ...   | | | |
+       H + S * 4  | end hash table                           |  | | | |
+                  |                                          |  | | | |
+                  | NUL terminated 0th string  <----------------' | | |
+                  |                                          |    | | |
+                  | NUL terminated 1st string  <------------------' | |
+                  |                                          |      | |
+                   ...                                    ...       | |
+                  |                                          |      | |
+                  | NUL terminated 0th translation  <---------------' |
+                  |                                          |        |
+                  | NUL terminated 1st translation  <-----------------'
+                  |                                          |
+                   ...                                    ...
+                  |                                          |
+                  +------------------------------------------+
 
-The Translator's View
-*********************
+\1f
+File: gettext.info,  Node: Users,  Next: Programmers,  Prev: Binaries,  Up: Top
+
+The User's View
+***************
+
+   When GNU `gettext' will truly have reached its goal, average users
+should feel some kind of astonished pleasure, seeing the effect of that
+strange kind of magic that just makes their own native language appear
+everywhere on their screens.  As for naive users, they would ideally
+have no special pleasure about it, merely taking their own language for
+_granted_, and becoming rather unhappy otherwise.
+
+   So, let's try to describe here how we would like the magic to
+operate, as we want the users' view to be the simplest, among all ways
+one could look at GNU `gettext'.  All other software engineers:
+programmers, translators, maintainers, should work together in such a
+way that the magic becomes possible.  This is a long and progressive
+undertaking, and information is available about the progress of the
+Translation Project.
+
+   When a package is distributed, there are two kinds of users:
+"installers" who fetch the distribution, unpack it, configure it,
+compile it and install it for themselves or others to use; and "end
+users" that call programs of the package, once these have been
+installed at their site.  GNU `gettext' is offering magic for both
+installers and end users.
 
 * Menu:
 
-* Trans Intro 0::               Introduction 0
-* Trans Intro 1::               Introduction 1
-* Discussions::                 Discussions
-* Organization::                Organization
-* Information Flow::            Information Flow
+* Matrix::                      The Current `ABOUT-NLS' Matrix
+* Installers::                  Magic for Installers
+* End Users::                   Magic for End Users
+
+\1f
+File: gettext.info,  Node: Matrix,  Next: Installers,  Prev: Users,  Up: Users
+
+The Current `ABOUT-NLS' Matrix
+==============================
+
+   Languages are not equally supported in all packages using GNU
+`gettext'.  To know if some package uses GNU `gettext', one may check
+the distribution for the `ABOUT-NLS' information file, for some `LL.po'
+files, often kept together into some `po/' directory, or for an `intl/'
+directory.  Internationalized packages have usually many `LL.po' files,
+where LL represents the language.  *Note End Users:: for a complete
+description of the format for LL.
+
+   More generally, a matrix is available for showing the current state
+of the Translation Project, listing which packages are prepared for
+multi-lingual messages, and which languages are supported by each.
+Because this information changes often, this matrix is not kept within
+this GNU `gettext' manual.  This information is often found in file
+`ABOUT-NLS' from various distributions, but is also as old as the
+distribution itself.  A recent copy of this `ABOUT-NLS' file,
+containing up-to-date information, should generally be found on the
+Translation Project sites, and also on most GNU archive sites.
 
 \1f
-File: gettext.info,  Node: Trans Intro 0,  Next: Trans Intro 1,  Prev: Translators,  Up: Translators
-
-Introduction 0
-==============
-
-   Free software is going international!  The Translation Project is a
-way to get maintainers, translators and users all together, so free
-software will gradually become able to speak many native languages.
-
-   The GNU `gettext' tool set contains _everything_ maintainers need
-for internationalizing their packages for messages.  It also contains
-quite useful tools for helping translators at localizing messages to
-their native language, once a package has already been
-internationalized.
-
-   To achieve the Translation Project, we need many interested people
-who like their own language and write it well, and who are also able to
-synergize with other translators speaking the same language.  If you'd
-like to volunteer to _work_ at translating messages, please send mail
-to your translating team.
-
-   Each team has its own mailing list, courtesy of Linux International.
-You may reach your translating team at the address `LL@li.org',
-replacing LL by the two-letter ISO 639 code for your language.
-Language codes are _not_ the same as country codes given in ISO 3166.
-The following translating teams exist:
-
-     Chinese `zh', Czech `cs', Danish `da', Dutch `nl', Esperanto `eo',
-     Finnish `fi', French `fr', Irish `ga', German `de', Greek `el',
-     Italian `it', Japanese `ja', Indonesian `in', Norwegian `no',
-     Polish `pl', Portuguese `pt', Russian `ru', Spanish `es', Swedish
-     `sv' and Turkish `tr'.
-
-For example, you may reach the Chinese translating team by writing to
-`zh@li.org'.  When you become a member of the translating team for your
-own language, you may subscribe to its list.  For example, Swedish
-people can send a message to `sv-request@li.org', having this message
-body:
-
-     subscribe
-
-   Keep in mind that team members should be interested in _working_ at
-translations, or at solving translational difficulties, rather than
-merely lurking around.  If your team does not exist yet and you want to
-start one, please write to `translation@iro.umontreal.ca'; you will
-then reach the coordinator for all translator teams.
-
-   A handful of GNU packages have already been adapted and provided
-with message translations for several languages.  Translation teams
-have begun to organize, using these packages as a starting point.  But
-there are many more packages and many languages for which we have no
-volunteer translators.  If you would like to volunteer to work at
-translating messages, please send mail to
-`translation@iro.umontreal.ca' indicating what language(s) you can work
-on.
+File: gettext.info,  Node: Installers,  Next: End Users,  Prev: Matrix,  Up: Users
+
+Magic for Installers
+====================
+
+   By default, packages fully using GNU `gettext', internally, are
+installed in such a way that they to allow translation of messages.  At
+_configuration_ time, those packages should automatically detect
+whether the underlying host system already provides the GNU `gettext'
+functions.  If not, the GNU `gettext' library should be automatically
+prepared and used.  Installers may use special options at configuration
+time for changing this behavior.  The command `./configure
+--with-included-gettext' bypasses system `gettext' to use the included
+GNU `gettext' instead, while `./configure --disable-nls' produces
+programs totally unable to translate messages.
+
+   Internationalized packages have usually many `LL.po' files.  Unless
+translations are disabled, all those available are installed together
+with the package.  However, the environment variable `LINGUAS' may be
+set, prior to configuration, to limit the installed set.  `LINGUAS'
+should then contain a space separated list of two-letter codes, stating
+which languages are allowed.
 
 \1f
-File: gettext.info,  Node: Trans Intro 1,  Next: Discussions,  Prev: Trans Intro 0,  Up: Translators
-
-Introduction 1
-==============
-
-   This is now official, GNU is going international!  Here is the
-announcement submitted for the January 1995 GNU Bulletin:
-
-     A handful of GNU packages have already been adapted and provided
-     with message translations for several languages.  Translation
-     teams have begun to organize, using these packages as a starting
-     point.  But there are many more packages and many languages for
-     which we have no volunteer translators.  If you'd like to
-     volunteer to work at translating messages, please send mail to
-     `translation@iro.umontreal.ca' indicating what language(s) you can
-     work on.
-
-   This document should answer many questions for those who are curious
-about the process or would like to contribute.  Please at least skim
-over it, hoping to cut down a little of the high volume of e-mail
-generated by this collective effort towards internationalization of
-free software.
-
-   Most free programming which is widely shared is done in English, and
-currently, English is used as the main communicating language between
-national communities collaborating to free software.  This very document
-is written in English.  This will not change in the foreseeable future.
-
-   However, there is a strong appetite from national communities for
-having more software able to write using national language and habits,
-and there is an on-going effort to modify free software in such a way
-that it becomes able to do so.  The experiments driven so far raised an
-enthusiastic response from pretesters, so we believe that
-internationalization of free software is dedicated to succeed.
-
-   For suggestion clarifications, additions or corrections to this
-document, please e-mail to `translation@iro.umontreal.ca'.
+File: gettext.info,  Node: End Users,  Prev: Installers,  Up: Users
+
+Magic for End Users
+===================
+
+   We consider here those packages using GNU `gettext' internally, and
+for which the installers did not disable translation at _configure_
+time.  Then, users only have to set the `LANG' environment variable to
+the appropriate `LL_CC' combination prior to using the programs in the
+package.  *Note Matrix::.  For example, let's presume a German site.
+At the shell prompt, users merely have to execute `setenv LANG de_DE'
+(in `csh') or `export LANG; LANG=de_DE' (in `sh').  They could even do
+this from their `.login' or `.profile' file.
 
 \1f
-File: gettext.info,  Node: Discussions,  Next: Organization,  Prev: Trans Intro 1,  Up: Translators
-
-Discussions
-===========
-
-   Facing this internationalization effort, a few users expressed their
-concerns.  Some of these doubts are presented and discussed, here.
-
-   * Smaller groups
-
-     Some languages are not spoken by a very large number of people, so
-     people speaking them sometimes consider that there may not be all
-     that much demand such versions of free software packages.
-     Moreover, many people being _into computers_, in some countries,
-     generally seem to prefer English versions of their software.
-
-     On the other end, people might enjoy their own language a lot, and
-     be very motivated at providing to themselves the pleasure of
-     having their beloved free software speaking their mother tongue.
-     They do themselves a personal favor, and do not pay that much
-     attention to the number of people beneficiating of their work.
-
-   * Misinterpretation
-
-     Other users are shy to push forward their own language, seeing in
-     this some kind of misplaced propaganda.  Someone thought there
-     must be some users of the language over the networks pestering
-     other people with it.
-
-     But any spoken language is worth localization, because there are
-     people behind the language for whom the language is important and
-     dear to their hearts.
-
-   * Odd translations
-
-     The biggest problem is to find the right translations so that
-     everybody can understand the messages.  Translations are usually a
-     little odd.  Some people get used to English, to the extent they
-     may find translations into their own language "rather pushy,
-     obnoxious and sometimes even hilarious."  As a French speaking
-     man, I have the experience of those instruction manuals for goods,
-     so poorly translated in French in Korea or Taiwan...
-
-     The fact is that we sometimes have to create a kind of national
-     computer culture, and this is not easy without the collaboration of
-     many people liking their mother tongue.  This is why translations
-     are better achieved by people knowing and loving their own
-     language, and ready to work together at improving the results they
-     obtain.
-
-   * Dependencies over the GPL
-
-     Some people wonder if using GNU `gettext' necessarily brings their
-     package under the protective wing of the GNU General Public
-     License, when they do not want to make their program free, or want
-     other kinds of freedom.  The simplest answer is yes.
-
-     The mere marking of localizable strings in a package, or
-     conditional inclusion of a few lines for initialization, is not
-     really including GPL'ed code.  However, the localization routines
-     themselves are under the GPL and would bring the remainder of the
-     package under the GPL if they were distributed with it.  So, I
-     presume that, for those for which this is a problem, it could be
-     circumvented by letting to the end installers the burden of
-     assembling a package prepared for localization, but not providing
-     the localization routines themselves.
+File: gettext.info,  Node: Programmers,  Next: Translators,  Prev: Users,  Up: Top
+
+The Programmer's View
+*********************
+
+   One aim of the current message catalog implementation provided by
+GNU `gettext' was to use the systems message catalog handling, if the
+installer wishes to do so.  So we perhaps should first take a look at
+the solutions we know about.  The people in the POSIX committee did not
+manage to agree on one of the semi-official standards which we'll
+describe below.  In fact they couldn't agree on anything, so they
+decided only to include an example of an interface.  The major Unix
+vendors are split in the usage of the two most important
+specifications: X/Open's catgets vs. Uniforum's gettext interface.
+We'll describe them both and later explain our solution of this dilemma.
+
+* Menu:
 
+* catgets::                     About `catgets'
+* gettext::                     About `gettext'
+* Comparison::                  Comparing the two interfaces
+* Using libintl.a::             Using libintl.a in own programs
+* gettext grok::                Being a `gettext' grok
+* Temp Programmers::            Temporary Notes for the Programmers Chapter
 
index 4de6cb7e79d1fc668fb5531bc7c388ecc3f8c6b7..36383f1d3ec0d9da0987922bebcdd64f8c763266 100644 (file)
@@ -31,2143 +31,1137 @@ versions, except that this permission notice may be stated in a
 translation approved by the Foundation.
 
 \1f
-File: gettext.info,  Node: Organization,  Next: Information Flow,  Prev: Discussions,  Up: Translators
-
-Organization
-============
-
-   On a larger scale, the true solution would be to organize some kind
-of fairly precise set up in which volunteers could participate.  I gave
-some thought to this idea lately, and realize there will be some touchy
-points.  I thought of writing to Richard Stallman to launch such a
-project, but feel it might be good to shake out the ideas between
-ourselves first.  Most probably that Linux International has some
-experience in the field already, or would like to orchestrate the
-volunteer work, maybe.  Food for thought, in any case!
-
-   I guess we have to setup something early, somehow, that will help
-many possible contributors of the same language to interlock and avoid
-work duplication, and further be put in contact for solving together
-problems particular to their tongue (in most languages, there are many
-difficulties peculiar to translating technical English).  My Swedish
-contributor acknowledged these difficulties, and I'm well aware of them
-for French.
-
-   This is surely not a technical issue, but we should manage so the
-effort of locale contributors be maximally useful, despite the national
-team layer interface between contributors and maintainers.
-
-   The Translation Project needs some setup for coordinating language
-coordinators.  Localizing evolving programs will surely become a
-permanent and continuous activity in the free software community, once
-well started.  The setup should be minimally completed and tested
-before GNU `gettext' becomes an official reality.  The e-mail address
-`translation@iro.umontreal.ca' has been setup for receiving offers from
-volunteers and general e-mail on these topics.  This address reaches
-the Translation Project coordinator.
+File: gettext.info,  Node: catgets,  Next: gettext,  Prev: Programmers,  Up: Programmers
+
+About `catgets'
+===============
+
+   The `catgets' implementation is defined in the X/Open Portability
+Guide, Volume 3, XSI Supplementary Definitions, Chapter 5.  But the
+process of creating this standard seemed to be too slow for some of the
+Unix vendors so they created their implementations on preliminary
+versions of the standard.  Of course this leads again to problems while
+writing platform independent programs: even the usage of `catgets' does
+not guarantee a unique interface.
+
+   Another, personal comment on this that only a bunch of committee
+members could have made this interface.  They never really tried to
+program using this interface.  It is a fast, memory-saving
+implementation, an user can happily live with it.  But programmers hate
+it (at least me and some others do...)
+
+   But we must not forget one point: after all the trouble with
+transfering the rights on Unix(tm) they at last came to X/Open, the
+very same who published this specification.  This leads me to making
+the prediction that this interface will be in future Unix standards
+(e.g. Spec1170) and therefore part of all Unix implementation
+(implementations, which are _allowed_ to wear this name).
 
 * Menu:
 
-* Central Coordination::        Central Coordination
-* National Teams::              National Teams
-* Mailing Lists::               Mailing Lists
+* Interface to catgets::        The interface
+* Problems with catgets::       Problems with the `catgets' interface?!
 
 \1f
-File: gettext.info,  Node: Central Coordination,  Next: National Teams,  Prev: Organization,  Up: Organization
-
-Central Coordination
---------------------
-
-   I also think GNU will need sooner than it thinks, that someone setup
-a way to organize and coordinate these groups.  Some kind of group of
-groups.  My opinion is that it would be good that GNU delegates this
-task to a small group of collaborating volunteers, shortly.  Perhaps in
-`gnu.announce' a list of this national committee's can be published.
-
-   My role as coordinator would simply be to refer to Ulrich any German
-speaking volunteer interested to localization of free software
-packages, and maybe helping national groups to initially organize,
-while maintaining national registries for until national groups are
-ready to take over.  In fact, the coordinator should ease volunteers to
-get in contact with one another for creating national teams, which
-should then select one coordinator per language, or country
-(regionalized language).  If well done, the coordination should be
-useful without being an overwhelming task, the time to put delegations
-in place.
+File: gettext.info,  Node: Interface to catgets,  Next: Problems with catgets,  Prev: catgets,  Up: catgets
 
-\1f
-File: gettext.info,  Node: National Teams,  Next: Mailing Lists,  Prev: Central Coordination,  Up: Organization
-
-National Teams
---------------
-
-   I suggest we look for volunteer coordinators/editors for individual
-languages.  These people will scan contributions of translation files
-for various programs, for their own languages, and will ensure high and
-uniform standards of diction.
-
-   From my current experience with other people in these days, those who
-provide localizations are very enthusiastic about the process, and are
-more interested in the localization process than in the program they
-localize, and want to do many programs, not just one.  This seems to
-confirm that having a coordinator/editor for each language is a good
-idea.
-
-   We need to choose someone who is good at writing clear and concise
-prose in the language in question.  That is hard--we can't check it
-ourselves.  So we need to ask a few people to judge each others'
-writing and select the one who is best.
-
-   I announce my prerelease to a few dozen people, and you would not
-believe all the discussions it generated already.  I shudder to think
-what will happen when this will be launched, for true, officially,
-world wide.  Who am I to arbitrate between two Czekolsovak users
-contradicting each other, for example?
-
-   I assume that your German is not much better than my French so that
-I would not be able to judge about these formulations.  What I would
-suggest is that for each language there is a group for people who
-maintain the PO files and judge about changes.  I suspect there will be
-cultural differences between how such groups of people will behave.
-Some will have relaxed ways, reach consensus easily, and have anyone of
-the group relate to the maintainers, while others will fight to death,
-organize heavy administrations up to national standards, and use strict
-channels.
-
-   The German team is putting out a good example.  Right now, they are
-maybe half a dozen people revising translations of each other and
-discussing the linguistic issues.  I do not even have all the names.
-Ulrich Drepper is taking care of coordinating the German team.  He
-subscribed to all my pretest lists, so I do not even have to warn him
-specifically of incoming releases.
-
-   I'm sure, that is a good idea to get teams for each language working
-on translations. That will make the translations better and more
-consistent.
-
-* Menu:
-
-* Sub-Cultures::                Sub-Cultures
-* Organizational Ideas::        Organizational Ideas
-
-\1f
-File: gettext.info,  Node: Sub-Cultures,  Next: Organizational Ideas,  Prev: National Teams,  Up: National Teams
-
-Sub-Cultures
-............
-
-   Taking French for example, there are a few sub-cultures around
-computers which developed diverging vocabularies.  Picking volunteers
-here and there without addressing this problem in an organized way,
-soon in the project, might produce a distasteful mix of
-internationalized programs, and possibly trigger endless quarrels among
-those who really care.
-
-   Keeping some kind of unity in the way French localization of
-internationalized programs is achieved is a difficult (and delicate)
-job.  Knowing the latin character of French people (:-), if we take this
-the wrong way, we could end up nowhere, or spoil a lot of energies.
-Maybe we should begin to address this problem seriously _before_ GNU
-`gettext' become officially published.  And I suspect that this means
-soon!
-
-\1f
-File: gettext.info,  Node: Organizational Ideas,  Prev: Sub-Cultures,  Up: National Teams
-
-Organizational Ideas
-....................
-
-   I expect the next big changes after the official release.  Please
-note that I use the German translation of the short GPL message.  We
-need to set a few good examples before the localization goes out for
-true in the free software community.  Here are a few points to discuss:
-
-   * Each group should have one FTP server (at least one master).
-
-   * The files on the server should reflect the latest version (of
-     course!) and it should also contain a RCS directory with the
-     corresponding archives (I don't have this now).
-
-   * There should also be a ChangeLog file (this is more useful than the
-     RCS archive but can be generated automatically from the later by
-     Emacs).
-
-   * A "core group" should judge about questionable changes (for now
-     this group consists solely by me but I ask some others
-     occasionally; this also seems to work).
-
-
-\1f
-File: gettext.info,  Node: Mailing Lists,  Prev: National Teams,  Up: Organization
-
-Mailing Lists
+The Interface
 -------------
 
-   If we get any inquiries about GNU `gettext', send them on to:
+   The interface to the `catgets' implementation consists of three
+functions which correspond to those used in file access: `catopen' to
+open the catalog for using, `catgets' for accessing the message tables,
+and `catclose' for closing after work is done.  Prototypes for the
+functions and the needed definitions are in the `<nl_types.h>' header
+file.
 
-     `translation@iro.umontreal.ca'
+   `catopen' is used like in this:
 
-   The `*-pretest' lists are quite useful to me, maybe the idea could
-be generalized to many GNU, and non-GNU packages.  But each maintainer
-his/her way!
+     nl_catd catd = catopen ("catalog_name", 0);
 
-   Franc,ois, we have a mechanism in place here at `gnu.ai.mit.edu' to
-track teams, support mailing lists for them and log members.  We have a
-slight preference that you use it.  If this is OK with you, I can get
-you clued in.
+   The function takes as the argument the name of the catalog.  This
+usual refers to the name of the program or the package.  The second
+parameter is not further specified in the standard.  I don't even know
+whether it is implemented consistently among various systems.  So the
+common advice is to use `0' as the value.  The return value is a handle
+to the message catalog, equivalent to handles to file returned by
+`open'.
 
-   Things are changing!  A few years ago, when Daniel Fekete and I
-asked for a mailing list for GNU localization, nested at the FSF, we
-were politely invited to organize it anywhere else, and so did we.  For
-communicating with my pretesters, I later made a handful of mailing
-lists located at iro.umontreal.ca and administrated by `majordomo'.
-These lists have been _very_ dependable so far...
+   This handle is of course used in the `catgets' function which can be
+used like this:
 
-   I suspect that the German team will organize itself a mailing list
-located in Germany, and so forth for other countries.  But before they
-organize for true, it could surely be useful to offer mailing lists
-located at the FSF to each national team.  So yes, please explain me
-how I should proceed to create and handle them.
+     char *translation = catgets (catd, set_no, msg_id, "original string");
 
-   We should create temporary mailing lists, one per country, to help
-people organize.  Temporary, because once regrouped and structured, it
-would be fair the volunteers from country bring back _their_ list in
-there and manage it as they want.  My feeling is that, in the long run,
-each team should run its own list, from within their country.  There
-also should be some central list to which all teams could subscribe as
-they see fit, as long as each team is represented in it.
+   The first parameter is this catalog descriptor.  The second parameter
+specifies the set of messages in this catalog, in which the message
+described by `msg_id' is obtained.  `catgets' therefore uses a
+three-stage addressing:
 
-\1f
-File: gettext.info,  Node: Information Flow,  Prev: Organization,  Up: Translators
-
-Information Flow
-================
-
-   There will surely be some discussion about this messages after the
-packages are finally released.  If people now send you some proposals
-for better messages, how do you proceed?  Jim, please note that right
-now, as I put forward nearly a dozen of localizable programs, I receive
-both the translations and the coordination concerns about them.
-
-   If I put one of my things to pretest, Ulrich receives the
-announcement and passes it on to the German team, who make last minute
-revisions.  Then he submits the translation files to me _as the
-maintainer_.  For free packages I do not maintain, I would not even
-hear about it.  This scheme could be made to work for the whole
-Translation Project, I think.  For security reasons, maybe Ulrich
-(national coordinators, in fact) should update central registry kept at
-the Translation Project (Jim, me, or Len's recruits) once in a while.
-
-   In December/January, I was aggressively ready to internationalize
-all of GNU, giving myself the duty of one small GNU package per week or
-so, taking many weeks or months for bigger packages.  But it does not
-work this way.  I first did all the things I'm responsible for.  I've
-nothing against some missionary work on other maintainers, but I'm also
-loosing a lot of energy over it--same debates over again.
-
-   And when the first localized packages are released we'll get a lot of
-responses about ugly translations :-).  Surely, and we need to have
-beforehand a fairly good idea about how to handle the information flow
-between the national teams and the package maintainers.
-
-   Please start saving somewhere a quick history of each PO file.  I
-know for sure that the file format will change, allowing for comments.
-It would be nice that each file has a kind of log, and references for
-those who want to submit comments or gripes, or otherwise contribute.
-I sent a proposal for a fast and flexible format, but it is not
-receiving acceptance yet by the GNU deciders.  I'll tell you when I
-have more information about this.
+     catalog name => set number => message ID => translation
 
-\1f
-File: gettext.info,  Node: Maintainers,  Next: Conclusion,  Prev: Translators,  Up: Top
+   The fourth argument is not used to address the translation.  It is
+given as a default value in case when one of the addressing stages
+fail.  One important thing to remember is that although the return type
+of catgets is `char *' the resulting string _must not_ be changed.  It
+should better be `const char *', but the standard is published in 1988,
+one year before ANSI C.
 
-The Maintainer's View
-*********************
+The last of these function functions is used and behaves as expected:
 
-   The maintainer of a package has many responsibilities.  One of them
-is ensuring that the package will install easily on many platforms, and
-that the magic we described earlier (*note Users::) will work for
-installers and end users.
-
-   Of course, there are many possible ways by which GNU `gettext' might
-be integrated in a distribution, and this chapter does not cover them
-in all generality.  Instead, it details one possible approach which is
-especially adequate for many free software distributions following GNU
-standards, or even better, Gnits standards, because GNU `gettext' is
-purposely for helping the internationalization of the whole GNU
-project, and as many other good free packages as possible.  So, the
-maintainer's view presented here presumes that the package already has
-a `configure.in' file and uses GNU Autoconf.
-
-   Nevertheless, GNU `gettext' may surely be useful for free packages
-not following GNU standards and conventions, but the maintainers of such
-packages might have to show imagination and initiative in organizing
-their distributions so `gettext' work for them in all situations.
-There are surely many, out there.
-
-   Even if `gettext' methods are now stabilizing, slight adjustments
-might be needed between successive `gettext' versions, so you should
-ideally revise this chapter in subsequent releases, looking for changes.
+     catclose (catd);
 
-* Menu:
-
-* Flat and Non-Flat::           Flat or Non-Flat Directory Structures
-* Prerequisites::               Prerequisite Works
-* gettextize Invocation::       Invoking the `gettextize' Program
-* Adjusting Files::             Files You Must Create or Alter
-
-\1f
-File: gettext.info,  Node: Flat and Non-Flat,  Next: Prerequisites,  Prev: Maintainers,  Up: Maintainers
-
-Flat or Non-Flat Directory Structures
-=====================================
-
-   Some free software packages are distributed as `tar' files which
-unpack in a single directory, these are said to be "flat" distributions.
-Other free software packages have a one level hierarchy of
-subdirectories, using for example a subdirectory named `doc/' for the
-Texinfo manual and man pages, another called `lib/' for holding
-functions meant to replace or complement C libraries, and a
-subdirectory `src/' for holding the proper sources for the package.
-These other distributions are said to be "non-flat".
-
-   We cannot say much about flat distributions.  A flat directory
-structure has the disadvantage of increasing the difficulty of updating
-to a new version of GNU `gettext'.  Also, if you have many PO files,
-this could somewhat pollute your single directory.  Also, GNU
-`gettext''s libintl sources consist of C sources, shell scripts, `sed'
-scripts and complicated Makefile rules, which don't fit well into an
-existing flat structure.  For these reasons, we recommend to use
-non-flat approach in this case as well.
-
-   Maybe because GNU `gettext' itself has a non-flat structure, we have
-more experience with this approach, and this is what will be described
-in the remaining of this chapter.  Some maintainers might use this as
-an opportunity to unflatten their package structure.
+   After this no `catgets' call using the descriptor is legal anymore.
 
 \1f
-File: gettext.info,  Node: Prerequisites,  Next: gettextize Invocation,  Prev: Flat and Non-Flat,  Up: Maintainers
-
-Prerequisite Works
-==================
-
-   There are some works which are required for using GNU `gettext' in
-one of your package.  These works have some kind of generality that
-escape the point by point descriptions used in the remainder of this
-chapter.  So, we describe them here.
-
-   * Before attempting to use `gettextize' you should install some
-     other packages first.  Ensure that recent versions of GNU `m4',
-     GNU Autoconf and GNU `gettext' are already installed at your site,
-     and if not, proceed to do this first.  If you got to install these
-     things, beware that GNU `m4' must be fully installed before GNU
-     Autoconf is even _configured_.
-
-     To further ease the task of a package maintainer the `automake'
-     package was designed and implemented.  GNU `gettext' now uses this
-     tool and the `Makefile's in the `intl/' and `po/' therefore know
-     about all the goals necessary for using `automake' and `libintl'
-     in one project.
-
-     Those four packages are only needed to you, as a maintainer; the
-     installers of your own package and end users do not really need
-     any of GNU `m4', GNU Autoconf, GNU `gettext', or GNU `automake'
-     for successfully installing and running your package, with messages
-     properly translated.  But this is not completely true if you
-     provide internationalized shell scripts within your own package:
-     GNU `gettext' shall then be installed at the user site if the end
-     users want to see the translation of shell script messages.
-
-   * Your package should use Autoconf and have a `configure.in' file.
-     If it does not, you have to learn how.  The Autoconf documentation
-     is quite well written, it is a good idea that you print it and get
-     familiar with it.
-
-   * Your C sources should have already been modified according to
-     instructions given earlier in this manual.  *Note Sources::.
-
-   * Your `po/' directory should receive all PO files submitted to you
-     by the translator teams, each having `LL.po' as a name.  This is
-     not usually easy to get translation work done before your package
-     gets internationalized and available!  Since the cycle has to
-     start somewhere, the easiest for the maintainer is to start with
-     absolutely no PO files, and wait until various translator teams
-     get interested in your package, and submit PO files.
-
-
-   It is worth adding here a few words about how the maintainer should
-ideally behave with PO files submissions.  As a maintainer, your role is
-to authentify the origin of the submission as being the representative
-of the appropriate translating teams of the Translation Project (forward
-the submission to `translation@iro.umontreal.ca' in case of doubt), to
-ensure that the PO file format is not severely broken and does not
-prevent successful installation, and for the rest, to merely to put
-these PO files in `po/' for distribution.
-
-   As a maintainer, you do not have to take on your shoulders the
-responsibility of checking if the translations are adequate or
-complete, and should avoid diving into linguistic matters.  Translation
-teams drive themselves and are fully responsible of their linguistic
-choices for the Translation Project.  Keep in mind that translator
-teams are _not_ driven by maintainers.  You can help by carefully
-redirecting all communications and reports from users about linguistic
-matters to the appropriate translation team, or explain users how to
-reach or join their team.  The simplest might be to send them the
-`ABOUT-NLS' file.
-
-   Maintainers should _never ever_ apply PO file bug reports
-themselves, short-cutting translation teams.  If some translator has
-difficulty to get some of her points through her team, it should not be
-an issue for her to directly negotiate translations with maintainers.
-Teams ought to settle their problems themselves, if any.  If you, as a
-maintainer, ever think there is a real problem with a team, please
-never try to _solve_ a team's problem on your own.
+File: gettext.info,  Node: Problems with catgets,  Prev: Interface to catgets,  Up: catgets
+
+Problems with the `catgets' Interface?!
+---------------------------------------
+
+   Now that this description seemed to be really easy -- where are the
+problem we speak of?  In fact the interface could be used in a
+reasonable way, but constructing the message catalogs is a pain.  The
+reason for this lies in the third argument of `catgets': the unique
+message ID.  This has to be a numeric value for all messages in a single
+set.  Perhaps you could imagine the problems keeping such a list while
+changing the source code.  Add a new message here, remove one there.  Of
+course there have been developed a lot of tools helping to organize this
+chaos but one as the other fails in one aspect or the other.  We don't
+want to say that the other approach has no problems but they are far
+more easy to manage.
 
 \1f
-File: gettext.info,  Node: gettextize Invocation,  Next: Adjusting Files,  Prev: Prerequisites,  Up: Maintainers
-
-Invoking the `gettextize' Program
-=================================
-
-   Some files are consistently and identically needed in every package
-internationalized through GNU `gettext'.  As a matter of convenience,
-the `gettextize' program puts all these files right in your package.
-This program has the following synopsis:
-
-     gettextize [ OPTION... ] [ DIRECTORY ]
-
-and accepts the following options:
-
-`-c'
-`--copy'
-     Copy the needed files instead of making symbolic links.  Using
-     links would allow the package to always use the latest `gettext'
-     code available on the system, but it might disturb some mechanism
-     the maintainer is used to apply to the sources.  Because running
-     `gettextize' is easy there shouldn't be problems with using copies.
-
-`-f'
-`--force'
-     Force replacement of files which already exist.
-
-`-h'
-`--help'
-     Display this help and exit.
-
-`--version'
-     Output version information and exit.
-
-   If DIRECTORY is given, this is the top level directory of a package
-to prepare for using GNU `gettext'.  If not given, it is assumed that
-the current directory is the top level directory of such a package.
-
-   The program `gettextize' provides the following files.  However, no
-existing file will be replaced unless the option `--force' (`-f') is
-specified.
-
-  1. The `ABOUT-NLS' file is copied in the main directory of your
-     package, the one being at the top level.  This file gives the main
-     indications about how to install and use the Native Language
-     Support features of your program.  You might elect to use a more
-     recent copy of this `ABOUT-NLS' file than the one provided through
-     `gettextize', if you have one handy.  You may also fetch a more
-     recent copy of file `ABOUT-NLS' from Translation Project sites,
-     and from most GNU archive sites.
-
-  2. A `po/' directory is created for eventually holding all
-     translation files, but initially only containing the file
-     `po/Makefile.in.in' from the GNU `gettext' distribution.  (beware
-     the double `.in' in the file name). If the `po/' directory already
-     exists, it will be preserved along with the files it contains, and
-     only `Makefile.in.in' will be overwritten.
-
-  3. A `intl/' directory is created and filled with most of the files
-     originally in the `intl/' directory of the GNU `gettext'
-     distribution.  Also, if option `--force' (`-f') is given, the
-     `intl/' directory is emptied first.
-
-
-   If your site support symbolic links, `gettextize' will not actually
-copy the files into your package, but establish symbolic links instead.
-This avoids duplicating the disk space needed in all packages.  Merely
-using the `-h' option while creating the `tar' archive of your
-distribution will resolve each link by an actual copy in the
-distribution archive.  So, to insist, you really should use `-h' option
-with `tar' within your `dist' goal of your main `Makefile.in'.
-
-   It is interesting to understand that most new files for supporting
-GNU `gettext' facilities in one package go in `intl/' and `po/'
-subdirectories.  One distinction between these two directories is that
-`intl/' is meant to be completely identical in all packages using GNU
-`gettext', while all newly created files, which have to be different,
-go into `po/'.  There is a common `Makefile.in.in' in `po/', because
-the `po/' directory needs its own `Makefile', and it has been designed
-so it can be identical in all packages.
+File: gettext.info,  Node: gettext,  Next: Comparison,  Prev: catgets,  Up: Programmers
 
-\1f
-File: gettext.info,  Node: Adjusting Files,  Prev: gettextize Invocation,  Up: Maintainers
+About `gettext'
+===============
 
-Files You Must Create or Alter
-==============================
+   The definition of the `gettext' interface comes from a Uniforum
+proposal and it is followed by at least one major Unix vendor (Sun) in
+its last developments.  It is not specified in any official standard,
+though.
 
-   Besides files which are automatically added through `gettextize',
-there are many files needing revision for properly interacting with GNU
-`gettext'.  If you are closely following GNU standards for Makefile
-engineering and auto-configuration, the adaptations should be easier to
-achieve.  Here is a point by point description of the changes needed in
-each.
+   The main points about this solution is that it does not follow the
+method of normal file handling (open-use-close) and that it does not
+burden the programmer so many task, especially the unique key handling.
+Of course here is also a unique key needed, but this key is the message
+itself (how long or short it is).  See *Note Comparison:: for a more
+detailed comparison of the two methods.
 
-   So, here comes a list of files, each one followed by a description of
-all alterations it needs.  Many examples are taken out from the GNU
-`gettext' 0.10.37 distribution itself.  You may indeed refer to the
-source code of the GNU `gettext' package, as it is intended to be a
-good example and master implementation for using its own functionality.
+   The following section contains a rather detailed description of the
+interface.  We make it that detailed because this is the interface we
+chose for the GNU `gettext' Library.  Programmers interested in using
+this library will be interested in this description.
 
 * Menu:
 
-* po/POTFILES.in::              `POTFILES.in' in `po/'
-* configure.in::                `configure.in' at top level
-* config.guess::                `config.guess', `config.sub' at top level
-* aclocal::                     `aclocal.m4' at top level
-* acconfig::                    `acconfig.h' at top level
-* Makefile::                    `Makefile.in' at top level
-* src/Makefile::                `Makefile.in' in `src/'
+* Interface to gettext::        The interface
+* Ambiguities::                 Solving ambiguities
+* Locating Catalogs::           Locating message catalog files
+* Charset conversion::          How to request conversion to Unicode
+* Plural forms::                Additional functions for handling plurals
+* GUI program problems::        Another technique for solving ambiguities
+* Optimized gettext::           Optimization of the *gettext functions
 
 \1f
-File: gettext.info,  Node: po/POTFILES.in,  Next: configure.in,  Prev: Adjusting Files,  Up: Adjusting Files
-
-`POTFILES.in' in `po/'
-----------------------
+File: gettext.info,  Node: Interface to gettext,  Next: Ambiguities,  Prev: gettext,  Up: gettext
 
-   The `po/' directory should receive a file named `POTFILES.in'.  This
-file tells which files, among all program sources, have marked strings
-needing translation.  Here is an example of such a file:
-
-     # List of source files containing translatable strings.
-     # Copyright (C) 1995 Free Software Foundation, Inc.
-     
-     # Common library files
-     lib/error.c
-     lib/getopt.c
-     lib/xmalloc.c
-     
-     # Package source files
-     src/gettext.c
-     src/msgfmt.c
-     src/xgettext.c
+The Interface
+-------------
 
-Hash-marked comments and white lines are ignored.  All other lines list
-those source files containing strings marked for translation (*note
-Mark Keywords::), in a notation relative to the top level of your whole
-distribution, rather than the location of the `POTFILES.in' file itself.
+   The minimal functionality an interface must have is a) to select a
+domain the strings are coming from (a single domain for all programs is
+not reasonable because its construction and maintenance is difficult,
+perhaps impossible) and b) to access a string in a selected domain.
+
+   This is principally the description of the `gettext' interface.  It
+has a global domain which unqualified usages reference.  Of course this
+domain is selectable by the user.
+
+     char *textdomain (const char *domain_name);
+
+   This provides the possibility to change or query the current status
+of the current global domain of the `LC_MESSAGE' category.  The
+argument is a null-terminated string, whose characters must be legal in
+the use in filenames.  If the DOMAIN_NAME argument is `NULL', the
+function return the current value.  If no value has been set before,
+the name of the default domain is returned: _messages_.  Please note
+that although the return value of `textdomain' is of type `char *' no
+changing is allowed.  It is also important to know that no checks of
+the availability are made.  If the name is not available you will see
+this by the fact that no translations are provided.
+
+To use a domain set by `textdomain' the function
+
+     char *gettext (const char *msgid);
+
+   is to be used.  This is the simplest reasonable form one can imagine.
+The translation of the string MSGID is returned if it is available in
+the current domain.  If not available the argument itself is returned.
+If the argument is `NULL' the result is undefined.
+
+   One things which should come into mind is that no explicit
+dependency to the used domain is given.  The current value of the
+domain for the `LC_MESSAGES' locale is used.  If this changes between
+two executions of the same `gettext' call in the program, both calls
+reference a different message catalog.
+
+   For the easiest case, which is normally used in internationalized
+packages, once at the beginning of execution a call to `textdomain' is
+issued, setting the domain to a unique name, normally the package name.
+In the following code all strings which have to be translated are
+filtered through the gettext function.  That's all, the package speaks
+your language.
 
 \1f
-File: gettext.info,  Node: configure.in,  Next: config.guess,  Prev: po/POTFILES.in,  Up: Adjusting Files
-
-`configure.in' at top level
----------------------------
-
-  1. Declare the package and version.
-
-     This is done by a set of lines like these:
-
-          PACKAGE=gettext
-          VERSION=0.10.37
-          AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
-          AC_DEFINE_UNQUOTED(VERSION, "$VERSION")
-          AC_SUBST(PACKAGE)
-          AC_SUBST(VERSION)
-
-     Of course, you replace `gettext' with the name of your package,
-     and `0.10.37' by its version numbers, exactly as they should
-     appear in the packaged `tar' file name of your distribution
-     (`gettext-0.10.37.tar.gz', here).
-
-  2. Declare the available translations.
-
-     This is done by defining `ALL_LINGUAS' to the white separated,
-     quoted list of available languages, in a single line, like this:
-
-          ALL_LINGUAS="de fr"
+File: gettext.info,  Node: Ambiguities,  Next: Locating Catalogs,  Prev: Interface to gettext,  Up: gettext
+
+Solving Ambiguities
+-------------------
+
+   While this single name domain works well for most applications there
+might be the need to get translations from more than one domain.  Of
+course one could switch between different domains with calls to
+`textdomain', but this is really not convenient nor is it fast.  A
+possible situation could be one case subject to discussion during this
+writing:  all error messages of functions in the set of common used
+functions should go into a separate domain `error'.  By this mean we
+would only need to translate them once.  Another case are messages from
+a library, as these _have_ to be independent of the current domain set
+by the application.
+
+For this reasons there are two more functions to retrieve strings:
+
+     char *dgettext (const char *domain_name, const char *msgid);
+     char *dcgettext (const char *domain_name, const char *msgid,
+                      int category);
+
+   Both take an additional argument at the first place, which
+corresponds to the argument of `textdomain'.  The third argument of
+`dcgettext' allows to use another locale but `LC_MESSAGES'.  But I
+really don't know where this can be useful.  If the DOMAIN_NAME is
+`NULL' or CATEGORY has an value beside the known ones, the result is
+undefined.  It should also be noted that this function is not part of
+the second known implementation of this function family, the one found
+in Solaris.
+
+   A second ambiguity can arise by the fact, that perhaps more than one
+domain has the same name.  This can be solved by specifying where the
+needed message catalog files can be found.
+
+     char *bindtextdomain (const char *domain_name,
+                           const char *dir_name);
+
+   Calling this function binds the given domain to a file in the
+specified directory (how this file is determined follows below).
+Especially a file in the systems default place is not favored against
+the specified file anymore (as it would be by solely using
+`textdomain').  A `NULL' pointer for the DIR_NAME parameter returns the
+binding associated with DOMAIN_NAME.  If DOMAIN_NAME itself is `NULL'
+nothing happens and a `NULL' pointer is returned.  Here again as for
+all the other functions is true that none of the return value must be
+changed!
+
+   It is important to remember that relative path names for the
+DIR_NAME parameter can be trouble.  Since the path is always computed
+relative to the current directory different results will be achieved
+when the program executes a `chdir' command.  Relative paths should
+always be avoided to avoid dependencies and unreliabilities.
 
-     This example means that German and French PO files are available,
-     so that these languages are currently supported by your package.
-     If you want to further restrict, at installation time, the set of
-     installed languages, this should not be done by modifying
-     `ALL_LINGUAS' in `configure.in', but rather by using the `LINGUAS'
-     environment variable (*note Installers::).
-
-  3. Check for internationalization support.
+\1f
+File: gettext.info,  Node: Locating Catalogs,  Next: Charset conversion,  Prev: Ambiguities,  Up: gettext
 
-     Here is the main `m4' macro for triggering internationalization
-     support.  Just add this line to `configure.in':
+Locating Message Catalog Files
+------------------------------
 
-          AM_GNU_GETTEXT
+   Because many different languages for many different packages have to
+be stored we need some way to add these information to file message
+catalog files.  The way usually used in Unix environments is have this
+encoding in the file name.  This is also done here.  The directory name
+given in `bindtextdomain's second argument (or the default directory),
+followed by the value and name of the locale and the domain name are
+concatenated:
 
-     This call is purposely simple, even if it generates a lot of
-     configure time checking and actions.
+     DIR_NAME/LOCALE/LC_CATEGORY/DOMAIN_NAME.mo
 
-  4. Have output files created.
+   The default value for DIR_NAME is system specific.  For the GNU
+library, and for packages adhering to its conventions, it's:
+     /usr/local/share/locale
 
-     The `AC_OUTPUT' directive, at the end of your `configure.in' file,
-     needs to be modified in two ways:
+LOCALE is the value of the locale whose name is this `LC_CATEGORY'.
+For `gettext' and `dgettext' this `LC_CATEGORY' is always
+`LC_MESSAGES'.(1) The value of the locale is determined through
+`setlocale (LC_CATEGORY, NULL)'.  (2) `dcgettext' specifies the locale
+category by the third argument.
 
-          AC_OUTPUT([EXISTING CONFIGURATION FILES intl/Makefile po/Makefile.in],
-          EXISTING ADDITIONAL ACTIONS])
+   ---------- Footnotes ----------
 
-     The modification to the first argument to `AC_OUTPUT' asks for
-     substitution in the `intl/' and `po/' directories.  Note the `.in'
-     suffix used for `po/' only.  This is because the distributed file
-     is really `po/Makefile.in.in'.
+   (1) Some system, eg Ultrix, don't have `LC_MESSAGES'.  Here we use a
+more or less arbitrary value for it, namely 1729, the smallest positive
+integer which can be represented in two different ways as the sum of
+two cubes.
 
+   (2) When the system does not support `setlocale' its behavior in
+setting the locale values is simulated by looking at the environment
+variables.
 
 \1f
-File: gettext.info,  Node: config.guess,  Next: aclocal,  Prev: configure.in,  Up: Adjusting Files
-
-`config.guess', `config.sub' at top level
------------------------------------------
-
-   You need to add the GNU `config.guess' and `config.sub' files to
-your distribution.  They are needed because the `intl/' directory has
-platform dependent support for determining the locale's character
-encoding and therefore needs to identify the platform.
-
-   You can obtain the newest version of `config.guess' and `config.sub'
-from `ftp://ftp.gnu.org/pub/gnu/config/'.  Less recent versions are
-also contained in the GNU `automake' and GNU `libtool' packages.
-
-   Normally, `config.guess' and `config.sub' are put at the top level
-of a distribution.  But it is also possible to put them in a
-subdirectory, altogether with other configuration support files like
-`install-sh', `ltconfig', `ltmain.sh', `mkinstalldirs' or `missing'.
-All you need to do, other than moving the files, is to add the
-following line to your `configure.in'.
-
-     AC_CONFIG_AUX_DIR([SUBDIR])
+File: gettext.info,  Node: Charset conversion,  Next: Plural forms,  Prev: Locating Catalogs,  Up: gettext
+
+How to specify the output character set `gettext' uses
+------------------------------------------------------
+
+   `gettext' not only looks up a translation in a message catalog.  It
+also converts the translation on the fly to the desired output character
+set.  This is useful if the user is working in a different character set
+than the translator who created the message catalog, because it avoids
+distributing variants of message catalogs which differ only in the
+character set.
+
+   The output character set is, by default, the value of `nl_langinfo
+(CODESET)', which depends on the `LC_CTYPE' part of the current locale.
+But programs which store strings in a locale independent way (e.g.
+UTF-8) can request that `gettext' and related functions return the
+translations in that encoding, by use of the `bind_textdomain_codeset'
+function.
+
+   Note that the MSGID argument to `gettext' is not subject to
+character set conversion.  Also, when `gettext' does not find a
+translation for MSGID, it returns MSGID unchanged - independently of
+the current output character set.  It is therefore recommended that all
+MSGIDs be US-ASCII strings.
+
+ - Function: char * bind_textdomain_codeset (const char *DOMAINNAME,
+          const char *CODESET)
+     The `bind_textdomain_codeset' function can be used to specify the
+     output character set for message catalogs for domain DOMAINNAME.
+     The CODESET argument must be a valid codeset name which can be used
+     for the `iconv_open' function, or a null pointer.
+
+     If the CODESET parameter is the null pointer,
+     `bind_textdomain_codeset' returns the currently selected codeset
+     for the domain with the name DOMAINNAME. It returns `NULL' if no
+     codeset has yet been selected.
+
+     The `bind_textdomain_codeset' function can be used several times.
+     If used multiple times with the same DOMAINNAME argument, the
+     later call overrides the settings made by the earlier one.
+
+     The `bind_textdomain_codeset' function returns a pointer to a
+     string containing the name of the selected codeset.  The string is
+     allocated internally in the function and must not be changed by the
+     user.  If the system went out of core during the execution of
+     `bind_textdomain_codeset', the return value is `NULL' and the
+     global variable ERRNO is set accordingly.
 
 \1f
-File: gettext.info,  Node: aclocal,  Next: acconfig,  Prev: config.guess,  Up: Adjusting Files
+File: gettext.info,  Node: Plural forms,  Next: GUI program problems,  Prev: Charset conversion,  Up: gettext
+
+Additional functions for plural forms
+-------------------------------------
+
+   The functions of the `gettext' family described so far (and all the
+`catgets' functions as well) have one problem in the real world which
+have been neglected completely in all existing approaches.  What is
+meant here is the handling of plural forms.
+
+   Looking through Unix source code before the time anybody thought
+about internationalization (and, sadly, even afterwards) one can often
+find code similar to the following:
+
+        printf ("%d file%s deleted", n, n == 1 ? "" : "s");
+
+After the first complaints from people internationalizing the code
+people either completely avoided formulations like this or used strings
+like `"file(s)"'.  Both look unnatural and should be avoided.  First
+tries to solve the problem correctly looked like this:
+
+        if (n == 1)
+          printf ("%d file deleted", n);
+        else
+          printf ("%d files deleted", n);
+
+   But this does not solve the problem.  It helps languages where the
+plural form of a noun is not simply constructed by adding an `s' but
+that is all.  Once again people fell into the trap of believing the
+rules their language is using are universal.  But the handling of plural
+forms differs widely between the language families.  For example, Rafal
+Maszkowski `<rzm@mat.uni.torun.pl>' reports:
+
+     In Polish we use e.g. plik (file) this way:
+          1 plik
+          2,3,4 pliki
+          5-21 pliko'w
+          22-24 pliki
+          25-31 pliko'w
+     and so on (o' means 8859-2 oacute which should be rather okreska,
+     similar to aogonek).
+
+   There are two things which can differ between languages (and even
+inside language families);
+
+   * The form how plural forms are build differs.  This is a problem
+     with languages which have many irregularities.  German, for
+     instance, is a drastic case.  Though English and German are part
+     of the same language family (Germanic), the almost regular forming
+     of plural noun forms (appending an `s') is hardly found in German.
+
+   * The number of plural forms differ.  This is somewhat surprising for
+     those who only have experiences with Romanic and Germanic languages
+     since here the number is the same (there are two).
+
+     But other language families have only one form or many forms.  More
+     information on this in an extra section.
+
+   The consequence of this is that application writers should not try to
+solve the problem in their code.  This would be localization since it is
+only usable for certain, hardcoded language environments.  Instead the
+extended `gettext' interface should be used.
+
+   These extra functions are taking instead of the one key string two
+strings and a numerical argument.  The idea behind this is that using
+the numerical argument and the first string as a key, the implementation
+can select using rules specified by the translator the right plural
+form.  The two string arguments then will be used to provide a return
+value in case no message catalog is found (similar to the normal
+`gettext' behavior).  In this case the rules for Germanic language is
+used and it is assumed that the first string argument is the singular
+form, the second the plural form.
+
+   This has the consequence that programs without language catalogs can
+display the correct strings only if the program itself is written using
+a Germanic language.  This is a limitation but since the GNU C library
+(as well as the GNU `gettext' package) are written as part of the GNU
+package and the coding standards for the GNU project require program
+being written in English, this solution nevertheless fulfills its
+purpose.
+
+ - Function: char * ngettext (const char *MSGID1, const char *MSGID2,
+          unsigned long int N)
+     The `ngettext' function is similar to the `gettext' function as it
+     finds the message catalogs in the same way.  But it takes two
+     extra arguments.  The MSGID1 parameter must contain the singular
+     form of the string to be converted.  It is also used as the key
+     for the search in the catalog.  The MSGID2 parameter is the plural
+     form.  The parameter N is used to determine the plural form.  If no
+     message catalog is found MSGID1 is returned if `n == 1', otherwise
+     `msgid2'.
+
+     An example for the use of this function is:
+
+          printf (ngettext ("%d file removed", "%d files removed", n), n);
+
+     Please note that the numeric value N has to be passed to the
+     `printf' function as well.  It is not sufficient to pass it only to
+     `ngettext'.
+
+ - Function: char * dngettext (const char *DOMAIN, const char *MSGID1,
+          const char *MSGID2, unsigned long int N)
+     The `dngettext' is similar to the `dgettext' function in the way
+     the message catalog is selected.  The difference is that it takes
+     two extra parameter to provide the correct plural form.  These two
+     parameters are handled in the same way `ngettext' handles them.
+
+ - Function: char * dcngettext (const char *DOMAIN, const char *MSGID1,
+          const char *MSGID2, unsigned long int N, int CATEGORY)
+     The `dcngettext' is similar to the `dcgettext' function in the way
+     the message catalog is selected.  The difference is that it takes
+     two extra parameter to provide the correct plural form.  These two
+     parameters are handled in the same way `ngettext' handles them.
+
+   Now, how do these functions solve the problem of the plural forms?
+Without the input of linguists (which was not available) it was not
+possible to determine whether there are only a few different forms in
+which plural forms are formed or whether the number can increase with
+every new supported language.
+
+   Therefore the solution implemented is to allow the translator to
+specify the rules of how to select the plural form.  Since the formula
+varies with every language this is the only viable solution except for
+hardcoding the information in the code (which still would require the
+possibility of extensions to not prevent the use of new languages).
 
-`aclocal.m4' at top level
--------------------------
+   The information about the plural form selection has to be stored in
+the header entry of the PO file (the one with the empty `msgid' string).
+The plural form information looks like this:
 
-   If you do not have an `aclocal.m4' file in your distribution, the
-simplest is to concatenate the files `codeset.m4', `gettext.m4',
-`iconv.m4', `isc-posix.m4', `lcmessage.m4', `progtest.m4' from GNU
-`gettext''s `m4/' directory into a single file.
+     Plural-Forms: nplurals=2; plural=n == 1 ? 0 : 1;
 
-   If you already have an `aclocal.m4' file, then you will have to
-merge the said macro files into your `aclocal.m4'.  Note that if you
-are upgrading from a previous release of GNU `gettext', you should most
-probably _replace_ the macros (`AM_GNU_GETTEXT', `AM_WITH_NLS', etc.),
-as they usually change a little from one release of GNU `gettext' to
-the next.  Their contents may vary as we get more experience with
-strange systems out there.
+   The `nplurals' value must be a decimal number which specifies how
+many different plural forms exist for this language.  The string
+following `plural' is an expression which is using the C language
+syntax.  Exceptions are that no negative numbers are allowed, numbers
+must be decimal, and the only variable allowed is `n'.  This expression
+will be evaluated whenever one of the functions `ngettext',
+`dngettext', or `dcngettext' is called.  The numeric value passed to
+these functions is then substituted for all uses of the variable `n' in
+the expression.  The resulting value then must be greater or equal to
+zero and smaller than the value given as the value of `nplurals'.
 
-   These macros check for the internationalization support functions
-and related informations.  Hopefully, once stabilized, these macros
-might be integrated in the standard Autoconf set, because this piece of
-`m4' code will be the same for all projects using GNU `gettext'.
+The following rules are known at this point.  The language with families
+are listed.  But this does not necessarily mean the information can be
+generalized for the whole family (as can be easily seen in the table
+below).(1)
 
-\1f
-File: gettext.info,  Node: acconfig,  Next: Makefile,  Prev: aclocal,  Up: Adjusting Files
+Only one form:
+     Some languages only require one single form.  There is no
+     distinction between the singular and plural form.  An appropriate
+     header entry would look like this:
 
-`acconfig.h' at top level
--------------------------
+          Plural-Forms: nplurals=1; plural=0;
 
-   Earlier GNU `gettext' releases required to put definitions for
-`ENABLE_NLS', `HAVE_GETTEXT' and `HAVE_LC_MESSAGES', `HAVE_STPCPY',
-`PACKAGE' and `VERSION' into an `acconfig.h' file.  This is not needed
-any more; you can remove them from your `acconfig.h' file unless your
-package uses them independently from the `intl/' directory.
+     Languages with this property include:
 
-\1f
-File: gettext.info,  Node: Makefile,  Next: src/Makefile,  Prev: acconfig,  Up: Adjusting Files
+    Finno-Ugric family
+          Hungarian
 
-`Makefile.in' at top level
---------------------------
+    Asian family
+          Japanese, Korean
 
-   Here are a few modifications you need to make to your main, top-level
-`Makefile.in' file.
+    Turkic/Altaic family
+          Turkish
 
-  1. Add the following lines near the beginning of your `Makefile.in',
-     so the `dist:' goal will work properly (as explained further down):
+Two forms, singular used for one only
+     This is the form used in most existing programs since it is what
+     English is using.  A header entry would look like this:
 
-          PACKAGE = @PACKAGE@
-          VERSION = @VERSION@
+          Plural-Forms: nplurals=2; plural=n != 1;
 
-  2. Add file `ABOUT-NLS' to the `DISTFILES' definition, so the file
-     gets distributed.
+     (Note: this uses the feature of C expressions that boolean
+     expressions have to value zero or one.)
 
-  3. Wherever you process subdirectories in your `Makefile.in', be sure
-     you also process dir subdirectories `intl' and `po'.  Special
-     rules in the `Makefiles' take care for the case where no
-     internationalization is wanted.
+     Languages with this property include:
 
-     If you are using Makefiles, either generated by automake, or
-     hand-written so they carefully follow the GNU coding standards,
-     the effected goals for which the new subdirectories must be
-     handled include `installdirs', `install', `uninstall', `clean',
-     `distclean'.
+    Germanic family
+          Danish, Dutch, English, German, Norwegian, Swedish
 
-     Here is an example of a canonical order of processing.  In this
-     example, we also define `SUBDIRS' in `Makefile.in' for it to be
-     further used in the `dist:' goal.
+    Finno-Ugric family
+          Estonian, Finnish
 
-          SUBDIRS = doc intl lib src @POSUB@
+    Latin/Greek family
+          Greek
 
-     Note that you must arrange for `make' to descend into the `intl'
-     directory before descending into other directories containing code
-     which make use of the `libintl.h' header file.  For this reason,
-     here we mention `intl' before `lib' and `src'.
+    Semitic family
+          Hebrew
 
-     that you will have to adapt to your own package.
+    Romanic family
+          Italian, Portuguese, Spanish
 
-  4. A delicate point is the `dist:' goal, as both `intl/Makefile' and
-     `po/Makefile' will later assume that the proper directory has been
-     set up from the main `Makefile'.  Here is an example at what the
-     `dist:' goal might look like:
+    Artificial
+          Esperanto
 
-          distdir = $(PACKAGE)-$(VERSION)
-          dist: Makefile
-               rm -fr $(distdir)
-               mkdir $(distdir)
-               chmod 777 $(distdir)
-               for file in $(DISTFILES); do \
-                 ln $$file $(distdir) 2>/dev/null || cp -p $$file $(distdir); \
-               done
-               for subdir in $(SUBDIRS); do \
-                 mkdir $(distdir)/$$subdir || exit 1; \
-                 chmod 777 $(distdir)/$$subdir; \
-                 (cd $$subdir && $(MAKE) $@) || exit 1; \
-               done
-               tar chozf $(distdir).tar.gz $(distdir)
-               rm -fr $(distdir)
+Two forms, singular used for zero and one
+     Exceptional case in the language family.  The header entry would
+     be:
 
+          Plural-Forms: nplurals=2; plural=n>1;
 
-\1f
-File: gettext.info,  Node: src/Makefile,  Prev: Makefile,  Up: Adjusting Files
+     Languages with this property include:
 
-`Makefile.in' in `src/'
------------------------
+    Romanic family
+          French, Brazilian Portuguese
 
-   Some of the modifications made in the main `Makefile.in' will also
-be needed in the `Makefile.in' from your package sources, which we
-assume here to be in the `src/' subdirectory.  Here are all the
-modifications needed in `src/Makefile.in':
+Three forms, special case for zero
+     The header entry would be:
 
-  1. In view of the `dist:' goal, you should have these lines near the
-     beginning of `src/Makefile.in':
+          Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2;
 
-          PACKAGE = @PACKAGE@
-          VERSION = @VERSION@
+     Languages with this property include:
 
-  2. If not done already, you should guarantee that `top_srcdir' gets
-     defined.  This will serve for `cpp' include files.  Just add the
-     line:
+    Baltic family
+          Latvian
 
-          top_srcdir = @top_srcdir@
+Three forms, special cases for one and two
+     The header entry would be:
 
-  3. You might also want to define `subdir' as `src', later allowing
-     for almost uniform `dist:' goals in all your `Makefile.in'.  At
-     list, the `dist:' goal below assume that you used:
+          Plural-Forms: nplurals=3; plural=n==1 ? 0 : n==2 ? 1 : 2;
 
-          subdir = src
+     Languages with this property include:
 
-  4. The `main' function of your program will normally call
-     `bindtextdomain' (see *note Triggering::), like this:
+    Celtic
+          Gaeilge (Irish)
 
-          bindtextdomain (PACKAGE, LOCALEDIR);
+Three forms, special case for numbers ending in 1[2-9]
+     The header entry would look like this:
 
-     To make LOCALEDIR known to the program, add the following lines to
-     Makefile.in:
+          Plural-Forms: nplurals=3; \
+              plural=n%10==1 && n%100!=11 ? 0 : \
+                     n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2;
 
-          datadir = @datadir@
-          localedir = $(datadir)/locale
-          DEFS = -DLOCALEDIR=\"$(localedir)\" @DEFS@
+     Languages with this property include:
 
-     Note that `@datadir@' defaults to `$(prefix)/share', thus
-     `$(localedir)' defaults to `$(prefix)/share/locale'.
+    Baltic family
+          Lithuanian
 
-  5. You should ensure that the final linking will use `@INTLLIBS@' as
-     a library.  An easy way to achieve this is to manage that it gets
-     into `LIBS', like this:
+Three forms, special cases for numbers ending in 1 and 2, 3, 4, except those ending in 1[1-4]
+     The header entry would look like this:
 
-          LIBS = @INTLLIBS@ @LIBS@
+          Plural-Forms: nplurals=3; \
+              plural=n%10==1 && n%100!=11 ? 0 : \
+                     n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;
 
-     In most packages internationalized with GNU `gettext', one will
-     find a directory `lib/' in which a library containing some helper
-     functions will be build.  (You need at least the few functions
-     which the GNU `gettext' Library itself needs.)  However some of
-     the functions in the `lib/' also give messages to the user which
-     of course should be translated, too.  Taking care of this it is
-     not enough to place the support library (say `libsupport.a') just
-     between the `@INTLLIBS@' and `@LIBS@' in the above example.
-     Instead one has to write this:
+     Languages with this property include:
 
-          LIBS = ../lib/libsupport.a @INTLLIBS@ ../lib/libsupport.a @LIBS@
+    Slavic family
+          Croatian, Czech, Russian, Slovak, Ukrainian
 
-  6. You should also ensure that directory `intl/' will be searched for
-     C preprocessor include files in all circumstances.  So, you have to
-     manage so both `-I../intl' and `-I$(top_srcdir)/intl' will be
-     given to the C compiler.
+Three forms, special case for one and some numbers ending in 2, 3, or 4
+     The header entry would look like this:
 
-  7. Your `dist:' goal has to conform with others.  Here is a
-     reasonable definition for it:
+          Plural-Forms: nplurals=3; \
+              plural=n==1 ? 0 : \
+                     n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;
 
-          distdir = ../$(PACKAGE)-$(VERSION)/$(subdir)
-          dist: Makefile $(DISTFILES)
-               for file in $(DISTFILES); do \
-                 ln $$file $(distdir) 2>/dev/null || cp -p $$file $(distdir); \
-               done
+     Languages with this property include:
 
+    Slavic family
+          Polish
 
-\1f
-File: gettext.info,  Node: Conclusion,  Next: Language Codes,  Prev: Maintainers,  Up: Top
+Four forms, special case for one and all numbers ending in 02, 03, or 04
+     The header entry would look like this:
 
-Concluding Remarks
-******************
+          Plural-Forms: nplurals=4; \
+              plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3;
 
-   We would like to conclude this GNU `gettext' manual by presenting an
-history of the Translation Project so far.  We finally give a few
-pointers for those who want to do further research or readings about
-Native Language Support matters.
+     Languages with this property include:
 
-* Menu:
+    Slavic family
+          Slovenian
 
-* History::                     History of GNU `gettext'
-* References::                  Related Readings
+   ---------- Footnotes ----------
 
-\1f
-File: gettext.info,  Node: History,  Next: References,  Prev: Conclusion,  Up: Conclusion
-
-History of GNU `gettext'
-========================
-
-   Internationalization concerns and algorithms have been informally
-and casually discussed for years in GNU, sometimes around GNU `libc',
-maybe around the incoming `Hurd', or otherwise (nobody clearly
-remembers).  And even then, when the work started for real, this was
-somewhat independently of these previous discussions.
-
-   This all began in July 1994, when Patrick D'Cruze had the idea and
-initiative of internationalizing version 3.9.2 of GNU `fileutils'.  He
-then asked Jim Meyering, the maintainer, how to get those changes
-folded into an official release.  That first draft was full of
-`#ifdef's and somewhat disconcerting, and Jim wanted to find nicer
-ways.  Patrick and Jim shared some tries and experimentations in this
-area.  Then, feeling that this might eventually have a deeper impact on
-GNU, Jim wanted to know what standards were, and contacted Richard
-Stallman, who very quickly and verbally described an overall design for
-what was meant to become `glocale', at that time.
-
-   Jim implemented `glocale' and got a lot of exhausting feedback from
-Patrick and Richard, of course, but also from Mitchum DSouza (who wrote
-a `catgets'-like package), Roland McGrath, maybe David MacKenzie,
-Franc,ois Pinard, and Paul Eggert, all pushing and pulling in various
-directions, not always compatible, to the extent that after a couple of
-test releases, `glocale' was torn apart.
-
-   While Jim took some distance and time and became dad for a second
-time, Roland wanted to get GNU `libc' internationalized, and got Ulrich
-Drepper involved in that project.  Instead of starting from `glocale',
-Ulrich rewrote something from scratch, but more conformant to the set
-of guidelines who emerged out of the `glocale' effort.  Then, Ulrich
-got people from the previous forum to involve themselves into this new
-project, and the switch from `glocale' to what was first named
-`msgutils', renamed `nlsutils', and later `gettext', became officially
-accepted by Richard in May 1995 or so.
-
-   Let's summarize by saying that Ulrich Drepper wrote GNU `gettext' in
-April 1995.  The first official release of the package, including PO
-mode, occurred in July 1995, and was numbered 0.7.  Other people
-contributed to the effort by providing a discussion forum around
-Ulrich, writing little pieces of code, or testing.  These are quoted in
-the `THANKS' file which comes with the GNU `gettext' distribution.
-
-   While this was being done, Franc,ois adapted half a dozen of GNU
-packages to `glocale' first, then later to `gettext', putting them in
-pretest, so providing along the way an effective user environment for
-fine tuning the evolving tools.  He also took the responsibility of
-organizing and coordinating the Translation Project.  After nearly a
-year of informal exchanges between people from many countries,
-translator teams started to exist in May 1995, through the creation and
-support by Patrick D'Cruze of twenty unmoderated mailing lists for that
-many native languages, and two moderated lists: one for reaching all
-teams at once, the other for reaching all willing maintainers of
-internationalized free software packages.
-
-   Franc,ois also wrote PO mode in June 1995 with the collaboration of
-Greg McGary, as a kind of contribution to Ulrich's package.  He also
-gave a hand with the GNU `gettext' Texinfo manual.
+   (1) Additions are welcome.  Send appropriate information to
+<bug-glibc-manual@gnu.org>.
 
 \1f
-File: gettext.info,  Node: References,  Prev: History,  Up: Conclusion
-
-Related Readings
-================
-
-   Eugene H. Dorr (`dorre@well.com') maintains an interesting
-bibliography on internationalization matters, called
-`Internationalization Reference List', which is available as:
-     ftp://ftp.ora.com/pub/examples/nutshell/ujip/doc/i18n-books.txt
-
-   Michael Gschwind (`mike@vlsivie.tuwien.ac.at') maintains a
-Frequently Asked Questions (FAQ) list, entitled `Programming for
-Internationalisation'.  This FAQ discusses writing programs which can
-handle different language conventions, character sets, etc.; and is
-applicable to all character set encodings, with particular emphasis on
-ISO 8859-1.  It is regularly published in Usenet groups
-`comp.unix.questions', `comp.std.internat',
-`comp.software.international', `comp.lang.c', `comp.windows.x',
-`comp.std.c', `comp.answers' and `news.answers'.  The home location of
-this document is:
-     ftp://ftp.vlsivie.tuwien.ac.at/pub/8bit/ISO-programming
-
-   Patrick D'Cruze (`pdcruze@li.org') wrote a tutorial about NLS
-matters, and Jochen Hein (`Hein@student.tu-clausthal.de') took over the
-responsibility of maintaining it.  It may be found as:
-     ftp://sunsite.unc.edu/pub/Linux/utils/nls/catalogs/Incoming/...
-          ...locale-tutorial-0.8.txt.gz
-
-This site is mirrored in:
-     ftp://ftp.ibp.fr/pub/linux/sunsite/
-
-   A French version of the same tutorial should be findable at:
-     ftp://ftp.ibp.fr/pub/linux/french/docs/
-
-together with French translations of many Linux-related documents.
+File: gettext.info,  Node: GUI program problems,  Next: Optimized gettext,  Prev: Plural forms,  Up: gettext
+
+How to use `gettext' in GUI programs
+------------------------------------
+
+   One place where the `gettext' functions, if used normally, have big
+problems is within programs with graphical user interfaces (GUIs).  The
+problem is that many of the strings which have to be translated are very
+short.  They have to appear in pull-down menus which restricts the
+length.  But strings which are not containing entire sentences or at
+least large fragments of a sentence may appear in more than one
+situation in the program but might have different translations.  This is
+especially true for the one-word strings which are frequently used in
+GUI programs.
+
+   As a consequence many people say that the `gettext' approach is
+wrong and instead `catgets' should be used which indeed does not have
+this problem.  But there is a very simple and powerful method to handle
+these kind of problems with the `gettext' functions.
+
+As as example consider the following fictional situation.  A GUI program
+has a menu bar with the following entries:
+
+     +------------+------------+--------------------------------------+
+     | File       | Printer    |                                      |
+     +------------+------------+--------------------------------------+
+     | Open     | | Select   |
+     | New      | | Open     |
+     +----------+ | Connect  |
+                  +----------+
+
+   To have the strings `File', `Printer', `Open', `New', `Select', and
+`Connect' translated there has to be at some point in the code a call
+to a function of the `gettext' family.  But in two places the string
+passed into the function would be `Open'.  The translations might not
+be the same and therefore we are in the dilemma described above.
+
+   One solution to this problem is to artificially enlengthen the
+strings to make them unambiguous.  But what would the program do if no
+translation is available?  The enlengthened string is not what should be
+printed.  So we should use a little bit modified version of the
+functions.
+
+   To enlengthen the strings a uniform method should be used.  E.g., in
+the example above the strings could be chosen as
+
+     Menu|File
+     Menu|Printer
+     Menu|File|Open
+     Menu|File|New
+     Menu|Printer|Select
+     Menu|Printer|Open
+     Menu|Printer|Connect
+
+   Now all the strings are different and if now instead of `gettext'
+the following little wrapper function is used, everything works just
+fine:
+
+       char *
+       sgettext (const char *msgid)
+       {
+         char *msgval = gettext (msgid);
+         if (msgval == msgid)
+           msgval = strrchr (msgid, '|') + 1;
+         return msgval;
+       }
+
+   What this little function does is to recognize the case when no
+translation is available.  This can be done very efficiently by a
+pointer comparison since the return value is the input value.  If there
+is no translation we know that the input string is in the format we used
+for the Menu entries and therefore contains a `|' character.  We simply
+search for the last occurrence of this character and return a pointer
+to the character following it.  That's it!
+
+   If one now consistently uses the enlengthened string form and
+replaces the `gettext' calls with calls to `sgettext' (this is normally
+limited to very few places in the GUI implementation) then it is
+possible to produce a program which can be internationalized.
+
+   The other `gettext' functions (`dgettext', `dcgettext' and the
+`ngettext' equivalents) can and should have corresponding functions as
+well which look almost identical, except for the parameters and the
+call to the underlying function.
+
+   Now there is of course the question why such functions do not exist
+in the GNU gettext package?  There are two parts of the answer to this
+question.
+
+   * They are easy to write and therefore can be provided by the
+     project they are used in.  This is not an answer by itself and
+     must be seen together with the second part which is:
+
+   * There is no way the gettext package can contain a version which
+     can work everywhere.  The problem is the selection of the
+     character to separate the prefix from the actual string in the
+     enlenghtened string.  The examples above used `|' which is a quite
+     good choice because it resembles a notation frequently used in
+     this context and it also is a character not often used in message
+     strings.
+
+     But what if the character is used in message strings?  Or if the
+     chose character is not available in the character set on the
+     machine one compiles (e.g., `|' is not required to exist for
+     ISO C; this is why the `iso646.h' file exists in ISO C programming
+     environments).
+
+   There is only one more comment to be said.  The wrapper function
+above requires that the translations strings are not enlengthened
+themselves.  This is only logical.  There is no need to disambiguate
+the strings (since they are never used as keys for a search) and one
+also saves quite some memory and disk space by doing this.
 
 \1f
-File: gettext.info,  Node: Language Codes,  Next: Country Codes,  Prev: Conclusion,  Up: Top
-
-Language Codes
-**************
-
-   The ISO 639 standard defines two character codes for many languages.
-All abbreviations for languages used in the Translation Project should
-come from this standard.
-
-`aa'
-     Afar.
-
-`ab'
-     Abkhazian.
-
-`ae'
-     Avestan.
-
-`af'
-     Afrikaans.
-
-`am'
-     Amharic.
-
-`ar'
-     Arabic.
-
-`as'
-     Assamese.
-
-`ay'
-     Aymara.
-
-`az'
-     Azerbaijani.
-
-`ba'
-     Bashkir.
-
-`be'
-     Byelorussian; Belarusian.
-
-`bg'
-     Bulgarian.
-
-`bh'
-     Bihari.
-
-`bi'
-     Bislama.
-
-`bn'
-     Bengali; Bangla.
-
-`bo'
-     Tibetan.
-
-`br'
-     Breton.
-
-`bs'
-     Bosnian.
-
-`ca'
-     Catalan.
-
-`ce'
-     Chechen.
-
-`ch'
-     Chamorro.
-
-`co'
-     Corsican.
-
-`cs'
-     Czech.
-
-`cu'
-     Church Slavic.
-
-`cv'
-     Chuvash.
-
-`cy'
-     Welsh.
-
-`da'
-     Danish.
-
-`de'
-     German.
-
-`dz'
-     Dzongkha; Bhutani.
-
-`el'
-     Greek.
-
-`en'
-     English.
-
-`eo'
-     Esperanto.
-
-`es'
-     Spanish.
-
-`et'
-     Estonian.
-
-`eu'
-     Basque.
-
-`fa'
-     Persian.
-
-`fi'
-     Finnish.
-
-`fj'
-     Fijian; Fiji.
-
-`fo'
-     Faroese.
-
-`fr'
-     French.
-
-`fy'
-     Frisian.
-
-`ga'
-     Irish.
-
-`gd'
-     Scots; Gaelic.
-
-`gl'
-     Gallegan; Galician.
-
-`gn'
-     Guarani.
-
-`gu'
-     Gujarati.
-
-`gv'
-     Manx.
-
-`ha'
-     Hausa (?).
-
-`he'
-     Hebrew (formerly iw).
-
-`hi'
-     Hindi.
-
-`ho'
-     Hiri Motu.
-
-`hr'
-     Croatian.
-
-`hu'
-     Hungarian.
-
-`hy'
-     Armenian.
-
-`hz'
-     Herero.
-
-`ia'
-     Interlingua.
-
-`id'
-     Indonesian (formerly in).
-
-`ie'
-     Interlingue.
-
-`ik'
-     Inupiak.
-
-`is'
-     Icelandic.
-
-`it'
-     Italian.
-
-`iu'
-     Inuktitut.
-
-`ja'
-     Japanese.
-
-`jw'
-     Javanese.
-
-`ka'
-     Georgian.
-
-`ki'
-     Kikuyu.
-
-`kj'
-     Kuanyama.
-
-`kk'
-     Kazakh.
-
-`kl'
-     Kalaallisut; Greenlandic.
-
-`km'
-     Khmer; Cambodian.
-
-`kn'
-     Kannada.
-
-`ko'
-     Korean.
-
-`ks'
-     Kashmiri.
-
-`ku'
-     Kurdish.
-
-`kv'
-     Komi.
-
-`kw'
-     Cornish.
-
-`ky'
-     Kirghiz.
-
-`la'
-     Latin.
-
-`lb'
-     Letzeburgesch.
-
-`ln'
-     Lingala.
-
-`lo'
-     Lao; Laotian.
-
-`lt'
-     Lithuanian.
-
-`lv'
-     Latvian; Lettish.
-
-`mg'
-     Malagasy.
-
-`mh'
-     Marshall.
-
-`mi'
-     Maori.
-
-`mk'
-     Macedonian.
-
-`ml'
-     Malayalam.
-
-`mn'
-     Mongolian.
-
-`mo'
-     Moldavian.
-
-`mr'
-     Marathi.
-
-`ms'
-     Malay.
-
-`mt'
-     Maltese.
-
-`my'
-     Burmese.
-
-`na'
-     Nauru.
-
-`nb'
-     Norwegian Bokmaal.
-
-`nd'
-     Ndebele, North.
-
-`ne'
-     Nepali.
-
-`ng'
-     Ndonga.
-
-`nl'
-     Dutch.
-
-`nn'
-     Norwegian Nynorsk.
-
-`no'
-     Norwegian.
-
-`nr'
-     Ndebele, South.
-
-`nv'
-     Navajo.
-
-`ny'
-     Chichewa; Nyanja.
-
-`oc'
-     Occitan; Provenc,al.
-
-`om'
-     (Afan) Oromo.
-
-`or'
-     Oriya.
-
-`os'
-     Ossetian; Ossetic.
-
-`pa'
-     Panjabi; Punjabi.
-
-`pi'
-     Pali.
-
-`pl'
-     Polish.
-
-`ps'
-     Pashto, Pushto.
-
-`pt'
-     Portuguese.
-
-`qu'
-     Quechua.
-
-`rm'
-     Rhaeto-Romance.
-
-`rn'
-     Rundi; Kirundi.
-
-`ro'
-     Romanian.
-
-`ru'
-     Russian.
-
-`rw'
-     Kinyarwanda.
-
-`sa'
-     Sanskrit.
-
-`sc'
-     Sardinian.
-
-`sd'
-     Sindhi.
-
-`se'
-     Northern Sami.
-
-`sg'
-     Sango; Sangro.
-
-`si'
-     Sinhalese.
-
-`sk'
-     Slovak.
-
-`sl'
-     Slovenian.
-
-`sm'
-     Samoan.
-
-`sn'
-     Shona.
-
-`so'
-     Somali.
-
-`sq'
-     Albanian.
-
-`sr'
-     Serbian.
-
-`ss'
-     Swati; Siswati.
-
-`st'
-     Sesotho; Sotho, Southern.
-
-`su'
-     Sundanese.
-
-`sv'
-     Swedish.
-
-`sw'
-     Swahili.
-
-`ta'
-     Tamil.
-
-`te'
-     Telugu.
-
-`tg'
-     Tajik.
-
-`th'
-     Thai.
-
-`ti'
-     Tigrinya.
-
-`tk'
-     Turkmen.
-
-`tl'
-     Tagalog.
-
-`tn'
-     Tswana; Setswana.
-
-`to'
-     Tonga (?).
-
-`tr'
-     Turkish.
-
-`ts'
-     Tsonga.
-
-`tt'
-     Tatar.
-
-`tw'
-     Twi.
-
-`ty'
-     Tahitian.
-
-`ug'
-     Uighur.
-
-`uk'
-     Ukrainian.
-
-`ur'
-     Urdu.
-
-`uz'
-     Uzbek.
-
-`vi'
-     Vietnamese.
-
-`vo'
-     Volapu"k; Volapuk.
-
-`wo'
-     Wolof.
-
-`xh'
-     Xhosa.
-
-`yi'
-     Yiddish (formerly ji).
-
-`yo'
-     Yoruba.
-
-`za'
-     Zhuang.
-
-`zh'
-     Chinese.
-
-`zu'
-     Zulu.
+File: gettext.info,  Node: Optimized gettext,  Prev: GUI program problems,  Up: gettext
+
+Optimization of the *gettext functions
+--------------------------------------
+
+   At this point of the discussion we should talk about an advantage of
+the GNU `gettext' implementation.  Some readers might have pointed out
+that an internationalized program might have a poor performance if some
+string has to be translated in an inner loop.  While this is unavoidable
+when the string varies from one run of the loop to the other it is
+simply a waste of time when the string is always the same.  Take the
+following example:
+
+     {
+       while (...)
+         {
+           puts (gettext ("Hello world"));
+         }
+     }
+
+When the locale selection does not change between two runs the resulting
+string is always the same.  One way to use this is:
+
+     {
+       str = gettext ("Hello world");
+       while (...)
+         {
+           puts (str);
+         }
+     }
+
+But this solution is not usable in all situation (e.g. when the locale
+selection changes) nor does it lead to legible code.
+
+   For this reason, GNU `gettext' caches previous translation results.
+When the same translation is requested twice, with no new message
+catalogs being loaded in between, `gettext' will, the second time, find
+the result through a single cache lookup.
 
 \1f
-File: gettext.info,  Node: Country Codes,  Prev: Language Codes,  Up: Top
-
-Country Codes
-*************
-
-   The ISO 3166 standard defines two character codes for many countries
-and territories.  All abbreviations for countries used in the
-Translation Project should come from this standard.
-
-`AD'
-     Andorra.
-
-`AE'
-     United Arab Emirates.
-
-`AF'
-     Afghanistan.
-
-`AG'
-     Antigua and Barbuda.
-
-`AI'
-     Anguilla.
-
-`AL'
-     Albania.
-
-`AM'
-     Armenia.
-
-`AN'
-     Netherlands Antilles.
-
-`AO'
-     Angola.
-
-`AQ'
-     Antarctica.
-
-`AR'
-     Argentina.
-
-`AS'
-     Samoa (American).
-
-`AT'
-     Austria.
-
-`AU'
-     Australia.
-
-`AW'
-     Aruba.
-
-`AZ'
-     Azerbaijan.
-
-`BA'
-     Bosnia and Herzegovina.
-
-`BB'
-     Barbados.
-
-`BD'
-     Bangladesh.
-
-`BE'
-     Belgium.
-
-`BF'
-     Burkina Faso.
-
-`BG'
-     Bulgaria.
-
-`BH'
-     Bahrain.
-
-`BI'
-     Burundi.
-
-`BJ'
-     Benin.
-
-`BM'
-     Bermuda.
-
-`BN'
-     Brunei.
-
-`BO'
-     Bolivia.
-
-`BR'
-     Brazil.
-
-`BS'
-     Bahamas.
-
-`BT'
-     Bhutan.
-
-`BV'
-     Bouvet Island.
-
-`BW'
-     Botswana.
-
-`BY'
-     Belarus.
-
-`BZ'
-     Belize.
-
-`CA'
-     Canada.
-
-`CC'
-     Cocos (Keeling) Islands.
-
-`CD'
-     Congo (Dem. Rep.).
-
-`CF'
-     Central African Rep..
-
-`CG'
-     Congo (Rep.).
-
-`CH'
-     Switzerland.
-
-`CI'
-     Cote d'Ivoire.
-
-`CK'
-     Cook Islands.
-
-`CL'
-     Chile.
-
-`CM'
-     Cameroon.
-
-`CN'
-     China.
-
-`CO'
-     Colombia.
-
-`CR'
-     Costa Rica.
-
-`CU'
-     Cuba.
-
-`CV'
-     Cape Verde.
-
-`CX'
-     Christmas Island.
-
-`CY'
-     Cyprus.
-
-`CZ'
-     Czech Republic.
-
-`DE'
-     Germany.
-
-`DJ'
-     Djibouti.
-
-`DK'
-     Denmark.
-
-`DM'
-     Dominica.
-
-`DO'
-     Dominican Republic.
-
-`DZ'
-     Algeria.
-
-`EC'
-     Ecuador.
-
-`EE'
-     Estonia.
-
-`EG'
-     Egypt.
-
-`EH'
-     Western Sahara.
-
-`ER'
-     Eritrea.
-
-`ES'
-     Spain.
-
-`ET'
-     Ethiopia.
-
-`FI'
-     Finland.
-
-`FJ'
-     Fiji.
-
-`FK'
-     Falkland Islands.
-
-`FM'
-     Micronesia.
-
-`FO'
-     Faeroe Islands.
-
-`FR'
-     France.
-
-`GA'
-     Gabon.
-
-`GB'
-     Britain (UK).
-
-`GD'
-     Grenada.
-
-`GE'
-     Georgia.
-
-`GF'
-     French Guiana.
-
-`GH'
-     Ghana.
-
-`GI'
-     Gibraltar.
-
-`GL'
-     Greenland.
-
-`GM'
-     Gambia.
-
-`GN'
-     Guinea.
-
-`GP'
-     Guadeloupe.
-
-`GQ'
-     Equatorial Guinea.
-
-`GR'
-     Greece.
-
-`GS'
-     South Georgia and the South Sandwich Islands.
-
-`GT'
-     Guatemala.
-
-`GU'
-     Guam.
-
-`GW'
-     Guinea-Bissau.
-
-`GY'
-     Guyana.
-
-`HK'
-     Hong Kong.
-
-`HM'
-     Heard Island and McDonald Islands.
+File: gettext.info,  Node: Comparison,  Next: Using libintl.a,  Prev: gettext,  Up: Programmers
 
-`HN'
-     Honduras.
+Comparing the Two Interfaces
+============================
 
-`HR'
-     Croatia.
+   The following discussion is perhaps a little bit colored.  As said
+above we implemented GNU `gettext' following the Uniforum proposal and
+this surely has its reasons.  But it should show how we came to this
+decision.
 
-`HT'
-     Haiti.
+   First we take a look at the developing process.  When we write an
+application using NLS provided by `gettext' we proceed as always.  Only
+when we come to a string which might be seen by the users and thus has
+to be translated we use `gettext("...")' instead of `"..."'.  At the
+beginning of each source file (or in a central header file) we define
 
-`HU'
-     Hungary.
+     #define gettext(String) (String)
 
-`ID'
-     Indonesia.
+   Even this definition can be avoided when the system supports the
+`gettext' function in its C library.  When we compile this code the
+result is the same as if no NLS code is used.  When  you take a look at
+the GNU `gettext' code you will see that we use `_("...")' instead of
+`gettext("...")'.  This reduces the number of additional characters per
+translatable string to _3_ (in words: three).
 
-`IE'
-     Ireland.
+   When now a production version of the program is needed we simply
+replace the definition
 
-`IL'
-     Israel.
+     #define _(String) (String)
 
-`IN'
-     India.
+by
 
-`IO'
-     British Indian Ocean Territory.
+     #include <libintl.h>
+     #define _(String) gettext (String)
 
-`IQ'
-     Iraq.
+Additionally we run the program `xgettext' on all source code file
+which contain translatable strings and that's it: we have a running
+program which does not depend on translations to be available, but which
+can use any that becomes available.
 
-`IR'
-     Iran.
+   The same procedure can be done for the `gettext_noop' invocations
+(*note Special cases::).  One usually defines `gettext_noop' as a no-op
+macro.  So you should consider the following code for your project:
 
-`IS'
-     Iceland.
+     #define gettext_noop(String) (String)
+     #define N_(String) gettext_noop (String)
 
-`IT'
-     Italy.
+   `N_' is a short form similar to `_'.  The `Makefile' in the `po/'
+directory of GNU `gettext' knows by default both of the mentioned short
+forms so you are invited to follow this proposal for your own ease.
 
-`JM'
-     Jamaica.
+   Now to `catgets'.  The main problem is the work for the programmer.
+Every time he comes to a translatable string he has to define a number
+(or a symbolic constant) which has also be defined in the message
+catalog file.  He also has to take care for duplicate entries,
+duplicate message IDs etc.  If he wants to have the same quality in the
+message catalog as the GNU `gettext' program provides he also has to
+put the descriptive comments for the strings and the location in all
+source code files in the message catalog.  This is nearly a Mission:
+Impossible.
 
-`JO'
-     Jordan.
+   But there are also some points people might call advantages speaking
+for `catgets'.  If you have a single word in a string and this string
+is used in different contexts it is likely that in one or the other
+language the word has different translations.  Example:
 
-`JP'
-     Japan.
-
-`KE'
-     Kenya.
-
-`KG'
-     Kyrgyzstan.
-
-`KH'
-     Cambodia.
-
-`KI'
-     Kiribati.
-
-`KM'
-     Comoros.
-
-`KN'
-     St Kitts and Nevis.
-
-`KP'
-     Korea (North).
-
-`KR'
-     Korea (South).
-
-`KW'
-     Kuwait.
-
-`KY'
-     Cayman Islands.
-
-`KZ'
-     Kazakhstan.
-
-`LA'
-     Laos.
-
-`LB'
-     Lebanon.
-
-`LC'
-     St Lucia.
-
-`LI'
-     Liechtenstein.
-
-`LK'
-     Sri Lanka.
-
-`LR'
-     Liberia.
-
-`LS'
-     Lesotho.
-
-`LT'
-     Lithuania.
-
-`LU'
-     Luxembourg.
-
-`LV'
-     Latvia.
-
-`LY'
-     Libya.
-
-`MA'
-     Morocco.
-
-`MC'
-     Monaco.
-
-`MD'
-     Moldova.
-
-`MG'
-     Madagascar.
-
-`MH'
-     Marshall Islands.
-
-`MK'
-     Macedonia.
-
-`ML'
-     Mali.
-
-`MM'
-     Myanmar (Burma).
-
-`MN'
-     Mongolia.
-
-`MO'
-     Macao.
-
-`MP'
-     Northern Mariana Islands.
-
-`MQ'
-     Martinique.
-
-`MR'
-     Mauritania.
-
-`MS'
-     Montserrat.
-
-`MT'
-     Malta.
-
-`MU'
-     Mauritius.
-
-`MV'
-     Maldives.
-
-`MW'
-     Malawi.
-
-`MX'
-     Mexico.
-
-`MY'
-     Malaysia.
-
-`MZ'
-     Mozambique.
-
-`NA'
-     Namibia.
-
-`NC'
-     New Caledonia.
-
-`NE'
-     Niger.
-
-`NF'
-     Norfolk Island.
-
-`NG'
-     Nigeria.
-
-`NI'
-     Nicaragua.
-
-`NL'
-     Netherlands.
-
-`NO'
-     Norway.
-
-`NP'
-     Nepal.
-
-`NR'
-     Nauru.
-
-`NU'
-     Niue.
-
-`NZ'
-     New Zealand.
-
-`OM'
-     Oman.
-
-`PA'
-     Panama.
-
-`PE'
-     Peru.
-
-`PF'
-     French Polynesia.
-
-`PG'
-     Papua New Guinea.
-
-`PH'
-     Philippines.
-
-`PK'
-     Pakistan.
-
-`PL'
-     Poland.
-
-`PM'
-     St Pierre and Miquelon.
-
-`PN'
-     Pitcairn.
-
-`PR'
-     Puerto Rico.
-
-`PS'
-     Palestine.
-
-`PT'
-     Portugal.
-
-`PW'
-     Palau.
-
-`PY'
-     Paraguay.
-
-`QA'
-     Qatar.
-
-`RE'
-     Reunion.
-
-`RO'
-     Romania.
-
-`RU'
-     Russia.
-
-`RW'
-     Rwanda.
-
-`SA'
-     Saudi Arabia.
-
-`SB'
-     Solomon Islands.
-
-`SC'
-     Seychelles.
-
-`SD'
-     Sudan.
-
-`SE'
-     Sweden.
-
-`SG'
-     Singapore.
-
-`SH'
-     St Helena.
-
-`SI'
-     Slovenia.
-
-`SJ'
-     Svalbard and Jan Mayen.
-
-`SK'
-     Slovakia.
-
-`SL'
-     Sierra Leone.
-
-`SM'
-     San Marino.
-
-`SN'
-     Senegal.
-
-`SO'
-     Somalia.
+     printf ("%s: %d", gettext ("number"), number_of_errors)
+     
+     printf ("you should see %d %s", number_count,
+             number_count == 1 ? gettext ("number") : gettext ("numbers"))
 
-`SR'
-     Suriname.
+   Here we have to translate two times the string `"number"'.  Even if
+you do not speak a language beside English it might be possible to
+recognize that the two words have a different meaning.  In German the
+first appearance has to be translated to `"Anzahl"' and the second to
+`"Zahl"'.
 
-`ST'
-     Sao Tome and Principe.
+   Now you can say that this example is really esoteric.  And you are
+right!  This is exactly how we felt about this problem and decide that
+it does not weight that much.  The solution for the above problem could
+be very easy:
 
-`SV'
-     El Salvador.
+     printf ("%s %d", gettext ("number:"), number_of_errors)
+     
+     printf (number_count == 1 ? gettext ("you should see %d number")
+                               : gettext ("you should see %d numbers"),
+             number_count)
 
-`SY'
-     Syria.
+   We believe that we can solve all conflicts with this method.  If it
+is difficult one can also consider changing one of the conflicting
+string a little bit.  But it is not impossible to overcome.
 
-`SZ'
-     Swaziland.
+   `catgets' allows same original entry to have different translations,
+but `gettext' has another, scalable approach for solving ambiguities of
+this kind: *Note Ambiguities::.
 
-`TC'
-     Turks and Caicos Is.
+\1f
+File: gettext.info,  Node: Using libintl.a,  Next: gettext grok,  Prev: Comparison,  Up: Programmers
 
-`TD'
-     Chad.
+Using libintl.a in own programs
+===============================
 
-`TF'
-     French Southern and Antarctic Lands.
+   Starting with version 0.9.4 the library `libintl.h' should be
+self-contained.  I.e., you can use it in your own programs without
+providing additional functions.  The `Makefile' will put the header and
+the library in directories selected using the `$(prefix)'.
 
-`TG'
-     Togo.
+   One exception of the above is found on HP-UX 10.01 systems.  Here
+the C library does not contain the `alloca' function (and the HP
+compiler does not generate it inlined).  But it is not intended to
+rewrite the whole library just because of this dumb system.  Instead
+include the `alloca' function in all package you use the `libintl.a' in.
 
-`TH'
-     Thailand.
+\1f
+File: gettext.info,  Node: gettext grok,  Next: Temp Programmers,  Prev: Using libintl.a,  Up: Programmers
 
-`TJ'
-     Tajikistan.
+Being a `gettext' grok
+======================
 
-`TK'
-     Tokelau.
+   To fully exploit the functionality of the GNU `gettext' library it
+is surely helpful to read the source code.  But for those who don't want
+to spend that much time in reading the (sometimes complicated) code here
+is a list comments:
 
-`TM'
-     Turkmenistan.
+   * Changing the language at runtime
 
-`TN'
-     Tunisia.
+     For interactive programs it might be useful to offer a selection
+     of the used language at runtime.  To understand how to do this one
+     need to know how the used language is determined while executing
+     the `gettext' function.  The method which is presented here only
+     works correctly with the GNU implementation of the `gettext'
+     functions.
 
-`TO'
-     Tonga.
+     In the function `dcgettext' at every call the current setting of
+     the highest priority environment variable is determined and used.
+     Highest priority means here the following list with decreasing
+     priority:
 
-`TP'
-     East Timor.
+       1. `LANGUAGE'
 
-`TR'
-     Turkey.
+       2. `LC_ALL'
 
-`TT'
-     Trinidad and Tobago.
+       3. `LC_xxx', according to selected locale
 
-`TV'
-     Tuvalu.
+       4. `LANG'
 
-`TW'
-     Taiwan.
+     Afterwards the path is constructed using the found value and the
+     translation file is loaded if available.
 
-`TZ'
-     Tanzania.
+     What is now when the value for, say, `LANGUAGE' changes.  According
+     to the process explained above the new value of this variable is
+     found as soon as the `dcgettext' function is called.  But this
+     also means the (perhaps) different message catalog file is loaded.
+     In other words: the used language is changed.
 
-`UA'
-     Ukraine.
+     But there is one little hook.  The code for gcc-2.7.0 and up
+     provides some optimization.  This optimization normally prevents
+     the calling of the `dcgettext' function as long as no new catalog
+     is loaded.  But if `dcgettext' is not called the program also
+     cannot find the `LANGUAGE' variable be changed (*note Optimized
+     gettext::).  A solution for this is very easy.  Include the
+     following code in the language switching function.
 
-`UG'
-     Uganda.
+            /* Change language.  */
+            setenv ("LANGUAGE", "fr", 1);
+          
+            /* Make change known.  */
+            {
+              extern int  _nl_msg_cat_cntr;
+              ++_nl_msg_cat_cntr;
+            }
 
-`UM'
-     US minor outlying islands.
+     The variable `_nl_msg_cat_cntr' is defined in `loadmsgcat.c'.  The
+     programmer will find himself in need for a construct like this only
+     when developing programs which do run longer and provide the user
+     to select the language at runtime.  Non-interactive programs (like
+     all these little Unix tools) should never need this.
 
-`US'
-     United States.
 
-`UY'
-     Uruguay.
+\1f
+File: gettext.info,  Node: Temp Programmers,  Prev: gettext grok,  Up: Programmers
 
-`UZ'
-     Uzbekistan.
+Temporary Notes for the Programmers Chapter
+===========================================
 
-`VA'
-     Vatican City.
+* Menu:
 
-`VC'
-     St Vincent.
+* Temp Implementations::        Temporary - Two Possible Implementations
+* Temp catgets::                Temporary - About `catgets'
+* Temp WSI::                    Temporary - Why a single implementation
+* Temp Notes::                  Temporary - Notes
 
-`VE'
-     Venezuela.
+\1f
+File: gettext.info,  Node: Temp Implementations,  Next: Temp catgets,  Prev: Temp Programmers,  Up: Temp Programmers
+
+Temporary - Two Possible Implementations
+----------------------------------------
+
+   There are two competing methods for language independent messages:
+the X/Open `catgets' method, and the Uniforum `gettext' method.  The
+`catgets' method indexes messages by integers; the `gettext' method
+indexes them by their English translations.  The `catgets' method has
+been around longer and is supported by more vendors.  The `gettext'
+method is supported by Sun, and it has been heard that the COSE
+multi-vendor initiative is supporting it.  Neither method is a POSIX
+standard; the POSIX.1 committee had a lot of disagreement in this area.
+
+   Neither one is in the POSIX standard.  There was much disagreement
+in the POSIX.1 committee about using the `gettext' routines vs.
+`catgets' (XPG).  In the end the committee couldn't agree on anything,
+so no messaging system was included as part of the standard.  I believe
+the informative annex of the standard includes the XPG3 messaging
+interfaces, "...as an example of a messaging system that has been
+implemented..."
+
+   They were very careful not to say anywhere that you should use one
+set of interfaces over the other.  For more on this topic please see
+the Programming for Internationalization FAQ.
 
-`VG'
-     Virgin Islands (UK).
+\1f
+File: gettext.info,  Node: Temp catgets,  Next: Temp WSI,  Prev: Temp Implementations,  Up: Temp Programmers
 
-`VI'
-     Virgin Islands (US).
+Temporary - About `catgets'
+---------------------------
 
-`VN'
-     Vietnam.
+   There have been a few discussions of late on the use of `catgets' as
+a base.  I think it important to present both sides of the argument and
+hence am opting to play devil's advocate for a little bit.
+
+   I'll not deny the fact that `catgets' could have been designed a lot
+better.  It currently has quite a number of limitations and these have
+already been pointed out.
+
+   However there is a great deal to be said for consistency and
+standardization.  A common recurring problem when writing Unix software
+is the myriad portability problems across Unix platforms.  It seems as
+if every Unix vendor had a look at the operating system and found parts
+they could improve upon.  Undoubtedly, these modifications are probably
+innovative and solve real problems.  However, software developers have
+a hard time keeping up with all these changes across so many platforms.
+
+   And this has prompted the Unix vendors to begin to standardize their
+systems.  Hence the impetus for Spec1170.  Every major Unix vendor has
+committed to supporting this standard and every Unix software developer
+waits with glee the day they can write software to this standard and
+simply recompile (without having to use autoconf) across different
+platforms.
+
+   As I understand it, Spec1170 is roughly based upon version 4 of the
+X/Open Portability Guidelines (XPG4).  Because `catgets' and friends
+are defined in XPG4, I'm led to believe that `catgets' is a part of
+Spec1170 and hence will become a standardized component of all Unix
+systems.
 
-`VU'
-     Vanuatu.
+\1f
+File: gettext.info,  Node: Temp WSI,  Next: Temp Notes,  Prev: Temp catgets,  Up: Temp Programmers
+
+Temporary - Why a single implementation
+---------------------------------------
+
+   Now it seems kind of wasteful to me to have two different systems
+installed for accessing message catalogs.  If we do want to remedy
+`catgets' deficiencies why don't we try to expand `catgets' (in a
+compatible manner) rather than implement an entirely new system.
+Otherwise, we'll end up with two message catalog access systems
+installed with an operating system - one set of routines for packages
+using GNU `gettext' for their internationalization, and another set of
+routines (catgets) for all other software.  Bloated?
+
+   Supposing another catalog access system is implemented.  Which do we
+recommend?  At least for Linux, we need to attract as many software
+developers as possible.  Hence we need to make it as easy for them to
+port their software as possible.  Which means supporting `catgets'.  We
+will be implementing the `libintl' code within our `libc', but does
+this mean we also have to incorporate another message catalog access
+scheme within our `libc' as well?  And what about people who are going
+to be using the `libintl' + non-`catgets' routines.  When they port
+their software to other platforms, they're now going to have to include
+the front-end (`libintl') code plus the back-end code (the non-`catgets'
+access routines) with their software instead of just including the
+`libintl' code with their software.
+
+   Message catalog support is however only the tip of the iceberg.
+What about the data for the other locale categories.  They also have a
+number of deficiencies.  Are we going to abandon them as well and
+develop another duplicate set of routines (should `libintl' expand
+beyond message catalog support)?
+
+   Like many parts of Unix that can be improved upon, we're stuck with
+balancing compatibility with the past with useful improvements and
+innovations for the future.
 
-`WF'
-     Wallis and Futuna.
+\1f
+File: gettext.info,  Node: Temp Notes,  Prev: Temp WSI,  Up: Temp Programmers
 
-`WS'
-     Samoa (Western).
+Temporary - Notes
+-----------------
 
-`YE'
-     Yemen.
+   X/Open agreed very late on the standard form so that many
+implementations differ from the final form.  Both of my system (old
+Linux catgets and Ultrix-4) have a strange variation.
 
-`YT'
-     Mayotte.
+   OK.  After incorporating the last changes I have to spend some time
+on making the GNU/Linux `libc' `gettext' functions.  So in future
+Solaris is not the only system having `gettext'.
 
-`YU'
-     Yugoslavia.
+\1f
+File: gettext.info,  Node: Translators,  Next: Maintainers,  Prev: Programmers,  Up: Top
 
-`ZA'
-     South Africa.
+The Translator's View
+*********************
 
-`ZM'
-     Zambia.
+* Menu:
 
-`ZW'
-     Zimbabwe.
+* Trans Intro 0::               Introduction 0
+* Trans Intro 1::               Introduction 1
+* Discussions::                 Discussions
+* Organization::                Organization
+* Information Flow::            Information Flow
 
+\1f
+File: gettext.info,  Node: Trans Intro 0,  Next: Trans Intro 1,  Prev: Translators,  Up: Translators
+
+Introduction 0
+==============
+
+   Free software is going international!  The Translation Project is a
+way to get maintainers, translators and users all together, so free
+software will gradually become able to speak many native languages.
+
+   The GNU `gettext' tool set contains _everything_ maintainers need
+for internationalizing their packages for messages.  It also contains
+quite useful tools for helping translators at localizing messages to
+their native language, once a package has already been
+internationalized.
+
+   To achieve the Translation Project, we need many interested people
+who like their own language and write it well, and who are also able to
+synergize with other translators speaking the same language.  If you'd
+like to volunteer to _work_ at translating messages, please send mail
+to your translating team.
+
+   Each team has its own mailing list, courtesy of Linux International.
+You may reach your translating team at the address `LL@li.org',
+replacing LL by the two-letter ISO 639 code for your language.
+Language codes are _not_ the same as country codes given in ISO 3166.
+The following translating teams exist:
+
+     Chinese `zh', Czech `cs', Danish `da', Dutch `nl', Esperanto `eo',
+     Finnish `fi', French `fr', Irish `ga', German `de', Greek `el',
+     Italian `it', Japanese `ja', Indonesian `in', Norwegian `no',
+     Polish `pl', Portuguese `pt', Russian `ru', Spanish `es', Swedish
+     `sv' and Turkish `tr'.
+
+For example, you may reach the Chinese translating team by writing to
+`zh@li.org'.  When you become a member of the translating team for your
+own language, you may subscribe to its list.  For example, Swedish
+people can send a message to `sv-request@li.org', having this message
+body:
+
+     subscribe
+
+   Keep in mind that team members should be interested in _working_ at
+translations, or at solving translational difficulties, rather than
+merely lurking around.  If your team does not exist yet and you want to
+start one, please write to `translation@iro.umontreal.ca'; you will
+then reach the coordinator for all translator teams.
+
+   A handful of GNU packages have already been adapted and provided
+with message translations for several languages.  Translation teams
+have begun to organize, using these packages as a starting point.  But
+there are many more packages and many languages for which we have no
+volunteer translators.  If you would like to volunteer to work at
+translating messages, please send mail to
+`translation@iro.umontreal.ca' indicating what language(s) you can work
+on.
 
index f7793fe7875193f9df7902e19c6ad8bd3dbed9ef..f9f0bf7de3421d03fd80c0dea2555b870c407351 100644 (file)
@@ -1,12 +1,12 @@
 <HTML>
 <HEAD>
-<!-- This HTML file has been created by texi2html 1.51
-     from gettext.texi on 19 April 2001 -->
+<!-- This HTML file has been created by texi2html 1.52a
+     from gettext.texi on 30 November 2001 -->
 
 <TITLE>GNU gettext utilities - 1  Introduction</TITLE>
 </HEAD>
 <BODY>
-Go to the first, previous, <A HREF="gettext_2.html">next</A>, <A HREF="gettext_14.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
+Go to the first, previous, <A HREF="gettext_2.html">next</A>, <A HREF="gettext_16.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
 <P><HR><P>
 
 
@@ -51,7 +51,7 @@ Please send suggestions and corrections to:
 
 <PRE>
 Internet address:
-    bug-gnu-utils@gnu.org
+    bug-gnu-gettext@gnu.org
 </PRE>
 
 <P>
@@ -153,7 +153,7 @@ language in programs, and these words have a precise meaning, worth
 being explained here, once and for all in this document.  The words are
 <EM>internationalization</EM> and <EM>localization</EM>.  Many people,
 tired of writing these long words over and over again, took the
-habit of writing <STRONG>i18n</STRONG> and <STRONG>l10n</STRONG> instead, quoting the first
+habit of writing <EM>i18n</EM> and <EM>l10n</EM> instead, quoting the first
 and last letter of each word, and replacing the run of intermediate
 letters by a number merely telling how many such letters there are.
 But in this manual, in the sake of clarity, we will patiently write
@@ -161,18 +161,18 @@ the names in full, each time...
 
 </P>
 <P>
-By <STRONG>internationalization</STRONG>, one refers to the operation by which a
+By <EM>internationalization</EM>, one refers to the operation by which a
 program, or a set of programs turned into a package, is made aware of and
 able to support multiple languages.  This is a generalization process,
 by which the programs are untied from calling only English strings or
 other English specific habits, and connected to generic ways of doing
 the same, instead.  Program developers may use various techniques to
 internationalize their programs.  Some of these have been standardized.
-GNU <CODE>gettext</CODE> offers one of these standards.  See section <A HREF="gettext_9.html#SEC41">9  The Programmer's View</A>.
+GNU <CODE>gettext</CODE> offers one of these standards.  See section <A HREF="gettext_10.html#SEC135">10  The Programmer's View</A>.
 
 </P>
 <P>
-By <STRONG>localization</STRONG>, one means the operation by which, in a set
+By <EM>localization</EM>, one means the operation by which, in a set
 of programs already internationalized, one gives the program all
 needed information so that it can adapt itself to handle its input
 and output in a fashion which is correct for some native language and
@@ -182,7 +182,7 @@ in specific ways.  The programming environment puts several functions
 to the programmers disposal which allow this runtime configuration.
 The formal description of specific set of cultural habits for some
 country, together with all associated translations targeted to the
-same native language, is called the <STRONG>locale</STRONG> for this language
+same native language, is called the <EM>locale</EM> for this language
 or country.  Users achieve localization of programs by setting proper
 values to special environment variables, prior to executing those
 programs, identifying which locale should be used.
@@ -201,7 +201,7 @@ complete suite of routines that access all of the locale's information.
 
 </P>
 <P>
-One uses the expression <STRONG>Native Language Support</STRONG>, or merely NLS,
+One uses the expression <EM>Native Language Support</EM>, or merely NLS,
 for speaking of the overall activity or feature encompassing both
 internationalization and localization, allowing for multi-lingual
 interactions in a program.  In a nutshell, one could say that
@@ -267,8 +267,8 @@ Many programs read, interpret, compile, or are somewhat driven by
 input files which are texts containing keywords, identifiers, or
 replies which are inherently translatable.  For example, one may want
 <CODE>gcc</CODE> to allow diacriticized characters in identifiers or use
-translated keywords; <SAMP>`rm -i'</SAMP> might accept something else than
-<SAMP>`y'</SAMP> or <SAMP>`n'</SAMP> for replies, etc.  Even if the program will
+translated keywords; <SAMP>`rm -i&acute;</SAMP> might accept something else than
+<SAMP>`y&acute;</SAMP> or <SAMP>`n&acute;</SAMP> for replies, etc.  Even if the program will
 eventually make most of its output in the foreign languages, one has
 to decide whether the input syntax, option values, etc., are to be
 localized or not.
@@ -289,7 +289,7 @@ in GNU <CODE>libc</CODE>.  There
 are many attributes that are needed to define a country's cultural
 conventions.  These attributes include beside the country's native
 language, the formatting of the date and time, the representation of
-numbers, the symbols for currency, etc.  These local <STRONG>rules</STRONG> are
+numbers, the symbols for currency, etc.  These local <EM>rules</EM> are
 termed the country's locale.  The locale represents the knowledge
 needed to support the country's native attributes.
 
@@ -341,7 +341,8 @@ their respective locales:
 
 <PRE>
 12,345.67       English
-12.345,67       French
+12.345,67       German
+ 12345,67       French
 1,2345.67       Asia
 </PRE>
 
@@ -370,8 +371,8 @@ or less reasonable support for at least some of the missing components.
 <H2><A NAME="SEC5" HREF="gettext_toc.html#TOC5">1.4  Files Conveying Translations</A></H2>
 
 <P>
-The letters PO in <TT>`.po'</TT> files means Portable Object, to
-distinguish it from <TT>`.mo'</TT> files, where MO stands for Machine
+The letters PO in <TT>`.po&acute;</TT> files means Portable Object, to
+distinguish it from <TT>`.mo&acute;</TT> files, where MO stands for Machine
 Object.  This paradigm, as well as the PO file format, is inspired
 by the NLS standard developed by Uniforum, and implemented by Sun
 in their Solaris system.
@@ -390,9 +391,8 @@ marked messages from a set of C files and initializes a PO file with
 empty translations.  Program <CODE>msgmerge</CODE> takes care of adjusting
 PO files between releases of the corresponding sources, commenting
 obsolete entries, initializing new ones, and updating all source
-line references.  Files ending with <TT>`.pot'</TT> are kind of base
-translation files found in distributions, in PO file format, and
-<TT>`.pox'</TT> files are often temporary PO files.
+line references.  Files ending with <TT>`.pot&acute;</TT> are kind of base
+translation files found in distributions, in PO file format.
 
 </P>
 <P>
@@ -403,7 +403,7 @@ format of these MO files is often different from system to system,
 and non-portable.  The tools already provided with these systems don't
 support all the features of GNU <CODE>gettext</CODE>.  Therefore GNU
 <CODE>gettext</CODE> uses its own format for MO files.  Files ending with
-<TT>`.gmo'</TT> are really MO files, when it is known that these files use
+<TT>`.gmo&acute;</TT> are really MO files, when it is known that these files use
 the GNU format.
 
 </P>
@@ -432,11 +432,11 @@ Original C Sources ---&#62; PO mode ---&#62; Marked C Sources ---.
 |   |                                            |             ^
 |   |                                            `---.         |
 |   `---.                                            +---&#62; PO mode ---.
-|       +----&#62; msgmerge ------&#62; LANG.po---&#62;--------'                |
+|       +----&#62; msgmerge ------&#62; LANG.po ----&#62;--------'                |
 |   .---'                                                             |
 |   |                                                                 |
 |   `-------------&#60;---------------.                                   |
-|                                 +--- LANG.po &#60;--- New LANG.pox &#60;----'
+|                                 +--- New LANG.po &#60;------------------'
 |   .--- LANG.gmo &#60;--- msgfmt &#60;---'
 |   |
 |   `---&#62; install ---&#62; /.../LANG/PACKAGE.mo ---.
@@ -445,7 +445,7 @@ Original C Sources ---&#62; PO mode ---&#62; Marked C Sources ---.
 </PRE>
 
 <P>
-The indication <SAMP>`PO mode'</SAMP> appears in two places in this picture,
+The indication <SAMP>`PO mode&acute;</SAMP> appears in two places in this picture,
 and you may safely read it as merely meaning "hand editing", using
 any editor of your choice, really.  However, for those of you being
 the lucky users of Emacs, PO mode has been specifically created
@@ -499,7 +499,7 @@ simply replace these definitions by the following:
 </PRE>
 
 <P>
-and link against <TT>`libintl.a'</TT> or <TT>`libintl.so'</TT>.  Note that on
+and link against <TT>`libintl.a&acute;</TT> or <TT>`libintl.so&acute;</TT>.  Note that on
 GNU systems, you don't need to link with <CODE>libintl</CODE> because the
 <CODE>gettext</CODE> library functions are already contained in GNU libc.
 That is all you have to change.
@@ -508,24 +508,24 @@ That is all you have to change.
 <P>
 Once the C sources have been modified, the <CODE>xgettext</CODE> program
 is used to find and extract all translatable strings, and create a
-PO template file out of all these.  This <TT>`<VAR>package</VAR>.pot'</TT> file
+PO template file out of all these.  This <TT>`<VAR>package</VAR>.pot&acute;</TT> file
 contains all original program strings.  It has sets of pointers to
 exactly where in C sources each string is used.  All translations
-are set to empty.  The letter <KBD>t</KBD> in <TT>`.pot'</TT> marks this as
+are set to empty.  The letter <KBD>t</KBD> in <TT>`.pot&acute;</TT> marks this as
 a Template PO file, not yet oriented towards any particular language.
 See section <A HREF="gettext_4.html#SEC20">4.1  Invoking the <CODE>xgettext</CODE> Program</A>, for more details about how one calls the
 <CODE>xgettext</CODE> program.  If you are <EM>really</EM> lazy, you might
 be interested at working a lot more right away, and preparing the
-whole distribution setup (see section <A HREF="gettext_11.html#SEC72">11  The Maintainer's View</A>).  By doing so, you
+whole distribution setup (see section <A HREF="gettext_12.html#SEC166">12  The Maintainer's View</A>).  By doing so, you
 spare yourself typing the <CODE>xgettext</CODE> command, as <CODE>make</CODE>
 should now generate the proper things automatically for you!
 
 </P>
 <P>
-The first time through, there is no <TT>`<VAR>lang</VAR>.po'</TT> yet, so the
+The first time through, there is no <TT>`<VAR>lang</VAR>.po&acute;</TT> yet, so the
 <CODE>msgmerge</CODE> step may be skipped and replaced by a mere copy of
-<TT>`<VAR>package</VAR>.pot'</TT> to <TT>`<VAR>lang</VAR>.pox'</TT>, where <VAR>lang</VAR>
-represents the target language.
+<TT>`<VAR>package</VAR>.pot&acute;</TT> to <TT>`<VAR>lang</VAR>.po&acute;</TT>, where <VAR>lang</VAR>
+represents the target language.  See section <A HREF="gettext_5.html#SEC28">5  Creating a New PO File</A> for details.
 
 </P>
 <P>
@@ -533,14 +533,14 @@ Then comes the initial translation of messages.  Translation in
 itself is a whole matter, still exclusively meant for humans,
 and whose complexity far overwhelms the level of this manual.
 Nevertheless, a few hints are given in some other chapter of this
-manual (see section <A HREF="gettext_10.html#SEC61">10  The Translator's View</A>).  You will also find there indications
+manual (see section <A HREF="gettext_11.html#SEC155">11  The Translator's View</A>).  You will also find there indications
 about how to contact translating teams, or becoming part of them,
 for sharing your translating concerns with others who target the same
 native language.
 
 </P>
 <P>
-While adding the translated messages into the <TT>`<VAR>lang</VAR>.pox'</TT>
+While adding the translated messages into the <TT>`<VAR>lang</VAR>.po&acute;</TT>
 PO file, if you do not have Emacs handy, you are on your own
 for ensuring that your efforts fully respect the PO file format, and quoting
 conventions (see section <A HREF="gettext_2.html#SEC9">2.2  The Format of PO Files</A>).  This is surely not an impossible task,
@@ -550,14 +550,14 @@ of PO file format are taken care of for you, but you have to acquire
 some familiarity with PO mode itself.  Besides main PO mode commands
 (see section <A HREF="gettext_2.html#SEC10">2.3  Main PO mode Commands</A>), you should know how to move between entries
 (see section <A HREF="gettext_2.html#SEC11">2.4  Entry Positioning</A>), and how to handle untranslated entries
-(see section <A HREF="gettext_6.html#SEC26">6.4  Untranslated Entries</A>).
+(see section <A HREF="gettext_6.html#SEC46">6.4  Untranslated Entries</A>).
 
 </P>
 <P>
 If some common translations have already been saved into a compendium
 PO file, translators may use PO mode for initializing untranslated
 entries from the compendium, and also save selected translations into
-the compendium, updating it (see section <A HREF="gettext_6.html#SEC33">6.11  Using Translation Compendiums</A>).  Compendium files
+the compendium, updating it (see section <A HREF="gettext_6.html#SEC53">6.11  Using Translation Compendia</A>).  Compendium files
 are meant to be exchanged between members of a given translation team.
 
 </P>
@@ -579,8 +579,8 @@ strings as translatable, when they should be, and do not otherwise
 worry about them being translated, as this will come in proper time.
 Consequently, when programs and their strings are adjusted in various
 ways by maintainers, and for matters usually unrelated to translation,
-<CODE>xgettext</CODE> would construct <TT>`<VAR>package</VAR>.pot'</TT> files which are
-evolving over time, so the translations carried by <TT>`<VAR>lang</VAR>.po'</TT>
+<CODE>xgettext</CODE> would construct <TT>`<VAR>package</VAR>.pot&acute;</TT> files which are
+evolving over time, so the translations carried by <TT>`<VAR>lang</VAR>.po&acute;</TT>
 are slowly fading out of date.
 
 </P>
@@ -596,22 +596,20 @@ appear, needing translation.
 </P>
 <P>
 The <CODE>msgmerge</CODE> program has the purpose of refreshing an already
-existing <TT>`<VAR>lang</VAR>.po'</TT> file, by comparing it with a newer
-<TT>`<VAR>package</VAR>.pot'</TT> template file, extracted by <CODE>xgettext</CODE>
+existing <TT>`<VAR>lang</VAR>.po&acute;</TT> file, by comparing it with a newer
+<TT>`<VAR>package</VAR>.pot&acute;</TT> template file, extracted by <CODE>xgettext</CODE>
 out of recent C sources.  The refreshing operation adjusts all
 references to C source locations for strings, since these strings
 move as programs are modified.  Also, <CODE>msgmerge</CODE> comments out as
-obsolete, in <TT>`<VAR>lang</VAR>.pox'</TT>, those already translated entries
-which are no longer used in the program sources (see section <A HREF="gettext_6.html#SEC27">6.5  Obsolete Entries</A>).  It finally discovers new strings and inserts them in
-the resulting PO file as untranslated entries (see section <A HREF="gettext_6.html#SEC26">6.4  Untranslated Entries</A>).  See section <A HREF="gettext_6.html#SEC23">6.1  Invoking the <CODE>msgmerge</CODE> Program</A>, for more information about what
+obsolete, in <TT>`<VAR>lang</VAR>.po&acute;</TT>, those already translated entries
+which are no longer used in the program sources (see section <A HREF="gettext_6.html#SEC47">6.5  Obsolete Entries</A>).  It finally discovers new strings and inserts them in
+the resulting PO file as untranslated entries (see section <A HREF="gettext_6.html#SEC46">6.4  Untranslated Entries</A>).  See section <A HREF="gettext_6.html#SEC36">6.1  Invoking the <CODE>msgmerge</CODE> Program</A>, for more information about what
 <CODE>msgmerge</CODE> really does.
 
 </P>
 <P>
 Whatever route or means taken, the goal is to obtain an updated
-<TT>`<VAR>lang</VAR>.pox'</TT> file offering translations for all strings.
-When this is properly achieved, this file <TT>`<VAR>lang</VAR>.pox'</TT> may
-take the place of the previous official <TT>`<VAR>lang</VAR>.po'</TT> file.
+<TT>`<VAR>lang</VAR>.po&acute;</TT> file offering translations for all strings.
 
 </P>
 <P>
@@ -635,17 +633,17 @@ distribution.
 Once the PO file is complete and dependable, the <CODE>msgfmt</CODE> program
 is used for turning the PO file into a machine-oriented format, which
 may yield efficient retrieval of translations by the programs of the
-package, whenever needed at runtime (see section <A HREF="gettext_7.html#SEC36">7.2  The Format of GNU MO Files</A>).  See section <A HREF="gettext_7.html#SEC35">7.1  Invoking the <CODE>msgfmt</CODE> Program</A>, for more information about all modalities of execution
+package, whenever needed at runtime (see section <A HREF="gettext_8.html#SEC130">8.3  The Format of GNU MO Files</A>).  See section <A HREF="gettext_8.html#SEC115">8.1  Invoking the <CODE>msgfmt</CODE> Program</A>, for more information about all modalities of execution
 for the <CODE>msgfmt</CODE> program.
 
 </P>
 <P>
 Finally, the modified and marked C sources are compiled and linked
 with the GNU <CODE>gettext</CODE> library, usually through the operation of
-<CODE>make</CODE>, given a suitable <TT>`Makefile'</TT> exists for the project,
+<CODE>make</CODE>, given a suitable <TT>`Makefile&acute;</TT> exists for the project,
 and the resulting executable is installed somewhere users will find it.
 The MO files themselves should also be properly installed.  Given the
-appropriate environment variables are set (see section <A HREF="gettext_8.html#SEC40">8.3  Magic for End Users</A>), the
+appropriate environment variables are set (see section <A HREF="gettext_9.html#SEC134">9.3  Magic for End Users</A>), the
 program should localize itself automatically, whenever it executes.
 
 </P>
@@ -655,6 +653,6 @@ steps outlined above.
 
 </P>
 <P><HR><P>
-Go to the first, previous, <A HREF="gettext_2.html">next</A>, <A HREF="gettext_14.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
+Go to the first, previous, <A HREF="gettext_2.html">next</A>, <A HREF="gettext_16.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
 </BODY>
 </HTML>
index 11294417c6007292895411349b4b3e780e04fb92..056a8d9aa9c36b34337a209094a82666c1a460c5 100644 (file)
 <HTML>
 <HEAD>
-<!-- This HTML file has been created by texi2html 1.51
-     from gettext.texi on 19 April 2001 -->
+<!-- This HTML file has been created by texi2html 1.52a
+     from gettext.texi on 30 November 2001 -->
 
-<TITLE>GNU gettext utilities - 10  The Translator's View</TITLE>
+<TITLE>GNU gettext utilities - 10  The Programmer's View</TITLE>
 </HEAD>
 <BODY>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_9.html">previous</A>, <A HREF="gettext_11.html">next</A>, <A HREF="gettext_14.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
+Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_9.html">previous</A>, <A HREF="gettext_11.html">next</A>, <A HREF="gettext_16.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
 <P><HR><P>
 
 
-<H1><A NAME="SEC61" HREF="gettext_toc.html#TOC61">10  The Translator's View</A></H1>
+<H1><A NAME="SEC135" HREF="gettext_toc.html#TOC135">10  The Programmer's View</A></H1>
+
+<P>
+One aim of the current message catalog implementation provided by
+GNU <CODE>gettext</CODE> was to use the systems message catalog handling, if the
+installer wishes to do so.  So we perhaps should first take a look at
+the solutions we know about.  The people in the POSIX committee did not
+manage to agree on one of the semi-official standards which we'll
+describe below.  In fact they couldn't agree on anything, so they decided
+only to include an example of an interface.  The major Unix vendors
+are split in the usage of the two most important specifications: X/Open's
+catgets vs. Uniforum's gettext interface.  We'll describe them both and
+later explain our solution of this dilemma.
+
+</P>
 
 
 
-<H2><A NAME="SEC62" HREF="gettext_toc.html#TOC62">10.1  Introduction 0</A></H2>
+<H2><A NAME="SEC136" HREF="gettext_toc.html#TOC136">10.1  About <CODE>catgets</CODE></A></H2>
 
 <P>
-Free software is going international!  The Translation Project is a way
-to get maintainers, translators and users all together, so free software
-will gradually become able to speak many native languages.
+The <CODE>catgets</CODE> implementation is defined in the X/Open Portability
+Guide, Volume 3, XSI Supplementary Definitions, Chapter 5.  But the
+process of creating this standard seemed to be too slow for some of
+the Unix vendors so they created their implementations on preliminary
+versions of the standard.  Of course this leads again to problems while
+writing platform independent programs: even the usage of <CODE>catgets</CODE>
+does not guarantee a unique interface.
 
 </P>
 <P>
-The GNU <CODE>gettext</CODE> tool set contains <EM>everything</EM> maintainers
-need for internationalizing their packages for messages.  It also
-contains quite useful tools for helping translators at localizing
-messages to their native language, once a package has already been
-internationalized.
+Another, personal comment on this that only a bunch of committee members
+could have made this interface.  They never really tried to program
+using this interface.  It is a fast, memory-saving implementation, an
+user can happily live with it.  But programmers hate it (at least me and
+some others do...)
 
 </P>
 <P>
-To achieve the Translation Project, we need many interested
-people who like their own language and write it well, and who are also
-able to synergize with other translators speaking the same language.
-If you'd like to volunteer to <EM>work</EM> at translating messages,
-please send mail to your translating team.
+But we must not forget one point: after all the trouble with transfering
+the rights on Unix(tm) they at last came to X/Open, the very same who
+published this specification.  This leads me to making the prediction
+that this interface will be in future Unix standards (e.g. Spec1170) and
+therefore part of all Unix implementation (implementations, which are
+<EM>allowed</EM> to wear this name).
 
 </P>
+
+
+
+<H3><A NAME="SEC137" HREF="gettext_toc.html#TOC137">10.1.1  The Interface</A></H3>
+
 <P>
-Each team has its own mailing list, courtesy of Linux
-International.  You may reach your translating team at the address
-<TT>`<VAR>ll</VAR>@li.org'</TT>, replacing <VAR>ll</VAR> by the two-letter ISO 639
-code for your language.  Language codes are <EM>not</EM> the same as
-country codes given in ISO 3166.  The following translating teams
-exist:
+The interface to the <CODE>catgets</CODE> implementation consists of three
+functions which correspond to those used in file access: <CODE>catopen</CODE>
+to open the catalog for using, <CODE>catgets</CODE> for accessing the message
+tables, and <CODE>catclose</CODE> for closing after work is done.  Prototypes
+for the functions and the needed definitions are in the
+<CODE>&#60;nl_types.h&#62;</CODE> header file.
 
 </P>
+<P>
+<CODE>catopen</CODE> is used like in this:
+
+</P>
+
+<PRE>
+nl_catd catd = catopen ("catalog_name", 0);
+</PRE>
 
-<BLOCKQUOTE>
 <P>
-Chinese <CODE>zh</CODE>, Czech <CODE>cs</CODE>, Danish <CODE>da</CODE>, Dutch <CODE>nl</CODE>,
-Esperanto <CODE>eo</CODE>, Finnish <CODE>fi</CODE>, French <CODE>fr</CODE>, Irish
-<CODE>ga</CODE>, German <CODE>de</CODE>, Greek <CODE>el</CODE>, Italian <CODE>it</CODE>,
-Japanese <CODE>ja</CODE>, Indonesian <CODE>in</CODE>, Norwegian <CODE>no</CODE>, Polish
-<CODE>pl</CODE>, Portuguese <CODE>pt</CODE>, Russian <CODE>ru</CODE>, Spanish <CODE>es</CODE>,
-Swedish <CODE>sv</CODE> and Turkish <CODE>tr</CODE>.
-</BLOCKQUOTE>
+The function takes as the argument the name of the catalog.  This usual
+refers to the name of the program or the package.  The second parameter
+is not further specified in the standard.  I don't even know whether it
+is implemented consistently among various systems.  So the common advice
+is to use <CODE>0</CODE> as the value.  The return value is a handle to the
+message catalog, equivalent to handles to file returned by <CODE>open</CODE>.
 
+</P>
 <P>
-For example, you may reach the Chinese translating team by writing to
-<TT>`zh@li.org'</TT>.  When you become a member of the translating team
-for your own language, you may subscribe to its list.  For example,
-Swedish people can send a message to <TT>`sv-request@li.org'</TT>,
-having this message body:
+This handle is of course used in the <CODE>catgets</CODE> function which can
+be used like this:
 
 </P>
 
 <PRE>
-subscribe
+char *translation = catgets (catd, set_no, msg_id, "original string");
 </PRE>
 
 <P>
-Keep in mind that team members should be interested in <EM>working</EM>
-at translations, or at solving translational difficulties, rather than
-merely lurking around.  If your team does not exist yet and you want to
-start one, please write to <TT>`translation@iro.umontreal.ca'</TT>;
-you will then reach the coordinator for all translator teams.
+The first parameter is this catalog descriptor.  The second parameter
+specifies the set of messages in this catalog, in which the message
+described by <CODE>msg_id</CODE> is obtained.  <CODE>catgets</CODE> therefore uses a
+three-stage addressing:
 
 </P>
+
+<PRE>
+catalog name => set number => message ID => translation
+</PRE>
+
 <P>
-A handful of GNU packages have already been adapted and provided
-with message translations for several languages.  Translation
-teams have begun to organize, using these packages as a starting
-point.  But there are many more packages and many languages for
-which we have no volunteer translators.  If you would like to
-volunteer to work at translating messages, please send mail to
-<TT>`translation@iro.umontreal.ca'</TT> indicating what language(s)
-you can work on.
+The fourth argument is not used to address the translation.  It is given
+as a default value in case when one of the addressing stages fail.  One
+important thing to remember is that although the return type of catgets
+is <CODE>char *</CODE> the resulting string <EM>must not</EM> be changed.  It
+should better be <CODE>const char *</CODE>, but the standard is published in
+1988, one year before ANSI C.
 
 </P>
+<P>
+The last of these function functions is used and behaves as expected:
 
+</P>
 
-<H2><A NAME="SEC63" HREF="gettext_toc.html#TOC63">10.2  Introduction 1</A></H2>
+<PRE>
+catclose (catd);
+</PRE>
 
 <P>
-This is now official, GNU is going international!  Here is the
-announcement submitted for the January 1995 GNU Bulletin:
+After this no <CODE>catgets</CODE> call using the descriptor is legal anymore.
 
 </P>
 
-<BLOCKQUOTE>
+
+<H3><A NAME="SEC138" HREF="gettext_toc.html#TOC138">10.1.2  Problems with the <CODE>catgets</CODE> Interface?!</A></H3>
+
 <P>
-A handful of GNU packages have already been adapted and provided
-with message translations for several languages.  Translation
-teams have begun to organize, using these packages as a starting
-point.  But there are many more packages and many languages
-for which we have no volunteer translators.  If you'd like to
-volunteer to work at translating messages, please send mail to
-<SAMP>`translation@iro.umontreal.ca'</SAMP> indicating what language(s)
-you can work on.
-</BLOCKQUOTE>
+Now that this description seemed to be really easy -- where are the
+problem we speak of?  In fact the interface could be used in a
+reasonable way, but constructing the message catalogs is a pain.  The
+reason for this lies in the third argument of <CODE>catgets</CODE>: the unique
+message ID.  This has to be a numeric value for all messages in a single
+set.  Perhaps you could imagine the problems keeping such a list while
+changing the source code.  Add a new message here, remove one there.  Of
+course there have been developed a lot of tools helping to organize this
+chaos but one as the other fails in one aspect or the other.  We don't
+want to say that the other approach has no problems but they are far
+more easy to manage.
+
+</P>
+
+
+<H2><A NAME="SEC139" HREF="gettext_toc.html#TOC139">10.2  About <CODE>gettext</CODE></A></H2>
 
 <P>
-This document should answer many questions for those who are curious about
-the process or would like to contribute.  Please at least skim over it,
-hoping to cut down a little of the high volume of e-mail generated by this
-collective effort towards internationalization of free software.
+The definition of the <CODE>gettext</CODE> interface comes from a Uniforum
+proposal and it is followed by at least one major Unix vendor
+(Sun) in its last developments.  It is not specified in any official
+standard, though.
 
 </P>
 <P>
-Most free programming which is widely shared is done in English, and
-currently, English is used as the main communicating language between
-national communities collaborating to free software.  This very document
-is written in English.  This will not change in the foreseeable future.
+The main points about this solution is that it does not follow the
+method of normal file handling (open-use-close) and that it does not
+burden the programmer so many task, especially the unique key handling.
+Of course here is also a unique key needed, but this key is the message
+itself (how long or short it is).  See section <A HREF="gettext_10.html#SEC147">10.3  Comparing the Two Interfaces</A> for a more
+detailed comparison of the two methods.
 
 </P>
 <P>
-However, there is a strong appetite from national communities for
-having more software able to write using national language and habits,
-and there is an on-going effort to modify free software in such a way
-that it becomes able to do so.  The experiments driven so far raised
-an enthusiastic response from pretesters, so we believe that
-internationalization of free software is dedicated to succeed.
+The following section contains a rather detailed description of the
+interface.  We make it that detailed because this is the interface
+we chose for the GNU <CODE>gettext</CODE> Library.  Programmers interested
+in using this library will be interested in this description.
+
+</P>
+
+
+
+<H3><A NAME="SEC140" HREF="gettext_toc.html#TOC140">10.2.1  The Interface</A></H3>
+
+<P>
+The minimal functionality an interface must have is a) to select a
+domain the strings are coming from (a single domain for all programs is
+not reasonable because its construction and maintenance is difficult,
+perhaps impossible) and b) to access a string in a selected domain.
 
 </P>
 <P>
-For suggestion clarifications, additions or corrections to this
-document, please e-mail to <TT>`translation@iro.umontreal.ca'</TT>.
+This is principally the description of the <CODE>gettext</CODE> interface.  It
+has a global domain which unqualified usages reference.  Of course this
+domain is selectable by the user.
 
 </P>
 
+<PRE>
+char *textdomain (const char *domain_name);
+</PRE>
 
-<H2><A NAME="SEC64" HREF="gettext_toc.html#TOC64">10.3  Discussions</A></H2>
+<P>
+This provides the possibility to change or query the current status of
+the current global domain of the <CODE>LC_MESSAGE</CODE> category.  The
+argument is a null-terminated string, whose characters must be legal in
+the use in filenames.  If the <VAR>domain_name</VAR> argument is <CODE>NULL</CODE>,
+the function return the current value.  If no value has been set
+before, the name of the default domain is returned: <EM>messages</EM>.
+Please note that although the return value of <CODE>textdomain</CODE> is of
+type <CODE>char *</CODE> no changing is allowed.  It is also important to know
+that no checks of the availability are made.  If the name is not
+available you will see this by the fact that no translations are provided.
 
+</P>
 <P>
-Facing this internationalization effort, a few users expressed their
-concerns.  Some of these doubts are presented and discussed, here.
+To use a domain set by <CODE>textdomain</CODE> the function
 
 </P>
 
-<UL>
-<LI>Smaller groups
-
-Some languages are not spoken by a very large number of people, so people
-speaking them sometimes consider that there may not be all that much
-demand such versions of free software packages.  Moreover, many people
-being <EM>into computers</EM>, in some countries, generally seem to prefer
-English versions of their software.
-
-On the other end, people might enjoy their own language a lot, and be
-very motivated at providing to themselves the pleasure of having their
-beloved free software speaking their mother tongue.  They do themselves
-a personal favor, and do not pay that much attention to the number of
-people beneficiating of their work.
-
-<LI>Misinterpretation
-
-Other users are shy to push forward their own language, seeing in this
-some kind of misplaced propaganda.  Someone thought there must be some
-users of the language over the networks pestering other people with it.
-
-But any spoken language is worth localization, because there are
-people behind the language for whom the language is important and
-dear to their hearts.
-
-<LI>Odd translations
-
-The biggest problem is to find the right translations so that
-everybody can understand the messages.  Translations are usually a
-little odd.  Some people get used to English, to the extent they may
-find translations into their own language "rather pushy, obnoxious
-and sometimes even hilarious."  As a French speaking man, I have
-the experience of those instruction manuals for goods, so poorly
-translated in French in Korea or Taiwan...
-
-The fact is that we sometimes have to create a kind of national
-computer culture, and this is not easy without the collaboration of
-many people liking their mother tongue.  This is why translations are
-better achieved by people knowing and loving their own language, and
-ready to work together at improving the results they obtain.
-
-<LI>Dependencies over the GPL
-
-Some people wonder if using GNU <CODE>gettext</CODE> necessarily brings their package
-under the protective wing of the GNU General Public License, when they
-do not want to make their program free, or want other kinds of freedom.
-The simplest answer is yes.
-
-The mere marking of localizable strings in a package, or conditional
-inclusion of a few lines for initialization, is not really including
-GPL'ed code.  However, the localization routines themselves are under
-the GPL and would bring the remainder of the package under the GPL
-if they were distributed with it.  So, I presume that, for those
-for which this is a problem, it could be circumvented by letting to
-the end installers the burden of assembling a package prepared for
-localization, but not providing the localization routines themselves.
+<PRE>
+char *gettext (const char *msgid);
+</PRE>
 
-</UL>
+<P>
+is to be used.  This is the simplest reasonable form one can imagine.
+The translation of the string <VAR>msgid</VAR> is returned if it is available
+in the current domain.  If not available the argument itself is
+returned.  If the argument is <CODE>NULL</CODE> the result is undefined.
+
+</P>
+<P>
+One things which should come into mind is that no explicit dependency to
+the used domain is given.  The current value of the domain for the
+<CODE>LC_MESSAGES</CODE> locale is used.  If this changes between two
+executions of the same <CODE>gettext</CODE> call in the program, both calls
+reference a different message catalog.
 
+</P>
+<P>
+For the easiest case, which is normally used in internationalized
+packages, once at the beginning of execution a call to <CODE>textdomain</CODE>
+is issued, setting the domain to a unique name, normally the package
+name.  In the following code all strings which have to be translated are
+filtered through the gettext function.  That's all, the package speaks
+your language.
+
+</P>
 
 
-<H2><A NAME="SEC65" HREF="gettext_toc.html#TOC65">10.4  Organization</A></H2>
+<H3><A NAME="SEC141" HREF="gettext_toc.html#TOC141">10.2.2  Solving Ambiguities</A></H3>
 
 <P>
-On a larger scale, the true solution would be to organize some kind of
-fairly precise set up in which volunteers could participate.  I gave
-some thought to this idea lately, and realize there will be some
-touchy points.  I thought of writing to Richard Stallman to launch
-such a project, but feel it might be good to shake out the ideas
-between ourselves first.  Most probably that Linux International has
-some experience in the field already, or would like to orchestrate
-the volunteer work, maybe.  Food for thought, in any case!
+While this single name domain works well for most applications there
+might be the need to get translations from more than one domain.  Of
+course one could switch between different domains with calls to
+<CODE>textdomain</CODE>, but this is really not convenient nor is it fast.  A
+possible situation could be one case subject to discussion during this
+writing:  all
+error messages of functions in the set of common used functions should
+go into a separate domain <CODE>error</CODE>.  By this mean we would only need
+to translate them once.
+Another case are messages from a library, as these <EM>have</EM> to be
+independent of the current domain set by the application.
 
 </P>
 <P>
-I guess we have to setup something early, somehow, that will help
-many possible contributors of the same language to interlock and avoid
-work duplication, and further be put in contact for solving together
-problems particular to their tongue (in most languages, there are many
-difficulties peculiar to translating technical English).  My Swedish
-contributor acknowledged these difficulties, and I'm well aware of
-them for French.
+For this reasons there are two more functions to retrieve strings:
+
+</P>
+
+<PRE>
+char *dgettext (const char *domain_name, const char *msgid);
+char *dcgettext (const char *domain_name, const char *msgid,
+                 int category);
+</PRE>
+
+<P>
+Both take an additional argument at the first place, which corresponds
+to the argument of <CODE>textdomain</CODE>.  The third argument of
+<CODE>dcgettext</CODE> allows to use another locale but <CODE>LC_MESSAGES</CODE>.
+But I really don't know where this can be useful.  If the
+<VAR>domain_name</VAR> is <CODE>NULL</CODE> or <VAR>category</VAR> has an value beside
+the known ones, the result is undefined.  It should also be noted that
+this function is not part of the second known implementation of this
+function family, the one found in Solaris.
 
 </P>
 <P>
-This is surely not a technical issue, but we should manage so the
-effort of locale contributors be maximally useful, despite the national
-team layer interface between contributors and maintainers.
+A second ambiguity can arise by the fact, that perhaps more than one
+domain has the same name.  This can be solved by specifying where the
+needed message catalog files can be found.
 
 </P>
+
+<PRE>
+char *bindtextdomain (const char *domain_name,
+                      const char *dir_name);
+</PRE>
+
 <P>
-The Translation Project needs some setup for coordinating language
-coordinators.  Localizing evolving programs will surely
-become a permanent and continuous activity in the free software community,
-once well started.
-The setup should be minimally completed and tested before GNU
-<CODE>gettext</CODE> becomes an official reality.  The e-mail address
-<TT>`translation@iro.umontreal.ca'</TT> has been setup for receiving
-offers from volunteers and general e-mail on these topics.  This address
-reaches the Translation Project coordinator.
+Calling this function binds the given domain to a file in the specified
+directory (how this file is determined follows below).  Especially a
+file in the systems default place is not favored against the specified
+file anymore (as it would be by solely using <CODE>textdomain</CODE>).  A
+<CODE>NULL</CODE> pointer for the <VAR>dir_name</VAR> parameter returns the binding
+associated with <VAR>domain_name</VAR>.  If <VAR>domain_name</VAR> itself is
+<CODE>NULL</CODE> nothing happens and a <CODE>NULL</CODE> pointer is returned.  Here
+again as for all the other functions is true that none of the return
+value must be changed!
 
 </P>
+<P>
+It is important to remember that relative path names for the
+<VAR>dir_name</VAR> parameter can be trouble.  Since the path is always
+computed relative to the current directory different results will be
+achieved when the program executes a <CODE>chdir</CODE> command.  Relative
+paths should always be avoided to avoid dependencies and
+unreliabilities.
 
+</P>
 
 
-<H3><A NAME="SEC66" HREF="gettext_toc.html#TOC66">10.4.1  Central Coordination</A></H3>
+<H3><A NAME="SEC142" HREF="gettext_toc.html#TOC142">10.2.3  Locating Message Catalog Files</A></H3>
 
 <P>
-I also think GNU will need sooner than it thinks, that someone setup
-a way to organize and coordinate these groups.  Some kind of group
-of groups.  My opinion is that it would be good that GNU delegates
-this task to a small group of collaborating volunteers, shortly.
-Perhaps in <TT>`gnu.announce'</TT> a list of this national committee's
-can be published.
+Because many different languages for many different packages have to be
+stored we need some way to add these information to file message catalog
+files.  The way usually used in Unix environments is have this encoding
+in the file name.  This is also done here.  The directory name given in
+<CODE>bindtextdomain</CODE>s second argument (or the default directory),
+followed by the value and name of the locale and the domain name are
+concatenated:
 
 </P>
+
+<PRE>
+<VAR>dir_name</VAR>/<VAR>locale</VAR>/LC_<VAR>category</VAR>/<VAR>domain_name</VAR>.mo
+</PRE>
+
+<P>
+The default value for <VAR>dir_name</VAR> is system specific.  For the GNU
+library, and for packages adhering to its conventions, it's:
+
+<PRE>
+/usr/local/share/locale
+</PRE>
+
 <P>
-My role as coordinator would simply be to refer to Ulrich any German
-speaking volunteer interested to localization of free software packages, and
-maybe helping national groups to initially organize, while maintaining
-national registries for until national groups are ready to take over.
-In fact, the coordinator should ease volunteers to get in contact with
-one another for creating national teams, which should then select
-one coordinator per language, or country (regionalized language).
-If well done, the coordination should be useful without being an
-overwhelming task, the time to put delegations in place.
+<VAR>locale</VAR> is the value of the locale whose name is this
+<CODE>LC_<VAR>category</VAR></CODE>.  For <CODE>gettext</CODE> and <CODE>dgettext</CODE> this
+<CODE>LC_<VAR>category</VAR></CODE> is always <CODE>LC_MESSAGES</CODE>.<A NAME="DOCF3" HREF="gettext_foot.html#FOOT3">(3)</A>
+The value of the locale is determined through
+<CODE>setlocale (LC_<VAR>category</VAR>, NULL)</CODE>.
+<A NAME="DOCF4" HREF="gettext_foot.html#FOOT4">(4)</A>
+<CODE>dcgettext</CODE> specifies the locale category by the third argument.
 
 </P>
 
 
-<H3><A NAME="SEC67" HREF="gettext_toc.html#TOC67">10.4.2  National Teams</A></H3>
+<H3><A NAME="SEC143" HREF="gettext_toc.html#TOC143">10.2.4  How to specify the output character set <CODE>gettext</CODE> uses</A></H3>
 
 <P>
-I suggest we look for volunteer coordinators/editors for individual
-languages.  These people will scan contributions of translation files
-for various programs, for their own languages, and will ensure high
-and uniform standards of diction.
+<CODE>gettext</CODE> not only looks up a translation in a message catalog.  It
+also converts the translation on the fly to the desired output character
+set.  This is useful if the user is working in a different character set
+than the translator who created the message catalog, because it avoids
+distributing variants of message catalogs which differ only in the
+character set.
 
 </P>
 <P>
-From my current experience with other people in these days, those who
-provide localizations are very enthusiastic about the process, and are
-more interested in the localization process than in the program they
-localize, and want to do many programs, not just one.  This seems
-to confirm that having a coordinator/editor for each language is a
-good idea.
+The output character set is, by default, the value of <CODE>nl_langinfo
+(CODESET)</CODE>, which depends on the <CODE>LC_CTYPE</CODE> part of the current
+locale.  But programs which store strings in a locale independent way
+(e.g. UTF-8) can request that <CODE>gettext</CODE> and related functions
+return the translations in that encoding, by use of the
+<CODE>bind_textdomain_codeset</CODE> function.
 
 </P>
 <P>
-We need to choose someone who is good at writing clear and concise
-prose in the language in question.  That is hard--we can't check
-it ourselves.  So we need to ask a few people to judge each others'
-writing and select the one who is best.
+Note that the <VAR>msgid</VAR> argument to <CODE>gettext</CODE> is not subject to
+character set conversion.  Also, when <CODE>gettext</CODE> does not find a
+translation for <VAR>msgid</VAR>, it returns <VAR>msgid</VAR> unchanged --
+independently of the current output character set.  It is therefore
+recommended that all <VAR>msgid</VAR>s be US-ASCII strings.
 
 </P>
 <P>
-I announce my prerelease to a few dozen people, and you would not
-believe all the discussions it generated already.  I shudder to think
-what will happen when this will be launched, for true, officially,
-world wide.  Who am I to arbitrate between two Czekolsovak users
-contradicting each other, for example?
+<DL>
+<DT><U>Function:</U> char * <B>bind_textdomain_codeset</B> <I>(const char *<VAR>domainname</VAR>, const char *<VAR>codeset</VAR>)</I>
+<DD><A NAME="IDX1"></A>
+The <CODE>bind_textdomain_codeset</CODE> function can be used to specify the
+output character set for message catalogs for domain <VAR>domainname</VAR>.
+The <VAR>codeset</VAR> argument must be a valid codeset name which can be used
+for the <CODE>iconv_open</CODE> function, or a null pointer.
 
 </P>
 <P>
-I assume that your German is not much better than my French so that
-I would not be able to judge about these formulations.  What I would
-suggest is that for each language there is a group for people who
-maintain the PO files and judge about changes.  I suspect there will
-be cultural differences between how such groups of people will behave.
-Some will have relaxed ways, reach consensus easily, and have anyone
-of the group relate to the maintainers, while others will fight to
-death, organize heavy administrations up to national standards, and
-use strict channels.
+If the <VAR>codeset</VAR> parameter is the null pointer,
+<CODE>bind_textdomain_codeset</CODE> returns the currently selected codeset
+for the domain with the name <VAR>domainname</VAR>. It returns <CODE>NULL</CODE> if
+no codeset has yet been selected.
 
 </P>
 <P>
-The German team is putting out a good example.  Right now, they are
-maybe half a dozen people revising translations of each other and
-discussing the linguistic issues.  I do not even have all the names.
-Ulrich Drepper is taking care of coordinating the German team.
-He subscribed to all my pretest lists, so I do not even have to warn
-him specifically of incoming releases.
+The <CODE>bind_textdomain_codeset</CODE> function can be used several times. 
+If used multiple times with the same <VAR>domainname</VAR> argument, the
+later call overrides the settings made by the earlier one.
 
 </P>
 <P>
-I'm sure, that is a good idea to get teams for each language working
-on translations. That will make the translations better and more
-consistent.
+The <CODE>bind_textdomain_codeset</CODE> function returns a pointer to a
+string containing the name of the selected codeset.  The string is
+allocated internally in the function and must not be changed by the
+user.  If the system went out of core during the execution of
+<CODE>bind_textdomain_codeset</CODE>, the return value is <CODE>NULL</CODE> and the
+global variable <VAR>errno</VAR> is set accordingly.
+</DL>
 
 </P>
 
 
+<H3><A NAME="SEC144" HREF="gettext_toc.html#TOC144">10.2.5  Additional functions for plural forms</A></H3>
 
-<H4><A NAME="SEC68" HREF="gettext_toc.html#TOC68">10.4.2.1  Sub-Cultures</A></H4>
+<P>
+The functions of the <CODE>gettext</CODE> family described so far (and all the
+<CODE>catgets</CODE> functions as well) have one problem in the real world
+which have been neglected completely in all existing approaches.  What
+is meant here is the handling of plural forms.
 
+</P>
 <P>
-Taking French for example, there are a few sub-cultures around computers
-which developed diverging vocabularies.  Picking volunteers here and
-there without addressing this problem in an organized way, soon in the
-project, might produce a distasteful mix of internationalized programs,
-and possibly trigger endless quarrels among those who really care.
+Looking through Unix source code before the time anybody thought about
+internationalization (and, sadly, even afterwards) one can often find
+code similar to the following:
 
 </P>
+
+<PRE>
+   printf ("%d file%s deleted", n, n == 1 ? "" : "s");
+</PRE>
+
+<P>
+After the first complaints from people internationalizing the code people
+either completely avoided formulations like this or used strings like
+<CODE>"file(s)"</CODE>.  Both look unnatural and should be avoided.  First
+tries to solve the problem correctly looked like this:
+
+</P>
+
+<PRE>
+   if (n == 1)
+     printf ("%d file deleted", n);
+   else
+     printf ("%d files deleted", n);
+</PRE>
+
 <P>
-Keeping some kind of unity in the way French localization of
-internationalized programs is achieved is a difficult (and delicate) job.
-Knowing the latin character of French people (:-), if we take this
-the wrong way, we could end up nowhere, or spoil a lot of energies.
-Maybe we should begin to address this problem seriously <EM>before</EM>
-GNU <CODE>gettext</CODE> become officially published.  And I suspect that this
-means soon!
+But this does not solve the problem.  It helps languages where the
+plural form of a noun is not simply constructed by adding an `s' but
+that is all.  Once again people fell into the trap of believing the
+rules their language is using are universal.  But the handling of plural
+forms differs widely between the language families.  For example,
+Rafal Maszkowski <CODE>&#60;rzm@mat.uni.torun.pl&#62;</CODE> reports:
 
 </P>
 
+<BLOCKQUOTE>
+<P>
+In Polish we use e.g. plik (file) this way:
 
-<H4><A NAME="SEC69" HREF="gettext_toc.html#TOC69">10.4.2.2  Organizational Ideas</A></H4>
+<PRE>
+1 plik
+2,3,4 pliki
+5-21 pliko'w
+22-24 pliki
+25-31 pliko'w
+</PRE>
+
+<P>
+and so on (o' means 8859-2 oacute which should be rather okreska,
+similar to aogonek).
+</BLOCKQUOTE>
 
 <P>
-I expect the next big changes after the official release.  Please note
-that I use the German translation of the short GPL message.  We need
-to set a few good examples before the localization goes out for true
-in the free software community.  Here are a few points to discuss:
+There are two things which can differ between languages (and even inside
+language families);
 
 </P>
 
 <UL>
 <LI>
 
-Each group should have one FTP server (at least one master).
+The form how plural forms are build differs.  This is a problem with
+languages which have many irregularities.  German, for instance, is a
+drastic case.  Though English and German are part of the same language
+family (Germanic), the almost regular forming of plural noun forms
+(appending an `s') is hardly found in German.
 
 <LI>
 
-The files on the server should reflect the latest version (of
-course!) and it should also contain a RCS directory with the
-corresponding archives (I don't have this now).
+The number of plural forms differ.  This is somewhat surprising for
+those who only have experiences with Romanic and Germanic languages
+since here the number is the same (there are two).
 
-<LI>
+But other language families have only one form or many forms.  More
+information on this in an extra section.
+</UL>
+
+<P>
+The consequence of this is that application writers should not try to
+solve the problem in their code.  This would be localization since it is
+only usable for certain, hardcoded language environments.  Instead the
+extended <CODE>gettext</CODE> interface should be used.
+
+</P>
+<P>
+These extra functions are taking instead of the one key string two
+strings and a numerical argument.  The idea behind this is that using
+the numerical argument and the first string as a key, the implementation
+can select using rules specified by the translator the right plural
+form.  The two string arguments then will be used to provide a return
+value in case no message catalog is found (similar to the normal
+<CODE>gettext</CODE> behavior).  In this case the rules for Germanic language
+is used and it is assumed that the first string argument is the singular
+form, the second the plural form.
+
+</P>
+<P>
+This has the consequence that programs without language catalogs can
+display the correct strings only if the program itself is written using
+a Germanic language.  This is a limitation but since the GNU C library
+(as well as the GNU <CODE>gettext</CODE> package) are written as part of the
+GNU package and the coding standards for the GNU project require program
+being written in English, this solution nevertheless fulfills its
+purpose.
+
+</P>
+<P>
+<DL>
+<DT><U>Function:</U> char * <B>ngettext</B> <I>(const char *<VAR>msgid1</VAR>, const char *<VAR>msgid2</VAR>, unsigned long int <VAR>n</VAR>)</I>
+<DD><A NAME="IDX2"></A>
+The <CODE>ngettext</CODE> function is similar to the <CODE>gettext</CODE> function
+as it finds the message catalogs in the same way.  But it takes two
+extra arguments.  The <VAR>msgid1</VAR> parameter must contain the singular
+form of the string to be converted.  It is also used as the key for the
+search in the catalog.  The <VAR>msgid2</VAR> parameter is the plural form.
+The parameter <VAR>n</VAR> is used to determine the plural form.  If no
+message catalog is found <VAR>msgid1</VAR> is returned if <CODE>n == 1</CODE>,
+otherwise <CODE>msgid2</CODE>.
+
+</P>
+<P>
+An example for the use of this function is:
+
+</P>
+
+<PRE>
+printf (ngettext ("%d file removed", "%d files removed", n), n);
+</PRE>
+
+<P>
+Please note that the numeric value <VAR>n</VAR> has to be passed to the
+<CODE>printf</CODE> function as well.  It is not sufficient to pass it only to
+<CODE>ngettext</CODE>.
+</DL>
+
+</P>
+<P>
+<DL>
+<DT><U>Function:</U> char * <B>dngettext</B> <I>(const char *<VAR>domain</VAR>, const char *<VAR>msgid1</VAR>, const char *<VAR>msgid2</VAR>, unsigned long int <VAR>n</VAR>)</I>
+<DD><A NAME="IDX3"></A>
+The <CODE>dngettext</CODE> is similar to the <CODE>dgettext</CODE> function in the
+way the message catalog is selected.  The difference is that it takes
+two extra parameter to provide the correct plural form.  These two
+parameters are handled in the same way <CODE>ngettext</CODE> handles them.
+</DL>
+
+</P>
+<P>
+<DL>
+<DT><U>Function:</U> char * <B>dcngettext</B> <I>(const char *<VAR>domain</VAR>, const char *<VAR>msgid1</VAR>, const char *<VAR>msgid2</VAR>, unsigned long int <VAR>n</VAR>, int <VAR>category</VAR>)</I>
+<DD><A NAME="IDX4"></A>
+The <CODE>dcngettext</CODE> is similar to the <CODE>dcgettext</CODE> function in the
+way the message catalog is selected.  The difference is that it takes
+two extra parameter to provide the correct plural form.  These two
+parameters are handled in the same way <CODE>ngettext</CODE> handles them.
+</DL>
+
+</P>
+<P>
+Now, how do these functions solve the problem of the plural forms?
+Without the input of linguists (which was not available) it was not
+possible to determine whether there are only a few different forms in
+which plural forms are formed or whether the number can increase with
+every new supported language.
+
+</P>
+<P>
+Therefore the solution implemented is to allow the translator to specify
+the rules of how to select the plural form.  Since the formula varies
+with every language this is the only viable solution except for
+hardcoding the information in the code (which still would require the
+possibility of extensions to not prevent the use of new languages).
+
+</P>
+<P>
+The information about the plural form selection has to be stored in the
+header entry of the PO file (the one with the empty <CODE>msgid</CODE> string).
+The plural form information looks like this:
+
+</P>
+
+<PRE>
+Plural-Forms: nplurals=2; plural=n == 1 ? 0 : 1;
+</PRE>
+
+<P>
+The <CODE>nplurals</CODE> value must be a decimal number which specifies how
+many different plural forms exist for this language.  The string
+following <CODE>plural</CODE> is an expression which is using the C language
+syntax.  Exceptions are that no negative numbers are allowed, numbers
+must be decimal, and the only variable allowed is <CODE>n</CODE>.  This
+expression will be evaluated whenever one of the functions
+<CODE>ngettext</CODE>, <CODE>dngettext</CODE>, or <CODE>dcngettext</CODE> is called.  The
+numeric value passed to these functions is then substituted for all uses
+of the variable <CODE>n</CODE> in the expression.  The resulting value then
+must be greater or equal to zero and smaller than the value given as the
+value of <CODE>nplurals</CODE>.
+
+</P>
+<P>
+The following rules are known at this point.  The language with families
+are listed.  But this does not necessarily mean the information can be
+generalized for the whole family (as can be easily seen in the table
+below).<A NAME="DOCF5" HREF="gettext_foot.html#FOOT5">(5)</A>
+
+</P>
+<DL COMPACT>
+
+<DT>Only one form:
+<DD>
+Some languages only require one single form.  There is no distinction
+between the singular and plural form.  An appropriate header entry
+would look like this:
+
+
+<PRE>
+Plural-Forms: nplurals=1; plural=0;
+</PRE>
+
+Languages with this property include:
+
+<DL COMPACT>
+
+<DT>Finno-Ugric family
+<DD>
+Hungarian
+<DT>Asian family
+<DD>
+Japanese, Korean
+<DT>Turkic/Altaic family
+<DD>
+Turkish
+</DL>
+
+<DT>Two forms, singular used for one only
+<DD>
+This is the form used in most existing programs since it is what English
+is using.  A header entry would look like this:
+
+
+<PRE>
+Plural-Forms: nplurals=2; plural=n != 1;
+</PRE>
+
+(Note: this uses the feature of C expressions that boolean expressions
+have to value zero or one.)
+
+Languages with this property include:
+
+<DL COMPACT>
+
+<DT>Germanic family
+<DD>
+Danish, Dutch, English, German, Norwegian, Swedish
+<DT>Finno-Ugric family
+<DD>
+Estonian, Finnish
+<DT>Latin/Greek family
+<DD>
+Greek
+<DT>Semitic family
+<DD>
+Hebrew
+<DT>Romanic family
+<DD>
+Italian, Portuguese, Spanish
+<DT>Artificial
+<DD>
+Esperanto
+</DL>
+
+<DT>Two forms, singular used for zero and one
+<DD>
+Exceptional case in the language family.  The header entry would be:
+
+
+<PRE>
+Plural-Forms: nplurals=2; plural=n&#62;1;
+</PRE>
+
+Languages with this property include:
+
+<DL COMPACT>
+
+<DT>Romanic family
+<DD>
+French, Brazilian Portuguese
+</DL>
+
+<DT>Three forms, special case for zero
+<DD>
+The header entry would be:
+
+
+<PRE>
+Plural-Forms: nplurals=3; plural=n%10==1 &#38;&#38; n%100!=11 ? 0 : n != 0 ? 1 : 2;
+</PRE>
+
+Languages with this property include:
+
+<DL COMPACT>
+
+<DT>Baltic family
+<DD>
+Latvian
+</DL>
+
+<DT>Three forms, special cases for one and two
+<DD>
+The header entry would be:
+
+
+<PRE>
+Plural-Forms: nplurals=3; plural=n==1 ? 0 : n==2 ? 1 : 2;
+</PRE>
+
+Languages with this property include:
+
+<DL COMPACT>
+
+<DT>Celtic
+<DD>
+Gaeilge (Irish)
+</DL>
+
+<DT>Three forms, special case for numbers ending in 1[2-9]
+<DD>
+The header entry would look like this:
+
+
+<PRE>
+Plural-Forms: nplurals=3; \
+    plural=n%10==1 &#38;&#38; n%100!=11 ? 0 : \
+           n%10&#62;=2 &#38;&#38; (n%100&#60;10 || n%100&#62;=20) ? 1 : 2;
+</PRE>
+
+Languages with this property include:
+
+<DL COMPACT>
+
+<DT>Baltic family
+<DD>
+Lithuanian
+</DL>
+
+<DT>Three forms, special cases for numbers ending in 1 and 2, 3, 4, except those ending in 1[1-4]
+<DD>
+The header entry would look like this:
+
+
+<PRE>
+Plural-Forms: nplurals=3; \
+    plural=n%10==1 &#38;&#38; n%100!=11 ? 0 : \
+           n%10&#62;=2 &#38;&#38; n%10&#60;=4 &#38;&#38; (n%100&#60;10 || n%100&#62;=20) ? 1 : 2;
+</PRE>
+
+Languages with this property include:
+
+<DL COMPACT>
+
+<DT>Slavic family
+<DD>
+Croatian, Czech, Russian, Slovak, Ukrainian
+</DL>
+
+<DT>Three forms, special case for one and some numbers ending in 2, 3, or 4
+<DD>
+The header entry would look like this:
+
+
+<PRE>
+Plural-Forms: nplurals=3; \
+    plural=n==1 ? 0 : \
+           n%10&#62;=2 &#38;&#38; n%10&#60;=4 &#38;&#38; (n%100&#60;10 || n%100&#62;=20) ? 1 : 2;
+</PRE>
+
+Languages with this property include:
+
+<DL COMPACT>
 
-There should also be a ChangeLog file (this is more useful than the
-RCS archive but can be generated automatically from the later by
-Emacs).
+<DT>Slavic family
+<DD>
+Polish
+</DL>
 
+<DT>Four forms, special case for one and all numbers ending in 02, 03, or 04
+<DD>
+The header entry would look like this:
+
+
+<PRE>
+Plural-Forms: nplurals=4; \
+    plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3;
+</PRE>
+
+Languages with this property include:
+
+<DL COMPACT>
+
+<DT>Slavic family
+<DD>
+Slovenian
+</DL>
+</DL>
+
+
+
+<H3><A NAME="SEC145" HREF="gettext_toc.html#TOC145">10.2.6  How to use <CODE>gettext</CODE> in GUI programs</A></H3>
+
+<P>
+One place where the <CODE>gettext</CODE> functions, if used normally, have big
+problems is within programs with graphical user interfaces (GUIs).  The
+problem is that many of the strings which have to be translated are very
+short.  They have to appear in pull-down menus which restricts the
+length.  But strings which are not containing entire sentences or at
+least large fragments of a sentence may appear in more than one
+situation in the program but might have different translations.  This is
+especially true for the one-word strings which are frequently used in
+GUI programs.
+
+</P>
+<P>
+As a consequence many people say that the <CODE>gettext</CODE> approach is
+wrong and instead <CODE>catgets</CODE> should be used which indeed does not
+have this problem.  But there is a very simple and powerful method to
+handle these kind of problems with the <CODE>gettext</CODE> functions.
+
+</P>
+<P>
+As as example consider the following fictional situation.  A GUI program
+has a menu bar with the following entries:
+
+</P>
+
+<PRE>
++------------+------------+--------------------------------------+
+| File       | Printer    |                                      |
++------------+------------+--------------------------------------+
+| Open     | | Select   |
+| New      | | Open     |
++----------+ | Connect  |
+             +----------+
+</PRE>
+
+<P>
+To have the strings <CODE>File</CODE>, <CODE>Printer</CODE>, <CODE>Open</CODE>,
+<CODE>New</CODE>, <CODE>Select</CODE>, and <CODE>Connect</CODE> translated there has to be
+at some point in the code a call to a function of the <CODE>gettext</CODE>
+family.  But in two places the string passed into the function would be
+<CODE>Open</CODE>.  The translations might not be the same and therefore we
+are in the dilemma described above.
+
+</P>
+<P>
+One solution to this problem is to artificially enlengthen the strings
+to make them unambiguous.  But what would the program do if no
+translation is available?  The enlengthened string is not what should be
+printed.  So we should use a little bit modified version of the functions.
+
+</P>
+<P>
+To enlengthen the strings a uniform method should be used.  E.g., in the
+example above the strings could be chosen as
+
+</P>
+
+<PRE>
+Menu|File
+Menu|Printer
+Menu|File|Open
+Menu|File|New
+Menu|Printer|Select
+Menu|Printer|Open
+Menu|Printer|Connect
+</PRE>
+
+<P>
+Now all the strings are different and if now instead of <CODE>gettext</CODE>
+the following little wrapper function is used, everything works just
+fine:
+
+</P>
+<P>
+<A NAME="IDX5"></A>
+
+<PRE>
+  char *
+  sgettext (const char *msgid)
+  {
+    char *msgval = gettext (msgid);
+    if (msgval == msgid)
+      msgval = strrchr (msgid, '|') + 1;
+    return msgval;
+  }
+</PRE>
+
+<P>
+What this little function does is to recognize the case when no
+translation is available.  This can be done very efficiently by a
+pointer comparison since the return value is the input value.  If there
+is no translation we know that the input string is in the format we used
+for the Menu entries and therefore contains a <CODE>|</CODE> character.  We
+simply search for the last occurrence of this character and return a
+pointer to the character following it.  That's it!
+
+</P>
+<P>
+If one now consistently uses the enlengthened string form and replaces
+the <CODE>gettext</CODE> calls with calls to <CODE>sgettext</CODE> (this is normally
+limited to very few places in the GUI implementation) then it is
+possible to produce a program which can be internationalized.
+
+</P>
+<P>
+The other <CODE>gettext</CODE> functions (<CODE>dgettext</CODE>, <CODE>dcgettext</CODE>
+and the <CODE>ngettext</CODE> equivalents) can and should have corresponding
+functions as well which look almost identical, except for the parameters
+and the call to the underlying function.
+
+</P>
+<P>
+Now there is of course the question why such functions do not exist in
+the GNU gettext package?  There are two parts of the answer to this question.
+
+</P>
+
+<UL>
 <LI>
 
-A <STRONG>core group</STRONG> should judge about questionable changes (for now
-this group consists solely by me but I ask some others occasionally;
-this also seems to work).
+They are easy to write and therefore can be provided by the project they
+are used in.  This is not an answer by itself and must be seen together
+with the second part which is:
 
+<LI>
+
+There is no way the gettext package can contain a version which can work
+everywhere.  The problem is the selection of the character to separate
+the prefix from the actual string in the enlenghtened string.  The
+examples above used <CODE>|</CODE> which is a quite good choice because it
+resembles a notation frequently used in this context and it also is a
+character not often used in message strings.
+
+But what if the character is used in message strings?  Or if the chose
+character is not available in the character set on the machine one
+compiles (e.g., <CODE>|</CODE> is not required to exist for ISO C; this is
+why the <TT>`iso646.h&acute;</TT> file exists in ISO C programming environments).
 </UL>
 
+<P>
+There is only one more comment to be said.  The wrapper function above
+requires that the translations strings are not enlengthened themselves.
+This is only logical.  There is no need to disambiguate the strings
+(since they are never used as keys for a search) and one also saves
+quite some memory and disk space by doing this.
+
+</P>
+
+
+<H3><A NAME="SEC146" HREF="gettext_toc.html#TOC146">10.2.7  Optimization of the *gettext functions</A></H3>
+
+<P>
+At this point of the discussion we should talk about an advantage of the
+GNU <CODE>gettext</CODE> implementation.  Some readers might have pointed out
+that an internationalized program might have a poor performance if some
+string has to be translated in an inner loop.  While this is unavoidable
+when the string varies from one run of the loop to the other it is
+simply a waste of time when the string is always the same.  Take the
+following example:
+
+</P>
+
+<PRE>
+{
+  while (...)
+    {
+      puts (gettext ("Hello world"));
+    }
+}
+</PRE>
+
+<P>
+When the locale selection does not change between two runs the resulting
+string is always the same.  One way to use this is:
+
+</P>
+
+<PRE>
+{
+  str = gettext ("Hello world");
+  while (...)
+    {
+      puts (str);
+    }
+}
+</PRE>
+
+<P>
+But this solution is not usable in all situation (e.g. when the locale
+selection changes) nor does it lead to legible code.
+
+</P>
+<P>
+For this reason, GNU <CODE>gettext</CODE> caches previous translation results.
+When the same translation is requested twice, with no new message
+catalogs being loaded in between, <CODE>gettext</CODE> will, the second time,
+find the result through a single cache lookup.
+
+</P>
+
+
+<H2><A NAME="SEC147" HREF="gettext_toc.html#TOC147">10.3  Comparing the Two Interfaces</A></H2>
+
+<P>
+The following discussion is perhaps a little bit colored.  As said
+above we implemented GNU <CODE>gettext</CODE> following the Uniforum
+proposal and this surely has its reasons.  But it should show how we
+came to this decision.
+
+</P>
+<P>
+First we take a look at the developing process.  When we write an
+application using NLS provided by <CODE>gettext</CODE> we proceed as always.
+Only when we come to a string which might be seen by the users and thus
+has to be translated we use <CODE>gettext("...")</CODE> instead of
+<CODE>"..."</CODE>.  At the beginning of each source file (or in a central
+header file) we define
+
+</P>
+
+<PRE>
+#define gettext(String) (String)
+</PRE>
+
+<P>
+Even this definition can be avoided when the system supports the
+<CODE>gettext</CODE> function in its C library.  When we compile this code the
+result is the same as if no NLS code is used.  When  you take a look at
+the GNU <CODE>gettext</CODE> code you will see that we use <CODE>_("...")</CODE>
+instead of <CODE>gettext("...")</CODE>.  This reduces the number of
+additional characters per translatable string to <EM>3</EM> (in words:
+three).
+
+</P>
+<P>
+When now a production version of the program is needed we simply replace
+the definition
+
+</P>
+
+<PRE>
+#define _(String) (String)
+</PRE>
+
+<P>
+by
+
+</P>
+
+<PRE>
+#include &#60;libintl.h&#62;
+#define _(String) gettext (String)
+</PRE>
+
+<P>
+Additionally we run the program <TT>`xgettext&acute;</TT> on all source code file
+which contain translatable strings and that's it: we have a running
+program which does not depend on translations to be available, but which
+can use any that becomes available.
+
+</P>
+<P>
+The same procedure can be done for the <CODE>gettext_noop</CODE> invocations
+(see section <A HREF="gettext_3.html#SEC18">3.5  Special Cases of Translatable Strings</A>).  One usually defines <CODE>gettext_noop</CODE> as a
+no-op macro.  So you should consider the following code for your project:
+
+</P>
+
+<PRE>
+#define gettext_noop(String) (String)
+#define N_(String) gettext_noop (String)
+</PRE>
+
+<P>
+<CODE>N_</CODE> is a short form similar to <CODE>_</CODE>.  The <TT>`Makefile&acute;</TT> in
+the <TT>`po/&acute;</TT> directory of GNU <CODE>gettext</CODE> knows by default both of the
+mentioned short forms so you are invited to follow this proposal for
+your own ease.
+
+</P>
+<P>
+Now to <CODE>catgets</CODE>.  The main problem is the work for the
+programmer.  Every time he comes to a translatable string he has to
+define a number (or a symbolic constant) which has also be defined in
+the message catalog file.  He also has to take care for duplicate
+entries, duplicate message IDs etc.  If he wants to have the same
+quality in the message catalog as the GNU <CODE>gettext</CODE> program
+provides he also has to put the descriptive comments for the strings and
+the location in all source code files in the message catalog.  This is
+nearly a Mission: Impossible.
+
+</P>
+<P>
+But there are also some points people might call advantages speaking for
+<CODE>catgets</CODE>.  If you have a single word in a string and this string
+is used in different contexts it is likely that in one or the other
+language the word has different translations.  Example:
+
+</P>
+
+<PRE>
+printf ("%s: %d", gettext ("number"), number_of_errors)
+
+printf ("you should see %d %s", number_count,
+        number_count == 1 ? gettext ("number") : gettext ("numbers"))
+</PRE>
+
+<P>
+Here we have to translate two times the string <CODE>"number"</CODE>.  Even
+if you do not speak a language beside English it might be possible to
+recognize that the two words have a different meaning.  In German the
+first appearance has to be translated to <CODE>"Anzahl"</CODE> and the second
+to <CODE>"Zahl"</CODE>.
+
+</P>
+<P>
+Now you can say that this example is really esoteric.  And you are
+right!  This is exactly how we felt about this problem and decide that
+it does not weight that much.  The solution for the above problem could
+be very easy:
+
+</P>
+
+<PRE>
+printf ("%s %d", gettext ("number:"), number_of_errors)
+
+printf (number_count == 1 ? gettext ("you should see %d number")
+                          : gettext ("you should see %d numbers"),
+        number_count)
+</PRE>
+
+<P>
+We believe that we can solve all conflicts with this method.  If it is
+difficult one can also consider changing one of the conflicting string a
+little bit.  But it is not impossible to overcome.
+
+</P>
+<P>
+<CODE>catgets</CODE> allows same original entry to have different translations,
+but <CODE>gettext</CODE> has another, scalable approach for solving ambiguities
+of this kind: See section <A HREF="gettext_10.html#SEC141">10.2.2  Solving Ambiguities</A>.
+
+</P>
 
 
-<H3><A NAME="SEC70" HREF="gettext_toc.html#TOC70">10.4.3  Mailing Lists</A></H3>
+<H2><A NAME="SEC148" HREF="gettext_toc.html#TOC148">10.4  Using libintl.a in own programs</A></H2>
 
 <P>
-If we get any inquiries about GNU <CODE>gettext</CODE>, send them on to:
+Starting with version 0.9.4 the library <CODE>libintl.h</CODE> should be
+self-contained.  I.e., you can use it in your own programs without
+providing additional functions.  The <TT>`Makefile&acute;</TT> will put the header
+and the library in directories selected using the <CODE>$(prefix)</CODE>.
 
 </P>
+<P>
+One exception of the above is found on HP-UX 10.01 systems.  Here the C
+library does not contain the <CODE>alloca</CODE> function (and the HP compiler
+does not generate it inlined).  But it is not intended to rewrite the whole
+library just because of this dumb system.  Instead include the
+<CODE>alloca</CODE> function in all package you use the <CODE>libintl.a</CODE> in.
+
+</P>
+
+
+<H2><A NAME="SEC149" HREF="gettext_toc.html#TOC149">10.5  Being a <CODE>gettext</CODE> grok</A></H2>
+
+<P>
+To fully exploit the functionality of the GNU <CODE>gettext</CODE> library it
+is surely helpful to read the source code.  But for those who don't want
+to spend that much time in reading the (sometimes complicated) code here
+is a list comments:
+
+</P>
+
+<UL>
+<LI>Changing the language at runtime
+
+For interactive programs it might be useful to offer a selection of the
+used language at runtime.  To understand how to do this one need to know
+how the used language is determined while executing the <CODE>gettext</CODE>
+function.  The method which is presented here only works correctly
+with the GNU implementation of the <CODE>gettext</CODE> functions.
+
+In the function <CODE>dcgettext</CODE> at every call the current setting of
+the highest priority environment variable is determined and used.
+Highest priority means here the following list with decreasing
+priority:
+
+
+<OL>
+<LI><CODE>LANGUAGE</CODE>
+
+<LI><CODE>LC_ALL</CODE>
+
+<LI><CODE>LC_xxx</CODE>, according to selected locale
+
+<LI><CODE>LANG</CODE>
+
+</OL>
+
+Afterwards the path is constructed using the found value and the
+translation file is loaded if available.
+
+What is now when the value for, say, <CODE>LANGUAGE</CODE> changes.  According
+to the process explained above the new value of this variable is found
+as soon as the <CODE>dcgettext</CODE> function is called.  But this also means
+the (perhaps) different message catalog file is loaded.  In other
+words: the used language is changed.
+
+But there is one little hook.  The code for gcc-2.7.0 and up provides
+some optimization.  This optimization normally prevents the calling of
+the <CODE>dcgettext</CODE> function as long as no new catalog is loaded.  But
+if <CODE>dcgettext</CODE> is not called the program also cannot find the
+<CODE>LANGUAGE</CODE> variable be changed (see section <A HREF="gettext_10.html#SEC146">10.2.7  Optimization of the *gettext functions</A>).  A
+solution for this is very easy.  Include the following code in the
+language switching function.
+
 
 <PRE>
-<TT>`translation@iro.umontreal.ca'</TT>
+  /* Change language.  */
+  setenv ("LANGUAGE", "fr", 1);
+
+  /* Make change known.  */
+  {
+    extern int  _nl_msg_cat_cntr;
+    ++_nl_msg_cat_cntr;
+  }
 </PRE>
 
+The variable <CODE>_nl_msg_cat_cntr</CODE> is defined in <TT>`loadmsgcat.c&acute;</TT>.
+The programmer will find himself in need for a construct like this only
+when developing programs which do run longer and provide the user to
+select the language at runtime.  Non-interactive programs (like all
+these little Unix tools) should never need this.
+
+</UL>
+
+
+
+<H2><A NAME="SEC150" HREF="gettext_toc.html#TOC150">10.6  Temporary Notes for the Programmers Chapter</A></H2>
+
+
+
+<H3><A NAME="SEC151" HREF="gettext_toc.html#TOC151">10.6.1  Temporary - Two Possible Implementations</A></H3>
+
+<P>
+There are two competing methods for language independent messages:
+the X/Open <CODE>catgets</CODE> method, and the Uniforum <CODE>gettext</CODE>
+method.  The <CODE>catgets</CODE> method indexes messages by integers; the
+<CODE>gettext</CODE> method indexes them by their English translations.
+The <CODE>catgets</CODE> method has been around longer and is supported
+by more vendors.  The <CODE>gettext</CODE> method is supported by Sun,
+and it has been heard that the COSE multi-vendor initiative is
+supporting it.  Neither method is a POSIX standard; the POSIX.1
+committee had a lot of disagreement in this area.
+
+</P>
+<P>
+Neither one is in the POSIX standard.  There was much disagreement
+in the POSIX.1 committee about using the <CODE>gettext</CODE> routines
+vs. <CODE>catgets</CODE> (XPG).  In the end the committee couldn't
+agree on anything, so no messaging system was included as part
+of the standard.  I believe the informative annex of the standard
+includes the XPG3 messaging interfaces, "...as an example of
+a messaging system that has been implemented..."
+
+</P>
+<P>
+They were very careful not to say anywhere that you should use one
+set of interfaces over the other.  For more on this topic please
+see the Programming for Internationalization FAQ.
+
+</P>
+
+
+<H3><A NAME="SEC152" HREF="gettext_toc.html#TOC152">10.6.2  Temporary - About <CODE>catgets</CODE></A></H3>
+
 <P>
-The <TT>`*-pretest'</TT> lists are quite useful to me, maybe the idea could
-be generalized to many GNU, and non-GNU packages.  But each maintainer
-his/her way!
+There have been a few discussions of late on the use of
+<CODE>catgets</CODE> as a base.  I think it important to present both
+sides of the argument and hence am opting to play devil's advocate
+for a little bit.
 
 </P>
 <P>
-Fran@,{c}ois, we have a mechanism in place here at
-<TT>`gnu.ai.mit.edu'</TT> to track teams, support mailing lists for
-them and log members.  We have a slight preference that you use it.
-If this is OK with you, I can get you clued in.
+I'll not deny the fact that <CODE>catgets</CODE> could have been designed
+a lot better.  It currently has quite a number of limitations and
+these have already been pointed out.
 
 </P>
 <P>
-Things are changing!  A few years ago, when Daniel Fekete and I
-asked for a mailing list for GNU localization, nested at the FSF, we
-were politely invited to organize it anywhere else, and so did we.
-For communicating with my pretesters, I later made a handful of
-mailing lists located at iro.umontreal.ca and administrated by
-<CODE>majordomo</CODE>.  These lists have been <EM>very</EM> dependable
-so far...
+However there is a great deal to be said for consistency and
+standardization.  A common recurring problem when writing Unix
+software is the myriad portability problems across Unix platforms.
+It seems as if every Unix vendor had a look at the operating system
+and found parts they could improve upon.  Undoubtedly, these
+modifications are probably innovative and solve real problems.
+However, software developers have a hard time keeping up with all
+these changes across so many platforms.
 
 </P>
 <P>
-I suspect that the German team will organize itself a mailing list
-located in Germany, and so forth for other countries.  But before they
-organize for true, it could surely be useful to offer mailing lists
-located at the FSF to each national team.  So yes, please explain me
-how I should proceed to create and handle them.
+And this has prompted the Unix vendors to begin to standardize their
+systems.  Hence the impetus for Spec1170.  Every major Unix vendor
+has committed to supporting this standard and every Unix software
+developer waits with glee the day they can write software to this
+standard and simply recompile (without having to use autoconf)
+across different platforms.
 
 </P>
 <P>
-We should create temporary mailing lists, one per country, to help
-people organize.  Temporary, because once regrouped and structured, it
-would be fair the volunteers from country bring back <EM>their</EM> list
-in there and manage it as they want.  My feeling is that, in the long
-run, each team should run its own list, from within their country.
-There also should be some central list to which all teams could
-subscribe as they see fit, as long as each team is represented in it.
+As I understand it, Spec1170 is roughly based upon version 4 of the
+X/Open Portability Guidelines (XPG4).  Because <CODE>catgets</CODE> and
+friends are defined in XPG4, I'm led to believe that <CODE>catgets</CODE>
+is a part of Spec1170 and hence will become a standardized component
+of all Unix systems.
 
 </P>
 
 
-<H2><A NAME="SEC71" HREF="gettext_toc.html#TOC71">10.5  Information Flow</A></H2>
+<H3><A NAME="SEC153" HREF="gettext_toc.html#TOC153">10.6.3  Temporary - Why a single implementation</A></H3>
 
 <P>
-There will surely be some discussion about this messages after the
-packages are finally released.  If people now send you some proposals
-for better messages, how do you proceed?  Jim, please note that
-right now, as I put forward nearly a dozen of localizable programs, I
-receive both the translations and the coordination concerns about them.
+Now it seems kind of wasteful to me to have two different systems
+installed for accessing message catalogs.  If we do want to remedy
+<CODE>catgets</CODE> deficiencies why don't we try to expand <CODE>catgets</CODE>
+(in a compatible manner) rather than implement an entirely new system.
+Otherwise, we'll end up with two message catalog access systems installed
+with an operating system - one set of routines for packages using GNU
+<CODE>gettext</CODE> for their internationalization, and another set of routines
+(catgets) for all other software.  Bloated?
 
 </P>
 <P>
-If I put one of my things to pretest, Ulrich receives the announcement
-and passes it on to the German team, who make last minute revisions.
-Then he submits the translation files to me <EM>as the maintainer</EM>.
-For free packages I do not maintain, I would not even hear about it.
-This scheme could be made to work for the whole Translation Project,
-I think.  For security reasons, maybe Ulrich (national coordinators,
-in fact) should update central registry kept at the Translation Project
-(Jim, me, or Len's recruits) once in a while.
+Supposing another catalog access system is implemented.  Which do
+we recommend?  At least for Linux, we need to attract as many
+software developers as possible.  Hence we need to make it as easy
+for them to port their software as possible.  Which means supporting
+<CODE>catgets</CODE>.  We will be implementing the <CODE>libintl</CODE> code
+within our <CODE>libc</CODE>, but does this mean we also have to incorporate
+another message catalog access scheme within our <CODE>libc</CODE> as well?
+And what about people who are going to be using the <CODE>libintl</CODE>
++ non-<CODE>catgets</CODE> routines.  When they port their software to
+other platforms, they're now going to have to include the front-end
+(<CODE>libintl</CODE>) code plus the back-end code (the non-<CODE>catgets</CODE>
+access routines) with their software instead of just including the
+<CODE>libintl</CODE> code with their software.
 
 </P>
 <P>
-In December/January, I was aggressively ready to internationalize
-all of GNU, giving myself the duty of one small GNU package per week
-or so, taking many weeks or months for bigger packages.  But it does
-not work this way.  I first did all the things I'm responsible for.
-I've nothing against some missionary work on other maintainers, but
-I'm also loosing a lot of energy over it--same debates over again.
+Message catalog support is however only the tip of the iceberg.
+What about the data for the other locale categories.  They also have
+a number of deficiencies.  Are we going to abandon them as well and
+develop another duplicate set of routines (should <CODE>libintl</CODE>
+expand beyond message catalog support)?
 
 </P>
 <P>
-And when the first localized packages are released we'll get a lot of
-responses about ugly translations :-).  Surely, and we need to have
-beforehand a fairly good idea about how to handle the information
-flow between the national teams and the package maintainers.
+Like many parts of Unix that can be improved upon, we're stuck with balancing
+compatibility with the past with useful improvements and innovations for
+the future.
+
+</P>
+
+
+<H3><A NAME="SEC154" HREF="gettext_toc.html#TOC154">10.6.4  Temporary - Notes</A></H3>
+
+<P>
+X/Open agreed very late on the standard form so that many
+implementations differ from the final form.  Both of my system (old
+Linux catgets and Ultrix-4) have a strange variation.
 
 </P>
 <P>
-Please start saving somewhere a quick history of each PO file.  I know
-for sure that the file format will change, allowing for comments.
-It would be nice that each file has a kind of log, and references for
-those who want to submit comments or gripes, or otherwise contribute.
-I sent a proposal for a fast and flexible format, but it is not
-receiving acceptance yet by the GNU deciders.  I'll tell you when I
-have more information about this.
+OK.  After incorporating the last changes I have to spend some time on
+making the GNU/Linux <CODE>libc</CODE> <CODE>gettext</CODE> functions.  So in future
+Solaris is not the only system having <CODE>gettext</CODE>.
 
 </P>
 <P><HR><P>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_9.html">previous</A>, <A HREF="gettext_11.html">next</A>, <A HREF="gettext_14.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
+Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_9.html">previous</A>, <A HREF="gettext_11.html">next</A>, <A HREF="gettext_16.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
 </BODY>
 </HTML>
index ea125d0e399a824d7951bf4c267c37753f7c240e..a70c65a935bcd33a0f12b4d3b0bc6d962048c644 100644 (file)
 <HTML>
 <HEAD>
-<!-- This HTML file has been created by texi2html 1.51
-     from gettext.texi on 19 April 2001 -->
+<!-- This HTML file has been created by texi2html 1.52a
+     from gettext.texi on 30 November 2001 -->
 
-<TITLE>GNU gettext utilities - 11  The Maintainer's View</TITLE>
+<TITLE>GNU gettext utilities - 11  The Translator's View</TITLE>
 </HEAD>
 <BODY>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_10.html">previous</A>, <A HREF="gettext_12.html">next</A>, <A HREF="gettext_14.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
+Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_10.html">previous</A>, <A HREF="gettext_12.html">next</A>, <A HREF="gettext_16.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
 <P><HR><P>
 
 
-<H1><A NAME="SEC72" HREF="gettext_toc.html#TOC72">11  The Maintainer's View</A></H1>
+<H1><A NAME="SEC155" HREF="gettext_toc.html#TOC155">11  The Translator's View</A></H1>
+
+
+
+<H2><A NAME="SEC156" HREF="gettext_toc.html#TOC156">11.1  Introduction 0</A></H2>
 
 <P>
-The maintainer of a package has many responsibilities.  One of them
-is ensuring that the package will install easily on many platforms,
-and that the magic we described earlier (see section <A HREF="gettext_8.html#SEC37">8  The User's View</A>) will work
-for installers and end users.
+Free software is going international!  The Translation Project is a way
+to get maintainers, translators and users all together, so free software
+will gradually become able to speak many native languages.
 
 </P>
 <P>
-Of course, there are many possible ways by which GNU <CODE>gettext</CODE>
-might be integrated in a distribution, and this chapter does not cover
-them in all generality.  Instead, it details one possible approach which
-is especially adequate for many free software distributions following GNU
-standards, or even better, Gnits standards, because GNU <CODE>gettext</CODE>
-is purposely for helping the internationalization of the whole GNU
-project, and as many other good free packages as possible.  So, the
-maintainer's view presented here presumes that the package already has
-a <TT>`configure.in'</TT> file and uses GNU Autoconf.
+The GNU <CODE>gettext</CODE> tool set contains <EM>everything</EM> maintainers
+need for internationalizing their packages for messages.  It also
+contains quite useful tools for helping translators at localizing
+messages to their native language, once a package has already been
+internationalized.
 
 </P>
 <P>
-Nevertheless, GNU <CODE>gettext</CODE> may surely be useful for free packages
-not following GNU standards and conventions, but the maintainers of such
-packages might have to show imagination and initiative in organizing
-their distributions so <CODE>gettext</CODE> work for them in all situations.
-There are surely many, out there.
+To achieve the Translation Project, we need many interested
+people who like their own language and write it well, and who are also
+able to synergize with other translators speaking the same language.
+If you'd like to volunteer to <EM>work</EM> at translating messages,
+please send mail to your translating team.
 
 </P>
 <P>
-Even if <CODE>gettext</CODE> methods are now stabilizing, slight adjustments
-might be needed between successive <CODE>gettext</CODE> versions, so you
-should ideally revise this chapter in subsequent releases, looking
-for changes.
+Each team has its own mailing list, courtesy of Linux
+International.  You may reach your translating team at the address
+<TT>`<VAR>ll</VAR>@li.org&acute;</TT>, replacing <VAR>ll</VAR> by the two-letter ISO 639
+code for your language.  Language codes are <EM>not</EM> the same as
+country codes given in ISO 3166.  The following translating teams
+exist:
 
 </P>
 
-
-
-<H2><A NAME="SEC73" HREF="gettext_toc.html#TOC73">11.1  Flat or Non-Flat Directory Structures</A></H2>
+<BLOCKQUOTE>
+<P>
+Chinese <CODE>zh</CODE>, Czech <CODE>cs</CODE>, Danish <CODE>da</CODE>, Dutch <CODE>nl</CODE>,
+Esperanto <CODE>eo</CODE>, Finnish <CODE>fi</CODE>, French <CODE>fr</CODE>, Irish
+<CODE>ga</CODE>, German <CODE>de</CODE>, Greek <CODE>el</CODE>, Italian <CODE>it</CODE>,
+Japanese <CODE>ja</CODE>, Indonesian <CODE>in</CODE>, Norwegian <CODE>no</CODE>, Polish
+<CODE>pl</CODE>, Portuguese <CODE>pt</CODE>, Russian <CODE>ru</CODE>, Spanish <CODE>es</CODE>,
+Swedish <CODE>sv</CODE> and Turkish <CODE>tr</CODE>.
+</BLOCKQUOTE>
 
 <P>
-Some free software packages are distributed as <CODE>tar</CODE> files which unpack
-in a single directory, these are said to be <STRONG>flat</STRONG> distributions.
-Other free software packages have a one level hierarchy of subdirectories, using
-for example a subdirectory named <TT>`doc/'</TT> for the Texinfo manual and
-man pages, another called <TT>`lib/'</TT> for holding functions meant to
-replace or complement C libraries, and a subdirectory <TT>`src/'</TT> for
-holding the proper sources for the package.  These other distributions
-are said to be <STRONG>non-flat</STRONG>.
+For example, you may reach the Chinese translating team by writing to
+<TT>`zh@li.org&acute;</TT>.  When you become a member of the translating team
+for your own language, you may subscribe to its list.  For example,
+Swedish people can send a message to <TT>`sv-request@li.org&acute;</TT>,
+having this message body:
 
 </P>
+
+<PRE>
+subscribe
+</PRE>
+
 <P>
-We cannot say much about flat distributions.  A flat
-directory structure has the disadvantage of increasing the difficulty
-of updating to a new version of GNU <CODE>gettext</CODE>.  Also, if you have
-many PO files, this could somewhat pollute your single directory.
-Also, GNU <CODE>gettext</CODE>'s libintl sources consist of C sources, shell
-scripts, <CODE>sed</CODE> scripts and complicated Makefile rules, which don't
-fit well into an existing flat structure.  For these reasons, we
-recommend to use non-flat approach in this case as well.
+Keep in mind that team members should be interested in <EM>working</EM>
+at translations, or at solving translational difficulties, rather than
+merely lurking around.  If your team does not exist yet and you want to
+start one, please write to <TT>`translation@iro.umontreal.ca&acute;</TT>;
+you will then reach the coordinator for all translator teams.
 
 </P>
 <P>
-Maybe because GNU <CODE>gettext</CODE> itself has a non-flat structure,
-we have more experience with this approach, and this is what will be
-described in the remaining of this chapter.  Some maintainers might
-use this as an opportunity to unflatten their package structure.
+A handful of GNU packages have already been adapted and provided
+with message translations for several languages.  Translation
+teams have begun to organize, using these packages as a starting
+point.  But there are many more packages and many languages for
+which we have no volunteer translators.  If you would like to
+volunteer to work at translating messages, please send mail to
+<TT>`translation@iro.umontreal.ca&acute;</TT> indicating what language(s)
+you can work on.
 
 </P>
 
 
-<H2><A NAME="SEC74" HREF="gettext_toc.html#TOC74">11.2  Prerequisite Works</A></H2>
+<H2><A NAME="SEC157" HREF="gettext_toc.html#TOC157">11.2  Introduction 1</A></H2>
 
 <P>
-There are some works which are required for using GNU <CODE>gettext</CODE>
-in one of your package.  These works have some kind of generality
-that escape the point by point descriptions used in the remainder
-of this chapter.  So, we describe them here.
+This is now official, GNU is going international!  Here is the
+announcement submitted for the January 1995 GNU Bulletin:
 
 </P>
 
-<UL>
-<LI>
-
-Before attempting to use <CODE>gettextize</CODE> you should install some
-other packages first.
-Ensure that recent versions of GNU <CODE>m4</CODE>, GNU Autoconf and GNU
-<CODE>gettext</CODE> are already installed at your site, and if not, proceed
-to do this first.  If you got to install these things, beware that
-GNU <CODE>m4</CODE> must be fully installed before GNU Autoconf is even
-<EM>configured</EM>.
-
-To further ease the task of a package maintainer the <CODE>automake</CODE>
-package was designed and implemented.  GNU <CODE>gettext</CODE> now uses this
-tool and the <TT>`Makefile'</TT>s in the <TT>`intl/'</TT> and <TT>`po/'</TT>
-therefore know about all the goals necessary for using <CODE>automake</CODE>
-and <TT>`libintl'</TT> in one project.
-
-Those four packages are only needed to you, as a maintainer; the
-installers of your own package and end users do not really need any of
-GNU <CODE>m4</CODE>, GNU Autoconf, GNU <CODE>gettext</CODE>, or GNU <CODE>automake</CODE>
-for successfully installing and running your package, with messages
-properly translated.  But this is not completely true if you provide
-internationalized shell scripts within your own package: GNU
-<CODE>gettext</CODE> shall then be installed at the user site if the end users
-want to see the translation of shell script messages.
-
-<LI>
-
-Your package should use Autoconf and have a <TT>`configure.in'</TT> file.
-If it does not, you have to learn how.  The Autoconf documentation
-is quite well written, it is a good idea that you print it and get
-familiar with it.
-
-<LI>
-
-Your C sources should have already been modified according to
-instructions given earlier in this manual.  See section <A HREF="gettext_3.html#SEC13">3  Preparing Program Sources</A>.
-
-<LI>
-
-Your <TT>`po/'</TT> directory should receive all PO files submitted to you
-by the translator teams, each having <TT>`<VAR>ll</VAR>.po'</TT> as a name.
-This is not usually easy to get translation
-work done before your package gets internationalized and available!
-Since the cycle has to start somewhere, the easiest for the maintainer
-is to start with absolutely no PO files, and wait until various
-translator teams get interested in your package, and submit PO files.
-
-</UL>
-
+<BLOCKQUOTE>
 <P>
-It is worth adding here a few words about how the maintainer should
-ideally behave with PO files submissions.  As a maintainer, your role is
-to authentify the origin of the submission as being the representative
-of the appropriate translating teams of the Translation Project (forward
-the submission to <TT>`translation@iro.umontreal.ca'</TT> in case of doubt),
-to ensure that the PO file format is not severely broken and does not
-prevent successful installation, and for the rest, to merely to put these
-PO files in <TT>`po/'</TT> for distribution.
+A handful of GNU packages have already been adapted and provided
+with message translations for several languages.  Translation
+teams have begun to organize, using these packages as a starting
+point.  But there are many more packages and many languages
+for which we have no volunteer translators.  If you'd like to
+volunteer to work at translating messages, please send mail to
+<SAMP>`translation@iro.umontreal.ca&acute;</SAMP> indicating what language(s)
+you can work on.
+</BLOCKQUOTE>
 
-</P>
 <P>
-As a maintainer, you do not have to take on your shoulders the
-responsibility of checking if the translations are adequate or
-complete, and should avoid diving into linguistic matters.  Translation
-teams drive themselves and are fully responsible of their linguistic
-choices for the Translation Project.  Keep in mind that translator teams are <EM>not</EM>
-driven by maintainers.  You can help by carefully redirecting all
-communications and reports from users about linguistic matters to the
-appropriate translation team, or explain users how to reach or join
-their team.  The simplest might be to send them the <TT>`ABOUT-NLS'</TT> file.
+This document should answer many questions for those who are curious about
+the process or would like to contribute.  Please at least skim over it,
+hoping to cut down a little of the high volume of e-mail generated by this
+collective effort towards internationalization of free software.
 
 </P>
 <P>
-Maintainers should <EM>never ever</EM> apply PO file bug reports
-themselves, short-cutting translation teams.  If some translator has
-difficulty to get some of her points through her team, it should not be
-an issue for her to directly negotiate translations with maintainers.
-Teams ought to settle their problems themselves, if any.  If you, as
-a maintainer, ever think there is a real problem with a team, please
-never try to <EM>solve</EM> a team's problem on your own.
+Most free programming which is widely shared is done in English, and
+currently, English is used as the main communicating language between
+national communities collaborating to free software.  This very document
+is written in English.  This will not change in the foreseeable future.
 
 </P>
-
-
-<H2><A NAME="SEC75" HREF="gettext_toc.html#TOC75">11.3  Invoking the <CODE>gettextize</CODE> Program</A></H2>
-
 <P>
-Some files are consistently and identically needed in every package
-internationalized through GNU <CODE>gettext</CODE>.  As a matter of
-convenience, the <CODE>gettextize</CODE> program puts all these files right
-in your package.  This program has the following synopsis:
+However, there is a strong appetite from national communities for
+having more software able to write using national language and habits,
+and there is an on-going effort to modify free software in such a way
+that it becomes able to do so.  The experiments driven so far raised
+an enthusiastic response from pretesters, so we believe that
+internationalization of free software is dedicated to succeed.
 
 </P>
-
-<PRE>
-gettextize [ <VAR>option</VAR>... ] [ <VAR>directory</VAR> ]
-</PRE>
-
 <P>
-and accepts the following options:
+For suggestion clarifications, additions or corrections to this
+document, please e-mail to <TT>`translation@iro.umontreal.ca&acute;</TT>.
 
 </P>
-<DL COMPACT>
-
-<DT><SAMP>`-c'</SAMP>
-<DD>
-<DT><SAMP>`--copy'</SAMP>
-<DD>
-Copy the needed files instead of making symbolic links.  Using links
-would allow the package to always use the latest <CODE>gettext</CODE> code
-available on the system, but it might disturb some mechanism the
-maintainer is used to apply to the sources.  Because running
-<CODE>gettextize</CODE> is easy there shouldn't be problems with using copies.
 
-<DT><SAMP>`-f'</SAMP>
-<DD>
-<DT><SAMP>`--force'</SAMP>
-<DD>
-Force replacement of files which already exist.
 
-<DT><SAMP>`-h'</SAMP>
-<DD>
-<DT><SAMP>`--help'</SAMP>
-<DD>
-Display this help and exit.
+<H2><A NAME="SEC158" HREF="gettext_toc.html#TOC158">11.3  Discussions</A></H2>
 
-<DT><SAMP>`--version'</SAMP>
-<DD>
-Output version information and exit.
-
-</DL>
-
-<P>
-If <VAR>directory</VAR> is given, this is the top level directory of a
-package to prepare for using GNU <CODE>gettext</CODE>.  If not given, it
-is assumed that the current directory is the top level directory of
-such a package.
-
-</P>
 <P>
-The program <CODE>gettextize</CODE> provides the following files.  However,
-no existing file will be replaced unless the option <CODE>--force</CODE>
-(<CODE>-f</CODE>) is specified.
+Facing this internationalization effort, a few users expressed their
+concerns.  Some of these doubts are presented and discussed, here.
 
 </P>
 
-<OL>
-<LI>
-
-The <TT>`ABOUT-NLS'</TT> file is copied in the main directory of your package,
-the one being at the top level.  This file gives the main indications
-about how to install and use the Native Language Support features
-of your program.  You might elect to use a more recent copy of this
-<TT>`ABOUT-NLS'</TT> file than the one provided through <CODE>gettextize</CODE>,
-if you have one handy.  You may also fetch a more recent copy of file
-<TT>`ABOUT-NLS'</TT> from Translation Project sites, and from most GNU
-archive sites.
+<UL>
+<LI>Smaller groups
+
+Some languages are not spoken by a very large number of people, so people
+speaking them sometimes consider that there may not be all that much
+demand such versions of free software packages.  Moreover, many people
+being <EM>into computers</EM>, in some countries, generally seem to prefer
+English versions of their software.
+
+On the other end, people might enjoy their own language a lot, and be
+very motivated at providing to themselves the pleasure of having their
+beloved free software speaking their mother tongue.  They do themselves
+a personal favor, and do not pay that much attention to the number of
+people beneficiating of their work.
+
+<LI>Misinterpretation
+
+Other users are shy to push forward their own language, seeing in this
+some kind of misplaced propaganda.  Someone thought there must be some
+users of the language over the networks pestering other people with it.
+
+But any spoken language is worth localization, because there are
+people behind the language for whom the language is important and
+dear to their hearts.
+
+<LI>Odd translations
+
+The biggest problem is to find the right translations so that
+everybody can understand the messages.  Translations are usually a
+little odd.  Some people get used to English, to the extent they may
+find translations into their own language "rather pushy, obnoxious
+and sometimes even hilarious."  As a French speaking man, I have
+the experience of those instruction manuals for goods, so poorly
+translated in French in Korea or Taiwan...
+
+The fact is that we sometimes have to create a kind of national
+computer culture, and this is not easy without the collaboration of
+many people liking their mother tongue.  This is why translations are
+better achieved by people knowing and loving their own language, and
+ready to work together at improving the results they obtain.
+
+<LI>Dependencies over the GPL or LGPL
+
+Some people wonder if using GNU <CODE>gettext</CODE> necessarily brings their
+package under the protective wing of the GNU General Public License or
+the GNU Library General Public License, when they do not want to make
+their program free, or want other kinds of freedom.  The simplest
+answer is "normally not".
+
+The GNU <CODE>gettext</CODE> library, i.e. the contents of <CODE>libintl</CODE>,
+is covered by the GNU Library General Public License.  The rest of
+the GNU <CODE>gettext</CODE> package is covered by the GNU General Public
+License.
+
+The mere marking of localizable strings in a package, or conditional
+inclusion of a few lines for initialization, is not really including
+GPL'ed or LGPL'ed code.  However, since the localization routines in
+<CODE>libintl</CODE> are under the LGPL, the LGPL needs to be considered.
+It gives the right to distribute the complete unmodified source of
+<CODE>libintl</CODE> even with non-free programs.  It also gives the right
+to use <CODE>libintl</CODE> as a shared library, even for non-free programs.
+But it gives the right to use <CODE>libintl</CODE> as a static library or
+to incorporate <CODE>libintl</CODE> into another library only to free
+software.
 
-<LI>
+</UL>
 
-A <TT>`po/'</TT> directory is created for eventually holding
-all translation files, but initially only containing the file
-<TT>`po/Makefile.in.in'</TT> from the GNU <CODE>gettext</CODE> distribution.
-(beware the double <SAMP>`.in'</SAMP> in the file name). If the <TT>`po/'</TT>
-directory already exists, it will be preserved along with the files
-it contains, and only <TT>`Makefile.in.in'</TT> will be overwritten.
 
-<LI>
 
-A <TT>`intl/'</TT> directory is created and filled with most of the files
-originally in the <TT>`intl/'</TT> directory of the GNU <CODE>gettext</CODE>
-distribution.  Also, if option <CODE>--force</CODE> (<CODE>-f</CODE>) is given,
-the <TT>`intl/'</TT> directory is emptied first.
-
-</OL>
+<H2><A NAME="SEC159" HREF="gettext_toc.html#TOC159">11.4  Organization</A></H2>
 
 <P>
-If your site support symbolic links, <CODE>gettextize</CODE> will not
-actually copy the files into your package, but establish symbolic
-links instead.  This avoids duplicating the disk space needed in
-all packages.  Merely using the <SAMP>`-h'</SAMP> option while creating the
-<CODE>tar</CODE> archive of your distribution will resolve each link by an
-actual copy in the distribution archive.  So, to insist, you really
-should use <SAMP>`-h'</SAMP> option with <CODE>tar</CODE> within your <CODE>dist</CODE>
-goal of your main <TT>`Makefile.in'</TT>.
+On a larger scale, the true solution would be to organize some kind of
+fairly precise set up in which volunteers could participate.  I gave
+some thought to this idea lately, and realize there will be some
+touchy points.  I thought of writing to Richard Stallman to launch
+such a project, but feel it might be good to shake out the ideas
+between ourselves first.  Most probably that Linux International has
+some experience in the field already, or would like to orchestrate
+the volunteer work, maybe.  Food for thought, in any case!
 
 </P>
 <P>
-It is interesting to understand that most new files for supporting
-GNU <CODE>gettext</CODE> facilities in one package go in <TT>`intl/'</TT>
-and <TT>`po/'</TT> subdirectories.  One distinction between these two
-directories is that <TT>`intl/'</TT> is meant to be completely identical
-in all packages using GNU <CODE>gettext</CODE>, while all newly created
-files, which have to be different, go into <TT>`po/'</TT>.  There is a
-common <TT>`Makefile.in.in'</TT> in <TT>`po/'</TT>, because the <TT>`po/'</TT>
-directory needs its own <TT>`Makefile'</TT>, and it has been designed so
-it can be identical in all packages.
+I guess we have to setup something early, somehow, that will help
+many possible contributors of the same language to interlock and avoid
+work duplication, and further be put in contact for solving together
+problems particular to their tongue (in most languages, there are many
+difficulties peculiar to translating technical English).  My Swedish
+contributor acknowledged these difficulties, and I'm well aware of
+them for French.
 
 </P>
-
-
-<H2><A NAME="SEC76" HREF="gettext_toc.html#TOC76">11.4  Files You Must Create or Alter</A></H2>
-
 <P>
-Besides files which are automatically added through <CODE>gettextize</CODE>,
-there are many files needing revision for properly interacting with
-GNU <CODE>gettext</CODE>.  If you are closely following GNU standards for
-Makefile engineering and auto-configuration, the adaptations should
-be easier to achieve.  Here is a point by point description of the
-changes needed in each.
+This is surely not a technical issue, but we should manage so the
+effort of locale contributors be maximally useful, despite the national
+team layer interface between contributors and maintainers.
 
 </P>
 <P>
-So, here comes a list of files, each one followed by a description of
-all alterations it needs.  Many examples are taken out from the GNU
-<CODE>gettext</CODE> 0.10.37 distribution itself.  You may indeed
-refer to the source code of the GNU <CODE>gettext</CODE> package, as it
-is intended to be a good example and master implementation for using
-its own functionality.
+The Translation Project needs some setup for coordinating language
+coordinators.  Localizing evolving programs will surely
+become a permanent and continuous activity in the free software community,
+once well started.
+The setup should be minimally completed and tested before GNU
+<CODE>gettext</CODE> becomes an official reality.  The e-mail address
+<TT>`translation@iro.umontreal.ca&acute;</TT> has been setup for receiving
+offers from volunteers and general e-mail on these topics.  This address
+reaches the Translation Project coordinator.
 
 </P>
 
 
 
-<H3><A NAME="SEC77" HREF="gettext_toc.html#TOC77">11.4.1  <TT>`POTFILES.in'</TT> in <TT>`po/'</TT></A></H3>
+<H3><A NAME="SEC160" HREF="gettext_toc.html#TOC160">11.4.1  Central Coordination</A></H3>
 
 <P>
-The <TT>`po/'</TT> directory should receive a file named
-<TT>`POTFILES.in'</TT>.  This file tells which files, among all program
-sources, have marked strings needing translation.  Here is an example
-of such a file:
+I also think GNU will need sooner than it thinks, that someone setup
+a way to organize and coordinate these groups.  Some kind of group
+of groups.  My opinion is that it would be good that GNU delegates
+this task to a small group of collaborating volunteers, shortly.
+Perhaps in <TT>`gnu.announce&acute;</TT> a list of this national committee's
+can be published.
 
 </P>
-
-<PRE>
-# List of source files containing translatable strings.
-# Copyright (C) 1995 Free Software Foundation, Inc.
-
-# Common library files
-lib/error.c
-lib/getopt.c
-lib/xmalloc.c
-
-# Package source files
-src/gettext.c
-src/msgfmt.c
-src/xgettext.c
-</PRE>
-
 <P>
-Hash-marked comments and white lines are ignored.  All other lines
-list those source files containing strings marked for translation
-(see section <A HREF="gettext_3.html#SEC15">3.2  How Marks Appear in Sources</A>), in a notation relative to the top level
-of your whole distribution, rather than the location of the
-<TT>`POTFILES.in'</TT> file itself.
+My role as coordinator would simply be to refer to Ulrich any German
+speaking volunteer interested to localization of free software packages, and
+maybe helping national groups to initially organize, while maintaining
+national registries for until national groups are ready to take over.
+In fact, the coordinator should ease volunteers to get in contact with
+one another for creating national teams, which should then select
+one coordinator per language, or country (regionalized language).
+If well done, the coordination should be useful without being an
+overwhelming task, the time to put delegations in place.
 
 </P>
 
 
-<H3><A NAME="SEC78" HREF="gettext_toc.html#TOC78">11.4.2  <TT>`configure.in'</TT> at top level</A></H3>
-
-
-<OL>
-<LI>Declare the package and version.
-
-This is done by a set of lines like these:
-
-
-<PRE>
-PACKAGE=gettext
-VERSION=0.10.37
-AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
-AC_DEFINE_UNQUOTED(VERSION, "$VERSION")
-AC_SUBST(PACKAGE)
-AC_SUBST(VERSION)
-</PRE>
-
-Of course, you replace <SAMP>`gettext'</SAMP> with the name of your package,
-and <SAMP>`0.10.37'</SAMP> by its version numbers, exactly as they
-should appear in the packaged <CODE>tar</CODE> file name of your distribution
-(<TT>`gettext-0.10.37.tar.gz'</TT>, here).
-
-<LI>Declare the available translations.
-
-This is done by defining <CODE>ALL_LINGUAS</CODE> to the white separated,
-quoted list of available languages, in a single line, like this:
-
-
-<PRE>
-ALL_LINGUAS="de fr"
-</PRE>
-
-This example means that German and French PO files are available, so
-that these languages are currently supported by your package.  If you
-want to further restrict, at installation time, the set of installed
-languages, this should not be done by modifying <CODE>ALL_LINGUAS</CODE> in
-<TT>`configure.in'</TT>, but rather by using the <CODE>LINGUAS</CODE> environment
-variable (see section <A HREF="gettext_8.html#SEC39">8.2  Magic for Installers</A>).
-
-<LI>Check for internationalization support.
-
-Here is the main <CODE>m4</CODE> macro for triggering internationalization
-support.  Just add this line to <TT>`configure.in'</TT>:
-
-
-<PRE>
-AM_GNU_GETTEXT
-</PRE>
-
-This call is purposely simple, even if it generates a lot of configure
-time checking and actions.
-
-<LI>Have output files created.
-
-The <CODE>AC_OUTPUT</CODE> directive, at the end of your <TT>`configure.in'</TT>
-file, needs to be modified in two ways:
-
-
-<PRE>
-AC_OUTPUT([<VAR>existing configuration files</VAR> intl/Makefile po/Makefile.in],
-<VAR>existing additional actions</VAR>])
-</PRE>
-
-The modification to the first argument to <CODE>AC_OUTPUT</CODE> asks
-for substitution in the <TT>`intl/'</TT> and <TT>`po/'</TT> directories.
-Note the <SAMP>`.in'</SAMP> suffix used for <TT>`po/'</TT> only.  This is because
-the distributed file is really <TT>`po/Makefile.in.in'</TT>.
-
-</OL>
-
-
-
-<H3><A NAME="SEC79" HREF="gettext_toc.html#TOC79">11.4.3  <TT>`config.guess'</TT>, <TT>`config.sub'</TT> at top level</A></H3>
+<H3><A NAME="SEC161" HREF="gettext_toc.html#TOC161">11.4.2  National Teams</A></H3>
 
 <P>
-You need to add the GNU <TT>`config.guess'</TT> and <TT>`config.sub'</TT> files
-to your distribution.  They are needed because the <TT>`intl/'</TT> directory
-has platform dependent support for determining the locale's character
-encoding and therefore needs to identify the platform.
+I suggest we look for volunteer coordinators/editors for individual
+languages.  These people will scan contributions of translation files
+for various programs, for their own languages, and will ensure high
+and uniform standards of diction.
 
 </P>
 <P>
-You can obtain the newest version of <TT>`config.guess'</TT> and
-<TT>`config.sub'</TT> from <TT>`ftp://ftp.gnu.org/pub/gnu/config/'</TT>.
-Less recent versions are also contained in the GNU <CODE>automake</CODE> and
-GNU <CODE>libtool</CODE> packages.
+From my current experience with other people in these days, those who
+provide localizations are very enthusiastic about the process, and are
+more interested in the localization process than in the program they
+localize, and want to do many programs, not just one.  This seems
+to confirm that having a coordinator/editor for each language is a
+good idea.
 
 </P>
 <P>
-Normally, <TT>`config.guess'</TT> and <TT>`config.sub'</TT> are put at the
-top level of a distribution.  But it is also possible to put them in a
-subdirectory, altogether with other configuration support files like
-<TT>`install-sh'</TT>, <TT>`ltconfig'</TT>, <TT>`ltmain.sh'</TT>,
-<TT>`mkinstalldirs'</TT> or <TT>`missing'</TT>.  All you need to do, other than
-moving the files, is to add the following line to your
-<TT>`configure.in'</TT>.
+We need to choose someone who is good at writing clear and concise
+prose in the language in question.  That is hard--we can't check
+it ourselves.  So we need to ask a few people to judge each others'
+writing and select the one who is best.
 
 </P>
-
-<PRE>
-AC_CONFIG_AUX_DIR([<VAR>subdir</VAR>])
-</PRE>
-
-
-
-<H3><A NAME="SEC80" HREF="gettext_toc.html#TOC80">11.4.4  <TT>`aclocal.m4'</TT> at top level</A></H3>
-
 <P>
-If you do not have an <TT>`aclocal.m4'</TT> file in your distribution,
-the simplest is to concatenate the files <TT>`codeset.m4'</TT>,
-<TT>`gettext.m4'</TT>, <TT>`iconv.m4'</TT>, <TT>`isc-posix.m4'</TT>,
-<TT>`lcmessage.m4'</TT>, <TT>`progtest.m4'</TT> from GNU <CODE>gettext</CODE>'s
-<TT>`m4/'</TT> directory into a single file.
+I announce my prerelease to a few dozen people, and you would not
+believe all the discussions it generated already.  I shudder to think
+what will happen when this will be launched, for true, officially,
+world wide.  Who am I to arbitrate between two Czekolsovak users
+contradicting each other, for example?
 
 </P>
 <P>
-If you already have an <TT>`aclocal.m4'</TT> file, then you will have
-to merge the said macro files into your <TT>`aclocal.m4'</TT>.  Note that if
-you are upgrading from a previous release of GNU <CODE>gettext</CODE>, you
-should most probably <EM>replace</EM> the macros (<CODE>AM_GNU_GETTEXT</CODE>,
-<CODE>AM_WITH_NLS</CODE>, etc.), as they usually
-change a little from one release of GNU <CODE>gettext</CODE> to the next.
-Their contents may vary as we get more experience with strange systems
-out there.
+I assume that your German is not much better than my French so that
+I would not be able to judge about these formulations.  What I would
+suggest is that for each language there is a group for people who
+maintain the PO files and judge about changes.  I suspect there will
+be cultural differences between how such groups of people will behave.
+Some will have relaxed ways, reach consensus easily, and have anyone
+of the group relate to the maintainers, while others will fight to
+death, organize heavy administrations up to national standards, and
+use strict channels.
 
 </P>
 <P>
-These macros check for the internationalization support functions
-and related informations.  Hopefully, once stabilized, these macros
-might be integrated in the standard Autoconf set, because this
-piece of <CODE>m4</CODE> code will be the same for all projects using GNU
-<CODE>gettext</CODE>.
+The German team is putting out a good example.  Right now, they are
+maybe half a dozen people revising translations of each other and
+discussing the linguistic issues.  I do not even have all the names.
+Ulrich Drepper is taking care of coordinating the German team.
+He subscribed to all my pretest lists, so I do not even have to warn
+him specifically of incoming releases.
 
 </P>
-
-
-<H3><A NAME="SEC81" HREF="gettext_toc.html#TOC81">11.4.5  <TT>`acconfig.h'</TT> at top level</A></H3>
-
 <P>
-Earlier GNU <CODE>gettext</CODE> releases required to put definitions for
-<CODE>ENABLE_NLS</CODE>, <CODE>HAVE_GETTEXT</CODE> and <CODE>HAVE_LC_MESSAGES</CODE>,
-<CODE>HAVE_STPCPY</CODE>, <CODE>PACKAGE</CODE> and <CODE>VERSION</CODE> into an
-<TT>`acconfig.h'</TT> file.  This is not needed any more; you can remove
-them from your <TT>`acconfig.h'</TT> file unless your package uses them
-independently from the <TT>`intl/'</TT> directory.
+I'm sure, that is a good idea to get teams for each language working
+on translations. That will make the translations better and more
+consistent.
 
 </P>
 
 
-<H3><A NAME="SEC82" HREF="gettext_toc.html#TOC82">11.4.6  <TT>`Makefile.in'</TT> at top level</A></H3>
+
+<H4><A NAME="SEC162" HREF="gettext_toc.html#TOC162">11.4.2.1  Sub-Cultures</A></H4>
 
 <P>
-Here are a few modifications you need to make to your main, top-level
-<TT>`Makefile.in'</TT> file.
+Taking French for example, there are a few sub-cultures around computers
+which developed diverging vocabularies.  Picking volunteers here and
+there without addressing this problem in an organized way, soon in the
+project, might produce a distasteful mix of internationalized programs,
+and possibly trigger endless quarrels among those who really care.
 
 </P>
+<P>
+Keeping some kind of unity in the way French localization of
+internationalized programs is achieved is a difficult (and delicate) job.
+Knowing the latin character of French people (:-), if we take this
+the wrong way, we could end up nowhere, or spoil a lot of energies.
+Maybe we should begin to address this problem seriously <EM>before</EM>
+GNU <CODE>gettext</CODE> become officially published.  And I suspect that this
+means soon!
 
-<OL>
-<LI>
-
-Add the following lines near the beginning of your <TT>`Makefile.in'</TT>,
-so the <SAMP>`dist:'</SAMP> goal will work properly (as explained further down):
-
-
-<PRE>
-PACKAGE = @PACKAGE@
-VERSION = @VERSION@
-</PRE>
-
-<LI>
-
-Add file <TT>`ABOUT-NLS'</TT> to the <CODE>DISTFILES</CODE> definition, so the file gets
-distributed.
-
-<LI>
-
-Wherever you process subdirectories in your <TT>`Makefile.in'</TT>, be sure
-you also process dir subdirectories <SAMP>`intl'</SAMP> and <SAMP>`po'</SAMP>.  Special
-rules in the <TT>`Makefiles'</TT> take care for the case where no
-internationalization is wanted.
-
-If you are using Makefiles, either generated by automake, or hand-written
-so they carefully follow the GNU coding standards, the effected goals for
-which the new subdirectories must be handled include <SAMP>`installdirs'</SAMP>,
-<SAMP>`install'</SAMP>, <SAMP>`uninstall'</SAMP>, <SAMP>`clean'</SAMP>, <SAMP>`distclean'</SAMP>.
-
-Here is an example of a canonical order of processing.  In this
-example, we also define <CODE>SUBDIRS</CODE> in <CODE>Makefile.in</CODE> for it
-to be further used in the <SAMP>`dist:'</SAMP> goal.
-
-
-<PRE>
-SUBDIRS = doc intl lib src @POSUB@
-</PRE>
-
-Note that you must arrange for <SAMP>`make'</SAMP> to descend into the
-<CODE>intl</CODE> directory before descending into other directories containing
-code which make use of the <CODE>libintl.h</CODE> header file.  For this
-reason, here we mention <CODE>intl</CODE> before <CODE>lib</CODE> and <CODE>src</CODE>.
-
-that you will have to adapt to your own package.
-
-<LI>
-
-A delicate point is the <SAMP>`dist:'</SAMP> goal, as both
-<TT>`intl/Makefile'</TT> and <TT>`po/Makefile'</TT> will later assume that the
-proper directory has been set up from the main <TT>`Makefile'</TT>.  Here is
-an example at what the <SAMP>`dist:'</SAMP> goal might look like:
-
-
-<PRE>
-distdir = $(PACKAGE)-$(VERSION)
-dist: Makefile
-       rm -fr $(distdir)
-       mkdir $(distdir)
-       chmod 777 $(distdir)
-       for file in $(DISTFILES); do \
-         ln $$file $(distdir) 2&#62;/dev/null || cp -p $$file $(distdir); \
-       done
-       for subdir in $(SUBDIRS); do \
-         mkdir $(distdir)/$$subdir || exit 1; \
-         chmod 777 $(distdir)/$$subdir; \
-         (cd $$subdir &#38;&#38; $(MAKE) $@) || exit 1; \
-       done
-       tar chozf $(distdir).tar.gz $(distdir)
-       rm -fr $(distdir)
-</PRE>
-
-</OL>
-
+</P>
 
 
-<H3><A NAME="SEC83" HREF="gettext_toc.html#TOC83">11.4.7  <TT>`Makefile.in'</TT> in <TT>`src/'</TT></A></H3>
+<H4><A NAME="SEC163" HREF="gettext_toc.html#TOC163">11.4.2.2  Organizational Ideas</A></H4>
 
 <P>
-Some of the modifications made in the main <TT>`Makefile.in'</TT> will
-also be needed in the <TT>`Makefile.in'</TT> from your package sources,
-which we assume here to be in the <TT>`src/'</TT> subdirectory.  Here are
-all the modifications needed in <TT>`src/Makefile.in'</TT>:
+I expect the next big changes after the official release.  Please note
+that I use the German translation of the short GPL message.  We need
+to set a few good examples before the localization goes out for true
+in the free software community.  Here are a few points to discuss:
 
 </P>
 
-<OL>
+<UL>
 <LI>
 
-In view of the <SAMP>`dist:'</SAMP> goal, you should have these lines near the
-beginning of <TT>`src/Makefile.in'</TT>:
-
-
-<PRE>
-PACKAGE = @PACKAGE@
-VERSION = @VERSION@
-</PRE>
+Each group should have one FTP server (at least one master).
 
 <LI>
 
-If not done already, you should guarantee that <CODE>top_srcdir</CODE>
-gets defined.  This will serve for <CODE>cpp</CODE> include files.  Just add
-the line:
+The files on the server should reflect the latest version (of
+course!) and it should also contain a RCS directory with the
+corresponding archives (I don't have this now).
 
+<LI>
 
-<PRE>
-top_srcdir = @top_srcdir@
-</PRE>
+There should also be a ChangeLog file (this is more useful than the
+RCS archive but can be generated automatically from the later by
+Emacs).
 
 <LI>
 
-You might also want to define <CODE>subdir</CODE> as <SAMP>`src'</SAMP>, later
-allowing for almost uniform <SAMP>`dist:'</SAMP> goals in all your
-<TT>`Makefile.in'</TT>.  At list, the <SAMP>`dist:'</SAMP> goal below assume that
-you used:
+A <EM>core group</EM> should judge about questionable changes (for now
+this group consists solely by me but I ask some others occasionally;
+this also seems to work).
 
+</UL>
 
-<PRE>
-subdir = src
-</PRE>
-
-<LI>
-
-The <CODE>main</CODE> function of your program will normally call
-<CODE>bindtextdomain</CODE> (see see section <A HREF="gettext_3.html#SEC14">3.1  Triggering <CODE>gettext</CODE> Operations</A>), like this:
 
 
-<PRE>
-bindtextdomain (<VAR>PACKAGE</VAR>, LOCALEDIR);
-</PRE>
+<H3><A NAME="SEC164" HREF="gettext_toc.html#TOC164">11.4.3  Mailing Lists</A></H3>
 
-To make LOCALEDIR known to the program, add the following lines to
-Makefile.in:
+<P>
+If we get any inquiries about GNU <CODE>gettext</CODE>, send them on to:
 
+</P>
 
 <PRE>
-datadir = @datadir@
-localedir = $(datadir)/locale
-DEFS = -DLOCALEDIR=\"$(localedir)\" @DEFS@
+<TT>`translation@iro.umontreal.ca&acute;</TT>
 </PRE>
 
-Note that <CODE>@datadir@</CODE> defaults to <SAMP>`$(prefix)/share'</SAMP>, thus
-<CODE>$(localedir)</CODE> defaults to <SAMP>`$(prefix)/share/locale'</SAMP>.
-
-<LI>
-
-You should ensure that the final linking will use <CODE>@INTLLIBS@</CODE> as
-a library.  An easy way to achieve this is to manage that it gets into
-<CODE>LIBS</CODE>, like this:
+<P>
+The <TT>`*-pretest&acute;</TT> lists are quite useful to me, maybe the idea could
+be generalized to many GNU, and non-GNU packages.  But each maintainer
+his/her way!
 
+</P>
+<P>
+Fran&ccedil;ois, we have a mechanism in place here at
+<TT>`gnu.ai.mit.edu&acute;</TT> to track teams, support mailing lists for
+them and log members.  We have a slight preference that you use it.
+If this is OK with you, I can get you clued in.
 
-<PRE>
-LIBS = @INTLLIBS@ @LIBS@
-</PRE>
+</P>
+<P>
+Things are changing!  A few years ago, when Daniel Fekete and I
+asked for a mailing list for GNU localization, nested at the FSF, we
+were politely invited to organize it anywhere else, and so did we.
+For communicating with my pretesters, I later made a handful of
+mailing lists located at iro.umontreal.ca and administrated by
+<CODE>majordomo</CODE>.  These lists have been <EM>very</EM> dependable
+so far...
 
-In most packages internationalized with GNU <CODE>gettext</CODE>, one will
-find a directory <TT>`lib/'</TT> in which a library containing some helper
-functions will be build.  (You need at least the few functions which the
-GNU <CODE>gettext</CODE> Library itself needs.)  However some of the functions
-in the <TT>`lib/'</TT> also give messages to the user which of course should be
-translated, too.  Taking care of this it is not enough to place the support
-library (say <TT>`libsupport.a'</TT>) just between the <CODE>@INTLLIBS@</CODE>
-and <CODE>@LIBS@</CODE> in the above example.  Instead one has to write this:
+</P>
+<P>
+I suspect that the German team will organize itself a mailing list
+located in Germany, and so forth for other countries.  But before they
+organize for true, it could surely be useful to offer mailing lists
+located at the FSF to each national team.  So yes, please explain me
+how I should proceed to create and handle them.
 
+</P>
+<P>
+We should create temporary mailing lists, one per country, to help
+people organize.  Temporary, because once regrouped and structured, it
+would be fair the volunteers from country bring back <EM>their</EM> list
+in there and manage it as they want.  My feeling is that, in the long
+run, each team should run its own list, from within their country.
+There also should be some central list to which all teams could
+subscribe as they see fit, as long as each team is represented in it.
 
-<PRE>
-LIBS = ../lib/libsupport.a @INTLLIBS@ ../lib/libsupport.a @LIBS@
-</PRE>
+</P>
 
-<LI>
 
-You should also ensure that directory <TT>`intl/'</TT> will be searched for
-C preprocessor include files in all circumstances.  So, you have to
-manage so both <SAMP>`-I../intl'</SAMP> and <SAMP>`-I$(top_srcdir)/intl'</SAMP> will
-be given to the C compiler.
+<H2><A NAME="SEC165" HREF="gettext_toc.html#TOC165">11.5  Information Flow</A></H2>
 
-<LI>
+<P>
+There will surely be some discussion about this messages after the
+packages are finally released.  If people now send you some proposals
+for better messages, how do you proceed?  Jim, please note that
+right now, as I put forward nearly a dozen of localizable programs, I
+receive both the translations and the coordination concerns about them.
 
-Your <SAMP>`dist:'</SAMP> goal has to conform with others.  Here is a
-reasonable definition for it:
+</P>
+<P>
+If I put one of my things to pretest, Ulrich receives the announcement
+and passes it on to the German team, who make last minute revisions.
+Then he submits the translation files to me <EM>as the maintainer</EM>.
+For free packages I do not maintain, I would not even hear about it.
+This scheme could be made to work for the whole Translation Project,
+I think.  For security reasons, maybe Ulrich (national coordinators,
+in fact) should update central registry kept at the Translation Project
+(Jim, me, or Len's recruits) once in a while.
 
+</P>
+<P>
+In December/January, I was aggressively ready to internationalize
+all of GNU, giving myself the duty of one small GNU package per week
+or so, taking many weeks or months for bigger packages.  But it does
+not work this way.  I first did all the things I'm responsible for.
+I've nothing against some missionary work on other maintainers, but
+I'm also loosing a lot of energy over it--same debates over again.
 
-<PRE>
-distdir = ../$(PACKAGE)-$(VERSION)/$(subdir)
-dist: Makefile $(DISTFILES)
-       for file in $(DISTFILES); do \
-         ln $$file $(distdir) 2&#62;/dev/null || cp -p $$file $(distdir); \
-       done
-</PRE>
+</P>
+<P>
+And when the first localized packages are released we'll get a lot of
+responses about ugly translations :-).  Surely, and we need to have
+beforehand a fairly good idea about how to handle the information
+flow between the national teams and the package maintainers.
 
-</OL>
+</P>
+<P>
+Please start saving somewhere a quick history of each PO file.  I know
+for sure that the file format will change, allowing for comments.
+It would be nice that each file has a kind of log, and references for
+those who want to submit comments or gripes, or otherwise contribute.
+I sent a proposal for a fast and flexible format, but it is not
+receiving acceptance yet by the GNU deciders.  I'll tell you when I
+have more information about this.
 
+</P>
 <P><HR><P>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_10.html">previous</A>, <A HREF="gettext_12.html">next</A>, <A HREF="gettext_14.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
+Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_10.html">previous</A>, <A HREF="gettext_12.html">next</A>, <A HREF="gettext_16.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
 </BODY>
 </HTML>
index e0698390854c00d284afd2d765cf48c85ee08e5e..79e900b9710857617e1e31895b0f612029e771f5 100644 (file)
 <HTML>
 <HEAD>
-<!-- This HTML file has been created by texi2html 1.51
-     from gettext.texi on 19 April 2001 -->
+<!-- This HTML file has been created by texi2html 1.52a
+     from gettext.texi on 30 November 2001 -->
 
-<TITLE>GNU gettext utilities - 12  Concluding Remarks</TITLE>
+<TITLE>GNU gettext utilities - 12  The Maintainer's View</TITLE>
 </HEAD>
 <BODY>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_11.html">previous</A>, <A HREF="gettext_13.html">next</A>, <A HREF="gettext_14.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
+Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_11.html">previous</A>, <A HREF="gettext_13.html">next</A>, <A HREF="gettext_16.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
 <P><HR><P>
 
 
-<H1><A NAME="SEC84" HREF="gettext_toc.html#TOC84">12  Concluding Remarks</A></H1>
+<H1><A NAME="SEC166" HREF="gettext_toc.html#TOC166">12  The Maintainer's View</A></H1>
 
 <P>
-We would like to conclude this GNU <CODE>gettext</CODE> manual by presenting
-an history of the Translation Project so far.  We finally give
-a few pointers for those who want to do further research or readings
-about Native Language Support matters.
+The maintainer of a package has many responsibilities.  One of them
+is ensuring that the package will install easily on many platforms,
+and that the magic we described earlier (see section <A HREF="gettext_9.html#SEC131">9  The User's View</A>) will work
+for installers and end users.
 
 </P>
+<P>
+Of course, there are many possible ways by which GNU <CODE>gettext</CODE>
+might be integrated in a distribution, and this chapter does not cover
+them in all generality.  Instead, it details one possible approach which
+is especially adequate for many free software distributions following GNU
+standards, or even better, Gnits standards, because GNU <CODE>gettext</CODE>
+is purposely for helping the internationalization of the whole GNU
+project, and as many other good free packages as possible.  So, the
+maintainer's view presented here presumes that the package already has
+a <TT>`configure.in&acute;</TT> file and uses GNU Autoconf.
+
+</P>
+<P>
+Nevertheless, GNU <CODE>gettext</CODE> may surely be useful for free packages
+not following GNU standards and conventions, but the maintainers of such
+packages might have to show imagination and initiative in organizing
+their distributions so <CODE>gettext</CODE> work for them in all situations.
+There are surely many, out there.
+
+</P>
+<P>
+Even if <CODE>gettext</CODE> methods are now stabilizing, slight adjustments
+might be needed between successive <CODE>gettext</CODE> versions, so you
+should ideally revise this chapter in subsequent releases, looking
+for changes.
+
+</P>
+
+
+
+<H2><A NAME="SEC167" HREF="gettext_toc.html#TOC167">12.1  Flat or Non-Flat Directory Structures</A></H2>
+
+<P>
+Some free software packages are distributed as <CODE>tar</CODE> files which unpack
+in a single directory, these are said to be <EM>flat</EM> distributions.
+Other free software packages have a one level hierarchy of subdirectories, using
+for example a subdirectory named <TT>`doc/&acute;</TT> for the Texinfo manual and
+man pages, another called <TT>`lib/&acute;</TT> for holding functions meant to
+replace or complement C libraries, and a subdirectory <TT>`src/&acute;</TT> for
+holding the proper sources for the package.  These other distributions
+are said to be <EM>non-flat</EM>.
+
+</P>
+<P>
+We cannot say much about flat distributions.  A flat
+directory structure has the disadvantage of increasing the difficulty
+of updating to a new version of GNU <CODE>gettext</CODE>.  Also, if you have
+many PO files, this could somewhat pollute your single directory.
+Also, GNU <CODE>gettext</CODE>'s libintl sources consist of C sources, shell
+scripts, <CODE>sed</CODE> scripts and complicated Makefile rules, which don't
+fit well into an existing flat structure.  For these reasons, we
+recommend to use non-flat approach in this case as well.
+
+</P>
+<P>
+Maybe because GNU <CODE>gettext</CODE> itself has a non-flat structure,
+we have more experience with this approach, and this is what will be
+described in the remaining of this chapter.  Some maintainers might
+use this as an opportunity to unflatten their package structure.
+
+</P>
+
+
+<H2><A NAME="SEC168" HREF="gettext_toc.html#TOC168">12.2  Prerequisite Works</A></H2>
+
+<P>
+There are some works which are required for using GNU <CODE>gettext</CODE>
+in one of your package.  These works have some kind of generality
+that escape the point by point descriptions used in the remainder
+of this chapter.  So, we describe them here.
+
+</P>
+
+<UL>
+<LI>
+
+Before attempting to use <CODE>gettextize</CODE> you should install some
+other packages first.
+Ensure that recent versions of GNU <CODE>m4</CODE>, GNU Autoconf and GNU
+<CODE>gettext</CODE> are already installed at your site, and if not, proceed
+to do this first.  If you got to install these things, beware that
+GNU <CODE>m4</CODE> must be fully installed before GNU Autoconf is even
+<EM>configured</EM>.
 
+To further ease the task of a package maintainer the <CODE>automake</CODE>
+package was designed and implemented.  GNU <CODE>gettext</CODE> now uses this
+tool and the <TT>`Makefile&acute;</TT>s in the <TT>`intl/&acute;</TT> and <TT>`po/&acute;</TT>
+therefore know about all the goals necessary for using <CODE>automake</CODE>
+and <TT>`libintl&acute;</TT> in one project.
 
+Those four packages are only needed to you, as a maintainer; the
+installers of your own package and end users do not really need any of
+GNU <CODE>m4</CODE>, GNU Autoconf, GNU <CODE>gettext</CODE>, or GNU <CODE>automake</CODE>
+for successfully installing and running your package, with messages
+properly translated.  But this is not completely true if you provide
+internationalized shell scripts within your own package: GNU
+<CODE>gettext</CODE> shall then be installed at the user site if the end users
+want to see the translation of shell script messages.
 
-<H2><A NAME="SEC85" HREF="gettext_toc.html#TOC85">12.1  History of GNU <CODE>gettext</CODE></A></H2>
+<LI>
+
+Your package should use Autoconf and have a <TT>`configure.in&acute;</TT> or
+<TT>`configure.ac&acute;</TT> file.
+If it does not, you have to learn how.  The Autoconf documentation
+is quite well written, it is a good idea that you print it and get
+familiar with it.
+
+<LI>
+
+Your C sources should have already been modified according to
+instructions given earlier in this manual.  See section <A HREF="gettext_3.html#SEC13">3  Preparing Program Sources</A>.
+
+<LI>
+
+Your <TT>`po/&acute;</TT> directory should receive all PO files submitted to you
+by the translator teams, each having <TT>`<VAR>ll</VAR>.po&acute;</TT> as a name.
+This is not usually easy to get translation
+work done before your package gets internationalized and available!
+Since the cycle has to start somewhere, the easiest for the maintainer
+is to start with absolutely no PO files, and wait until various
+translator teams get interested in your package, and submit PO files.
+
+</UL>
+
+<P>
+It is worth adding here a few words about how the maintainer should
+ideally behave with PO files submissions.  As a maintainer, your role is
+to authentify the origin of the submission as being the representative
+of the appropriate translating teams of the Translation Project (forward
+the submission to <TT>`translation@iro.umontreal.ca&acute;</TT> in case of doubt),
+to ensure that the PO file format is not severely broken and does not
+prevent successful installation, and for the rest, to merely to put these
+PO files in <TT>`po/&acute;</TT> for distribution.
+
+</P>
+<P>
+As a maintainer, you do not have to take on your shoulders the
+responsibility of checking if the translations are adequate or
+complete, and should avoid diving into linguistic matters.  Translation
+teams drive themselves and are fully responsible of their linguistic
+choices for the Translation Project.  Keep in mind that translator teams are <EM>not</EM>
+driven by maintainers.  You can help by carefully redirecting all
+communications and reports from users about linguistic matters to the
+appropriate translation team, or explain users how to reach or join
+their team.  The simplest might be to send them the <TT>`ABOUT-NLS&acute;</TT> file.
+
+</P>
+<P>
+Maintainers should <EM>never ever</EM> apply PO file bug reports
+themselves, short-cutting translation teams.  If some translator has
+difficulty to get some of her points through her team, it should not be
+an issue for her to directly negotiate translations with maintainers.
+Teams ought to settle their problems themselves, if any.  If you, as
+a maintainer, ever think there is a real problem with a team, please
+never try to <EM>solve</EM> a team's problem on your own.
+
+</P>
+
+
+<H2><A NAME="SEC169" HREF="gettext_toc.html#TOC169">12.3  Invoking the <CODE>gettextize</CODE> Program</A></H2>
 
 <P>
-Internationalization concerns and algorithms have been informally
-and casually discussed for years in GNU, sometimes around GNU
-<CODE>libc</CODE>, maybe around the incoming <CODE>Hurd</CODE>, or otherwise
-(nobody clearly remembers).  And even then, when the work started for
-real, this was somewhat independently of these previous discussions.
+Some files are consistently and identically needed in every package
+internationalized through GNU <CODE>gettext</CODE>.  As a matter of
+convenience, the <CODE>gettextize</CODE> program puts all these files right
+in your package.  This program has the following synopsis:
 
 </P>
+
+<PRE>
+gettextize [ <VAR>option</VAR>... ] [ <VAR>directory</VAR> ]
+</PRE>
+
+<P>
+and accepts the following options:
+
+</P>
+<DL COMPACT>
+
+<DT><SAMP>`-c&acute;</SAMP>
+<DD>
+<DT><SAMP>`--copy&acute;</SAMP>
+<DD>
+Copy the needed files instead of making symbolic links.  Using links
+would allow the package to always use the latest <CODE>gettext</CODE> code
+available on the system, but it might disturb some mechanism the
+maintainer is used to apply to the sources.  Because running
+<CODE>gettextize</CODE> is easy there shouldn't be problems with using copies.
+
+<DT><SAMP>`-f&acute;</SAMP>
+<DD>
+<DT><SAMP>`--force&acute;</SAMP>
+<DD>
+Force replacement of files which already exist.
+
+<DT><SAMP>`--intl&acute;</SAMP>
+<DD>
+Install the libintl sources in a subdirectory named <TT>`intl/&acute;</TT>.
+This libintl will be used to provide internationalization on systems
+that don't have GNU libintl installed. If this option is omitted,
+the call to <CODE>AM_GNU_GETTEXT</CODE> in <TT>`configure.in&acute;</TT> should read:
+<SAMP>`AM_GNU_GETTEXT([external])&acute;</SAMP>, and internationalization will not
+be enabled on systems lacking GNU gettext.
+
+<DT><SAMP>`-h&acute;</SAMP>
+<DD>
+<DT><SAMP>`--help&acute;</SAMP>
+<DD>
+Display this help and exit.
+
+<DT><SAMP>`--version&acute;</SAMP>
+<DD>
+Output version information and exit.
+
+</DL>
+
 <P>
-This all began in July 1994, when Patrick D'Cruze had the idea and
-initiative of internationalizing version 3.9.2 of GNU <CODE>fileutils</CODE>.
-He then asked Jim Meyering, the maintainer, how to get those changes
-folded into an official release.  That first draft was full of
-<CODE>#ifdef</CODE>s and somewhat disconcerting, and Jim wanted to find
-nicer ways.  Patrick and Jim shared some tries and experimentations
-in this area.  Then, feeling that this might eventually have a deeper
-impact on GNU, Jim wanted to know what standards were, and contacted
-Richard Stallman, who very quickly and verbally described an overall
-design for what was meant to become <CODE>glocale</CODE>, at that time.
+If <VAR>directory</VAR> is given, this is the top level directory of a
+package to prepare for using GNU <CODE>gettext</CODE>.  If not given, it
+is assumed that the current directory is the top level directory of
+such a package.
 
 </P>
 <P>
-Jim implemented <CODE>glocale</CODE> and got a lot of exhausting feedback
-from Patrick and Richard, of course, but also from Mitchum DSouza
-(who wrote a <CODE>catgets</CODE>-like package), Roland McGrath, maybe David
-MacKenzie, Fran@,{c}ois Pinard, and Paul Eggert, all pushing and
-pulling in various directions, not always compatible, to the extent
-that after a couple of test releases, <CODE>glocale</CODE> was torn apart.
+The program <CODE>gettextize</CODE> provides the following files.  However,
+no existing file will be replaced unless the option <CODE>--force</CODE>
+(<CODE>-f</CODE>) is specified.
 
 </P>
+
+<OL>
+<LI>
+
+The <TT>`ABOUT-NLS&acute;</TT> file is copied in the main directory of your package,
+the one being at the top level.  This file gives the main indications
+about how to install and use the Native Language Support features
+of your program.  You might elect to use a more recent copy of this
+<TT>`ABOUT-NLS&acute;</TT> file than the one provided through <CODE>gettextize</CODE>,
+if you have one handy.  You may also fetch a more recent copy of file
+<TT>`ABOUT-NLS&acute;</TT> from Translation Project sites, and from most GNU
+archive sites.
+
+<LI>
+
+A <TT>`po/&acute;</TT> directory is created for eventually holding
+all translation files, but initially only containing the file
+<TT>`po/Makefile.in.in&acute;</TT> from the GNU <CODE>gettext</CODE> distribution.
+(beware the double <SAMP>`.in&acute;</SAMP> in the file name) and a few auxiliary
+files. If the <TT>`po/&acute;</TT> directory already exists, it will be preserved
+along with the files it contains, and only <TT>`Makefile.in.in&acute;</TT> and
+the auxiliary files will be overwritten.
+
+<LI>
+
+Only of <SAMP>`--intl&acute;</SAMP> has been specified:
+A <TT>`intl/&acute;</TT> directory is created and filled with most of the files
+originally in the <TT>`intl/&acute;</TT> directory of the GNU <CODE>gettext</CODE>
+distribution.  Also, if option <CODE>--force</CODE> (<CODE>-f</CODE>) is given,
+the <TT>`intl/&acute;</TT> directory is emptied first.
+
+</OL>
+
 <P>
-While Jim took some distance and time and became dad for a second
-time, Roland wanted to get GNU <CODE>libc</CODE> internationalized, and
-got Ulrich Drepper involved in that project.  Instead of starting
-from <CODE>glocale</CODE>, Ulrich rewrote something from scratch, but
-more conformant to the set of guidelines who emerged out of the
-<CODE>glocale</CODE> effort.  Then, Ulrich got people from the previous
-forum to involve themselves into this new project, and the switch
-from <CODE>glocale</CODE> to what was first named <CODE>msgutils</CODE>, renamed
-<CODE>nlsutils</CODE>, and later <CODE>gettext</CODE>, became officially accepted
-by Richard in May 1995 or so.
+If your site support symbolic links, <CODE>gettextize</CODE> will not
+actually copy the files into your package, but establish symbolic
+links instead.  This avoids duplicating the disk space needed in
+all packages.  Merely using the <SAMP>`-h&acute;</SAMP> option while creating the
+<CODE>tar</CODE> archive of your distribution will resolve each link by an
+actual copy in the distribution archive.  So, to insist, you really
+should use <SAMP>`-h&acute;</SAMP> option with <CODE>tar</CODE> within your <CODE>dist</CODE>
+goal of your main <TT>`Makefile.in&acute;</TT>.
 
 </P>
 <P>
-Let's summarize by saying that Ulrich Drepper wrote GNU <CODE>gettext</CODE>
-in April 1995.  The first official release of the package, including
-PO mode, occurred in July 1995, and was numbered 0.7.  Other people
-contributed to the effort by providing a discussion forum around
-Ulrich, writing little pieces of code, or testing.  These are quoted
-in the <CODE>THANKS</CODE> file which comes with the GNU <CODE>gettext</CODE>
-distribution.
+It is interesting to understand that most new files for supporting
+GNU <CODE>gettext</CODE> facilities in one package go in <TT>`intl/&acute;</TT>
+and <TT>`po/&acute;</TT> subdirectories.  One distinction between these two
+directories is that <TT>`intl/&acute;</TT> is meant to be completely identical
+in all packages using GNU <CODE>gettext</CODE>, while all newly created
+files, which have to be different, go into <TT>`po/&acute;</TT>.  There is a
+common <TT>`Makefile.in.in&acute;</TT> in <TT>`po/&acute;</TT>, because the <TT>`po/&acute;</TT>
+directory needs its own <TT>`Makefile&acute;</TT>, and it has been designed so
+it can be identical in all packages.
 
 </P>
+
+
+<H2><A NAME="SEC170" HREF="gettext_toc.html#TOC170">12.4  Files You Must Create or Alter</A></H2>
+
 <P>
-While this was being done, Fran@,{c}ois adapted half a dozen of
-GNU packages to <CODE>glocale</CODE> first, then later to <CODE>gettext</CODE>,
-putting them in pretest, so providing along the way an effective
-user environment for fine tuning the evolving tools.  He also took
-the responsibility of organizing and coordinating the Translation
-Project.  After nearly a year of informal exchanges between people from
-many countries, translator teams started to exist in May 1995, through
-the creation and support by Patrick D'Cruze of twenty unmoderated
-mailing lists for that many native languages, and two moderated
-lists: one for reaching all teams at once, the other for reaching
-all willing maintainers of internationalized free software packages.
+Besides files which are automatically added through <CODE>gettextize</CODE>,
+there are many files needing revision for properly interacting with
+GNU <CODE>gettext</CODE>.  If you are closely following GNU standards for
+Makefile engineering and auto-configuration, the adaptations should
+be easier to achieve.  Here is a point by point description of the
+changes needed in each.
 
 </P>
 <P>
-Fran@,{c}ois also wrote PO mode in June 1995 with the collaboration
-of Greg McGary, as a kind of contribution to Ulrich's package.
-He also gave a hand with the GNU <CODE>gettext</CODE> Texinfo manual.
+So, here comes a list of files, each one followed by a description of
+all alterations it needs.  Many examples are taken out from the GNU
+<CODE>gettext</CODE> 0.11-pre2 distribution itself.  You may indeed
+refer to the source code of the GNU <CODE>gettext</CODE> package, as it
+is intended to be a good example and master implementation for using
+its own functionality.
 
 </P>
 
 
-<H2><A NAME="SEC86" HREF="gettext_toc.html#TOC86">12.2  Related Readings</A></H2>
+
+<H3><A NAME="SEC171" HREF="gettext_toc.html#TOC171">12.4.1  <TT>`POTFILES.in&acute;</TT> in <TT>`po/&acute;</TT></A></H3>
 
 <P>
-Eugene H. Dorr (<TT>`dorre@well.com'</TT>) maintains an interesting
-bibliography on internationalization matters, called
-<CITE>Internationalization Reference List</CITE>, which is available as:
+The <TT>`po/&acute;</TT> directory should receive a file named
+<TT>`POTFILES.in&acute;</TT>.  This file tells which files, among all program
+sources, have marked strings needing translation.  Here is an example
+of such a file:
+
+</P>
 
 <PRE>
-ftp://ftp.ora.com/pub/examples/nutshell/ujip/doc/i18n-books.txt
+# List of source files containing translatable strings.
+# Copyright (C) 1995 Free Software Foundation, Inc.
+
+# Common library files
+lib/error.c
+lib/getopt.c
+lib/xmalloc.c
+
+# Package source files
+src/gettext.c
+src/msgfmt.c
+src/xgettext.c
 </PRE>
 
 <P>
-Michael Gschwind (<TT>`mike@vlsivie.tuwien.ac.at'</TT>) maintains a
-Frequently Asked Questions (FAQ) list, entitled <CITE>Programming for
-Internationalisation</CITE>.  This FAQ discusses writing programs which
-can handle different language conventions, character sets, etc.;
-and is applicable to all character set encodings, with particular
-emphasis on ISO 8859-1.  It is regularly published in Usenet
-groups <TT>`comp.unix.questions'</TT>, <TT>`comp.std.internat'</TT>,
-<TT>`comp.software.international'</TT>, <TT>`comp.lang.c'</TT>,
-<TT>`comp.windows.x'</TT>, <TT>`comp.std.c'</TT>, <TT>`comp.answers'</TT>
-and <TT>`news.answers'</TT>.  The home location of this document is:
+Hash-marked comments and white lines are ignored.  All other lines
+list those source files containing strings marked for translation
+(see section <A HREF="gettext_3.html#SEC15">3.2  How Marks Appear in Sources</A>), in a notation relative to the top level
+of your whole distribution, rather than the location of the
+<TT>`POTFILES.in&acute;</TT> file itself.
+
+</P>
+
+
+<H3><A NAME="SEC172" HREF="gettext_toc.html#TOC172">12.4.2  <TT>`LINGUAS&acute;</TT> in <TT>`po/&acute;</TT></A></H3>
+
+<P>
+The <TT>`po/&acute;</TT> directory should also receive a file named
+<TT>`LINGUAS&acute;</TT>.  This file contains the list of available translations.
+It is a whitespace separated list.  Hash-marked comments and white lines
+are ignored.  Here is an example file:
+
+</P>
 
 <PRE>
-ftp://ftp.vlsivie.tuwien.ac.at/pub/8bit/ISO-programming
+# Set of available languages.
+de fr
 </PRE>
 
 <P>
-Patrick D'Cruze (<TT>`pdcruze@li.org'</TT>) wrote a tutorial about NLS
-matters, and Jochen Hein (<TT>`Hein@student.tu-clausthal.de'</TT>) took
-over the responsibility of maintaining it.  It may be found as:
+This example means that German and French PO files are available, so
+that these languages are currently supported by your package.  If you
+want to further restrict, at installation time, the set of installed
+languages, this should not be done by modifying the <TT>`LINGUAS&acute;</TT> file,
+but rather by using the <CODE>LINGUAS</CODE> environment variable
+(see section <A HREF="gettext_9.html#SEC133">9.2  Magic for Installers</A>).
+
+</P>
+
+
+<H3><A NAME="SEC173" HREF="gettext_toc.html#TOC173">12.4.3  <TT>`Makefile&acute;</TT> pieces in <TT>`po/&acute;</TT></A></H3>
+
+<P>
+The <TT>`po/&acute;</TT> directory also has a file named <TT>`Makevars&acute;</TT>.
+It can be left unmodified if your package has a single message domain
+and, accordingly, a single <TT>`po/&acute;</TT> directory. Only packages which
+have multiple <TT>`po/&acute;</TT> directories at different locations need to
+adjust the three variables defined in <TT>`Makevars&acute;</TT>.
+
+</P>
+<P>
+<TT>`po/Makevars&acute;</TT> gets inserted into the <TT>`po/Makefile&acute;</TT> when the
+latter is created. At the same time, all files called <TT>`Rules-*&acute;</TT> in the
+<TT>`po/&acute;</TT> directory get appended to the <TT>`po/Makefile&acute;</TT>. They present
+an opportunity to add rules for special PO files to the Makefile, without
+needing to mess with <TT>`po/Makefile.in.in&acute;</TT>.
+
+</P>
+<P>
+GNU gettext comes with a <TT>`Rules-quot&acute;</TT> file, containing rules for
+building catalogs <TT>`en@quot.po&acute;</TT> and <TT>`en@boldquot.po&acute;</TT>. The
+effect of <TT>`en@quot.po&acute;</TT> is that people who set their <CODE>LANGUAGE</CODE>
+environment variable to <SAMP>`en@quot&acute;</SAMP> will get messages with proper
+looking symmetric Unicode quotation marks instead of abusing the ASCII
+grave accent and the ASCII apostrophe for indicating quotations. To
+enable this catalog, simply add <CODE>en@quot</CODE> to the <TT>`po/LINGUAS&acute;</TT>
+file. The effect of <TT>`en@boldquot.po&acute;</TT> is that people who set
+<CODE>LANGUAGE</CODE> to <SAMP>`en@boldquot&acute;</SAMP> will get not only proper quotation
+marks, but also the quoted text will be shown in a bold font on terminals
+and consoles. This catalog is useful only for command-line programs, not
+GUI programs. To enable it, similarly add <CODE>en@boldquot</CODE> to the
+<TT>`po/LINGUAS&acute;</TT> file.
+
+</P>
+
+
+<H3><A NAME="SEC174" HREF="gettext_toc.html#TOC174">12.4.4  <TT>`configure.in&acute;</TT> at top level</A></H3>
+
+<P>
+<TT>`configure.in&acute;</TT> or <TT>`configure.ac&acute;</TT> - this is the source from which
+<CODE>autoconf</CODE> generates the <TT>`configure&acute;</TT> script.
+
+</P>
+
+<OL>
+<LI>Declare the package and version.
+
+This is done by a set of lines like these:
+
+
+<PRE>
+PACKAGE=gettext
+VERSION=0.11-pre2
+AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
+AC_DEFINE_UNQUOTED(VERSION, "$VERSION")
+AC_SUBST(PACKAGE)
+AC_SUBST(VERSION)
+</PRE>
+
+Of course, you replace <SAMP>`gettext&acute;</SAMP> with the name of your package,
+and <SAMP>`0.11-pre2&acute;</SAMP> by its version numbers, exactly as they
+should appear in the packaged <CODE>tar</CODE> file name of your distribution
+(<TT>`gettext-0.11-pre2.tar.gz&acute;</TT>, here).
+
+<LI>Check for internationalization support.
+
+Here is the main <CODE>m4</CODE> macro for triggering internationalization
+support.  Just add this line to <TT>`configure.in&acute;</TT>:
+
+
+<PRE>
+AM_GNU_GETTEXT
+</PRE>
+
+This call is purposely simple, even if it generates a lot of configure
+time checking and actions.
+
+If you have suppressed the <TT>`intl/&acute;</TT> subdirectory by calling
+<CODE>gettextize</CODE> without <SAMP>`--intl&acute;</SAMP> option, this call should read
+
+
+<PRE>
+AM_GNU_GETTEXT([external])
+</PRE>
+
+<LI>Have output files created.
+
+The <CODE>AC_OUTPUT</CODE> directive, at the end of your <TT>`configure.in&acute;</TT>
+file, needs to be modified in two ways:
+
 
 <PRE>
-ftp://sunsite.unc.edu/pub/Linux/utils/nls/catalogs/Incoming/...
-     ...locale-tutorial-0.8.txt.gz
+AC_OUTPUT([<VAR>existing configuration files</VAR> intl/Makefile po/Makefile.in],
+[<VAR>existing additional actions</VAR>])
 </PRE>
 
+The modification to the first argument to <CODE>AC_OUTPUT</CODE> asks
+for substitution in the <TT>`intl/&acute;</TT> and <TT>`po/&acute;</TT> directories.
+Note the <SAMP>`.in&acute;</SAMP> suffix used for <TT>`po/&acute;</TT> only.  This is because
+the distributed file is really <TT>`po/Makefile.in.in&acute;</TT>.
+
+If you have suppressed the <TT>`intl/&acute;</TT> subdirectory by calling
+<CODE>gettextize</CODE> without <SAMP>`--intl&acute;</SAMP> option, then you don't need to
+add <CODE>intl/Makefile</CODE> to the <CODE>AC_OUTPUT</CODE> line.
+
+</OL>
+
+
+
+<H3><A NAME="SEC175" HREF="gettext_toc.html#TOC175">12.4.5  <TT>`config.guess&acute;</TT>, <TT>`config.sub&acute;</TT> at top level</A></H3>
+
+<P>
+If you don't have suppressed the <TT>`intl/&acute;</TT> subdirectory,
+you need to add the GNU <TT>`config.guess&acute;</TT> and <TT>`config.sub&acute;</TT> files
+to your distribution.  They are needed because the <TT>`intl/&acute;</TT> directory
+has platform dependent support for determining the locale's character
+encoding and therefore needs to identify the platform.
+
+</P>
+<P>
+You can obtain the newest version of <TT>`config.guess&acute;</TT> and
+<TT>`config.sub&acute;</TT> from <TT>`ftp://ftp.gnu.org/pub/gnu/config/&acute;</TT>.
+Less recent versions are also contained in the GNU <CODE>automake</CODE> and
+GNU <CODE>libtool</CODE> packages.
+
+</P>
 <P>
-This site is mirrored in:
+Normally, <TT>`config.guess&acute;</TT> and <TT>`config.sub&acute;</TT> are put at the
+top level of a distribution.  But it is also possible to put them in a
+subdirectory, altogether with other configuration support files like
+<TT>`install-sh&acute;</TT>, <TT>`ltconfig&acute;</TT>, <TT>`ltmain.sh&acute;</TT>,
+<TT>`mkinstalldirs&acute;</TT> or <TT>`missing&acute;</TT>.  All you need to do, other than
+moving the files, is to add the following line to your
+<TT>`configure.in&acute;</TT>.
+
+</P>
 
 <PRE>
-ftp://ftp.ibp.fr/pub/linux/sunsite/
+AC_CONFIG_AUX_DIR([<VAR>subdir</VAR>])
 </PRE>
 
+
+
+<H3><A NAME="SEC176" HREF="gettext_toc.html#TOC176">12.4.6  <TT>`aclocal.m4&acute;</TT> at top level</A></H3>
+
+<P>
+If you do not have an <TT>`aclocal.m4&acute;</TT> file in your distribution,
+the simplest is to concatenate the files <TT>`codeset.m4&acute;</TT>,
+<TT>`gettext.m4&acute;</TT>, <TT>`glibc21.m4&acute;</TT>, <TT>`iconv.m4&acute;</TT>, <TT>`isc-posix.m4&acute;</TT>,
+<TT>`lcmessage.m4&acute;</TT>, <TT>`progtest.m4&acute;</TT> from GNU <CODE>gettext</CODE>'s
+<TT>`m4/&acute;</TT> directory into a single file.  If you have suppressed the
+<TT>`intl/&acute;</TT> directory, only <TT>`gettext.m4&acute;</TT>, <TT>`iconv.m4&acute;</TT>,
+<TT>`progtest.m4&acute;</TT> need to be concatenated.
+
+</P>
+<P>
+If you already have an <TT>`aclocal.m4&acute;</TT> file, then you will have
+to merge the said macro files into your <TT>`aclocal.m4&acute;</TT>.  Note that if
+you are upgrading from a previous release of GNU <CODE>gettext</CODE>, you
+should most probably <EM>replace</EM> the macros (<CODE>AM_GNU_GETTEXT</CODE>,
+etc.), as they usually
+change a little from one release of GNU <CODE>gettext</CODE> to the next.
+Their contents may vary as we get more experience with strange systems
+out there.
+
+</P>
+<P>
+These macros check for the internationalization support functions
+and related informations.  Hopefully, once stabilized, these macros
+might be integrated in the standard Autoconf set, because this
+piece of <CODE>m4</CODE> code will be the same for all projects using GNU
+<CODE>gettext</CODE>.
+
+</P>
+
+
+<H3><A NAME="SEC177" HREF="gettext_toc.html#TOC177">12.4.7  <TT>`acconfig.h&acute;</TT> at top level</A></H3>
+
 <P>
-A French version of the same tutorial should be findable at:
+Earlier GNU <CODE>gettext</CODE> releases required to put definitions for
+<CODE>ENABLE_NLS</CODE>, <CODE>HAVE_GETTEXT</CODE> and <CODE>HAVE_LC_MESSAGES</CODE>,
+<CODE>HAVE_STPCPY</CODE>, <CODE>PACKAGE</CODE> and <CODE>VERSION</CODE> into an
+<TT>`acconfig.h&acute;</TT> file.  This is not needed any more; you can remove
+them from your <TT>`acconfig.h&acute;</TT> file unless your package uses them
+independently from the <TT>`intl/&acute;</TT> directory.
+
+</P>
+
+
+<H3><A NAME="SEC178" HREF="gettext_toc.html#TOC178">12.4.8  <TT>`Makefile.in&acute;</TT> at top level</A></H3>
+
+<P>
+Here are a few modifications you need to make to your main, top-level
+<TT>`Makefile.in&acute;</TT> file.
+
+</P>
+
+<OL>
+<LI>
+
+Add the following lines near the beginning of your <TT>`Makefile.in&acute;</TT>,
+so the <SAMP>`dist:&acute;</SAMP> goal will work properly (as explained further down):
+
+
+<PRE>
+PACKAGE = @PACKAGE@
+VERSION = @VERSION@
+</PRE>
+
+<LI>
+
+Add file <TT>`ABOUT-NLS&acute;</TT> to the <CODE>DISTFILES</CODE> definition, so the file gets
+distributed.
+
+<LI>
+
+Wherever you process subdirectories in your <TT>`Makefile.in&acute;</TT>, be sure
+you also process dir subdirectories <SAMP>`intl&acute;</SAMP> and <SAMP>`po&acute;</SAMP>.  Special
+rules in the <TT>`Makefiles&acute;</TT> take care for the case where no
+internationalization is wanted.
+
+If you are using Makefiles, either generated by automake, or hand-written
+so they carefully follow the GNU coding standards, the effected goals for
+which the new subdirectories must be handled include <SAMP>`installdirs&acute;</SAMP>,
+<SAMP>`install&acute;</SAMP>, <SAMP>`uninstall&acute;</SAMP>, <SAMP>`clean&acute;</SAMP>, <SAMP>`distclean&acute;</SAMP>.
+
+Here is an example of a canonical order of processing.  In this
+example, we also define <CODE>SUBDIRS</CODE> in <CODE>Makefile.in</CODE> for it
+to be further used in the <SAMP>`dist:&acute;</SAMP> goal.
+
+
+<PRE>
+SUBDIRS = doc intl lib src @POSUB@
+</PRE>
+
+Note that you must arrange for <SAMP>`make&acute;</SAMP> to descend into the
+<CODE>intl</CODE> directory before descending into other directories containing
+code which make use of the <CODE>libintl.h</CODE> header file.  For this
+reason, here we mention <CODE>intl</CODE> before <CODE>lib</CODE> and <CODE>src</CODE>.
+
+<LI>
+
+A delicate point is the <SAMP>`dist:&acute;</SAMP> goal, as both
+<TT>`intl/Makefile&acute;</TT> and <TT>`po/Makefile&acute;</TT> will later assume that the
+proper directory has been set up from the main <TT>`Makefile&acute;</TT>.  Here is
+an example at what the <SAMP>`dist:&acute;</SAMP> goal might look like:
+
 
 <PRE>
-ftp://ftp.ibp.fr/pub/linux/french/docs/
+distdir = $(PACKAGE)-$(VERSION)
+dist: Makefile
+       rm -fr $(distdir)
+       mkdir $(distdir)
+       chmod 777 $(distdir)
+       for file in $(DISTFILES); do \
+         ln $$file $(distdir) 2&#62;/dev/null || cp -p $$file $(distdir); \
+       done
+       for subdir in $(SUBDIRS); do \
+         mkdir $(distdir)/$$subdir || exit 1; \
+         chmod 777 $(distdir)/$$subdir; \
+         (cd $$subdir &#38;&#38; $(MAKE) $@) || exit 1; \
+       done
+       tar chozf $(distdir).tar.gz $(distdir)
+       rm -fr $(distdir)
 </PRE>
 
+</OL>
+
+
+
+<H3><A NAME="SEC179" HREF="gettext_toc.html#TOC179">12.4.9  <TT>`Makefile.in&acute;</TT> in <TT>`src/&acute;</TT></A></H3>
+
 <P>
-together with French translations of many Linux-related documents.
+Some of the modifications made in the main <TT>`Makefile.in&acute;</TT> will
+also be needed in the <TT>`Makefile.in&acute;</TT> from your package sources,
+which we assume here to be in the <TT>`src/&acute;</TT> subdirectory.  Here are
+all the modifications needed in <TT>`src/Makefile.in&acute;</TT>:
 
 </P>
+
+<OL>
+<LI>
+
+In view of the <SAMP>`dist:&acute;</SAMP> goal, you should have these lines near the
+beginning of <TT>`src/Makefile.in&acute;</TT>:
+
+
+<PRE>
+PACKAGE = @PACKAGE@
+VERSION = @VERSION@
+</PRE>
+
+<LI>
+
+If not done already, you should guarantee that <CODE>top_srcdir</CODE>
+gets defined.  This will serve for <CODE>cpp</CODE> include files.  Just add
+the line:
+
+
+<PRE>
+top_srcdir = @top_srcdir@
+</PRE>
+
+<LI>
+
+You might also want to define <CODE>subdir</CODE> as <SAMP>`src&acute;</SAMP>, later
+allowing for almost uniform <SAMP>`dist:&acute;</SAMP> goals in all your
+<TT>`Makefile.in&acute;</TT>.  At list, the <SAMP>`dist:&acute;</SAMP> goal below assume that
+you used:
+
+
+<PRE>
+subdir = src
+</PRE>
+
+<LI>
+
+The <CODE>main</CODE> function of your program will normally call
+<CODE>bindtextdomain</CODE> (see see section <A HREF="gettext_3.html#SEC14">3.1  Triggering <CODE>gettext</CODE> Operations</A>), like this:
+
+
+<PRE>
+bindtextdomain (<VAR>PACKAGE</VAR>, LOCALEDIR);
+</PRE>
+
+To make LOCALEDIR known to the program, add the following lines to
+Makefile.in:
+
+
+<PRE>
+datadir = @datadir@
+localedir = $(datadir)/locale
+DEFS = -DLOCALEDIR=\"$(localedir)\" @DEFS@
+</PRE>
+
+Note that <CODE>@datadir@</CODE> defaults to <SAMP>`$(prefix)/share&acute;</SAMP>, thus
+<CODE>$(localedir)</CODE> defaults to <SAMP>`$(prefix)/share/locale&acute;</SAMP>.
+
+<LI>
+
+You should ensure that the final linking will use <CODE>@INTLLIBS@</CODE> as
+a library.  An easy way to achieve this is to manage that it gets into
+<CODE>LIBS</CODE>, like this:
+
+
+<PRE>
+LIBS = @INTLLIBS@ @LIBS@
+</PRE>
+
+In most packages internationalized with GNU <CODE>gettext</CODE>, one will
+find a directory <TT>`lib/&acute;</TT> in which a library containing some helper
+functions will be build.  (You need at least the few functions which the
+GNU <CODE>gettext</CODE> Library itself needs.)  However some of the functions
+in the <TT>`lib/&acute;</TT> also give messages to the user which of course should be
+translated, too.  Taking care of this, the support library (say
+<TT>`libsupport.a&acute;</TT>) should be placed before <CODE>@INTLLIBS@</CODE> and
+<CODE>@LIBS@</CODE> in the above example.  So one has to write this:
+
+
+<PRE>
+LIBS = ../lib/libsupport.a @INTLLIBS@ @LIBS@
+</PRE>
+
+<LI>
+
+You should also ensure that directory <TT>`intl/&acute;</TT> will be searched for
+C preprocessor include files in all circumstances.  So, you have to
+manage so both <SAMP>`-I../intl&acute;</SAMP> and <SAMP>`-I$(top_srcdir)/intl&acute;</SAMP> will
+be given to the C compiler.
+
+<LI>
+
+Your <SAMP>`dist:&acute;</SAMP> goal has to conform with others.  Here is a
+reasonable definition for it:
+
+
+<PRE>
+distdir = ../$(PACKAGE)-$(VERSION)/$(subdir)
+dist: Makefile $(DISTFILES)
+       for file in $(DISTFILES); do \
+         ln $$file $(distdir) 2&#62;/dev/null || cp -p $$file $(distdir); \
+       done
+</PRE>
+
+</OL>
+
 <P><HR><P>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_11.html">previous</A>, <A HREF="gettext_13.html">next</A>, <A HREF="gettext_14.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
+Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_11.html">previous</A>, <A HREF="gettext_13.html">next</A>, <A HREF="gettext_16.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
 </BODY>
 </HTML>
index ee20244aed2d8df94b77794faf15ebd09a7af4cc..9c00950a012f2ca634280d36b149e8cd09802767 100644 (file)
 <HTML>
 <HEAD>
-<!-- This HTML file has been created by texi2html 1.51
-     from gettext.texi on 19 April 2001 -->
+<!-- This HTML file has been created by texi2html 1.52a
+     from gettext.texi on 30 November 2001 -->
 
-<TITLE>GNU gettext utilities - A  Language Codes</TITLE>
+<TITLE>GNU gettext utilities - 13  Other Programming Languages</TITLE>
 </HEAD>
 <BODY>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_12.html">previous</A>, <A HREF="gettext_14.html">next</A>, <A HREF="gettext_14.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
+Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_12.html">previous</A>, <A HREF="gettext_14.html">next</A>, <A HREF="gettext_16.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
 <P><HR><P>
 
 
-<H1><A NAME="SEC87" HREF="gettext_toc.html#TOC87">A  Language Codes</A></H1>
+<H1><A NAME="SEC180" HREF="gettext_toc.html#TOC180">13  Other Programming Languages</A></H1>
 
 <P>
-The ISO 639 standard defines two character codes for many languages.
-All abbreviations for languages used in the Translation Project should
-come from this standard.
+While the presentation of <CODE>gettext</CODE> focuses mostly on C and
+implicitly applies to C++ as well, its scope is far broader than that:
+Many programming languages, scripting languages and other textual data
+like GUI resources or package descriptions can make use of the gettext
+approach.
 
 </P>
+
+
+
+<H2><A NAME="SEC181" HREF="gettext_toc.html#TOC181">13.1  The Language Implementor's View</A></H2>
+
+<P>
+All programming and scripting languages that have the notion of strings
+are eligible to supporting <CODE>gettext</CODE>.  Supporting <CODE>gettext</CODE>
+means the following:
+
+</P>
+
+<OL>
+<LI>
+
+You should add to the language a syntax for translatable strings.  In
+principle, a function call of <CODE>gettext</CODE> would do, but a shorthand
+syntax helps keeping the legibility of internationalized programs.  For
+example, in C we use the syntax <CODE>_("string")</CODE>, in bash we use the
+syntax <CODE>$"string"</CODE>, and in GNU awk we use the shorthand
+<CODE>_"string"</CODE>.
+
+<LI>
+
+You should arrange that evaluation of such a translatable string at
+runtime calls the <CODE>gettext</CODE> function, or performs equivalent
+processing.
+
+<LI>
+
+Similarly, you should make the functions <CODE>ngettext</CODE>,
+<CODE>dcgettext</CODE>, <CODE>dcngettext</CODE> available from within the language.
+These functions are less often used, but are nevertheless necessary for
+particular purposes: <CODE>ngettext</CODE> for correct plural handling, and
+<CODE>dcgettext</CODE> and <CODE>dcngettext</CODE> for obeying other locale
+environment variables than <CODE>LC_MESSAGES</CODE>, such as <CODE>LC_TIME</CODE> or
+<CODE>LC_MONETARY</CODE>.  For these latter functions, you need to make the
+<CODE>LC_*</CODE> constants, available in the C header <CODE>&#60;locale.h&#62;</CODE>,
+referenceable from within the language, usually either as enumeration
+values or as strings.
+
+<LI>
+
+You should allow the programmer to designate a message domain, either by
+making the <CODE>textdomain</CODE> function available from within the
+language, or by introducing a magic variable called <CODE>TEXTDOMAIN</CODE>.
+Similarly, you should allow the programmer to designate where to search
+for message catalogs, by providing access to the <CODE>bindtextdomain</CODE>
+function.
+
+<LI>
+
+You should either perform a <CODE>setlocale (LC_ALL, "")</CODE> call during
+the startup of your language runtime, or allow the programmer to do so.
+Remember that gettext will act as a no-op if the <CODE>LC_MESSAGES</CODE> and
+<CODE>LC_CTYPE</CODE> locale facets are not both set.
+
+<LI>
+
+A programmer should have a way to extract translatable strings from a
+program into a PO file.  The GNU <CODE>xgettext</CODE> program is being
+extended to support very different programming languages.  Please
+contact the GNU <CODE>gettext</CODE> maintainers to help them doing this.  If
+the string extractor is best integrated into your language's parser, GNU
+<CODE>xgettext</CODE> can function as a front end to your string extractor.
+
+<LI>
+
+The language's library should have a string formatting facility where
+the arguments of a format string are denoted by a positional number or a
+name.  This is needed because for some languages and some messages with
+more than one substitutable argument, the translation will need to
+output the substituted arguments in different order.  See section <A HREF="gettext_3.html#SEC17">3.4  Special Comments preceding Keywords</A>.
+
+<LI>
+
+If the language has more than one implementation, and not all of the
+implementations use <CODE>gettext</CODE>, but the programs should be portable
+across implementations, you should provide a no-i18n emulation, that
+makes the other implementations accept programs written for yours,
+without actually translating the strings.
+
+<LI>
+
+To help the programmer in the task of marking translatable strings,
+which is usually performed using the Emacs PO mode, you are welcome to
+contact the GNU <CODE>gettext</CODE> maintainers, so they can add support for
+your language to <TT>`po-mode.el&acute;</TT>.
+</OL>
+
+<P>
+On the implementation side, three approaches are possible, with
+different effects on portability and copyright:
+
+</P>
+
+<UL>
+<LI>
+
+You may integrate the GNU <CODE>gettext</CODE>'s <TT>`intl/&acute;</TT> directory in
+your package, as described in section <A HREF="gettext_12.html#SEC166">12  The Maintainer's View</A>.  This allows you to
+have internationalization on all kinds of platforms.  Note that when you
+then distribute your package, it legally falls under the GNU General
+Public License, and the GNU project will be glad about your contribution
+to the Free Software pool.
+
+<LI>
+
+You may link against GNU <CODE>gettext</CODE> functions if they are found in
+the C library.  For example, an autoconf test for <CODE>gettext()</CODE> and
+<CODE>ngettext()</CODE> will detect this situation.  For the moment, this test
+will succeed on GNU systems and not on other platforms.  No severe
+copyright restrictions apply.
+
+<LI>
+
+You may emulate or reimplement the GNU <CODE>gettext</CODE> functionality.
+This has the advantage of full portability and no copyright
+restrictions, but also the drawback that you have to reimplement the GNU
+<CODE>gettext</CODE> features (such as the <CODE>LANGUAGE</CODE> environment
+variable, the locale aliases database, the automatic charset conversion,
+and plural handling).
+</UL>
+
+
+
+<H2><A NAME="SEC182" HREF="gettext_toc.html#TOC182">13.2  The Programmer's View</A></H2>
+
+<P>
+For the programmer, the general procedure is the same as for the C
+language.  The Emacs PO mode supports other languages, and the GNU
+<CODE>xgettext</CODE> string extractor recognizes other languages based on the
+file extension or a command-line option.  In some languages,
+<CODE>setlocale</CODE> is not needed because it is already performed by the
+underlying language runtime.
+
+</P>
+
+
+<H2><A NAME="SEC183" HREF="gettext_toc.html#TOC183">13.3  The Translator's View</A></H2>
+
+<P>
+The translator works exactly as in the C language case.  The only
+difference is that when translating format strings, she has to be aware
+of the language's particular syntax for positional arguments in format
+strings.
+
+</P>
+
+
+<H2><A NAME="SEC184" HREF="gettext_toc.html#TOC184">13.4  Individual Programming Languages</A></H2>
+
+
+
+<H3><A NAME="SEC185" HREF="gettext_toc.html#TOC185">13.4.1  C, C++, Objective C</A></H3>
+
+<DL COMPACT>
+
+<DT>RPMs
+<DD>
+gcc, gpp, gobjc, glibc, gettext
+
+<DT>File extension
+<DD>
+For C: <CODE>c</CODE>, <CODE>h</CODE>.
+<BR>For C++: <CODE>C</CODE>, <CODE>c++</CODE>, <CODE>cc</CODE>, <CODE>cxx</CODE>, <CODE>cpp</CODE>, <CODE>hpp</CODE>.
+<BR>For Objective C: <CODE>m</CODE>.
+
+<DT>String syntax
+<DD>
+<CODE>"abc"</CODE>
+
+<DT>gettext shorthand
+<DD>
+<CODE>_("abc")</CODE>
+
+<DT>gettext/ngettext functions
+<DD>
+<CODE>gettext</CODE>, <CODE>dgettext</CODE>, <CODE>dcgettext</CODE>, <CODE>ngettext</CODE>,
+<CODE>dngettext</CODE>, <CODE>dcngettext</CODE>
+
+<DT>textdomain
+<DD>
+<CODE>textdomain</CODE> function
+
+<DT>bindtextdomain
+<DD>
+<CODE>bindtextdomain</CODE> function
+
+<DT>setlocale
+<DD>
+Programmer must call <CODE>setlocale (LC_ALL, "")</CODE>
+
+<DT>Prerequisite
+<DD>
+<CODE>#include &#60;libintl.h&#62;</CODE>
+<BR><CODE>#include &#60;locale.h&#62;</CODE>
+<BR><CODE>#define _(string) gettext (string)</CODE>
+
+<DT>Use or emulate GNU gettext
+<DD>
+Use
+
+<DT>Extractor
+<DD>
+<CODE>xgettext -k_</CODE>
+
+<DT>Formatting with positions
+<DD>
+<CODE>fprintf "%2$d %1$d"</CODE> (POSIX but not C 99)
+
+<DT>Portability
+<DD>
+autoconf (gettext.m4) and #if ENABLE_NLS
+
+<DT>po-mode marking
+<DD>
+yes
+</DL>
+
+
+
+<H3><A NAME="SEC186" HREF="gettext_toc.html#TOC186">13.4.2  sh - Shell Script</A></H3>
+
+<DL COMPACT>
+
+<DT>RPMs
+<DD>
+bash, gettext
+
+<DT>File extension
+<DD>
+<CODE>sh</CODE>
+
+<DT>String syntax
+<DD>
+<CODE>"abc"</CODE>, <CODE>'abc'</CODE>, <CODE>abc</CODE>
+
+<DT>gettext shorthand
+<DD>
+<CODE>"`gettext "abc"`"</CODE>
+
+<DT>gettext/ngettext functions
+<DD>
+<CODE>gettext</CODE>, <CODE>ngettext</CODE> programs
+
+<DT>textdomain
+<DD>
+environment variable <CODE>TEXTDOMAIN</CODE>
+
+<DT>bindtextdomain
+<DD>
+environment variable <CODE>TEXTDOMAINDIR</CODE>
+
+<DT>setlocale
+<DD>
+automatic
+
+<DT>Prerequisite
+<DD>
+---
+
+<DT>Use or emulate GNU gettext
+<DD>
+use
+
+<DT>Extractor
+<DD>
+---
+
+<DT>Formatting with positions
+<DD>
+---
+
+<DT>Portability
+<DD>
+---
+
+<DT>po-mode marking
+<DD>
+---
+</DL>
+
+
+
+<H3><A NAME="SEC187" HREF="gettext_toc.html#TOC187">13.4.3  bash - Bourne-Again Shell Script</A></H3>
+
+<DL COMPACT>
+
+<DT>RPMs
+<DD>
+bash 2.0 or newer, gettext
+
+<DT>File extension
+<DD>
+<CODE>sh</CODE>
+
+<DT>String syntax
+<DD>
+<CODE>"abc"</CODE>, <CODE>'abc'</CODE>, <CODE>abc</CODE>
+
+<DT>gettext shorthand
+<DD>
+<CODE>$"abc"</CODE>
+
+<DT>gettext/ngettext functions
+<DD>
+<CODE>gettext</CODE>, <CODE>ngettext</CODE> programs
+
+<DT>textdomain
+<DD>
+environment variable <CODE>TEXTDOMAIN</CODE>
+
+<DT>bindtextdomain
+<DD>
+environment variable <CODE>TEXTDOMAINDIR</CODE>
+
+<DT>setlocale
+<DD>
+automatic
+
+<DT>Prerequisite
+<DD>
+---
+
+<DT>Use or emulate GNU gettext
+<DD>
+use
+
+<DT>Extractor
+<DD>
+<CODE>bash --dump-po-strings</CODE>
+
+<DT>Formatting with positions
+<DD>
+---
+
+<DT>Portability
+<DD>
+---
+
+<DT>po-mode marking
+<DD>
+---
+</DL>
+
+
+
+<H3><A NAME="SEC188" HREF="gettext_toc.html#TOC188">13.4.4  Python</A></H3>
+
 <DL COMPACT>
 
-<DT><SAMP>`aa'</SAMP>
+<DT>RPMs
 <DD>
-Afar.
-<DT><SAMP>`ab'</SAMP>
+python
+
+<DT>File extension
 <DD>
-Abkhazian.
-<DT><SAMP>`ae'</SAMP>
+<CODE>py</CODE>
+
+<DT>String syntax
 <DD>
-Avestan.
-<DT><SAMP>`af'</SAMP>
+<CODE>'abc'</CODE>, <CODE>u'abc'</CODE>, <CODE>r'abc'</CODE>, <CODE>ur'abc'</CODE>,
+<BR><CODE>"abc"</CODE>, <CODE>u"abc"</CODE>, <CODE>r"abc"</CODE>, <CODE>ur"abc"</CODE>,
+<BR><CODE>"'abc"'</CODE>, <CODE>u"'abc"'</CODE>, <CODE>r"'abc"'</CODE>, <CODE>ur"'abc"'</CODE>,
+<BR><CODE>"""abc"""</CODE>, <CODE>u"""abc"""</CODE>, <CODE>r"""abc"""</CODE>, <CODE>ur"""abc"""</CODE>
+
+<DT>gettext shorthand
 <DD>
-Afrikaans.
-<DT><SAMP>`am'</SAMP>
+<CODE>_('abc')</CODE> etc.
+
+<DT>gettext/ngettext functions
 <DD>
-Amharic.
-<DT><SAMP>`ar'</SAMP>
+<CODE>gettext.gettext</CODE>, <CODE>gettext.dgettext</CODE>, also <CODE>ugettext</CODE>
+
+<DT>textdomain
 <DD>
-Arabic.
-<DT><SAMP>`as'</SAMP>
+<CODE>gettext.textdomain</CODE> function, or
+<CODE>gettext.install(<VAR>domain</VAR>)</CODE> function
+
+<DT>bindtextdomain
 <DD>
-Assamese.
-<DT><SAMP>`ay'</SAMP>
+<CODE>gettext.bindtextdomain</CODE> function, or
+<CODE>gettext.install(<VAR>domain</VAR>,<VAR>localedir</VAR>)</CODE> function
+
+<DT>setlocale
+<DD>
+not used by the gettext emulation
+
+<DT>Prerequisite
+<DD>
+<CODE>import gettext</CODE>
+
+<DT>Use or emulate GNU gettext
+<DD>
+emulate. Bug: uses only the first found .mo file, not all of them
+
+<DT>Extractor
+<DD>
+pygettext.py
+
+<DT>Formatting with positions
+<DD>
+<CODE>'...%(ident)d...' % { 'ident': value }</CODE>
+
+<DT>Portability
+<DD>
+fully portable
+
+<DT>po-mode marking
+<DD>
+---
+</DL>
+
+
+
+<H3><A NAME="SEC189" HREF="gettext_toc.html#TOC189">13.4.5  GNU clisp - Common Lisp</A></H3>
+
+<DL COMPACT>
+
+<DT>RPMs
+<DD>
+clisp 2.28 or newer
+
+<DT>File extension
+<DD>
+<CODE>lisp</CODE>
+
+<DT>String syntax
+<DD>
+<CODE>"abc"</CODE>
+
+<DT>gettext shorthand
+<DD>
+<CODE>(_ "abc")</CODE>, <CODE>(ENGLISH "abc")</CODE>
+
+<DT>gettext/ngettext functions
 <DD>
-Aymara.
-<DT><SAMP>`az'</SAMP>
+<CODE>i18n:gettext</CODE>, <CODE>i18n:ngettext</CODE>
+
+<DT>textdomain
 <DD>
-Azerbaijani.
-<DT><SAMP>`ba'</SAMP>
+<CODE>i18n:textdomain</CODE>
+
+<DT>bindtextdomain
 <DD>
-Bashkir.
-<DT><SAMP>`be'</SAMP>
+<CODE>i18n:textdomaindir</CODE>
+
+<DT>setlocale
+<DD>
+automatic
+
+<DT>Prerequisite
+<DD>
+---
+
+<DT>Use or emulate GNU gettext
+<DD>
+use
+
+<DT>Extractor
+<DD>
+<CODE>clisp-xgettext</CODE>
+
+<DT>Formatting with positions
+<DD>
+<CODE>format "~1@*~D ~0@*~D"</CODE>
+
+<DT>Portability
+<DD>
+On platforms without gettext, no translation.
+
+<DT>po-mode marking
+<DD>
+---
+</DL>
+
+
+
+<H3><A NAME="SEC190" HREF="gettext_toc.html#TOC190">13.4.6  GNU clisp C sources</A></H3>
+
+<DL COMPACT>
+
+<DT>RPMs
+<DD>
+clisp
+
+<DT>File extension
+<DD>
+<CODE>d</CODE>
+
+<DT>String syntax
+<DD>
+<CODE>"abc"</CODE>
+
+<DT>gettext shorthand
+<DD>
+<CODE>ENGLISH ? "abc" : ""</CODE>
+<BR><CODE>GETTEXT("abc")</CODE>
+<BR><CODE>GETTEXTL("abc")</CODE>
+
+<DT>gettext/ngettext functions
+<DD>
+<CODE>clgettext</CODE>, <CODE>clgettextl</CODE>
+
+<DT>textdomain
+<DD>
+---
+
+<DT>bindtextdomain
+<DD>
+---
+
+<DT>setlocale
+<DD>
+automatic
+
+<DT>Prerequisite
+<DD>
+<CODE>#include "lispbibl.c"</CODE>
+
+<DT>Use or emulate GNU gettext
+<DD>
+use
+
+<DT>Extractor
+<DD>
+<CODE>clisp-xgettext</CODE>
+
+<DT>Formatting with positions
+<DD>
+<CODE>fprintf "%2$d %1$d"</CODE> (POSIX but not C 99)
+
+<DT>Portability
+<DD>
+On platforms without gettext, no translation.
+
+<DT>po-mode marking
+<DD>
+---
+</DL>
+
+
+
+<H3><A NAME="SEC191" HREF="gettext_toc.html#TOC191">13.4.7  Emacs Lisp</A></H3>
+
+<DL COMPACT>
+
+<DT>RPMs
+<DD>
+emacs, xemacs
+
+<DT>File extension
+<DD>
+<CODE>el</CODE>
+
+<DT>String syntax
+<DD>
+<CODE>"abc"</CODE>
+
+<DT>gettext shorthand
+<DD>
+<CODE>(_"abc")</CODE>
+
+<DT>gettext/ngettext functions
+<DD>
+<CODE>gettext</CODE>, <CODE>dgettext</CODE> (xemacs only)
+
+<DT>textdomain
 <DD>
-Byelorussian; Belarusian.
-<DT><SAMP>`bg'</SAMP>
+<CODE>domain</CODE> special form (xemacs only)
+
+<DT>bindtextdomain
 <DD>
-Bulgarian.
-<DT><SAMP>`bh'</SAMP>
+<CODE>bind-text-domain</CODE> function (xemacs only)
+
+<DT>setlocale
 <DD>
-Bihari.
-<DT><SAMP>`bi'</SAMP>
+automatic
+
+<DT>Prerequisite
 <DD>
-Bislama.
-<DT><SAMP>`bn'</SAMP>
+---
+
+<DT>Use or emulate GNU gettext
 <DD>
-Bengali; Bangla.
-<DT><SAMP>`bo'</SAMP>
+use
+
+<DT>Extractor
 <DD>
-Tibetan.
-<DT><SAMP>`br'</SAMP>
+xpot
+
+<DT>Formatting with positions
 <DD>
-Breton.
-<DT><SAMP>`bs'</SAMP>
+<CODE>format "%2$d %1$d"</CODE>
+
+<DT>Portability
 <DD>
-Bosnian.
-<DT><SAMP>`ca'</SAMP>
+Only XEmacs. Without <CODE>I18N3</CODE> defined at build time, no translation.
+
+<DT>po-mode marking
 <DD>
-Catalan.
-<DT><SAMP>`ce'</SAMP>
+---
+</DL>
+
+
+
+<H3><A NAME="SEC192" HREF="gettext_toc.html#TOC192">13.4.8  librep</A></H3>
+
+<DL COMPACT>
+
+<DT>RPMs
 <DD>
-Chechen.
-<DT><SAMP>`ch'</SAMP>
+librep
+
+<DT>File extension
 <DD>
-Chamorro.
-<DT><SAMP>`co'</SAMP>
+<CODE>jl</CODE>
+
+<DT>String syntax
 <DD>
-Corsican.
-<DT><SAMP>`cs'</SAMP>
+<CODE>"abc"</CODE>
+
+<DT>gettext shorthand
 <DD>
-Czech.
-<DT><SAMP>`cu'</SAMP>
+<CODE>(_"abc")</CODE>
+
+<DT>gettext/ngettext functions
 <DD>
-Church Slavic.
-<DT><SAMP>`cv'</SAMP>
+<CODE>gettext</CODE>
+
+<DT>textdomain
 <DD>
-Chuvash.
-<DT><SAMP>`cy'</SAMP>
+<CODE>textdomain</CODE> function
+
+<DT>bindtextdomain
 <DD>
-Welsh.
-<DT><SAMP>`da'</SAMP>
+<CODE>bindtextdomain</CODE> function
+
+<DT>setlocale
 <DD>
-Danish.
-<DT><SAMP>`de'</SAMP>
+---
+
+<DT>Prerequisite
 <DD>
-German.
-<DT><SAMP>`dz'</SAMP>
+<CODE>(require 'rep.i18n.gettext)</CODE>
+
+<DT>Use or emulate GNU gettext
 <DD>
-Dzongkha; Bhutani.
-<DT><SAMP>`el'</SAMP>
+use
+
+<DT>Extractor
 <DD>
-Greek.
-<DT><SAMP>`en'</SAMP>
+<CODE>rep-xgettext</CODE>
+
+<DT>Formatting with positions
 <DD>
-English.
-<DT><SAMP>`eo'</SAMP>
+<CODE>format "%2$d %1$d"</CODE>
+
+<DT>Portability
 <DD>
-Esperanto.
-<DT><SAMP>`es'</SAMP>
+On platforms without gettext, no translation.
+
+<DT>po-mode marking
 <DD>
-Spanish.
-<DT><SAMP>`et'</SAMP>
+---
+</DL>
+
+
+
+<H3><A NAME="SEC193" HREF="gettext_toc.html#TOC193">13.4.9  GNU Smalltalk</A></H3>
+
+<DL COMPACT>
+
+<DT>RPMs
 <DD>
-Estonian.
-<DT><SAMP>`eu'</SAMP>
+smalltalk
+
+<DT>File extension
 <DD>
-Basque.
-<DT><SAMP>`fa'</SAMP>
+<CODE>st</CODE>
+
+<DT>String syntax
 <DD>
-Persian.
-<DT><SAMP>`fi'</SAMP>
+<CODE>"abc"</CODE>
+
+<DT>gettext shorthand
 <DD>
-Finnish.
-<DT><SAMP>`fj'</SAMP>
+<CODE>NLS? "abc"</CODE>
+<BR><CODE>self? "abc"</CODE>
+
+<DT>gettext/ngettext functions
 <DD>
-Fijian; Fiji.
-<DT><SAMP>`fo'</SAMP>
+<CODE>LcMessagesDomain&#62;&#62;#at:</CODE>, <CODE>LcMessagesDomain&#62;&#62;#at:plural:with:</CODE>
+
+<DT>textdomain
 <DD>
-Faroese.
-<DT><SAMP>`fr'</SAMP>
+<CODE>LcMessages&#62;&#62;#?</CODE> (returns a <CODE>LcMessagesDomain</CODE> object).<BR>
+Example: <CODE>Locale default messages ? 'gettext'</CODE>
+
+<DT>bindtextdomain
 <DD>
-French.
-<DT><SAMP>`fy'</SAMP>
+<CODE>LcMessages&#62;&#62;#domain:directory:</CODE> (returns a <CODE>LcMessagesDomain</CODE>
+object)
+
+<DT>setlocale
 <DD>
-Frisian.
-<DT><SAMP>`ga'</SAMP>
+You can obtain any <CODE>Locale</CODE> object from <CODE>Locale</CODE> class methods
+such as <CODE>#fromString:</CODE> or <CODE>#default</CODE>.<BR>
+Example: <CODE>Locale default messages</CODE> gives the <CODE>LcMessages</CODE>
+object for the default locale.
+
+<DT>Prerequisite
 <DD>
-Irish.
-<DT><SAMP>`gd'</SAMP>
+The gettext code is contained in the <TT>`I18N&acute;</TT> package.
+
+<DT>Use or emulate GNU gettext
 <DD>
-Scots; Gaelic.
-<DT><SAMP>`gl'</SAMP>
+emulate
+
+<DT>Extractor
 <DD>
-Gallegan; Galician.
-<DT><SAMP>`gn'</SAMP>
+---
+
+<DT>Formatting with positions
 <DD>
-Guarani.
-<DT><SAMP>`gu'</SAMP>
+<CODE>'%1 %2' bindWith: 'Hello' with: 'world'</CODE>
+
+<DT>Portability
 <DD>
-Gujarati.
-<DT><SAMP>`gv'</SAMP>
+fully portable
+
+<DT>po-mode marking
 <DD>
-Manx.
-<DT><SAMP>`ha'</SAMP>
+---
+</DL>
+
+
+
+<H3><A NAME="SEC194" HREF="gettext_toc.html#TOC194">13.4.10  Java</A></H3>
+
+<DL COMPACT>
+
+<DT>RPMs
 <DD>
-Hausa (?).
-<DT><SAMP>`he'</SAMP>
+java, java2
+
+<DT>File extension
 <DD>
-Hebrew (formerly iw).
-<DT><SAMP>`hi'</SAMP>
+<CODE>java</CODE>
+
+<DT>String syntax
 <DD>
-Hindi.
-<DT><SAMP>`ho'</SAMP>
+"abc"
+
+<DT>gettext shorthand
 <DD>
-Hiri Motu.
-<DT><SAMP>`hr'</SAMP>
+_("abc")
+
+<DT>gettext/ngettext functions
 <DD>
-Croatian.
-<DT><SAMP>`hu'</SAMP>
+<CODE>GettextResource.gettext</CODE>, <CODE>GettextResource.ngettext</CODE>
+
+<DT>textdomain
 <DD>
-Hungarian.
-<DT><SAMP>`hy'</SAMP>
+---, use <CODE>ResourceBundle.getResource</CODE> instead
+
+<DT>bindtextdomain
 <DD>
-Armenian.
-<DT><SAMP>`hz'</SAMP>
+---, use CLASSPATH instead
+
+<DT>setlocale
 <DD>
-Herero.
-<DT><SAMP>`ia'</SAMP>
+automatic
+
+<DT>Prerequisite
 <DD>
-Interlingua.
-<DT><SAMP>`id'</SAMP>
+---
+
+<DT>Use or emulate GNU gettext
 <DD>
-Indonesian (formerly in).
-<DT><SAMP>`ie'</SAMP>
+---, uses a Java specific message catalog format
+
+<DT>Extractor
 <DD>
-Interlingue.
-<DT><SAMP>`ik'</SAMP>
+<CODE>xgettext -k_</CODE>
+
+<DT>Formatting with positions
 <DD>
-Inupiak.
-<DT><SAMP>`is'</SAMP>
+<CODE>MessageFormat.format "{1,number} {0,number}"</CODE>
+
+<DT>Portability
 <DD>
-Icelandic.
-<DT><SAMP>`it'</SAMP>
+fully portable
+
+<DT>po-mode marking
 <DD>
-Italian.
-<DT><SAMP>`iu'</SAMP>
+---
+</DL>
+
+<P>
+Before marking strings as internationalizable, uses of the string
+concatenation operator need to be converted to <CODE>MessageFormat</CODE>
+applications. For example, <CODE>"file "+filename+" not found"</CODE> becomes
+<CODE>MessageFormat.format("file {0} not found", new Object[] { filename })</CODE>.
+Only after this is done, can the strings be marked and extracted.
+
+</P>
+<P>
+GNU gettext uses the native Java internationalization mechanism, namely
+<CODE>ResourceBundle</CODE>s. To convert a PO file to a ResourceBundle, the
+<CODE>msgfmt</CODE> program can be used with the option <CODE>--java</CODE> or
+<CODE>--java2</CODE>. To convert a ResourceBundle back to a PO file, the
+<CODE>msgunfmt</CODE> program can be used with the option <CODE>--java</CODE>.
+
+</P>
+<P>
+Two different programmatic APIs can be used to access ResourceBundles.
+Note that both APIs work with all kinds of ResourceBundles, whether
+GNU gettext generated classes, or other <CODE>.class</CODE> or <CODE>.properties</CODE>
+files.
+
+</P>
+
+<OL>
+<LI>
+
+The <CODE>java.util.ResourceBundle</CODE> API.
+
+In particular, its <CODE>getString</CODE> function returns a string translation.
+Note that a missing translation yields a <CODE>MissingResourceException</CODE>.
+
+This has the advantage of being the standard API. And it does not require
+any additional libraries, only the <CODE>msgfmt</CODE> generated <CODE>.class</CODE>
+files. But it cannot do plural handling, even if the resource was generated
+from a PO file with plural handling.
+
+<LI>
+
+The <CODE>gnu.gettext.GettextResource</CODE> API.
+
+Reference documentation in Javadoc 1.1 style format
+is in the <A HREF="javadoc1/tree.html">javadoc1 directory</A> and
+in Javadoc 2 style format
+in the <A HREF="javadoc2/index.html">javadoc2 directory</A>.
+
+Its <CODE>gettext</CODE> function returns a string translation. Note that when
+a translation is missing, the <VAR>msgid</VAR> argument is returned unchanged.
+
+This has the advantage of having the <CODE>ngettext</CODE> function for plural
+handling.
+
+To use this API, one needs the <CODE>libintl.jar</CODE> file which is part of
+the GNU gettext package and distributed under the LGPL.
+</OL>
+
+
+
+<H3><A NAME="SEC195" HREF="gettext_toc.html#TOC195">13.4.11  GNU awk</A></H3>
+
+<DL COMPACT>
+
+<DT>RPMs
 <DD>
-Inuktitut.
-<DT><SAMP>`ja'</SAMP>
+gawk 3.1 or newer
+
+<DT>File extension
 <DD>
-Japanese.
-<DT><SAMP>`jw'</SAMP>
+<CODE>awk</CODE>
+
+<DT>String syntax
 <DD>
-Javanese.
-<DT><SAMP>`ka'</SAMP>
+<CODE>"abc"</CODE>
+
+<DT>gettext shorthand
 <DD>
-Georgian.
-<DT><SAMP>`ki'</SAMP>
+<CODE>_"abc"</CODE>
+
+<DT>gettext/ngettext functions
 <DD>
-Kikuyu.
-<DT><SAMP>`kj'</SAMP>
+<CODE>dcgettext</CODE>
+
+<DT>textdomain
 <DD>
-Kuanyama.
-<DT><SAMP>`kk'</SAMP>
+<CODE>TEXTDOMAIN</CODE> variable
+
+<DT>bindtextdomain
 <DD>
-Kazakh.
-<DT><SAMP>`kl'</SAMP>
+<CODE>bindtextdomain</CODE> function
+
+<DT>setlocale
 <DD>
-Kalaallisut; Greenlandic.
-<DT><SAMP>`km'</SAMP>
+automatic, but missing <CODE>setlocale (LC_MESSAGES, "")</CODE> in gawk-3.1.0
+
+<DT>Prerequisite
 <DD>
-Khmer; Cambodian.
-<DT><SAMP>`kn'</SAMP>
+---
+
+<DT>Use or emulate GNU gettext
 <DD>
-Kannada.
-<DT><SAMP>`ko'</SAMP>
+use
+
+<DT>Extractor
 <DD>
-Korean.
-<DT><SAMP>`ks'</SAMP>
+<CODE>gawk --gen-po</CODE>
+
+<DT>Formatting with positions
 <DD>
-Kashmiri.
-<DT><SAMP>`ku'</SAMP>
+<CODE>printf "%2$d %1$d"</CODE> (GNU awk only)
+
+<DT>Portability
 <DD>
-Kurdish.
-<DT><SAMP>`kv'</SAMP>
+On platforms without gettext, no translation.  On non-GNU awks, you must
+define <CODE>dcgettext</CODE> and <CODE>bindtextdomain</CODE> yourself.
+
+<DT>po-mode marking
 <DD>
-Komi.
-<DT><SAMP>`kw'</SAMP>
+---
+</DL>
+
+
+
+<H3><A NAME="SEC196" HREF="gettext_toc.html#TOC196">13.4.12  Pascal - Free Pascal Compiler</A></H3>
+
+<DL COMPACT>
+
+<DT>RPMs
 <DD>
-Cornish.
-<DT><SAMP>`ky'</SAMP>
+fpk
+
+<DT>File extension
 <DD>
-Kirghiz.
-<DT><SAMP>`la'</SAMP>
+<CODE>pp</CODE>, <CODE>pas</CODE>
+
+<DT>String syntax
 <DD>
-Latin.
-<DT><SAMP>`lb'</SAMP>
+<CODE>'abc'</CODE>
+
+<DT>gettext shorthand
 <DD>
-Letzeburgesch.
-<DT><SAMP>`ln'</SAMP>
+automatic
+
+<DT>gettext/ngettext functions
 <DD>
-Lingala.
-<DT><SAMP>`lo'</SAMP>
+---, use <CODE>ResourceString</CODE> data type instead
+
+<DT>textdomain
 <DD>
-Lao; Laotian.
-<DT><SAMP>`lt'</SAMP>
+---, use <CODE>TranslateResourceStrings</CODE> function instead
+
+<DT>bindtextdomain
 <DD>
-Lithuanian.
-<DT><SAMP>`lv'</SAMP>
+---, use <CODE>TranslateResourceStrings</CODE> function instead
+
+<DT>setlocale
 <DD>
-Latvian; Lettish.
-<DT><SAMP>`mg'</SAMP>
+automatic, but uses only LANG, not LC_MESSAGES or LC_ALL
+
+<DT>Prerequisite
 <DD>
-Malagasy.
-<DT><SAMP>`mh'</SAMP>
+<CODE>{$mode delphi}</CODE> or <CODE>{$mode objfpc}</CODE><BR><CODE>uses gettext;</CODE>
+
+<DT>Use or emulate GNU gettext
 <DD>
-Marshall.
-<DT><SAMP>`mi'</SAMP>
+emulate partially
+
+<DT>Extractor
 <DD>
-Maori.
-<DT><SAMP>`mk'</SAMP>
+<CODE>ppc386</CODE> followed by <CODE>xgettext</CODE> or <CODE>rstconv</CODE>
+
+<DT>Formatting with positions
 <DD>
-Macedonian.
-<DT><SAMP>`ml'</SAMP>
+<CODE>uses sysutils;</CODE><BR><CODE>format "%1:d %0:d"</CODE>
+
+<DT>Portability
 <DD>
-Malayalam.
-<DT><SAMP>`mn'</SAMP>
+?
+
+<DT>po-mode marking
 <DD>
-Mongolian.
-<DT><SAMP>`mo'</SAMP>
+---
+</DL>
+
+<P>
+The Pascal compiler has special support for the <CODE>ResourceString</CODE> data
+type. It generates a <CODE>.rst</CODE> file. This is then converted to a <CODE>.pot</CODE>
+file by use of <CODE>xgettext</CODE> or <CODE>rstconv</CODE>. At runtime, a <CODE>.mo</CODE>
+file corresponding to translations of this <CODE>.pot</CODE> file can be loaded
+using the <CODE>TranslateResourceStrings</CODE> function in the <CODE>gettext</CODE> unit.
+
+</P>
+
+
+<H3><A NAME="SEC197" HREF="gettext_toc.html#TOC197">13.4.13  wxWindows library</A></H3>
+
+<DL COMPACT>
+
+<DT>RPMs
 <DD>
-Moldavian.
-<DT><SAMP>`mr'</SAMP>
+wxGTK, gettext
+
+<DT>File extension
 <DD>
-Marathi.
-<DT><SAMP>`ms'</SAMP>
+<CODE>cpp</CODE>
+
+<DT>String syntax
 <DD>
-Malay.
-<DT><SAMP>`mt'</SAMP>
+<CODE>"abc"</CODE>
+
+<DT>gettext shorthand
 <DD>
-Maltese.
-<DT><SAMP>`my'</SAMP>
+<CODE>_("abc")</CODE>
+
+<DT>gettext/ngettext functions
 <DD>
-Burmese.
-<DT><SAMP>`na'</SAMP>
+<CODE>wxLocale::GetString</CODE>, <CODE>wxGetTranslation</CODE>
+
+<DT>textdomain
 <DD>
-Nauru.
-<DT><SAMP>`nb'</SAMP>
+<CODE>wxLocale::AddCatalog</CODE>
+
+<DT>bindtextdomain
 <DD>
-Norwegian Bokm@aa{}l.
-<DT><SAMP>`nd'</SAMP>
+<CODE>wxLocale::AddCatalogLookupPathPrefix</CODE>
+
+<DT>setlocale
 <DD>
-Ndebele, North.
-<DT><SAMP>`ne'</SAMP>
+<CODE>wxLocale::Init</CODE>, <CODE>wxSetLocale</CODE>
+
+<DT>Prerequisite
 <DD>
-Nepali.
-<DT><SAMP>`ng'</SAMP>
+<CODE>#include &#60;wx/intl.h&#62;</CODE>
+
+<DT>Use or emulate GNU gettext
 <DD>
-Ndonga.
-<DT><SAMP>`nl'</SAMP>
+emulate, see <CODE>include/wx/intl.h</CODE> and <CODE>src/common/intl.cpp</CODE>
+
+<DT>Extractor
 <DD>
-Dutch.
-<DT><SAMP>`nn'</SAMP>
+<CODE>xgettext</CODE>
+
+<DT>Formatting with positions
 <DD>
-Norwegian Nynorsk.
-<DT><SAMP>`no'</SAMP>
+---
+
+<DT>Portability
 <DD>
-Norwegian.
-<DT><SAMP>`nr'</SAMP>
+fully portable
+
+<DT>po-mode marking
 <DD>
-Ndebele, South.
-<DT><SAMP>`nv'</SAMP>
+yes
+</DL>
+
+
+
+<H3><A NAME="SEC198" HREF="gettext_toc.html#TOC198">13.4.14  YCP - YaST2 scripting language</A></H3>
+
+<DL COMPACT>
+
+<DT>RPMs
 <DD>
-Navajo.
-<DT><SAMP>`ny'</SAMP>
+libycp, libycp-devel, yast2-core-translator
+
+<DT>File extension
 <DD>
-Chichewa; Nyanja.
-<DT><SAMP>`oc'</SAMP>
+<CODE>ycp</CODE>
+
+<DT>String syntax
 <DD>
-Occitan; Proven@,{c}al.
-<DT><SAMP>`om'</SAMP>
+<CODE>"abc"</CODE>
+
+<DT>gettext shorthand
 <DD>
-(Afan) Oromo.
-<DT><SAMP>`or'</SAMP>
+<CODE>_("abc")</CODE>
+
+<DT>gettext/ngettext functions
 <DD>
-Oriya.
-<DT><SAMP>`os'</SAMP>
+<CODE>_()</CODE> with 1 or 3 arguments
+
+<DT>textdomain
 <DD>
-Ossetian; Ossetic.
-<DT><SAMP>`pa'</SAMP>
+<CODE>textdomain</CODE> statement
+
+<DT>bindtextdomain
 <DD>
-Panjabi; Punjabi.
-<DT><SAMP>`pi'</SAMP>
+---
+
+<DT>setlocale
 <DD>
-Pali.
-<DT><SAMP>`pl'</SAMP>
+---
+
+<DT>Prerequisite
 <DD>
-Polish.
-<DT><SAMP>`ps'</SAMP>
+---
+
+<DT>Use or emulate GNU gettext
 <DD>
-Pashto, Pushto.
-<DT><SAMP>`pt'</SAMP>
+use maps instead
+
+<DT>Extractor
 <DD>
-Portuguese.
-<DT><SAMP>`qu'</SAMP>
+<CODE>xgettext</CODE>
+
+<DT>Formatting with positions
 <DD>
-Quechua.
-<DT><SAMP>`rm'</SAMP>
+<CODE>sformat "%2 %1"</CODE>
+
+<DT>Portability
 <DD>
-Rhaeto-Romance.
-<DT><SAMP>`rn'</SAMP>
+fully portable
+
+<DT>po-mode marking
 <DD>
-Rundi; Kirundi.
-<DT><SAMP>`ro'</SAMP>
+---
+</DL>
+
+
+
+<H3><A NAME="SEC199" HREF="gettext_toc.html#TOC199">13.4.15  Perl</A></H3>
+
+<DL COMPACT>
+
+<DT>RPMs
 <DD>
-Romanian.
-<DT><SAMP>`ru'</SAMP>
+perl, perl-gettext
+
+<DT>File extension
 <DD>
-Russian.
-<DT><SAMP>`rw'</SAMP>
+<CODE>pl</CODE>, <CODE>PL</CODE>
+
+<DT>String syntax
 <DD>
-Kinyarwanda.
-<DT><SAMP>`sa'</SAMP>
+<CODE>"abc"</CODE>
+
+<DT>gettext shorthand
 <DD>
-Sanskrit.
-<DT><SAMP>`sc'</SAMP>
+---
+
+<DT>gettext/ngettext functions
 <DD>
-Sardinian.
-<DT><SAMP>`sd'</SAMP>
+<CODE>gettext</CODE>, <CODE>dgettext</CODE>, <CODE>dcgettext</CODE>
+
+<DT>textdomain
 <DD>
-Sindhi.
-<DT><SAMP>`se'</SAMP>
+<CODE>textdomain</CODE> function
+
+<DT>bindtextdomain
 <DD>
-Northern Sami.
-<DT><SAMP>`sg'</SAMP>
+<CODE>bindtextdomain</CODE> function
+
+<DT>setlocale
 <DD>
-Sango; Sangro.
-<DT><SAMP>`si'</SAMP>
+Use <CODE>setlocale (LC_ALL, "");</CODE>
+
+<DT>Prerequisite
 <DD>
-Sinhalese.
-<DT><SAMP>`sk'</SAMP>
+<CODE>use POSIX;</CODE>
+<BR><CODE>use Locale::gettext;</CODE>
+
+<DT>Use or emulate GNU gettext
 <DD>
-Slovak.
-<DT><SAMP>`sl'</SAMP>
+use
+
+<DT>Extractor
 <DD>
-Slovenian.
-<DT><SAMP>`sm'</SAMP>
+?
+
+<DT>Formatting with positions
 <DD>
-Samoan.
-<DT><SAMP>`sn'</SAMP>
+---
+
+<DT>Portability
 <DD>
-Shona.
-<DT><SAMP>`so'</SAMP>
+?
+
+<DT>po-mode marking
 <DD>
-Somali.
-<DT><SAMP>`sq'</SAMP>
+---
+</DL>
+
+
+
+<H3><A NAME="SEC200" HREF="gettext_toc.html#TOC200">13.4.16  PHP Hypertext Preprocessor</A></H3>
+
+<DL COMPACT>
+
+<DT>RPMs
 <DD>
-Albanian.
-<DT><SAMP>`sr'</SAMP>
+mod_php4, phplib, phpdoc
+
+<DT>File extension
 <DD>
-Serbian.
-<DT><SAMP>`ss'</SAMP>
+<CODE>php</CODE>, <CODE>php3</CODE>, <CODE>php4</CODE>
+
+<DT>String syntax
 <DD>
-Swati; Siswati.
-<DT><SAMP>`st'</SAMP>
+<CODE>"abc"</CODE>
+
+<DT>gettext shorthand
 <DD>
-Sesotho; Sotho, Southern.
-<DT><SAMP>`su'</SAMP>
+<CODE>_("abc")</CODE>
+
+<DT>gettext/ngettext functions
 <DD>
-Sundanese.
-<DT><SAMP>`sv'</SAMP>
+<CODE>gettext</CODE>, <CODE>dgettext</CODE>, <CODE>dcgettext</CODE>
+
+<DT>textdomain
 <DD>
-Swedish.
-<DT><SAMP>`sw'</SAMP>
+<CODE>textdomain</CODE> function
+
+<DT>bindtextdomain
 <DD>
-Swahili.
-<DT><SAMP>`ta'</SAMP>
+<CODE>bindtextdomain</CODE> function
+
+<DT>setlocale
 <DD>
-Tamil.
-<DT><SAMP>`te'</SAMP>
+<CODE>setlocale</CODE> function
+
+<DT>Prerequisite
 <DD>
-Telugu.
-<DT><SAMP>`tg'</SAMP>
+---
+
+<DT>Use or emulate GNU gettext
 <DD>
-Tajik.
-<DT><SAMP>`th'</SAMP>
+use
+
+<DT>Extractor
 <DD>
-Thai.
-<DT><SAMP>`ti'</SAMP>
+---
+
+<DT>Formatting with positions
 <DD>
-Tigrinya.
-<DT><SAMP>`tk'</SAMP>
+---
+
+<DT>Portability
 <DD>
-Turkmen.
-<DT><SAMP>`tl'</SAMP>
+On platforms without gettext, the functions are not available.
+
+<DT>po-mode marking
 <DD>
-Tagalog.
-<DT><SAMP>`tn'</SAMP>
+---
+</DL>
+
+
+
+<H3><A NAME="SEC201" HREF="gettext_toc.html#TOC201">13.4.17  Pike</A></H3>
+
+<DL COMPACT>
+
+<DT>RPMs
 <DD>
-Tswana; Setswana.
-<DT><SAMP>`to'</SAMP>
+roxen
+
+<DT>File extension
 <DD>
-Tonga (?).
-<DT><SAMP>`tr'</SAMP>
+<CODE>pike</CODE>
+
+<DT>String syntax
 <DD>
-Turkish.
-<DT><SAMP>`ts'</SAMP>
+<CODE>"abc"</CODE>
+
+<DT>gettext shorthand
 <DD>
-Tsonga.
-<DT><SAMP>`tt'</SAMP>
+---
+
+<DT>gettext/ngettext functions
 <DD>
-Tatar.
-<DT><SAMP>`tw'</SAMP>
+<CODE>gettext</CODE>, <CODE>dgettext</CODE>, <CODE>dcgettext</CODE>
+
+<DT>textdomain
 <DD>
-Twi.
-<DT><SAMP>`ty'</SAMP>
+<CODE>textdomain</CODE> function
+
+<DT>bindtextdomain
 <DD>
-Tahitian.
-<DT><SAMP>`ug'</SAMP>
+<CODE>bindtextdomain</CODE> function
+
+<DT>setlocale
 <DD>
-Uighur.
-<DT><SAMP>`uk'</SAMP>
+<CODE>setlocale</CODE> function
+
+<DT>Prerequisite
 <DD>
-Ukrainian.
-<DT><SAMP>`ur'</SAMP>
+<CODE>import Locale.Gettext;</CODE>
+
+<DT>Use or emulate GNU gettext
 <DD>
-Urdu.
-<DT><SAMP>`uz'</SAMP>
+use
+
+<DT>Extractor
 <DD>
-Uzbek.
-<DT><SAMP>`vi'</SAMP>
+---
+
+<DT>Formatting with positions
 <DD>
-Vietnamese.
-<DT><SAMP>`vo'</SAMP>
+---
+
+<DT>Portability
 <DD>
-Volap@"{u}k; Volapuk.
-<DT><SAMP>`wo'</SAMP>
+On platforms without gettext, the functions are not available.
+
+<DT>po-mode marking
 <DD>
-Wolof.
-<DT><SAMP>`xh'</SAMP>
+---
+</DL>
+
+
+
+<H2><A NAME="SEC202" HREF="gettext_toc.html#TOC202">13.5  Internationalizable Data</A></H2>
+
+<P>
+Here is a list of other data formats which can be internationalized
+using GNU gettext.
+
+</P>
+
+
+
+<H3><A NAME="SEC203" HREF="gettext_toc.html#TOC203">13.5.1  POT - Portable Object Template</A></H3>
+
+<DL COMPACT>
+
+<DT>RPMs
 <DD>
-Xhosa.
-<DT><SAMP>`yi'</SAMP>
+gettext
+
+<DT>File extension
 <DD>
-Yiddish (formerly ji).
-<DT><SAMP>`yo'</SAMP>
+<CODE>pot</CODE>, <CODE>po</CODE>
+
+<DT>Extractor
 <DD>
-Yoruba.
-<DT><SAMP>`za'</SAMP>
+<CODE>xgettext</CODE>
+</DL>
+
+
+
+<H3><A NAME="SEC204" HREF="gettext_toc.html#TOC204">13.5.2  Resource String Table</A></H3>
+
+<DL COMPACT>
+
+<DT>RPMs
 <DD>
-Zhuang.
-<DT><SAMP>`zh'</SAMP>
+fpk
+
+<DT>File extension
 <DD>
-Chinese.
-<DT><SAMP>`zu'</SAMP>
+<CODE>rst</CODE>
+
+<DT>Extractor
 <DD>
-Zulu.
+<CODE>xgettext</CODE>, <CODE>rstconv</CODE>
 </DL>
 
 <P><HR><P>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_12.html">previous</A>, <A HREF="gettext_14.html">next</A>, <A HREF="gettext_14.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
+Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_12.html">previous</A>, <A HREF="gettext_14.html">next</A>, <A HREF="gettext_16.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
 </BODY>
 </HTML>
index 99ad0ca6ddddd5eba5f898f39c4db7bc4ce2c50c..8032c286c770ee4586d67811aed9a17e465e0d3c 100644 (file)
 <HTML>
 <HEAD>
-<!-- This HTML file has been created by texi2html 1.51
-     from gettext.texi on 19 April 2001 -->
+<!-- This HTML file has been created by texi2html 1.52a
+     from gettext.texi on 30 November 2001 -->
 
-<TITLE>GNU gettext utilities - B  Country Codes</TITLE>
+<TITLE>GNU gettext utilities - 14  Concluding Remarks</TITLE>
 </HEAD>
 <BODY>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_13.html">previous</A>, next, last section, <A HREF="gettext_toc.html">table of contents</A>.
+Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_13.html">previous</A>, <A HREF="gettext_15.html">next</A>, <A HREF="gettext_16.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
 <P><HR><P>
 
 
-<H1><A NAME="SEC88" HREF="gettext_toc.html#TOC88">B  Country Codes</A></H1>
+<H1><A NAME="SEC205" HREF="gettext_toc.html#TOC205">14  Concluding Remarks</A></H1>
 
 <P>
-The ISO 3166 standard defines two character codes for many countries
-and territories.  All abbreviations for countries used in the Translation
-Project should come from this standard.
+We would like to conclude this GNU <CODE>gettext</CODE> manual by presenting
+an history of the Translation Project so far.  We finally give
+a few pointers for those who want to do further research or readings
+about Native Language Support matters.
 
 </P>
-<DL COMPACT>
-
-<DT><SAMP>`AD'</SAMP>
-<DD>
-Andorra.
-<DT><SAMP>`AE'</SAMP>
-<DD>
-United Arab Emirates.
-<DT><SAMP>`AF'</SAMP>
-<DD>
-Afghanistan.
-<DT><SAMP>`AG'</SAMP>
-<DD>
-Antigua and Barbuda.
-<DT><SAMP>`AI'</SAMP>
-<DD>
-Anguilla.
-<DT><SAMP>`AL'</SAMP>
-<DD>
-Albania.
-<DT><SAMP>`AM'</SAMP>
-<DD>
-Armenia.
-<DT><SAMP>`AN'</SAMP>
-<DD>
-Netherlands Antilles.
-<DT><SAMP>`AO'</SAMP>
-<DD>
-Angola.
-<DT><SAMP>`AQ'</SAMP>
-<DD>
-Antarctica.
-<DT><SAMP>`AR'</SAMP>
-<DD>
-Argentina.
-<DT><SAMP>`AS'</SAMP>
-<DD>
-Samoa (American).
-<DT><SAMP>`AT'</SAMP>
-<DD>
-Austria.
-<DT><SAMP>`AU'</SAMP>
-<DD>
-Australia.
-<DT><SAMP>`AW'</SAMP>
-<DD>
-Aruba.
-<DT><SAMP>`AZ'</SAMP>
-<DD>
-Azerbaijan.
-<DT><SAMP>`BA'</SAMP>
-<DD>
-Bosnia and Herzegovina.
-<DT><SAMP>`BB'</SAMP>
-<DD>
-Barbados.
-<DT><SAMP>`BD'</SAMP>
-<DD>
-Bangladesh.
-<DT><SAMP>`BE'</SAMP>
-<DD>
-Belgium.
-<DT><SAMP>`BF'</SAMP>
-<DD>
-Burkina Faso.
-<DT><SAMP>`BG'</SAMP>
-<DD>
-Bulgaria.
-<DT><SAMP>`BH'</SAMP>
-<DD>
-Bahrain.
-<DT><SAMP>`BI'</SAMP>
-<DD>
-Burundi.
-<DT><SAMP>`BJ'</SAMP>
-<DD>
-Benin.
-<DT><SAMP>`BM'</SAMP>
-<DD>
-Bermuda.
-<DT><SAMP>`BN'</SAMP>
-<DD>
-Brunei.
-<DT><SAMP>`BO'</SAMP>
-<DD>
-Bolivia.
-<DT><SAMP>`BR'</SAMP>
-<DD>
-Brazil.
-<DT><SAMP>`BS'</SAMP>
-<DD>
-Bahamas.
-<DT><SAMP>`BT'</SAMP>
-<DD>
-Bhutan.
-<DT><SAMP>`BV'</SAMP>
-<DD>
-Bouvet Island.
-<DT><SAMP>`BW'</SAMP>
-<DD>
-Botswana.
-<DT><SAMP>`BY'</SAMP>
-<DD>
-Belarus.
-<DT><SAMP>`BZ'</SAMP>
-<DD>
-Belize.
-<DT><SAMP>`CA'</SAMP>
-<DD>
-Canada.
-<DT><SAMP>`CC'</SAMP>
-<DD>
-Cocos (Keeling) Islands.
-<DT><SAMP>`CD'</SAMP>
-<DD>
-Congo (Dem. Rep.).
-<DT><SAMP>`CF'</SAMP>
-<DD>
-Central African Rep..
-<DT><SAMP>`CG'</SAMP>
-<DD>
-Congo (Rep.).
-<DT><SAMP>`CH'</SAMP>
-<DD>
-Switzerland.
-<DT><SAMP>`CI'</SAMP>
-<DD>
-Cote d'Ivoire.
-<DT><SAMP>`CK'</SAMP>
-<DD>
-Cook Islands.
-<DT><SAMP>`CL'</SAMP>
-<DD>
-Chile.
-<DT><SAMP>`CM'</SAMP>
-<DD>
-Cameroon.
-<DT><SAMP>`CN'</SAMP>
-<DD>
-China.
-<DT><SAMP>`CO'</SAMP>
-<DD>
-Colombia.
-<DT><SAMP>`CR'</SAMP>
-<DD>
-Costa Rica.
-<DT><SAMP>`CU'</SAMP>
-<DD>
-Cuba.
-<DT><SAMP>`CV'</SAMP>
-<DD>
-Cape Verde.
-<DT><SAMP>`CX'</SAMP>
-<DD>
-Christmas Island.
-<DT><SAMP>`CY'</SAMP>
-<DD>
-Cyprus.
-<DT><SAMP>`CZ'</SAMP>
-<DD>
-Czech Republic.
-<DT><SAMP>`DE'</SAMP>
-<DD>
-Germany.
-<DT><SAMP>`DJ'</SAMP>
-<DD>
-Djibouti.
-<DT><SAMP>`DK'</SAMP>
-<DD>
-Denmark.
-<DT><SAMP>`DM'</SAMP>
-<DD>
-Dominica.
-<DT><SAMP>`DO'</SAMP>
-<DD>
-Dominican Republic.
-<DT><SAMP>`DZ'</SAMP>
-<DD>
-Algeria.
-<DT><SAMP>`EC'</SAMP>
-<DD>
-Ecuador.
-<DT><SAMP>`EE'</SAMP>
-<DD>
-Estonia.
-<DT><SAMP>`EG'</SAMP>
-<DD>
-Egypt.
-<DT><SAMP>`EH'</SAMP>
-<DD>
-Western Sahara.
-<DT><SAMP>`ER'</SAMP>
-<DD>
-Eritrea.
-<DT><SAMP>`ES'</SAMP>
-<DD>
-Spain.
-<DT><SAMP>`ET'</SAMP>
-<DD>
-Ethiopia.
-<DT><SAMP>`FI'</SAMP>
-<DD>
-Finland.
-<DT><SAMP>`FJ'</SAMP>
-<DD>
-Fiji.
-<DT><SAMP>`FK'</SAMP>
-<DD>
-Falkland Islands.
-<DT><SAMP>`FM'</SAMP>
-<DD>
-Micronesia.
-<DT><SAMP>`FO'</SAMP>
-<DD>
-Faeroe Islands.
-<DT><SAMP>`FR'</SAMP>
-<DD>
-France.
-<DT><SAMP>`GA'</SAMP>
-<DD>
-Gabon.
-<DT><SAMP>`GB'</SAMP>
-<DD>
-Britain (UK).
-<DT><SAMP>`GD'</SAMP>
-<DD>
-Grenada.
-<DT><SAMP>`GE'</SAMP>
-<DD>
-Georgia.
-<DT><SAMP>`GF'</SAMP>
-<DD>
-French Guiana.
-<DT><SAMP>`GH'</SAMP>
-<DD>
-Ghana.
-<DT><SAMP>`GI'</SAMP>
-<DD>
-Gibraltar.
-<DT><SAMP>`GL'</SAMP>
-<DD>
-Greenland.
-<DT><SAMP>`GM'</SAMP>
-<DD>
-Gambia.
-<DT><SAMP>`GN'</SAMP>
-<DD>
-Guinea.
-<DT><SAMP>`GP'</SAMP>
-<DD>
-Guadeloupe.
-<DT><SAMP>`GQ'</SAMP>
-<DD>
-Equatorial Guinea.
-<DT><SAMP>`GR'</SAMP>
-<DD>
-Greece.
-<DT><SAMP>`GS'</SAMP>
-<DD>
-South Georgia and the South Sandwich Islands.
-<DT><SAMP>`GT'</SAMP>
-<DD>
-Guatemala.
-<DT><SAMP>`GU'</SAMP>
-<DD>
-Guam.
-<DT><SAMP>`GW'</SAMP>
-<DD>
-Guinea-Bissau.
-<DT><SAMP>`GY'</SAMP>
-<DD>
-Guyana.
-<DT><SAMP>`HK'</SAMP>
-<DD>
-Hong Kong.
-<DT><SAMP>`HM'</SAMP>
-<DD>
-Heard Island and McDonald Islands.
-<DT><SAMP>`HN'</SAMP>
-<DD>
-Honduras.
-<DT><SAMP>`HR'</SAMP>
-<DD>
-Croatia.
-<DT><SAMP>`HT'</SAMP>
-<DD>
-Haiti.
-<DT><SAMP>`HU'</SAMP>
-<DD>
-Hungary.
-<DT><SAMP>`ID'</SAMP>
-<DD>
-Indonesia.
-<DT><SAMP>`IE'</SAMP>
-<DD>
-Ireland.
-<DT><SAMP>`IL'</SAMP>
-<DD>
-Israel.
-<DT><SAMP>`IN'</SAMP>
-<DD>
-India.
-<DT><SAMP>`IO'</SAMP>
-<DD>
-British Indian Ocean Territory.
-<DT><SAMP>`IQ'</SAMP>
-<DD>
-Iraq.
-<DT><SAMP>`IR'</SAMP>
-<DD>
-Iran.
-<DT><SAMP>`IS'</SAMP>
-<DD>
-Iceland.
-<DT><SAMP>`IT'</SAMP>
-<DD>
-Italy.
-<DT><SAMP>`JM'</SAMP>
-<DD>
-Jamaica.
-<DT><SAMP>`JO'</SAMP>
-<DD>
-Jordan.
-<DT><SAMP>`JP'</SAMP>
-<DD>
-Japan.
-<DT><SAMP>`KE'</SAMP>
-<DD>
-Kenya.
-<DT><SAMP>`KG'</SAMP>
-<DD>
-Kyrgyzstan.
-<DT><SAMP>`KH'</SAMP>
-<DD>
-Cambodia.
-<DT><SAMP>`KI'</SAMP>
-<DD>
-Kiribati.
-<DT><SAMP>`KM'</SAMP>
-<DD>
-Comoros.
-<DT><SAMP>`KN'</SAMP>
-<DD>
-St Kitts and Nevis.
-<DT><SAMP>`KP'</SAMP>
-<DD>
-Korea (North).
-<DT><SAMP>`KR'</SAMP>
-<DD>
-Korea (South).
-<DT><SAMP>`KW'</SAMP>
-<DD>
-Kuwait.
-<DT><SAMP>`KY'</SAMP>
-<DD>
-Cayman Islands.
-<DT><SAMP>`KZ'</SAMP>
-<DD>
-Kazakhstan.
-<DT><SAMP>`LA'</SAMP>
-<DD>
-Laos.
-<DT><SAMP>`LB'</SAMP>
-<DD>
-Lebanon.
-<DT><SAMP>`LC'</SAMP>
-<DD>
-St Lucia.
-<DT><SAMP>`LI'</SAMP>
-<DD>
-Liechtenstein.
-<DT><SAMP>`LK'</SAMP>
-<DD>
-Sri Lanka.
-<DT><SAMP>`LR'</SAMP>
-<DD>
-Liberia.
-<DT><SAMP>`LS'</SAMP>
-<DD>
-Lesotho.
-<DT><SAMP>`LT'</SAMP>
-<DD>
-Lithuania.
-<DT><SAMP>`LU'</SAMP>
-<DD>
-Luxembourg.
-<DT><SAMP>`LV'</SAMP>
-<DD>
-Latvia.
-<DT><SAMP>`LY'</SAMP>
-<DD>
-Libya.
-<DT><SAMP>`MA'</SAMP>
-<DD>
-Morocco.
-<DT><SAMP>`MC'</SAMP>
-<DD>
-Monaco.
-<DT><SAMP>`MD'</SAMP>
-<DD>
-Moldova.
-<DT><SAMP>`MG'</SAMP>
-<DD>
-Madagascar.
-<DT><SAMP>`MH'</SAMP>
-<DD>
-Marshall Islands.
-<DT><SAMP>`MK'</SAMP>
-<DD>
-Macedonia.
-<DT><SAMP>`ML'</SAMP>
-<DD>
-Mali.
-<DT><SAMP>`MM'</SAMP>
-<DD>
-Myanmar (Burma).
-<DT><SAMP>`MN'</SAMP>
-<DD>
-Mongolia.
-<DT><SAMP>`MO'</SAMP>
-<DD>
-Macao.
-<DT><SAMP>`MP'</SAMP>
-<DD>
-Northern Mariana Islands.
-<DT><SAMP>`MQ'</SAMP>
-<DD>
-Martinique.
-<DT><SAMP>`MR'</SAMP>
-<DD>
-Mauritania.
-<DT><SAMP>`MS'</SAMP>
-<DD>
-Montserrat.
-<DT><SAMP>`MT'</SAMP>
-<DD>
-Malta.
-<DT><SAMP>`MU'</SAMP>
-<DD>
-Mauritius.
-<DT><SAMP>`MV'</SAMP>
-<DD>
-Maldives.
-<DT><SAMP>`MW'</SAMP>
-<DD>
-Malawi.
-<DT><SAMP>`MX'</SAMP>
-<DD>
-Mexico.
-<DT><SAMP>`MY'</SAMP>
-<DD>
-Malaysia.
-<DT><SAMP>`MZ'</SAMP>
-<DD>
-Mozambique.
-<DT><SAMP>`NA'</SAMP>
-<DD>
-Namibia.
-<DT><SAMP>`NC'</SAMP>
-<DD>
-New Caledonia.
-<DT><SAMP>`NE'</SAMP>
-<DD>
-Niger.
-<DT><SAMP>`NF'</SAMP>
-<DD>
-Norfolk Island.
-<DT><SAMP>`NG'</SAMP>
-<DD>
-Nigeria.
-<DT><SAMP>`NI'</SAMP>
-<DD>
-Nicaragua.
-<DT><SAMP>`NL'</SAMP>
-<DD>
-Netherlands.
-<DT><SAMP>`NO'</SAMP>
-<DD>
-Norway.
-<DT><SAMP>`NP'</SAMP>
-<DD>
-Nepal.
-<DT><SAMP>`NR'</SAMP>
-<DD>
-Nauru.
-<DT><SAMP>`NU'</SAMP>
-<DD>
-Niue.
-<DT><SAMP>`NZ'</SAMP>
-<DD>
-New Zealand.
-<DT><SAMP>`OM'</SAMP>
-<DD>
-Oman.
-<DT><SAMP>`PA'</SAMP>
-<DD>
-Panama.
-<DT><SAMP>`PE'</SAMP>
-<DD>
-Peru.
-<DT><SAMP>`PF'</SAMP>
-<DD>
-French Polynesia.
-<DT><SAMP>`PG'</SAMP>
-<DD>
-Papua New Guinea.
-<DT><SAMP>`PH'</SAMP>
-<DD>
-Philippines.
-<DT><SAMP>`PK'</SAMP>
-<DD>
-Pakistan.
-<DT><SAMP>`PL'</SAMP>
-<DD>
-Poland.
-<DT><SAMP>`PM'</SAMP>
-<DD>
-St Pierre and Miquelon.
-<DT><SAMP>`PN'</SAMP>
-<DD>
-Pitcairn.
-<DT><SAMP>`PR'</SAMP>
-<DD>
-Puerto Rico.
-<DT><SAMP>`PS'</SAMP>
-<DD>
-Palestine.
-<DT><SAMP>`PT'</SAMP>
-<DD>
-Portugal.
-<DT><SAMP>`PW'</SAMP>
-<DD>
-Palau.
-<DT><SAMP>`PY'</SAMP>
-<DD>
-Paraguay.
-<DT><SAMP>`QA'</SAMP>
-<DD>
-Qatar.
-<DT><SAMP>`RE'</SAMP>
-<DD>
-Reunion.
-<DT><SAMP>`RO'</SAMP>
-<DD>
-Romania.
-<DT><SAMP>`RU'</SAMP>
-<DD>
-Russia.
-<DT><SAMP>`RW'</SAMP>
-<DD>
-Rwanda.
-<DT><SAMP>`SA'</SAMP>
-<DD>
-Saudi Arabia.
-<DT><SAMP>`SB'</SAMP>
-<DD>
-Solomon Islands.
-<DT><SAMP>`SC'</SAMP>
-<DD>
-Seychelles.
-<DT><SAMP>`SD'</SAMP>
-<DD>
-Sudan.
-<DT><SAMP>`SE'</SAMP>
-<DD>
-Sweden.
-<DT><SAMP>`SG'</SAMP>
-<DD>
-Singapore.
-<DT><SAMP>`SH'</SAMP>
-<DD>
-St Helena.
-<DT><SAMP>`SI'</SAMP>
-<DD>
-Slovenia.
-<DT><SAMP>`SJ'</SAMP>
-<DD>
-Svalbard and Jan Mayen.
-<DT><SAMP>`SK'</SAMP>
-<DD>
-Slovakia.
-<DT><SAMP>`SL'</SAMP>
-<DD>
-Sierra Leone.
-<DT><SAMP>`SM'</SAMP>
-<DD>
-San Marino.
-<DT><SAMP>`SN'</SAMP>
-<DD>
-Senegal.
-<DT><SAMP>`SO'</SAMP>
-<DD>
-Somalia.
-<DT><SAMP>`SR'</SAMP>
-<DD>
-Suriname.
-<DT><SAMP>`ST'</SAMP>
-<DD>
-Sao Tome and Principe.
-<DT><SAMP>`SV'</SAMP>
-<DD>
-El Salvador.
-<DT><SAMP>`SY'</SAMP>
-<DD>
-Syria.
-<DT><SAMP>`SZ'</SAMP>
-<DD>
-Swaziland.
-<DT><SAMP>`TC'</SAMP>
-<DD>
-Turks and Caicos Is.
-<DT><SAMP>`TD'</SAMP>
-<DD>
-Chad.
-<DT><SAMP>`TF'</SAMP>
-<DD>
-French Southern and Antarctic Lands.
-<DT><SAMP>`TG'</SAMP>
-<DD>
-Togo.
-<DT><SAMP>`TH'</SAMP>
-<DD>
-Thailand.
-<DT><SAMP>`TJ'</SAMP>
-<DD>
-Tajikistan.
-<DT><SAMP>`TK'</SAMP>
-<DD>
-Tokelau.
-<DT><SAMP>`TM'</SAMP>
-<DD>
-Turkmenistan.
-<DT><SAMP>`TN'</SAMP>
-<DD>
-Tunisia.
-<DT><SAMP>`TO'</SAMP>
-<DD>
-Tonga.
-<DT><SAMP>`TP'</SAMP>
-<DD>
-East Timor.
-<DT><SAMP>`TR'</SAMP>
-<DD>
-Turkey.
-<DT><SAMP>`TT'</SAMP>
-<DD>
-Trinidad and Tobago.
-<DT><SAMP>`TV'</SAMP>
-<DD>
-Tuvalu.
-<DT><SAMP>`TW'</SAMP>
-<DD>
-Taiwan.
-<DT><SAMP>`TZ'</SAMP>
-<DD>
-Tanzania.
-<DT><SAMP>`UA'</SAMP>
-<DD>
-Ukraine.
-<DT><SAMP>`UG'</SAMP>
-<DD>
-Uganda.
-<DT><SAMP>`UM'</SAMP>
-<DD>
-US minor outlying islands.
-<DT><SAMP>`US'</SAMP>
-<DD>
-United States.
-<DT><SAMP>`UY'</SAMP>
-<DD>
-Uruguay.
-<DT><SAMP>`UZ'</SAMP>
-<DD>
-Uzbekistan.
-<DT><SAMP>`VA'</SAMP>
-<DD>
-Vatican City.
-<DT><SAMP>`VC'</SAMP>
-<DD>
-St Vincent.
-<DT><SAMP>`VE'</SAMP>
-<DD>
-Venezuela.
-<DT><SAMP>`VG'</SAMP>
-<DD>
-Virgin Islands (UK).
-<DT><SAMP>`VI'</SAMP>
-<DD>
-Virgin Islands (US).
-<DT><SAMP>`VN'</SAMP>
-<DD>
-Vietnam.
-<DT><SAMP>`VU'</SAMP>
-<DD>
-Vanuatu.
-<DT><SAMP>`WF'</SAMP>
-<DD>
-Wallis and Futuna.
-<DT><SAMP>`WS'</SAMP>
-<DD>
-Samoa (Western).
-<DT><SAMP>`YE'</SAMP>
-<DD>
-Yemen.
-<DT><SAMP>`YT'</SAMP>
-<DD>
-Mayotte.
-<DT><SAMP>`YU'</SAMP>
-<DD>
-Yugoslavia.
-<DT><SAMP>`ZA'</SAMP>
-<DD>
-South Africa.
-<DT><SAMP>`ZM'</SAMP>
-<DD>
-Zambia.
-<DT><SAMP>`ZW'</SAMP>
-<DD>
-Zimbabwe.
-</DL>
 
+
+
+<H2><A NAME="SEC206" HREF="gettext_toc.html#TOC206">14.1  History of GNU <CODE>gettext</CODE></A></H2>
+
+<P>
+Internationalization concerns and algorithms have been informally
+and casually discussed for years in GNU, sometimes around GNU
+<CODE>libc</CODE>, maybe around the incoming <CODE>Hurd</CODE>, or otherwise
+(nobody clearly remembers).  And even then, when the work started for
+real, this was somewhat independently of these previous discussions.
+
+</P>
+<P>
+This all began in July 1994, when Patrick D'Cruze had the idea and
+initiative of internationalizing version 3.9.2 of GNU <CODE>fileutils</CODE>.
+He then asked Jim Meyering, the maintainer, how to get those changes
+folded into an official release.  That first draft was full of
+<CODE>#ifdef</CODE>s and somewhat disconcerting, and Jim wanted to find
+nicer ways.  Patrick and Jim shared some tries and experimentations
+in this area.  Then, feeling that this might eventually have a deeper
+impact on GNU, Jim wanted to know what standards were, and contacted
+Richard Stallman, who very quickly and verbally described an overall
+design for what was meant to become <CODE>glocale</CODE>, at that time.
+
+</P>
+<P>
+Jim implemented <CODE>glocale</CODE> and got a lot of exhausting feedback
+from Patrick and Richard, of course, but also from Mitchum DSouza
+(who wrote a <CODE>catgets</CODE>-like package), Roland McGrath, maybe David
+MacKenzie, Fran&ccedil;ois Pinard, and Paul Eggert, all pushing and
+pulling in various directions, not always compatible, to the extent
+that after a couple of test releases, <CODE>glocale</CODE> was torn apart.
+
+</P>
+<P>
+While Jim took some distance and time and became dad for a second
+time, Roland wanted to get GNU <CODE>libc</CODE> internationalized, and
+got Ulrich Drepper involved in that project.  Instead of starting
+from <CODE>glocale</CODE>, Ulrich rewrote something from scratch, but
+more conformant to the set of guidelines who emerged out of the
+<CODE>glocale</CODE> effort.  Then, Ulrich got people from the previous
+forum to involve themselves into this new project, and the switch
+from <CODE>glocale</CODE> to what was first named <CODE>msgutils</CODE>, renamed
+<CODE>nlsutils</CODE>, and later <CODE>gettext</CODE>, became officially accepted
+by Richard in May 1995 or so.
+
+</P>
+<P>
+Let's summarize by saying that Ulrich Drepper wrote GNU <CODE>gettext</CODE>
+in April 1995.  The first official release of the package, including
+PO mode, occurred in July 1995, and was numbered 0.7.  Other people
+contributed to the effort by providing a discussion forum around
+Ulrich, writing little pieces of code, or testing.  These are quoted
+in the <CODE>THANKS</CODE> file which comes with the GNU <CODE>gettext</CODE>
+distribution.
+
+</P>
+<P>
+While this was being done, Fran&ccedil;ois adapted half a dozen of
+GNU packages to <CODE>glocale</CODE> first, then later to <CODE>gettext</CODE>,
+putting them in pretest, so providing along the way an effective
+user environment for fine tuning the evolving tools.  He also took
+the responsibility of organizing and coordinating the Translation
+Project.  After nearly a year of informal exchanges between people from
+many countries, translator teams started to exist in May 1995, through
+the creation and support by Patrick D'Cruze of twenty unmoderated
+mailing lists for that many native languages, and two moderated
+lists: one for reaching all teams at once, the other for reaching
+all willing maintainers of internationalized free software packages.
+
+</P>
+<P>
+Fran&ccedil;ois also wrote PO mode in June 1995 with the collaboration
+of Greg McGary, as a kind of contribution to Ulrich's package.
+He also gave a hand with the GNU <CODE>gettext</CODE> Texinfo manual.
+
+</P>
+<P>
+In 1997, Ulrich Drepper released the GNU libc 2.0, which included the
+<CODE>gettext</CODE>, <CODE>textdomain</CODE> and <CODE>bindtextdomain</CODE> functions.
+
+</P>
+<P>
+In 2000, Ulrich Drepper added plural form handling (the <CODE>ngettext</CODE>
+function) to GNU libc.  Later, in 2001, he released GNU libc 2.2.x,
+which is the first free C library with full internationalization support.
+
+</P>
+<P>
+Ulrich being quite busy in his role of General Maintainer of GNU libc,
+he handed over the GNU <CODE>gettext</CODE> maintenance to Bruno Haible in
+2000.  Bruno added the plural form handling to the tools as well, added
+support for UTF-8 and CJK locales, and wrote a few new tools for
+manipulating PO files.
+
+</P>
+
+
+<H2><A NAME="SEC207" HREF="gettext_toc.html#TOC207">14.2  Related Readings</A></H2>
+
+<P>
+Eugene H. Dorr (<TT>`dorre@well.com&acute;</TT>) maintains an interesting
+bibliography on internationalization matters, called
+<CITE>Internationalization Reference List</CITE>, which is available as:
+
+<PRE>
+ftp://ftp.ora.com/pub/examples/nutshell/ujip/doc/i18n-books.txt
+</PRE>
+
+<P>
+Michael Gschwind (<TT>`mike@vlsivie.tuwien.ac.at&acute;</TT>) maintains a
+Frequently Asked Questions (FAQ) list, entitled <CITE>Programming for
+Internationalisation</CITE>.  This FAQ discusses writing programs which
+can handle different language conventions, character sets, etc.;
+and is applicable to all character set encodings, with particular
+emphasis on ISO 8859-1.  It is regularly published in Usenet
+groups <TT>`comp.unix.questions&acute;</TT>, <TT>`comp.std.internat&acute;</TT>,
+<TT>`comp.software.international&acute;</TT>, <TT>`comp.lang.c&acute;</TT>,
+<TT>`comp.windows.x&acute;</TT>, <TT>`comp.std.c&acute;</TT>, <TT>`comp.answers&acute;</TT>
+and <TT>`news.answers&acute;</TT>.  The home location of this document is:
+
+<PRE>
+ftp://ftp.vlsivie.tuwien.ac.at/pub/8bit/ISO-programming
+</PRE>
+
+<P>
+Patrick D'Cruze (<TT>`pdcruze@li.org&acute;</TT>) wrote a tutorial about NLS
+matters, and Jochen Hein (<TT>`Hein@student.tu-clausthal.de&acute;</TT>) took
+over the responsibility of maintaining it.  It may be found as:
+
+<PRE>
+ftp://sunsite.unc.edu/pub/Linux/utils/nls/catalogs/Incoming/...
+     ...locale-tutorial-0.8.txt.gz
+</PRE>
+
+<P>
+This site is mirrored in:
+
+<PRE>
+ftp://ftp.ibp.fr/pub/linux/sunsite/
+</PRE>
+
+<P>
+A French version of the same tutorial should be findable at:
+
+<PRE>
+ftp://ftp.ibp.fr/pub/linux/french/docs/
+</PRE>
+
+<P>
+together with French translations of many Linux-related documents.
+
+</P>
 <P><HR><P>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_13.html">previous</A>, next, last section, <A HREF="gettext_toc.html">table of contents</A>.
+Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_13.html">previous</A>, <A HREF="gettext_15.html">next</A>, <A HREF="gettext_16.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
 </BODY>
 </HTML>
index fcf1a0588ce59529bc1d052c5aa0552db835d629..475b5a01ff542c89949edc4a33eeb8773d6b2708 100644 (file)
@@ -1,12 +1,12 @@
 <HTML>
 <HEAD>
-<!-- This HTML file has been created by texi2html 1.51
-     from gettext.texi on 19 April 2001 -->
+<!-- This HTML file has been created by texi2html 1.52a
+     from gettext.texi on 30 November 2001 -->
 
 <TITLE>GNU gettext utilities - 2  PO Files and PO Mode Basics</TITLE>
 </HEAD>
 <BODY>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_1.html">previous</A>, <A HREF="gettext_3.html">next</A>, <A HREF="gettext_14.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
+Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_1.html">previous</A>, <A HREF="gettext_3.html">next</A>, <A HREF="gettext_16.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
 <P><HR><P>
 
 
@@ -28,7 +28,7 @@ in one place.  Here we present only the basics of PO mode.
 
 <P>
 Once you have received, unpacked, configured and compiled the GNU
-<CODE>gettext</CODE> distribution, the <SAMP>`make install'</SAMP> command puts in
+<CODE>gettext</CODE> distribution, the <SAMP>`make install&acute;</SAMP> command puts in
 place the programs <CODE>xgettext</CODE>, <CODE>msgfmt</CODE>, <CODE>gettext</CODE>, and
 <CODE>msgmerge</CODE>, as well as their available message catalogs.  To
 top off a comfortable installation, you might also want to make the
@@ -37,21 +37,21 @@ PO mode available to your Emacs users.
 </P>
 <P>
 During the installation of the PO mode, you might want to modify your
-file <TT>`.emacs'</TT>, once and for all, so it contains a few lines looking
+file <TT>`.emacs&acute;</TT>, once and for all, so it contains a few lines looking
 like:
 
 </P>
 
 <PRE>
 (setq auto-mode-alist
-      (cons '("\\.po[tx]?\\'\\|\\.po\\." . po-mode) auto-mode-alist))
+      (cons '("\\.po\\'\\|\\.po\\." . po-mode) auto-mode-alist))
 (autoload 'po-mode "po-mode" "Major mode for translators to edit PO files" t)
 </PRE>
 
 <P>
-Later, whenever you edit some <TT>`.po'</TT>, <TT>`.pot'</TT> or <TT>`.pox'</TT>
-file, or any file having the string <SAMP>`.po.'</SAMP> within its name,
-Emacs loads <TT>`po-mode.elc'</TT> (or <TT>`po-mode.el'</TT>) as needed, and
+Later, whenever you edit some <TT>`.po&acute;</TT>
+file, or any file having the string <SAMP>`.po.&acute;</SAMP> within its name,
+Emacs loads <TT>`po-mode.elc&acute;</TT> (or <TT>`po-mode.el&acute;</TT>) as needed, and
 automatically activates PO mode commands for the associated buffer.
 The string <EM>PO</EM> appears in the mode line for any buffer for
 which PO mode is active.  Many PO files may be active at once in a
@@ -69,13 +69,13 @@ to happen, add the lines:
 </P>
 
 <PRE>
-(modify-coding-system-alist 'file "\\.po[tx]?\\'\\|\\.po\\."
+(modify-coding-system-alist 'file "\\.po\\'\\|\\.po\\."
                             'po-find-file-coding-system)
 (autoload 'po-find-file-coding-system "po-mode")
 </PRE>
 
 <P>
-to your <TT>`.emacs'</TT> file.  If, with this, you still see boxes instead
+to your <TT>`.emacs&acute;</TT> file.  If, with this, you still see boxes instead
 of international characters, try a different font set (via Shift Mouse
 button 1).
 
@@ -89,7 +89,7 @@ A PO file is made up of many entries, each entry holding the relation
 between an original untranslated string and its corresponding
 translation.  All entries in a given PO file usually pertain
 to a single project, and all translations are expressed in a single
-target language.  One PO file <STRONG>entry</STRONG> has the following schematic
+target language.  One PO file <EM>entry</EM> has the following schematic
 structure:
 
 </P>
@@ -163,7 +163,7 @@ can judge if the translation requires further modification, or is
 acceptable as is.  Once satisfied with the translation, she then removes
 this <KBD>fuzzy</KBD> attribute.  The <CODE>msgmerge</CODE> program inserts this
 when it combined the <CODE>msgid</CODE> and <CODE>msgstr</CODE> entries after fuzzy
-search only.  See section <A HREF="gettext_6.html#SEC25">6.3  Fuzzy Entries</A>.
+search only.  See section <A HREF="gettext_6.html#SEC45">6.3  Fuzzy Entries</A>.
 
 <DT><KBD>c-format</KBD>
 <DD>
@@ -176,7 +176,7 @@ soon as the <CODE>xgettext</CODE> program generates a new template file.
 
 In case the <KBD>c-format</KBD> flag is given for a string the <CODE>msgfmt</CODE>
 does some more tests to check to validity of the translation.
-See section <A HREF="gettext_7.html#SEC35">7.1  Invoking the <CODE>msgfmt</CODE> Program</A>.
+See section <A HREF="gettext_8.html#SEC115">8.1  Invoking the <CODE>msgfmt</CODE> Program</A>.
 
 </DL>
 
@@ -233,34 +233,34 @@ msgid ""
 
 <P>
 In this example, the empty string is used on the first line, to
-allow better alignment of the <KBD>H</KBD> from the word <SAMP>`Here'</SAMP>
-over the <KBD>f</KBD> from the word <SAMP>`for'</SAMP>.  In this example, the
+allow better alignment of the <KBD>H</KBD> from the word <SAMP>`Here&acute;</SAMP>
+over the <KBD>f</KBD> from the word <SAMP>`for&acute;</SAMP>.  In this example, the
 <CODE>msgid</CODE> keyword is followed by three strings, which are meant
 to be concatenated.  Concatenating the empty string does not change
 the resulting overall string, but it is a way for us to comply with
 the necessity of <CODE>msgid</CODE> to be followed by a string on the same
 line, while keeping the multi-line presentation left-justified, as
 we find this to be a cleaner disposition.  The empty string could have
-been omitted, but only if the string starting with <SAMP>`Here'</SAMP> was
+been omitted, but only if the string starting with <SAMP>`Here&acute;</SAMP> was
 promoted on the first line, right after <CODE>msgid</CODE>.<A NAME="DOCF2" HREF="gettext_foot.html#FOOT2">(2)</A> It was not really necessary
 either to switch between the two last quoted strings immediately after
-the newline <SAMP>`\n'</SAMP>, the switch could have occurred after <EM>any</EM>
+the newline <SAMP>`\n&acute;</SAMP>, the switch could have occurred after <EM>any</EM>
 other character, we just did it this way because it is neater.
 
 </P>
 <P>
 One should carefully distinguish between end of lines marked as
-<SAMP>`\n'</SAMP> <EM>inside</EM> quotes, which are part of the represented
+<SAMP>`\n&acute;</SAMP> <EM>inside</EM> quotes, which are part of the represented
 string, and end of lines in the PO file itself, outside string quotes,
 which have no incidence on the represented string.
 
 </P>
 <P>
 Outside strings, white lines and comments may be used freely.
-Comments start at the beginning of a line with <SAMP>`#'</SAMP> and extend
+Comments start at the beginning of a line with <SAMP>`#&acute;</SAMP> and extend
 until the end of the PO file line.  Comments written by translators
-should have the initial <SAMP>`#'</SAMP> immediately followed by some white
-space.  If the <SAMP>`#'</SAMP> is not immediately followed by white space,
+should have the initial <SAMP>`#&acute;</SAMP> immediately followed by some white
+space.  If the <SAMP>`#&acute;</SAMP> is not immediately followed by white space,
 this comment is most likely generated and managed by specialized GNU
 tools, and might disappear or be replaced unexpectedly when the PO
 file is given to <CODE>msgmerge</CODE>.
@@ -280,16 +280,16 @@ if any, will be executed.
 
 </P>
 <P>
-When PO mode is active in a window, the letters <SAMP>`PO'</SAMP> appear
+When PO mode is active in a window, the letters <SAMP>`PO&acute;</SAMP> appear
 in the mode line for that window.  The mode line also displays how
 many entries of each kind are held in the PO file.  For example,
-the string <SAMP>`132t+3f+10u+2o'</SAMP> would tell the translator that the
-PO mode contains 132 translated entries (see section <A HREF="gettext_6.html#SEC24">6.2  Translated Entries</A>,
-3 fuzzy entries (see section <A HREF="gettext_6.html#SEC25">6.3  Fuzzy Entries</A>), 10 untranslated entries
-(see section <A HREF="gettext_6.html#SEC26">6.4  Untranslated Entries</A>) and 2 obsolete entries (see section <A HREF="gettext_6.html#SEC27">6.5  Obsolete Entries</A>).  Zero-coefficients items are not shown.  So, in this example, if
+the string <SAMP>`132t+3f+10u+2o&acute;</SAMP> would tell the translator that the
+PO mode contains 132 translated entries (see section <A HREF="gettext_6.html#SEC44">6.2  Translated Entries</A>,
+3 fuzzy entries (see section <A HREF="gettext_6.html#SEC45">6.3  Fuzzy Entries</A>), 10 untranslated entries
+(see section <A HREF="gettext_6.html#SEC46">6.4  Untranslated Entries</A>) and 2 obsolete entries (see section <A HREF="gettext_6.html#SEC47">6.5  Obsolete Entries</A>).  Zero-coefficients items are not shown.  So, in this example, if
 the fuzzy entries were unfuzzied, the untranslated entries were translated
 and the obsolete entries were deleted, the mode line would merely display
-<SAMP>`145t'</SAMP> for the counters.
+<SAMP>`145t&acute;</SAMP> for the counters.
 
 </P>
 <P>
@@ -300,40 +300,40 @@ in special ways.
 </P>
 <DL COMPACT>
 
-<DT><KBD>U</KBD>
+<DT><KBD>_</KBD>
 <DD>
-Undo last modification to the PO file.
+Undo last modification to the PO file (<CODE>po-undo</CODE>).
 
 <DT><KBD>Q</KBD>
 <DD>
-Quit processing and save the PO file.
+Quit processing and save the PO file (<CODE>po-quit</CODE>).
 
 <DT><KBD>q</KBD>
 <DD>
-Quit processing, possibly after confirmation.
+Quit processing, possibly after confirmation (<CODE>po-confirm-and-quit</CODE>).
 
-<DT><KBD>O</KBD>
+<DT><KBD>0</KBD>
 <DD>
-Temporary leave the PO file window.
+Temporary leave the PO file window (<CODE>po-other-window</CODE>).
 
 <DT><KBD>?</KBD>
 <DD>
 <DT><KBD>h</KBD>
 <DD>
-Show help about PO mode.
+Show help about PO mode (<CODE>po-help</CODE>).
 
 <DT><KBD>=</KBD>
 <DD>
-Give some PO file statistics.
+Give some PO file statistics (<CODE>po-statistics</CODE>).
 
 <DT><KBD>V</KBD>
 <DD>
-Batch validate the format of the whole PO file.
+Batch validate the format of the whole PO file (<CODE>po-validate</CODE>).
 
 </DL>
 
 <P>
-The command <KBD>U</KBD> (<CODE>po-undo</CODE>) interfaces to the Emacs
+The command <KBD>_</KBD> (<CODE>po-undo</CODE>) interfaces to the Emacs
 <EM>undo</EM> facility.  See section `Undoing Changes' in <CITE>The Emacs Editor</CITE>.  Each time <KBD>U</KBD> is typed, modifications which the translator
 did to the PO file are undone a little more.  For the purpose of
 undoing, each PO mode command is atomic.  This is especially true for
@@ -356,7 +356,7 @@ of an Emacs PO file buffer.  Merely killing it through the usual command
 
 </P>
 <P>
-The command <KBD>O</KBD> (<CODE>po-other-window</CODE>) is another, softer way,
+The command <KBD>0</KBD> (<CODE>po-other-window</CODE>) is another, softer way,
 to leave PO mode, temporarily.  It just moves the cursor to some other
 Emacs window, and pops one if necessary.  For example, if the translator
 just got PO mode to show some source context in some other, she might
@@ -383,7 +383,8 @@ and displays all these numbers.
 
 </P>
 <P>
-The command <KBD>V</KBD> (<CODE>po-validate</CODE>) launches <CODE>msgfmt</CODE> in verbose
+The command <KBD>V</KBD> (<CODE>po-validate</CODE>) launches <CODE>msgfmt</CODE> in
+checking and verbose
 mode over the current PO file.  This command first offers to save the
 current PO file on disk.  The <CODE>msgfmt</CODE> tool, from GNU <CODE>gettext</CODE>,
 has the purpose of creating a MO file out of a PO file, and PO mode uses
@@ -394,7 +395,7 @@ as well as all individual entries.
 <P>
 The program <CODE>msgfmt</CODE> runs asynchronously with Emacs, so the
 translator regains control immediately while her PO file is being studied.
-Error output is collected in the Emacs <SAMP>`*compilation*'</SAMP> buffer,
+Error output is collected in the Emacs <SAMP>`*compilation*&acute;</SAMP> buffer,
 displayed in another window.  The regular Emacs command <KBD>C-x`</KBD>
 (<CODE>next-error</CODE>), as well as other usual compile commands, allow the
 translator to reposition quickly to the offending parts of the PO file.
@@ -419,46 +420,45 @@ the PO file, this also selects on which entry commands operate.
 <P>
 Some PO mode commands alter the position of the cursor in a specialized
 way.  A few of those special purpose positioning are described here,
-the others are described in following sections.
+the others are described in following sections (for a complete list try
+<KBD>C-h m</KBD>):
 
 </P>
 <DL COMPACT>
 
 <DT><KBD>.</KBD>
 <DD>
-Redisplay the current entry.
+Redisplay the current entry (<CODE>po-current-entry</CODE>).
 
 <DT><KBD>n</KBD>
 <DD>
-<DT><KBD>n</KBD>
-<DD>
-Select the entry after the current one.
+Select the entry after the current one (<CODE>po-next-entry</CODE>).
 
 <DT><KBD>p</KBD>
 <DD>
-<DT><KBD>p</KBD>
-<DD>
-Select the entry before the current one.
+Select the entry before the current one (<CODE>po-previous-entry</CODE>).
 
 <DT><KBD>&#60;</KBD>
 <DD>
-Select the first entry in the PO file.
+Select the first entry in the PO file (<CODE>po-first-entry</CODE>).
 
 <DT><KBD>&#62;</KBD>
 <DD>
-Select the last entry in the PO file.
+Select the last entry in the PO file (<CODE>po-last-entry</CODE>).
 
 <DT><KBD>m</KBD>
 <DD>
-Record the location of the current entry for later use.
+Record the location of the current entry for later use
+(<CODE>po-push-location</CODE>).
 
-<DT><KBD>l</KBD>
+<DT><KBD>r</KBD>
 <DD>
-Return to a previously saved entry location.
+Return to a previously saved entry location (<CODE>po-pop-location</CODE>).
 
 <DT><KBD>x</KBD>
 <DD>
-Exchange the current entry location with the previously saved one.
+Exchange the current entry location with the previously saved one
+(<CODE>po-exchange-location</CODE>).
 
 </DL>
 
@@ -503,7 +503,7 @@ The commands <KBD>&#60;</KBD> (<CODE>po-first-entry</CODE>) and <KBD>&#62;</KBD>
 (<CODE>po-last-entry</CODE>) move the cursor to the first entry, or last
 entry, of the PO file.  When the cursor is located past the last
 entry in a PO file, most PO mode commands will return an error saying
-<SAMP>`After last entry'</SAMP>.  Moreover, the commands <KBD>&#60;</KBD> and <KBD>&#62;</KBD>
+<SAMP>`After last entry&acute;</SAMP>.  Moreover, the commands <KBD>&#60;</KBD> and <KBD>&#62;</KBD>
 have the special property of being able to work even when the cursor
 is not into some PO file entry, and one may use them for nicely
 correcting this situation.  But even these commands will fail on a
@@ -633,7 +633,7 @@ their PO files in nice ways.
 <P>
 Right now, in PO mode, strings are single line or multi-line.  A string
 goes multi-line if and only if it has <EM>embedded</EM> newlines, that
-is, if it matches <SAMP>`[^\n]\n+[^\n]'</SAMP>.  So, we would have:
+is, if it matches <SAMP>`[^\n]\n+[^\n]&acute;</SAMP>.  So, we would have:
 
 </P>
 
@@ -680,6 +680,6 @@ to be documented in this manual, once these questions settle.
 
 </P>
 <P><HR><P>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_1.html">previous</A>, <A HREF="gettext_3.html">next</A>, <A HREF="gettext_14.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
+Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_1.html">previous</A>, <A HREF="gettext_3.html">next</A>, <A HREF="gettext_16.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
 </BODY>
 </HTML>
index ee3715d13d63cbcd581e456ec37a833d004abd6c..595ebbca93388671a6da94b2b0392677951ef0f7 100644 (file)
@@ -1,12 +1,12 @@
 <HTML>
 <HEAD>
-<!-- This HTML file has been created by texi2html 1.51
-     from gettext.texi on 19 April 2001 -->
+<!-- This HTML file has been created by texi2html 1.52a
+     from gettext.texi on 30 November 2001 -->
 
 <TITLE>GNU gettext utilities - 3  Preparing Program Sources</TITLE>
 </HEAD>
 <BODY>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_2.html">previous</A>, <A HREF="gettext_4.html">next</A>, <A HREF="gettext_14.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
+Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_2.html">previous</A>, <A HREF="gettext_4.html">next</A>, <A HREF="gettext_16.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
 <P><HR><P>
 
 
@@ -25,7 +25,7 @@ needing translation.
 <P>
 Presuming that your set of programs, or package, has been adjusted
 so all needed GNU <CODE>gettext</CODE> files are available, and your
-<TT>`Makefile'</TT> files are adjusted (see section <A HREF="gettext_11.html#SEC72">11  The Maintainer's View</A>), each C module
+<TT>`Makefile&acute;</TT> files are adjusted (see section <A HREF="gettext_12.html#SEC166">12  The Maintainer's View</A>), each C module
 having translated C strings should contain the line:
 
 </P>
@@ -66,7 +66,7 @@ main (argc, argv)
 
 <P>
 <VAR>PACKAGE</VAR> and <VAR>LOCALEDIR</VAR> should be provided either by
-<TT>`config.h'</TT> or by the Makefile.  For now consult the <CODE>gettext</CODE>
+<TT>`config.h&acute;</TT> or by the Makefile.  For now consult the <CODE>gettext</CODE>
 sources for more information.
 
 </P>
@@ -75,9 +75,9 @@ The use of <CODE>LC_ALL</CODE> might not be appropriate for you.
 <CODE>LC_ALL</CODE> includes all locale categories and especially
 <CODE>LC_CTYPE</CODE>.  This later category is responsible for determining
 character classes with the <CODE>isalnum</CODE> etc. functions from
-<TT>`ctype.h'</TT> which could especially for programs, which process some
+<TT>`ctype.h&acute;</TT> which could especially for programs, which process some
 kind of input language, be wrong.  For example this would mean that a
-source code using the @,{c} (c-cedilla character) is runnable in
+source code using the &ccedil; (c-cedilla character) is runnable in
 France but not in the U.S.
 
 </P>
@@ -149,10 +149,10 @@ and their names are said to be marking keywords.  The marking is
 attached to strings themselves, rather than to what we do with them.
 This approach has more uses.  A blatant example is an error message
 produced by formatting.  The format string needs translation, as
-well as some strings inserted through some <SAMP>`%s'</SAMP> specification
+well as some strings inserted through some <SAMP>`%s&acute;</SAMP> specification
 in the format, while the result from <CODE>sprintf</CODE> may have so many
 different instances that it is impractical to list them all in some
-<SAMP>`error_string_out()'</SAMP> routine, say.
+<SAMP>`error_string_out()&acute;</SAMP> routine, say.
 
 </P>
 <P>
@@ -174,8 +174,8 @@ of program sources and produces PO file templates.
 </P>
 <P>
 The canonical keyword for marking translatable strings is
-<SAMP>`gettext'</SAMP>, it gave its name to the whole GNU <CODE>gettext</CODE>
-package.  For packages making only light use of the <SAMP>`gettext'</SAMP>
+<SAMP>`gettext&acute;</SAMP>, it gave its name to the whole GNU <CODE>gettext</CODE>
+package.  For packages making only light use of the <SAMP>`gettext&acute;</SAMP>
 keyword, macro or function, it is easily used <EM>as is</EM>.  However,
 for packages using the <CODE>gettext</CODE> interface more heavily, it
 is usually more convenient to give the main keyword a shorter, less
@@ -188,17 +188,17 @@ sources for those trying to keep them within 79 or 80 columns.
 
 </P>
 <P>
-Many packages use <SAMP>`_'</SAMP> (a simple underline) as a keyword,
-and write <SAMP>`_("Translatable string")'</SAMP> instead of <SAMP>`gettext
-("Translatable string")'</SAMP>.  Further, the coding rule, from GNU standards,
+Many packages use <SAMP>`_&acute;</SAMP> (a simple underline) as a keyword,
+and write <SAMP>`_("Translatable string")&acute;</SAMP> instead of <SAMP>`gettext
+("Translatable string")&acute;</SAMP>.  Further, the coding rule, from GNU standards,
 wanting that there is a space between the keyword and the opening
 parenthesis is relaxed, in practice, for this particular usage.
 So, the textual overhead per translatable string is reduced to
 only three characters: the underline and the two parentheses.
 However, even if GNU <CODE>gettext</CODE> uses this convention internally,
 it does not offer it officially.  The real, genuine keyword is truly
-<SAMP>`gettext'</SAMP> indeed.  It is fairly easy for those wanting to use
-<SAMP>`_'</SAMP> instead of <SAMP>`gettext'</SAMP> to declare:
+<SAMP>`gettext&acute;</SAMP> indeed.  It is fairly easy for those wanting to use
+<SAMP>`_&acute;</SAMP> instead of <SAMP>`gettext&acute;</SAMP> to declare:
 
 </P>
 
@@ -208,14 +208,14 @@ it does not offer it officially.  The real, genuine keyword is truly
 </PRE>
 
 <P>
-instead of merely using <SAMP>`#include &#60;libintl.h&#62;'</SAMP>.
+instead of merely using <SAMP>`#include &#60;libintl.h&#62;&acute;</SAMP>.
 
 </P>
 <P>
 Later on, the maintenance is relatively easy.  If, as a programmer,
 you add or modify a string, you will have to ask yourself if the
 new or altered string requires translation, and include it within
-<SAMP>`_()'</SAMP> if you think it should be translated.  <SAMP>`"%s: %d"'</SAMP> is
+<SAMP>`_()&acute;</SAMP> if you think it should be translated.  <SAMP>`"%s: %d"&acute;</SAMP> is
 an example of string <EM>not</EM> requiring translation!
 
 </P>
@@ -250,9 +250,9 @@ etags src/*.[hc] lib/*.[hc]
 </PRE>
 
 <P>
-presuming here you want to process all <TT>`.h'</TT> and <TT>`.c'</TT> files
-from the <TT>`src/'</TT> and <TT>`lib/'</TT> directories.  This command will
-explore all said files and create a <TT>`TAGS'</TT> file in your root
+presuming here you want to process all <TT>`.h&acute;</TT> and <TT>`.c&acute;</TT> files
+from the <TT>`src/&acute;</TT> and <TT>`lib/&acute;</TT> directories.  This command will
+explore all said files and create a <TT>`TAGS&acute;</TT> file in your root
 directory, somewhat summarizing the contents using a special file
 format Emacs can understand.
 
@@ -264,7 +264,7 @@ all directories and for all files containing source code.
 
 </P>
 <P>
-Once your <TT>`TAGS'</TT> file is ready, the following commands assist
+Once your <TT>`TAGS&acute;</TT> file is ready, the following commands assist
 the programmer at marking translatable strings in his set of sources.
 But these commands are necessarily driven from within a PO file
 window, and it is likely that you do not even have such a PO file yet.
@@ -278,17 +278,17 @@ fill in while you mark strings as translatable in your program sources.
 <DT><KBD>,</KBD>
 <DD>
 Search through program sources for a string which looks like a
-candidate for translation.
+candidate for translation (<CODE>po-tags-search</CODE>).
 
 <DT><KBD>M-,</KBD>
 <DD>
-Mark the last string found with <SAMP>`_()'</SAMP>.
+Mark the last string found with <SAMP>`_()&acute;</SAMP> (<CODE>po-mark-translatable</CODE>).
 
 <DT><KBD>M-.</KBD>
 <DD>
 Mark the last string found with a keyword taken from a set of possible
 keywords.  This command with a prefix allows some management of these
-keywords.
+keywords (<CODE>po-select-mark-and-mark</CODE>).
 
 </DL>
 
@@ -315,18 +315,18 @@ or strings already marked with some keyword PO mode knows (see below).
 
 </P>
 <P>
-If you have never told Emacs about some <TT>`TAGS'</TT> file to use, the
+If you have never told Emacs about some <TT>`TAGS&acute;</TT> file to use, the
 command will request that you specify one from the minibuffer, the
-first time you use the command.  You may later change your <TT>`TAGS'</TT>
+first time you use the command.  You may later change your <TT>`TAGS&acute;</TT>
 file by using the regular Emacs command <KBD>M-x visit-tags-table</KBD>,
-which will ask you to name the precise <TT>`TAGS'</TT> file you want
+which will ask you to name the precise <TT>`TAGS&acute;</TT> file you want
 to use.  See section `Tag Tables' in <CITE>The Emacs Editor</CITE>.
 
 </P>
 <P>
 Each time you use the <KBD>,</KBD> command, the search resumes from where it was
 left by the previous search, and goes through all program sources,
-obeying the <TT>`TAGS'</TT> file, until all sources have been processed.
+obeying the <TT>`TAGS&acute;</TT> file, until all sources have been processed.
 However, by giving a prefix argument to the command (<KBD>C-u
 ,)</KBD>, you may request that the search be restarted all over again
 from the first program source; but in this case, strings that you
@@ -345,7 +345,7 @@ first tags file, this reinitialization might be considered spurious.
 </P>
 <P>
 The <KBD>M-,</KBD> (<CODE>po-mark-translatable</CODE>) command will mark the
-recently found string with the <SAMP>`_'</SAMP> keyword.  The <KBD>M-.</KBD>
+recently found string with the <SAMP>`_&acute;</SAMP> keyword.  The <KBD>M-.</KBD>
 (<CODE>po-select-mark-and-mark</CODE>) command will request that you type
 one keyword from the minibuffer and use that keyword for marking
 the string.  Both commands will automatically create a new PO file
@@ -394,9 +394,9 @@ simultaneously, each one has its own independent set of known keywords.
 There is no provision in PO mode, currently, for deleting a known
 keyword, you have to quit the file (maybe using <KBD>q</KBD>) and reopen
 it afresh.  When a PO file is newly brought up in an Emacs window, only
-<SAMP>`gettext'</SAMP> and <SAMP>`_'</SAMP> are known as keywords, and <SAMP>`gettext'</SAMP>
+<SAMP>`gettext&acute;</SAMP> and <SAMP>`_&acute;</SAMP> are known as keywords, and <SAMP>`gettext&acute;</SAMP>
 is preferred for the <KBD>M-.</KBD> command.  In fact, this is not useful to
-prefer <SAMP>`_'</SAMP>, as this one is already built in the <KBD>M-,</KBD> command.
+prefer <SAMP>`_&acute;</SAMP>, as this one is already built in the <KBD>M-,</KBD> command.
 
 </P>
 
@@ -455,7 +455,7 @@ The routines in <CODE>msgfmt</CODE> know about this special notation.
 </P>
 <P>
 Because not all strings in a program must be format strings it is not
-useful for <CODE>msgfmt</CODE> to test all the strings in the <TT>`.po'</TT> file.
+useful for <CODE>msgfmt</CODE> to test all the strings in the <TT>`.po&acute;</TT> file.
 This might cause problems because the string might contain what looks
 like a format specifier, but the string is not used in <CODE>printf</CODE>.
 
@@ -463,7 +463,7 @@ like a format specifier, but the string is not used in <CODE>printf</CODE>.
 <P>
 Therefore the <CODE>xgettext</CODE> adds a special tag to those messages it
 thinks might be a format string.  There is no absolute rule for this,
-only a heuristic.  In the <TT>`.po'</TT> file the entry is marked using the
+only a heuristic.  In the <TT>`.po&acute;</TT> file the entry is marked using the
 <CODE>c-format</CODE> flag in the <KBD>#,</KBD> comment line (see section <A HREF="gettext_2.html#SEC9">2.2  The Format of PO Files</A>).
 
 </P>
@@ -496,7 +496,7 @@ exists because the original code does not refer to any parameter.
 <CODE>xgettext</CODE> of course could make a wrong decision the other way
 round, i.e. a string marked as a format string actually is not a format
 string.  In this case the <CODE>msgfmt</CODE> might give too many warnings and
-would prevent translating the <TT>`.po'</TT> file.  The method to prevent
+would prevent translating the <TT>`.po&acute;</TT> file.  The method to prevent
 this wrong decision is similar to the one used above, only the comment
 to use must contain the string <KBD>xgettext:no-c-format</KBD>.
 
@@ -615,6 +615,6 @@ use this second method in this situation.
 
 </P>
 <P><HR><P>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_2.html">previous</A>, <A HREF="gettext_4.html">next</A>, <A HREF="gettext_14.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
+Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_2.html">previous</A>, <A HREF="gettext_4.html">next</A>, <A HREF="gettext_16.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
 </BODY>
 </HTML>
index daf1fc2ee0cf5e860edac2054383f89fcdc08850..fff35362661869745df5b8ffd690a641c03b1810 100644 (file)
@@ -1,12 +1,12 @@
 <HTML>
 <HEAD>
-<!-- This HTML file has been created by texi2html 1.51
-     from gettext.texi on 19 April 2001 -->
+<!-- This HTML file has been created by texi2html 1.52a
+     from gettext.texi on 30 November 2001 -->
 
 <TITLE>GNU gettext utilities - 4  Making the PO Template File</TITLE>
 </HEAD>
 <BODY>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_3.html">previous</A>, <A HREF="gettext_5.html">next</A>, <A HREF="gettext_14.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
+Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_3.html">previous</A>, <A HREF="gettext_5.html">next</A>, <A HREF="gettext_16.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
 <P><HR><P>
 
 
@@ -24,89 +24,147 @@ This section explains how to use <CODE>xgettext</CODE> for this purpose.
 
 
 <PRE>
-xgettext [<VAR>option</VAR>] <VAR>inputfile</VAR> ...
+xgettext [<VAR>option</VAR>] [<VAR>inputfile</VAR>] ...
 </PRE>
 
+<P>
+The <CODE>xgettext</CODE> program extracts translatable strings from given
+input files.
+
+</P>
+
+
+<H3><A NAME="SEC21" HREF="gettext_toc.html#TOC21">4.1.1  Input file location</A></H3>
+
 <DL COMPACT>
 
-<DT><SAMP>`-a'</SAMP>
+<DT><SAMP>`<VAR>inputfile</VAR> ...&acute;</SAMP>
 <DD>
-<DT><SAMP>`--extract-all'</SAMP>
-<DD>
-Extract all strings.
+Input files.
 
-<DT><SAMP>`-c [<VAR>tag</VAR>]'</SAMP>
+<DT><SAMP>`-f <VAR>file</VAR>&acute;</SAMP>
 <DD>
-<DT><SAMP>`--add-comments[=<VAR>tag</VAR>]'</SAMP>
+<DT><SAMP>`--files-from=<VAR>file</VAR>&acute;</SAMP>
 <DD>
-Place comment block with <VAR>tag</VAR> (or those preceding keyword lines)
-in output file.
+Read the names of the input files from <VAR>file</VAR> instead of getting
+them from the command line.
 
-<DT><SAMP>`-C'</SAMP>
+<DT><SAMP>`-D <VAR>directory</VAR>&acute;</SAMP>
 <DD>
-<DT><SAMP>`--c++'</SAMP>
+<DT><SAMP>`--directory=<VAR>directory</VAR>&acute;</SAMP>
 <DD>
-Recognize C++ style comments.
+Add <VAR>directory</VAR> to the list of directories.  Source files are
+searched relative to this list of directories.  The resulting <TT>`.po&acute;</TT>
+file will be written relative to the current directory, though.
+
+</DL>
+
+<P>
+If <VAR>inputfile</VAR> is <SAMP>`-&acute;</SAMP>, standard input is read.
 
-<DT><SAMP>`--debug'</SAMP>
+</P>
+
+
+<H3><A NAME="SEC22" HREF="gettext_toc.html#TOC22">4.1.2  Output file location</A></H3>
+
+<DL COMPACT>
+
+<DT><SAMP>`-d <VAR>name</VAR>&acute;</SAMP>
 <DD>
-Use the flags <KBD>c-format</KBD> and <KBD>possible-c-format</KBD> to show who was
-responsible for marking a message as a format string.  The latter form is
-used if the <CODE>xgettext</CODE> program decided, the format form is used if
-the programmer prescribed it.
+<DT><SAMP>`--default-domain=<VAR>name</VAR>&acute;</SAMP>
+<DD>
+Use <TT>`<VAR>name</VAR>.po&acute;</TT> for output (instead of <TT>`messages.po&acute;</TT>).
 
-By default only the <KBD>c-format</KBD> form is used.  The translator should
-not have to care about these details.
+<DT><SAMP>`-o <VAR>file</VAR>&acute;</SAMP>
+<DD>
+<DT><SAMP>`--output=<VAR>file</VAR>&acute;</SAMP>
+<DD>
+Write output to specified file (instead of <TT>`<VAR>name</VAR>.po&acute;</TT> or
+<TT>`messages.po&acute;</TT>).
 
-<DT><SAMP>`-d <VAR>name</VAR>'</SAMP>
+<DT><SAMP>`-p <VAR>dir</VAR>&acute;</SAMP>
 <DD>
-<DT><SAMP>`--default-domain=<VAR>name</VAR>'</SAMP>
+<DT><SAMP>`--output-dir=<VAR>dir</VAR>&acute;</SAMP>
 <DD>
-Use <TT>`<VAR>name</VAR>.po'</TT> for output (instead of <TT>`messages.po'</TT>).
+Output files will be placed in directory <VAR>dir</VAR>.
+
+</DL>
+
+<P>
+If the output <VAR>file</VAR> is <SAMP>`-&acute;</SAMP> or <SAMP>`/dev/stdout&acute;</SAMP>, the output
+is written to standard output.
+
+</P>
+
 
-The special domain name <TT>`-'</TT> or <TT>`/dev/stdout'</TT> means to write
-the output to <TT>`stdout'</TT>.
+<H3><A NAME="SEC23" HREF="gettext_toc.html#TOC23">4.1.3  Choice of input file language</A></H3>
 
-<DT><SAMP>`-D <VAR>directory</VAR>'</SAMP>
+<DL COMPACT>
+
+<DT><SAMP>`-L <VAR>name</VAR>&acute;</SAMP>
 <DD>
-<DT><SAMP>`--directory=<VAR>directory</VAR>'</SAMP>
+<DT><SAMP>`--language=<VAR>name</VAR>&acute;</SAMP>
 <DD>
-Change to <VAR>directory</VAR> before beginning to search and scan source
-files.  The resulting <TT>`.po'</TT> file will be written relative to the
-original directory, though.
+Specifies the language of the input files.  The supported languages
+are <CODE>C</CODE>, <CODE>C++</CODE>, <CODE>ObjectiveC</CODE>, <CODE>PO</CODE>, <CODE>Java</CODE>,
+<CODE>YCP</CODE>.
 
-<DT><SAMP>`-f <VAR>file</VAR>'</SAMP>
+<DT><SAMP>`-C&acute;</SAMP>
 <DD>
-<DT><SAMP>`--files-from=<VAR>file</VAR>'</SAMP>
+<DT><SAMP>`--c++&acute;</SAMP>
 <DD>
-Read the names of the input files from <VAR>file</VAR> instead of getting
-them from the command line.
+This is a shorthand for <CODE>--language=C++</CODE>.
+
+</DL>
+
+<P>
+By default the language is guessed depending on the input file name
+extension.
 
-<DT><SAMP>`--force'</SAMP>
+</P>
+
+
+<H3><A NAME="SEC24" HREF="gettext_toc.html#TOC24">4.1.4  Operation mode</A></H3>
+
+<DL COMPACT>
+
+<DT><SAMP>`-j&acute;</SAMP>
 <DD>
-Always write an output file even if no message is defined.
+<DT><SAMP>`--join-existing&acute;</SAMP>
+<DD>
+Join messages with existing file.
 
-<DT><SAMP>`-h'</SAMP>
+<DT><SAMP>`-x <VAR>file</VAR>&acute;</SAMP>
 <DD>
-<DT><SAMP>`--help'</SAMP>
+<DT><SAMP>`--exclude-file=<VAR>file</VAR>&acute;</SAMP>
 <DD>
-Display this help and exit.
+Entries from <VAR>file</VAR> are not extracted.  <VAR>file</VAR> should be a PO or
+POT file.
 
-<DT><SAMP>`-I <VAR>list</VAR>'</SAMP>
+<DT><SAMP>`-c [<VAR>tag</VAR>]&acute;</SAMP>
 <DD>
-<DT><SAMP>`--input-path=<VAR>list</VAR>'</SAMP>
+<DT><SAMP>`--add-comments[=<VAR>tag</VAR>]&acute;</SAMP>
 <DD>
-List of directories searched for input files.
+Place comment block with <VAR>tag</VAR> (or those preceding keyword lines)
+in output file.
+
+</DL>
+
 
-<DT><SAMP>`-j'</SAMP>
+
+<H3><A NAME="SEC25" HREF="gettext_toc.html#TOC25">4.1.5  Language=C/C++ specific options</A></H3>
+
+<DL COMPACT>
+
+<DT><SAMP>`-a&acute;</SAMP>
 <DD>
-<DT><SAMP>`--join-existing'</SAMP>
+<DT><SAMP>`--extract-all&acute;</SAMP>
 <DD>
-Join messages with existing file.
+Extract all strings.
 
-<DT><SAMP>`-k <VAR>word</VAR>'</SAMP>
+<DT><SAMP>`-k <VAR>keywordspec</VAR>&acute;</SAMP>
 <DD>
-<DT><SAMP>`--keyword[=<VAR>keywordspec</VAR>]'</SAMP>
+<DT><SAMP>`--keyword[=<VAR>keywordspec</VAR>]&acute;</SAMP>
 <DD>
 Additional keyword to be looked for (without <VAR>keywordspec</VAR> means not to
 use default keywords).
@@ -114,9 +172,9 @@ use default keywords).
 If <VAR>keywordspec</VAR> is a C identifer <VAR>id</VAR>, <CODE>xgettext</CODE> looks
 for strings in the first argument of each call to the function or macro
 <VAR>id</VAR>.  If <VAR>keywordspec</VAR> is of the form
-<SAMP>`<VAR>id</VAR>:<VAR>argnum</VAR>'</SAMP>, <CODE>xgettext</CODE> looks for strings in the
+<SAMP>`<VAR>id</VAR>:<VAR>argnum</VAR>&acute;</SAMP>, <CODE>xgettext</CODE> looks for strings in the
 <VAR>argnum</VAR>th argument of the call.  If <VAR>keywordspec</VAR> is of the form
-<SAMP>`<VAR>id</VAR>:<VAR>argnum1</VAR>,<VAR>argnum2</VAR>'</SAMP>, <CODE>xgettext</CODE> looks for
+<SAMP>`<VAR>id</VAR>:<VAR>argnum1</VAR>,<VAR>argnum2</VAR>&acute;</SAMP>, <CODE>xgettext</CODE> looks for
 strings in the <VAR>argnum1</VAR>st argument and in the <VAR>argnum2</VAR>nd argument
 of the call, and treats them as singular/plural variants for a message
 with plural handling.
@@ -126,83 +184,132 @@ explicitly disabled, are <CODE>gettext</CODE>, <CODE>dgettext:2</CODE>,
 <CODE>dcgettext:2</CODE>, <CODE>ngettext:1,2</CODE>, <CODE>dngettext:2,3</CODE>,
 <CODE>dcngettext:2,3</CODE>, and <CODE>gettext_noop</CODE>.
 
-<DT><SAMP>`-m [<VAR>string</VAR>]'</SAMP>
+<DT><SAMP>`-T&acute;</SAMP>
 <DD>
-<DT><SAMP>`--msgstr-prefix[=<VAR>string</VAR>]'</SAMP>
+<DT><SAMP>`--trigraphs&acute;</SAMP>
+<DD>
+Understand ANSI C trigraphs for input.
+
+<DT><SAMP>`--debug&acute;</SAMP>
 <DD>
-Use <VAR>string</VAR> or "" as prefix for msgstr entries.
+Use the flags <KBD>c-format</KBD> and <KBD>possible-c-format</KBD> to show who was
+responsible for marking a message as a format string.  The latter form is
+used if the <CODE>xgettext</CODE> program decided, the format form is used if
+the programmer prescribed it.
+
+By default only the <KBD>c-format</KBD> form is used.  The translator should
+not have to care about these details.
+
+</DL>
+
+<P>
+This implementation of <CODE>xgettext</CODE> is able to process a few awkward
+cases, like strings in preprocessor macros, ANSI concatenation of
+adjacent strings, and escaped end of lines for continued strings.
+
+</P>
+
+
+<H3><A NAME="SEC26" HREF="gettext_toc.html#TOC26">4.1.6  Output details</A></H3>
+
+<DL COMPACT>
+
+<DT><SAMP>`--force-po&acute;</SAMP>
+<DD>
+Always write an output file even if no message is defined.
 
-<DT><SAMP>`-M [<VAR>string</VAR>]'</SAMP>
+<DT><SAMP>`-i&acute;</SAMP>
 <DD>
-<DT><SAMP>`--msgstr-suffix[=<VAR>string</VAR>]'</SAMP>
+<DT><SAMP>`--indent&acute;</SAMP>
 <DD>
-Use <VAR>string</VAR> or "" as suffix for msgstr entries.
+Write the .po file using indented style.
 
-<DT><SAMP>`--no-location'</SAMP>
+<DT><SAMP>`--no-location&acute;</SAMP>
 <DD>
-Do not write <SAMP>`#: <VAR>filename</VAR>:<VAR>line</VAR>'</SAMP> lines.
+Do not write <SAMP>`#: <VAR>filename</VAR>:<VAR>line</VAR>&acute;</SAMP> lines.
 
-<DT><SAMP>`-n'</SAMP>
+<DT><SAMP>`-n&acute;</SAMP>
 <DD>
-<DT><SAMP>`--add-location'</SAMP>
+<DT><SAMP>`--add-location&acute;</SAMP>
 <DD>
-Generate <SAMP>`#: <VAR>filename</VAR>:<VAR>line</VAR>'</SAMP> lines (default).
+Generate <SAMP>`#: <VAR>filename</VAR>:<VAR>line</VAR>&acute;</SAMP> lines (default).
 
-<DT><SAMP>`--omit-header'</SAMP>
+<DT><SAMP>`--strict&acute;</SAMP>
 <DD>
-Don't write header with <SAMP>`msgid ""'</SAMP> entry.
+Write out a strict Uniforum conforming PO file.  Note that this
+Uniforum format should be avoided because it doesn't support the
+GNU extensions.
 
-This is useful for testing purposes because it eliminates a source
-of variance for generated <CODE>.gmo</CODE> files.  We can ship some of
-these files in the GNU <CODE>gettext</CODE> package, and the result of
-regenerating them through <CODE>msgfmt</CODE> should yield the same values.
+<DT><SAMP>`-w <VAR>number</VAR>&acute;</SAMP>
+<DD>
+<DT><SAMP>`--width=<VAR>number</VAR>&acute;</SAMP>
+<DD>
+Set the output page width.  Long strings in the output files will be
+split across multiple lines in order to ensure that each line's width
+(= number of screen columns) is less or equal to the given <VAR>number</VAR>.
 
-<DT><SAMP>`-p <VAR>dir</VAR>'</SAMP>
+<DT><SAMP>`-s&acute;</SAMP>
 <DD>
-<DT><SAMP>`--output-dir=<VAR>dir</VAR>'</SAMP>
+<DT><SAMP>`--sort-output&acute;</SAMP>
 <DD>
-Output files will be placed in directory <VAR>dir</VAR>.
+Generate sorted output.  Note that using this option makes it much harder
+for the translator to understand each message's context.
 
-<DT><SAMP>`-s'</SAMP>
+<DT><SAMP>`-F&acute;</SAMP>
 <DD>
-<DT><SAMP>`--sort-output'</SAMP>
+<DT><SAMP>`--sort-by-file&acute;</SAMP>
 <DD>
-Generate sorted output and remove duplicates.
+Sort output by file location.
 
-<DT><SAMP>`--strict'</SAMP>
+<DT><SAMP>`--omit-header&acute;</SAMP>
 <DD>
-Write out a strict Uniforum conforming PO file.
+Don't write header with <SAMP>`msgid ""&acute;</SAMP> entry.
 
-<DT><SAMP>`-v'</SAMP>
+This is useful for testing purposes because it eliminates a source
+of variance for generated <CODE>.gmo</CODE> files.  With <CODE>--omit-header</CODE>,
+two invocations of <CODE>xgettext</CODE> on the same files with the same
+options at different times are guaranteed to produce the same results.
+
+<DT><SAMP>`--foreign-user&acute;</SAMP>
 <DD>
-<DT><SAMP>`--version'</SAMP>
+Omit FSF copyright in output.  This can be useful for translators
+outside the GNU project.
+
+<DT><SAMP>`-m [<VAR>string</VAR>]&acute;</SAMP>
 <DD>
-Output version information and exit.
+<DT><SAMP>`--msgstr-prefix[=<VAR>string</VAR>]&acute;</SAMP>
+<DD>
+Use <VAR>string</VAR> (or "" if not specified) as prefix for msgstr entries.
 
-<DT><SAMP>`-x <VAR>file</VAR>'</SAMP>
+<DT><SAMP>`-M [<VAR>string</VAR>]&acute;</SAMP>
 <DD>
-<DT><SAMP>`--exclude-file=<VAR>file</VAR>'</SAMP>
+<DT><SAMP>`--msgstr-suffix[=<VAR>string</VAR>]&acute;</SAMP>
 <DD>
-Entries from <VAR>file</VAR> are not extracted.
+Use <VAR>string</VAR> (or "" if not specified) as suffix for msgstr entries.
 
 </DL>
 
-<P>
-Search path for supplementary PO files is:
-<TT>`/usr/local/share/nls/src/'</TT>.
 
-</P>
-<P>
-If <VAR>inputfile</VAR> is <SAMP>`-'</SAMP>, standard input is read.
 
-</P>
-<P>
-This implementation of <CODE>xgettext</CODE> is able to process a few awkward
-cases, like strings in preprocessor macros, ANSI concatenation of
-adjacent strings, and escaped end of lines for continued strings.
+<H3><A NAME="SEC27" HREF="gettext_toc.html#TOC27">4.1.7  Informative output</A></H3>
+
+<DL COMPACT>
+
+<DT><SAMP>`-h&acute;</SAMP>
+<DD>
+<DT><SAMP>`--help&acute;</SAMP>
+<DD>
+Display this help and exit.
+
+<DT><SAMP>`-V&acute;</SAMP>
+<DD>
+<DT><SAMP>`--version&acute;</SAMP>
+<DD>
+Output version information and exit.
+
+</DL>
 
-</P>
 <P><HR><P>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_3.html">previous</A>, <A HREF="gettext_5.html">next</A>, <A HREF="gettext_14.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
+Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_3.html">previous</A>, <A HREF="gettext_5.html">next</A>, <A HREF="gettext_16.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
 </BODY>
 </HTML>
index 3723f1c0ec6ffeb39b0d33b1b9222dacbfb161de..c08d9ab0b15bc8253c48016ea13a73512a029aa5 100644 (file)
 <HTML>
 <HEAD>
-<!-- This HTML file has been created by texi2html 1.51
-     from gettext.texi on 19 April 2001 -->
+<!-- This HTML file has been created by texi2html 1.52a
+     from gettext.texi on 30 November 2001 -->
 
 <TITLE>GNU gettext utilities - 5  Creating a New PO File</TITLE>
 </HEAD>
 <BODY>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_4.html">previous</A>, <A HREF="gettext_6.html">next</A>, <A HREF="gettext_14.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
+Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_4.html">previous</A>, <A HREF="gettext_6.html">next</A>, <A HREF="gettext_16.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
 <P><HR><P>
 
 
-<H1><A NAME="SEC21" HREF="gettext_toc.html#TOC21">5  Creating a New PO File</A></H1>
+<H1><A NAME="SEC28" HREF="gettext_toc.html#TOC28">5  Creating a New PO File</A></H1>
 
 <P>
-When starting a new translation, the translator copies the
-<TT>`<VAR>package</VAR>.pot'</TT> template file to a file called
-<TT>`<VAR>LANG</VAR>.po'</TT>.  Then she modifies the initial comments and
+When starting a new translation, the translator creates a file called
+<TT>`<VAR>LANG</VAR>.po&acute;</TT>, as a copy of the <TT>`<VAR>package</VAR>.pot&acute;</TT> template
+file with modifications in the initial comments (at the beginning of the file)
+and in the header entry (the first entry, near the beginning of the file).
+
+</P>
+<P>
+The easiest way to do so is by use of the <SAMP>`msginit&acute;</SAMP> program.
+For example:
+
+</P>
+
+<PRE>
+$ cd <VAR>PACKAGE</VAR>-<VAR>VERSION</VAR>
+$ cd po
+$ msginit --verbose
+</PRE>
+
+<P>
+The alternative way is to do the copy and modifications by hand.
+To do so, the translator copies <TT>`<VAR>package</VAR>.pot&acute;</TT> to
+<TT>`<VAR>LANG</VAR>.po&acute;</TT>.  Then she modifies the initial comments and
 the header entry of this file.
 
 </P>
+
+
+
+<H2><A NAME="SEC29" HREF="gettext_toc.html#TOC29">5.1  Invoking the <CODE>msginit</CODE> Program</A></H2>
+
+
+<PRE>
+msginit [<VAR>option</VAR>]
+</PRE>
+
+<P>
+The <CODE>msginit</CODE> program creates a new PO file, initializing the meta
+information with values from the user's environment.
+
+</P>
+
+
+<H3><A NAME="SEC30" HREF="gettext_toc.html#TOC30">5.1.1  Input file location</A></H3>
+
+<DL COMPACT>
+
+<DT><SAMP>`-i <VAR>inputfile</VAR>&acute;</SAMP>
+<DD>
+<DT><SAMP>`--input=<VAR>inputfile</VAR>&acute;</SAMP>
+<DD>
+Input POT file.
+
+</DL>
+
+<P>
+If no <VAR>inputfile</VAR> is given, the current directory is searched for the
+POT file.  If it is <SAMP>`-&acute;</SAMP>, standard input is read.
+
+</P>
+
+
+<H3><A NAME="SEC31" HREF="gettext_toc.html#TOC31">5.1.2  Output file location</A></H3>
+
+<DL COMPACT>
+
+<DT><SAMP>`-o <VAR>file</VAR>&acute;</SAMP>
+<DD>
+<DT><SAMP>`--output-file=<VAR>file</VAR>&acute;</SAMP>
+<DD>
+Write output to specified PO file.
+
+</DL>
+
+<P>
+If no output file is given, it depends on the <SAMP>`--locale&acute;</SAMP> option or the
+user's locale setting.  If it is <SAMP>`-&acute;</SAMP>, the results are written to
+standard output.
+
+</P>
+
+
+<H3><A NAME="SEC32" HREF="gettext_toc.html#TOC32">5.1.3  Output details</A></H3>
+
+<DL COMPACT>
+
+<DT><SAMP>`-l <VAR>ll_CC</VAR>&acute;</SAMP>
+<DD>
+<DT><SAMP>`--locale=<VAR>ll_CC</VAR>&acute;</SAMP>
+<DD>
+Set target locale.  <VAR>ll</VAR> should be a language code, and <VAR>CC</VAR> should
+be a country code.  The command <SAMP>`locale -a&acute;</SAMP> can be used to output a list
+of all installed locales.  The default is the user's locale setting.
+
+<DT><SAMP>`--no-translator&acute;</SAMP>
+<DD>
+Declares that the PO file will not have a human translator and is instead
+automatically generated.
+
+<DT><SAMP>`-w <VAR>number</VAR>&acute;</SAMP>
+<DD>
+<DT><SAMP>`--width=<VAR>number</VAR>&acute;</SAMP>
+<DD>
+Set the output page width.  Long strings in the output files will be
+split across multiple lines in order to ensure that each line's width
+(= number of screen columns) is less or equal to the given <VAR>number</VAR>.
+
+</DL>
+
+
+
+<H3><A NAME="SEC33" HREF="gettext_toc.html#TOC33">5.1.4  Informative output</A></H3>
+
+<DL COMPACT>
+
+<DT><SAMP>`-h&acute;</SAMP>
+<DD>
+<DT><SAMP>`--help&acute;</SAMP>
+<DD>
+Display this help and exit.
+
+<DT><SAMP>`-V&acute;</SAMP>
+<DD>
+<DT><SAMP>`--version&acute;</SAMP>
+<DD>
+Output version information and exit.
+
+</DL>
+
+
+
+<H2><A NAME="SEC34" HREF="gettext_toc.html#TOC34">5.2  Filling in the Header Entry</A></H2>
+
 <P>
 The initial comments "SOME DESCRIPTIVE TITLE", "YEAR" and
 "FIRST AUTHOR &#60;EMAIL@ADDRESS&#62;, YEAR" ought to be replaced by sensible
@@ -54,8 +180,8 @@ Fill in your name and email address (without double quotes).
 
 <DT>Language-Team
 <DD>
-Fill in the English name of the language, and the email address of the
-language team you are part of.
+Fill in the English name of the language, and the email address or
+homepage URL of the language team you are part of.
 
 Before starting a translation, it is a good idea to get in touch with
 your translation team, not only to make sure you don't do duplicated work,
@@ -63,21 +189,21 @@ but also to coordinate difficult linguistic issues.
 
 In the Free Translation Project, each translation team has its own mailing
 list.  The up-to-date list of teams can be found at the Free Translation
-Project's homepage, <TT>`http://www.iro.umontreal.ca/contrib/po/HTML/'</TT>,
+Project's homepage, <TT>`http://www.iro.umontreal.ca/contrib/po/HTML/&acute;</TT>,
 in the "National teams" area.
 
 <DT>Content-Type
 <DD>
-Replace <SAMP>`CHARSET'</SAMP> with the character encoding used for your language,
+Replace <SAMP>`CHARSET&acute;</SAMP> with the character encoding used for your language,
 in your locale, or UTF-8.  This field is needed for correct operation of the
 <CODE>msgmerge</CODE> and <CODE>msgfmt</CODE> programs, as well as for users whose
-locale's character encoding differs from yours (see section <A HREF="gettext_9.html#SEC49">9.2.4  How to specify the output character set <CODE>gettext</CODE> uses</A>).
+locale's character encoding differs from yours (see section <A HREF="gettext_10.html#SEC143">10.2.4  How to specify the output character set <CODE>gettext</CODE> uses</A>).
 
 You get the character encoding of your locale by running the shell command
-<SAMP>`locale charmap'</SAMP>.  If the result is <SAMP>`C'</SAMP> or <SAMP>`ANSI_X3.4-1968'</SAMP>,
-which is equivalent to <SAMP>`ASCII'</SAMP> (= <SAMP>`US-ASCII'</SAMP>), it means that your
+<SAMP>`locale charmap&acute;</SAMP>.  If the result is <SAMP>`C&acute;</SAMP> or <SAMP>`ANSI_X3.4-1968&acute;</SAMP>,
+which is equivalent to <SAMP>`ASCII&acute;</SAMP> (= <SAMP>`US-ASCII&acute;</SAMP>), it means that your
 locale is not correctly configured.  In this case, ask your translation
-team which charset to use.  <SAMP>`ASCII'</SAMP> is not usable for any language
+team which charset to use.  <SAMP>`ASCII&acute;</SAMP> is not usable for any language
 except Latin.
 
 Because the PO files must be portable to operating systems with less advanced
@@ -91,7 +217,7 @@ are limited to those supported by both GNU <CODE>libc</CODE> and GNU
 <CODE>CP932</CODE>, <CODE>CP949</CODE>, <CODE>CP950</CODE>, <CODE>CP1250</CODE>, <CODE>CP1251</CODE>,
 <CODE>CP1252</CODE>, <CODE>CP1253</CODE>, <CODE>CP1254</CODE>, <CODE>CP1255</CODE>, <CODE>CP1256</CODE>,
 <CODE>CP1257</CODE>, <CODE>GB2312</CODE>, <CODE>EUC-JP</CODE>, <CODE>EUC-KR</CODE>, <CODE>EUC-TW</CODE>,
-<CODE>BIG5</CODE>, <CODE>BIG5HKSCS</CODE>, <CODE>GBK</CODE>, <CODE>GB18030</CODE>, <CODE>SJIS</CODE>,
+<CODE>BIG5</CODE>, <CODE>BIG5-HKSCS</CODE>, <CODE>GBK</CODE>, <CODE>GB18030</CODE>, <CODE>SHIFT_JIS</CODE>,
 <CODE>JOHAB</CODE>, <CODE>TIS-620</CODE>, <CODE>VISCII</CODE>, <CODE>UTF-8</CODE>.
 
 In the GNU system, the following encodings are frequently used for the
@@ -134,7 +260,7 @@ corresponding languages.
 <LI><CODE>GB2312</CODE>, <CODE>GBK</CODE>, <CODE>GB18030</CODE>
 
  for simplified writing of Chinese,
-<LI><CODE>BIG5</CODE>, <CODE>BIG5HKSCS</CODE>
+<LI><CODE>BIG5</CODE>, <CODE>BIG5-HKSCS</CODE>
 
  for traditional writing of Chinese,
 <LI><CODE>EUC-JP</CODE> for Japanese,
@@ -173,16 +299,16 @@ Usually upper case is preferred.
 
 <DT>Content-Transfer-Encoding
 <DD>
-Set this to <CODE>8-bit</CODE>.
+Set this to <CODE>8bit</CODE>.
 
 <DT>Plural-Forms
 <DD>
 This field is optional.  It is only needed if the PO file has plural forms.
-You can find them by searching for the <SAMP>`msgid_plural'</SAMP> keyword.  The
-format of the plural forms field is described in section <A HREF="gettext_9.html#SEC50">9.2.5  Additional functions for plural forms</A>.
+You can find them by searching for the <SAMP>`msgid_plural&acute;</SAMP> keyword.  The
+format of the plural forms field is described in section <A HREF="gettext_10.html#SEC144">10.2.5  Additional functions for plural forms</A>.
 </DL>
 
 <P><HR><P>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_4.html">previous</A>, <A HREF="gettext_6.html">next</A>, <A HREF="gettext_14.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
+Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_4.html">previous</A>, <A HREF="gettext_6.html">next</A>, <A HREF="gettext_16.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
 </BODY>
 </HTML>
index 363d5670f4bb9bec3219caa8a903fbffebc47ddc..a3b8e772cdfe94c764bc4a689ee7a0a1ee0c1179 100644 (file)
 <HTML>
 <HEAD>
-<!-- This HTML file has been created by texi2html 1.51
-     from gettext.texi on 19 April 2001 -->
+<!-- This HTML file has been created by texi2html 1.52a
+     from gettext.texi on 30 November 2001 -->
 
 <TITLE>GNU gettext utilities - 6  Updating Existing PO Files</TITLE>
 </HEAD>
 <BODY>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_5.html">previous</A>, <A HREF="gettext_7.html">next</A>, <A HREF="gettext_14.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
+Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_5.html">previous</A>, <A HREF="gettext_7.html">next</A>, <A HREF="gettext_16.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
 <P><HR><P>
 
 
-<H1><A NAME="SEC22" HREF="gettext_toc.html#TOC22">6  Updating Existing PO Files</A></H1>
+<H1><A NAME="SEC35" HREF="gettext_toc.html#TOC35">6  Updating Existing PO Files</A></H1>
 
 
 
-<H2><A NAME="SEC23" HREF="gettext_toc.html#TOC23">6.1  Invoking the <CODE>msgmerge</CODE> Program</A></H2>
+<H2><A NAME="SEC36" HREF="gettext_toc.html#TOC36">6.1  Invoking the <CODE>msgmerge</CODE> Program</A></H2>
 
 
+<PRE>
+msgmerge [<VAR>option</VAR>] <VAR>def</VAR>.po <VAR>ref</VAR>.pot
+</PRE>
+
+<P>
+The <CODE>msgmerge</CODE> program merges two Uniforum style .po files together.
+The <VAR>def</VAR>.po file is an existing PO file with translations which will
+be taken over to the newly created file as long as they still match;
+comments will be preserved, but extracted comments and file positions will
+be discarded.  The <VAR>ref</VAR>.pot file is the last created PO file with
+up-to-date source references but old translations, or a PO Template file
+(generally created by <CODE>xgettext</CODE>); any translations or comments
+in the file will be discarded, however dot comments and file positions
+will be preserved.  Where an exact match cannot be found, fuzzy matching
+is used to produce better results.
+
+</P>
+
+
+<H3><A NAME="SEC37" HREF="gettext_toc.html#TOC37">6.1.1  Input file location</A></H3>
+
+<DL COMPACT>
+
+<DT><SAMP>`<VAR>def</VAR>.po&acute;</SAMP>
+<DD>
+Translations referring to old sources.
+
+<DT><SAMP>`<VAR>ref</VAR>.pot&acute;</SAMP>
+<DD>
+References to the new sources.
+
+<DT><SAMP>`-D <VAR>directory</VAR>&acute;</SAMP>
+<DD>
+<DT><SAMP>`--directory=<VAR>directory</VAR>&acute;</SAMP>
+<DD>
+Add <VAR>directory</VAR> to the list of directories.  Source files are
+searched relative to this list of directories.  The resulting <TT>`.po&acute;</TT>
+file will be written relative to the current directory, though.
+
+<DT><SAMP>`-C <VAR>file</VAR>&acute;</SAMP>
+<DD>
+<DT><SAMP>`--compendium=<VAR>file</VAR>&acute;</SAMP>
+<DD>
+Specify an additional library of message translations.  See section <A HREF="gettext_6.html#SEC53">6.11  Using Translation Compendia</A>.
+This option may be specified more than once.
+
+</DL>
+
+
+
+<H3><A NAME="SEC38" HREF="gettext_toc.html#TOC38">6.1.2  Operation mode</A></H3>
+
+<DL COMPACT>
+
+<DT><SAMP>`-U&acute;</SAMP>
+<DD>
+<DT><SAMP>`--update&acute;</SAMP>
+<DD>
+Update <VAR>def</VAR>.po.  Do nothing if <VAR>def</VAR>.po is already up to date.
+
+</DL>
+
+
+
+<H3><A NAME="SEC39" HREF="gettext_toc.html#TOC39">6.1.3  Output file location</A></H3>
+
+<DL COMPACT>
+
+<DT><SAMP>`-o <VAR>file</VAR>&acute;</SAMP>
+<DD>
+<DT><SAMP>`--output-file=<VAR>file</VAR>&acute;</SAMP>
+<DD>
+Write output to specified file.
+
+</DL>
+
+<P>
+The results are written to standard output if no output file is specified
+or if it is <SAMP>`-&acute;</SAMP>.
+
+</P>
+
+
+<H3><A NAME="SEC40" HREF="gettext_toc.html#TOC40">6.1.4  Output file location in update mode</A></H3>
+
+<P>
+The result is written back to <VAR>def</VAR>.po.
+
+</P>
+<DL COMPACT>
+
+<DT><SAMP>`--backup=<VAR>control</VAR>&acute;</SAMP>
+<DD>
+Make a backup of <VAR>def</VAR>.po
+
+<DT><SAMP>`--suffix=<VAR>suffix</VAR>&acute;</SAMP>
+<DD>
+Override the usual backup suffix.
+
+</DL>
+
+<P>
+The version control method may be selected via the <CODE>--backup</CODE> option
+or through the <CODE>VERSION_CONTROL</CODE> environment variable.  Here are the
+values:
+
+</P>
+<DL COMPACT>
+
+<DT><SAMP>`none&acute;</SAMP>
+<DD>
+<DT><SAMP>`off&acute;</SAMP>
+<DD>
+Never make backups (even if <CODE>--backup</CODE> is given).
+
+<DT><SAMP>`numbered&acute;</SAMP>
+<DD>
+<DT><SAMP>`t&acute;</SAMP>
+<DD>
+Make numbered backups.
+
+<DT><SAMP>`existing&acute;</SAMP>
+<DD>
+<DT><SAMP>`nil&acute;</SAMP>
+<DD>
+Make numbered backups if numbered backups for this file already exist,
+otherwise make simple backups.
+
+<DT><SAMP>`simple&acute;</SAMP>
+<DD>
+<DT><SAMP>`never&acute;</SAMP>
+<DD>
+Always make simple backups.
+
+</DL>
+
+<P>
+The backup suffix is <SAMP>`~&acute;</SAMP>, unless set with <CODE>--suffix</CODE> or the
+<CODE>SIMPLE_BACKUP_SUFFIX</CODE> environment variable.
+
+</P>
+
+
+<H3><A NAME="SEC41" HREF="gettext_toc.html#TOC41">6.1.5  Operation modifiers</A></H3>
+
+<DL COMPACT>
+
+<DT><SAMP>`-m&acute;</SAMP>
+<DD>
+<DT><SAMP>`--multi-domain&acute;</SAMP>
+<DD>
+Apply <VAR>ref</VAR>.pot to each of the domains in <VAR>def</VAR>.po.
+
+</DL>
+
+
+
+<H3><A NAME="SEC42" HREF="gettext_toc.html#TOC42">6.1.6  Output details</A></H3>
+
+<DL COMPACT>
+
+<DT><SAMP>`--force-po&acute;</SAMP>
+<DD>
+Always write an output file even if it contains no message.
+
+<DT><SAMP>`-i&acute;</SAMP>
+<DD>
+<DT><SAMP>`--indent&acute;</SAMP>
+<DD>
+Write the .po file using indented style.
+
+<DT><SAMP>`--no-location&acute;</SAMP>
+<DD>
+Do not write <SAMP>`#: <VAR>filename</VAR>:<VAR>line</VAR>&acute;</SAMP> lines.
+
+<DT><SAMP>`--add-location&acute;</SAMP>
+<DD>
+Generate <SAMP>`#: <VAR>filename</VAR>:<VAR>line</VAR>&acute;</SAMP> lines (default).
+
+<DT><SAMP>`--strict&acute;</SAMP>
+<DD>
+Write out a strict Uniforum conforming PO file.  Note that this
+Uniforum format should be avoided because it doesn't support the
+GNU extensions.
+
+<DT><SAMP>`-w <VAR>number</VAR>&acute;</SAMP>
+<DD>
+<DT><SAMP>`--width=<VAR>number</VAR>&acute;</SAMP>
+<DD>
+Set the output page width.  Long strings in the output files will be
+split across multiple lines in order to ensure that each line's width
+(= number of screen columns) is less or equal to the given <VAR>number</VAR>.
+
+<DT><SAMP>`-s&acute;</SAMP>
+<DD>
+<DT><SAMP>`--sort-output&acute;</SAMP>
+<DD>
+Generate sorted output.  Note that using this option makes it much harder
+for the translator to understand each message's context.
+
+<DT><SAMP>`-F&acute;</SAMP>
+<DD>
+<DT><SAMP>`--sort-by-file&acute;</SAMP>
+<DD>
+Sort output by file location.
+
+</DL>
 
-<H2><A NAME="SEC24" HREF="gettext_toc.html#TOC24">6.2  Translated Entries</A></H2>
+
+
+<H3><A NAME="SEC43" HREF="gettext_toc.html#TOC43">6.1.7  Informative output</A></H3>
+
+<DL COMPACT>
+
+<DT><SAMP>`-h&acute;</SAMP>
+<DD>
+<DT><SAMP>`--help&acute;</SAMP>
+<DD>
+Display this help and exit.
+
+<DT><SAMP>`-V&acute;</SAMP>
+<DD>
+<DT><SAMP>`--version&acute;</SAMP>
+<DD>
+Output version information and exit.
+
+<DT><SAMP>`-v&acute;</SAMP>
+<DD>
+<DT><SAMP>`--verbose&acute;</SAMP>
+<DD>
+Increase verbosity level.
+
+<DT><SAMP>`-q&acute;</SAMP>
+<DD>
+<DT><SAMP>`--quiet&acute;</SAMP>
+<DD>
+<DT><SAMP>`--silent&acute;</SAMP>
+<DD>
+Suppress progress indicators.
+
+</DL>
+
+
+
+<H2><A NAME="SEC44" HREF="gettext_toc.html#TOC44">6.2  Translated Entries</A></H2>
 
 <P>
 Each PO file entry for which the <CODE>msgstr</CODE> field has been filled with
-a translation, and which is not marked as fuzzy (see section <A HREF="gettext_6.html#SEC25">6.3  Fuzzy Entries</A>),
-is a said to be a <STRONG>translated</STRONG> entry.  Only translated entries will
+a translation, and which is not marked as fuzzy (see section <A HREF="gettext_6.html#SEC45">6.3  Fuzzy Entries</A>),
+is a said to be a <EM>translated</EM> entry.  Only translated entries will
 later be compiled by GNU <CODE>msgfmt</CODE> and become usable in programs.
 Other entry types will be excluded; translation will not occur for them.
 
@@ -36,36 +279,36 @@ Some commands are more specifically related to translated entry processing.
 
 <DT><KBD>t</KBD>
 <DD>
-Find the next translated entry.
+Find the next translated entry (<CODE>po-next-translated-entry</CODE>).
 
-<DT><KBD>M-t</KBD>
+<DT><KBD>T</KBD>
 <DD>
-Find the previous translated entry.
+Find the previous translated entry (<CODE>po-previous-translated-entry</CODE>).
 
 </DL>
 
 <P>
 The commands <KBD>t</KBD> (<CODE>po-next-translated-entry</CODE>) and <KBD>M-t</KBD>
-(<CODE>po-previous-transted-entry</CODE>) move forwards or backwards, chasing
+(<CODE>po-previous-translated-entry</CODE>) move forwards or backwards, chasing
 for an translated entry.  If none is found, the search is extended and
 wraps around in the PO file buffer.
 
 </P>
 <P>
 Translated entries usually result from the translator having edited in
-a translation for them, section <A HREF="gettext_6.html#SEC28">6.6  Modifying Translations</A>.  However, if the
+a translation for them, section <A HREF="gettext_6.html#SEC48">6.6  Modifying Translations</A>.  However, if the
 variable <CODE>po-auto-fuzzy-on-edit</CODE> is not <CODE>nil</CODE>, the entry having
 received a new translation first becomes a fuzzy entry, which ought to
 be later unfuzzied before becoming an official, genuine translated entry.
-See section <A HREF="gettext_6.html#SEC25">6.3  Fuzzy Entries</A>.
+See section <A HREF="gettext_6.html#SEC45">6.3  Fuzzy Entries</A>.
 
 </P>
 
 
-<H2><A NAME="SEC25" HREF="gettext_toc.html#TOC25">6.3  Fuzzy Entries</A></H2>
+<H2><A NAME="SEC45" HREF="gettext_toc.html#TOC45">6.3  Fuzzy Entries</A></H2>
 
 <P>
-Each PO file entry may have a set of <STRONG>attributes</STRONG>, which are
+Each PO file entry may have a set of <EM>attributes</EM>, which are
 qualities given a name and explicitely associated with the translation,
 using a special system comment.  One of these attributes
 has the name <CODE>fuzzy</CODE>, and entries having this attribute are said
@@ -95,23 +338,23 @@ related to fuzzy entry processing.
 </P>
 <DL COMPACT>
 
-<DT><KBD>f</KBD>
+<DT><KBD>z</KBD>
 <DD>
-Find the next fuzzy entry.
+Find the next fuzzy entry (<CODE>po-next-fuzzy-entry</CODE>).
 
-<DT><KBD>M-f</KBD>
+<DT><KBD>Z</KBD>
 <DD>
-Find the previous fuzzy entry.
+Find the previous fuzzy entry (<CODE>po-previous-fuzzy-entry</CODE>).
 
 <DT><KBD><KBD>TAB</KBD></KBD>
 <DD>
-Remove the fuzzy attribute of the current entry.
+Remove the fuzzy attribute of the current entry (<CODE>po-unfuzzy</CODE>).
 
 </DL>
 
 <P>
-The commands <KBD>f</KBD> (<CODE>po-next-fuzzy</CODE>) and <KBD>M-f</KBD>
-(<CODE>po-previous-fuzzy</CODE>) move forwards or backwards, chasing for
+The commands <KBD>z</KBD> (<CODE>po-next-fuzzy-entry</CODE>) and <KBD>Z</KBD>
+(<CODE>po-previous-fuzzy-entry</CODE>) move forwards or backwards, chasing for
 a fuzzy entry.  If none is found, the search is extended and wraps
 around in the PO file buffer.
 
@@ -152,13 +395,13 @@ still exists.
 </P>
 
 
-<H2><A NAME="SEC26" HREF="gettext_toc.html#TOC26">6.4  Untranslated Entries</A></H2>
+<H2><A NAME="SEC46" HREF="gettext_toc.html#TOC46">6.4  Untranslated Entries</A></H2>
 
 <P>
 When <CODE>xgettext</CODE> originally creates a PO file, unless told
 otherwise, it initializes the <CODE>msgid</CODE> field with the untranslated
 string, and leaves the <CODE>msgstr</CODE> string to be empty.  Such entries,
-having an empty translation, are said to be <STRONG>untranslated</STRONG> entries.
+having an empty translation, are said to be <EM>untranslated</EM> entries.
 Later, when the programmer slightly modifies some string right in
 the program, this change is later reflected in the PO file
 by the appearance of a new untranslated entry for the modified string.
@@ -167,7 +410,7 @@ by the appearance of a new untranslated entry for the modified string.
 <P>
 The usual commands moving from entry to entry consider untranslated
 entries on the same level as active entries.  Untranslated entries
-are easily recognizable by the fact they end with <SAMP>`msgstr ""'</SAMP>.
+are easily recognizable by the fact they end with <SAMP>`msgstr ""&acute;</SAMP>.
 
 </P>
 <P>
@@ -182,15 +425,15 @@ processing.
 
 <DT><KBD>u</KBD>
 <DD>
-Find the next untranslated entry.
+Find the next untranslated entry (<CODE>po-next-untranslated-entry</CODE>).
 
-<DT><KBD>M-u</KBD>
+<DT><KBD>U</KBD>
 <DD>
-Find the previous untranslated entry.
+Find the previous untranslated entry (<CODE>po-previous-untransted-entry</CODE>).
 
 <DT><KBD>k</KBD>
 <DD>
-Turn the current entry into an untranslated one.
+Turn the current entry into an untranslated one (<CODE>po-kill-msgstr</CODE>).
 
 </DL>
 
@@ -204,7 +447,7 @@ extended and wraps around in the PO file buffer.
 <P>
 An entry can be turned back into an untranslated entry by
 merely emptying its translation, using the command <KBD>k</KBD>
-(<CODE>po-kill-msgstr</CODE>).  See section <A HREF="gettext_6.html#SEC28">6.6  Modifying Translations</A>.
+(<CODE>po-kill-msgstr</CODE>).  See section <A HREF="gettext_6.html#SEC48">6.6  Modifying Translations</A>.
 
 </P>
 <P>
@@ -215,10 +458,10 @@ if some untranslated string still exists.
 </P>
 
 
-<H2><A NAME="SEC27" HREF="gettext_toc.html#TOC27">6.5  Obsolete Entries</A></H2>
+<H2><A NAME="SEC47" HREF="gettext_toc.html#TOC47">6.5  Obsolete Entries</A></H2>
 
 <P>
-By <STRONG>obsolete</STRONG> PO file entries, we mean those entries which are
+By <EM>obsolete</EM> PO file entries, we mean those entries which are
 commented out, usually by <CODE>msgmerge</CODE> when it found that the
 translation is not needed anymore by the package being localized.
 
@@ -248,15 +491,16 @@ entry processing.
 
 <DT><KBD>o</KBD>
 <DD>
-Find the next obsolete entry.
+Find the next obsolete entry (<CODE>po-next-obsolete-entry</CODE>).
 
-<DT><KBD>M-o</KBD>
+<DT><KBD>O</KBD>
 <DD>
-Find the previous obsolete entry.
+Find the previous obsolete entry (<CODE>po-previous-obsolete-entry</CODE>).
 
 <DT><KBD><KBD>DEL</KBD></KBD>
 <DD>
-Make an active entry obsolete, or zap out an obsolete entry.
+Make an active entry obsolete, or zap out an obsolete entry
+(<CODE>po-fade-out-entry</CODE>).
 
 </DL>
 
@@ -285,7 +529,7 @@ translated entry), then it is first made fuzzy.  If it is already fuzzy,
 then the entry is merely commented out, with confirmation.  If the entry
 is already obsolete, then it is completely deleted from the PO file.
 It is easy to recycle the translation so deleted into some other PO file
-entry, usually one which is untranslated.  See section <A HREF="gettext_6.html#SEC28">6.6  Modifying Translations</A>.
+entry, usually one which is untranslated.  See section <A HREF="gettext_6.html#SEC48">6.6  Modifying Translations</A>.
 
 </P>
 <P>
@@ -303,7 +547,7 @@ merely tries to provide handy tools for helping her to do so.
 </P>
 
 
-<H2><A NAME="SEC28" HREF="gettext_toc.html#TOC28">6.6  Modifying Translations</A></H2>
+<H2><A NAME="SEC48" HREF="gettext_toc.html#TOC48">6.6  Modifying Translations</A></H2>
 
 <P>
 PO mode prevents direct edition of the PO file, by the usual
@@ -328,23 +572,28 @@ using the following commands for modifying the translations.
 
 <DT><KBD><KBD>RET</KBD></KBD>
 <DD>
-Interactively edit the translation.
+Interactively edit the translation (<CODE>po-edit-msgstr</CODE>).
 
 <DT><KBD><KBD>LFD</KBD></KBD>
 <DD>
-Reinitialize the translation with the original, untranslated string.
+<DT><KBD>C-j</KBD>
+<DD>
+Reinitialize the translation with the original, untranslated string
+(<CODE>po-msgid-to-msgstr</CODE>).
 
 <DT><KBD>k</KBD>
 <DD>
-Save the translation on the kill ring, and delete it.
+Save the translation on the kill ring, and delete it (<CODE>po-kill-msgstr</CODE>).
 
 <DT><KBD>w</KBD>
 <DD>
-Save the translation on the kill ring, without deleting it.
+Save the translation on the kill ring, without deleting it
+(<CODE>po-kill-ring-save-msgstr</CODE>).
 
 <DT><KBD>y</KBD>
 <DD>
-Replace the translation, taking the new from the kill ring.
+Replace the translation, taking the new from the kill ring
+(<CODE>po-yank-msgstr</CODE>).
 
 </DL>
 
@@ -356,7 +605,7 @@ the current PO file entry, all ready for edition, expunged of all quoting
 marks, fully modifiable and with the complete extent of Emacs modifying
 commands.  When the translator is done with her modifications, she may use
 <KBD>C-c C-c</KBD> to close the subedit window with the automatically requoted
-results, or <KBD>C-c C-k</KBD> to abort her modifications.  See section <A HREF="gettext_6.html#SEC30">6.8  Details of Sub Edition</A>,
+results, or <KBD>C-c C-k</KBD> to abort her modifications.  See section <A HREF="gettext_6.html#SEC50">6.8  Details of Sub Edition</A>,
 for more information.
 
 </P>
@@ -423,7 +672,7 @@ entries, the translation is also uncommented prior to saving.
 The command <KBD>y</KBD> (<CODE>po-yank-msgstr</CODE>) completely replaces the
 translation of the current entry by a string taken from the kill ring.
 Following Emacs terminology, we then say that the replacement
-string is <STRONG>yanked</STRONG> into the PO file buffer.
+string is <EM>yanked</EM> into the PO file buffer.
 See section `Yanking' in <CITE>The Emacs Editor</CITE>.
 The first time <KBD>y</KBD> is used, the translation receives the value of
 the most recent addition to the kill ring.  If <KBD>y</KBD> is typed once
@@ -490,7 +739,7 @@ See section `Keyboard Macros' in <CITE>The Emacs Editor</CITE>.
 </P>
 
 
-<H2><A NAME="SEC29" HREF="gettext_toc.html#TOC29">6.7  Modifying Comments</A></H2>
+<H2><A NAME="SEC49" HREF="gettext_toc.html#TOC49">6.7  Modifying Comments</A></H2>
 
 <P>
 Any translation work done seriously will raise many linguistic
@@ -502,8 +751,8 @@ be useful to herself when she returns to this PO file after a while.
 
 </P>
 <P>
-Comments not having whitespace after the initial <SAMP>`#'</SAMP>, for example,
-those beginning with <SAMP>`#.'</SAMP> or <SAMP>`#:'</SAMP>, are <EM>not</EM> translator
+Comments not having whitespace after the initial <SAMP>`#&acute;</SAMP>, for example,
+those beginning with <SAMP>`#.&acute;</SAMP> or <SAMP>`#:&acute;</SAMP>, are <EM>not</EM> translator
 comments, they are exclusively created by other <CODE>gettext</CODE> tools.
 So, the commands below will never alter such system added comments,
 they are not meant for the translator to modify.  See section <A HREF="gettext_2.html#SEC9">2.2  The Format of PO Files</A>.
@@ -511,26 +760,29 @@ they are not meant for the translator to modify.  See section <A HREF="gettext_2
 </P>
 <P>
 The following commands are somewhat similar to those modifying translations,
-so the general indications given for those apply here.  See section <A HREF="gettext_6.html#SEC28">6.6  Modifying Translations</A>.
+so the general indications given for those apply here.  See section <A HREF="gettext_6.html#SEC48">6.6  Modifying Translations</A>.
 
 </P>
 <DL COMPACT>
 
 <DT><KBD>#</KBD>
 <DD>
-Interactively edit the translator comments.
+Interactively edit the translator comments (<CODE>po-edit-comment</CODE>).
 
 <DT><KBD>K</KBD>
 <DD>
-Save the translator comments on the kill ring, and delete it.
+Save the translator comments on the kill ring, and delete it
+(<CODE>po-kill-comment</CODE>).
 
 <DT><KBD>W</KBD>
 <DD>
-Save the translator comments on the kill ring, without deleting it.
+Save the translator comments on the kill ring, without deleting it
+(<CODE>po-kill-ring-save-comment</CODE>).
 
 <DT><KBD>Y</KBD>
 <DD>
-Replace the translator comments, taking the new from the kill ring.
+Replace the translator comments, taking the new from the kill ring
+(<CODE>po-yank-comment</CODE>).
 
 </DL>
 
@@ -540,7 +792,7 @@ strings, and behave much the same way as they do, except that they handle
 this part of PO file comments meant for translator usage, rather
 than the translation strings.  So, if the descriptions given below are
 slightly succinct, it is because the full details have already been given.
-See section <A HREF="gettext_6.html#SEC28">6.6  Modifying Translations</A>.
+See section <A HREF="gettext_6.html#SEC48">6.6  Modifying Translations</A>.
 
 </P>
 <P>
@@ -553,7 +805,7 @@ removed before edition, and reinstated after.  For translator comments
 pertaining to obsolete entries, the uncommenting and recommenting operations
 are done twice.  Once in the editing window, the keys <KBD>C-c C-c</KBD>
 allow the translator to tell she is finished with editing the comment.
-See section <A HREF="gettext_6.html#SEC30">6.8  Details of Sub Edition</A>, for further details.
+See section <A HREF="gettext_6.html#SEC50">6.8  Details of Sub Edition</A>, for further details.
 
 </P>
 <P>
@@ -600,7 +852,7 @@ regular Emacs commands <KBD>C-y</KBD> (<CODE>yank</CODE>) and <KBD>M-y</KBD>
 </P>
 
 
-<H2><A NAME="SEC30" HREF="gettext_toc.html#TOC30">6.8  Details of Sub Edition</A></H2>
+<H2><A NAME="SEC50" HREF="gettext_toc.html#TOC50">6.8  Details of Sub Edition</A></H2>
 
 <P>
 The PO subedit minor mode has a few peculiarities worth being described
@@ -612,15 +864,15 @@ of Emacs, which are described below.
 
 <DT><KBD>C-c C-c</KBD>
 <DD>
-Complete edition.
+Complete edition (<CODE>po-subedit-exit</CODE>).
 
 <DT><KBD>C-c C-k</KBD>
 <DD>
-Abort edition.
+Abort edition (<CODE>po-subedit-abort</CODE>).
 
 <DT><KBD>C-c C-a</KBD>
 <DD>
-Consult auxiliary PO files.
+Consult auxiliary PO files (<CODE>po-subedit-cycle-auxiliary</CODE>).
 
 </DL>
 
@@ -644,11 +896,12 @@ whole effect of last edition.
 
 </P>
 <P>
-The command <KBD>C-c C-a</KBD> allows for glancing through translations
+The command <KBD>C-c C-a</KBD> (<CODE>po-subedit-cycle-auxiliary</CODE>)
+allows for glancing through translations
 already achieved in other languages, directly while editing the current
 translation.  This may be quite convenient when the translator is fluent
 at many languages, but of course, only makes sense when such completed
-auxiliary PO files are already available to her (see section <A HREF="gettext_6.html#SEC32">6.10  Consulting Auxiliary PO Files</A>).
+auxiliary PO files are already available to her (see section <A HREF="gettext_6.html#SEC52">6.10  Consulting Auxiliary PO Files</A>).
 
 </P>
 <P>
@@ -696,7 +949,7 @@ are automatically resumed one at a time, so she may decide for each of them.
 </P>
 
 
-<H2><A NAME="SEC31" HREF="gettext_toc.html#TOC31">6.9  C Sources Context</A></H2>
+<H2><A NAME="SEC51" HREF="gettext_toc.html#TOC51">6.9  C Sources Context</A></H2>
 
 <P>
 PO mode is particularily powerful when used with PO files
@@ -740,24 +993,28 @@ program source context for a PO file entry.
 
 <DT><KBD>s</KBD>
 <DD>
-Resume the display of a program source context, or cycle through them.
+Resume the display of a program source context, or cycle through them
+(<CODE>po-cycle-source-reference</CODE>).
 
 <DT><KBD>M-s</KBD>
 <DD>
-Display of a program source context selected by menu.
+Display of a program source context selected by menu
+(<CODE>po-select-source-reference</CODE>).
 
 <DT><KBD>S</KBD>
 <DD>
-Add a directory to the search path for source files.
+Add a directory to the search path for source files
+(<CODE>po-consider-source-path</CODE>).
 
 <DT><KBD>M-S</KBD>
 <DD>
-Delete a directory from the search path for source files.
+Delete a directory from the search path for source files
+(<CODE>po-ignore-source-path</CODE>).
 
 </DL>
 
 <P>
-The commands <KBD>s</KBD> (<CODE>po-cycle-reference</CODE>) and <KBD>M-s</KBD>
+The commands <KBD>s</KBD> (<CODE>po-cycle-source-reference</CODE>) and <KBD>M-s</KBD>
 (<CODE>po-select-source-reference</CODE>) both open another window displaying
 some source program file, and already positioned in such a way that
 it shows an actual use of the string to be translated.  By doing
@@ -809,7 +1066,7 @@ happen that a PO file has been moved, or is edited in a different
 place than its normal location.  When this happens, the translator
 should tell PO mode in which directory normally sits the genuine PO
 file.  Many such directories may be specified, and all together, they
-constitute what is called the <STRONG>search path</STRONG> for program sources.
+constitute what is called the <EM>search path</EM> for program sources.
 The command <KBD>S</KBD> (<CODE>po-consider-source-path</CODE>) is used to interactively
 enter a new directory at the front of the search path, and the command
 <KBD>M-S</KBD> (<CODE>po-ignore-source-path</CODE>) is used to select, with completion,
@@ -818,7 +1075,7 @@ one of the directories she does not want anymore on the search path.
 </P>
 
 
-<H2><A NAME="SEC32" HREF="gettext_toc.html#TOC32">6.10  Consulting Auxiliary PO Files</A></H2>
+<H2><A NAME="SEC52" HREF="gettext_toc.html#TOC52">6.10  Consulting Auxiliary PO Files</A></H2>
 
 <P>
 PO mode is able to help the knowledgeable translator, being fluent in
@@ -830,7 +1087,7 @@ at once, for translators preferring to work in this way.
 
 </P>
 <P>
-An <STRONG>auxiliary</STRONG> PO file is an existing PO file meant for the same
+An <EM>auxiliary</EM> PO file is an existing PO file meant for the same
 package the translator is working on, but targeted to a different mother
 tongue language.  Commands exist for declaring and handling auxiliary
 PO files, and also for showing contexts for the entry under work.
@@ -844,19 +1101,21 @@ Here are the auxiliary file commands available in PO mode.
 
 <DT><KBD>a</KBD>
 <DD>
-Seek auxiliary files for another translation for the same entry.
+Seek auxiliary files for another translation for the same entry
+(<CODE>po-cycle-auxiliary</CODE>).
 
-<DT><KBD>M-a</KBD>
+<DT><KBD>C-c C-a</KBD>
 <DD>
-Switch to a particular auxiliary file.
+Switch to a particular auxiliary file (<CODE>po-select-auxiliary</CODE>).
 
 <DT><KBD>A</KBD>
 <DD>
-Declare this PO file as an auxiliary file.
+Declare this PO file as an auxiliary file (<CODE>po-consider-as-auxiliary</CODE>).
 
 <DT><KBD>M-A</KBD>
 <DD>
-Remove this PO file from the list of auxiliary files.
+Remove this PO file from the list of auxiliary files
+(<CODE>po-ignore-as-auxiliary</CODE>).
 
 </DL>
 
@@ -878,7 +1137,7 @@ so repeating <KBD>a</KBD> will eventually yield back the original PO file.
 
 </P>
 <P>
-The command <KBD>M-a</KBD> (<CODE>po-select-auxiliary</CODE>) asks the translator
+The command <KBD>C-c C-a</KBD> (<CODE>po-select-auxiliary</CODE>) asks the translator
 for her choice of a particular auxiliary file, with completion, and
 then switches to that selected PO file.  The command also checks if
 the selected file has an <CODE>msgid</CODE> field identical as the one for
@@ -899,32 +1158,179 @@ their <CODE>msgid</CODE> entries written by the same GNU <CODE>gettext</CODE> to
 <P>
 However, PO files initially created by PO mode itself, while marking
 strings in source files, are normalised differently.  So are PO
-files resulting of the the <SAMP>`M-x normalize'</SAMP> command.  Until these
+files resulting of the the <SAMP>`M-x normalize&acute;</SAMP> command.  Until these
 discrepancies between PO mode and other GNU <CODE>gettext</CODE> tools get
 fully resolved, the translator should stay aware of normalisation issues.
 
 </P>
 
 
-<H2><A NAME="SEC33" HREF="gettext_toc.html#TOC33">6.11  Using Translation Compendiums</A></H2>
+<H2><A NAME="SEC53" HREF="gettext_toc.html#TOC53">6.11  Using Translation Compendia</A></H2>
+
+<P>
+A <EM>compendium</EM> is a special PO file containing a set of
+translations recurring in many different packages.  The translator can
+use gettext tools to build a new compendium, to add entries to her
+compendium, and to initialize untranslated entries, or to update
+already translated entries, from translations kept in the compendium.
+
+</P>
+
+
+
+<H3><A NAME="SEC54" HREF="gettext_toc.html#TOC54">6.11.1  Creating Compendia</A></H3>
 
 <P>
-Compendiums are yet to be implemented.
+Basically every PO file consisting of translated entries only can be
+declared as a valid compendium.  Often the translater wants to have
+special compendia; let's consider two cases: <CITE>concatenating PO
+files</CITE> and <CITE>extracting a message subset from a PO file</CITE>.
 
 </P>
+
+
+<H4><A NAME="SEC55" HREF="gettext_toc.html#TOC55">6.11.1.1  Concatenate PO Files</A></H4>
+
 <P>
-An incoming PO mode feature will let the translator maintain a
-compendium of already achieved translations.  A <STRONG>compendium</STRONG>
-is a special PO file containing a set of translations recurring in
-many different packages.  The translator will be given commands for
-adding entries to her compendium, and later initializing untranslated
-entries, or updating already translated entries, from translations
-kept in the compendium.  For this to work, however, the compendium
-would have to be normalized.  See section <A HREF="gettext_2.html#SEC12">2.5  Normalizing Strings in Entries</A>.
+To concatenate several valid PO files into one compendium file you can
+use @command{msgcomm} or @command{msgcat} (the latter preferred):
 
 </P>
 
+<PRE>
+msgcat -o compendium.po file1.po file2.po
+</PRE>
+
+<P>
+By default, @command{msgcat} will accumulate divergent translations
+for the same string.  Those occurences will be marked as <CODE>fuzzy</CODE>
+and highly visible decorated; calling @command{msgcat} on
+<TT>`file1.po&acute;</TT>:
+
+</P>
+
+<PRE>
+#: src/hello.c:200
+#, c-format
+msgid "Report bugs to &#60;%s&#62;.\n"
+msgstr "Comunicar `bugs' a &#60;%s&#62;.\n"
+</PRE>
+
+<P>
+and <TT>`file2.po&acute;</TT>:
+
+</P>
+
+<PRE>
+#: src/bye.c:100
+#, c-format
+msgid "Report bugs to &#60;%s&#62;.\n"
+msgstr "Comunicar \"bugs\" a &#60;%s&#62;.\n"
+</PRE>
+
+<P>
+will result in:
+
+</P>
+
+<PRE>
+#: src/hello.c:200 src/bye.c:100
+#, fuzzy, c-format
+msgid "Report bugs to &#60;%s&#62;.\n"
+msgstr ""
+"#-#-#-#-#  file1.po  #-#-#-#-#\n"
+"Comunicar `bugs' a &#60;%s&#62;.\n"
+"#-#-#-#-#  file2.po  #-#-#-#-#\n"
+"Comunicar \"bugs\" a &#60;%s&#62;.\n"
+</PRE>
+
+<P>
+The translator will have to resolve this "conflict" manually; she
+has to decide whether the first or the second version is appropriate
+(or provide a new translation), to delete the "marker lines", and
+finally to remove the <CODE>fuzzy</CODE> mark.
+
+</P>
+<P>
+If the translator knows in advance the first found translation of a
+message is always the best translation she can make use to the
+@option{--use-first} switch:
+
+</P>
+
+<PRE>
+msgcat --use-first -o compendium.po file1.po file2.po
+</PRE>
+
+<P>
+A good compendium file must not contain <CODE>fuzzy</CODE> or untranslated
+entries.  If input files are "dirty" you must use the
+@option{--translated-only} switch (FIXME: TBI) or a manual way to pre-
+or postprocess.  (FIXME: Handling of obsolete entries at this point?
+Proposal: By default, make them valid entries.
+@option{--no-obsolete-entries}.)
+
+</P>
+
+
+<H4><A NAME="SEC56" HREF="gettext_toc.html#TOC56">6.11.1.2  Extract a Message Subset from a PO File</A></H4>
+
+<P>
+Nobody wants to translate the same messages again and again; thus you
+may wish to have a compendium file containing <TT>`getopt.c&acute;</TT> messages.
+
+</P>
+<P>
+To extract a message subset (e.g., all <TT>`getopt.c&acute;</TT> messages) from an
+existing PO file into one compendium file you can use
+@command{msggrep}:
+
+</P>
+
+<PRE>
+msggrep --location src/getopt.c -o compendium.po file.po
+</PRE>
+
+
+
+<H3><A NAME="SEC57" HREF="gettext_toc.html#TOC57">6.11.2  Using Compendia</A></H3>
+
+<P>
+You can use a compendium file to initialize a translation from scratch
+or to update an already existing translation.
+
+</P>
+
+
+<H4><A NAME="SEC58" HREF="gettext_toc.html#TOC58">6.11.2.1  Initialize a New Translation File</A></H4>
+
+<P>
+Since a PO file with translations does not exist the translator can
+merely use <TT>`/dev/null&acute;</TT> to fake the "old" translation file.
+
+</P>
+
+<PRE>
+msgmerge --compendium compendium.po -o file.po /dev/null file.pot
+</PRE>
+
+
+
+<H4><A NAME="SEC59" HREF="gettext_toc.html#TOC59">6.11.2.2  Update an Existing Translation File</A></H4>
+
+<P>
+Concatenate the compendium file(s) and the existing PO, merge the
+result with the POT file and remove the obsolete entries (optional,
+here done using @command{sed}):
+
+</P>
+
+<PRE>
+msgcat --use-first -o update.po compendium1.po compendium2.po file.po
+msgmerge update.po file.pot | sed -e '/^#~/d' &#62; file.po
+</PRE>
+
 <P><HR><P>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_5.html">previous</A>, <A HREF="gettext_7.html">next</A>, <A HREF="gettext_14.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
+Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_5.html">previous</A>, <A HREF="gettext_7.html">next</A>, <A HREF="gettext_16.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
 </BODY>
 </HTML>
index 74b8829b0b0c0b0abf8381fb9503eb0e216ad218..185cc3717f89c03e3b8242da370a212def8b8577 100644 (file)
 <HTML>
 <HEAD>
-<!-- This HTML file has been created by texi2html 1.51
-     from gettext.texi on 19 April 2001 -->
+<!-- This HTML file has been created by texi2html 1.52a
+     from gettext.texi on 30 November 2001 -->
 
-<TITLE>GNU gettext utilities - 7  Producing Binary MO Files</TITLE>
+<TITLE>GNU gettext utilities - 7  Manipulating PO Files</TITLE>
 </HEAD>
 <BODY>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_6.html">previous</A>, <A HREF="gettext_8.html">next</A>, <A HREF="gettext_14.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
+Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_6.html">previous</A>, <A HREF="gettext_8.html">next</A>, <A HREF="gettext_16.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
 <P><HR><P>
 
 
-<H1><A NAME="SEC34" HREF="gettext_toc.html#TOC34">7  Producing Binary MO Files</A></H1>
+<H1><A NAME="SEC60" HREF="gettext_toc.html#TOC60">7  Manipulating PO Files</A></H1>
+
+<P>
+Sometimes it is necessary to manipulate PO files in a way that is better
+performed automatically than by hand.  GNU <CODE>gettext</CODE> includes a
+complete set of tools for this purpose.
+
+</P>
+<P>
+When merging two packages into a single package, the resulting POT file
+will be the concatenation of the two packages' POT files.  Thus the
+maintainer must concatenate the two existing package translations into
+a single translation catalog, for each language.  This is best performed
+using <SAMP>`msgcat&acute;</SAMP>.  It is then the translators' duty to deal with any
+possible conflicts that arose during the merge.
+
+</P>
+<P>
+When a translator takes over the translation job from another translator,
+but she uses a different character encoding in her locale, she will
+convert the catalog to her character encoding.  This is best done through
+the <SAMP>`msgconv&acute;</SAMP> program.
+
+</P>
+<P>
+When a maintainer takes a source file with tagged messages from another
+package, he should also take the existing translations for this source
+file (and not let the translators do the same job twice).  One way to do
+this is through <SAMP>`msggrep&acute;</SAMP>, another is to create a POT file for
+that source file and use <SAMP>`msgmerge&acute;</SAMP>.
+
+</P>
+<P>
+When a translator wants to adjust some translation catalog for a special
+dialect or orthography - for example, German as written in Switzerland
+versus German as written in Germany -, she needs to apply some text
+processing to every message in the catalog.  The tool for doing this is
+<SAMP>`msgexec&acute;</SAMP>.
+
+</P>
+<P>
+Another use of <CODE>msgexec</CODE> is to produce approximately the POT file for
+which a given PO file was made.  This can be done through a filter command
+like <SAMP>`msgexec sed -e d | sed -e '/^# /d'&acute;</SAMP>.  Note that the original
+POT file may have had different comments and different plural message counts,
+that's why it's better to use the original POT file if available.
+
+</P>
+<P>
+When third party tools create PO or POT files, sometimes duplicates cannot
+be avoided.  But the GNU <CODE>gettext</CODE> tools give an error when they
+encounter duplicate msgids in the same file and in the same domain.
+To merge duplicates, the <CODE>msguniq</CODE> program can be used.
+
+</P>
+<P>
+<SAMP>`msgcomm&acute;</SAMP> is a more general tool for keeping or throwing away
+duplicates, occurring in different files.
+
+</P>
+<P>
+<SAMP>`msgcmp&acute;</SAMP> can be used to check whether a translation catalog is
+completely translated.
+
+</P>
+<P>
+<SAMP>`msgattrib&acute;</SAMP> can be used to select and extract only the fuzzy
+or untranslated messages of a translation catalog.
+
+</P>
+<P>
+<SAMP>`msgen&acute;</SAMP> is useful as a first step for preparing English translation
+catalogs.  It copies each message's msgid to its msgstr.
+
+</P>
 
 
 
-<H2><A NAME="SEC35" HREF="gettext_toc.html#TOC35">7.1  Invoking the <CODE>msgfmt</CODE> Program</A></H2>
+<H2><A NAME="SEC61" HREF="gettext_toc.html#TOC61">7.1  Invoking the <CODE>msgcat</CODE> Program</A></H2>
 
 
 <PRE>
-Usage: msgfmt [<VAR>option</VAR>] <VAR>filename</VAR>.po ...
+msgcat [<VAR>option</VAR>] [<VAR>inputfile</VAR>]...
 </PRE>
 
+<P>
+The <CODE>msgcat</CODE> program concatenates and merges the specified PO files.
+It finds messages which are common to two or more of the specified PO files.
+By using the <CODE>--more-than</CODE> option, greater commonality may be requested
+before messages are printed.  Conversely, the <CODE>--less-than</CODE> option may be
+used to specify less commonality before messages are printed (i.e.
+<SAMP>`--less-than=2&acute;</SAMP> will only print the unique messages).  Translations,
+comments and extract comments will be cumulated, except that if
+<CODE>--use-first</CODE> is specified, they will be taken from the first PO file
+to define them.  File positions from all PO files will be cumulated.
+
+</P>
+
+
+<H3><A NAME="SEC62" HREF="gettext_toc.html#TOC62">7.1.1  Input file location</A></H3>
+
 <DL COMPACT>
 
-<DT><SAMP>`-a <VAR>number</VAR>'</SAMP>
+<DT><SAMP>`<VAR>inputfile</VAR> ...&acute;</SAMP>
 <DD>
-<DT><SAMP>`--alignment=<VAR>number</VAR>'</SAMP>
+Input files.
+
+<DT><SAMP>`-f <VAR>file</VAR>&acute;</SAMP>
+<DD>
+<DT><SAMP>`--files-from=<VAR>file</VAR>&acute;</SAMP>
 <DD>
-Align strings to <VAR>number</VAR> bytes (default: 1).
+Read the names of the input files from <VAR>file</VAR> instead of getting
+them from the command line.
 
-<DT><SAMP>`-h'</SAMP>
+<DT><SAMP>`-D <VAR>directory</VAR>&acute;</SAMP>
 <DD>
-<DT><SAMP>`--help'</SAMP>
+<DT><SAMP>`--directory=<VAR>directory</VAR>&acute;</SAMP>
 <DD>
-Display this help and exit.
+Add <VAR>directory</VAR> to the list of directories.  Source files are
+searched relative to this list of directories.  The resulting <TT>`.po&acute;</TT>
+file will be written relative to the current directory, though.
+
+</DL>
+
+<P>
+If <VAR>inputfile</VAR> is <SAMP>`-&acute;</SAMP>, standard input is read.
+
+</P>
+
+
+<H3><A NAME="SEC63" HREF="gettext_toc.html#TOC63">7.1.2  Output file location</A></H3>
+
+<DL COMPACT>
+
+<DT><SAMP>`-o <VAR>file</VAR>&acute;</SAMP>
+<DD>
+<DT><SAMP>`--output-file=<VAR>file</VAR>&acute;</SAMP>
+<DD>
+Write output to specified file.
+
+</DL>
+
+<P>
+The results are written to standard output if no output file is specified
+or if it is <SAMP>`-&acute;</SAMP>.
+
+</P>
+
+
+<H3><A NAME="SEC64" HREF="gettext_toc.html#TOC64">7.1.3  Message selection</A></H3>
 
-<DT><SAMP>`--no-hash'</SAMP>
+<DL COMPACT>
+
+<DT><SAMP>`-&#60; <VAR>number</VAR>&acute;</SAMP>
+<DD>
+<DT><SAMP>`--less-than=<VAR>number</VAR>&acute;</SAMP>
+<DD>
+Print messages with less than <VAR>number</VAR> definitions, defaults to infinite
+if not set.
+
+<DT><SAMP>`-&#62; <VAR>number</VAR>&acute;</SAMP>
+<DD>
+<DT><SAMP>`--more-than=<VAR>number</VAR>&acute;</SAMP>
+<DD>
+Print messages with more than <VAR>number</VAR> definitions, defaults to 0 if not
+set.
+
+<DT><SAMP>`-u&acute;</SAMP>
+<DD>
+<DT><SAMP>`--unique&acute;</SAMP>
+<DD>
+Shorthand for <SAMP>`--less-than=2&acute;</SAMP>.  Requests that only unique messages be
+printed.
+
+</DL>
+
+
+
+<H3><A NAME="SEC65" HREF="gettext_toc.html#TOC65">7.1.4  Output details</A></H3>
+
+<DL COMPACT>
+
+<DT><SAMP>`-t&acute;</SAMP>
+<DD>
+<DT><SAMP>`--to-code=<VAR>name</VAR>&acute;</SAMP>
+<DD>
+Specify encoding for output.
+
+<DT><SAMP>`--use-first&acute;</SAMP>
+<DD>
+Use first available translation for each message.  Don't merge several
+translations into one.
+
+<DT><SAMP>`--force-po&acute;</SAMP>
+<DD>
+Always write an output file even if it contains no message.
+
+<DT><SAMP>`-i&acute;</SAMP>
+<DD>
+<DT><SAMP>`--indent&acute;</SAMP>
+<DD>
+Write the .po file using indented style.
+
+<DT><SAMP>`--no-location&acute;</SAMP>
 <DD>
-Binary file will not include the hash table.
+Do not write <SAMP>`#: <VAR>filename</VAR>:<VAR>line</VAR>&acute;</SAMP> lines.
 
-<DT><SAMP>`-o <VAR>file</VAR>'</SAMP>
+<DT><SAMP>`-n&acute;</SAMP>
 <DD>
-<DT><SAMP>`--output-file=<VAR>file</VAR>'</SAMP>
+<DT><SAMP>`--add-location&acute;</SAMP>
 <DD>
-Specify output file name as <VAR>file</VAR>.
+Generate <SAMP>`#: <VAR>filename</VAR>:<VAR>line</VAR>&acute;</SAMP> lines (default).
 
-<DT><SAMP>`--strict'</SAMP>
+<DT><SAMP>`--strict&acute;</SAMP>
 <DD>
-Direct the program to work strictly following the Uniforum/Sun
-implementation.  Currently this only affects the naming of the output
-file.  If this option is not given the name of the output file is the
-same as the domain name.  If the strict Uniforum mode is enabled the
-suffix <TT>`.mo'</TT> is added to the file name if it is not already
-present.
+Write out a strict Uniforum conforming PO file.  Note that this
+Uniforum format should be avoided because it doesn't support the
+GNU extensions.
 
-We find this behaviour of Sun's implementation rather silly and so by
-default this mode is <EM>not</EM> selected.
+<DT><SAMP>`-w <VAR>number</VAR>&acute;</SAMP>
+<DD>
+<DT><SAMP>`--width=<VAR>number</VAR>&acute;</SAMP>
+<DD>
+Set the output page width.  Long strings in the output files will be
+split across multiple lines in order to ensure that each line's width
+(= number of screen columns) is less or equal to the given <VAR>number</VAR>.
+
+<DT><SAMP>`-s&acute;</SAMP>
+<DD>
+<DT><SAMP>`--sort-output&acute;</SAMP>
+<DD>
+Generate sorted output.  Note that using this option makes it much harder
+for the translator to understand each message's context.
 
-<DT><SAMP>`-v'</SAMP>
+<DT><SAMP>`-F&acute;</SAMP>
 <DD>
-<DT><SAMP>`--verbose'</SAMP>
+<DT><SAMP>`--sort-by-file&acute;</SAMP>
 <DD>
-Detect and diagnose input file anomalies which might represent
-translation errors.  The <CODE>msgid</CODE> and <CODE>msgstr</CODE> strings are
-studied and compared.  It is considered abnormal that one string
-starts or ends with a newline while the other does not.
+Sort output by file location.
+
+</DL>
+
 
-Also, if the string represents a format string used in a
-<CODE>printf</CODE>-like function both strings should have the same number of
-<SAMP>`%'</SAMP> format specifiers, with matching types.  If the flag
-<CODE>c-format</CODE> or <CODE>possible-c-format</CODE> appears in the special
-comment <KBD>#,</KBD> for this entry a check is performed.  For example, the
-check will diagnose using <SAMP>`%.*s'</SAMP> against <SAMP>`%s'</SAMP>, or <SAMP>`%d'</SAMP>
-against <SAMP>`%s'</SAMP>, or <SAMP>`%d'</SAMP> against <SAMP>`%x'</SAMP>.  It can even handle
-positional parameters.
 
-Normally the <CODE>xgettext</CODE> program automatically decides whether a
-string is a format string or not.  This algorithm is not perfect,
-though.  It might regard a string as a format string though it is not
-used in a <CODE>printf</CODE>-like function and so <CODE>msgfmt</CODE> might report
-errors where there are none.  Or the other way round: a string is not
-regarded as a format string but it is used in a <CODE>printf</CODE>-like
-function.
+<H3><A NAME="SEC66" HREF="gettext_toc.html#TOC66">7.1.5  Informative output</A></H3>
 
-So solve this problem the programmer can dictate the decision to the
-<CODE>xgettext</CODE> program (see section <A HREF="gettext_3.html#SEC17">3.4  Special Comments preceding Keywords</A>).  The translator should not
-consider removing the flag from the <KBD>#,</KBD> line.  This "fix" would be
-reversed again as soon as <CODE>msgmerge</CODE> is called the next time.
+<DL COMPACT>
+
+<DT><SAMP>`-h&acute;</SAMP>
+<DD>
+<DT><SAMP>`--help&acute;</SAMP>
+<DD>
+Display this help and exit.
 
-<DT><SAMP>`-V'</SAMP>
+<DT><SAMP>`-V&acute;</SAMP>
 <DD>
-<DT><SAMP>`--version'</SAMP>
+<DT><SAMP>`--version&acute;</SAMP>
 <DD>
 Output version information and exit.
 
 </DL>
 
+
+
+<H2><A NAME="SEC67" HREF="gettext_toc.html#TOC67">7.2  Invoking the <CODE>msgconv</CODE> Program</A></H2>
+
+
+<PRE>
+msgconv [<VAR>option</VAR>] [<VAR>inputfile</VAR>]
+</PRE>
+
 <P>
-If input file is <SAMP>`-'</SAMP>, standard input is read.  If output file
-is <SAMP>`-'</SAMP>, output is written to standard output.
+The <CODE>msgconv</CODE> program converts a translation catalog to a different
+character encoding.
 
 </P>
 
 
-<H2><A NAME="SEC36" HREF="gettext_toc.html#TOC36">7.2  The Format of GNU MO Files</A></H2>
+<H3><A NAME="SEC68" HREF="gettext_toc.html#TOC68">7.2.1  Input file location</A></H3>
+
+<DL COMPACT>
+
+<DT><SAMP>`<VAR>inputfile</VAR>&acute;</SAMP>
+<DD>
+Input PO file.
+
+<DT><SAMP>`-D <VAR>directory</VAR>&acute;</SAMP>
+<DD>
+<DT><SAMP>`--directory=<VAR>directory</VAR>&acute;</SAMP>
+<DD>
+Add <VAR>directory</VAR> to the list of directories.  Source files are
+searched relative to this list of directories.  The resulting <TT>`.po&acute;</TT>
+file will be written relative to the current directory, though.
+
+</DL>
 
 <P>
-The format of the generated MO files is best described by a picture,
-which appears below.
+If no <VAR>inputfile</VAR> is given or if it is <SAMP>`-&acute;</SAMP>, standard input is read.
 
 </P>
+
+
+<H3><A NAME="SEC69" HREF="gettext_toc.html#TOC69">7.2.2  Output file location</A></H3>
+
+<DL COMPACT>
+
+<DT><SAMP>`-o <VAR>file</VAR>&acute;</SAMP>
+<DD>
+<DT><SAMP>`--output-file=<VAR>file</VAR>&acute;</SAMP>
+<DD>
+Write output to specified file.
+
+</DL>
+
 <P>
-The first two words serve the identification of the file.  The magic
-number will always signal GNU MO files.  The number is stored in the
-byte order of the generating machine, so the magic number really is
-two numbers: <CODE>0x950412de</CODE> and <CODE>0xde120495</CODE>.  The second
-word describes the current revision of the file format.  For now the
-revision is 0.  This might change in future versions, and ensures
-that the readers of MO files can distinguish new formats from old
-ones, so that both can be handled correctly.  The version is kept
-separate from the magic number, instead of using different magic
-numbers for different formats, mainly because <TT>`/etc/magic'</TT> is
-not updated often.  It might be better to have magic separated from
-internal format version identification.
+The results are written to standard output if no output file is specified
+or if it is <SAMP>`-&acute;</SAMP>.
 
 </P>
+
+
+<H3><A NAME="SEC70" HREF="gettext_toc.html#TOC70">7.2.3  Conversion target</A></H3>
+
+<DL COMPACT>
+
+<DT><SAMP>`-t&acute;</SAMP>
+<DD>
+<DT><SAMP>`--to-code=<VAR>name</VAR>&acute;</SAMP>
+<DD>
+Specify encoding for output.
+
+</DL>
+
 <P>
-Follow a number of pointers to later tables in the file, allowing
-for the extension of the prefix part of MO files without having to
-recompile programs reading them.  This might become useful for later
-inserting a few flag bits, indication about the charset used, new
-tables, or other things.
+The default encoding is the current locale's encoding.
 
 </P>
+
+
+<H3><A NAME="SEC71" HREF="gettext_toc.html#TOC71">7.2.4  Output details</A></H3>
+
+<DL COMPACT>
+
+<DT><SAMP>`--force-po&acute;</SAMP>
+<DD>
+Always write an output file even if it contains no message.
+
+<DT><SAMP>`-i&acute;</SAMP>
+<DD>
+<DT><SAMP>`--indent&acute;</SAMP>
+<DD>
+Write the .po file using indented style.
+
+<DT><SAMP>`--no-location&acute;</SAMP>
+<DD>
+Do not write <SAMP>`#: <VAR>filename</VAR>:<VAR>line</VAR>&acute;</SAMP> lines.
+
+<DT><SAMP>`--add-location&acute;</SAMP>
+<DD>
+Generate <SAMP>`#: <VAR>filename</VAR>:<VAR>line</VAR>&acute;</SAMP> lines (default).
+
+<DT><SAMP>`--strict&acute;</SAMP>
+<DD>
+Write out a strict Uniforum conforming PO file.  Note that this
+Uniforum format should be avoided because it doesn't support the
+GNU extensions.
+
+<DT><SAMP>`-w <VAR>number</VAR>&acute;</SAMP>
+<DD>
+<DT><SAMP>`--width=<VAR>number</VAR>&acute;</SAMP>
+<DD>
+Set the output page width.  Long strings in the output files will be
+split across multiple lines in order to ensure that each line's width
+(= number of screen columns) is less or equal to the given <VAR>number</VAR>.
+
+<DT><SAMP>`-s&acute;</SAMP>
+<DD>
+<DT><SAMP>`--sort-output&acute;</SAMP>
+<DD>
+Generate sorted output.  Note that using this option makes it much harder
+for the translator to understand each message's context.
+
+<DT><SAMP>`-F&acute;</SAMP>
+<DD>
+<DT><SAMP>`--sort-by-file&acute;</SAMP>
+<DD>
+Sort output by file location.
+
+</DL>
+
+
+
+<H3><A NAME="SEC72" HREF="gettext_toc.html#TOC72">7.2.5  Informative output</A></H3>
+
+<DL COMPACT>
+
+<DT><SAMP>`-h&acute;</SAMP>
+<DD>
+<DT><SAMP>`--help&acute;</SAMP>
+<DD>
+Display this help and exit.
+
+<DT><SAMP>`-V&acute;</SAMP>
+<DD>
+<DT><SAMP>`--version&acute;</SAMP>
+<DD>
+Output version information and exit.
+
+</DL>
+
+
+
+<H2><A NAME="SEC73" HREF="gettext_toc.html#TOC73">7.3  Invoking the <CODE>msggrep</CODE> Program</A></H2>
+
+
+<PRE>
+msggrep [<VAR>option</VAR>] [<VAR>inputfile</VAR>]
+</PRE>
+
 <P>
-Then, at offset <VAR>O</VAR> and offset <VAR>T</VAR> in the picture, two tables
-of string descriptors can be found.  In both tables, each string
-descriptor uses two 32 bits integers, one for the string length,
-another for the offset of the string in the MO file, counting in bytes
-from the start of the file.  The first table contains descriptors
-for the original strings, and is sorted so the original strings
-are in increasing lexicographical order.  The second table contains
-descriptors for the translated strings, and is parallel to the first
-table: to find the corresponding translation one has to access the
-array slot in the second array with the same index.
+The <CODE>msggrep</CODE> program extracts all messages of a translation catalog
+that match a given pattern or belong to some given source files.
 
 </P>
+
+
+<H3><A NAME="SEC74" HREF="gettext_toc.html#TOC74">7.3.1  Input file location</A></H3>
+
+<DL COMPACT>
+
+<DT><SAMP>`<VAR>inputfile</VAR>&acute;</SAMP>
+<DD>
+Input PO file.
+
+<DT><SAMP>`-D <VAR>directory</VAR>&acute;</SAMP>
+<DD>
+<DT><SAMP>`--directory=<VAR>directory</VAR>&acute;</SAMP>
+<DD>
+Add <VAR>directory</VAR> to the list of directories.  Source files are
+searched relative to this list of directories.  The resulting <TT>`.po&acute;</TT>
+file will be written relative to the current directory, though.
+
+</DL>
+
 <P>
-Having the original strings sorted enables the use of simple binary
-search, for when the MO file does not contain an hashing table, or
-for when it is not practical to use the hashing table provided in
-the MO file.  This also has another advantage, as the empty string
-in a PO file GNU <CODE>gettext</CODE> is usually <EM>translated</EM> into
-some system information attached to that particular MO file, and the
-empty string necessarily becomes the first in both the original and
-translated tables, making the system information very easy to find.
+If no <VAR>inputfile</VAR> is given or if it is <SAMP>`-&acute;</SAMP>, standard input is read.
 
 </P>
+
+
+<H3><A NAME="SEC75" HREF="gettext_toc.html#TOC75">7.3.2  Output file location</A></H3>
+
+<DL COMPACT>
+
+<DT><SAMP>`-o <VAR>file</VAR>&acute;</SAMP>
+<DD>
+<DT><SAMP>`--output-file=<VAR>file</VAR>&acute;</SAMP>
+<DD>
+Write output to specified file.
+
+</DL>
+
 <P>
-The size <VAR>S</VAR> of the hash table can be zero.  In this case, the
-hash table itself is not contained in the MO file.  Some people might
-prefer this because a precomputed hashing table takes disk space, and
-does not win <EM>that</EM> much speed.  The hash table contains indices
-to the sorted array of strings in the MO file.  Conflict resolution is
-done by double hashing.  The precise hashing algorithm used is fairly
-dependent of GNU <CODE>gettext</CODE> code, and is not documented here.
+The results are written to standard output if no output file is specified
+or if it is <SAMP>`-&acute;</SAMP>.
 
 </P>
+
+
+<H3><A NAME="SEC76" HREF="gettext_toc.html#TOC76">7.3.3  Message selection</A></H3>
+
+
+<PRE>
+  [-N <VAR>sourcefile</VAR>]... [-M <VAR>domainname</VAR>]... [-K <VAR>msgid-pattern</VAR>] [-T <VAR>msgstr-pattern</VAR>]
+</PRE>
+
 <P>
-As for the strings themselves, they follow the hash file, and each
-is terminated with a <KBD>NUL</KBD>, and this <KBD>NUL</KBD> is not counted in
-the length which appears in the string descriptor.  The <CODE>msgfmt</CODE>
-program has an option selecting the alignment for MO file strings.
-With this option, each string is separately aligned so it starts at
-an offset which is a multiple of the alignment value.  On some RISC
-machines, a correct alignment will speed things up.
+A message is selected if
+
+<UL>
+<LI>it comes from one of the specified source files,
+
+<LI>or if it comes from one of the specified domains,
+
+<LI>or if <SAMP>`-K&acute;</SAMP> is given and its key (msgid or msgid_plural) matches
+
+      <VAR>msgid-pattern</VAR>,
+<LI>or if <SAMP>`-T&acute;</SAMP> is given and its translation (msgstr) matches
+
+      <VAR>msgstr-pattern</VAR>.
+</UL>
 
-</P>
 <P>
-Plural forms are stored by letting the plural of the original string
-follow the singular of the original string, separated through a
-<KBD>NUL</KBD> byte.  The length which appears in the string descriptor
-includes both.  However, only the singular of the original string
-takes part in the hash table lookup.  The plural variants of the
-translation are all stored consecutively, separated through a
-<KBD>NUL</KBD> byte.  Here also, the length in the string descriptor
-includes all of them.
+When more than one selection criterion is specified, the set of selected
+messages is the union of the selected messages of each criterion.
 
 </P>
 <P>
-Nothing prevents a MO file from having embedded <KBD>NUL</KBD>s in strings.
-However, the program interface currently used already presumes
-that strings are <KBD>NUL</KBD> terminated, so embedded <KBD>NUL</KBD>s are
-somewhat useless.  But the MO file format is general enough so other
-interfaces would be later possible, if for example, we ever want to
-implement wide characters right in MO files, where <KBD>NUL</KBD> bytes may
-accidently appear.  (No, we don't want to have wide characters in MO
-files.  They would make the file unnecessarily large, and the
-<SAMP>`wchar_t'</SAMP> type being platform dependent, MO files would be
-platform dependent as well.)
+<VAR>msgid-pattern</VAR> or <VAR>msgstr-pattern</VAR> syntax:
+
+<PRE>
+  [-E | -F] [-e <VAR>pattern</VAR> | -f <VAR>file</VAR>]...
+</PRE>
 
-</P>
 <P>
-This particular issue has been strongly debated in the GNU
-<CODE>gettext</CODE> development forum, and it is expectable that MO file
-format will evolve or change over time.  It is even possible that many
-formats may later be supported concurrently.  But surely, we have to
-start somewhere, and the MO file format described here is a good start.
-Nothing is cast in concrete, and the format may later evolve fairly
-easily, so we should feel comfortable with the current approach.
+<VAR>pattern</VAR>s are basic regular expressions by default, or extended regular
+expressions if -E is given, or fixed strings if -F is given.
 
 </P>
+<DL COMPACT>
 
-<PRE>
-        byte
-             +------------------------------------------+
-          0  | magic number = 0x950412de                |
-             |                                          |
-          4  | file format revision = 0                 |
-             |                                          |
-          8  | number of strings                        |  == N
-             |                                          |
-         12  | offset of table with original strings    |  == O
-             |                                          |
-         16  | offset of table with translation strings |  == T
-             |                                          |
-         20  | size of hashing table                    |  == S
-             |                                          |
-         24  | offset of hashing table                  |  == H
-             |                                          |
-             .                                          .
-             .    (possibly more entries later)         .
-             .                                          .
-             |                                          |
-          O  | length &#38; offset 0th string  ----------------.
-      O + 8  | length &#38; offset 1st string  ------------------.
-              ...                                    ...   | |
-O + ((N-1)*8)| length &#38; offset (N-1)th string           |  | |
-             |                                          |  | |
-          T  | length &#38; offset 0th translation  ---------------.
-      T + 8  | length &#38; offset 1st translation  -----------------.
-              ...                                    ...   | | | |
-T + ((N-1)*8)| length &#38; offset (N-1)th translation      |  | | | |
-             |                                          |  | | | |
-          H  | start hash table                         |  | | | |
-              ...                                    ...   | | | |
-  H + S * 4  | end hash table                           |  | | | |
-             |                                          |  | | | |
-             | NUL terminated 0th string  &#60;----------------' | | |
-             |                                          |    | | |
-             | NUL terminated 1st string  &#60;------------------' | |
-             |                                          |      | |
-              ...                                    ...       | |
-             |                                          |      | |
-             | NUL terminated 0th translation  &#60;---------------' |
-             |                                          |        |
-             | NUL terminated 1st translation  &#60;-----------------'
-             |                                          |
-              ...                                    ...
-             |                                          |
-             +------------------------------------------+
-</PRE>
+<DT><SAMP>`-N <VAR>sourcefile</VAR>&acute;</SAMP>
+<DD>
+<DT><SAMP>`--location=<VAR>sourcefile</VAR>&acute;</SAMP>
+<DD>
+Select messages extracted from <VAR>sourcefile</VAR>.
+
+<DT><SAMP>`-M <VAR>domainname</VAR>&acute;</SAMP>
+<DD>
+<DT><SAMP>`--domain=<VAR>domainname</VAR>&acute;</SAMP>
+<DD>
+Select messages belonging to domain <VAR>domainname</VAR>.
+
+<DT><SAMP>`-K&acute;</SAMP>
+<DD>
+<DT><SAMP>`--msgid&acute;</SAMP>
+<DD>
+Start of patterns for the msgid.
+
+<DT><SAMP>`-T&acute;</SAMP>
+<DD>
+<DT><SAMP>`--msgstr&acute;</SAMP>
+<DD>
+Start of patterns for the msgstr.
+
+<DT><SAMP>`-E&acute;</SAMP>
+<DD>
+<DT><SAMP>`--extended-regexp&acute;</SAMP>
+<DD>
+Specify that <VAR>pattern</VAR> is an extended regular expression.
+
+<DT><SAMP>`-F&acute;</SAMP>
+<DD>
+<DT><SAMP>`--fixed-strings&acute;</SAMP>
+<DD>
+Specify that <VAR>pattern</VAR> is a set of newline-separated strings.
+
+<DT><SAMP>`-e <VAR>pattern</VAR>&acute;</SAMP>
+<DD>
+<DT><SAMP>`--regexp=<VAR>pattern</VAR>&acute;</SAMP>
+<DD>
+Use <VAR>pattern</VAR> as a regular expression.
+
+<DT><SAMP>`-f <VAR>file</VAR>&acute;</SAMP>
+<DD>
+<DT><SAMP>`--file=<VAR>file</VAR>&acute;</SAMP>
+<DD>
+Obtain <VAR>pattern</VAR> from <VAR>file</VAR>.
+
+<DT><SAMP>`-i&acute;</SAMP>
+<DD>
+<DT><SAMP>`--ignore-case&acute;</SAMP>
+<DD>
+Ignore case distinctions.
+
+</DL>
+
+
+
+<H3><A NAME="SEC77" HREF="gettext_toc.html#TOC77">7.3.4  Output details</A></H3>
+
+<DL COMPACT>
+
+<DT><SAMP>`--force-po&acute;</SAMP>
+<DD>
+Always write an output file even if it contains no message.
+
+<DT><SAMP>`--indent&acute;</SAMP>
+<DD>
+Write the .po file using indented style.
+
+<DT><SAMP>`--no-location&acute;</SAMP>
+<DD>
+Do not write <SAMP>`#: <VAR>filename</VAR>:<VAR>line</VAR>&acute;</SAMP> lines.
+
+<DT><SAMP>`--add-location&acute;</SAMP>
+<DD>
+Generate <SAMP>`#: <VAR>filename</VAR>:<VAR>line</VAR>&acute;</SAMP> lines (default).
+
+<DT><SAMP>`--strict&acute;</SAMP>
+<DD>
+Write out a strict Uniforum conforming PO file.  Note that this
+Uniforum format should be avoided because it doesn't support the
+GNU extensions.
+
+<DT><SAMP>`-w <VAR>number</VAR>&acute;</SAMP>
+<DD>
+<DT><SAMP>`--width=<VAR>number</VAR>&acute;</SAMP>
+<DD>
+Set the output page width.  Long strings in the output files will be
+split across multiple lines in order to ensure that each line's width
+(= number of screen columns) is less or equal to the given <VAR>number</VAR>.
+
+<DT><SAMP>`--sort-output&acute;</SAMP>
+<DD>
+Generate sorted output.  Note that using this option makes it much harder
+for the translator to understand each message's context.
+
+<DT><SAMP>`--sort-by-file&acute;</SAMP>
+<DD>
+Sort output by file location.
+
+</DL>
+
+
+
+<H3><A NAME="SEC78" HREF="gettext_toc.html#TOC78">7.3.5  Informative output</A></H3>
+
+<DL COMPACT>
+
+<DT><SAMP>`-h&acute;</SAMP>
+<DD>
+<DT><SAMP>`--help&acute;</SAMP>
+<DD>
+Display this help and exit.
+
+<DT><SAMP>`-V&acute;</SAMP>
+<DD>
+<DT><SAMP>`--version&acute;</SAMP>
+<DD>
+Output version information and exit.
+
+</DL>
+
+
+
+<H2><A NAME="SEC79" HREF="gettext_toc.html#TOC79">7.4  Invoking the <CODE>msgexec</CODE> Program</A></H2>
+
+
+<PRE>
+msgexec [<VAR>option</VAR>] <VAR>filter</VAR> [<VAR>filter-option</VAR>]
+</PRE>
+
+<P>
+The <CODE>msgexec</CODE> program applies a filter to all translations of a
+translation catalog.
+
+</P>
+
+
+<H3><A NAME="SEC80" HREF="gettext_toc.html#TOC80">7.4.1  Input file location</A></H3>
+
+<DL COMPACT>
+
+<DT><SAMP>`-i <VAR>inputfile</VAR>&acute;</SAMP>
+<DD>
+<DT><SAMP>`--input=<VAR>inputfile</VAR>&acute;</SAMP>
+<DD>
+Input PO file.
+
+<DT><SAMP>`-D <VAR>directory</VAR>&acute;</SAMP>
+<DD>
+<DT><SAMP>`--directory=<VAR>directory</VAR>&acute;</SAMP>
+<DD>
+Add <VAR>directory</VAR> to the list of directories.  Source files are
+searched relative to this list of directories.  The resulting <TT>`.po&acute;</TT>
+file will be written relative to the current directory, though.
+
+</DL>
+
+<P>
+If no <VAR>inputfile</VAR> is given or if it is <SAMP>`-&acute;</SAMP>, standard input is read.
+
+</P>
+
+
+<H3><A NAME="SEC81" HREF="gettext_toc.html#TOC81">7.4.2  Output file location</A></H3>
+
+<DL COMPACT>
+
+<DT><SAMP>`-o <VAR>file</VAR>&acute;</SAMP>
+<DD>
+<DT><SAMP>`--output-file=<VAR>file</VAR>&acute;</SAMP>
+<DD>
+Write output to specified file.
+
+</DL>
+
+<P>
+The results are written to standard output if no output file is specified
+or if it is <SAMP>`-&acute;</SAMP>.
+
+</P>
+
+
+<H3><A NAME="SEC82" HREF="gettext_toc.html#TOC82">7.4.3  The filter</A></H3>
+
+<P>
+The <VAR>filter</VAR> can be any program that reads a translation from standard
+input and writes a modified translation to standard output.  A frequently
+used filter is <SAMP>`sed&acute;</SAMP>.
+
+</P>
+
+
+<H3><A NAME="SEC83" HREF="gettext_toc.html#TOC83">7.4.4  Useful <VAR>filter-option</VAR>s when the <VAR>filter</VAR> is <SAMP>`sed&acute;</SAMP></A></H3>
+
+<DL COMPACT>
+
+<DT><SAMP>`-e <VAR>script</VAR>&acute;</SAMP>
+<DD>
+<DT><SAMP>`--expression=<VAR>script</VAR>&acute;</SAMP>
+<DD>
+Add <VAR>script</VAR> to the commands to be executed.
+
+<DT><SAMP>`-f <VAR>scriptfile</VAR>&acute;</SAMP>
+<DD>
+<DT><SAMP>`--file=<VAR>scriptfile</VAR>&acute;</SAMP>
+<DD>
+Add the contents of <VAR>scriptfile</VAR> to the commands to be executed.
+
+<DT><SAMP>`-n&acute;</SAMP>
+<DD>
+<DT><SAMP>`--quiet&acute;</SAMP>
+<DD>
+<DT><SAMP>`--silent&acute;</SAMP>
+<DD>
+Suppress automatic printing of pattern space.
+
+</DL>
+
+
+
+<H3><A NAME="SEC84" HREF="gettext_toc.html#TOC84">7.4.5  Output details</A></H3>
+
+<DL COMPACT>
+
+<DT><SAMP>`--force-po&acute;</SAMP>
+<DD>
+Always write an output file even if it contains no message.
+
+<DT><SAMP>`--indent&acute;</SAMP>
+<DD>
+Write the .po file using indented style.
+
+<DT><SAMP>`--no-location&acute;</SAMP>
+<DD>
+Do not write <SAMP>`#: <VAR>filename</VAR>:<VAR>line</VAR>&acute;</SAMP> lines.
+
+<DT><SAMP>`--add-location&acute;</SAMP>
+<DD>
+Generate <SAMP>`#: <VAR>filename</VAR>:<VAR>line</VAR>&acute;</SAMP> lines (default).
+
+<DT><SAMP>`--strict&acute;</SAMP>
+<DD>
+Write out a strict Uniforum conforming PO file.  Note that this
+Uniforum format should be avoided because it doesn't support the
+GNU extensions.
+
+<DT><SAMP>`-w <VAR>number</VAR>&acute;</SAMP>
+<DD>
+<DT><SAMP>`--width=<VAR>number</VAR>&acute;</SAMP>
+<DD>
+Set the output page width.  Long strings in the output files will be
+split across multiple lines in order to ensure that each line's width
+(= number of screen columns) is less or equal to the given <VAR>number</VAR>.
+
+<DT><SAMP>`-s&acute;</SAMP>
+<DD>
+<DT><SAMP>`--sort-output&acute;</SAMP>
+<DD>
+Generate sorted output.  Note that using this option makes it much harder
+for the translator to understand each message's context.
+
+<DT><SAMP>`-F&acute;</SAMP>
+<DD>
+<DT><SAMP>`--sort-by-file&acute;</SAMP>
+<DD>
+Sort output by file location.
+
+</DL>
+
+
+
+<H3><A NAME="SEC85" HREF="gettext_toc.html#TOC85">7.4.6  Informative output</A></H3>
+
+<DL COMPACT>
+
+<DT><SAMP>`-h&acute;</SAMP>
+<DD>
+<DT><SAMP>`--help&acute;</SAMP>
+<DD>
+Display this help and exit.
+
+<DT><SAMP>`-V&acute;</SAMP>
+<DD>
+<DT><SAMP>`--version&acute;</SAMP>
+<DD>
+Output version information and exit.
+
+</DL>
+
+
+
+<H2><A NAME="SEC86" HREF="gettext_toc.html#TOC86">7.5  Invoking the <CODE>msguniq</CODE> Program</A></H2>
+
+
+<PRE>
+msguniq [<VAR>option</VAR>] [<VAR>inputfile</VAR>]
+</PRE>
+
+<P>
+The <CODE>msguniq</CODE> program unifies duplicate translations in a translation
+catalog.  It finds duplicate translations of the same message ID.  Such
+duplicates are invalid input for other programs like <CODE>msgfmt</CODE>,
+<CODE>msgmerge</CODE> or <CODE>msgcat</CODE>.  By default, duplicates are merged
+together.  When using the <SAMP>`--repeated&acute;</SAMP> option, only duplicates are
+output, and all other messages are discarded.  Comments and extracted
+comments will be cumulated, except that if <SAMP>`--use-first&acute;</SAMP> is
+specified, they will be taken from the first translation.  File positions
+will be cumulated.  When using the <SAMP>`--unique&acute;</SAMP> option, duplicates are
+discarded.
+
+</P>
+
+
+<H3><A NAME="SEC87" HREF="gettext_toc.html#TOC87">7.5.1  Input file location</A></H3>
+
+<DL COMPACT>
+
+<DT><SAMP>`<VAR>inputfile</VAR>&acute;</SAMP>
+<DD>
+Input PO file.
+
+<DT><SAMP>`-D <VAR>directory</VAR>&acute;</SAMP>
+<DD>
+<DT><SAMP>`--directory=<VAR>directory</VAR>&acute;</SAMP>
+<DD>
+Add <VAR>directory</VAR> to the list of directories.  Source files are
+searched relative to this list of directories.  The resulting <TT>`.po&acute;</TT>
+file will be written relative to the current directory, though.
+
+</DL>
+
+<P>
+If no <VAR>inputfile</VAR> is given or if it is <SAMP>`-&acute;</SAMP>, standard input is read.
+
+</P>
+
+
+<H3><A NAME="SEC88" HREF="gettext_toc.html#TOC88">7.5.2  Output file location</A></H3>
+
+<DL COMPACT>
+
+<DT><SAMP>`-o <VAR>file</VAR>&acute;</SAMP>
+<DD>
+<DT><SAMP>`--output-file=<VAR>file</VAR>&acute;</SAMP>
+<DD>
+Write output to specified file.
+
+</DL>
+
+<P>
+The results are written to standard output if no output file is specified
+or if it is <SAMP>`-&acute;</SAMP>.
+
+</P>
+
+
+<H3><A NAME="SEC89" HREF="gettext_toc.html#TOC89">7.5.3  Message selection</A></H3>
+
+<DL COMPACT>
+
+<DT><SAMP>`-d&acute;</SAMP>
+<DD>
+<DT><SAMP>`--repeated&acute;</SAMP>
+<DD>
+Print only duplicates.
+
+<DT><SAMP>`-u&acute;</SAMP>
+<DD>
+<DT><SAMP>`--unique&acute;</SAMP>
+<DD>
+Print only unique messages, discard duplicates.
+
+</DL>
+
+
+
+<H3><A NAME="SEC90" HREF="gettext_toc.html#TOC90">7.5.4  Output details</A></H3>
+
+<DL COMPACT>
+
+<DT><SAMP>`-t&acute;</SAMP>
+<DD>
+<DT><SAMP>`--to-code=<VAR>name</VAR>&acute;</SAMP>
+<DD>
+Specify encoding for output.
+
+<DT><SAMP>`--use-first&acute;</SAMP>
+<DD>
+Use first available translation for each message.  Don't merge several
+translations into one.
+
+<DT><SAMP>`--force-po&acute;</SAMP>
+<DD>
+Always write an output file even if it contains no message.
+
+<DT><SAMP>`-i&acute;</SAMP>
+<DD>
+<DT><SAMP>`--indent&acute;</SAMP>
+<DD>
+Write the .po file using indented style.
+
+<DT><SAMP>`--no-location&acute;</SAMP>
+<DD>
+Do not write <SAMP>`#: <VAR>filename</VAR>:<VAR>line</VAR>&acute;</SAMP> lines.
+
+<DT><SAMP>`-n&acute;</SAMP>
+<DD>
+<DT><SAMP>`--add-location&acute;</SAMP>
+<DD>
+Generate <SAMP>`#: <VAR>filename</VAR>:<VAR>line</VAR>&acute;</SAMP> lines (default).
+
+<DT><SAMP>`--strict&acute;</SAMP>
+<DD>
+Write out a strict Uniforum conforming PO file.  Note that this
+Uniforum format should be avoided because it doesn't support the
+GNU extensions.
+
+<DT><SAMP>`-w <VAR>number</VAR>&acute;</SAMP>
+<DD>
+<DT><SAMP>`--width=<VAR>number</VAR>&acute;</SAMP>
+<DD>
+Set the output page width.  Long strings in the output files will be
+split across multiple lines in order to ensure that each line's width
+(= number of screen columns) is less or equal to the given <VAR>number</VAR>.
+
+<DT><SAMP>`-s&acute;</SAMP>
+<DD>
+<DT><SAMP>`--sort-output&acute;</SAMP>
+<DD>
+Generate sorted output.  Note that using this option makes it much harder
+for the translator to understand each message's context.
+
+<DT><SAMP>`-F&acute;</SAMP>
+<DD>
+<DT><SAMP>`--sort-by-file&acute;</SAMP>
+<DD>
+Sort output by file location.
+
+</DL>
+
+
+
+<H3><A NAME="SEC91" HREF="gettext_toc.html#TOC91">7.5.5  Informative output</A></H3>
+
+<DL COMPACT>
+
+<DT><SAMP>`-h&acute;</SAMP>
+<DD>
+<DT><SAMP>`--help&acute;</SAMP>
+<DD>
+Display this help and exit.
+
+<DT><SAMP>`-V&acute;</SAMP>
+<DD>
+<DT><SAMP>`--version&acute;</SAMP>
+<DD>
+Output version information and exit.
+
+</DL>
+
+
+
+<H2><A NAME="SEC92" HREF="gettext_toc.html#TOC92">7.6  Invoking the <CODE>msgcomm</CODE> Program</A></H2>
+
+
+<PRE>
+msgcomm [<VAR>option</VAR>] [<VAR>inputfile</VAR>]...
+</PRE>
+
+<P>
+The <CODE>msgcomm</CODE> program finds messages which are common to two or more
+of the specified PO files.
+By using the <CODE>--more-than</CODE> option, greater commonality may be requested
+before messages are printed.  Conversely, the <CODE>--less-than</CODE> option may be
+used to specify less commonality before messages are printed (i.e.
+<SAMP>`--less-than=2&acute;</SAMP> will only print the unique messages).  Translations,
+comments and extract comments will be preserved, but only from the first
+PO file to define them.  File positions from all PO files will be
+cumulated.
+
+</P>
+
+
+<H3><A NAME="SEC93" HREF="gettext_toc.html#TOC93">7.6.1  Input file location</A></H3>
+
+<DL COMPACT>
+
+<DT><SAMP>`<VAR>inputfile</VAR> ...&acute;</SAMP>
+<DD>
+Input files.
+
+<DT><SAMP>`-f <VAR>file</VAR>&acute;</SAMP>
+<DD>
+<DT><SAMP>`--files-from=<VAR>file</VAR>&acute;</SAMP>
+<DD>
+Read the names of the input files from <VAR>file</VAR> instead of getting
+them from the command line.
+
+<DT><SAMP>`-D <VAR>directory</VAR>&acute;</SAMP>
+<DD>
+<DT><SAMP>`--directory=<VAR>directory</VAR>&acute;</SAMP>
+<DD>
+Add <VAR>directory</VAR> to the list of directories.  Source files are
+searched relative to this list of directories.  The resulting <TT>`.po&acute;</TT>
+file will be written relative to the current directory, though.
+
+</DL>
+
+<P>
+If <VAR>inputfile</VAR> is <SAMP>`-&acute;</SAMP>, standard input is read.
+
+</P>
+
+
+<H3><A NAME="SEC94" HREF="gettext_toc.html#TOC94">7.6.2  Output file location</A></H3>
+
+<DL COMPACT>
+
+<DT><SAMP>`-o <VAR>file</VAR>&acute;</SAMP>
+<DD>
+<DT><SAMP>`--output-file=<VAR>file</VAR>&acute;</SAMP>
+<DD>
+Write output to specified file.
+
+</DL>
+
+<P>
+The results are written to standard output if no output file is specified
+or if it is <SAMP>`-&acute;</SAMP>.
+
+</P>
+
+
+<H3><A NAME="SEC95" HREF="gettext_toc.html#TOC95">7.6.3  Message selection</A></H3>
+
+<DL COMPACT>
+
+<DT><SAMP>`-&#60; <VAR>number</VAR>&acute;</SAMP>
+<DD>
+<DT><SAMP>`--less-than=<VAR>number</VAR>&acute;</SAMP>
+<DD>
+Print messages with less than <VAR>number</VAR> definitions, defaults to infinite
+if not set.
+
+<DT><SAMP>`-&#62; <VAR>number</VAR>&acute;</SAMP>
+<DD>
+<DT><SAMP>`--more-than=<VAR>number</VAR>&acute;</SAMP>
+<DD>
+Print messages with more than <VAR>number</VAR> definitions, defaults to 1 if not
+set.
+
+<DT><SAMP>`-u&acute;</SAMP>
+<DD>
+<DT><SAMP>`--unique&acute;</SAMP>
+<DD>
+Shorthand for <SAMP>`--less-than=2&acute;</SAMP>.  Requests that only unique messages be
+printed.
+
+</DL>
+
+
+
+<H3><A NAME="SEC96" HREF="gettext_toc.html#TOC96">7.6.4  Output details</A></H3>
+
+<DL COMPACT>
+
+<DT><SAMP>`--force-po&acute;</SAMP>
+<DD>
+Always write an output file even if it contains no message.
+
+<DT><SAMP>`-i&acute;</SAMP>
+<DD>
+<DT><SAMP>`--indent&acute;</SAMP>
+<DD>
+Write the .po file using indented style.
+
+<DT><SAMP>`--no-location&acute;</SAMP>
+<DD>
+Do not write <SAMP>`#: <VAR>filename</VAR>:<VAR>line</VAR>&acute;</SAMP> lines.
+
+<DT><SAMP>`-n&acute;</SAMP>
+<DD>
+<DT><SAMP>`--add-location&acute;</SAMP>
+<DD>
+Generate <SAMP>`#: <VAR>filename</VAR>:<VAR>line</VAR>&acute;</SAMP> lines (default).
+
+<DT><SAMP>`--strict&acute;</SAMP>
+<DD>
+Write out a strict Uniforum conforming PO file.  Note that this
+Uniforum format should be avoided because it doesn't support the
+GNU extensions.
+
+<DT><SAMP>`-w <VAR>number</VAR>&acute;</SAMP>
+<DD>
+<DT><SAMP>`--width=<VAR>number</VAR>&acute;</SAMP>
+<DD>
+Set the output page width.  Long strings in the output files will be
+split across multiple lines in order to ensure that each line's width
+(= number of screen columns) is less or equal to the given <VAR>number</VAR>.
+
+<DT><SAMP>`-s&acute;</SAMP>
+<DD>
+<DT><SAMP>`--sort-output&acute;</SAMP>
+<DD>
+Generate sorted output.  Note that using this option makes it much harder
+for the translator to understand each message's context.
+
+<DT><SAMP>`-F&acute;</SAMP>
+<DD>
+<DT><SAMP>`--sort-by-file&acute;</SAMP>
+<DD>
+Sort output by file location.
+
+<DT><SAMP>`--omit-header&acute;</SAMP>
+<DD>
+Don't write header with <SAMP>`msgid ""&acute;</SAMP> entry.
+
+</DL>
+
+
+
+<H3><A NAME="SEC97" HREF="gettext_toc.html#TOC97">7.6.5  Informative output</A></H3>
+
+<DL COMPACT>
+
+<DT><SAMP>`-h&acute;</SAMP>
+<DD>
+<DT><SAMP>`--help&acute;</SAMP>
+<DD>
+Display this help and exit.
+
+<DT><SAMP>`-V&acute;</SAMP>
+<DD>
+<DT><SAMP>`--version&acute;</SAMP>
+<DD>
+Output version information and exit.
+
+</DL>
+
+
+
+<H2><A NAME="SEC98" HREF="gettext_toc.html#TOC98">7.7  Invoking the <CODE>msgcmp</CODE> Program</A></H2>
+
+
+<PRE>
+msgcmp [<VAR>option</VAR>] <VAR>def</VAR>.po <VAR>ref</VAR>.pot
+</PRE>
+
+<P>
+The <CODE>msgcmp</CODE> program compares two Uniforum style .po files to check that
+both contain the same set of msgid strings.  The <VAR>def</VAR>.po file is an
+existing PO file with the translations.  The <VAR>ref</VAR>.pot file is the last
+created PO file, or a PO Template file (generally created by <CODE>xgettext</CODE>).
+This is useful for checking that you have translated each and every message
+in your program.  Where an exact match cannot be found, fuzzy matching is
+used to produce better diagnostics.
+
+</P>
+
+
+<H3><A NAME="SEC99" HREF="gettext_toc.html#TOC99">7.7.1  Input file location</A></H3>
+
+<DL COMPACT>
+
+<DT><SAMP>`<VAR>def</VAR>.po&acute;</SAMP>
+<DD>
+Translations.
+
+<DT><SAMP>`<VAR>ref</VAR>.pot&acute;</SAMP>
+<DD>
+References to the sources.
+
+<DT><SAMP>`-D <VAR>directory</VAR>&acute;</SAMP>
+<DD>
+<DT><SAMP>`--directory=<VAR>directory</VAR>&acute;</SAMP>
+<DD>
+Add <VAR>directory</VAR> to the list of directories.  Source files are
+searched relative to this list of directories.
+
+</DL>
+
+
+
+<H3><A NAME="SEC100" HREF="gettext_toc.html#TOC100">7.7.2  Operation modifiers</A></H3>
+
+<DL COMPACT>
+
+<DT><SAMP>`-m&acute;</SAMP>
+<DD>
+<DT><SAMP>`--multi-domain&acute;</SAMP>
+<DD>
+Apply <VAR>ref</VAR>.pot to each of the domains in <VAR>def</VAR>.po.
+
+</DL>
+
+
+
+<H3><A NAME="SEC101" HREF="gettext_toc.html#TOC101">7.7.3  Informative output</A></H3>
+
+<DL COMPACT>
+
+<DT><SAMP>`-h&acute;</SAMP>
+<DD>
+<DT><SAMP>`--help&acute;</SAMP>
+<DD>
+Display this help and exit.
+
+<DT><SAMP>`-V&acute;</SAMP>
+<DD>
+<DT><SAMP>`--version&acute;</SAMP>
+<DD>
+Output version information and exit.
+
+</DL>
+
+
+
+<H2><A NAME="SEC102" HREF="gettext_toc.html#TOC102">7.8  Invoking the <CODE>msgattrib</CODE> Program</A></H2>
+
+
+<PRE>
+msgattrib [<VAR>option</VAR>] [<VAR>inputfile</VAR>]
+</PRE>
+
+<P>
+The <CODE>msgattrib</CODE> program filters the messages of a translation catalog
+according to their attributes, and manipulates the attributes.
+
+</P>
+
+
+<H3><A NAME="SEC103" HREF="gettext_toc.html#TOC103">7.8.1  Input file location</A></H3>
+
+<DL COMPACT>
+
+<DT><SAMP>`<VAR>inputfile</VAR>&acute;</SAMP>
+<DD>
+Input PO file.
+
+<DT><SAMP>`-D <VAR>directory</VAR>&acute;</SAMP>
+<DD>
+<DT><SAMP>`--directory=<VAR>directory</VAR>&acute;</SAMP>
+<DD>
+Add <VAR>directory</VAR> to the list of directories.  Source files are
+searched relative to this list of directories.  The resulting <TT>`.po&acute;</TT>
+file will be written relative to the current directory, though.
+
+</DL>
+
+<P>
+If no <VAR>inputfile</VAR> is given or if it is <SAMP>`-&acute;</SAMP>, standard input is read.
+
+</P>
+
+
+<H3><A NAME="SEC104" HREF="gettext_toc.html#TOC104">7.8.2  Output file location</A></H3>
+
+<DL COMPACT>
+
+<DT><SAMP>`-o <VAR>file</VAR>&acute;</SAMP>
+<DD>
+<DT><SAMP>`--output-file=<VAR>file</VAR>&acute;</SAMP>
+<DD>
+Write output to specified file.
+
+</DL>
+
+<P>
+The results are written to standard output if no output file is specified
+or if it is <SAMP>`-&acute;</SAMP>.
+
+</P>
+
+
+<H3><A NAME="SEC105" HREF="gettext_toc.html#TOC105">7.8.3  Message selection</A></H3>
+
+<DL COMPACT>
+
+<DT><SAMP>`--translated&acute;</SAMP>
+<DD>
+Keep translated messages, remove untranslated messages.
+
+<DT><SAMP>`--untranslated&acute;</SAMP>
+<DD>
+Keep untranslated messages, remove translated messages.
+
+<DT><SAMP>`--no-fuzzy&acute;</SAMP>
+<DD>
+Remove `fuzzy' marked messages.
+
+<DT><SAMP>`--only-fuzzy&acute;</SAMP>
+<DD>
+Keep `fuzzy' marked messages, remove all other messsages.
+
+<DT><SAMP>`--no-obsolete&acute;</SAMP>
+<DD>
+Remove obsolete #~ messages.
+
+<DT><SAMP>`--only-obsolete&acute;</SAMP>
+<DD>
+Keep obsolete #~ messages, remove all other messages.
+
+</DL>
+
+
+
+<H3><A NAME="SEC106" HREF="gettext_toc.html#TOC106">7.8.4  Attribute manipulation</A></H3>
+
+<P>
+Attributes are modified after the message selection/removal has been
+performed.
+
+</P>
+<DL COMPACT>
+
+<DT><SAMP>`--set-fuzzy&acute;</SAMP>
+<DD>
+Set all messages `fuzzy'.
+
+<DT><SAMP>`--clear-fuzzy&acute;</SAMP>
+<DD>
+Set all messages non-`fuzzy'.
+
+<DT><SAMP>`--set-obsolete&acute;</SAMP>
+<DD>
+Set all messages obsolete.
+
+<DT><SAMP>`--clear-obsolete&acute;</SAMP>
+<DD>
+Set all messages non-obsolete.
+
+<DT><SAMP>`--fuzzy&acute;</SAMP>
+<DD>
+Synonym for <SAMP>`--only-fuzzy --clear-fuzzy&acute;</SAMP>: It keeps only the fuzzy
+messages and removes their `fuzzy' mark.
+
+<DT><SAMP>`--obsolete&acute;</SAMP>
+<DD>
+Synonym for <SAMP>`--only-obsolete --clear-obsolete&acute;</SAMP>: It keeps only the
+obsolete messages and makes them non-obsolete.
+
+</DL>
+
+
+
+<H3><A NAME="SEC107" HREF="gettext_toc.html#TOC107">7.8.5  Output details</A></H3>
+
+<DL COMPACT>
+
+<DT><SAMP>`--force-po&acute;</SAMP>
+<DD>
+Always write an output file even if it contains no message.
+
+<DT><SAMP>`-i&acute;</SAMP>
+<DD>
+<DT><SAMP>`--indent&acute;</SAMP>
+<DD>
+Write the .po file using indented style.
+
+<DT><SAMP>`--no-location&acute;</SAMP>
+<DD>
+Do not write <SAMP>`#: <VAR>filename</VAR>:<VAR>line</VAR>&acute;</SAMP> lines.
+
+<DT><SAMP>`-n&acute;</SAMP>
+<DD>
+<DT><SAMP>`--add-location&acute;</SAMP>
+<DD>
+Generate <SAMP>`#: <VAR>filename</VAR>:<VAR>line</VAR>&acute;</SAMP> lines (default).
+
+<DT><SAMP>`--strict&acute;</SAMP>
+<DD>
+Write out a strict Uniforum conforming PO file.  Note that this
+Uniforum format should be avoided because it doesn't support the
+GNU extensions.
+
+<DT><SAMP>`-w <VAR>number</VAR>&acute;</SAMP>
+<DD>
+<DT><SAMP>`--width=<VAR>number</VAR>&acute;</SAMP>
+<DD>
+Set the output page width.  Long strings in the output files will be
+split across multiple lines in order to ensure that each line's width
+(= number of screen columns) is less or equal to the given <VAR>number</VAR>.
+
+<DT><SAMP>`-s&acute;</SAMP>
+<DD>
+<DT><SAMP>`--sort-output&acute;</SAMP>
+<DD>
+Generate sorted output.  Note that using this option makes it much harder
+for the translator to understand each message's context.
+
+<DT><SAMP>`-F&acute;</SAMP>
+<DD>
+<DT><SAMP>`--sort-by-file&acute;</SAMP>
+<DD>
+Sort output by file location.
+
+</DL>
+
+
+
+<H3><A NAME="SEC108" HREF="gettext_toc.html#TOC108">7.8.6  Informative output</A></H3>
+
+<DL COMPACT>
+
+<DT><SAMP>`-h&acute;</SAMP>
+<DD>
+<DT><SAMP>`--help&acute;</SAMP>
+<DD>
+Display this help and exit.
+
+<DT><SAMP>`-V&acute;</SAMP>
+<DD>
+<DT><SAMP>`--version&acute;</SAMP>
+<DD>
+Output version information and exit.
+
+</DL>
+
+
+
+<H2><A NAME="SEC109" HREF="gettext_toc.html#TOC109">7.9  Invoking the <CODE>msgen</CODE> Program</A></H2>
+
+
+<PRE>
+msgen [<VAR>option</VAR>] <VAR>inputfile</VAR>
+</PRE>
+
+<P>
+The <CODE>msgen</CODE> program creates an English translation catalog.  The
+input file is the last created English PO file, or a PO Template file
+(generally created by xgettext).  Untranslated entries are assigned a
+translation that is identical to the msgid, and are marked fuzzy.
+
+</P>
+
+
+<H3><A NAME="SEC110" HREF="gettext_toc.html#TOC110">7.9.1  Input file location</A></H3>
+
+<DL COMPACT>
+
+<DT><SAMP>`<VAR>inputfile</VAR>&acute;</SAMP>
+<DD>
+Input PO or POT file.
+
+<DT><SAMP>`-D <VAR>directory</VAR>&acute;</SAMP>
+<DD>
+<DT><SAMP>`--directory=<VAR>directory</VAR>&acute;</SAMP>
+<DD>
+Add <VAR>directory</VAR> to the list of directories.  Source files are
+searched relative to this list of directories.  The resulting <TT>`.po&acute;</TT>
+file will be written relative to the current directory, though.
+
+</DL>
+
+<P>
+If <VAR>inputfile</VAR> is <SAMP>`-&acute;</SAMP>, standard input is read.
+
+</P>
+
+
+<H3><A NAME="SEC111" HREF="gettext_toc.html#TOC111">7.9.2  Output file location</A></H3>
+
+<DL COMPACT>
+
+<DT><SAMP>`-o <VAR>file</VAR>&acute;</SAMP>
+<DD>
+<DT><SAMP>`--output-file=<VAR>file</VAR>&acute;</SAMP>
+<DD>
+Write output to specified file.
+
+</DL>
+
+<P>
+The results are written to standard output if no output file is specified
+or if it is <SAMP>`-&acute;</SAMP>.
+
+</P>
+
+
+<H3><A NAME="SEC112" HREF="gettext_toc.html#TOC112">7.9.3  Output details</A></H3>
+
+<DL COMPACT>
+
+<DT><SAMP>`--force-po&acute;</SAMP>
+<DD>
+Always write an output file even if it contains no message.
+
+<DT><SAMP>`-i&acute;</SAMP>
+<DD>
+<DT><SAMP>`--indent&acute;</SAMP>
+<DD>
+Write the .po file using indented style.
+
+<DT><SAMP>`--no-location&acute;</SAMP>
+<DD>
+Do not write <SAMP>`#: <VAR>filename</VAR>:<VAR>line</VAR>&acute;</SAMP> lines.
+
+<DT><SAMP>`--add-location&acute;</SAMP>
+<DD>
+Generate <SAMP>`#: <VAR>filename</VAR>:<VAR>line</VAR>&acute;</SAMP> lines (default).
+
+<DT><SAMP>`--strict&acute;</SAMP>
+<DD>
+Write out a strict Uniforum conforming PO file.  Note that this
+Uniforum format should be avoided because it doesn't support the
+GNU extensions.
+
+<DT><SAMP>`-w <VAR>number</VAR>&acute;</SAMP>
+<DD>
+<DT><SAMP>`--width=<VAR>number</VAR>&acute;</SAMP>
+<DD>
+Set the output page width.  Long strings in the output files will be
+split across multiple lines in order to ensure that each line's width
+(= number of screen columns) is less or equal to the given <VAR>number</VAR>.
+
+<DT><SAMP>`-s&acute;</SAMP>
+<DD>
+<DT><SAMP>`--sort-output&acute;</SAMP>
+<DD>
+Generate sorted output.  Note that using this option makes it much harder
+for the translator to understand each message's context.
+
+<DT><SAMP>`-F&acute;</SAMP>
+<DD>
+<DT><SAMP>`--sort-by-file&acute;</SAMP>
+<DD>
+Sort output by file location.
+
+</DL>
+
+
+
+<H3><A NAME="SEC113" HREF="gettext_toc.html#TOC113">7.9.4  Informative output</A></H3>
+
+<DL COMPACT>
+
+<DT><SAMP>`-h&acute;</SAMP>
+<DD>
+<DT><SAMP>`--help&acute;</SAMP>
+<DD>
+Display this help and exit.
+
+<DT><SAMP>`-V&acute;</SAMP>
+<DD>
+<DT><SAMP>`--version&acute;</SAMP>
+<DD>
+Output version information and exit.
+
+</DL>
 
 <P><HR><P>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_6.html">previous</A>, <A HREF="gettext_8.html">next</A>, <A HREF="gettext_14.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
+Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_6.html">previous</A>, <A HREF="gettext_8.html">next</A>, <A HREF="gettext_16.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
 </BODY>
 </HTML>
index 4a18aa4a844a8b2fab1f4195e74a680eac2b7c77..c2fbc9ce8997be2f8127666fabad2ac61a5a22aa 100644 (file)
 <HTML>
 <HEAD>
-<!-- This HTML file has been created by texi2html 1.51
-     from gettext.texi on 19 April 2001 -->
+<!-- This HTML file has been created by texi2html 1.52a
+     from gettext.texi on 30 November 2001 -->
 
-<TITLE>GNU gettext utilities - 8  The User's View</TITLE>
+<TITLE>GNU gettext utilities - 8  Producing Binary MO Files</TITLE>
 </HEAD>
 <BODY>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_7.html">previous</A>, <A HREF="gettext_9.html">next</A>, <A HREF="gettext_14.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
+Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_7.html">previous</A>, <A HREF="gettext_9.html">next</A>, <A HREF="gettext_16.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
 <P><HR><P>
 
 
-<H1><A NAME="SEC37" HREF="gettext_toc.html#TOC37">8  The User's View</A></H1>
+<H1><A NAME="SEC114" HREF="gettext_toc.html#TOC114">8  Producing Binary MO Files</A></H1>
+
+
+
+<H2><A NAME="SEC115" HREF="gettext_toc.html#TOC115">8.1  Invoking the <CODE>msgfmt</CODE> Program</A></H2>
+
+
+<PRE>
+msgfmt [<VAR>option</VAR>] <VAR>filename</VAR>.po ...
+</PRE>
+
+<P>
+The <CODE>msgfmt</CODE> programs generates a binary message catalog from a textual
+translation description.
+
+</P>
+
+
+<H3><A NAME="SEC116" HREF="gettext_toc.html#TOC116">8.1.1  Input file location</A></H3>
+
+<DL COMPACT>
+
+<DT><SAMP>`<VAR>filename</VAR>.po ...&acute;</SAMP>
+<DD>
+<DT><SAMP>`-D <VAR>directory</VAR>&acute;</SAMP>
+<DD>
+<DT><SAMP>`--directory=<VAR>directory</VAR>&acute;</SAMP>
+<DD>
+Add <VAR>directory</VAR> to the list of directories.  Source files are
+searched relative to this list of directories.  The resulting <TT>`.po&acute;</TT>
+file will be written relative to the current directory, though.
+
+</DL>
+
+<P>
+If an input file is <SAMP>`-&acute;</SAMP>, standard input is read.
+
+</P>
+
+
+<H3><A NAME="SEC117" HREF="gettext_toc.html#TOC117">8.1.2  Operation mode</A></H3>
+
+<DL COMPACT>
+
+<DT><SAMP>`-j&acute;</SAMP>
+<DD>
+<DT><SAMP>`--java&acute;</SAMP>
+<DD>
+Java mode: generate a Java <CODE>ResourceBundle</CODE> class.
+
+<DT><SAMP>`--java2&acute;</SAMP>
+<DD>
+Like --java, and assume Java2 (JDK 1.2 or higher).
+
+</DL>
+
+
+
+<H3><A NAME="SEC118" HREF="gettext_toc.html#TOC118">8.1.3  Output file location</A></H3>
+
+<DL COMPACT>
+
+<DT><SAMP>`-o <VAR>file</VAR>&acute;</SAMP>
+<DD>
+<DT><SAMP>`--output-file=<VAR>file</VAR>&acute;</SAMP>
+<DD>
+Write output to specified file.
+
+<DT><SAMP>`--strict&acute;</SAMP>
+<DD>
+Direct the program to work strictly following the Uniforum/Sun
+implementation.  Currently this only affects the naming of the output
+file.  If this option is not given the name of the output file is the
+same as the domain name.  If the strict Uniforum mode is enabled the
+suffix <TT>`.mo&acute;</TT> is added to the file name if it is not already
+present.
+
+We find this behaviour of Sun's implementation rather silly and so by
+default this mode is <EM>not</EM> selected.
+
+</DL>
+
+<P>
+If the output <VAR>file</VAR> is <SAMP>`-&acute;</SAMP>, output is written to standard output.
+
+</P>
+
+
+<H3><A NAME="SEC119" HREF="gettext_toc.html#TOC119">8.1.4  Output file location in Java mode</A></H3>
+
+<DL COMPACT>
+
+<DT><SAMP>`-r <VAR>resource</VAR>&acute;</SAMP>
+<DD>
+<DT><SAMP>`--resource=<VAR>resource</VAR>&acute;</SAMP>
+<DD>
+Specify the resource name.
+
+<DT><SAMP>`-l <VAR>locale</VAR>&acute;</SAMP>
+<DD>
+<DT><SAMP>`--locale=<VAR>locale</VAR>&acute;</SAMP>
+<DD>
+Specify the locale name, either a language specification of the form <VAR>ll</VAR>
+or a combined language and country specification of the form <VAR>ll_CC</VAR>.
+
+<DT><SAMP>`-d <VAR>directory</VAR>&acute;</SAMP>
+<DD>
+Specify the base directory of classes directory hierarchy.
+
+</DL>
+
+<P>
+The class name is determined by appending the locale name to the resource name,
+separated with an underscore.  The <SAMP>`-d&acute;</SAMP> option is mandatory.  The class
+is written under the specified directory.
+
+</P>
+
+
+<H3><A NAME="SEC120" HREF="gettext_toc.html#TOC120">8.1.5  Input file interpretation</A></H3>
+
+<DL COMPACT>
+
+<DT><SAMP>`-c&acute;</SAMP>
+<DD>
+<DT><SAMP>`--check&acute;</SAMP>
+<DD>
+Perform all the checks implied by <CODE>--check-format</CODE>, <CODE>--check-header</CODE>,
+<CODE>--check-domain</CODE>.
+
+<DT><SAMP>`--check-format&acute;</SAMP>
+<DD>
+Check language dependent format strings.
+
+If the string represents a format string used in a
+<CODE>printf</CODE>-like function both strings should have the same number of
+<SAMP>`%&acute;</SAMP> format specifiers, with matching types.  If the flag
+<CODE>c-format</CODE> or <CODE>possible-c-format</CODE> appears in the special
+comment <KBD>#,</KBD> for this entry a check is performed.  For example, the
+check will diagnose using <SAMP>`%.*s&acute;</SAMP> against <SAMP>`%s&acute;</SAMP>, or <SAMP>`%d&acute;</SAMP>
+against <SAMP>`%s&acute;</SAMP>, or <SAMP>`%d&acute;</SAMP> against <SAMP>`%x&acute;</SAMP>.  It can even handle
+positional parameters.
+
+Normally the <CODE>xgettext</CODE> program automatically decides whether a
+string is a format string or not.  This algorithm is not perfect,
+though.  It might regard a string as a format string though it is not
+used in a <CODE>printf</CODE>-like function and so <CODE>msgfmt</CODE> might report
+errors where there are none.
+
+To solve this problem the programmer can dictate the decision to the
+<CODE>xgettext</CODE> program (see section <A HREF="gettext_3.html#SEC17">3.4  Special Comments preceding Keywords</A>).  The translator should not
+consider removing the flag from the <KBD>#,</KBD> line.  This "fix" would be
+reversed again as soon as <CODE>msgmerge</CODE> is called the next time.
+
+<DT><SAMP>`--check-header&acute;</SAMP>
+<DD>
+Verify presence and contents of the header entry.  See section <A HREF="gettext_5.html#SEC34">5.2  Filling in the Header Entry</A>,
+for a description of the various fields in the header entry.
+
+<DT><SAMP>`--check-domain&acute;</SAMP>
+<DD>
+Check for conflicts between domain directives and the <CODE>--output-file</CODE>
+option
+
+<DT><SAMP>`-C&acute;</SAMP>
+<DD>
+<DT><SAMP>`--check-compatibility&acute;</SAMP>
+<DD>
+Check that GNU msgfmt behaves like X/Open msgfmt.  This will give an error
+when attempting to use the GNU extensions.
+
+<DT><SAMP>`--check-accelerators[=<VAR>char</VAR>]&acute;</SAMP>
+<DD>
+Check presence of keyboard accelerators for menu items.  This is based on
+the convention used in some GUIs that a keyboard accelerator in a menu
+item string is designated by an immediately preceding <SAMP>`&#38;&acute;</SAMP> character.
+Sometimes a keyboard accelerator is also called "keyboard mnemonic".
+This check verifies that if the untranslated string has exactly one
+<SAMP>`&#38;&acute;</SAMP> character, the translated string has exactly one <SAMP>`&#38;&acute;</SAMP> as well.
+If this option is given with a <VAR>char</VAR> argument, this <VAR>char</VAR> should
+be a non-alphanumeric character and is used as keyboard acceleator mark
+instead of <SAMP>`&#38;&acute;</SAMP>.
+
+<DT><SAMP>`-f&acute;</SAMP>
+<DD>
+<DT><SAMP>`--use-fuzzy&acute;</SAMP>
+<DD>
+Use fuzzy entries in output.  Note that using this option is usually wrong,
+because fuzzy messages are exactly those which have not been validated by
+a human translator.
+
+</DL>
+
+
+
+<H3><A NAME="SEC121" HREF="gettext_toc.html#TOC121">8.1.6  Output details</A></H3>
+
+<DL COMPACT>
+
+<DT><SAMP>`-a <VAR>number</VAR>&acute;</SAMP>
+<DD>
+<DT><SAMP>`--alignment=<VAR>number</VAR>&acute;</SAMP>
+<DD>
+Align strings to <VAR>number</VAR> bytes (default: 1).
+
+<DT><SAMP>`--no-hash&acute;</SAMP>
+<DD>
+Don't include a hash table in the binary file.  Lookup will be more expensive
+at run time (binary search instead of hash table lookup).
+
+</DL>
+
+
+
+<H3><A NAME="SEC122" HREF="gettext_toc.html#TOC122">8.1.7  Informative output</A></H3>
+
+<DL COMPACT>
+
+<DT><SAMP>`-h&acute;</SAMP>
+<DD>
+<DT><SAMP>`--help&acute;</SAMP>
+<DD>
+Display this help and exit.
+
+<DT><SAMP>`-V&acute;</SAMP>
+<DD>
+<DT><SAMP>`--version&acute;</SAMP>
+<DD>
+Output version information and exit.
+
+<DT><SAMP>`--statistics&acute;</SAMP>
+<DD>
+Print statistics about translations.
+
+<DT><SAMP>`-v&acute;</SAMP>
+<DD>
+<DT><SAMP>`--verbose&acute;</SAMP>
+<DD>
+Increase verbosity level.
+
+</DL>
+
+
+
+<H2><A NAME="SEC123" HREF="gettext_toc.html#TOC123">8.2  Invoking the <CODE>msgunfmt</CODE> Program</A></H2>
+
+
+<PRE>
+msgunfmt [<VAR>option</VAR>] [<VAR>file</VAR>]...
+</PRE>
 
 <P>
-When GNU <CODE>gettext</CODE> will truly have reached its goal, average users
-should feel some kind of astonished pleasure, seeing the effect of
-that strange kind of magic that just makes their own native language
-appear everywhere on their screens.  As for naive users, they would
-ideally have no special pleasure about it, merely taking their own
-language for <EM>granted</EM>, and becoming rather unhappy otherwise.
+The <CODE>msgunfmt</CODE> program converts a binary message catalog to a
+Uniforum style .po file.
 
 </P>
+
+
+<H3><A NAME="SEC124" HREF="gettext_toc.html#TOC124">8.2.1  Operation mode</A></H3>
+
+<DL COMPACT>
+
+<DT><SAMP>`-j&acute;</SAMP>
+<DD>
+<DT><SAMP>`--java&acute;</SAMP>
+<DD>
+Java mode: generate a Java <CODE>ResourceBundle</CODE> class.
+
+</DL>
+
+
+
+<H3><A NAME="SEC125" HREF="gettext_toc.html#TOC125">8.2.2  Input file location</A></H3>
+
+<DL COMPACT>
+
+<DT><SAMP>`<VAR>file</VAR> ...&acute;</SAMP>
+<DD>
+Input .mo files.
+
+</DL>
+
 <P>
-So, let's try to describe here how we would like the magic to operate,
-as we want the users' view to be the simplest, among all ways one
-could look at GNU <CODE>gettext</CODE>.  All other software engineers:
-programmers, translators, maintainers, should work together in such a
-way that the magic becomes possible.  This is a long and progressive
-undertaking, and information is available about the progress of the
-Translation Project.
+If no input <VAR>file</VAR> is given or if it is <SAMP>`-&acute;</SAMP>, standard input is read.
 
 </P>
+
+
+<H3><A NAME="SEC126" HREF="gettext_toc.html#TOC126">8.2.3  Input file location in Java mode</A></H3>
+
+<DL COMPACT>
+
+<DT><SAMP>`-r <VAR>resource</VAR>&acute;</SAMP>
+<DD>
+<DT><SAMP>`--resource=<VAR>resource</VAR>&acute;</SAMP>
+<DD>
+Specify the resource name.
+
+<DT><SAMP>`-l <VAR>locale</VAR>&acute;</SAMP>
+<DD>
+<DT><SAMP>`--locale=<VAR>locale</VAR>&acute;</SAMP>
+<DD>
+Specify the locale name, either a language specification of the form <VAR>ll</VAR>
+or a combined language and country specification of the form <VAR>ll_CC</VAR>.
+
+</DL>
+
 <P>
-When a package is distributed, there are two kinds of users:
-<STRONG>installers</STRONG> who fetch the distribution, unpack it, configure
-it, compile it and install it for themselves or others to use; and
-<STRONG>end users</STRONG> that call programs of the package, once these have
-been installed at their site.  GNU <CODE>gettext</CODE> is offering magic
-for both installers and end users.
+The class name is determined by appending the locale name to the resource name,
+separated with an underscore.  The class is located using the <CODE>CLASSPATH</CODE>.
 
 </P>
 
 
+<H3><A NAME="SEC127" HREF="gettext_toc.html#TOC127">8.2.4  Output file location</A></H3>
+
+<DL COMPACT>
 
-<H2><A NAME="SEC38" HREF="gettext_toc.html#TOC38">8.1  The Current <TT>`ABOUT-NLS'</TT> Matrix</A></H2>
+<DT><SAMP>`-o <VAR>file</VAR>&acute;</SAMP>
+<DD>
+<DT><SAMP>`--output-file=<VAR>file</VAR>&acute;</SAMP>
+<DD>
+Write output to specified file.
+
+</DL>
 
 <P>
-Languages are not equally supported in all packages using GNU
-<CODE>gettext</CODE>.  To know if some package uses GNU <CODE>gettext</CODE>, one
-may check the distribution for the <TT>`ABOUT-NLS'</TT> information file, for
-some <TT>`<VAR>ll</VAR>.po'</TT> files, often kept together into some <TT>`po/'</TT>
-directory, or for an <TT>`intl/'</TT> directory.  Internationalized packages
-have usually many <TT>`<VAR>ll</VAR>.po'</TT> files, where <VAR>ll</VAR> represents
-the language.  section <A HREF="gettext_8.html#SEC40">8.3  Magic for End Users</A> for a complete description of the format
-for <VAR>ll</VAR>.
+The results are written to standard output if no output file is specified
+or if it is <SAMP>`-&acute;</SAMP>.
 
 </P>
+
+
+<H3><A NAME="SEC128" HREF="gettext_toc.html#TOC128">8.2.5  Output details</A></H3>
+
+<DL COMPACT>
+
+<DT><SAMP>`--force-po&acute;</SAMP>
+<DD>
+Always write an output file even if it contains no message.
+
+<DT><SAMP>`-i&acute;</SAMP>
+<DD>
+<DT><SAMP>`--indent&acute;</SAMP>
+<DD>
+Write the .po file using indented style.
+
+<DT><SAMP>`--strict&acute;</SAMP>
+<DD>
+Write out a strict Uniforum conforming PO file.  Note that this
+Uniforum format should be avoided because it doesn't support the
+GNU extensions.
+
+<DT><SAMP>`-w <VAR>number</VAR>&acute;</SAMP>
+<DD>
+<DT><SAMP>`--width=<VAR>number</VAR>&acute;</SAMP>
+<DD>
+Set the output page width.  Long strings in the output files will be
+split across multiple lines in order to ensure that each line's width
+(= number of screen columns) is less or equal to the given <VAR>number</VAR>.
+
+<DT><SAMP>`-s&acute;</SAMP>
+<DD>
+<DT><SAMP>`--sort-output&acute;</SAMP>
+<DD>
+Generate sorted output.  Note that using this option makes it much harder
+for the translator to understand each message's context.
+
+</DL>
+
+
+
+<H3><A NAME="SEC129" HREF="gettext_toc.html#TOC129">8.2.6  Informative output</A></H3>
+
+<DL COMPACT>
+
+<DT><SAMP>`-h&acute;</SAMP>
+<DD>
+<DT><SAMP>`--help&acute;</SAMP>
+<DD>
+Display this help and exit.
+
+<DT><SAMP>`-V&acute;</SAMP>
+<DD>
+<DT><SAMP>`--version&acute;</SAMP>
+<DD>
+Output version information and exit.
+
+<DT><SAMP>`-v&acute;</SAMP>
+<DD>
+<DT><SAMP>`--verbose&acute;</SAMP>
+<DD>
+Increase verbosity level.
+
+</DL>
+
+
+
+<H2><A NAME="SEC130" HREF="gettext_toc.html#TOC130">8.3  The Format of GNU MO Files</A></H2>
+
 <P>
-More generally, a matrix is available for showing the current state
-of the Translation Project, listing which packages are prepared for
-multi-lingual messages, and which languages are supported by each.
-Because this information changes often, this matrix is not kept within
-this GNU <CODE>gettext</CODE> manual.  This information is often found in
-file <TT>`ABOUT-NLS'</TT> from various distributions, but is also as old as
-the distribution itself.  A recent copy of this <TT>`ABOUT-NLS'</TT> file,
-containing up-to-date information, should generally be found on the
-Translation Project sites, and also on most GNU archive sites.
+The format of the generated MO files is best described by a picture,
+which appears below.
 
 </P>
+<P>
+The first two words serve the identification of the file.  The magic
+number will always signal GNU MO files.  The number is stored in the
+byte order of the generating machine, so the magic number really is
+two numbers: <CODE>0x950412de</CODE> and <CODE>0xde120495</CODE>.  The second
+word describes the current revision of the file format.  For now the
+revision is 0.  This might change in future versions, and ensures
+that the readers of MO files can distinguish new formats from old
+ones, so that both can be handled correctly.  The version is kept
+separate from the magic number, instead of using different magic
+numbers for different formats, mainly because <TT>`/etc/magic&acute;</TT> is
+not updated often.  It might be better to have magic separated from
+internal format version identification.
 
+</P>
+<P>
+Follow a number of pointers to later tables in the file, allowing
+for the extension of the prefix part of MO files without having to
+recompile programs reading them.  This might become useful for later
+inserting a few flag bits, indication about the charset used, new
+tables, or other things.
 
-<H2><A NAME="SEC39" HREF="gettext_toc.html#TOC39">8.2  Magic for Installers</A></H2>
+</P>
+<P>
+Then, at offset <VAR>O</VAR> and offset <VAR>T</VAR> in the picture, two tables
+of string descriptors can be found.  In both tables, each string
+descriptor uses two 32 bits integers, one for the string length,
+another for the offset of the string in the MO file, counting in bytes
+from the start of the file.  The first table contains descriptors
+for the original strings, and is sorted so the original strings
+are in increasing lexicographical order.  The second table contains
+descriptors for the translated strings, and is parallel to the first
+table: to find the corresponding translation one has to access the
+array slot in the second array with the same index.
 
+</P>
 <P>
-By default, packages fully using GNU <CODE>gettext</CODE>, internally,
-are installed in such a way that they to allow translation of
-messages.  At <EM>configuration</EM> time, those packages should
-automatically detect whether the underlying host system already provides
-the GNU <CODE>gettext</CODE> functions.  If not,
-the GNU <CODE>gettext</CODE> library should be automatically prepared
-and used.  Installers may use special options at configuration
-time for changing this behavior.  The command <SAMP>`./configure
---with-included-gettext'</SAMP> bypasses system <CODE>gettext</CODE> to
-use the included GNU <CODE>gettext</CODE> instead,
-while <SAMP>`./configure --disable-nls'</SAMP>
-produces programs totally unable to translate messages.
+Having the original strings sorted enables the use of simple binary
+search, for when the MO file does not contain an hashing table, or
+for when it is not practical to use the hashing table provided in
+the MO file.  This also has another advantage, as the empty string
+in a PO file GNU <CODE>gettext</CODE> is usually <EM>translated</EM> into
+some system information attached to that particular MO file, and the
+empty string necessarily becomes the first in both the original and
+translated tables, making the system information very easy to find.
 
 </P>
 <P>
-Internationalized packages have usually many <TT>`<VAR>ll</VAR>.po'</TT>
-files.  Unless
-translations are disabled, all those available are installed together
-with the package.  However, the environment variable <CODE>LINGUAS</CODE>
-may be set, prior to configuration, to limit the installed set.
-<CODE>LINGUAS</CODE> should then contain a space separated list of two-letter
-codes, stating which languages are allowed.
+The size <VAR>S</VAR> of the hash table can be zero.  In this case, the
+hash table itself is not contained in the MO file.  Some people might
+prefer this because a precomputed hashing table takes disk space, and
+does not win <EM>that</EM> much speed.  The hash table contains indices
+to the sorted array of strings in the MO file.  Conflict resolution is
+done by double hashing.  The precise hashing algorithm used is fairly
+dependent of GNU <CODE>gettext</CODE> code, and is not documented here.
 
 </P>
+<P>
+As for the strings themselves, they follow the hash file, and each
+is terminated with a <KBD>NUL</KBD>, and this <KBD>NUL</KBD> is not counted in
+the length which appears in the string descriptor.  The <CODE>msgfmt</CODE>
+program has an option selecting the alignment for MO file strings.
+With this option, each string is separately aligned so it starts at
+an offset which is a multiple of the alignment value.  On some RISC
+machines, a correct alignment will speed things up.
 
+</P>
+<P>
+Plural forms are stored by letting the plural of the original string
+follow the singular of the original string, separated through a
+<KBD>NUL</KBD> byte.  The length which appears in the string descriptor
+includes both.  However, only the singular of the original string
+takes part in the hash table lookup.  The plural variants of the
+translation are all stored consecutively, separated through a
+<KBD>NUL</KBD> byte.  Here also, the length in the string descriptor
+includes all of them.
 
-<H2><A NAME="SEC40" HREF="gettext_toc.html#TOC40">8.3  Magic for End Users</A></H2>
+</P>
+<P>
+Nothing prevents a MO file from having embedded <KBD>NUL</KBD>s in strings.
+However, the program interface currently used already presumes
+that strings are <KBD>NUL</KBD> terminated, so embedded <KBD>NUL</KBD>s are
+somewhat useless.  But the MO file format is general enough so other
+interfaces would be later possible, if for example, we ever want to
+implement wide characters right in MO files, where <KBD>NUL</KBD> bytes may
+accidently appear.  (No, we don't want to have wide characters in MO
+files.  They would make the file unnecessarily large, and the
+<SAMP>`wchar_t&acute;</SAMP> type being platform dependent, MO files would be
+platform dependent as well.)
 
+</P>
 <P>
-We consider here those packages using GNU <CODE>gettext</CODE> internally,
-and for which the installers did not disable translation at
-<EM>configure</EM> time.  Then, users only have to set the <CODE>LANG</CODE>
-environment variable to the appropriate <SAMP>`<VAR>ll</VAR>_<VAR>CC</VAR>'</SAMP>
-combination prior to using the programs in the package.  See section <A HREF="gettext_8.html#SEC38">8.1  The Current <TT>`ABOUT-NLS'</TT> Matrix</A>.
-For example, let's presume a German site.  At the shell prompt, users
-merely have to execute <SAMP>`setenv LANG de_DE'</SAMP> (in <CODE>csh</CODE>) or
-<SAMP>`export LANG; LANG=de_DE'</SAMP> (in <CODE>sh</CODE>).  They could even do
-this from their <TT>`.login'</TT> or <TT>`.profile'</TT> file.
+This particular issue has been strongly debated in the GNU
+<CODE>gettext</CODE> development forum, and it is expectable that MO file
+format will evolve or change over time.  It is even possible that many
+formats may later be supported concurrently.  But surely, we have to
+start somewhere, and the MO file format described here is a good start.
+Nothing is cast in concrete, and the format may later evolve fairly
+easily, so we should feel comfortable with the current approach.
 
 </P>
+
+<PRE>
+        byte
+             +------------------------------------------+
+          0  | magic number = 0x950412de                |
+             |                                          |
+          4  | file format revision = 0                 |
+             |                                          |
+          8  | number of strings                        |  == N
+             |                                          |
+         12  | offset of table with original strings    |  == O
+             |                                          |
+         16  | offset of table with translation strings |  == T
+             |                                          |
+         20  | size of hashing table                    |  == S
+             |                                          |
+         24  | offset of hashing table                  |  == H
+             |                                          |
+             .                                          .
+             .    (possibly more entries later)         .
+             .                                          .
+             |                                          |
+          O  | length &#38; offset 0th string  ----------------.
+      O + 8  | length &#38; offset 1st string  ------------------.
+              ...                                    ...   | |
+O + ((N-1)*8)| length &#38; offset (N-1)th string           |  | |
+             |                                          |  | |
+          T  | length &#38; offset 0th translation  ---------------.
+      T + 8  | length &#38; offset 1st translation  -----------------.
+              ...                                    ...   | | | |
+T + ((N-1)*8)| length &#38; offset (N-1)th translation      |  | | | |
+             |                                          |  | | | |
+          H  | start hash table                         |  | | | |
+              ...                                    ...   | | | |
+  H + S * 4  | end hash table                           |  | | | |
+             |                                          |  | | | |
+             | NUL terminated 0th string  &#60;----------------' | | |
+             |                                          |    | | |
+             | NUL terminated 1st string  &#60;------------------' | |
+             |                                          |      | |
+              ...                                    ...       | |
+             |                                          |      | |
+             | NUL terminated 0th translation  &#60;---------------' |
+             |                                          |        |
+             | NUL terminated 1st translation  &#60;-----------------'
+             |                                          |
+              ...                                    ...
+             |                                          |
+             +------------------------------------------+
+</PRE>
+
 <P><HR><P>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_7.html">previous</A>, <A HREF="gettext_9.html">next</A>, <A HREF="gettext_14.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
+Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_7.html">previous</A>, <A HREF="gettext_9.html">next</A>, <A HREF="gettext_16.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
 </BODY>
 </HTML>
index 00592a1edd12a4182a96eedbad5d930291bc5b27..415c63855b5c3d7c03b649473b053e5c1dd05ddc 100644 (file)
 <HTML>
 <HEAD>
-<!-- This HTML file has been created by texi2html 1.51
-     from gettext.texi on 19 April 2001 -->
+<!-- This HTML file has been created by texi2html 1.52a
+     from gettext.texi on 30 November 2001 -->
 
-<TITLE>GNU gettext utilities - 9  The Programmer's View</TITLE>
+<TITLE>GNU gettext utilities - 9  The User's View</TITLE>
 </HEAD>
 <BODY>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_8.html">previous</A>, <A HREF="gettext_10.html">next</A>, <A HREF="gettext_14.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
+Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_8.html">previous</A>, <A HREF="gettext_10.html">next</A>, <A HREF="gettext_16.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
 <P><HR><P>
 
 
-<H1><A NAME="SEC41" HREF="gettext_toc.html#TOC41">9  The Programmer's View</A></H1>
+<H1><A NAME="SEC131" HREF="gettext_toc.html#TOC131">9  The User's View</A></H1>
 
 <P>
-One aim of the current message catalog implementation provided by
-GNU <CODE>gettext</CODE> was to use the systems message catalog handling, if the
-installer wishes to do so.  So we perhaps should first take a look at
-the solutions we know about.  The people in the POSIX committee did not
-manage to agree on one of the semi-official standards which we'll
-describe below.  In fact they couldn't agree on anything, so they decided
-only to include an example of an interface.  The major Unix vendors
-are split in the usage of the two most important specifications: X/Open's
-catgets vs. Uniforum's gettext interface.  We'll describe them both and
-later explain our solution of this dilemma.
+When GNU <CODE>gettext</CODE> will truly have reached its goal, average users
+should feel some kind of astonished pleasure, seeing the effect of
+that strange kind of magic that just makes their own native language
+appear everywhere on their screens.  As for naive users, they would
+ideally have no special pleasure about it, merely taking their own
+language for <EM>granted</EM>, and becoming rather unhappy otherwise.
 
 </P>
-
-
-
-<H2><A NAME="SEC42" HREF="gettext_toc.html#TOC42">9.1  About <CODE>catgets</CODE></A></H2>
-
-<P>
-The <CODE>catgets</CODE> implementation is defined in the X/Open Portability
-Guide, Volume 3, XSI Supplementary Definitions, Chapter 5.  But the
-process of creating this standard seemed to be too slow for some of
-the Unix vendors so they created their implementations on preliminary
-versions of the standard.  Of course this leads again to problems while
-writing platform independent programs: even the usage of <CODE>catgets</CODE>
-does not guarantee a unique interface.
-
-</P>
-<P>
-Another, personal comment on this that only a bunch of committee members
-could have made this interface.  They never really tried to program
-using this interface.  It is a fast, memory-saving implementation, an
-user can happily live with it.  But programmers hate it (at least me and
-some others do...)
-
-</P>
-<P>
-But we must not forget one point: after all the trouble with transfering
-the rights on Unix(tm) they at last came to X/Open, the very same who
-published this specification.  This leads me to making the prediction
-that this interface will be in future Unix standards (e.g. Spec1170) and
-therefore part of all Unix implementation (implementations, which are
-<EM>allowed</EM> to wear this name).
-
-</P>
-
-
-
-<H3><A NAME="SEC43" HREF="gettext_toc.html#TOC43">9.1.1  The Interface</A></H3>
-
-<P>
-The interface to the <CODE>catgets</CODE> implementation consists of three
-functions which correspond to those used in file access: <CODE>catopen</CODE>
-to open the catalog for using, <CODE>catgets</CODE> for accessing the message
-tables, and <CODE>catclose</CODE> for closing after work is done.  Prototypes
-for the functions and the needed definitions are in the
-<CODE>&#60;nl_types.h&#62;</CODE> header file.
-
-</P>
-<P>
-<CODE>catopen</CODE> is used like in this:
-
-</P>
-
-<PRE>
-nl_catd catd = catopen ("catalog_name", 0);
-</PRE>
-
-<P>
-The function takes as the argument the name of the catalog.  This usual
-refers to the name of the program or the package.  The second parameter
-is not further specified in the standard.  I don't even know whether it
-is implemented consistently among various systems.  So the common advice
-is to use <CODE>0</CODE> as the value.  The return value is a handle to the
-message catalog, equivalent to handles to file returned by <CODE>open</CODE>.
-
-</P>
-<P>
-This handle is of course used in the <CODE>catgets</CODE> function which can
-be used like this:
-
-</P>
-
-<PRE>
-char *translation = catgets (catd, set_no, msg_id, "original string");
-</PRE>
-
-<P>
-The first parameter is this catalog descriptor.  The second parameter
-specifies the set of messages in this catalog, in which the message
-described by <CODE>msg_id</CODE> is obtained.  <CODE>catgets</CODE> therefore uses a
-three-stage addressing:
-
-</P>
-
-<PRE>
-catalog name => set number => message ID => translation
-</PRE>
-
-<P>
-The fourth argument is not used to address the translation.  It is given
-as a default value in case when one of the addressing stages fail.  One
-important thing to remember is that although the return type of catgets
-is <CODE>char *</CODE> the resulting string <EM>must not</EM> be changed.  It
-should better be <CODE>const char *</CODE>, but the standard is published in
-1988, one year before ANSI C.
-
-</P>
-<P>
-The last of these function functions is used and behaves as expected:
-
-</P>
-
-<PRE>
-catclose (catd);
-</PRE>
-
-<P>
-After this no <CODE>catgets</CODE> call using the descriptor is legal anymore.
-
-</P>
-
-
-<H3><A NAME="SEC44" HREF="gettext_toc.html#TOC44">9.1.2  Problems with the <CODE>catgets</CODE> Interface?!</A></H3>
-
-<P>
-Now that this description seemed to be really easy -- where are the
-problem we speak of?  In fact the interface could be used in a
-reasonable way, but constructing the message catalogs is a pain.  The
-reason for this lies in the third argument of <CODE>catgets</CODE>: the unique
-message ID.  This has to be a numeric value for all messages in a single
-set.  Perhaps you could imagine the problems keeping such a list while
-changing the source code.  Add a new message here, remove one there.  Of
-course there have been developed a lot of tools helping to organize this
-chaos but one as the other fails in one aspect or the other.  We don't
-want to say that the other approach has no problems but they are far
-more easy to manage.
-
-</P>
-
-
-<H2><A NAME="SEC45" HREF="gettext_toc.html#TOC45">9.2  About <CODE>gettext</CODE></A></H2>
-
-<P>
-The definition of the <CODE>gettext</CODE> interface comes from a Uniforum
-proposal and it is followed by at least one major Unix vendor
-(Sun) in its last developments.  It is not specified in any official
-standard, though.
-
-</P>
-<P>
-The main points about this solution is that it does not follow the
-method of normal file handling (open-use-close) and that it does not
-burden the programmer so many task, especially the unique key handling.
-Of course here is also a unique key needed, but this key is the message
-itself (how long or short it is).  See section <A HREF="gettext_9.html#SEC53">9.3  Comparing the Two Interfaces</A> for a more
-detailed comparison of the two methods.
-
-</P>
-<P>
-The following section contains a rather detailed description of the
-interface.  We make it that detailed because this is the interface
-we chose for the GNU <CODE>gettext</CODE> Library.  Programmers interested
-in using this library will be interested in this description.
-
-</P>
-
-
-
-<H3><A NAME="SEC46" HREF="gettext_toc.html#TOC46">9.2.1  The Interface</A></H3>
-
-<P>
-The minimal functionality an interface must have is a) to select a
-domain the strings are coming from (a single domain for all programs is
-not reasonable because its construction and maintenance is difficult,
-perhaps impossible) and b) to access a string in a selected domain.
-
-</P>
-<P>
-This is principally the description of the <CODE>gettext</CODE> interface.  It
-has a global domain which unqualified usages reference.  Of course this
-domain is selectable by the user.
-
-</P>
-
-<PRE>
-char *textdomain (const char *domain_name);
-</PRE>
-
-<P>
-This provides the possibility to change or query the current status of
-the current global domain of the <CODE>LC_MESSAGE</CODE> category.  The
-argument is a null-terminated string, whose characters must be legal in
-the use in filenames.  If the <VAR>domain_name</VAR> argument is <CODE>NULL</CODE>,
-the function return the current value.  If no value has been set
-before, the name of the default domain is returned: <EM>messages</EM>.
-Please note that although the return value of <CODE>textdomain</CODE> is of
-type <CODE>char *</CODE> no changing is allowed.  It is also important to know
-that no checks of the availability are made.  If the name is not
-available you will see this by the fact that no translations are provided.
-
-</P>
-<P>
-To use a domain set by <CODE>textdomain</CODE> the function
-
-</P>
-
-<PRE>
-char *gettext (const char *msgid);
-</PRE>
-
-<P>
-is to be used.  This is the simplest reasonable form one can imagine.
-The translation of the string <VAR>msgid</VAR> is returned if it is available
-in the current domain.  If not available the argument itself is
-returned.  If the argument is <CODE>NULL</CODE> the result is undefined.
-
-</P>
-<P>
-One things which should come into mind is that no explicit dependency to
-the used domain is given.  The current value of the domain for the
-<CODE>LC_MESSAGES</CODE> locale is used.  If this changes between two
-executions of the same <CODE>gettext</CODE> call in the program, both calls
-reference a different message catalog.
-
-</P>
-<P>
-For the easiest case, which is normally used in internationalized
-packages, once at the beginning of execution a call to <CODE>textdomain</CODE>
-is issued, setting the domain to a unique name, normally the package
-name.  In the following code all strings which have to be translated are
-filtered through the gettext function.  That's all, the package speaks
-your language.
-
-</P>
-
-
-<H3><A NAME="SEC47" HREF="gettext_toc.html#TOC47">9.2.2  Solving Ambiguities</A></H3>
-
-<P>
-While this single name domain works well for most applications there
-might be the need to get translations from more than one domain.  Of
-course one could switch between different domains with calls to
-<CODE>textdomain</CODE>, but this is really not convenient nor is it fast.  A
-possible situation could be one case subject to discussion during this
-writing:  all
-error messages of functions in the set of common used functions should
-go into a separate domain <CODE>error</CODE>.  By this mean we would only need
-to translate them once.
-Another case are messages from a library, as these <EM>have</EM> to be
-independent of the current domain set by the application.
-
-</P>
-<P>
-For this reasons there are two more functions to retrieve strings:
-
-</P>
-
-<PRE>
-char *dgettext (const char *domain_name, const char *msgid);
-char *dcgettext (const char *domain_name, const char *msgid,
-                 int category);
-</PRE>
-
-<P>
-Both take an additional argument at the first place, which corresponds
-to the argument of <CODE>textdomain</CODE>.  The third argument of
-<CODE>dcgettext</CODE> allows to use another locale but <CODE>LC_MESSAGES</CODE>.
-But I really don't know where this can be useful.  If the
-<VAR>domain_name</VAR> is <CODE>NULL</CODE> or <VAR>category</VAR> has an value beside
-the known ones, the result is undefined.  It should also be noted that
-this function is not part of the second known implementation of this
-function family, the one found in Solaris.
-
-</P>
-<P>
-A second ambiguity can arise by the fact, that perhaps more than one
-domain has the same name.  This can be solved by specifying where the
-needed message catalog files can be found.
-
-</P>
-
-<PRE>
-char *bindtextdomain (const char *domain_name,
-                      const char *dir_name);
-</PRE>
-
-<P>
-Calling this function binds the given domain to a file in the specified
-directory (how this file is determined follows below).  Especially a
-file in the systems default place is not favored against the specified
-file anymore (as it would be by solely using <CODE>textdomain</CODE>).  A
-<CODE>NULL</CODE> pointer for the <VAR>dir_name</VAR> parameter returns the binding
-associated with <VAR>domain_name</VAR>.  If <VAR>domain_name</VAR> itself is
-<CODE>NULL</CODE> nothing happens and a <CODE>NULL</CODE> pointer is returned.  Here
-again as for all the other functions is true that none of the return
-value must be changed!
-
-</P>
-<P>
-It is important to remember that relative path names for the
-<VAR>dir_name</VAR> parameter can be trouble.  Since the path is always
-computed relative to the current directory different results will be
-achieved when the program executes a <CODE>chdir</CODE> command.  Relative
-paths should always be avoided to avoid dependencies and
-unreliabilities.
-
-</P>
-
-
-<H3><A NAME="SEC48" HREF="gettext_toc.html#TOC48">9.2.3  Locating Message Catalog Files</A></H3>
-
-<P>
-Because many different languages for many different packages have to be
-stored we need some way to add these information to file message catalog
-files.  The way usually used in Unix environments is have this encoding
-in the file name.  This is also done here.  The directory name given in
-<CODE>bindtextdomain</CODE>s second argument (or the default directory),
-followed by the value and name of the locale and the domain name are
-concatenated:
-
-</P>
-
-<PRE>
-<VAR>dir_name</VAR>/<VAR>locale</VAR>/LC_<VAR>category</VAR>/<VAR>domain_name</VAR>.mo
-</PRE>
-
-<P>
-The default value for <VAR>dir_name</VAR> is system specific.  For the GNU
-library, and for packages adhering to its conventions, it's:
-
-<PRE>
-/usr/local/share/locale
-</PRE>
-
-<P>
-<VAR>locale</VAR> is the value of the locale whose name is this
-<CODE>LC_<VAR>category</VAR></CODE>.  For <CODE>gettext</CODE> and <CODE>dgettext</CODE> this
-<CODE>LC_<VAR>category</VAR></CODE> is always <CODE>LC_MESSAGES</CODE>.<A NAME="DOCF3" HREF="gettext_foot.html#FOOT3">(3)</A>
-The value of the locale is determined through
-<CODE>setlocale (LC_<VAR>category</VAR>, NULL)</CODE>.
-<A NAME="DOCF4" HREF="gettext_foot.html#FOOT4">(4)</A>
-<CODE>dcgettext</CODE> specifies the locale category by the third argument.
-
-</P>
-
-
-<H3><A NAME="SEC49" HREF="gettext_toc.html#TOC49">9.2.4  How to specify the output character set <CODE>gettext</CODE> uses</A></H3>
-
-<P>
-<CODE>gettext</CODE> not only looks up a translation in a message catalog.  It
-also converts the translation on the fly to the desired output character
-set.  This is useful if the user is working in a different character set
-than the translator who created the message catalog, because it avoids
-distributing variants of message catalogs which differ only in the
-character set.
-
-</P>
-<P>
-The output character set is, by default, the value of <CODE>nl_langinfo
-(CODESET)</CODE>, which depends on the <CODE>LC_CTYPE</CODE> part of the current
-locale.  But programs which store strings in a locale independent way
-(e.g. UTF-8) can request that <CODE>gettext</CODE> and related functions
-return the translations in that encoding, by use of the
-<CODE>bind_textdomain_codeset</CODE> function.
-
-</P>
-<P>
-Note that the <VAR>msgid</VAR> argument to <CODE>gettext</CODE> is not subject to
-character set conversion.  Also, when <CODE>gettext</CODE> does not find a
-translation for <VAR>msgid</VAR>, it returns <VAR>msgid</VAR> unchanged --
-independently of the current output character set.  It is therefore
-recommended that all <VAR>msgid</VAR>s be US-ASCII strings.
-
-</P>
-<P>
-<DL>
-<DT><U>Function:</U> char * <B>bind_textdomain_codeset</B> <I>(const char *<VAR>domainname</VAR>, const char *<VAR>codeset</VAR>)</I>
-<DD><A NAME="IDX1"></A>
-The <CODE>bind_textdomain_codeset</CODE> function can be used to specify the
-output character set for message catalogs for domain <VAR>domainname</VAR>.
-The <VAR>codeset</VAR> argument must be a valid codeset name which can be used
-for the <CODE>iconv_open</CODE> function, or a null pointer.
-
-</P>
-<P>
-If the <VAR>codeset</VAR> parameter is the null pointer,
-<CODE>bind_textdomain_codeset</CODE> returns the currently selected codeset
-for the domain with the name <VAR>domainname</VAR>. It returns <CODE>NULL</CODE> if
-no codeset has yet been selected.
-
-</P>
-<P>
-The <CODE>bind_textdomain_codeset</CODE> function can be used several times. 
-If used multiple times with the same <VAR>domainname</VAR> argument, the
-later call overrides the settings made by the earlier one.
-
-</P>
-<P>
-The <CODE>bind_textdomain_codeset</CODE> function returns a pointer to a
-string containing the name of the selected codeset.  The string is
-allocated internally in the function and must not be changed by the
-user.  If the system went out of core during the execution of
-<CODE>bind_textdomain_codeset</CODE>, the return value is <CODE>NULL</CODE> and the
-global variable <VAR>errno</VAR> is set accordingly.
-</DL>
-
-</P>
-
-
-<H3><A NAME="SEC50" HREF="gettext_toc.html#TOC50">9.2.5  Additional functions for plural forms</A></H3>
-
-<P>
-The functions of the <CODE>gettext</CODE> family described so far (and all the
-<CODE>catgets</CODE> functions as well) have one problem in the real world
-which have been neglected completely in all existing approaches.  What
-is meant here is the handling of plural forms.
-
-</P>
-<P>
-Looking through Unix source code before the time anybody thought about
-internationalization (and, sadly, even afterwards) one can often find
-code similar to the following:
-
-</P>
-
-<PRE>
-   printf ("%d file%s deleted", n, n == 1 ? "" : "s");
-</PRE>
-
-<P>
-After the first complaints from people internationalizing the code people
-either completely avoided formulations like this or used strings like
-<CODE>"file(s)"</CODE>.  Both look unnatural and should be avoided.  First
-tries to solve the problem correctly looked like this:
-
-</P>
-
-<PRE>
-   if (n == 1)
-     printf ("%d file deleted", n);
-   else
-     printf ("%d files deleted", n);
-</PRE>
-
-<P>
-But this does not solve the problem.  It helps languages where the
-plural form of a noun is not simply constructed by adding an `s' but
-that is all.  Once again people fell into the trap of believing the
-rules their language is using are universal.  But the handling of plural
-forms differs widely between the language families.  For example,
-Rafal Maszkowski <CODE>&#60;rzm@mat.uni.torun.pl&#62;</CODE> reports:
-
-</P>
-
-<BLOCKQUOTE>
-<P>
-In Polish we use e.g. plik (file) this way:
-
-<PRE>
-1 plik
-2,3,4 pliki
-5-21 pliko'w
-22-24 pliki
-25-31 pliko'w
-</PRE>
-
-<P>
-and so on (o' means 8859-2 oacute which should be rather okreska,
-similar to aogonek).
-</BLOCKQUOTE>
-
-<P>
-There are two things which can differ between languages (and even inside
-language families);
-
-</P>
-
-<UL>
-<LI>
-
-The form how plural forms are build differs.  This is a problem with
-languages which have many irregularities.  German, for instance, is a
-drastic case.  Though English and German are part of the same language
-family (Germanic), the almost regular forming of plural noun forms
-(appending an `s') is hardly found in German.
-
-<LI>
-
-The number of plural forms differ.  This is somewhat surprising for
-those who only have experiences with Romanic and Germanic languages
-since here the number is the same (there are two).
-
-But other language families have only one form or many forms.  More
-information on this in an extra section.
-</UL>
-
-<P>
-The consequence of this is that application writers should not try to
-solve the problem in their code.  This would be localization since it is
-only usable for certain, hardcoded language environments.  Instead the
-extended <CODE>gettext</CODE> interface should be used.
-
-</P>
-<P>
-These extra functions are taking instead of the one key string two
-strings and a numerical argument.  The idea behind this is that using
-the numerical argument and the first string as a key, the implementation
-can select using rules specified by the translator the right plural
-form.  The two string arguments then will be used to provide a return
-value in case no message catalog is found (similar to the normal
-<CODE>gettext</CODE> behavior).  In this case the rules for Germanic language
-is used and it is assumed that the first string argument is the singular
-form, the second the plural form.
-
-</P>
-<P>
-This has the consequence that programs without language catalogs can
-display the correct strings only if the program itself is written using
-a Germanic language.  This is a limitation but since the GNU C library
-(as well as the GNU <CODE>gettext</CODE> package) are written as part of the
-GNU package and the coding standards for the GNU project require program
-being written in English, this solution nevertheless fulfills its
-purpose.
-
-</P>
-<P>
-<DL>
-<DT><U>Function:</U> char * <B>ngettext</B> <I>(const char *<VAR>msgid1</VAR>, const char *<VAR>msgid2</VAR>, unsigned long int <VAR>n</VAR>)</I>
-<DD><A NAME="IDX2"></A>
-The <CODE>ngettext</CODE> function is similar to the <CODE>gettext</CODE> function
-as it finds the message catalogs in the same way.  But it takes two
-extra arguments.  The <VAR>msgid1</VAR> parameter must contain the singular
-form of the string to be converted.  It is also used as the key for the
-search in the catalog.  The <VAR>msgid2</VAR> parameter is the plural form.
-The parameter <VAR>n</VAR> is used to determine the plural form.  If no
-message catalog is found <VAR>msgid1</VAR> is returned if <CODE>n == 1</CODE>,
-otherwise <CODE>msgid2</CODE>.
-
-</P>
-<P>
-An example for the use of this function is:
-
-</P>
-
-<PRE>
-printf (ngettext ("%d file removed", "%d files removed", n), n);
-</PRE>
-
-<P>
-Please note that the numeric value <VAR>n</VAR> has to be passed to the
-<CODE>printf</CODE> function as well.  It is not sufficient to pass it only to
-<CODE>ngettext</CODE>.
-</DL>
-
-</P>
-<P>
-<DL>
-<DT><U>Function:</U> char * <B>dngettext</B> <I>(const char *<VAR>domain</VAR>, const char *<VAR>msgid1</VAR>, const char *<VAR>msgid2</VAR>, unsigned long int <VAR>n</VAR>)</I>
-<DD><A NAME="IDX3"></A>
-The <CODE>dngettext</CODE> is similar to the <CODE>dgettext</CODE> function in the
-way the message catalog is selected.  The difference is that it takes
-two extra parameter to provide the correct plural form.  These two
-parameters are handled in the same way <CODE>ngettext</CODE> handles them.
-</DL>
-
-</P>
-<P>
-<DL>
-<DT><U>Function:</U> char * <B>dcngettext</B> <I>(const char *<VAR>domain</VAR>, const char *<VAR>msgid1</VAR>, const char *<VAR>msgid2</VAR>, unsigned long int <VAR>n</VAR>, int <VAR>category</VAR>)</I>
-<DD><A NAME="IDX4"></A>
-The <CODE>dcngettext</CODE> is similar to the <CODE>dcgettext</CODE> function in the
-way the message catalog is selected.  The difference is that it takes
-two extra parameter to provide the correct plural form.  These two
-parameters are handled in the same way <CODE>ngettext</CODE> handles them.
-</DL>
-
-</P>
-<P>
-Now, how do these functions solve the problem of the plural forms?
-Without the input of linguists (which was not available) it was not
-possible to determine whether there are only a few different forms in
-which plural forms are formed or whether the number can increase with
-every new supported language.
-
-</P>
-<P>
-Therefore the solution implemented is to allow the translator to specify
-the rules of how to select the plural form.  Since the formula varies
-with every language this is the only viable solution except for
-hardcoding the information in the code (which still would require the
-possibility of extensions to not prevent the use of new languages).
-
-</P>
-<P>
-The information about the plural form selection has to be stored in the
-header entry of the PO file (the one with the empty <CODE>msgid</CODE> string).
-The plural form information looks like this:
-
-</P>
-
-<PRE>
-Plural-Forms: nplurals=2; plural=n == 1 ? 0 : 1;
-</PRE>
-
-<P>
-The <CODE>nplurals</CODE> value must be a decimal number which specifies how
-many different plural forms exist for this language.  The string
-following <CODE>plural</CODE> is an expression which is using the C language
-syntax.  Exceptions are that no negative numbers are allowed, numbers
-must be decimal, and the only variable allowed is <CODE>n</CODE>.  This
-expression will be evaluated whenever one of the functions
-<CODE>ngettext</CODE>, <CODE>dngettext</CODE>, or <CODE>dcngettext</CODE> is called.  The
-numeric value passed to these functions is then substituted for all uses
-of the variable <CODE>n</CODE> in the expression.  The resulting value then
-must be greater or equal to zero and smaller than the value given as the
-value of <CODE>nplurals</CODE>.
-
-</P>
-<P>
-The following rules are known at this point.  The language with families
-are listed.  But this does not necessarily mean the information can be
-generalized for the whole family (as can be easily seen in the table
-below).<A NAME="DOCF5" HREF="gettext_foot.html#FOOT5">(5)</A>.}
-
-</P>
-<DL COMPACT>
-
-<DT>Only one form:
-<DD>
-Some languages only require one single form.  There is no distinction
-between the singular and plural form.  An appropriate header entry
-would look like this:
-
-
-<PRE>
-Plural-Forms: nplurals=1; plural=0;
-</PRE>
-
-Languages with this property include:
-
-<DL COMPACT>
-
-<DT>Finno-Ugric family
-<DD>
-Hungarian
-<DT>Asian family
-<DD>
-Japanese
-<DT>Turkic/Altaic family
-<DD>
-Turkish
-</DL>
-
-<DT>Two forms, singular used for one only
-<DD>
-This is the form used in most existing programs since it is what English
-is using.  A header entry would look like this:
-
-
-<PRE>
-Plural-Forms: nplurals=2; plural=n != 1;
-</PRE>
-
-(Note: this uses the feature of C expressions that boolean expressions
-have to value zero or one.)
-
-Languages with this property include:
-
-<DL COMPACT>
-
-<DT>Germanic family
-<DD>
-Danish, Dutch, English, German, Norwegian, Swedish
-<DT>Finno-Ugric family
-<DD>
-Estonian, Finnish
-<DT>Latin/Greek family
-<DD>
-Greek
-<DT>Semitic family
-<DD>
-Hebrew
-<DT>Romanic family
-<DD>
-Italian, Spanish
-<DT>Artificial
-<DD>
-Esperanto
-</DL>
-
-<DT>Two forms, singular used for zero and one
-<DD>
-Exceptional case in the language family.  The header entry would be:
-
-
-<PRE>
-Plural-Forms: nplurals=2; plural=n&#62;1;
-</PRE>
-
-Languages with this property include:
-
-<DL COMPACT>
-
-<DT>Romanic family
-<DD>
-French
-</DL>
-
-<DT>Three forms, special cases for one and two
-<DD>
-The header entry would be:
-
-
-<PRE>
-Plural-Forms: nplurals=3; plural=n==1 ? 0 : n==2 ? 1 : 2;
-</PRE>
-
-Languages with this property include:
-
-<DL COMPACT>
-
-<DT>Celtic
-<DD>
-Gaeilge
-</DL>
-
-<DT>Three forms, special case for numbers ending in 1[2-9]
-<DD>
-The header entry would look like this:
-
-
-<PRE>
-Plural-Forms: nplurals=3; \
-    plural=n%10==1 &#38;&#38; n%100!=11 ? 0 : \
-           n%10&#62;=2 &#38;&#38; (n%100&#60;10 || n%100&#62;=20) ? 1 : 2;
-</PRE>
-
-Languages with this property include:
-
-<DL COMPACT>
-
-<DT>Baltic family
-<DD>
-Lithuanian
-</DL>
-
-<DT>Three forms, special cases for numbers ending in 1 and 2, 3, 4, except those ending in 1[1-4]
-<DD>
-The header entry would look like this:
-
-
-<PRE>
-Plural-Forms: nplurals=3; \
-    plural=n%10==1 &#38;&#38; n%100!=11 ? 0 : \
-           n%10&#62;=2 &#38;&#38; n%10&#60;=4 &#38;&#38; (n%100&#60;10 || n%100&#62;=20) ? 1 : 2;
-</PRE>
-
-Languages with this property include:
-
-<DL COMPACT>
-
-<DT>Slavic family
-<DD>
-Czech, Russian, Slovak, Ukrainian
-</DL>
-
-<DT>Three forms, special case for one and some numbers ending in 2, 3, or 4
-<DD>
-The header entry would look like this:
-
-
-<PRE>
-Plural-Forms: nplurals=3; \
-    plural=n==1 ? 0 : \
-           n%10&#62;=2 &#38;&#38; n%10&#60;=4 &#38;&#38; (n%100&#60;10 || n%100&#62;=20) ? 1 : 2;
-</PRE>
-
-(Continuation in the next line is possible.)
-
-Languages with this property include:
-
-<DL COMPACT>
-
-<DT>Slavic family
-<DD>
-Polish
-</DL>
-
-<DT>Four forms, special case for one and all numbers ending in 02, 03, or 04
-<DD>
-The header entry would look like this:
-
-
-<PRE>
-Plural-Forms: nplurals=4; \
-    plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3;
-</PRE>
-
-Languages with this property include:
-
-<DL COMPACT>
-
-<DT>Slavic family
-<DD>
-Slovenian
-</DL>
-</DL>
-
-
-
-<H3><A NAME="SEC51" HREF="gettext_toc.html#TOC51">9.2.6  How to use <CODE>gettext</CODE> in GUI programs</A></H3>
-
-<P>
-One place where the <CODE>gettext</CODE> functions, if used normally, have big
-problems is within programs with graphical user interfaces (GUIs).  The
-problem is that many of the strings which have to be translated are very
-short.  They have to appear in pull-down menus which restricts the
-length.  But strings which are not containing entire sentences or at
-least large fragments of a sentence may appear in more than one
-situation in the program but might have different translations.  This is
-especially true for the one-word strings which are frequently used in
-GUI programs.
-
-</P>
-<P>
-As a consequence many people say that the <CODE>gettext</CODE> approach is
-wrong and instead <CODE>catgets</CODE> should be used which indeed does not
-have this problem.  But there is a very simple and powerful method to
-handle these kind of problems with the <CODE>gettext</CODE> functions.
-
-</P>
-<P>
-As as example consider the following fictional situation.  A GUI program
-has a menu bar with the following entries:
-
-</P>
-
-<PRE>
-+------------+------------+--------------------------------------+
-| File       | Printer    |                                      |
-+------------+------------+--------------------------------------+
-| Open     | | Select   |
-| New      | | Open     |
-+----------+ | Connect  |
-             +----------+
-</PRE>
-
-<P>
-To have the strings <CODE>File</CODE>, <CODE>Printer</CODE>, <CODE>Open</CODE>,
-<CODE>New</CODE>, <CODE>Select</CODE>, and <CODE>Connect</CODE> translated there has to be
-at some point in the code a call to a function of the <CODE>gettext</CODE>
-family.  But in two places the string passed into the function would be
-<CODE>Open</CODE>.  The translations might not be the same and therefore we
-are in the dilemma described above.
-
-</P>
-<P>
-One solution to this problem is to artificially enlengthen the strings
-to make them unambiguous.  But what would the program do if no
-translation is available?  The enlengthened string is not what should be
-printed.  So we should use a little bit modified version of the functions.
-
-</P>
-<P>
-To enlengthen the strings a uniform method should be used.  E.g., in the
-example above the strings could be chosen as
-
-</P>
-
-<PRE>
-Menu|File
-Menu|Printer
-Menu|File|Open
-Menu|File|New
-Menu|Printer|Select
-Menu|Printer|Open
-Menu|Printer|Connect
-</PRE>
-
-<P>
-Now all the strings are different and if now instead of <CODE>gettext</CODE>
-the following little wrapper function is used, everything works just
-fine:
-
-</P>
-<P>
-<A NAME="IDX5"></A>
-
-<PRE>
-  char *
-  sgettext (const char *msgid)
-  {
-    char *msgval = gettext (msgid);
-    if (msgval == msgid)
-      msgval = strrchr (msgid, '|') + 1;
-    return msgval;
-  }
-</PRE>
-
-<P>
-What this little function does is to recognize the case when no
-translation is available.  This can be done very efficiently by a
-pointer comparison since the return value is the input value.  If there
-is no translation we know that the input string is in the format we used
-for the Menu entries and therefore contains a <CODE>|</CODE> character.  We
-simply search for the last occurrence of this character and return a
-pointer to the character following it.  That's it!
-
-</P>
-<P>
-If one now consistently uses the enlengthened string form and replaces
-the <CODE>gettext</CODE> calls with calls to <CODE>sgettext</CODE> (this is normally
-limited to very few places in the GUI implementation) then it is
-possible to produce a program which can be internationalized.
-
-</P>
-<P>
-The other <CODE>gettext</CODE> functions (<CODE>dgettext</CODE>, <CODE>dcgettext</CODE>
-and the <CODE>ngettext</CODE> equivalents) can and should have corresponding
-functions as well which look almost identical, except for the parameters
-and the call to the underlying function.
-
-</P>
-<P>
-Now there is of course the question why such functions do not exist in
-the GNU gettext package?  There are two parts of the answer to this question.
-
-</P>
-
-<UL>
-<LI>
-
-They are easy to write and therefore can be provided by the project they
-are used in.  This is not an answer by itself and must be seen together
-with the second part which is:
-
-<LI>
-
-There is no way the gettext package can contain a version which can work
-everywhere.  The problem is the selection of the character to separate
-the prefix from the actual string in the enlenghtened string.  The
-examples above used <CODE>|</CODE> which is a quite good choice because it
-resembles a notation frequently used in this context and it also is a
-character not often used in message strings.
-
-But what if the character is used in message strings?  Or if the chose
-character is not available in the character set on the machine one
-compiles (e.g., <CODE>|</CODE> is not required to exist for ISO C; this is
-why the <TT>`iso646.h'</TT> file exists in ISO C programming environments).
-</UL>
-
-<P>
-There is only one more comment to be said.  The wrapper function above
-requires that the translations strings are not enlengthened themselves.
-This is only logical.  There is no need to disambiguate the strings
-(since they are never used as keys for a search) and one also saves
-quite some memory and disk space by doing this.
-
-</P>
-
-
-<H3><A NAME="SEC52" HREF="gettext_toc.html#TOC52">9.2.7  Optimization of the *gettext functions</A></H3>
-
-<P>
-At this point of the discussion we should talk about an advantage of the
-GNU <CODE>gettext</CODE> implementation.  Some readers might have pointed out
-that an internationalized program might have a poor performance if some
-string has to be translated in an inner loop.  While this is unavoidable
-when the string varies from one run of the loop to the other it is
-simply a waste of time when the string is always the same.  Take the
-following example:
-
-</P>
-
-<PRE>
-{
-  while (...)
-    {
-      puts (gettext ("Hello world"));
-    }
-}
-</PRE>
-
-<P>
-When the locale selection does not change between two runs the resulting
-string is always the same.  One way to use this is:
-
-</P>
-
-<PRE>
-{
-  str = gettext ("Hello world");
-  while (...)
-    {
-      puts (str);
-    }
-}
-</PRE>
-
-<P>
-But this solution is not usable in all situation (e.g. when the locale
-selection changes) nor does it lead to legible code.
-
-</P>
-<P>
-For this reason, GNU <CODE>gettext</CODE> caches previous translation results.
-When the same translation is requested twice, with no new message
-catalogs being loaded in between, <CODE>gettext</CODE> will, the second time,
-find the result through a single cache lookup.
-
-</P>
-
-
-<H2><A NAME="SEC53" HREF="gettext_toc.html#TOC53">9.3  Comparing the Two Interfaces</A></H2>
-
-<P>
-The following discussion is perhaps a little bit colored.  As said
-above we implemented GNU <CODE>gettext</CODE> following the Uniforum
-proposal and this surely has its reasons.  But it should show how we
-came to this decision.
-
-</P>
-<P>
-First we take a look at the developing process.  When we write an
-application using NLS provided by <CODE>gettext</CODE> we proceed as always.
-Only when we come to a string which might be seen by the users and thus
-has to be translated we use <CODE>gettext("...")</CODE> instead of
-<CODE>"..."</CODE>.  At the beginning of each source file (or in a central
-header file) we define
-
-</P>
-
-<PRE>
-#define gettext(String) (String)
-</PRE>
-
-<P>
-Even this definition can be avoided when the system supports the
-<CODE>gettext</CODE> function in its C library.  When we compile this code the
-result is the same as if no NLS code is used.  When  you take a look at
-the GNU <CODE>gettext</CODE> code you will see that we use <CODE>_("...")</CODE>
-instead of <CODE>gettext("...")</CODE>.  This reduces the number of
-additional characters per translatable string to <EM>3</EM> (in words:
-three).
-
-</P>
-<P>
-When now a production version of the program is needed we simply replace
-the definition
-
-</P>
-
-<PRE>
-#define _(String) (String)
-</PRE>
-
-<P>
-by
-
-</P>
-
-<PRE>
-#include &#60;libintl.h&#62;
-#define _(String) gettext (String)
-</PRE>
-
-<P>
-Additionally we run the program <TT>`xgettext'</TT> on all source code file
-which contain translatable strings and that's it: we have a running
-program which does not depend on translations to be available, but which
-can use any that becomes available.
-
-</P>
-<P>
-The same procedure can be done for the <CODE>gettext_noop</CODE> invocations
-(see section <A HREF="gettext_3.html#SEC18">3.5  Special Cases of Translatable Strings</A>).  One usually defines <CODE>gettext_noop</CODE> as a
-no-op macro.  So you should consider the following code for your project:
-
-</P>
-
-<PRE>
-#define gettext_noop(String) (String)
-#define N_(String) gettext_noop (String)
-</PRE>
-
 <P>
-<CODE>N_</CODE> is a short form similar to <CODE>_</CODE>.  The <TT>`Makefile'</TT> in
-the <TT>`po/'</TT> directory of GNU <CODE>gettext</CODE> knows by default both of the
-mentioned short forms so you are invited to follow this proposal for
-your own ease.
+So, let's try to describe here how we would like the magic to operate,
+as we want the users' view to be the simplest, among all ways one
+could look at GNU <CODE>gettext</CODE>.  All other software engineers:
+programmers, translators, maintainers, should work together in such a
+way that the magic becomes possible.  This is a long and progressive
+undertaking, and information is available about the progress of the
+Translation Project.
 
 </P>
 <P>
-Now to <CODE>catgets</CODE>.  The main problem is the work for the
-programmer.  Every time he comes to a translatable string he has to
-define a number (or a symbolic constant) which has also be defined in
-the message catalog file.  He also has to take care for duplicate
-entries, duplicate message IDs etc.  If he wants to have the same
-quality in the message catalog as the GNU <CODE>gettext</CODE> program
-provides he also has to put the descriptive comments for the strings and
-the location in all source code files in the message catalog.  This is
-nearly a Mission: Impossible.
+When a package is distributed, there are two kinds of users:
+<EM>installers</EM> who fetch the distribution, unpack it, configure
+it, compile it and install it for themselves or others to use; and
+<EM>end users</EM> that call programs of the package, once these have
+been installed at their site.  GNU <CODE>gettext</CODE> is offering magic
+for both installers and end users.
 
 </P>
-<P>
-But there are also some points people might call advantages speaking for
-<CODE>catgets</CODE>.  If you have a single word in a string and this string
-is used in different contexts it is likely that in one or the other
-language the word has different translations.  Example:
 
-</P>
 
-<PRE>
-printf ("%s: %d", gettext ("number"), number_of_errors)
 
-printf ("you should see %d %s", number_count,
-        number_count == 1 ? gettext ("number") : gettext ("numbers"))
-</PRE>
+<H2><A NAME="SEC132" HREF="gettext_toc.html#TOC132">9.1  The Current <TT>`ABOUT-NLS&acute;</TT> Matrix</A></H2>
 
 <P>
-Here we have to translate two times the string <CODE>"number"</CODE>.  Even
-if you do not speak a language beside English it might be possible to
-recognize that the two words have a different meaning.  In German the
-first appearance has to be translated to <CODE>"Anzahl"</CODE> and the second
-to <CODE>"Zahl"</CODE>.
+Languages are not equally supported in all packages using GNU
+<CODE>gettext</CODE>.  To know if some package uses GNU <CODE>gettext</CODE>, one
+may check the distribution for the <TT>`ABOUT-NLS&acute;</TT> information file, for
+some <TT>`<VAR>ll</VAR>.po&acute;</TT> files, often kept together into some <TT>`po/&acute;</TT>
+directory, or for an <TT>`intl/&acute;</TT> directory.  Internationalized packages
+have usually many <TT>`<VAR>ll</VAR>.po&acute;</TT> files, where <VAR>ll</VAR> represents
+the language.  section <A HREF="gettext_9.html#SEC134">9.3  Magic for End Users</A> for a complete description of the format
+for <VAR>ll</VAR>.
 
 </P>
 <P>
-Now you can say that this example is really esoteric.  And you are
-right!  This is exactly how we felt about this problem and decide that
-it does not weight that much.  The solution for the above problem could
-be very easy:
+More generally, a matrix is available for showing the current state
+of the Translation Project, listing which packages are prepared for
+multi-lingual messages, and which languages are supported by each.
+Because this information changes often, this matrix is not kept within
+this GNU <CODE>gettext</CODE> manual.  This information is often found in
+file <TT>`ABOUT-NLS&acute;</TT> from various distributions, but is also as old as
+the distribution itself.  A recent copy of this <TT>`ABOUT-NLS&acute;</TT> file,
+containing up-to-date information, should generally be found on the
+Translation Project sites, and also on most GNU archive sites.
 
 </P>
 
-<PRE>
-printf ("%s %d", gettext ("number:"), number_of_errors)
-
-printf (number_count == 1 ? gettext ("you should see %d number")
-                          : gettext ("you should see %d numbers"),
-        number_count)
-</PRE>
-
-<P>
-We believe that we can solve all conflicts with this method.  If it is
-difficult one can also consider changing one of the conflicting string a
-little bit.  But it is not impossible to overcome.
-
-</P>
-<P>
-<CODE>catgets</CODE> allows same original entry to have different translations,
-but <CODE>gettext</CODE> has another, scalable approach for solving ambiguities
-of this kind: See section <A HREF="gettext_9.html#SEC47">9.2.2  Solving Ambiguities</A>.
-
-</P>
-
-
-<H2><A NAME="SEC54" HREF="gettext_toc.html#TOC54">9.4  Using libintl.a in own programs</A></H2>
 
-<P>
-Starting with version 0.9.4 the library <CODE>libintl.h</CODE> should be
-self-contained.  I.e., you can use it in your own programs without
-providing additional functions.  The <TT>`Makefile'</TT> will put the header
-and the library in directories selected using the <CODE>$(prefix)</CODE>.
+<H2><A NAME="SEC133" HREF="gettext_toc.html#TOC133">9.2  Magic for Installers</A></H2>
 
-</P>
 <P>
-One exception of the above is found on HP-UX 10.01 systems.  Here the C
-library does not contain the <CODE>alloca</CODE> function (and the HP compiler
-does not generate it inlined).  But it is not intended to rewrite the whole
-library just because of this dumb system.  Instead include the
-<CODE>alloca</CODE> function in all package you use the <CODE>libintl.a</CODE> in.
+By default, packages fully using GNU <CODE>gettext</CODE>, internally,
+are installed in such a way that they to allow translation of
+messages.  At <EM>configuration</EM> time, those packages should
+automatically detect whether the underlying host system already provides
+the GNU <CODE>gettext</CODE> functions.  If not,
+the GNU <CODE>gettext</CODE> library should be automatically prepared
+and used.  Installers may use special options at configuration
+time for changing this behavior.  The command <SAMP>`./configure
+--with-included-gettext&acute;</SAMP> bypasses system <CODE>gettext</CODE> to
+use the included GNU <CODE>gettext</CODE> instead,
+while <SAMP>`./configure --disable-nls&acute;</SAMP>
+produces programs totally unable to translate messages.
 
 </P>
-
-
-<H2><A NAME="SEC55" HREF="gettext_toc.html#TOC55">9.5  Being a <CODE>gettext</CODE> grok</A></H2>
-
 <P>
-To fully exploit the functionality of the GNU <CODE>gettext</CODE> library it
-is surely helpful to read the source code.  But for those who don't want
-to spend that much time in reading the (sometimes complicated) code here
-is a list comments:
+Internationalized packages have usually many <TT>`<VAR>ll</VAR>.po&acute;</TT>
+files.  Unless
+translations are disabled, all those available are installed together
+with the package.  However, the environment variable <CODE>LINGUAS</CODE>
+may be set, prior to configuration, to limit the installed set.
+<CODE>LINGUAS</CODE> should then contain a space separated list of two-letter
+codes, stating which languages are allowed.
 
 </P>
 
-<UL>
-<LI>Changing the language at runtime
-
-For interactive programs it might be useful to offer a selection of the
-used language at runtime.  To understand how to do this one need to know
-how the used language is determined while executing the <CODE>gettext</CODE>
-function.  The method which is presented here only works correctly
-with the GNU implementation of the <CODE>gettext</CODE> functions.
-
-In the function <CODE>dcgettext</CODE> at every call the current setting of
-the highest priority environment variable is determined and used.
-Highest priority means here the following list with decreasing
-priority:
-
-
-<OL>
-<LI><CODE>LANGUAGE</CODE>
-
-<LI><CODE>LC_ALL</CODE>
-
-<LI><CODE>LC_xxx</CODE>, according to selected locale
-
-<LI><CODE>LANG</CODE>
-
-</OL>
-
-Afterwards the path is constructed using the found value and the
-translation file is loaded if available.
-
-What is now when the value for, say, <CODE>LANGUAGE</CODE> changes.  According
-to the process explained above the new value of this variable is found
-as soon as the <CODE>dcgettext</CODE> function is called.  But this also means
-the (perhaps) different message catalog file is loaded.  In other
-words: the used language is changed.
 
-But there is one little hook.  The code for gcc-2.7.0 and up provides
-some optimization.  This optimization normally prevents the calling of
-the <CODE>dcgettext</CODE> function as long as no new catalog is loaded.  But
-if <CODE>dcgettext</CODE> is not called the program also cannot find the
-<CODE>LANGUAGE</CODE> variable be changed (see section <A HREF="gettext_9.html#SEC52">9.2.7  Optimization of the *gettext functions</A>).  A
-solution for this is very easy.  Include the following code in the
-language switching function.
+<H2><A NAME="SEC134" HREF="gettext_toc.html#TOC134">9.3  Magic for End Users</A></H2>
 
-
-<PRE>
-  /* Change language.  */
-  setenv ("LANGUAGE", "fr", 1);
-
-  /* Make change known.  */
-  {
-    extern int  _nl_msg_cat_cntr;
-    ++_nl_msg_cat_cntr;
-  }
-</PRE>
-
-The variable <CODE>_nl_msg_cat_cntr</CODE> is defined in <TT>`loadmsgcat.c'</TT>.
-The programmer will find himself in need for a construct like this only
-when developing programs which do run longer and provide the user to
-select the language at runtime.  Non-interactive programs (like all
-these little Unix tools) should never need this.
-
-</UL>
-
-
-
-<H2><A NAME="SEC56" HREF="gettext_toc.html#TOC56">9.6  Temporary Notes for the Programmers Chapter</A></H2>
-
-
-
-<H3><A NAME="SEC57" HREF="gettext_toc.html#TOC57">9.6.1  Temporary - Two Possible Implementations</A></H3>
-
-<P>
-There are two competing methods for language independent messages:
-the X/Open <CODE>catgets</CODE> method, and the Uniforum <CODE>gettext</CODE>
-method.  The <CODE>catgets</CODE> method indexes messages by integers; the
-<CODE>gettext</CODE> method indexes them by their English translations.
-The <CODE>catgets</CODE> method has been around longer and is supported
-by more vendors.  The <CODE>gettext</CODE> method is supported by Sun,
-and it has been heard that the COSE multi-vendor initiative is
-supporting it.  Neither method is a POSIX standard; the POSIX.1
-committee had a lot of disagreement in this area.
-
-</P>
-<P>
-Neither one is in the POSIX standard.  There was much disagreement
-in the POSIX.1 committee about using the <CODE>gettext</CODE> routines
-vs. <CODE>catgets</CODE> (XPG).  In the end the committee couldn't
-agree on anything, so no messaging system was included as part
-of the standard.  I believe the informative annex of the standard
-includes the XPG3 messaging interfaces, "...as an example of
-a messaging system that has been implemented..."
-
-</P>
-<P>
-They were very careful not to say anywhere that you should use one
-set of interfaces over the other.  For more on this topic please
-see the Programming for Internationalization FAQ.
-
-</P>
-
-
-<H3><A NAME="SEC58" HREF="gettext_toc.html#TOC58">9.6.2  Temporary - About <CODE>catgets</CODE></A></H3>
-
-<P>
-There have been a few discussions of late on the use of
-<CODE>catgets</CODE> as a base.  I think it important to present both
-sides of the argument and hence am opting to play devil's advocate
-for a little bit.
-
-</P>
-<P>
-I'll not deny the fact that <CODE>catgets</CODE> could have been designed
-a lot better.  It currently has quite a number of limitations and
-these have already been pointed out.
-
-</P>
-<P>
-However there is a great deal to be said for consistency and
-standardization.  A common recurring problem when writing Unix
-software is the myriad portability problems across Unix platforms.
-It seems as if every Unix vendor had a look at the operating system
-and found parts they could improve upon.  Undoubtedly, these
-modifications are probably innovative and solve real problems.
-However, software developers have a hard time keeping up with all
-these changes across so many platforms.
-
-</P>
-<P>
-And this has prompted the Unix vendors to begin to standardize their
-systems.  Hence the impetus for Spec1170.  Every major Unix vendor
-has committed to supporting this standard and every Unix software
-developer waits with glee the day they can write software to this
-standard and simply recompile (without having to use autoconf)
-across different platforms.
-
-</P>
-<P>
-As I understand it, Spec1170 is roughly based upon version 4 of the
-X/Open Portability Guidelines (XPG4).  Because <CODE>catgets</CODE> and
-friends are defined in XPG4, I'm led to believe that <CODE>catgets</CODE>
-is a part of Spec1170 and hence will become a standardized component
-of all Unix systems.
-
-</P>
-
-
-<H3><A NAME="SEC59" HREF="gettext_toc.html#TOC59">9.6.3  Temporary - Why a single implementation</A></H3>
-
-<P>
-Now it seems kind of wasteful to me to have two different systems
-installed for accessing message catalogs.  If we do want to remedy
-<CODE>catgets</CODE> deficiencies why don't we try to expand <CODE>catgets</CODE>
-(in a compatible manner) rather than implement an entirely new system.
-Otherwise, we'll end up with two message catalog access systems installed
-with an operating system - one set of routines for packages using GNU
-<CODE>gettext</CODE> for their internationalization, and another set of routines
-(catgets) for all other software.  Bloated?
-
-</P>
-<P>
-Supposing another catalog access system is implemented.  Which do
-we recommend?  At least for Linux, we need to attract as many
-software developers as possible.  Hence we need to make it as easy
-for them to port their software as possible.  Which means supporting
-<CODE>catgets</CODE>.  We will be implementing the <CODE>libintl</CODE> code
-within our <CODE>libc</CODE>, but does this mean we also have to incorporate
-another message catalog access scheme within our <CODE>libc</CODE> as well?
-And what about people who are going to be using the <CODE>libintl</CODE>
-+ non-<CODE>catgets</CODE> routines.  When they port their software to
-other platforms, they're now going to have to include the front-end
-(<CODE>libintl</CODE>) code plus the back-end code (the non-<CODE>catgets</CODE>
-access routines) with their software instead of just including the
-<CODE>libintl</CODE> code with their software.
-
-</P>
-<P>
-Message catalog support is however only the tip of the iceberg.
-What about the data for the other locale categories.  They also have
-a number of deficiencies.  Are we going to abandon them as well and
-develop another duplicate set of routines (should <CODE>libintl</CODE>
-expand beyond message catalog support)?
-
-</P>
-<P>
-Like many parts of Unix that can be improved upon, we're stuck with balancing
-compatibility with the past with useful improvements and innovations for
-the future.
-
-</P>
-
-
-<H3><A NAME="SEC60" HREF="gettext_toc.html#TOC60">9.6.4  Temporary - Notes</A></H3>
-
-<P>
-X/Open agreed very late on the standard form so that many
-implementations differ from the final form.  Both of my system (old
-Linux catgets and Ultrix-4) have a strange variation.
-
-</P>
 <P>
-OK.  After incorporating the last changes I have to spend some time on
-making the GNU/Linux <CODE>libc</CODE> <CODE>gettext</CODE> functions.  So in future
-Solaris is not the only system having <CODE>gettext</CODE>.
+We consider here those packages using GNU <CODE>gettext</CODE> internally,
+and for which the installers did not disable translation at
+<EM>configure</EM> time.  Then, users only have to set the <CODE>LANG</CODE>
+environment variable to the appropriate <SAMP>`<VAR>ll</VAR>_<VAR>CC</VAR>&acute;</SAMP>
+combination prior to using the programs in the package.  See section <A HREF="gettext_9.html#SEC132">9.1  The Current <TT>`ABOUT-NLS&acute;</TT> Matrix</A>.
+For example, let's presume a German site.  At the shell prompt, users
+merely have to execute <SAMP>`setenv LANG de_DE&acute;</SAMP> (in <CODE>csh</CODE>) or
+<SAMP>`export LANG; LANG=de_DE&acute;</SAMP> (in <CODE>sh</CODE>).  They could even do
+this from their <TT>`.login&acute;</TT> or <TT>`.profile&acute;</TT> file.
 
 </P>
 <P><HR><P>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_8.html">previous</A>, <A HREF="gettext_10.html">next</A>, <A HREF="gettext_14.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
+Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_8.html">previous</A>, <A HREF="gettext_10.html">next</A>, <A HREF="gettext_16.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
 </BODY>
 </HTML>
index 2bebe6dd61ec82133853a3d0770474e168abd2d5..6cb2fbbbec5e1e9a5e5c6556e218bd7a20064b95 100644 (file)
@@ -1,17 +1,18 @@
 <HTML>
 <HEAD>
-<!-- This HTML file has been created by texi2html 1.51
-     from gettext.texi on 19 April 2001 -->
+<!-- This HTML file has been created by texi2html 1.52a
+     from gettext.texi on 30 November 2001 -->
 
 <TITLE>GNU gettext utilities - Footnotes</TITLE>
 </HEAD>
 <BODY>
-<H1>GNU gettext tools, version 0.10.37</H1>
+<H1>GNU gettext tools, version 0.11-pre2</H1>
 <H2>Native Language Support Library and Tools</H2>
-<H2>Edition 0.10.37, 19 April 2001</H2>
+<H2>Edition 0.11-pre2, 30 November 2001</H2>
 <ADDRESS>Ulrich Drepper</ADDRESS>
 <ADDRESS>Jim Meyering</ADDRESS>
-<ADDRESS>Fran@,{c}ois Pinard</ADDRESS>
+<ADDRESS>Fran&ccedil;ois Pinard</ADDRESS>
+<ADDRESS>Bruno Haible</ADDRESS>
 <P>
 <P><HR><P>
 <H3><A NAME="FOOT1" HREF="gettext_1.html#DOCF1">(1)</A></H3>
@@ -22,21 +23,21 @@ Emacs and Lucid Emacs, respectively.
 <P>This
 limitation is not imposed by GNU <CODE>gettext</CODE>, but is for compatibility
 with the <CODE>msgfmt</CODE> implementation on Solaris.
-<H3><A NAME="FOOT3" HREF="gettext_9.html#DOCF3">(3)</A></H3>
+<H3><A NAME="FOOT3" HREF="gettext_10.html#DOCF3">(3)</A></H3>
 <P>Some
 system, eg Ultrix, don't have <CODE>LC_MESSAGES</CODE>.  Here we use a more or
 less arbitrary value for it, namely 1729, the smallest positive integer
 which can be represented in two different ways as the sum of two cubes.
-<H3><A NAME="FOOT4" HREF="gettext_9.html#DOCF4">(4)</A></H3>
+<H3><A NAME="FOOT4" HREF="gettext_10.html#DOCF4">(4)</A></H3>
 <P>When the system does not support <CODE>setlocale</CODE> its behavior
 in setting the locale values is simulated by looking at the environment
 variables.
-<H3><A NAME="FOOT5" HREF="gettext_9.html#DOCF5">(5)</A></H3>
+<H3><A NAME="FOOT5" HREF="gettext_10.html#DOCF5">(5)</A></H3>
 <P>Additions are welcome.  Send appropriate information to
-@email{bug-glibc-manual@gnu.org
+<A HREF="mailto:bug-glibc-manual@gnu.org">bug-glibc-manual@gnu.org</A>.
 <P><HR><P>
-This document was generated on 19 April 2001 using the
-<A HREF="http://wwwcn.cern.ch/dci/texi2html/">texi2html</A>
-translator version 1.51.</P>
+This document was generated on 30 November 2001 using the
+<A HREF="http://wwwinfo.cern.ch/dis/texi2html/">texi2html</A>
+translator version 1.52a.</P>
 </BODY>
 </HTML>
index c635c1633fee11bfdd32f9a6a7bf6456f31bb3a9..eb45ec190624a256ef585bdcda5e103fa8f96600 100644 (file)
@@ -1,17 +1,18 @@
 <HTML>
 <HEAD>
-<!-- This HTML file has been created by texi2html 1.51
-     from gettext.texi on 19 April 2001 -->
+<!-- This HTML file has been created by texi2html 1.52a
+     from gettext.texi on 30 November 2001 -->
 
 <TITLE>GNU gettext utilities - Table of Contents</TITLE>
 </HEAD>
 <BODY>
-<H1>GNU gettext tools, version 0.10.37</H1>
+<H1>GNU gettext tools, version 0.11-pre2</H1>
 <H2>Native Language Support Library and Tools</H2>
-<H2>Edition 0.10.37, 19 April 2001</H2>
+<H2>Edition 0.11-pre2, 30 November 2001</H2>
 <ADDRESS>Ulrich Drepper</ADDRESS>
 <ADDRESS>Jim Meyering</ADDRESS>
-<ADDRESS>Fran@,{c}ois Pinard</ADDRESS>
+<ADDRESS>Fran&ccedil;ois Pinard</ADDRESS>
+<ADDRESS>Bruno Haible</ADDRESS>
 <P>
 <P><HR><P>
 <UL>
 <LI><A NAME="TOC19" HREF="gettext_4.html#SEC19">4  Making the PO Template File</A>
 <UL>
 <LI><A NAME="TOC20" HREF="gettext_4.html#SEC20">4.1  Invoking the <CODE>xgettext</CODE> Program</A>
+<UL>
+<LI><A NAME="TOC21" HREF="gettext_4.html#SEC21">4.1.1  Input file location</A>
+<LI><A NAME="TOC22" HREF="gettext_4.html#SEC22">4.1.2  Output file location</A>
+<LI><A NAME="TOC23" HREF="gettext_4.html#SEC23">4.1.3  Choice of input file language</A>
+<LI><A NAME="TOC24" HREF="gettext_4.html#SEC24">4.1.4  Operation mode</A>
+<LI><A NAME="TOC25" HREF="gettext_4.html#SEC25">4.1.5  Language=C/C++ specific options</A>
+<LI><A NAME="TOC26" HREF="gettext_4.html#SEC26">4.1.6  Output details</A>
+<LI><A NAME="TOC27" HREF="gettext_4.html#SEC27">4.1.7  Informative output</A>
+</UL>
+</UL>
+<LI><A NAME="TOC28" HREF="gettext_5.html#SEC28">5  Creating a New PO File</A>
+<UL>
+<LI><A NAME="TOC29" HREF="gettext_5.html#SEC29">5.1  Invoking the <CODE>msginit</CODE> Program</A>
+<UL>
+<LI><A NAME="TOC30" HREF="gettext_5.html#SEC30">5.1.1  Input file location</A>
+<LI><A NAME="TOC31" HREF="gettext_5.html#SEC31">5.1.2  Output file location</A>
+<LI><A NAME="TOC32" HREF="gettext_5.html#SEC32">5.1.3  Output details</A>
+<LI><A NAME="TOC33" HREF="gettext_5.html#SEC33">5.1.4  Informative output</A>
+</UL>
+<LI><A NAME="TOC34" HREF="gettext_5.html#SEC34">5.2  Filling in the Header Entry</A>
+</UL>
+<LI><A NAME="TOC35" HREF="gettext_6.html#SEC35">6  Updating Existing PO Files</A>
+<UL>
+<LI><A NAME="TOC36" HREF="gettext_6.html#SEC36">6.1  Invoking the <CODE>msgmerge</CODE> Program</A>
+<UL>
+<LI><A NAME="TOC37" HREF="gettext_6.html#SEC37">6.1.1  Input file location</A>
+<LI><A NAME="TOC38" HREF="gettext_6.html#SEC38">6.1.2  Operation mode</A>
+<LI><A NAME="TOC39" HREF="gettext_6.html#SEC39">6.1.3  Output file location</A>
+<LI><A NAME="TOC40" HREF="gettext_6.html#SEC40">6.1.4  Output file location in update mode</A>
+<LI><A NAME="TOC41" HREF="gettext_6.html#SEC41">6.1.5  Operation modifiers</A>
+<LI><A NAME="TOC42" HREF="gettext_6.html#SEC42">6.1.6  Output details</A>
+<LI><A NAME="TOC43" HREF="gettext_6.html#SEC43">6.1.7  Informative output</A>
+</UL>
+<LI><A NAME="TOC44" HREF="gettext_6.html#SEC44">6.2  Translated Entries</A>
+<LI><A NAME="TOC45" HREF="gettext_6.html#SEC45">6.3  Fuzzy Entries</A>
+<LI><A NAME="TOC46" HREF="gettext_6.html#SEC46">6.4  Untranslated Entries</A>
+<LI><A NAME="TOC47" HREF="gettext_6.html#SEC47">6.5  Obsolete Entries</A>
+<LI><A NAME="TOC48" HREF="gettext_6.html#SEC48">6.6  Modifying Translations</A>
+<LI><A NAME="TOC49" HREF="gettext_6.html#SEC49">6.7  Modifying Comments</A>
+<LI><A NAME="TOC50" HREF="gettext_6.html#SEC50">6.8  Details of Sub Edition</A>
+<LI><A NAME="TOC51" HREF="gettext_6.html#SEC51">6.9  C Sources Context</A>
+<LI><A NAME="TOC52" HREF="gettext_6.html#SEC52">6.10  Consulting Auxiliary PO Files</A>
+<LI><A NAME="TOC53" HREF="gettext_6.html#SEC53">6.11  Using Translation Compendia</A>
+<UL>
+<LI><A NAME="TOC54" HREF="gettext_6.html#SEC54">6.11.1  Creating Compendia</A>
+<UL>
+<LI><A NAME="TOC55" HREF="gettext_6.html#SEC55">6.11.1.1  Concatenate PO Files</A>
+<LI><A NAME="TOC56" HREF="gettext_6.html#SEC56">6.11.1.2  Extract a Message Subset from a PO File</A>
+</UL>
+<LI><A NAME="TOC57" HREF="gettext_6.html#SEC57">6.11.2  Using Compendia</A>
+<UL>
+<LI><A NAME="TOC58" HREF="gettext_6.html#SEC58">6.11.2.1  Initialize a New Translation File</A>
+<LI><A NAME="TOC59" HREF="gettext_6.html#SEC59">6.11.2.2  Update an Existing Translation File</A>
+</UL>
+</UL>
+</UL>
+<LI><A NAME="TOC60" HREF="gettext_7.html#SEC60">7  Manipulating PO Files</A>
+<UL>
+<LI><A NAME="TOC61" HREF="gettext_7.html#SEC61">7.1  Invoking the <CODE>msgcat</CODE> Program</A>
+<UL>
+<LI><A NAME="TOC62" HREF="gettext_7.html#SEC62">7.1.1  Input file location</A>
+<LI><A NAME="TOC63" HREF="gettext_7.html#SEC63">7.1.2  Output file location</A>
+<LI><A NAME="TOC64" HREF="gettext_7.html#SEC64">7.1.3  Message selection</A>
+<LI><A NAME="TOC65" HREF="gettext_7.html#SEC65">7.1.4  Output details</A>
+<LI><A NAME="TOC66" HREF="gettext_7.html#SEC66">7.1.5  Informative output</A>
+</UL>
+<LI><A NAME="TOC67" HREF="gettext_7.html#SEC67">7.2  Invoking the <CODE>msgconv</CODE> Program</A>
+<UL>
+<LI><A NAME="TOC68" HREF="gettext_7.html#SEC68">7.2.1  Input file location</A>
+<LI><A NAME="TOC69" HREF="gettext_7.html#SEC69">7.2.2  Output file location</A>
+<LI><A NAME="TOC70" HREF="gettext_7.html#SEC70">7.2.3  Conversion target</A>
+<LI><A NAME="TOC71" HREF="gettext_7.html#SEC71">7.2.4  Output details</A>
+<LI><A NAME="TOC72" HREF="gettext_7.html#SEC72">7.2.5  Informative output</A>
+</UL>
+<LI><A NAME="TOC73" HREF="gettext_7.html#SEC73">7.3  Invoking the <CODE>msggrep</CODE> Program</A>
+<UL>
+<LI><A NAME="TOC74" HREF="gettext_7.html#SEC74">7.3.1  Input file location</A>
+<LI><A NAME="TOC75" HREF="gettext_7.html#SEC75">7.3.2  Output file location</A>
+<LI><A NAME="TOC76" HREF="gettext_7.html#SEC76">7.3.3  Message selection</A>
+<LI><A NAME="TOC77" HREF="gettext_7.html#SEC77">7.3.4  Output details</A>
+<LI><A NAME="TOC78" HREF="gettext_7.html#SEC78">7.3.5  Informative output</A>
+</UL>
+<LI><A NAME="TOC79" HREF="gettext_7.html#SEC79">7.4  Invoking the <CODE>msgexec</CODE> Program</A>
+<UL>
+<LI><A NAME="TOC80" HREF="gettext_7.html#SEC80">7.4.1  Input file location</A>
+<LI><A NAME="TOC81" HREF="gettext_7.html#SEC81">7.4.2  Output file location</A>
+<LI><A NAME="TOC82" HREF="gettext_7.html#SEC82">7.4.3  The filter</A>
+<LI><A NAME="TOC83" HREF="gettext_7.html#SEC83">7.4.4  Useful <VAR>filter-option</VAR>s when the <VAR>filter</VAR> is <SAMP>`sed&acute;</SAMP></A>
+<LI><A NAME="TOC84" HREF="gettext_7.html#SEC84">7.4.5  Output details</A>
+<LI><A NAME="TOC85" HREF="gettext_7.html#SEC85">7.4.6  Informative output</A>
+</UL>
+<LI><A NAME="TOC86" HREF="gettext_7.html#SEC86">7.5  Invoking the <CODE>msguniq</CODE> Program</A>
+<UL>
+<LI><A NAME="TOC87" HREF="gettext_7.html#SEC87">7.5.1  Input file location</A>
+<LI><A NAME="TOC88" HREF="gettext_7.html#SEC88">7.5.2  Output file location</A>
+<LI><A NAME="TOC89" HREF="gettext_7.html#SEC89">7.5.3  Message selection</A>
+<LI><A NAME="TOC90" HREF="gettext_7.html#SEC90">7.5.4  Output details</A>
+<LI><A NAME="TOC91" HREF="gettext_7.html#SEC91">7.5.5  Informative output</A>
+</UL>
+<LI><A NAME="TOC92" HREF="gettext_7.html#SEC92">7.6  Invoking the <CODE>msgcomm</CODE> Program</A>
+<UL>
+<LI><A NAME="TOC93" HREF="gettext_7.html#SEC93">7.6.1  Input file location</A>
+<LI><A NAME="TOC94" HREF="gettext_7.html#SEC94">7.6.2  Output file location</A>
+<LI><A NAME="TOC95" HREF="gettext_7.html#SEC95">7.6.3  Message selection</A>
+<LI><A NAME="TOC96" HREF="gettext_7.html#SEC96">7.6.4  Output details</A>
+<LI><A NAME="TOC97" HREF="gettext_7.html#SEC97">7.6.5  Informative output</A>
+</UL>
+<LI><A NAME="TOC98" HREF="gettext_7.html#SEC98">7.7  Invoking the <CODE>msgcmp</CODE> Program</A>
+<UL>
+<LI><A NAME="TOC99" HREF="gettext_7.html#SEC99">7.7.1  Input file location</A>
+<LI><A NAME="TOC100" HREF="gettext_7.html#SEC100">7.7.2  Operation modifiers</A>
+<LI><A NAME="TOC101" HREF="gettext_7.html#SEC101">7.7.3  Informative output</A>
+</UL>
+<LI><A NAME="TOC102" HREF="gettext_7.html#SEC102">7.8  Invoking the <CODE>msgattrib</CODE> Program</A>
+<UL>
+<LI><A NAME="TOC103" HREF="gettext_7.html#SEC103">7.8.1  Input file location</A>
+<LI><A NAME="TOC104" HREF="gettext_7.html#SEC104">7.8.2  Output file location</A>
+<LI><A NAME="TOC105" HREF="gettext_7.html#SEC105">7.8.3  Message selection</A>
+<LI><A NAME="TOC106" HREF="gettext_7.html#SEC106">7.8.4  Attribute manipulation</A>
+<LI><A NAME="TOC107" HREF="gettext_7.html#SEC107">7.8.5  Output details</A>
+<LI><A NAME="TOC108" HREF="gettext_7.html#SEC108">7.8.6  Informative output</A>
 </UL>
-<LI><A NAME="TOC21" HREF="gettext_5.html#SEC21">5  Creating a New PO File</A>
-<LI><A NAME="TOC22" HREF="gettext_6.html#SEC22">6  Updating Existing PO Files</A>
+<LI><A NAME="TOC109" HREF="gettext_7.html#SEC109">7.9  Invoking the <CODE>msgen</CODE> Program</A>
 <UL>
-<LI><A NAME="TOC23" HREF="gettext_6.html#SEC23">6.1  Invoking the <CODE>msgmerge</CODE> Program</A>
-<LI><A NAME="TOC24" HREF="gettext_6.html#SEC24">6.2  Translated Entries</A>
-<LI><A NAME="TOC25" HREF="gettext_6.html#SEC25">6.3  Fuzzy Entries</A>
-<LI><A NAME="TOC26" HREF="gettext_6.html#SEC26">6.4  Untranslated Entries</A>
-<LI><A NAME="TOC27" HREF="gettext_6.html#SEC27">6.5  Obsolete Entries</A>
-<LI><A NAME="TOC28" HREF="gettext_6.html#SEC28">6.6  Modifying Translations</A>
-<LI><A NAME="TOC29" HREF="gettext_6.html#SEC29">6.7  Modifying Comments</A>
-<LI><A NAME="TOC30" HREF="gettext_6.html#SEC30">6.8  Details of Sub Edition</A>
-<LI><A NAME="TOC31" HREF="gettext_6.html#SEC31">6.9  C Sources Context</A>
-<LI><A NAME="TOC32" HREF="gettext_6.html#SEC32">6.10  Consulting Auxiliary PO Files</A>
-<LI><A NAME="TOC33" HREF="gettext_6.html#SEC33">6.11  Using Translation Compendiums</A>
+<LI><A NAME="TOC110" HREF="gettext_7.html#SEC110">7.9.1  Input file location</A>
+<LI><A NAME="TOC111" HREF="gettext_7.html#SEC111">7.9.2  Output file location</A>
+<LI><A NAME="TOC112" HREF="gettext_7.html#SEC112">7.9.3  Output details</A>
+<LI><A NAME="TOC113" HREF="gettext_7.html#SEC113">7.9.4  Informative output</A>
 </UL>
-<LI><A NAME="TOC34" HREF="gettext_7.html#SEC34">7  Producing Binary MO Files</A>
+</UL>
+<LI><A NAME="TOC114" HREF="gettext_8.html#SEC114">8  Producing Binary MO Files</A>
+<UL>
+<LI><A NAME="TOC115" HREF="gettext_8.html#SEC115">8.1  Invoking the <CODE>msgfmt</CODE> Program</A>
+<UL>
+<LI><A NAME="TOC116" HREF="gettext_8.html#SEC116">8.1.1  Input file location</A>
+<LI><A NAME="TOC117" HREF="gettext_8.html#SEC117">8.1.2  Operation mode</A>
+<LI><A NAME="TOC118" HREF="gettext_8.html#SEC118">8.1.3  Output file location</A>
+<LI><A NAME="TOC119" HREF="gettext_8.html#SEC119">8.1.4  Output file location in Java mode</A>
+<LI><A NAME="TOC120" HREF="gettext_8.html#SEC120">8.1.5  Input file interpretation</A>
+<LI><A NAME="TOC121" HREF="gettext_8.html#SEC121">8.1.6  Output details</A>
+<LI><A NAME="TOC122" HREF="gettext_8.html#SEC122">8.1.7  Informative output</A>
+</UL>
+<LI><A NAME="TOC123" HREF="gettext_8.html#SEC123">8.2  Invoking the <CODE>msgunfmt</CODE> Program</A>
 <UL>
-<LI><A NAME="TOC35" HREF="gettext_7.html#SEC35">7.1  Invoking the <CODE>msgfmt</CODE> Program</A>
-<LI><A NAME="TOC36" HREF="gettext_7.html#SEC36">7.2  The Format of GNU MO Files</A>
+<LI><A NAME="TOC124" HREF="gettext_8.html#SEC124">8.2.1  Operation mode</A>
+<LI><A NAME="TOC125" HREF="gettext_8.html#SEC125">8.2.2  Input file location</A>
+<LI><A NAME="TOC126" HREF="gettext_8.html#SEC126">8.2.3  Input file location in Java mode</A>
+<LI><A NAME="TOC127" HREF="gettext_8.html#SEC127">8.2.4  Output file location</A>
+<LI><A NAME="TOC128" HREF="gettext_8.html#SEC128">8.2.5  Output details</A>
+<LI><A NAME="TOC129" HREF="gettext_8.html#SEC129">8.2.6  Informative output</A>
+</UL>
+<LI><A NAME="TOC130" HREF="gettext_8.html#SEC130">8.3  The Format of GNU MO Files</A>
 </UL>
-<LI><A NAME="TOC37" HREF="gettext_8.html#SEC37">8  The User's View</A>
+<LI><A NAME="TOC131" HREF="gettext_9.html#SEC131">9  The User's View</A>
 <UL>
-<LI><A NAME="TOC38" HREF="gettext_8.html#SEC38">8.1  The Current <TT>`ABOUT-NLS'</TT> Matrix</A>
-<LI><A NAME="TOC39" HREF="gettext_8.html#SEC39">8.2  Magic for Installers</A>
-<LI><A NAME="TOC40" HREF="gettext_8.html#SEC40">8.3  Magic for End Users</A>
+<LI><A NAME="TOC132" HREF="gettext_9.html#SEC132">9.1  The Current <TT>`ABOUT-NLS&acute;</TT> Matrix</A>
+<LI><A NAME="TOC133" HREF="gettext_9.html#SEC133">9.2  Magic for Installers</A>
+<LI><A NAME="TOC134" HREF="gettext_9.html#SEC134">9.3  Magic for End Users</A>
 </UL>
-<LI><A NAME="TOC41" HREF="gettext_9.html#SEC41">9  The Programmer's View</A>
+<LI><A NAME="TOC135" HREF="gettext_10.html#SEC135">10  The Programmer's View</A>
 <UL>
-<LI><A NAME="TOC42" HREF="gettext_9.html#SEC42">9.1  About <CODE>catgets</CODE></A>
+<LI><A NAME="TOC136" HREF="gettext_10.html#SEC136">10.1  About <CODE>catgets</CODE></A>
 <UL>
-<LI><A NAME="TOC43" HREF="gettext_9.html#SEC43">9.1.1  The Interface</A>
-<LI><A NAME="TOC44" HREF="gettext_9.html#SEC44">9.1.2  Problems with the <CODE>catgets</CODE> Interface?!</A>
+<LI><A NAME="TOC137" HREF="gettext_10.html#SEC137">10.1.1  The Interface</A>
+<LI><A NAME="TOC138" HREF="gettext_10.html#SEC138">10.1.2  Problems with the <CODE>catgets</CODE> Interface?!</A>
 </UL>
-<LI><A NAME="TOC45" HREF="gettext_9.html#SEC45">9.2  About <CODE>gettext</CODE></A>
+<LI><A NAME="TOC139" HREF="gettext_10.html#SEC139">10.2  About <CODE>gettext</CODE></A>
 <UL>
-<LI><A NAME="TOC46" HREF="gettext_9.html#SEC46">9.2.1  The Interface</A>
-<LI><A NAME="TOC47" HREF="gettext_9.html#SEC47">9.2.2  Solving Ambiguities</A>
-<LI><A NAME="TOC48" HREF="gettext_9.html#SEC48">9.2.3  Locating Message Catalog Files</A>
-<LI><A NAME="TOC49" HREF="gettext_9.html#SEC49">9.2.4  How to specify the output character set <CODE>gettext</CODE> uses</A>
-<LI><A NAME="TOC50" HREF="gettext_9.html#SEC50">9.2.5  Additional functions for plural forms</A>
-<LI><A NAME="TOC51" HREF="gettext_9.html#SEC51">9.2.6  How to use <CODE>gettext</CODE> in GUI programs</A>
-<LI><A NAME="TOC52" HREF="gettext_9.html#SEC52">9.2.7  Optimization of the *gettext functions</A>
+<LI><A NAME="TOC140" HREF="gettext_10.html#SEC140">10.2.1  The Interface</A>
+<LI><A NAME="TOC141" HREF="gettext_10.html#SEC141">10.2.2  Solving Ambiguities</A>
+<LI><A NAME="TOC142" HREF="gettext_10.html#SEC142">10.2.3  Locating Message Catalog Files</A>
+<LI><A NAME="TOC143" HREF="gettext_10.html#SEC143">10.2.4  How to specify the output character set <CODE>gettext</CODE> uses</A>
+<LI><A NAME="TOC144" HREF="gettext_10.html#SEC144">10.2.5  Additional functions for plural forms</A>
+<LI><A NAME="TOC145" HREF="gettext_10.html#SEC145">10.2.6  How to use <CODE>gettext</CODE> in GUI programs</A>
+<LI><A NAME="TOC146" HREF="gettext_10.html#SEC146">10.2.7  Optimization of the *gettext functions</A>
 </UL>
-<LI><A NAME="TOC53" HREF="gettext_9.html#SEC53">9.3  Comparing the Two Interfaces</A>
-<LI><A NAME="TOC54" HREF="gettext_9.html#SEC54">9.4  Using libintl.a in own programs</A>
-<LI><A NAME="TOC55" HREF="gettext_9.html#SEC55">9.5  Being a <CODE>gettext</CODE> grok</A>
-<LI><A NAME="TOC56" HREF="gettext_9.html#SEC56">9.6  Temporary Notes for the Programmers Chapter</A>
+<LI><A NAME="TOC147" HREF="gettext_10.html#SEC147">10.3  Comparing the Two Interfaces</A>
+<LI><A NAME="TOC148" HREF="gettext_10.html#SEC148">10.4  Using libintl.a in own programs</A>
+<LI><A NAME="TOC149" HREF="gettext_10.html#SEC149">10.5  Being a <CODE>gettext</CODE> grok</A>
+<LI><A NAME="TOC150" HREF="gettext_10.html#SEC150">10.6  Temporary Notes for the Programmers Chapter</A>
 <UL>
-<LI><A NAME="TOC57" HREF="gettext_9.html#SEC57">9.6.1  Temporary - Two Possible Implementations</A>
-<LI><A NAME="TOC58" HREF="gettext_9.html#SEC58">9.6.2  Temporary - About <CODE>catgets</CODE></A>
-<LI><A NAME="TOC59" HREF="gettext_9.html#SEC59">9.6.3  Temporary - Why a single implementation</A>
-<LI><A NAME="TOC60" HREF="gettext_9.html#SEC60">9.6.4  Temporary - Notes</A>
+<LI><A NAME="TOC151" HREF="gettext_10.html#SEC151">10.6.1  Temporary - Two Possible Implementations</A>
+<LI><A NAME="TOC152" HREF="gettext_10.html#SEC152">10.6.2  Temporary - About <CODE>catgets</CODE></A>
+<LI><A NAME="TOC153" HREF="gettext_10.html#SEC153">10.6.3  Temporary - Why a single implementation</A>
+<LI><A NAME="TOC154" HREF="gettext_10.html#SEC154">10.6.4  Temporary - Notes</A>
 </UL>
 </UL>
-<LI><A NAME="TOC61" HREF="gettext_10.html#SEC61">10  The Translator's View</A>
+<LI><A NAME="TOC155" HREF="gettext_11.html#SEC155">11  The Translator's View</A>
 <UL>
-<LI><A NAME="TOC62" HREF="gettext_10.html#SEC62">10.1  Introduction 0</A>
-<LI><A NAME="TOC63" HREF="gettext_10.html#SEC63">10.2  Introduction 1</A>
-<LI><A NAME="TOC64" HREF="gettext_10.html#SEC64">10.3  Discussions</A>
-<LI><A NAME="TOC65" HREF="gettext_10.html#SEC65">10.4  Organization</A>
+<LI><A NAME="TOC156" HREF="gettext_11.html#SEC156">11.1  Introduction 0</A>
+<LI><A NAME="TOC157" HREF="gettext_11.html#SEC157">11.2  Introduction 1</A>
+<LI><A NAME="TOC158" HREF="gettext_11.html#SEC158">11.3  Discussions</A>
+<LI><A NAME="TOC159" HREF="gettext_11.html#SEC159">11.4  Organization</A>
 <UL>
-<LI><A NAME="TOC66" HREF="gettext_10.html#SEC66">10.4.1  Central Coordination</A>
-<LI><A NAME="TOC67" HREF="gettext_10.html#SEC67">10.4.2  National Teams</A>
+<LI><A NAME="TOC160" HREF="gettext_11.html#SEC160">11.4.1  Central Coordination</A>
+<LI><A NAME="TOC161" HREF="gettext_11.html#SEC161">11.4.2  National Teams</A>
 <UL>
-<LI><A NAME="TOC68" HREF="gettext_10.html#SEC68">10.4.2.1  Sub-Cultures</A>
-<LI><A NAME="TOC69" HREF="gettext_10.html#SEC69">10.4.2.2  Organizational Ideas</A>
+<LI><A NAME="TOC162" HREF="gettext_11.html#SEC162">11.4.2.1  Sub-Cultures</A>
+<LI><A NAME="TOC163" HREF="gettext_11.html#SEC163">11.4.2.2  Organizational Ideas</A>
 </UL>
-<LI><A NAME="TOC70" HREF="gettext_10.html#SEC70">10.4.3  Mailing Lists</A>
+<LI><A NAME="TOC164" HREF="gettext_11.html#SEC164">11.4.3  Mailing Lists</A>
 </UL>
-<LI><A NAME="TOC71" HREF="gettext_10.html#SEC71">10.5  Information Flow</A>
+<LI><A NAME="TOC165" HREF="gettext_11.html#SEC165">11.5  Information Flow</A>
 </UL>
-<LI><A NAME="TOC72" HREF="gettext_11.html#SEC72">11  The Maintainer's View</A>
+<LI><A NAME="TOC166" HREF="gettext_12.html#SEC166">12  The Maintainer's View</A>
+<UL>
+<LI><A NAME="TOC167" HREF="gettext_12.html#SEC167">12.1  Flat or Non-Flat Directory Structures</A>
+<LI><A NAME="TOC168" HREF="gettext_12.html#SEC168">12.2  Prerequisite Works</A>
+<LI><A NAME="TOC169" HREF="gettext_12.html#SEC169">12.3  Invoking the <CODE>gettextize</CODE> Program</A>
+<LI><A NAME="TOC170" HREF="gettext_12.html#SEC170">12.4  Files You Must Create or Alter</A>
 <UL>
-<LI><A NAME="TOC73" HREF="gettext_11.html#SEC73">11.1  Flat or Non-Flat Directory Structures</A>
-<LI><A NAME="TOC74" HREF="gettext_11.html#SEC74">11.2  Prerequisite Works</A>
-<LI><A NAME="TOC75" HREF="gettext_11.html#SEC75">11.3  Invoking the <CODE>gettextize</CODE> Program</A>
-<LI><A NAME="TOC76" HREF="gettext_11.html#SEC76">11.4  Files You Must Create or Alter</A>
+<LI><A NAME="TOC171" HREF="gettext_12.html#SEC171">12.4.1  <TT>`POTFILES.in&acute;</TT> in <TT>`po/&acute;</TT></A>
+<LI><A NAME="TOC172" HREF="gettext_12.html#SEC172">12.4.2  <TT>`LINGUAS&acute;</TT> in <TT>`po/&acute;</TT></A>
+<LI><A NAME="TOC173" HREF="gettext_12.html#SEC173">12.4.3  <TT>`Makefile&acute;</TT> pieces in <TT>`po/&acute;</TT></A>
+<LI><A NAME="TOC174" HREF="gettext_12.html#SEC174">12.4.4  <TT>`configure.in&acute;</TT> at top level</A>
+<LI><A NAME="TOC175" HREF="gettext_12.html#SEC175">12.4.5  <TT>`config.guess&acute;</TT>, <TT>`config.sub&acute;</TT> at top level</A>
+<LI><A NAME="TOC176" HREF="gettext_12.html#SEC176">12.4.6  <TT>`aclocal.m4&acute;</TT> at top level</A>
+<LI><A NAME="TOC177" HREF="gettext_12.html#SEC177">12.4.7  <TT>`acconfig.h&acute;</TT> at top level</A>
+<LI><A NAME="TOC178" HREF="gettext_12.html#SEC178">12.4.8  <TT>`Makefile.in&acute;</TT> at top level</A>
+<LI><A NAME="TOC179" HREF="gettext_12.html#SEC179">12.4.9  <TT>`Makefile.in&acute;</TT> in <TT>`src/&acute;</TT></A>
+</UL>
+</UL>
+<LI><A NAME="TOC180" HREF="gettext_13.html#SEC180">13  Other Programming Languages</A>
+<UL>
+<LI><A NAME="TOC181" HREF="gettext_13.html#SEC181">13.1  The Language Implementor's View</A>
+<LI><A NAME="TOC182" HREF="gettext_13.html#SEC182">13.2  The Programmer's View</A>
+<LI><A NAME="TOC183" HREF="gettext_13.html#SEC183">13.3  The Translator's View</A>
+<LI><A NAME="TOC184" HREF="gettext_13.html#SEC184">13.4  Individual Programming Languages</A>
+<UL>
+<LI><A NAME="TOC185" HREF="gettext_13.html#SEC185">13.4.1  C, C++, Objective C</A>
+<LI><A NAME="TOC186" HREF="gettext_13.html#SEC186">13.4.2  sh - Shell Script</A>
+<LI><A NAME="TOC187" HREF="gettext_13.html#SEC187">13.4.3  bash - Bourne-Again Shell Script</A>
+<LI><A NAME="TOC188" HREF="gettext_13.html#SEC188">13.4.4  Python</A>
+<LI><A NAME="TOC189" HREF="gettext_13.html#SEC189">13.4.5  GNU clisp - Common Lisp</A>
+<LI><A NAME="TOC190" HREF="gettext_13.html#SEC190">13.4.6  GNU clisp C sources</A>
+<LI><A NAME="TOC191" HREF="gettext_13.html#SEC191">13.4.7  Emacs Lisp</A>
+<LI><A NAME="TOC192" HREF="gettext_13.html#SEC192">13.4.8  librep</A>
+<LI><A NAME="TOC193" HREF="gettext_13.html#SEC193">13.4.9  GNU Smalltalk</A>
+<LI><A NAME="TOC194" HREF="gettext_13.html#SEC194">13.4.10  Java</A>
+<LI><A NAME="TOC195" HREF="gettext_13.html#SEC195">13.4.11  GNU awk</A>
+<LI><A NAME="TOC196" HREF="gettext_13.html#SEC196">13.4.12  Pascal - Free Pascal Compiler</A>
+<LI><A NAME="TOC197" HREF="gettext_13.html#SEC197">13.4.13  wxWindows library</A>
+<LI><A NAME="TOC198" HREF="gettext_13.html#SEC198">13.4.14  YCP - YaST2 scripting language</A>
+<LI><A NAME="TOC199" HREF="gettext_13.html#SEC199">13.4.15  Perl</A>
+<LI><A NAME="TOC200" HREF="gettext_13.html#SEC200">13.4.16  PHP Hypertext Preprocessor</A>
+<LI><A NAME="TOC201" HREF="gettext_13.html#SEC201">13.4.17  Pike</A>
+</UL>
+<LI><A NAME="TOC202" HREF="gettext_13.html#SEC202">13.5  Internationalizable Data</A>
 <UL>
-<LI><A NAME="TOC77" HREF="gettext_11.html#SEC77">11.4.1  <TT>`POTFILES.in'</TT> in <TT>`po/'</TT></A>
-<LI><A NAME="TOC78" HREF="gettext_11.html#SEC78">11.4.2  <TT>`configure.in'</TT> at top level</A>
-<LI><A NAME="TOC79" HREF="gettext_11.html#SEC79">11.4.3  <TT>`config.guess'</TT>, <TT>`config.sub'</TT> at top level</A>
-<LI><A NAME="TOC80" HREF="gettext_11.html#SEC80">11.4.4  <TT>`aclocal.m4'</TT> at top level</A>
-<LI><A NAME="TOC81" HREF="gettext_11.html#SEC81">11.4.5  <TT>`acconfig.h'</TT> at top level</A>
-<LI><A NAME="TOC82" HREF="gettext_11.html#SEC82">11.4.6  <TT>`Makefile.in'</TT> at top level</A>
-<LI><A NAME="TOC83" HREF="gettext_11.html#SEC83">11.4.7  <TT>`Makefile.in'</TT> in <TT>`src/'</TT></A>
+<LI><A NAME="TOC203" HREF="gettext_13.html#SEC203">13.5.1  POT - Portable Object Template</A>
+<LI><A NAME="TOC204" HREF="gettext_13.html#SEC204">13.5.2  Resource String Table</A>
 </UL>
 </UL>
-<LI><A NAME="TOC84" HREF="gettext_12.html#SEC84">12  Concluding Remarks</A>
+<LI><A NAME="TOC205" HREF="gettext_14.html#SEC205">14  Concluding Remarks</A>
 <UL>
-<LI><A NAME="TOC85" HREF="gettext_12.html#SEC85">12.1  History of GNU <CODE>gettext</CODE></A>
-<LI><A NAME="TOC86" HREF="gettext_12.html#SEC86">12.2  Related Readings</A>
+<LI><A NAME="TOC206" HREF="gettext_14.html#SEC206">14.1  History of GNU <CODE>gettext</CODE></A>
+<LI><A NAME="TOC207" HREF="gettext_14.html#SEC207">14.2  Related Readings</A>
 </UL>
-<LI><A NAME="TOC87" HREF="gettext_13.html#SEC87">A  Language Codes</A>
-<LI><A NAME="TOC88" HREF="gettext_14.html#SEC88">B  Country Codes</A>
+<LI><A NAME="TOC208" HREF="gettext_15.html#SEC208">A  Language Codes</A>
+<LI><A NAME="TOC209" HREF="gettext_16.html#SEC209">B  Country Codes</A>
 </UL>
 <P><HR><P>
-This document was generated on 19 April 2001 using the
-<A HREF="http://wwwcn.cern.ch/dci/texi2html/">texi2html</A>
-translator version 1.51.</P>
+This document was generated on 30 November 2001 using the
+<A HREF="http://wwwinfo.cern.ch/dis/texi2html/">texi2html</A>
+translator version 1.52a.</P>
 </BODY>
 </HTML>
index 2ab30163a4e71e8c3de40600a5499aa0973cbb34..c6892ee769ca3cfef565bd14f6ea72b564a97c1f 100644 (file)
@@ -1,3 +1,4 @@
-@set UPDATED 19 April 2001
-@set EDITION 0.10.37
-@set VERSION 0.10.37
+@set UPDATED 30 November 2001
+@set UPDATED-MONTH November 2001
+@set EDITION 0.11-pre2
+@set VERSION 0.11-pre2
index 75703081b09d79ad2fd6aa3ab6fad580ea0d5bb3..f83cb959678ba79dd0ad9e008c12ca53da48ff84 100644 (file)
@@ -67,6 +67,7 @@ CC = @CC@
 CLASSPATH = @CLASSPATH@
 CLASSPATH_SEPARATOR = @CLASSPATH_SEPARATOR@
 CROSS_COMPILING = @CROSS_COMPILING@
+CXX = @CXX@
 DATADIRNAME = @DATADIRNAME@
 DEPDIR = @DEPDIR@
 DLLTOOL = @DLLTOOL@
@@ -78,12 +79,19 @@ GENCAT = @GENCAT@
 GLIBC21 = @GLIBC21@
 GMSGFMT = @GMSGFMT@
 HAVE_GCJ = @HAVE_GCJ@
+HAVE_GCJ_IN_PATH = @HAVE_GCJ_IN_PATH@
 HAVE_GIJ = @HAVE_GIJ@
+HAVE_GIJ_IN_PATH = @HAVE_GIJ_IN_PATH@
+HAVE_JAVA = @HAVE_JAVA@
 HAVE_JAVAC = @HAVE_JAVAC@
-HAVE_JAVA_JVM = @HAVE_JAVA_JVM@
+HAVE_JAVAC_IN_PATH = @HAVE_JAVAC_IN_PATH@
+HAVE_JAVA_IN_PATH = @HAVE_JAVA_IN_PATH@
 HAVE_JIKES = @HAVE_JIKES@
+HAVE_JIKES_IN_PATH = @HAVE_JIKES_IN_PATH@
 HAVE_JRE = @HAVE_JRE@
+HAVE_JRE_IN_PATH = @HAVE_JRE_IN_PATH@
 HAVE_JVIEW = @HAVE_JVIEW@
+HAVE_JVIEW_IN_PATH = @HAVE_JVIEW_IN_PATH@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
 INSTOBJEXT = @INSTOBJEXT@
 INTLBISON = @INTLBISON@
@@ -126,11 +134,54 @@ JAR = @JAR@
 AUTOMAKE_OPTIONS = 1.2 gnits
 
 jardir = $(datadir)/gettext
+docdir = $(prefix)/doc/@PACKAGE@
+htmldir = $(docdir)
 JAVACOMP = $(SHELL) ../lib/javacomp.sh
+JAVADOC1 = test ! -d /usr/lib/jdk1.1.8 || env PATH=/usr/lib/jdk1.1.8/bin:$$PATH javadoc
+JAVADOC2 = test ! -d /usr/lib/jdk1.3.1 || env PATH=/usr/lib/jdk1.3.1/bin:$$PATH javadoc
 
-EXTRA_DIST = gnu/gettext/GettextResource.java
+EXTRA_DIST = gnu/gettext/GettextResource.java $(JAVADOC1_FILES) $(JAVADOC2_FILES)
 
 CLEANFILES = libintl.jar gnu/gettext/*.class
+
+JAVADOC1_FILES = \
+  javadoc1/packages.html javadoc1/tree.html javadoc1/AllNames.html \
+  javadoc1/gnu.gettext.GettextResource.html \
+  javadoc1/images/blue-ball-small.gif javadoc1/images/blue-ball.gif \
+  javadoc1/images/class-index.gif \
+  javadoc1/images/constructor-index.gif \
+  javadoc1/images/constructors.gif \
+  javadoc1/images/cyan-ball-small.gif javadoc1/images/cyan-ball.gif \
+  javadoc1/images/error-index.gif \
+  javadoc1/images/exception-index.gif \
+  javadoc1/images/green-ball-small.gif javadoc1/images/green-ball.gif \
+  javadoc1/images/interface-index.gif \
+  javadoc1/images/magenta-ball-small.gif javadoc1/images/magenta-ball.gif \
+  javadoc1/images/method-index.gif \
+  javadoc1/images/methods.gif \
+  javadoc1/images/package-index.gif \
+  javadoc1/images/red-ball-small.gif javadoc1/images/red-ball.gif \
+  javadoc1/images/variable-index.gif \
+  javadoc1/images/variables.gif \
+  javadoc1/images/yellow-ball-small.gif javadoc1/images/yellow-ball.gif
+
+
+JAVADOC2_FILES = \
+  javadoc2/index.html \
+  javadoc2/allclasses-frame.html \
+  javadoc2/overview-tree.html \
+  javadoc2/deprecated-list.html \
+  javadoc2/serialized-form.html \
+  javadoc2/index-all.html \
+  javadoc2/help-doc.html \
+  javadoc2/packages.html \
+  javadoc2/package-list \
+  javadoc2/stylesheet.css \
+  javadoc2/gnu/gettext/package-summary.html \
+  javadoc2/gnu/gettext/package-tree.html \
+  javadoc2/gnu/gettext/package-frame.html \
+  javadoc2/gnu/gettext/GettextResource.html
+
 subdir = intl-java
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
 CONFIG_HEADER = $(top_builddir)/config.h
@@ -167,7 +218,7 @@ top_distdir = ..
 distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
 
 distdir: $(DISTFILES)
-       $(mkinstalldirs) $(distdir)/gnu/gettext
+       $(mkinstalldirs) $(distdir)/gnu/gettext $(distdir)/javadoc1 $(distdir)/javadoc1/images $(distdir)/javadoc2 $(distdir)/javadoc2/gnu/gettext
        @for file in $(DISTFILES); do \
          if test -f $$file; then d=.; else d=$(srcdir); fi; \
          dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
@@ -258,11 +309,16 @@ uninstall-am: uninstall-info-am uninstall-local
        uninstall-local
 
 
+all-local: all-classes all-javadoc1 all-javadoc2
+install-data-local: install-classes install-javadoc1 install-javadoc2
+installdirs-local: installdirs-classes installdirs-javadoc1 installdirs-javadoc2
+uninstall-local: uninstall-classes uninstall-javadoc1 uninstall-javadoc2
+
 # Special rules for Java compilation.
 
-all-local: all-java-@BUILDJAVA@
-all-java-no:
-all-java-yes: libintl.jar
+all-classes: all-classes-@BUILDJAVA@
+all-classes-no:
+all-classes-yes: libintl.jar
 
 gnu/gettext/GettextResource.class: $(srcdir)/gnu/gettext/GettextResource.java
        $(JAVACOMP) -d . $(srcdir)/gnu/gettext/GettextResource.java
@@ -270,19 +326,69 @@ gnu/gettext/GettextResource.class: $(srcdir)/gnu/gettext/GettextResource.java
 libintl.jar: gnu/gettext/GettextResource.class
        $(JAR) cf $@ gnu/gettext/GettextResource*.class
 
-install-data-local: install-java-@BUILDJAVA@
-install-java-no:
+install-classes: install-classes-@BUILDJAVA@
+install-classes-no:
        $(mkinstalldirs) $(DESTDIR)$(jardir)
-install-java-yes: all-java-yes
+install-classes-yes: all-classes-yes
        $(mkinstalldirs) $(DESTDIR)$(jardir)
        $(INSTALL_DATA) libintl.jar $(DESTDIR)$(jardir)/libintl.jar
 
-installdirs-local:
+installdirs-classes:
        $(mkinstalldirs) $(DESTDIR)$(jardir)
 
-uninstall-local:
+uninstall-classes:
        $(RM) $(DESTDIR)$(jardir)/libintl.jar
 
+# Special rules for Javadoc (JDK 1.1) documentation.
+
+all-javadoc1: $(srcdir)/javadoc1/tree.html
+
+$(srcdir)/javadoc1/tree.html: $(srcdir)/gnu/gettext/GettextResource.java
+       cd $(srcdir) && $(JAVADOC1) -d javadoc1 gnu/gettext/*.java
+
+install-javadoc1: all-javadoc1
+       $(mkinstalldirs) $(DESTDIR)$(htmldir)/javadoc1
+       $(mkinstalldirs) $(DESTDIR)$(htmldir)/javadoc1/images
+       @for f in $(JAVADOC1_FILES); do \
+         echo "$(INSTALL_DATA) $(srcdir)/$$f $(DESTDIR)$(htmldir)/$$f"; \
+         $(INSTALL_DATA) $(srcdir)/$$f $(DESTDIR)$(htmldir)/$$f; \
+       done
+
+installdirs-javadoc1:
+       $(mkinstalldirs) $(DESTDIR)$(htmldir)/javadoc1
+       $(mkinstalldirs) $(DESTDIR)$(htmldir)/javadoc1/images
+
+uninstall-javadoc1:
+       @for f in $(JAVADOC1_FILES); do \
+         echo "$(RM) $(DESTDIR)$(htmldir)/$$f"; \
+         $(RM) $(DESTDIR)$(htmldir)/$$f; \
+       done
+
+# Special rules for Javadoc (JDK 1.2) documentation.
+
+all-javadoc2: $(srcdir)/javadoc2/index.html
+
+$(srcdir)/javadoc2/index.html: $(srcdir)/gnu/gettext/GettextResource.java
+       cd $(srcdir) && $(JAVADOC2) -d javadoc2 gnu/gettext/*.java
+
+install-javadoc2: all-javadoc2
+       $(mkinstalldirs) $(DESTDIR)$(htmldir)/javadoc2
+       $(mkinstalldirs) $(DESTDIR)$(htmldir)/javadoc2/gnu/gettext
+       @for f in $(JAVADOC2_FILES); do \
+         echo "$(INSTALL_DATA) $(srcdir)/$$f $(DESTDIR)$(htmldir)/$$f"; \
+         $(INSTALL_DATA) $(srcdir)/$$f $(DESTDIR)$(htmldir)/$$f; \
+       done
+
+installdirs-javadoc2:
+       $(mkinstalldirs) $(DESTDIR)$(htmldir)/javadoc2
+       $(mkinstalldirs) $(DESTDIR)$(htmldir)/javadoc2/gnu/gettext
+
+uninstall-javadoc2:
+       @for f in $(JAVADOC2_FILES); do \
+         echo "$(RM) $(DESTDIR)$(htmldir)/$$f"; \
+         $(RM) $(DESTDIR)$(htmldir)/$$f; \
+       done
+
 # One more automake bug.
 installdirs: installdirs-local
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
index 739393c668e34efd78af1b99d5a7a73c14815fcd..8c7a7883783d9a610860790a87bca68b9e819ed1 100644 (file)
@@ -67,6 +67,7 @@ CC = @CC@
 CLASSPATH = @CLASSPATH@
 CLASSPATH_SEPARATOR = @CLASSPATH_SEPARATOR@
 CROSS_COMPILING = @CROSS_COMPILING@
+CXX = @CXX@
 DATADIRNAME = @DATADIRNAME@
 DEPDIR = @DEPDIR@
 DLLTOOL = @DLLTOOL@
@@ -78,12 +79,19 @@ GENCAT = @GENCAT@
 GLIBC21 = @GLIBC21@
 GMSGFMT = @GMSGFMT@
 HAVE_GCJ = @HAVE_GCJ@
+HAVE_GCJ_IN_PATH = @HAVE_GCJ_IN_PATH@
 HAVE_GIJ = @HAVE_GIJ@
+HAVE_GIJ_IN_PATH = @HAVE_GIJ_IN_PATH@
+HAVE_JAVA = @HAVE_JAVA@
 HAVE_JAVAC = @HAVE_JAVAC@
-HAVE_JAVA_JVM = @HAVE_JAVA_JVM@
+HAVE_JAVAC_IN_PATH = @HAVE_JAVAC_IN_PATH@
+HAVE_JAVA_IN_PATH = @HAVE_JAVA_IN_PATH@
 HAVE_JIKES = @HAVE_JIKES@
+HAVE_JIKES_IN_PATH = @HAVE_JIKES_IN_PATH@
 HAVE_JRE = @HAVE_JRE@
+HAVE_JRE_IN_PATH = @HAVE_JRE_IN_PATH@
 HAVE_JVIEW = @HAVE_JVIEW@
+HAVE_JVIEW_IN_PATH = @HAVE_JVIEW_IN_PATH@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
 INSTOBJEXT = @INSTOBJEXT@
 INTLBISON = @INTLBISON@
index 38b0e7ef04a0893b4990d95a9193d51cc61598c7..c9c849f6d747c060cd7afa06f82c760b0f22cc3a 100644 (file)
@@ -67,6 +67,7 @@ CC = @CC@
 CLASSPATH = @CLASSPATH@
 CLASSPATH_SEPARATOR = @CLASSPATH_SEPARATOR@
 CROSS_COMPILING = @CROSS_COMPILING@
+CXX = @CXX@
 DATADIRNAME = @DATADIRNAME@
 DEPDIR = @DEPDIR@
 DLLTOOL = @DLLTOOL@
@@ -78,12 +79,19 @@ GENCAT = @GENCAT@
 GLIBC21 = @GLIBC21@
 GMSGFMT = @GMSGFMT@
 HAVE_GCJ = @HAVE_GCJ@
+HAVE_GCJ_IN_PATH = @HAVE_GCJ_IN_PATH@
 HAVE_GIJ = @HAVE_GIJ@
+HAVE_GIJ_IN_PATH = @HAVE_GIJ_IN_PATH@
+HAVE_JAVA = @HAVE_JAVA@
 HAVE_JAVAC = @HAVE_JAVAC@
-HAVE_JAVA_JVM = @HAVE_JAVA_JVM@
+HAVE_JAVAC_IN_PATH = @HAVE_JAVAC_IN_PATH@
+HAVE_JAVA_IN_PATH = @HAVE_JAVA_IN_PATH@
 HAVE_JIKES = @HAVE_JIKES@
+HAVE_JIKES_IN_PATH = @HAVE_JIKES_IN_PATH@
 HAVE_JRE = @HAVE_JRE@
+HAVE_JRE_IN_PATH = @HAVE_JRE_IN_PATH@
 HAVE_JVIEW = @HAVE_JVIEW@
+HAVE_JVIEW_IN_PATH = @HAVE_JVIEW_IN_PATH@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
 INSTOBJEXT = @INSTOBJEXT@
 INTLBISON = @INTLBISON@
@@ -132,8 +140,8 @@ backupfile.m4 c-bs-a.m4 codeset.m4 flex.m4 getline.m4 gettext.m4 \
 glibc21.m4 hostname.m4 iconv.m4 inttypes_h.m4 isc-posix.m4 javacomp.m4 \
 javaexec.m4 lcmessage.m4 libtool.m4 mbrtowc.m4 mbstate_t.m4 mbswidth.m4 \
 mkdtemp.m4 progtest.m4 setenv.m4 setlocale.m4 siginfo.m4 signalblocking.m4 \
-signed.m4 ssize_t.m4 stdbool.m4 tmpdir.m4 uintmax_t.m4 ulonglong.m4 \
-unionwait.m4
+signed.m4 ssize_t.m4 stdbool.m4 stdint_h.m4 tmpdir.m4 uintmax_t.m4 \
+ulonglong.m4 unionwait.m4
 
 subdir = m4
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
index 56e78989392263274059daac0817ffce6148e97a..46d5061b999aef6feb4cb6237652787260983d1d 100644 (file)
@@ -66,6 +66,7 @@ CC = @CC@
 CLASSPATH = @CLASSPATH@
 CLASSPATH_SEPARATOR = @CLASSPATH_SEPARATOR@
 CROSS_COMPILING = @CROSS_COMPILING@
+CXX = @CXX@
 DATADIRNAME = @DATADIRNAME@
 DEPDIR = @DEPDIR@
 DLLTOOL = @DLLTOOL@
@@ -77,12 +78,19 @@ GENCAT = @GENCAT@
 GLIBC21 = @GLIBC21@
 GMSGFMT = @GMSGFMT@
 HAVE_GCJ = @HAVE_GCJ@
+HAVE_GCJ_IN_PATH = @HAVE_GCJ_IN_PATH@
 HAVE_GIJ = @HAVE_GIJ@
+HAVE_GIJ_IN_PATH = @HAVE_GIJ_IN_PATH@
+HAVE_JAVA = @HAVE_JAVA@
 HAVE_JAVAC = @HAVE_JAVAC@
-HAVE_JAVA_JVM = @HAVE_JAVA_JVM@
+HAVE_JAVAC_IN_PATH = @HAVE_JAVAC_IN_PATH@
+HAVE_JAVA_IN_PATH = @HAVE_JAVA_IN_PATH@
 HAVE_JIKES = @HAVE_JIKES@
+HAVE_JIKES_IN_PATH = @HAVE_JIKES_IN_PATH@
 HAVE_JRE = @HAVE_JRE@
+HAVE_JRE_IN_PATH = @HAVE_JRE_IN_PATH@
 HAVE_JVIEW = @HAVE_JVIEW@
+HAVE_JVIEW_IN_PATH = @HAVE_JVIEW_IN_PATH@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
 INSTOBJEXT = @INSTOBJEXT@
 INTLBISON = @INTLBISON@
index a25f24c89823c798fc82a4e905ba063cb7a7283c..ac3e715d50fad0812ee0dc35eb4d6e1f50941320 100644 (file)
@@ -10,7 +10,7 @@
 .\"   GNU gettext source code and manual
 .\"   LI18NUX 2000 Globalization Specification
 .\"
-.TH BIND_TEXTDOMAIN_CODESET 3 "May 2001" "GNU gettext 0.11"
+.TH BIND_TEXTDOMAIN_CODESET 3 "May 2001" "GNU gettext 0.11-pre2"
 .SH NAME
 bind_textdomain_codeset \- set encoding of message translations
 .SH SYNOPSIS
index cfbf5a7ba57f6a66f31b8558b64b5f6652ea003f..44c27141b0d4835bcf98edc263998ceb5ad19a14 100644 (file)
@@ -10,7 +10,7 @@
 .\"   GNU gettext source code and manual
 .\"   LI18NUX 2000 Globalization Specification
 .\"
-.TH BINDTEXTDOMAIN 3 "May 2001" "GNU gettext 0.11"
+.TH BINDTEXTDOMAIN 3 "May 2001" "GNU gettext 0.11-pre2"
 .SH NAME
 bindtextdomain \- set directory containing message catalogs
 .SH SYNOPSIS
index c721ba53c7c389a757daac2ae4fa2e394212e8d0..7569257cd266c3fd2aa85f85caed929eb5d6c946 100644 (file)
@@ -10,7 +10,7 @@
 .\"   GNU gettext source code and manual
 .\"   LI18NUX 2000 Globalization Specification
 .\"
-.TH GETTEXT 3 "May 2001" "GNU gettext 0.11"
+.TH GETTEXT 3 "May 2001" "GNU gettext 0.11-pre2"
 .SH NAME
 gettext, dgettext, dcgettext \- translate message
 .SH SYNOPSIS
index e0c561d27222a7c17d44cab5150775b9b0882515..88ab244ad25fce5271331c74d628e3efcefb24ba 100644 (file)
@@ -1,5 +1,5 @@
 .\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.24.
-.TH MSGATTRIB "1" "September 2001" "GNU gettext 0.11" GNU
+.TH MSGATTRIB "1" "November 2001" "GNU gettext 0.11-pre1" GNU
 .SH NAME
 msgattrib \- attribute matching and manipulation on message catalog
 .SH SYNOPSIS
@@ -93,7 +93,7 @@ write out strict Uniforum conforming .po file
 set output page width
 .TP
 \fB\-s\fR, \fB\-\-sort\-output\fR
-generate sorted output and remove duplicates
+generate sorted output
 .TP
 \fB\-F\fR, \fB\-\-sort\-by\-file\fR
 sort output by file location
index cd13cb1fa9f468d12d1ec95d9fbbe66f729470fa..33d0c7728ba80eeffddd677fa9c2ba762ab79e6b 100644 (file)
@@ -382,7 +382,7 @@ set output page width</td></table>
        cols="2" cellspacing="0" cellpadding="0">
 <tr valign="top" align="left">
 <td width="21%"></td><td width="79%">
-generate sorted output and remove duplicates</td></table>
+generate sorted output</td></table>
 
 <table width="100%" border=0 rules="none" frame="void"
        cols="2" cellspacing="0" cellpadding="0">
index d9c62b3bd5b30c523d2c13e277f38e3b14082d64..d0754c668013fc701caf753b92badbf2b0d1cbe8 100644 (file)
@@ -1,9 +1,9 @@
 .\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.24.
-.TH LT-MSGCAT "1" "June 2001" "GNU gettext 0.11" GNU
+.TH MSGCAT "1" "November 2001" "GNU gettext 0.11-pre1" GNU
 .SH NAME
 msgcat \- combines several message catalogs
 .SH SYNOPSIS
-.B lt-msgcat
+.B msgcat
 [\fIOPTION\fR] [\fIINPUTFILE\fR]...
 .SH DESCRIPTION
 .\" Add any additional description here
@@ -47,7 +47,7 @@ set
 .TP
 ->, \fB\-\-more\-than\fR=\fINUMBER\fR
 print messages with more than this many
-definitions, defaults to 1 if not set
+definitions, defaults to 0 if not set
 .TP
 \fB\-u\fR, \fB\-\-unique\fR
 shorthand for \fB\-\-less\-than\fR=\fI2\fR, requests
@@ -86,7 +86,7 @@ write out strict Uniforum conforming .po file
 set output page width
 .TP
 \fB\-s\fR, \fB\-\-sort\-output\fR
-generate sorted output and remove duplicates
+generate sorted output
 .TP
 \fB\-F\fR, \fB\-\-sort\-by\-file\fR
 sort output by file location
@@ -100,7 +100,7 @@ output version information and exit
 .SH AUTHOR
 Written by Bruno Haible.
 .SH "REPORTING BUGS"
-Report bugs to <bug-gnu-utils@gnu.org>.
+Report bugs to <bug-gnu-gettext@gnu.org>.
 .SH COPYRIGHT
 Copyright \(co 2001 Free Software Foundation, Inc.
 .br
@@ -108,13 +108,13 @@ This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 .SH "SEE ALSO"
 The full documentation for
-.B lt-msgcat
+.B msgcat
 is maintained as a Texinfo manual.  If the
 .B info
 and
-.B lt-msgcat
+.B msgcat
 programs are properly installed at your site, the command
 .IP
-.B info lt-msgcat
+.B info msgcat
 .PP
 should give you access to the complete manual.
index 0d0897ca7a569b7d3c25c414b9ba69d78e08de66..dc5cd91baba558f82f7ad84557e94b0f2ec79b00 100644 (file)
@@ -2,11 +2,11 @@
 <head>
 <meta name="generator" content="groff -Thtml, see www.gnu.org">
 <meta name="Content-Style" content="text/css">
-<title>LT-MSGCAT</title>
+<title>MSGCAT</title>
 </head>
 <body>
 
-<h1 align=center>LT-MSGCAT</h1>
+<h1 align=center>MSGCAT</h1>
 <a href="#NAME">NAME</a><br>
 <a href="#SYNOPSIS">SYNOPSIS</a><br>
 <a href="#DESCRIPTION">DESCRIPTION</a><br>
@@ -17,7 +17,6 @@
 
 <hr>
 <!-- Creator     : groff version 1.17 -->
-<!-- CreationDate: Tue Jun 12 14:59:39 2001 -->
 <a name="NAME"></a>
 <h2>NAME</h2>
 <table width="100%" border=0 rules="none" frame="void"
@@ -32,7 +31,7 @@ msgcat - combines several message catalogs</td></table>
        cols="2" cellspacing="0" cellpadding="0">
 <tr valign="top" align="left">
 <td width="10%"></td><td width="90%">
-<b>lt-msgcat</b> [<i>OPTION</i>]
+<b>msgcat</b> [<i>OPTION</i>]
 [<i>INPUTFILE</i>]...</td></table>
 <a name="DESCRIPTION"></a>
 <h2>DESCRIPTION</h2>
@@ -164,7 +163,7 @@ defaults to infinite if not set</td></table>
 <tr valign="top" align="left">
 <td width="21%"></td><td width="79%">
 print messages with more than this many definitions,
-defaults to 1 if not set</td></table>
+defaults to 0 if not set</td></table>
 
 <table width="100%" border=0 rules="none" frame="void"
        cols="2" cellspacing="0" cellpadding="0">
@@ -316,7 +315,7 @@ set output page width</td></table>
        cols="2" cellspacing="0" cellpadding="0">
 <tr valign="top" align="left">
 <td width="21%"></td><td width="79%">
-generate sorted output and remove duplicates</td></table>
+generate sorted output</td></table>
 
 <table width="100%" border=0 rules="none" frame="void"
        cols="2" cellspacing="0" cellpadding="0">
@@ -374,7 +373,7 @@ Written by Bruno Haible.</td></table>
        cols="2" cellspacing="0" cellpadding="0">
 <tr valign="top" align="left">
 <td width="10%"></td><td width="90%">
-Report bugs to &lt;bug-gnu-utils@gnu.org&gt;.</td></table>
+Report bugs to &lt;bug-gnu-gettext@gnu.org&gt;.</td></table>
 <a name="COPYRIGHT"></a>
 <h2>COPYRIGHT</h2>
 
@@ -394,8 +393,8 @@ PURPOSE.</td></table>
        cols="2" cellspacing="0" cellpadding="0">
 <tr valign="top" align="left">
 <td width="10%"></td><td width="90%">
-The full documentation for <b>lt-msgcat</b> is maintained as
-a Texinfo manual. If the <b>info</b> and <b>lt-msgcat</b>
+The full documentation for <b>msgcat</b> is maintained as a
+Texinfo manual. If the <b>info</b> and <b>msgcat</b>
 programs are properly installed at your site, the
 command</td></table>
 
@@ -403,7 +402,7 @@ command</td></table>
        cols="2" cellspacing="0" cellpadding="0">
 <tr valign="top" align="left">
 <td width="21%"></td><td width="79%">
-<b>info lt-msgcat</b></td></table>
+<b>info msgcat</b></td></table>
 
 <table width="100%" border=0 rules="none" frame="void"
        cols="2" cellspacing="0" cellpadding="0">
index 52b0259d6fa54e76d5cb964a131bbd9ef2ed47dc..397e61c204ce41fbb2f632c26613b9f1070df2be 100644 (file)
@@ -1,5 +1,5 @@
 .\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.24.
-.TH MSGCMP "1" "June 2001" "GNU gettext 0.11" GNU
+.TH MSGCMP "1" "November 2001" "GNU gettext 0.11-pre1" GNU
 .SH NAME
 msgcmp \- compare message catalog and template
 .SH SYNOPSIS
@@ -40,7 +40,7 @@ output version information and exit
 .SH AUTHOR
 Written by Peter Miller.
 .SH "REPORTING BUGS"
-Report bugs to <bug-gnu-utils@gnu.org>.
+Report bugs to <bug-gnu-gettext@gnu.org>.
 .SH COPYRIGHT
 Copyright \(co 1995-1998, 2000, 2001 Free Software Foundation, Inc.
 .br
index 3f2de2fa5dbae0388e8dc0ee45689b7869ad89fc..8f65fee721b42a335b27ed9fa343cfc3dbdbb830 100644 (file)
@@ -17,7 +17,6 @@
 
 <hr>
 <!-- Creator     : groff version 1.17 -->
-<!-- CreationDate: Tue Jun 12 14:59:36 2001 -->
 <a name="NAME"></a>
 <h2>NAME</h2>
 <table width="100%" border=0 rules="none" frame="void"
@@ -161,7 +160,7 @@ Written by Peter Miller.</td></table>
        cols="2" cellspacing="0" cellpadding="0">
 <tr valign="top" align="left">
 <td width="10%"></td><td width="90%">
-Report bugs to &lt;bug-gnu-utils@gnu.org&gt;.</td></table>
+Report bugs to &lt;bug-gnu-gettext@gnu.org&gt;.</td></table>
 <a name="COPYRIGHT"></a>
 <h2>COPYRIGHT</h2>
 
index adf4c44a110548571eb04978664cd8862ff8a6a9..b51637f235d366c4cba686a94aea8c26c46d0e2d 100644 (file)
@@ -1,5 +1,5 @@
 .\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.24.
-.TH MSGCOMM "1" "June 2001" "GNU gettext 0.11" GNU
+.TH MSGCOMM "1" "November 2001" "GNU gettext 0.11-pre1" GNU
 .SH NAME
 msgcomm \- match two message catalogs
 .SH SYNOPSIS
@@ -78,7 +78,7 @@ write out strict Uniforum conforming .po file
 set output page width
 .TP
 \fB\-s\fR, \fB\-\-sort\-output\fR
-generate sorted output and remove duplicates
+generate sorted output
 .TP
 \fB\-F\fR, \fB\-\-sort\-by\-file\fR
 sort output by file location
@@ -95,7 +95,7 @@ output version information and exit
 .SH AUTHOR
 Written by Peter Miller.
 .SH "REPORTING BUGS"
-Report bugs to <bug-gnu-utils@gnu.org>.
+Report bugs to <bug-gnu-gettext@gnu.org>.
 .SH COPYRIGHT
 Copyright \(co 1995-1998, 2000, 2001 Free Software Foundation, Inc.
 .br
index a83be12e81efcf4e050a2f76e630840e672566e1..72c8e3456443390b69cd47cc159a17f98ccc994f 100644 (file)
@@ -17,7 +17,6 @@
 
 <hr>
 <!-- Creator     : groff version 1.17 -->
-<!-- CreationDate: Tue Jun 12 14:59:40 2001 -->
 <a name="NAME"></a>
 <h2>NAME</h2>
 <table width="100%" border=0 rules="none" frame="void"
@@ -289,7 +288,7 @@ set output page width</td></table>
        cols="2" cellspacing="0" cellpadding="0">
 <tr valign="top" align="left">
 <td width="21%"></td><td width="79%">
-generate sorted output and remove duplicates</td></table>
+generate sorted output</td></table>
 
 <table width="100%" border=0 rules="none" frame="void"
        cols="2" cellspacing="0" cellpadding="0">
@@ -360,7 +359,7 @@ Written by Peter Miller.</td></table>
        cols="2" cellspacing="0" cellpadding="0">
 <tr valign="top" align="left">
 <td width="10%"></td><td width="90%">
-Report bugs to &lt;bug-gnu-utils@gnu.org&gt;.</td></table>
+Report bugs to &lt;bug-gnu-gettext@gnu.org&gt;.</td></table>
 <a name="COPYRIGHT"></a>
 <h2>COPYRIGHT</h2>
 
index f2713a7d18616cbb87b518e52427346523610728..319368e27cfa7d92fc2d7260bffdc075c14cd75c 100644 (file)
@@ -1,9 +1,9 @@
 .\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.24.
-.TH LT-MSGCONV "1" "June 2001" "GNU gettext 0.11" GNU
+.TH MSGCONV "1" "November 2001" "GNU gettext 0.11-pre1" GNU
 .SH NAME
 msgconv \- character set conversion for message catalog
 .SH SYNOPSIS
-.B lt-msgconv
+.B msgconv
 [\fIOPTION\fR] [\fIINPUTFILE\fR]
 .SH DESCRIPTION
 .\" Add any additional description here
@@ -60,7 +60,7 @@ strict Uniforum output style
 set output page width
 .TP
 \fB\-s\fR, \fB\-\-sort\-output\fR
-generate sorted output and remove duplicates
+generate sorted output
 .TP
 \fB\-F\fR, \fB\-\-sort\-by\-file\fR
 sort output by file location
@@ -74,7 +74,7 @@ output version information and exit
 .SH AUTHOR
 Written by Bruno Haible.
 .SH "REPORTING BUGS"
-Report bugs to <bug-gnu-utils@gnu.org>.
+Report bugs to <bug-gnu-gettext@gnu.org>.
 .SH COPYRIGHT
 Copyright \(co 2001 Free Software Foundation, Inc.
 .br
@@ -82,13 +82,13 @@ This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 .SH "SEE ALSO"
 The full documentation for
-.B lt-msgconv
+.B msgconv
 is maintained as a Texinfo manual.  If the
 .B info
 and
-.B lt-msgconv
+.B msgconv
 programs are properly installed at your site, the command
 .IP
-.B info lt-msgconv
+.B info msgconv
 .PP
 should give you access to the complete manual.
index dbfbe28dacfcaf2f1c8e430bbf4769eddaaaa6e1..5e9e9a52fb87fc3a086395f224c33542c5bb37ff 100644 (file)
@@ -2,11 +2,11 @@
 <head>
 <meta name="generator" content="groff -Thtml, see www.gnu.org">
 <meta name="Content-Style" content="text/css">
-<title>LT-MSGCONV</title>
+<title>MSGCONV</title>
 </head>
 <body>
 
-<h1 align=center>LT-MSGCONV</h1>
+<h1 align=center>MSGCONV</h1>
 <a href="#NAME">NAME</a><br>
 <a href="#SYNOPSIS">SYNOPSIS</a><br>
 <a href="#DESCRIPTION">DESCRIPTION</a><br>
@@ -17,7 +17,6 @@
 
 <hr>
 <!-- Creator     : groff version 1.17 -->
-<!-- CreationDate: Tue Jun 12 14:59:41 2001 -->
 <a name="NAME"></a>
 <h2>NAME</h2>
 <table width="100%" border=0 rules="none" frame="void"
@@ -32,7 +31,7 @@ msgconv - character set conversion for message catalog</td></table>
        cols="2" cellspacing="0" cellpadding="0">
 <tr valign="top" align="left">
 <td width="10%"></td><td width="90%">
-<b>lt-msgconv</b> [<i>OPTION</i>]
+<b>msgconv</b> [<i>OPTION</i>]
 [<i>INPUTFILE</i>]</td></table>
 <a name="DESCRIPTION"></a>
 <h2>DESCRIPTION</h2>
@@ -250,7 +249,7 @@ set output page width</td></table>
        cols="2" cellspacing="0" cellpadding="0">
 <tr valign="top" align="left">
 <td width="21%"></td><td width="79%">
-generate sorted output and remove duplicates</td></table>
+generate sorted output</td></table>
 
 <table width="100%" border=0 rules="none" frame="void"
        cols="2" cellspacing="0" cellpadding="0">
@@ -308,7 +307,7 @@ Written by Bruno Haible.</td></table>
        cols="2" cellspacing="0" cellpadding="0">
 <tr valign="top" align="left">
 <td width="10%"></td><td width="90%">
-Report bugs to &lt;bug-gnu-utils@gnu.org&gt;.</td></table>
+Report bugs to &lt;bug-gnu-gettext@gnu.org&gt;.</td></table>
 <a name="COPYRIGHT"></a>
 <h2>COPYRIGHT</h2>
 
@@ -328,16 +327,16 @@ PURPOSE.</td></table>
        cols="2" cellspacing="0" cellpadding="0">
 <tr valign="top" align="left">
 <td width="10%"></td><td width="90%">
-The full documentation for <b>lt-msgconv</b> is maintained
-as a Texinfo manual. If the <b>info</b> and
-<b>lt-msgconv</b> programs are properly installed at your
-site, the command</td></table>
+The full documentation for <b>msgconv</b> is maintained as a
+Texinfo manual. If the <b>info</b> and <b>msgconv</b>
+programs are properly installed at your site, the
+command</td></table>
 
 <table width="100%" border=0 rules="none" frame="void"
        cols="2" cellspacing="0" cellpadding="0">
 <tr valign="top" align="left">
 <td width="21%"></td><td width="79%">
-<b>info lt-msgconv</b></td></table>
+<b>info msgconv</b></td></table>
 
 <table width="100%" border=0 rules="none" frame="void"
        cols="2" cellspacing="0" cellpadding="0">
index b4d0bbd3586867e9db97d4811b00d4d49def6e29..c8a3ad3636c054ce86fa418705c6923520f86fcf 100644 (file)
@@ -1,9 +1,9 @@
 .\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.24.
-.TH LT-MSGEN "1" "June 2001" "GNU gettext 0.11" GNU
+.TH MSGEN "1" "November 2001" "GNU gettext 0.11-pre1" GNU
 .SH NAME
 msgen \- create English message catalog
 .SH SYNOPSIS
-.B lt-msgen
+.B msgen
 [\fIOPTION\fR] \fIINPUTFILE\fR
 .SH DESCRIPTION
 .\" Add any additional description here
@@ -57,7 +57,7 @@ strict Uniforum output style
 set output page width
 .TP
 \fB\-s\fR, \fB\-\-sort\-output\fR
-generate sorted output and remove duplicates
+generate sorted output
 .TP
 \fB\-F\fR, \fB\-\-sort\-by\-file\fR
 sort output by file location
@@ -71,7 +71,7 @@ output version information and exit
 .SH AUTHOR
 Written by Bruno Haible.
 .SH "REPORTING BUGS"
-Report bugs to <bug-gnu-utils@gnu.org>.
+Report bugs to <bug-gnu-gettext@gnu.org>.
 .SH COPYRIGHT
 Copyright \(co 2001 Free Software Foundation, Inc.
 .br
@@ -79,13 +79,13 @@ This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 .SH "SEE ALSO"
 The full documentation for
-.B lt-msgen
+.B msgen
 is maintained as a Texinfo manual.  If the
 .B info
 and
-.B lt-msgen
+.B msgen
 programs are properly installed at your site, the command
 .IP
-.B info lt-msgen
+.B info msgen
 .PP
 should give you access to the complete manual.
index a0fcdd881de420b83b71910d2a78a34de0da4c8e..9cacbc496b6e7af529b0844164910f6f2e7f7d17 100644 (file)
@@ -2,11 +2,11 @@
 <head>
 <meta name="generator" content="groff -Thtml, see www.gnu.org">
 <meta name="Content-Style" content="text/css">
-<title>LT-MSGEN</title>
+<title>MSGEN</title>
 </head>
 <body>
 
-<h1 align=center>LT-MSGEN</h1>
+<h1 align=center>MSGEN</h1>
 <a href="#NAME">NAME</a><br>
 <a href="#SYNOPSIS">SYNOPSIS</a><br>
 <a href="#DESCRIPTION">DESCRIPTION</a><br>
@@ -17,7 +17,6 @@
 
 <hr>
 <!-- Creator     : groff version 1.17 -->
-<!-- CreationDate: Tue Jun 12 14:59:41 2001 -->
 <a name="NAME"></a>
 <h2>NAME</h2>
 <table width="100%" border=0 rules="none" frame="void"
@@ -32,8 +31,7 @@ msgen - create English message catalog</td></table>
        cols="2" cellspacing="0" cellpadding="0">
 <tr valign="top" align="left">
 <td width="10%"></td><td width="90%">
-<b>lt-msgen</b> [<i>OPTION</i>]
-<i>INPUTFILE</i></td></table>
+<b>msgen</b> [<i>OPTION</i>] <i>INPUTFILE</i></td></table>
 <a name="DESCRIPTION"></a>
 <h2>DESCRIPTION</h2>
 
@@ -227,7 +225,7 @@ set output page width</td></table>
        cols="2" cellspacing="0" cellpadding="0">
 <tr valign="top" align="left">
 <td width="21%"></td><td width="79%">
-generate sorted output and remove duplicates</td></table>
+generate sorted output</td></table>
 
 <table width="100%" border=0 rules="none" frame="void"
        cols="2" cellspacing="0" cellpadding="0">
@@ -285,7 +283,7 @@ Written by Bruno Haible.</td></table>
        cols="2" cellspacing="0" cellpadding="0">
 <tr valign="top" align="left">
 <td width="10%"></td><td width="90%">
-Report bugs to &lt;bug-gnu-utils@gnu.org&gt;.</td></table>
+Report bugs to &lt;bug-gnu-gettext@gnu.org&gt;.</td></table>
 <a name="COPYRIGHT"></a>
 <h2>COPYRIGHT</h2>
 
@@ -305,16 +303,16 @@ PURPOSE.</td></table>
        cols="2" cellspacing="0" cellpadding="0">
 <tr valign="top" align="left">
 <td width="10%"></td><td width="90%">
-The full documentation for <b>lt-msgen</b> is maintained as
-a Texinfo manual. If the <b>info</b> and <b>lt-msgen</b>
-programs are properly installed at your site, the
+The full documentation for <b>msgen</b> is maintained as a
+Texinfo manual. If the <b>info</b> and <b>msgen</b> programs
+are properly installed at your site, the
 command</td></table>
 
 <table width="100%" border=0 rules="none" frame="void"
        cols="2" cellspacing="0" cellpadding="0">
 <tr valign="top" align="left">
 <td width="21%"></td><td width="79%">
-<b>info lt-msgen</b></td></table>
+<b>info msgen</b></td></table>
 
 <table width="100%" border=0 rules="none" frame="void"
        cols="2" cellspacing="0" cellpadding="0">
index 29c69ecc3859ce5bf62c0ffce84f360db4ec63f1..18e315eb80d6dc1baf7e75519648a5cec0c53411 100644 (file)
@@ -1,5 +1,5 @@
 .\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.24.
-.TH MSGEXEC "1" "September 2001" "GNU gettext 0.11" GNU
+.TH MSGEXEC "1" "November 2001" "GNU gettext 0.11-pre1" GNU
 .SH NAME
 msgexec \- edit translations of message catalog
 .SH SYNOPSIS
@@ -68,7 +68,7 @@ strict Uniforum output style
 set output page width
 .TP
 \fB\-s\fR, \fB\-\-sort\-output\fR
-generate sorted output and remove duplicates
+generate sorted output
 .TP
 \fB\-F\fR, \fB\-\-sort\-by\-file\fR
 sort output by file location
index 7179580a1b07f3be2cc7a927d9c982ec7fac0fab..613f4a11375d42bcc2a32dae16f8b5ee620fe8fb 100644 (file)
@@ -276,7 +276,7 @@ set output page width</td></table>
        cols="2" cellspacing="0" cellpadding="0">
 <tr valign="top" align="left">
 <td width="21%"></td><td width="79%">
-generate sorted output and remove duplicates</td></table>
+generate sorted output</td></table>
 
 <table width="100%" border=0 rules="none" frame="void"
        cols="2" cellspacing="0" cellpadding="0">
index cbd6e97b75c99fdcb3622f4d745626dafc7398bd..69de71d11d65b867358a982f76ddd669716c8ac6 100644 (file)
@@ -1,5 +1,5 @@
 .\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.24.
-.TH MSGFMT "1" "June 2001" "GNU gettext 0.11" GNU
+.TH MSGFMT "1" "November 2001" "GNU gettext 0.11-pre1" GNU
 .SH NAME
 msgfmt \- compile message catalog to binary format
 .SH SYNOPSIS
@@ -20,6 +20,13 @@ input files
 add DIRECTORY to list for input files search
 .PP
 If input file is -, standard input is read.
+.SS "Operation mode:"
+.TP
+\fB\-j\fR, \fB\-\-java\fR
+Java mode: generate a Java ResourceBundle class
+.TP
+\fB\-\-java2\fR
+like \fB\-\-java\fR, and assume Java2 (JDK 1.2 or higher)
 .SS "Output file location:"
 .TP
 \fB\-o\fR, \fB\-\-output\-file\fR=\fIFILE\fR
@@ -29,10 +36,42 @@ write output to specified file
 enable strict Uniforum mode
 .PP
 If output file is -, output is written to standard output.
+.SS "Output file location in Java mode:"
+.TP
+\fB\-r\fR, \fB\-\-resource\fR=\fIRESOURCE\fR
+resource name
+.TP
+\fB\-l\fR, \fB\-\-locale\fR=\fILOCALE\fR
+locale name, either language or language_COUNTRY
+.TP
+\fB\-d\fR DIRECTORY
+base directory of classes directory hierarchy
+.PP
+The class name is determined by appending the locale name to the resource name,
+separated with an underscore.  The \fB\-d\fR option is mandatory.  The class is
+written under the specified directory.
 .SS "Input file interpretation:"
 .TP
 \fB\-c\fR, \fB\-\-check\fR
-perform language dependent checks on strings
+perform all the checks implied by
+\fB\-\-check\-format\fR, \fB\-\-check\-header\fR, \fB\-\-check\-domain\fR
+.TP
+\fB\-\-check\-format\fR
+check language dependent format strings
+.TP
+\fB\-\-check\-header\fR
+verify presence and contents of the header entry
+.TP
+\fB\-\-check\-domain\fR
+check for conflicts between domain directives
+and the \fB\-\-output\-file\fR option
+.TP
+\fB\-C\fR, \fB\-\-check\-compatibility\fR
+check that GNU msgfmt behaves like X/Open msgfmt
+.TP
+\fB\-\-check\-accelerators\fR[=\fICHAR\fR]
+check presence of keyboard accelerators for
+menu items
 .TP
 \fB\-f\fR, \fB\-\-use\-fuzzy\fR
 use fuzzy entries in output
@@ -55,13 +94,11 @@ output version information and exit
 print statistics about translations
 .TP
 \fB\-v\fR, \fB\-\-verbose\fR
-list input file anomalies
-.PP
-Giving the \fB\-v\fR option more than once increases the verbosity level.
+increase verbosity level
 .SH AUTHOR
 Written by Ulrich Drepper.
 .SH "REPORTING BUGS"
-Report bugs to <bug-gnu-utils@gnu.org>.
+Report bugs to <bug-gnu-gettext@gnu.org>.
 .SH COPYRIGHT
 Copyright \(co 1995-1998, 2000, 2001 Free Software Foundation, Inc.
 .br
index 796807397f058e9cff559a32e7674258253cfa1c..af1423cf278742e12a2f1d13485e57e0cd7f5950 100644 (file)
@@ -17,7 +17,6 @@
 
 <hr>
 <!-- Creator     : groff version 1.17 -->
-<!-- CreationDate: Tue Jun 12 14:59:37 2001 -->
 <a name="NAME"></a>
 <h2>NAME</h2>
 <table width="100%" border=0 rules="none" frame="void"
@@ -87,6 +86,37 @@ add DIRECTORY to list for input files search</td></table>
 <td width="10%"></td><td width="90%">
 If input file is -, standard input is read.</td></table>
 
+<table width="100%" border=0 rules="none" frame="void"
+       cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="4%"></td><td width="96%">
+<b>Operation mode:</b></td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+       cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="10%"></td><td width="90%">
+<b>-j</b>, <b>--java</b></td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+       cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="21%"></td><td width="79%">
+Java mode: generate a Java ResourceBundle class</td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+       cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="10%"></td><td width="90%">
+<b>--java2</b></td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+       cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="21%"></td><td width="79%">
+like <b>--java</b>, and assume Java2 (JDK 1.2 or
+higher)</td></table>
+
 <table width="100%" border=0 rules="none" frame="void"
        cols="2" cellspacing="0" cellpadding="0">
 <tr valign="top" align="left">
@@ -124,6 +154,58 @@ enable strict Uniforum mode</td></table>
 If output file is -, output is written to standard
 output.</td></table>
 
+<table width="100%" border=0 rules="none" frame="void"
+       cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="4%"></td><td width="96%">
+<b>Output file location in Java mode:</b></td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+       cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="10%"></td><td width="90%">
+<b>-r</b>, <b>--resource</b>=<i>RESOURCE</i></td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+       cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="21%"></td><td width="79%">
+resource name</td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+       cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="10%"></td><td width="90%">
+<b>-l</b>, <b>--locale</b>=<i>LOCALE</i></td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+       cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="21%"></td><td width="79%">
+locale name, either language or
+language_COUNTRY</td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+       cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="10%"></td><td width="90%">
+<b>-d</b> DIRECTORY</td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+       cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="21%"></td><td width="79%">
+base directory of classes directory hierarchy</td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+       cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="10%"></td><td width="90%">
+The class name is determined by appending the locale name to
+the resource name, separated with an underscore. The
+<b>-d</b> option is mandatory. The class is written under
+the specified directory.</td></table>
+
 <table width="100%" border=0 rules="none" frame="void"
        cols="2" cellspacing="0" cellpadding="0">
 <tr valign="top" align="left">
@@ -140,7 +222,72 @@ output.</td></table>
        cols="2" cellspacing="0" cellpadding="0">
 <tr valign="top" align="left">
 <td width="21%"></td><td width="79%">
-perform language dependent checks on strings</td></table>
+perform all the checks implied by <b>--check-format</b>,
+<b>--check-header</b>, <b>--check-domain</b></td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+       cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="10%"></td><td width="90%">
+<b>--check-format</b></td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+       cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="21%"></td><td width="79%">
+check language dependent format strings</td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+       cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="10%"></td><td width="90%">
+<b>--check-header</b></td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+       cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="21%"></td><td width="79%">
+verify presence and contents of the header
+entry</td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+       cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="10%"></td><td width="90%">
+<b>--check-domain</b></td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+       cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="21%"></td><td width="79%">
+check for conflicts between domain directives and the
+<b>--output-file</b> option</td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+       cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="10%"></td><td width="90%">
+<b>-C</b>, <b>--check-compatibility</b></td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+       cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="21%"></td><td width="79%">
+check that GNU msgfmt behaves like X/Open
+msgfmt</td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+       cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="10%"></td><td width="90%">
+<b>--check-accelerators</b>[=<i>CHAR</i>]</td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+       cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="21%"></td><td width="79%">
+check presence of keyboard accelerators for menu
+items</td></table>
 
 <table width="100%" border=0 rules="none" frame="void"
        cols="2" cellspacing="0" cellpadding="0">
@@ -236,14 +383,7 @@ print statistics about translations</td></table>
        cols="2" cellspacing="0" cellpadding="0">
 <tr valign="top" align="left">
 <td width="21%"></td><td width="79%">
-list input file anomalies</td></table>
-
-<table width="100%" border=0 rules="none" frame="void"
-       cols="2" cellspacing="0" cellpadding="0">
-<tr valign="top" align="left">
-<td width="10%"></td><td width="90%">
-Giving the <b>-v</b> option more than once increases the
-verbosity level.</td></table>
+increase verbosity level</td></table>
 <a name="AUTHOR"></a>
 <h2>AUTHOR</h2>
 
@@ -259,7 +399,7 @@ Written by Ulrich Drepper.</td></table>
        cols="2" cellspacing="0" cellpadding="0">
 <tr valign="top" align="left">
 <td width="10%"></td><td width="90%">
-Report bugs to &lt;bug-gnu-utils@gnu.org&gt;.</td></table>
+Report bugs to &lt;bug-gnu-gettext@gnu.org&gt;.</td></table>
 <a name="COPYRIGHT"></a>
 <h2>COPYRIGHT</h2>
 
index c3ac11908a6ac4e9574cb0f775811a9942e0a9a0..daf75d2bf0eebcc3e4dafc44cf6529b1bb2f29a0 100644 (file)
@@ -1,9 +1,9 @@
 .\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.24.
-.TH LT-MSGGREP "1" "June 2001" "GNU gettext 0.11" GNU
+.TH MSGGREP "1" "November 2001" "GNU gettext 0.11-pre1" GNU
 .SH NAME
 msggrep \- pattern matching on message catalog
 .SH SYNOPSIS
-.B lt-msggrep
+.B msggrep
 [\fIOPTION\fR] [\fIINPUTFILE\fR]
 .SH DESCRIPTION
 .\" Add any additional description here
@@ -36,6 +36,13 @@ A message is selected if it comes from one of the specified source files,
 or if it comes from one of the specified domains,
 or if \fB\-K\fR is given and its key (msgid or msgid_plural) matches MSGID-PATTERN,
 or if \fB\-T\fR is given and its translation (msgstr) matches MSGSTR-PATTERN.
+.PP
+When more than one selection criterion is specified, the set of selected
+messages is the union of the selected messages of each criterion.
+.SS "MSGID-PATTERN or MSGSTR-PATTERN syntax:"
+.IP
+[-E | \fB\-F]\fR [-e PATTERN | \fB\-f\fR FILE]...
+.PP
 PATTERNs are basic regular expressions by default, or extended regular
 expressions if \fB\-E\fR is given, or fixed strings if \fB\-F\fR is given.
 .TP
@@ -92,7 +99,7 @@ strict Uniforum output style
 set output page width
 .TP
 \fB\-\-sort\-output\fR
-generate sorted output and remove duplicates
+generate sorted output
 .TP
 \fB\-\-sort\-by\-file\fR
 sort output by file location
@@ -106,7 +113,7 @@ output version information and exit
 .SH AUTHOR
 Written by Bruno Haible.
 .SH "REPORTING BUGS"
-Report bugs to <bug-gnu-utils@gnu.org>.
+Report bugs to <bug-gnu-gettext@gnu.org>.
 .SH COPYRIGHT
 Copyright \(co 2001 Free Software Foundation, Inc.
 .br
@@ -114,13 +121,13 @@ This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 .SH "SEE ALSO"
 The full documentation for
-.B lt-msggrep
+.B msggrep
 is maintained as a Texinfo manual.  If the
 .B info
 and
-.B lt-msggrep
+.B msggrep
 programs are properly installed at your site, the command
 .IP
-.B info lt-msggrep
+.B info msggrep
 .PP
 should give you access to the complete manual.
index e822dcc2f36763c8b1fb91544212067ac35fc3ad..4e253e078497933e9a93b6d35208db593a639c70 100644 (file)
@@ -2,11 +2,11 @@
 <head>
 <meta name="generator" content="groff -Thtml, see www.gnu.org">
 <meta name="Content-Style" content="text/css">
-<title>LT-MSGGREP</title>
+<title>MSGGREP</title>
 </head>
 <body>
 
-<h1 align=center>LT-MSGGREP</h1>
+<h1 align=center>MSGGREP</h1>
 <a href="#NAME">NAME</a><br>
 <a href="#SYNOPSIS">SYNOPSIS</a><br>
 <a href="#DESCRIPTION">DESCRIPTION</a><br>
@@ -17,7 +17,6 @@
 
 <hr>
 <!-- Creator     : groff version 1.17 -->
-<!-- CreationDate: Tue Jun 12 14:59:42 2001 -->
 <a name="NAME"></a>
 <h2>NAME</h2>
 <table width="100%" border=0 rules="none" frame="void"
@@ -32,7 +31,7 @@ msggrep - pattern matching on message catalog</td></table>
        cols="2" cellspacing="0" cellpadding="0">
 <tr valign="top" align="left">
 <td width="10%"></td><td width="90%">
-<b>lt-msggrep</b> [<i>OPTION</i>]
+<b>msggrep</b> [<i>OPTION</i>]
 [<i>INPUTFILE</i>]</td></table>
 <a name="DESCRIPTION"></a>
 <h2>DESCRIPTION</h2>
@@ -135,7 +134,34 @@ A message is selected if it comes from one of the specified
 source files, or if it comes from one of the specified
 domains, or if <b>-K</b> is given and its key (msgid or
 msgid_plural) matches MSGID-PATTERN, or if <b>-T</b> is
-given and its translation (msgstr) matches MSGSTR-PATTERN.
+given and its translation (msgstr) matches
+MSGSTR-PATTERN.</td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+       cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="10%"></td><td width="90%">
+When more than one selection criterion is specified, the set
+of selected messages is the union of the selected messages
+of each criterion.</td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+       cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="4%"></td><td width="96%">
+<b>MSGID-PATTERN or MSGSTR-PATTERN syntax:</b></td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+       cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="21%"></td><td width="79%">
+[-E | <b>-F]</b> [-e PATTERN | <b>-f</b>
+FILE]...</td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+       cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="10%"></td><td width="90%">
 PATTERNs are basic regular expressions by default, or
 extended regular expressions if <b>-E</b> is given, or fixed
 strings if <b>-F</b> is given.</td></table>
@@ -360,7 +386,7 @@ set output page width</td></table>
        cols="2" cellspacing="0" cellpadding="0">
 <tr valign="top" align="left">
 <td width="21%"></td><td width="79%">
-generate sorted output and remove duplicates</td></table>
+generate sorted output</td></table>
 
 <table width="100%" border=0 rules="none" frame="void"
        cols="2" cellspacing="0" cellpadding="0">
@@ -418,7 +444,7 @@ Written by Bruno Haible.</td></table>
        cols="2" cellspacing="0" cellpadding="0">
 <tr valign="top" align="left">
 <td width="10%"></td><td width="90%">
-Report bugs to &lt;bug-gnu-utils@gnu.org&gt;.</td></table>
+Report bugs to &lt;bug-gnu-gettext@gnu.org&gt;.</td></table>
 <a name="COPYRIGHT"></a>
 <h2>COPYRIGHT</h2>
 
@@ -438,16 +464,16 @@ PURPOSE.</td></table>
        cols="2" cellspacing="0" cellpadding="0">
 <tr valign="top" align="left">
 <td width="10%"></td><td width="90%">
-The full documentation for <b>lt-msggrep</b> is maintained
-as a Texinfo manual. If the <b>info</b> and
-<b>lt-msggrep</b> programs are properly installed at your
-site, the command</td></table>
+The full documentation for <b>msggrep</b> is maintained as a
+Texinfo manual. If the <b>info</b> and <b>msggrep</b>
+programs are properly installed at your site, the
+command</td></table>
 
 <table width="100%" border=0 rules="none" frame="void"
        cols="2" cellspacing="0" cellpadding="0">
 <tr valign="top" align="left">
 <td width="21%"></td><td width="79%">
-<b>info lt-msggrep</b></td></table>
+<b>info msggrep</b></td></table>
 
 <table width="100%" border=0 rules="none" frame="void"
        cols="2" cellspacing="0" cellpadding="0">
index bdeec1c18576ebb81cbca570cd3952e61de1e239..9d2a210422c25c9bd4771f0e04c76e6fb91ec62e 100644 (file)
@@ -1,5 +1,5 @@
 .\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.24.
-.TH MSGINIT "1" "October 2001" "GNU gettext 0.11-pre1" GNU
+.TH MSGINIT "1" "November 2001" "GNU gettext 0.11-pre1" GNU
 .SH NAME
 msginit \- initialize a message catalog
 .SH SYNOPSIS
@@ -31,6 +31,9 @@ locale setting.  If it is -, the results are written to standard output.
 \fB\-l\fR, \fB\-\-locale\fR=\fILL_CC\fR
 set target locale
 .TP
+\fB\-\-no\-translator\fR
+assume the PO file is automatically generated
+.TP
 \fB\-w\fR, \fB\-\-width\fR=\fINUMBER\fR
 set output page width
 .SS "Informative output:"
@@ -40,9 +43,6 @@ display this help and exit
 .TP
 \fB\-V\fR, \fB\-\-version\fR
 output version information and exit
-.TP
-\fB\-v\fR, \fB\-\-verbose\fR
-increase verbosity level
 .SH AUTHOR
 Written by Bruno Haible.
 .SH "REPORTING BUGS"
index 482e151e6369b2deb2c58784eb7d06f043826501..7b3577f01c39193880b63d85e6f491debd3222d3 100644 (file)
@@ -124,55 +124,55 @@ set target locale</td></table>
        cols="2" cellspacing="0" cellpadding="0">
 <tr valign="top" align="left">
 <td width="10%"></td><td width="90%">
-<b>-w</b>, <b>--width</b>=<i>NUMBER</i></td></table>
+<b>--no-translator</b></td></table>
 
 <table width="100%" border=0 rules="none" frame="void"
        cols="2" cellspacing="0" cellpadding="0">
 <tr valign="top" align="left">
 <td width="21%"></td><td width="79%">
-set output page width</td></table>
+assume the PO file is automatically generated</td></table>
 
 <table width="100%" border=0 rules="none" frame="void"
        cols="2" cellspacing="0" cellpadding="0">
 <tr valign="top" align="left">
-<td width="4%"></td><td width="96%">
-<b>Informative output:</b></td></table>
+<td width="10%"></td><td width="90%">
+<b>-w</b>, <b>--width</b>=<i>NUMBER</i></td></table>
 
 <table width="100%" border=0 rules="none" frame="void"
        cols="2" cellspacing="0" cellpadding="0">
 <tr valign="top" align="left">
-<td width="10%"></td><td width="90%">
-<b>-h</b>, <b>--help</b></td></table>
+<td width="21%"></td><td width="79%">
+set output page width</td></table>
 
 <table width="100%" border=0 rules="none" frame="void"
        cols="2" cellspacing="0" cellpadding="0">
 <tr valign="top" align="left">
-<td width="21%"></td><td width="79%">
-display this help and exit</td></table>
+<td width="4%"></td><td width="96%">
+<b>Informative output:</b></td></table>
 
 <table width="100%" border=0 rules="none" frame="void"
        cols="2" cellspacing="0" cellpadding="0">
 <tr valign="top" align="left">
 <td width="10%"></td><td width="90%">
-<b>-V</b>, <b>--version</b></td></table>
+<b>-h</b>, <b>--help</b></td></table>
 
 <table width="100%" border=0 rules="none" frame="void"
        cols="2" cellspacing="0" cellpadding="0">
 <tr valign="top" align="left">
 <td width="21%"></td><td width="79%">
-output version information and exit</td></table>
+display this help and exit</td></table>
 
 <table width="100%" border=0 rules="none" frame="void"
        cols="2" cellspacing="0" cellpadding="0">
 <tr valign="top" align="left">
 <td width="10%"></td><td width="90%">
-<b>-v</b>, <b>--verbose</b></td></table>
+<b>-V</b>, <b>--version</b></td></table>
 
 <table width="100%" border=0 rules="none" frame="void"
        cols="2" cellspacing="0" cellpadding="0">
 <tr valign="top" align="left">
 <td width="21%"></td><td width="79%">
-increase verbosity level</td></table>
+output version information and exit</td></table>
 <a name="AUTHOR"></a>
 <h2>AUTHOR</h2>
 
index afa647144c9112fe235538b3237c4f4b6ab33101..4bd3ab58155ed4bd70f33f19395c8ed1441fe2ed 100644 (file)
@@ -1,5 +1,5 @@
 .\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.24.
-.TH MSGMERGE "1" "June 2001" "GNU gettext 0.11" GNU
+.TH MSGMERGE "1" "November 2001" "GNU gettext 0.11-pre1" GNU
 .SH NAME
 msgmerge \- merge message catalog and template
 .SH SYNOPSIS
@@ -33,6 +33,11 @@ add DIRECTORY to list for input files search
 \fB\-C\fR, \fB\-\-compendium\fR=\fIFILE\fR
 additional library of message translations,
 may be specified more than once
+.SS "Operation mode:"
+.TP
+\fB\-U\fR, \fB\-\-update\fR
+update def.po,
+do nothing if def.po already up to date
 .SS "Output file location:"
 .TP
 \fB\-o\fR, \fB\-\-output\-file\fR=\fIFILE\fR
@@ -40,6 +45,33 @@ write output to specified file
 .PP
 The results are written to standard output if no output file is specified
 or if it is -.
+.PP
+Output file location in update mode:
+The result is written back to def.po.
+.TP
+\fB\-\-backup\fR=\fICONTROL\fR
+make a backup of def.po
+.TP
+\fB\-\-suffix\fR=\fISUFFIX\fR
+override the usual backup suffix
+.PP
+The version control method may be selected via the \fB\-\-backup\fR option or through
+the VERSION_CONTROL environment variable.  Here are the values:
+.TP
+none, off
+never make backups (even if \fB\-\-backup\fR is given)
+.TP
+numbered, t
+make numbered backups
+.TP
+existing, nil
+numbered if numbered backups exist, simple otherwise
+.TP
+simple, never
+always make simple backups
+.PP
+The backup suffix is `~', unless set with \fB\-\-suffix\fR or the SIMPLE_BACKUP_SUFFIX
+environment variable.
 .SS "Operation modifiers:"
 .TP
 \fB\-m\fR, \fB\-\-multi\-domain\fR
@@ -71,7 +103,7 @@ strict Uniforum output style
 set output page width
 .TP
 \fB\-s\fR, \fB\-\-sort\-output\fR
-generate sorted output and remove duplicates
+generate sorted output
 .TP
 \fB\-F\fR, \fB\-\-sort\-by\-file\fR
 sort output by file location
@@ -91,7 +123,7 @@ suppress progress indicators
 .SH AUTHOR
 Written by Peter Miller.
 .SH "REPORTING BUGS"
-Report bugs to <bug-gnu-utils@gnu.org>.
+Report bugs to <bug-gnu-gettext@gnu.org>.
 .SH COPYRIGHT
 Copyright \(co 1995-1998, 2000, 2001 Free Software Foundation, Inc.
 .br
index 9730a98ab15d0b44bbb5052085d2e3536e2f8e63..a803a9ef4ca9a736b6b9a91c591fd5658c98a52e 100644 (file)
@@ -17,7 +17,6 @@
 
 <hr>
 <!-- Creator     : groff version 1.17 -->
-<!-- CreationDate: Tue Jun 12 14:59:38 2001 -->
 <a name="NAME"></a>
 <h2>NAME</h2>
 <table width="100%" border=0 rules="none" frame="void"
@@ -116,6 +115,25 @@ add DIRECTORY to list for input files search</td></table>
 additional library of message translations, may be specified
 more than once</td></table>
 
+<table width="100%" border=0 rules="none" frame="void"
+       cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="4%"></td><td width="96%">
+<b>Operation mode:</b></td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+       cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="10%"></td><td width="90%">
+<b>-U</b>, <b>--update</b></td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+       cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="21%"></td><td width="79%">
+update def.po, do nothing if def.po already up to
+date</td></table>
+
 <table width="100%" border=0 rules="none" frame="void"
        cols="2" cellspacing="0" cellpadding="0">
 <tr valign="top" align="left">
@@ -141,6 +159,102 @@ write output to specified file</td></table>
 The results are written to standard output if no output file
 is specified or if it is -.</td></table>
 
+<table width="100%" border=0 rules="none" frame="void"
+       cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="10%"></td><td width="90%">
+Output file location in update mode: The result is written
+back to def.po.</td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+       cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="10%"></td><td width="90%">
+<b>--backup</b>=<i>CONTROL</i></td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+       cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="21%"></td><td width="79%">
+make a backup of def.po</td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+       cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="10%"></td><td width="90%">
+<b>--suffix</b>=<i>SUFFIX</i></td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+       cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="21%"></td><td width="79%">
+override the usual backup suffix</td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+       cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="10%"></td><td width="90%">
+The version control method may be selected via the
+<b>--backup</b> option or through the VERSION_CONTROL
+environment variable. Here are the values:</td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+       cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="10%"></td><td width="90%">
+none, off</td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+       cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="21%"></td><td width="79%">
+never make backups (even if <b>--backup</b> is
+given)</td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+       cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="10%"></td><td width="90%">
+numbered, t</td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+       cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="21%"></td><td width="79%">
+make numbered backups</td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+       cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="10%"></td><td width="90%">
+existing, nil</td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+       cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="21%"></td><td width="79%">
+numbered if numbered backups exist, simple
+otherwise</td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+       cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="10%"></td><td width="90%">
+simple, never</td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+       cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="21%"></td><td width="79%">
+always make simple backups</td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+       cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="10%"></td><td width="90%">
+The backup suffix is `~', unless set with <b>--suffix</b> or
+the SIMPLE_BACKUP_SUFFIX environment variable.</td></table>
+
 <table width="100%" border=0 rules="none" frame="void"
        cols="2" cellspacing="0" cellpadding="0">
 <tr valign="top" align="left">
@@ -271,7 +385,7 @@ set output page width</td></table>
        cols="2" cellspacing="0" cellpadding="0">
 <tr valign="top" align="left">
 <td width="21%"></td><td width="79%">
-generate sorted output and remove duplicates</td></table>
+generate sorted output</td></table>
 
 <table width="100%" border=0 rules="none" frame="void"
        cols="2" cellspacing="0" cellpadding="0">
@@ -353,7 +467,7 @@ Written by Peter Miller.</td></table>
        cols="2" cellspacing="0" cellpadding="0">
 <tr valign="top" align="left">
 <td width="10%"></td><td width="90%">
-Report bugs to &lt;bug-gnu-utils@gnu.org&gt;.</td></table>
+Report bugs to &lt;bug-gnu-gettext@gnu.org&gt;.</td></table>
 <a name="COPYRIGHT"></a>
 <h2>COPYRIGHT</h2>
 
index dac8e374e5f94e799dd7401ca6d414b7cee11f53..0a0f19b5bb1dbe41eaf10dd602e61fa03613e746 100644 (file)
@@ -1,5 +1,5 @@
 .\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.24.
-.TH MSGUNFMT "1" "June 2001" "GNU gettext 0.11" GNU
+.TH MSGUNFMT "1" "November 2001" "GNU gettext 0.11-pre1" GNU
 .SH NAME
 msgunfmt \- uncompile message catalog from binary format
 .SH SYNOPSIS
@@ -11,12 +11,26 @@ msgunfmt \- uncompile message catalog from binary format
 Convert binary message catalog to Uniforum style .po file.
 .PP
 Mandatory arguments to long options are mandatory for short options too.
+.SS "Operation mode:"
+.TP
+\fB\-j\fR, \fB\-\-java\fR
+Java mode: generate a Java ResourceBundle class
 .SS "Input file location:"
 .TP
 FILE ...
 input .mo files
 .PP
 If no input file is given or if it is -, standard input is read.
+.SS "Input file location in Java mode:"
+.TP
+\fB\-r\fR, \fB\-\-resource\fR=\fIRESOURCE\fR
+resource name
+.TP
+\fB\-l\fR, \fB\-\-locale\fR=\fILOCALE\fR
+locale name, either language or language_COUNTRY
+.PP
+The class name is determined by appending the locale name to the resource name,
+separated with an underscore.  The class is located using the CLASSPATH.
 .SS "Output file location:"
 .TP
 \fB\-o\fR, \fB\-\-output\-file\fR=\fIFILE\fR
@@ -45,7 +59,7 @@ write strict uniforum style
 set output page width
 .TP
 \fB\-s\fR, \fB\-\-sort\-output\fR
-generate sorted output and remove duplicates
+generate sorted output
 .SS "Informative output:"
 .TP
 \fB\-h\fR, \fB\-\-help\fR
@@ -53,10 +67,13 @@ display this help and exit
 .TP
 \fB\-V\fR, \fB\-\-version\fR
 output version information and exit
+.TP
+\fB\-v\fR, \fB\-\-verbose\fR
+increase verbosity level
 .SH AUTHOR
 Written by Ulrich Drepper.
 .SH "REPORTING BUGS"
-Report bugs to <bug-gnu-utils@gnu.org>.
+Report bugs to <bug-gnu-gettext@gnu.org>.
 .SH COPYRIGHT
 Copyright \(co 1995-1998, 2000, 2001 Free Software Foundation, Inc.
 .br
index 5f02fa78258eaed3d59ba819a3fb6ab463ed3973..89db145f9ba76f1af49a77d44eddea65dd7a5d72 100644 (file)
@@ -17,7 +17,6 @@
 
 <hr>
 <!-- Creator     : groff version 1.17 -->
-<!-- CreationDate: Tue Jun 12 14:59:38 2001 -->
 <a name="NAME"></a>
 <h2>NAME</h2>
 <table width="100%" border=0 rules="none" frame="void"
@@ -51,6 +50,24 @@ file.</td></table>
 Mandatory arguments to long options are mandatory for short
 options too.</td></table>
 
+<table width="100%" border=0 rules="none" frame="void"
+       cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="4%"></td><td width="96%">
+<b>Operation mode:</b></td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+       cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="10%"></td><td width="90%">
+<b>-j</b>, <b>--java</b></td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+       cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="21%"></td><td width="79%">
+Java mode: generate a Java ResourceBundle class</td></table>
+
 <table width="100%" border=0 rules="none" frame="void"
        cols="2" cellspacing="0" cellpadding="0">
 <tr valign="top" align="left">
@@ -76,6 +93,45 @@ input .mo files</td></table>
 If no input file is given or if it is -, standard input is
 read.</td></table>
 
+<table width="100%" border=0 rules="none" frame="void"
+       cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="4%"></td><td width="96%">
+<b>Input file location in Java mode:</b></td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+       cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="10%"></td><td width="90%">
+<b>-r</b>, <b>--resource</b>=<i>RESOURCE</i></td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+       cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="21%"></td><td width="79%">
+resource name</td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+       cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="10%"></td><td width="90%">
+<b>-l</b>, <b>--locale</b>=<i>LOCALE</i></td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+       cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="21%"></td><td width="79%">
+locale name, either language or
+language_COUNTRY</td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+       cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="10%"></td><td width="90%">
+The class name is determined by appending the locale name to
+the resource name, separated with an underscore. The class
+is located using the CLASSPATH.</td></table>
+
 <table width="100%" border=0 rules="none" frame="void"
        cols="2" cellspacing="0" cellpadding="0">
 <tr valign="top" align="left">
@@ -189,7 +245,7 @@ set output page width</td></table>
        cols="2" cellspacing="0" cellpadding="0">
 <tr valign="top" align="left">
 <td width="21%"></td><td width="79%">
-generate sorted output and remove duplicates</td></table>
+generate sorted output</td></table>
 
 <table width="100%" border=0 rules="none" frame="void"
        cols="2" cellspacing="0" cellpadding="0">
@@ -220,6 +276,18 @@ display this help and exit</td></table>
 <tr valign="top" align="left">
 <td width="21%"></td><td width="79%">
 output version information and exit</td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+       cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="10%"></td><td width="90%">
+<b>-v</b>, <b>--verbose</b></td></table>
+
+<table width="100%" border=0 rules="none" frame="void"
+       cols="2" cellspacing="0" cellpadding="0">
+<tr valign="top" align="left">
+<td width="21%"></td><td width="79%">
+increase verbosity level</td></table>
 <a name="AUTHOR"></a>
 <h2>AUTHOR</h2>
 
@@ -235,7 +303,7 @@ Written by Ulrich Drepper.</td></table>
        cols="2" cellspacing="0" cellpadding="0">
 <tr valign="top" align="left">
 <td width="10%"></td><td width="90%">
-Report bugs to &lt;bug-gnu-utils@gnu.org&gt;.</td></table>
+Report bugs to &lt;bug-gnu-gettext@gnu.org&gt;.</td></table>
 <a name="COPYRIGHT"></a>
 <h2>COPYRIGHT</h2>
 
index be21adc27760f8c6c87c574710ecd9d947e168cb..c812808640aab79a03adac5985fd3e2b328d0a8d 100644 (file)
@@ -1,5 +1,5 @@
 .\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.24.
-.TH MSGUNIQ "1" "September 2001" "GNU gettext 0.11" GNU
+.TH MSGUNIQ "1" "November 2001" "GNU gettext 0.11-pre1" GNU
 .SH NAME
 msguniq \- unify duplicate translations in message catalog
 .SH SYNOPSIS
@@ -75,7 +75,7 @@ write out strict Uniforum conforming .po file
 set output page width
 .TP
 \fB\-s\fR, \fB\-\-sort\-output\fR
-generate sorted output and remove duplicates
+generate sorted output
 .TP
 \fB\-F\fR, \fB\-\-sort\-by\-file\fR
 sort output by file location
index 2142a73368522fa86def77ee79a109d433fbc897..b9d455e995dfc59550cdb2ed4ec90f74c5a21dff 100644 (file)
@@ -288,7 +288,7 @@ set output page width</td></table>
        cols="2" cellspacing="0" cellpadding="0">
 <tr valign="top" align="left">
 <td width="21%"></td><td width="79%">
-generate sorted output and remove duplicates</td></table>
+generate sorted output</td></table>
 
 <table width="100%" border=0 rules="none" frame="void"
        cols="2" cellspacing="0" cellpadding="0">
index 86523204b5a41e5e5b4f4a7f1d430db196f78cff..97b286f028e6c729a992ba48b01546fb5e40ca18 100644 (file)
@@ -10,7 +10,7 @@
 .\"   GNU gettext source code and manual
 .\"   LI18NUX 2000 Globalization Specification
 .\"
-.TH NGETTEXT 3 "May 2001" "GNU gettext 0.11"
+.TH NGETTEXT 3 "May 2001" "GNU gettext 0.11-pre2"
 .SH NAME
 ngettext, dngettext, dcngettext \- translate message and choose plural form
 .SH SYNOPSIS
index c8112ea3814073e5d8de0c7d1b2e43525f7c2cd8..c1b7330bbf77a0296d2b0fe8bef69fa5b9684269 100644 (file)
@@ -10,7 +10,7 @@
 .\"   GNU gettext source code and manual
 .\"   LI18NUX 2000 Globalization Specification
 .\"
-.TH TEXTDOMAIN 3 "May 2001" "GNU gettext 0.11"
+.TH TEXTDOMAIN 3 "May 2001" "GNU gettext 0.11-pre2"
 .SH NAME
 textdomain \- set domain for future gettext() calls
 .SH SYNOPSIS
index 5fba9eb247f48f5e17fcfcd7777fcbaea80d269b..3c57f1eaecf0d2d5b347680e0a193b2b8a1d2556 100644 (file)
@@ -1,5 +1,5 @@
 .\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.24.
-.TH XGETTEXT "1" "June 2001" "GNU gettext 0.11" GNU
+.TH XGETTEXT "1" "November 2001" "GNU gettext 0.11-pre1" GNU
 .SH NAME
 xgettext \- extract gettext strings from source
 .SH SYNOPSIS
@@ -39,7 +39,8 @@ If output file is -, output is written to standard output.
 .SS "Choice of input file language:"
 .TP
 \fB\-L\fR, \fB\-\-language\fR=\fINAME\fR
-recognise the specified language (C, C++, PO)
+recognise the specified language
+(C, C++, ObjectiveC, PO, Java, YCP)
 .TP
 \fB\-C\fR, \fB\-\-c\fR++
 shorthand for \fB\-\-language\fR=\fIC\fR++
@@ -97,7 +98,7 @@ write out strict Uniforum conforming .po file
 set output page width
 .TP
 \fB\-s\fR, \fB\-\-sort\-output\fR
-generate sorted output and remove duplicates
+generate sorted output
 .TP
 \fB\-F\fR, \fB\-\-sort\-by\-file\fR
 sort output by file location
@@ -123,7 +124,7 @@ output version information and exit
 .SH AUTHOR
 Written by Ulrich Drepper.
 .SH "REPORTING BUGS"
-Report bugs to <bug-gnu-utils@gnu.org>.
+Report bugs to <bug-gnu-gettext@gnu.org>.
 .SH COPYRIGHT
 Copyright \(co 1995-1998, 2000, 2001 Free Software Foundation, Inc.
 .br
index 9e2b1500f56fc913147dfea3572a2e6087276499..396337852235745ce6e8017e24fc16d2e1dd4ca7 100644 (file)
@@ -17,7 +17,6 @@
 
 <hr>
 <!-- Creator     : groff version 1.17 -->
-<!-- CreationDate: Tue Jun 12 14:59:39 2001 -->
 <a name="NAME"></a>
 <h2>NAME</h2>
 <table width="100%" border=0 rules="none" frame="void"
@@ -164,7 +163,8 @@ output.</td></table>
        cols="2" cellspacing="0" cellpadding="0">
 <tr valign="top" align="left">
 <td width="21%"></td><td width="79%">
-recognise the specified language (C, C++, PO)</td></table>
+recognise the specified language (C, C++, ObjectiveC, PO,
+Java, YCP)</td></table>
 
 <table width="100%" border=0 rules="none" frame="void"
        cols="2" cellspacing="0" cellpadding="0">
@@ -395,7 +395,7 @@ set output page width</td></table>
        cols="2" cellspacing="0" cellpadding="0">
 <tr valign="top" align="left">
 <td width="21%"></td><td width="79%">
-generate sorted output and remove duplicates</td></table>
+generate sorted output</td></table>
 
 <table width="100%" border=0 rules="none" frame="void"
        cols="2" cellspacing="0" cellpadding="0">
@@ -506,7 +506,7 @@ Written by Ulrich Drepper.</td></table>
        cols="2" cellspacing="0" cellpadding="0">
 <tr valign="top" align="left">
 <td width="10%"></td><td width="90%">
-Report bugs to &lt;bug-gnu-utils@gnu.org&gt;.</td></table>
+Report bugs to &lt;bug-gnu-gettext@gnu.org&gt;.</td></table>
 <a name="COPYRIGHT"></a>
 <h2>COPYRIGHT</h2>
 
index ceafece648cc68541a5a51839bf7f8f1ffe10366..ac5df011d66a16082d9a080d146745c3ebbd202d 100644 (file)
@@ -67,6 +67,7 @@ CC = @CC@
 CLASSPATH = @CLASSPATH@
 CLASSPATH_SEPARATOR = @CLASSPATH_SEPARATOR@
 CROSS_COMPILING = @CROSS_COMPILING@
+CXX = @CXX@
 DATADIRNAME = @DATADIRNAME@
 DEPDIR = @DEPDIR@
 DLLTOOL = @DLLTOOL@
@@ -78,12 +79,19 @@ GENCAT = @GENCAT@
 GLIBC21 = @GLIBC21@
 GMSGFMT = @GMSGFMT@
 HAVE_GCJ = @HAVE_GCJ@
+HAVE_GCJ_IN_PATH = @HAVE_GCJ_IN_PATH@
 HAVE_GIJ = @HAVE_GIJ@
+HAVE_GIJ_IN_PATH = @HAVE_GIJ_IN_PATH@
+HAVE_JAVA = @HAVE_JAVA@
 HAVE_JAVAC = @HAVE_JAVAC@
-HAVE_JAVA_JVM = @HAVE_JAVA_JVM@
+HAVE_JAVAC_IN_PATH = @HAVE_JAVAC_IN_PATH@
+HAVE_JAVA_IN_PATH = @HAVE_JAVA_IN_PATH@
 HAVE_JIKES = @HAVE_JIKES@
+HAVE_JIKES_IN_PATH = @HAVE_JIKES_IN_PATH@
 HAVE_JRE = @HAVE_JRE@
+HAVE_JRE_IN_PATH = @HAVE_JRE_IN_PATH@
 HAVE_JVIEW = @HAVE_JVIEW@
+HAVE_JVIEW_IN_PATH = @HAVE_JVIEW_IN_PATH@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
 INSTOBJEXT = @INSTOBJEXT@
 INTLBISON = @INTLBISON@
index 84f7afaea97974200af8262d914995f04c64ccf2..1a87dcd473f394aa23296ae53af6e4af82487969 100644 (file)
--- a/po/cs.po
+++ b/po/cs.po
@@ -12,7 +12,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: GNU gettext 0.10.38\n"
-"POT-Creation-Date: 2001-06-12 15:05+0200\n"
+"POT-Creation-Date: 2001-11-30 14:18+0100\n"
 "PO-Revision-Date: 2001-08-18 15:22+0200\n"
 "Last-Translator: Vladimir Michl <Vladimir.Michl@seznam.cz>\n"
 "Language-Team: Czech <cs@li.org>\n"
@@ -22,11 +22,64 @@ msgstr ""
 "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
 "10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
 
+#: lib/argmatch.c:141
+#, c-format
+msgid "invalid argument `%s' for `%s'"
+msgstr ""
+
+#: lib/argmatch.c:142
+#, c-format
+msgid "ambiguous argument `%s' for `%s'"
+msgstr ""
+
+#: lib/argmatch.c:162
+msgid "Valid arguments are:"
+msgstr ""
+
+# src/msgunfmt.c:357 src/po-lex.c:74 src/xget-lex.c:159 src/xget-lex.c:174
+# src/xget-lex.c:191 src/xgettext.c:616
+#: lib/copy-file.c:60 src/file-list.c:57 src/po-lex.c:732 src/read-mo.c:170
+#: src/xgettext.c:729 src/xgettext.c:742 src/xgettext.c:752
+#, c-format
+msgid "error while opening \"%s\" for reading"
+msgstr "chyba pøi otevírání souboru \"%s\" pro ètení"
+
+# src/msgfmt.c:321
+#: lib/copy-file.c:67
+#, fuzzy, c-format
+msgid "cannot open backup file \"%s\" for writing"
+msgstr "chyba pøi otevírání souboru \"%s\" pro zápis"
+
+# src/msgunfmt.c:266 src/msgunfmt.c:330 src/po-lex.c:185 src/xget-lex.c:254
+#: lib/copy-file.c:80
+#, fuzzy, c-format
+msgid "error reading \"%s\""
+msgstr "chyba pøi ètení \"%s\""
+
+# src/message.c:1182
+#: lib/copy-file.c:86 lib/copy-file.c:90
+#, fuzzy, c-format
+msgid "error writing \"%s\""
+msgstr "chyba pøi zápisu do souboru \"%s\""
+
+# src/msgunfmt.c:266 src/msgunfmt.c:330 src/po-lex.c:185 src/xget-lex.c:254
+#: lib/copy-file.c:92
+#, fuzzy, c-format
+msgid "error after reading \"%s\""
+msgstr "chyba pøi ètení \"%s\""
+
 # lib/error.c:91
 #: lib/error.c:115
 msgid "Unknown system error"
 msgstr "Neznámá systémová chyba"
 
+#: lib/execute.c:170 lib/execute.c:205 lib/pipe-bidi.c:156 lib/pipe-bidi.c:191
+#: lib/pipe-in.c:167 lib/pipe-in.c:202 lib/pipe-out.c:167 lib/pipe-out.c:202
+#: lib/wait-process.c:136
+#, c-format
+msgid "%s subprocess failed"
+msgstr ""
+
 # lib/getopt.c:628
 #: lib/getopt.c:691
 #, c-format
@@ -52,21 +105,18 @@ msgid "%s: option `%s' requires an argument\n"
 msgstr "%s: pøepínaè `%s' vy¾aduje argument\n"
 
 # lib/getopt.c:703
-#. --option
 #: lib/getopt.c:768
 #, c-format
 msgid "%s: unrecognized option `--%s'\n"
 msgstr "%s: neznámý pøepínaè `--%s'\n"
 
 # lib/getopt.c:707
-#. +option or -option
 #: lib/getopt.c:772
 #, c-format
 msgid "%s: unrecognized option `%c%s'\n"
 msgstr "%s: neznámý pøepínaè `%c%s'\n"
 
 # lib/getopt.c:733
-#. 1003.2 specifies the format of this message.
 #: lib/getopt.c:798
 #, c-format
 msgid "%s: illegal option -- %c\n"
@@ -79,7 +129,6 @@ msgid "%s: invalid option -- %c\n"
 msgstr "%s: neznámý pøepínaè -- %c\n"
 
 # lib/getopt.c:766 lib/getopt.c:896
-#. 1003.2 specifies the format of this message.
 #: lib/getopt.c:831 lib/getopt.c:961
 #, c-format
 msgid "%s: option requires an argument -- %c\n"
@@ -97,40 +146,131 @@ msgstr "%s: p
 msgid "%s: option `-W %s' doesn't allow an argument\n"
 msgstr "%s: pøepínaè ` -W %s' musí být zadán bez argumentu\n"
 
+#: lib/javacomp.c:465
+msgid "Java compiler not found, try installing gcj or set $JAVAC"
+msgstr ""
+
+#: lib/javaexec.c:404
+msgid "Java virtual machine not found, try installing gij or set $JAVA"
+msgstr ""
+
 # lib/xmalloc.c:82
-#: lib/obstack.c:474 lib/xerror.c:69 lib/xmalloc.c:86
+#: lib/obstack.c:474 lib/xerror.c:75 lib/xmalloc.c:56
 msgid "memory exhausted"
 msgstr "pamì» vyèerpána"
 
 # src/message.c:1115
-#: lib/pipe-bidi.c:101 lib/pipe-bidi.c:103 lib/pipe-in.c:117
-#: lib/pipe-out.c:117
+#: lib/pipe-bidi.c:119 lib/pipe-bidi.c:121 lib/pipe-in.c:136
+#: lib/pipe-out.c:136
 #, fuzzy
 msgid "cannot create pipe"
 msgstr "výstupní soubor \"%s\" nelze vytvoøit"
 
-#: lib/pipe-bidi.c:125 lib/pipe-bidi.c:142 lib/pipe-in.c:135 lib/pipe-in.c:155
-#: lib/pipe-out.c:135 lib/pipe-out.c:155
-#, c-format
-msgid "%s subprocess failed"
-msgstr ""
-
-#: lib/wait-process.c:109
+#: lib/wait-process.c:117
 #, c-format
 msgid "%s subprocess"
 msgstr ""
 
-#: lib/wait-process.c:117
+#: lib/wait-process.c:129
 #, c-format
 msgid "%s subprocess got fatal signal"
 msgstr ""
 
+# src/msgfmt.c:892
+#: src/format-c.c:578 src/format-python.c:463
+#, fuzzy
+msgid "number of format specifications in 'msgid' and 'msgstr' does not match"
+msgstr "poèet formátovacích specifikátorù v `msgid' a `msgstr' není stejný"
+
+# src/msgfmt.c:909
+#: src/format-c.c:588 src/format-python.c:473
+#, fuzzy, c-format
+msgid ""
+"format specifications in 'msgid' and 'msgstr' for argument %u are not the "
+"same"
+msgstr "formátovací specifikátory pro argument %lu nejsou stejné"
+
+# src/msgfmt.c:909
+#: src/format-java.c:652 src/format-pascal.c:396
+#, fuzzy, c-format
+msgid "a format specification for argument {%u} doesn't exist in 'msgid'"
+msgstr "formátovací specifikátory pro argument %lu nejsou stejné"
+
+# src/msgfmt.c:909
+#: src/format-java.c:662 src/format-pascal.c:406
+#, fuzzy, c-format
+msgid "a format specification for argument {%u} doesn't exist in 'msgstr'"
+msgstr "formátovací specifikátory pro argument %lu nejsou stejné"
+
+# src/msgfmt.c:909
+#: src/format-java.c:676 src/format-pascal.c:420
+#, fuzzy, c-format
+msgid ""
+"format specifications in 'msgid' and 'msgstr' for argument {%u} are not the "
+"same"
+msgstr "formátovací specifikátory pro argument %lu nejsou stejné"
+
+# src/msgfmt.c:892
+#: src/format-lisp.c:3371
+#, fuzzy
+msgid "format specifications in 'msgid' and 'msgstr' are not equivalent"
+msgstr "poèet formátovacích specifikátorù v `msgid' a `msgstr' není stejný"
+
+# src/msgfmt.c:892
+#: src/format-python.c:391
+#, fuzzy
+msgid ""
+"format specifications in 'msgid' expect a mapping, those in 'msgstr' expect "
+"a tuple"
+msgstr "poèet formátovacích specifikátorù v `msgid' a `msgstr' není stejný"
+
+# src/msgfmt.c:892
+#: src/format-python.c:399
+#, fuzzy
+msgid ""
+"format specifications in 'msgid' expect a tuple, those in 'msgstr' expect a "
+"mapping"
+msgstr "poèet formátovacích specifikátorù v `msgid' a `msgstr' není stejný"
+
+# src/msgfmt.c:909
+#: src/format-python.c:422
+#, fuzzy, c-format
+msgid "a format specification for argument '%s' doesn't exist in 'msgid'"
+msgstr "formátovací specifikátory pro argument %lu nejsou stejné"
+
+# src/msgfmt.c:909
+#: src/format-python.c:432
+#, fuzzy, c-format
+msgid "a format specification for argument '%s' doesn't exist in 'msgstr'"
+msgstr "formátovací specifikátory pro argument %lu nejsou stejné"
+
+# src/msgfmt.c:909
+#: src/format-python.c:446
+#, fuzzy, c-format
+msgid ""
+"format specifications in 'msgid' and 'msgstr' for argument '%s' are not the "
+"same"
+msgstr "formátovací specifikátory pro argument %lu nejsou stejné"
+
+# src/msgfmt.c:909
+#: src/format-ycp.c:137
+#, fuzzy, c-format
+msgid "a format specification for argument %u doesn't exist in 'msgstr'"
+msgstr "formátovací specifikátory pro argument %lu nejsou stejné"
+
+# src/msgfmt.c:909
+#: src/format-ycp.c:138
+#, fuzzy, c-format
+msgid "a format specification for argument %u doesn't exist in 'msgid'"
+msgstr "formátovací specifikátory pro argument %lu nejsou stejné"
+
 # src/gettextp.c:134 src/msgcmp.c:144 src/msgfmt.c:257 src/msgmerge.c:251
 # src/msgunfmt.c:175 src/xgettext.c:394
-#: src/gettext.c:144 src/msgcat.c:245 src/msgcmp.c:132 src/msgcomm.c:242
-#: src/msgconv.c:180 src/msgen.c:168 src/msgfmt.c:272 src/msggrep.c:276
-#: src/msgmerge.c:222 src/msgsed.c:242 src/msgunfmt.c:174 src/ngettext.c:124
-#: src/xgettext.c:386
+#: src/gettext.c:146 src/hostname.c:168 src/msgattrib.c:264 src/msgcat.c:229
+#: src/msgcmp.c:134 src/msgcomm.c:232 src/msgconv.c:182 src/msgen.c:171
+#: src/msgexec.c:240 src/msgfmt.c:333 src/msggrep.c:276 src/msginit.c:247
+#: src/msgmerge.c:252 src/msgunfmt.c:182 src/msguniq.c:207 src/ngettext.c:126
+#: src/xgettext.c:352
 #, c-format, no-wrap
 msgid ""
 "Copyright (C) %s Free Software Foundation, Inc.\n"
@@ -144,48 +284,50 @@ msgstr ""
 
 # src/gettextp.c:139 src/msgcmp.c:149 src/msgfmt.c:262 src/msgmerge.c:256
 # src/msgunfmt.c:180 src/xgettext.c:399
-#: src/gettext.c:149 src/msgcat.c:250 src/msgcmp.c:137 src/msgcomm.c:247
-#: src/msgconv.c:185 src/msgen.c:173 src/msgfmt.c:277 src/msggrep.c:281
-#: src/msgmerge.c:227 src/msgsed.c:247 src/msgunfmt.c:179 src/ngettext.c:129
-#: src/xgettext.c:391
+#: src/gettext.c:151 src/hostname.c:173 src/msgattrib.c:269 src/msgcat.c:234
+#: src/msgcmp.c:139 src/msgcomm.c:237 src/msgconv.c:187 src/msgen.c:176
+#: src/msgexec.c:245 src/msgfmt.c:338 src/msggrep.c:281 src/msginit.c:252
+#: src/msgmerge.c:257 src/msgunfmt.c:187 src/msguniq.c:212 src/ngettext.c:131
+#: src/xgettext.c:357
 #, c-format
 msgid "Written by %s.\n"
 msgstr "Autor: %s\n"
 
 # src/gettextp.c:164
-#: src/gettext.c:167 src/ngettext.c:141
+#: src/gettext.c:169 src/hostname.c:183 src/msginit.c:262 src/ngettext.c:143
 msgid "too many arguments"
 msgstr "pøíli¹ mnoho argumentù"
 
 # src/gettextp.c:154
-#: src/gettext.c:177 src/ngettext.c:153
+#: src/gettext.c:179 src/ngettext.c:155
 msgid "missing arguments"
 msgstr "chybí argumenty"
 
 # src/gettextp.c:228 src/msgcmp.c:181 src/msgfmt.c:361 src/msgmerge.c:298
 # src/msgunfmt.c:210 src/xgettext.c:532
-#: src/gettext.c:249 src/msgcat.c:297 src/msgcmp.c:169 src/msgcomm.c:312
-#: src/msgconv.c:234 src/msgen.c:219 src/msgfmt.c:384 src/msggrep.c:366
-#: src/msgmerge.c:273 src/msgsed.c:313 src/msgunfmt.c:219 src/ngettext.c:208
-#: src/xgettext.c:513
+#: src/gettext.c:251 src/hostname.c:197 src/msgattrib.c:322 src/msgcat.c:290
+#: src/msgcmp.c:171 src/msgcomm.c:306 src/msgconv.c:241 src/msgen.c:227
+#: src/msgexec.c:338 src/msgfmt.c:479 src/msggrep.c:371 src/msginit.c:338
+#: src/msgmerge.c:367 src/msgunfmt.c:262 src/msguniq.c:269 src/ngettext.c:210
+#: src/xgettext.c:499
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "Více informací získáte pøíkazem `%s --help'.\n"
 
-#: src/gettext.c:254
+#: src/gettext.c:256
 #, c-format, no-wrap
 msgid ""
 "Usage: %s [OPTION] [[TEXTDOMAIN] MSGID]\n"
 "or:    %s [OPTION] -s [MSGID]...\n"
 msgstr ""
 
-#: src/gettext.c:260
+#: src/gettext.c:262
 #, no-wrap
 msgid "Display native language translation of a textual message.\n"
 msgstr ""
 
 # src/gettextp.c:233
-#: src/gettext.c:264
+#: src/gettext.c:266
 #, fuzzy, no-wrap
 msgid ""
 "  -d, --domain=TEXTDOMAIN   retrieve translated messages from TEXTDOMAIN\n"
@@ -208,7 +350,7 @@ msgstr ""
 "                             MSGID z TEXTOVÉDOMÉNY\n"
 
 # src/gettextp.c:245
-#: src/gettext.c:275
+#: src/gettext.c:277
 #, fuzzy, c-format, no-wrap
 msgid ""
 "If the TEXTDOMAIN parameter is not given, the domain is determined from the\n"
@@ -233,35 +375,179 @@ msgstr ""
 
 # src/gettextp.c:255 src/msgcmp.c:200 src/msgfmt.c:386 src/msgmerge.c:331
 # src/msgunfmt.c:234 src/xgettext.c:582
-#: src/gettext.c:285 src/msgcat.c:378 src/msgcmp.c:214 src/msgcomm.c:390
-#: src/msgconv.c:298 src/msgen.c:279 src/msgfmt.c:443 src/msggrep.c:445
-#: src/msgmerge.c:348 src/msgsed.c:379 src/msgunfmt.c:272 src/ngettext.c:241
-#: src/xgettext.c:604
-msgid "Report bugs to <bug-gnu-utils@gnu.org>.\n"
+#: src/gettext.c:288 src/hostname.c:227 src/msgattrib.c:402 src/msgcat.c:371
+#: src/msgcmp.c:216 src/msgcomm.c:384 src/msgconv.c:305 src/msgen.c:287
+#: src/msgexec.c:410 src/msgfmt.c:563 src/msggrep.c:457 src/msginit.c:389
+#: src/msgmerge.c:465 src/msgunfmt.c:331 src/msguniq.c:343 src/ngettext.c:244
+#: src/xgettext.c:591
+#, fuzzy
+msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
 msgstr ""
 "  Chyby v programu oznamujte na adrese <bug-gnu-utils@prep.ai.mit.edu> "
 "(pouze\n"
 "anglicky), pøipomínky k pøekladu zasílejte na adresu <cs@li.org> (èesky).\n"
 
+#: src/hostname.c:202 src/msginit.c:343
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION]\n"
+msgstr ""
+
+#: src/hostname.c:207
+#, no-wrap
+msgid "Print the machine's hostname.\n"
+msgstr ""
+
+#: src/hostname.c:212
+#, no-wrap
+msgid ""
+"Output format:\n"
+"  -s, --short           short host name\n"
+"  -f, --fqdn, --long    long host name, includes fully qualified domain name,\n"
+"                          and aliases\n"
+"  -i, --ip-address      addresses for the hostname\n"
+msgstr ""
+
+#: src/hostname.c:221 src/msgattrib.c:396 src/msgcmp.c:210 src/msgconv.c:299
+#: src/msgen.c:281 src/msgexec.c:404 src/msggrep.c:451 src/msginit.c:383
+#, no-wrap
+msgid ""
+"Informative output:\n"
+"  -h, --help                  display this help and exit\n"
+"  -V, --version               output version information and exit\n"
+msgstr ""
+
+#: src/hostname.c:242 src/hostname.c:249
+msgid "could not get host name"
+msgstr ""
+
+#: src/msgattrib.c:284 src/msgconv.c:202 src/msgexec.c:190 src/msggrep.c:296
+#: src/msginit.c:205 src/msguniq.c:227
+msgid "at most one input file allowed"
+msgstr ""
+
 # src/xgettext.c:378 src/xgettext.c:382
-#: src/msgcat.c:233 src/msgcat.c:237 src/msgcomm.c:230 src/msgcomm.c:234
-#: src/msgconv.c:205 src/msgen.c:194 src/msggrep.c:301 src/msgmerge.c:248
-#: src/msgsed.c:270 src/xgettext.c:363 src/xgettext.c:367
+#: src/msgattrib.c:290 src/msgattrib.c:294 src/msgcat.c:244 src/msgcat.c:248
+#: src/msgcomm.c:247 src/msgcomm.c:251 src/msgconv.c:208 src/msgconv.c:212
+#: src/msgen.c:198 src/msgen.c:202 src/msgexec.c:260 src/msgexec.c:264
+#: src/msgfmt.c:358 src/msggrep.c:302 src/msggrep.c:306 src/msgmerge.c:282
+#: src/msgmerge.c:303 src/msgmerge.c:307 src/msguniq.c:233 src/msguniq.c:237
+#: src/xgettext.c:367 src/xgettext.c:371
 #, c-format
 msgid "%s and %s are mutually exclusive"
 msgstr "%s a %s se vzájemnì vyluèují"
 
-#: src/msgcat.c:270 src/msgcomm.c:278
+#: src/msgattrib.c:327 src/msgconv.c:246 src/msggrep.c:376 src/msguniq.c:274
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] [INPUTFILE]\n"
+msgstr ""
+
+#: src/msgattrib.c:332
+#, no-wrap
+msgid ""
+"Filters the messages of a translation catalog according to their attributes,\n"
+"and manipulates the attributes.\n"
+msgstr ""
+
+#: src/msgattrib.c:338 src/msgcat.c:313 src/msgcmp.c:191 src/msgcomm.c:328
+#: src/msgconv.c:256 src/msgen.c:245 src/msgexec.c:353 src/msgfmt.c:494
+#: src/msggrep.c:387 src/msginit.c:354 src/msgmerge.c:390 src/msgunfmt.c:277
+#: src/msguniq.c:291
+#, no-wrap
+msgid "Mandatory arguments to long options are mandatory for short options too.\n"
+msgstr ""
+
+#: src/msgattrib.c:343 src/msgconv.c:261 src/msggrep.c:392 src/msguniq.c:296
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  INPUTFILE                   input PO file\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"If no input file is given or if it is -, standard input is read.\n"
+msgstr ""
+
+#: src/msgattrib.c:351 src/msgconv.c:269 src/msgen.c:258 src/msgexec.c:366
+#: src/msggrep.c:400 src/msgmerge.c:412
+#, no-wrap
+msgid ""
+"Output file location:\n"
+"  -o, --output-file=FILE      write output to specified file\n"
+"The results are written to standard output if no output file is specified\n"
+"or if it is -.\n"
+msgstr ""
+
+#: src/msgattrib.c:359
+#, no-wrap
+msgid ""
+"Message selection:\n"
+"      --translated            keep translated, remove untranslated messages\n"
+"      --untranslated          keep untranslated, remove translated messages\n"
+"      --no-fuzzy              remove 'fuzzy' marked messages\n"
+"      --only-fuzzy            keep 'fuzzy' marked messages\n"
+"      --no-obsolete           remove obsolete #~ messages\n"
+"      --only-obsolete         keep obsolete #~ messages\n"
+msgstr ""
+
+#: src/msgattrib.c:370
+#, no-wrap
+msgid ""
+"Attribute manipulation:\n"
+"      --set-fuzzy             set all messages 'fuzzy'\n"
+"      --clear-fuzzy           set all messages non-'fuzzy'\n"
+"      --set-obsolete          set all messages obsolete\n"
+"      --clear-obsolete        set all messages non-obsolete\n"
+"      --fuzzy                 synonym for --only-fuzzy --clear-fuzzy\n"
+"      --obsolete              synonym for --only-obsolete --clear-obsolete\n"
+msgstr ""
+
+# src/msgmerge.c:303
+#: src/msgattrib.c:381
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
+"  -e, --no-escape             do not use C escapes in output (default)\n"
+"  -E, --escape                use C escapes in output, no extended chars\n"
+"      --force-po              write PO file even if empty\n"
+"  -i, --indent                write the .po file using indented style\n"
+"      --no-location           do not write '#: filename:line' lines\n"
+"  -n, --add-location          generate '#: filename:line' lines (default)\n"
+"      --strict                write out strict Uniforum conforming .po file\n"
+"  -w, --width=NUMBER          set output page width\n"
+"  -s, --sort-output           generate sorted output\n"
+"  -F, --sort-by-file          sort output by file location\n"
+msgstr ""
+"Pou¾ití: %s [PØEPÍNAÈ] def.po ref.po\n"
+"  Argumenty povinné pro dlouhé pøepínaèe, jsou té¾ povinné pro jejich krátké\n"
+"formy.\n"
+"\n"
+"  -C, --compendium=SOUBOR  pøídavná knihovna pøekladù zpráv. Mù¾e být zadána\n"
+"                           více ne¾ jednou.\n"
+"  -D, --directory=ADRESÁØ  pøidá ADRESÁØ do seznamu adresáøù pro hledání\n"
+"                           vstupních souborù\n"
+"  -e, --no-escape          zaká¾e C escape sekvence ve výstupu (implicitní)\n"
+"  -E, --escape             pou¾ije C escape sekvence ve výstupu, bez\n"
+"                           roz¹íøených znakù\n"
+"      --force-po           zapí¹e .po soubor, i kdy¾ je prázdný\n"
+"  -h, --help               vypí¹e tuto nápovìdu a ukonèí se\n"
+"  -i, --indent             odsazený výstupní styl\n"
+"  -o, --output-file=SOUBOR výsledek bude zapsán do SOUBORu\n"
+"      --no-location        potlaèí øádky '#: jméno_souboru:øádka'\n"
+"      --add-location       zaøadí øádky '#: jméno_souboru:øádka' (implicitní)\n"
+"      --strict             zpùsobí pøísné dodr¾ování stylu Uniforum\n"
+"  -v, --verbose            zvý¹ení mno¾ství vypisovaných informací\n"
+"  -V, --version            vypí¹e oznaèení verze a ukonèí se\n"
+"  -w, --width=ÈÍSLO        nastaví ¹íøku výstupní stránky\n"
+
+#: src/msgcat.c:254 src/msgcomm.c:277
 #, c-format
 msgid "impossible selection criteria specified (%d < n < %d)"
 msgstr "zadáno nemo¾né výbìrové kritérium (%d < n < %d)"
 
-#: src/msgcat.c:302 src/msgcomm.c:317 src/xgettext.c:518
+#: src/msgcat.c:295 src/msgcomm.c:311 src/xgettext.c:504
 #, c-format, no-wrap
 msgid "Usage: %s [OPTION] [INPUTFILE]...\n"
 msgstr ""
 
-#: src/msgcat.c:307
+#: src/msgcat.c:300
 #, fuzzy, no-wrap
 msgid ""
 "Concatenates and merges the specified PO files.\n"
@@ -290,14 +576,7 @@ msgstr ""
 "ponechány, ale pouze z prvního .po souboru, který je definuje. Oznaèení pozic\n"
 "v souborech bude ponecháno ze v¹ech .po souborù.\n"
 
-#: src/msgcat.c:320 src/msgcmp.c:189 src/msgcomm.c:334 src/msgconv.c:249
-#: src/msgen.c:237 src/msgfmt.c:399 src/msggrep.c:382 src/msgmerge.c:296
-#: src/msgsed.c:328 src/msgunfmt.c:234
-#, no-wrap
-msgid "Mandatory arguments to long options are mandatory for short options too.\n"
-msgstr ""
-
-#: src/msgcat.c:325 src/msgcomm.c:339 src/xgettext.c:534
+#: src/msgcat.c:318 src/msgcomm.c:333 src/xgettext.c:520
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -307,7 +586,7 @@ msgid ""
 "If input file is -, standard input is read.\n"
 msgstr ""
 
-#: src/msgcat.c:334 src/msgcomm.c:348
+#: src/msgcat.c:327 src/msgcomm.c:342 src/msguniq.c:304
 #, no-wrap
 msgid ""
 "Output file location:\n"
@@ -316,7 +595,7 @@ msgid ""
 "or if it is -.\n"
 msgstr ""
 
-#: src/msgcat.c:342 src/msgcomm.c:356
+#: src/msgcat.c:335
 #, fuzzy, no-wrap
 msgid ""
 "Message selection:\n"
@@ -324,7 +603,7 @@ msgid ""
 "                                 definitions, defaults to infinite if not\n"
 "                                 set\n"
 "  ->, --more-than=NUMBER         print messages with more than this many\n"
-"                                 definitions, defaults to 1 if not set\n"
+"                                 definitions, defaults to 0 if not set\n"
 "  -u, --unique                   shorthand for --less-than=2, requests\n"
 "                                 that only unique messages be printed\n"
 msgstr ""
@@ -345,7 +624,7 @@ msgstr ""
 "v souborech bude ponecháno ze v¹ech .po souborù.\n"
 
 # src/msgmerge.c:303
-#: src/msgcat.c:354
+#: src/msgcat.c:347 src/msguniq.c:319
 #, fuzzy, no-wrap
 msgid ""
 "Output details:\n"
@@ -360,7 +639,7 @@ msgid ""
 "  -n, --add-location             generate '#: filename:line' lines (default)\n"
 "      --strict                   write out strict Uniforum conforming .po file\n"
 "  -w, --width=NUMBER             set output page width\n"
-"  -s, --sort-output              generate sorted output and remove duplicates\n"
+"  -s, --sort-output              generate sorted output\n"
 "  -F, --sort-by-file             sort output by file location\n"
 msgstr ""
 "Pou¾ití: %s [PØEPÍNAÈ] def.po ref.po\n"
@@ -385,7 +664,7 @@ msgstr ""
 "  -V, --version            vypí¹e oznaèení verze a ukonèí se\n"
 "  -w, --width=ÈÍSLO        nastaví ¹íøku výstupní stránky\n"
 
-#: src/msgcat.c:372 src/msgcomm.c:384 src/xgettext.c:598
+#: src/msgcat.c:365 src/msgcomm.c:378 src/msguniq.c:337 src/xgettext.c:585
 #, no-wrap
 msgid ""
 "Informative output:\n"
@@ -393,80 +672,23 @@ msgid ""
 "  -V, --version                  output version information and exit\n"
 msgstr ""
 
-# src/msgunfmt.c:357 src/po-lex.c:74 src/xget-lex.c:159 src/xget-lex.c:174
-# src/xget-lex.c:191 src/xgettext.c:616
-#: src/msgcat.c:403 src/msgcomm.c:415 src/msgunfmt.c:394 src/po-lex.c:85
-#: src/xget-lex.c:159 src/xget-lex.c:172 src/xget-lex.c:182 src/xgettext.c:629
-#, c-format
-msgid "error while opening \"%s\" for reading"
-msgstr "chyba pøi otevírání souboru \"%s\" pro ètení"
-
-#: src/msgcat.c:544 src/msgl-charset.c:82 src/msgl-iconv.c:292
-#, c-format
-msgid "present charset \"%s\" is not a portable encoding name"
-msgstr ""
-
-#: src/msgcat.c:552 src/msgl-iconv.c:300
-#, c-format
-msgid "two different charsets \"%s\" and \"%s\" in input file"
-msgstr ""
-
-#: src/msgcat.c:561
-#, c-format
-msgid ""
-"input file `%s' doesn't contain a header entry with a charset specification"
-msgstr ""
-
-#: src/msgcat.c:565
-#, c-format
-msgid ""
-"domain \"%s\" in input file `%s' doesn't contain a header entry with a "
-"charset specification"
-msgstr ""
-
-#: src/msgcat.c:719 src/msgl-iconv.c:370
-#, c-format
-msgid "target charset \"%s\" is not a portable encoding name."
-msgstr ""
-
-#: src/msgcat.c:752 src/msgcat.c:758 src/msgl-charset.c:87
-#: src/msgl-charset.c:122
-#, fuzzy
-msgid "warning: "
-msgstr "%s: upozornìní: "
-
-#: src/msgcat.c:753
-msgid ""
-"Input files contain messages in different encodings, UTF-8 among others.\n"
-"Converting the output to UTF-8.\n"
-msgstr ""
-
-#: src/msgcat.c:759
-#, c-format
-msgid ""
-"Input files contain messages in different encodings, %s and %s among "
-"others.\n"
-"Converting the output to UTF-8.\n"
-"To select a different output encoding, use the --to-code option.\n"
-msgstr ""
-
 # src/msgcmp.c:160 src/msgmerge.c:267
-#: src/msgcmp.c:148 src/msgmerge.c:238
+#: src/msgcmp.c:150 src/msgmerge.c:268
 msgid "no input files given"
 msgstr "vstupní soubory nejsou zadány"
 
 # src/msgcmp.c:165 src/msgmerge.c:272
-#: src/msgcmp.c:153 src/msgmerge.c:243
+#: src/msgcmp.c:155 src/msgmerge.c:273
 msgid "exactly 2 input files required"
 msgstr "jsou po¾adovány pøesnì 2 vstupní soubory"
 
-#: src/msgcmp.c:174 src/msgmerge.c:278
+#: src/msgcmp.c:176 src/msgmerge.c:372
 #, c-format, no-wrap
 msgid "Usage: %s [OPTION] def.po ref.pot\n"
 msgstr ""
 
 # src/msgcmp.c:186
-#: src/msgcmp.c:179
+#: src/msgcmp.c:181
 #, fuzzy, no-wrap
 msgid ""
 "Compare two Uniforum style .po files to check that both contain the same\n"
@@ -491,7 +713,7 @@ msgstr ""
 "va¹em programu. Pokud pøi porovnávání nejsou zprávy pøesnì shodné, zkoumá se,\n"
 "zda si nejsou podobné.\n"
 
-#: src/msgcmp.c:194
+#: src/msgcmp.c:196
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -500,45 +722,36 @@ msgid ""
 "  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
 msgstr ""
 
-#: src/msgcmp.c:202 src/msgmerge.c:319
+#: src/msgcmp.c:204 src/msgmerge.c:436
 #, no-wrap
 msgid ""
 "Operation modifiers:\n"
 "  -m, --multi-domain          apply ref.pot to each of the domains in def.po\n"
 msgstr ""
 
-#: src/msgcmp.c:208 src/msgconv.c:292 src/msgen.c:273 src/msggrep.c:439
-#: src/msgsed.c:373
-#, no-wrap
-msgid ""
-"Informative output:\n"
-"  -h, --help                  display this help and exit\n"
-"  -V, --version               output version information and exit\n"
-msgstr ""
-
 # src/msgcmp.c:259 src/msgmerge.c:711
-#: src/msgcmp.c:251 src/msgmerge.c:426
+#: src/msgcmp.c:253 src/msgmerge.c:543
 msgid "this message is used but not defined..."
 msgstr "tato zpráva je pou¾ita, ale nikoli definována..."
 
 # src/msgcmp.c:261 src/msgmerge.c:713
-#: src/msgcmp.c:253 src/msgmerge.c:428
+#: src/msgcmp.c:255 src/msgmerge.c:545
 msgid "...but this definition is similar"
 msgstr "...ale tato definice je podobná"
 
 # src/msgcmp.c:267 src/msgmerge.c:740
-#: src/msgcmp.c:258 src/msgmerge.c:455
+#: src/msgcmp.c:260 src/msgmerge.c:572
 #, c-format
 msgid "this message is used but not defined in %s"
 msgstr "tato zpráva je pou¾ita, ale nikoli definována v %s"
 
 # src/msgcmp.c:281
-#: src/msgcmp.c:330
+#: src/msgcmp.c:332
 msgid "warning: this message is not used"
 msgstr "upozornìní: tato zpráva není pou¾ita"
 
 # src/po-lex.c:84
-#: src/msgcmp.c:337 src/po-lex.c:99
+#: src/msgcmp.c:339 src/po-lex.c:705
 #, c-format
 msgid "found %d fatal error"
 msgid_plural "found %d fatal errors"
@@ -547,20 +760,20 @@ msgstr[1] "nalezeny %d z
 msgstr[2] "nalezeno %d záva¾ných chyb"
 
 # src/msgcmp.c:355 src/msgfmt.c:628 src/msgmerge.c:490 src/xgettext.c:1061
-#: src/msgcmp.c:418 src/msgfmt.c:703 src/read-po.c:184 src/xgettext.c:1147
+#: src/msgcmp.c:420 src/msgfmt.c:1323 src/read-po.c:202 src/x-po.c:163
 msgid "duplicate message definition"
 msgstr "dvojnásobná definice zprávy"
 
 # src/msgcmp.c:356 src/msgfmt.c:629 src/msgmerge.c:491 src/xgettext.c:1062
-#: src/msgcmp.c:419 src/msgfmt.c:705 src/read-po.c:185 src/xgettext.c:1148
+#: src/msgcmp.c:421 src/msgfmt.c:1324 src/read-po.c:203 src/x-po.c:164
 msgid "...this is the location of the first definition"
 msgstr "...toto je umístìní první definice"
 
-#: src/msgcomm.c:267
+#: src/msgcomm.c:266
 msgid "at least two files must be specified"
 msgstr "musí být zadány nejménì dva rùzné soubory"
 
-#: src/msgcomm.c:322
+#: src/msgcomm.c:316
 #, fuzzy, no-wrap
 msgid ""
 "Find messages which are common to two or more of the specified PO files.\n"
@@ -588,20 +801,48 @@ msgstr ""
 "ponechány, ale pouze z prvního .po souboru, který je definuje. Oznaèení pozic\n"
 "v souborech bude ponecháno ze v¹ech .po souborù.\n"
 
-# src/msgmerge.c:303
-#: src/msgcomm.c:368
+#: src/msgcomm.c:350
 #, fuzzy, no-wrap
 msgid ""
-"Output details:\n"
-"  -e, --no-escape                do not use C escapes in output (default)\n"
-"  -E, --escape                   use C escapes in output, no extended chars\n"
-"      --force-po                 write PO file even if empty\n"
+"Message selection:\n"
+"  -<, --less-than=NUMBER         print messages with less than this many\n"
+"                                 definitions, defaults to infinite if not\n"
+"                                 set\n"
+"  ->, --more-than=NUMBER         print messages with more than this many\n"
+"                                 definitions, defaults to 1 if not set\n"
+"  -u, --unique                   shorthand for --less-than=2, requests\n"
+"                                 that only unique messages be printed\n"
+msgstr ""
+"  -V, --version               vypí¹e oznaèení verze a ukonèí se\n"
+"  -w, --width=ÈÍSLO           nastaví výstupní ¹íøku stránky\n"
+"  -<, --less-than=ÈÍSLO       vypí¹e pouze zprávy, které se vyskytují ménì ne¾\n"
+"                              ÈÍSLO krát, implicitnì nastaveno nekoneèno\n"
+"  ->, --more-than=ÈÍSLO       vypí¹e pouze zprávy, které se vyskytují více ne¾\n"
+"                              ÈÍSLO krát, implicitnì nastaveno na 1\n"
+"\n"
+"  Nalezne zprávy, které jsou spoleèné pro dva nebo více zadaných .po souborù.\n"
+"Pou¾itím pøepínaèe --more-than, lze dosáhnout zvìt¹ení poètu souborù, kterým\n"
+"musí být zpráva spoleèná. Naproti tomu pøepínaè --less-than mù¾e být pou¾it\n"
+"k výpisu zpráv, které jsou spoleèné ménì ne¾ zadanému poètu souborù \n"
+"(--less-then=2 zpùsobí výpis zpráv, které jsou obsa¾eny pouze v jednom\n"
+"souboru). Pøeklady, komentáøe a komentáøe ze zdrojových souborù budou\n"
+"ponechány, ale pouze z prvního .po souboru, který je definuje. Oznaèení pozic\n"
+"v souborech bude ponecháno ze v¹ech .po souborù.\n"
+
+# src/msgmerge.c:303
+#: src/msgcomm.c:362
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
+"  -e, --no-escape                do not use C escapes in output (default)\n"
+"  -E, --escape                   use C escapes in output, no extended chars\n"
+"      --force-po                 write PO file even if empty\n"
 "  -i, --indent                   write the .po file using indented style\n"
 "      --no-location              do not write '#: filename:line' lines\n"
 "  -n, --add-location             generate '#: filename:line' lines (default)\n"
 "      --strict                   write out strict Uniforum conforming .po file\n"
 "  -w, --width=NUMBER             set output page width\n"
-"  -s, --sort-output              generate sorted output and remove duplicates\n"
+"  -s, --sort-output              generate sorted output\n"
 "  -F, --sort-by-file             sort output by file location\n"
 "      --omit-header              don't write header with `msgid \"\"' entry\n"
 msgstr ""
@@ -627,45 +868,12 @@ msgstr ""
 "  -V, --version            vypí¹e oznaèení verze a ukonèí se\n"
 "  -w, --width=ÈÍSLO        nastaví ¹íøku výstupní stránky\n"
 
-# src/xgettext.c:658 src/xgettext.c:968
-#: src/msgcomm.c:510 src/xgettext.c:676 src/xgettext.c:1093
-msgid "this file may not contain domain directives"
-msgstr "tento soubor nemù¾e obsahovat pøíkazy pro doménu"
-
-#: src/msgconv.c:200 src/msggrep.c:296 src/msgsed.c:262
-msgid "at most one input file allowed"
-msgstr ""
-
-#: src/msgconv.c:239 src/msggrep.c:371 src/msgsed.c:318
-#, c-format, no-wrap
-msgid "Usage: %s [OPTION] [INPUTFILE]\n"
-msgstr ""
-
-#: src/msgconv.c:244
+#: src/msgconv.c:251
 #, no-wrap
 msgid "Converts a translation catalog to a different character encoding.\n"
 msgstr ""
 
-#: src/msgconv.c:254 src/msggrep.c:387 src/msgsed.c:333
-#, no-wrap
-msgid ""
-"Input file location:\n"
-"  INPUTFILE                   input PO file\n"
-"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
-"If no input file is given or if it is -, standard input is read.\n"
-msgstr ""
-
-#: src/msgconv.c:262 src/msgen.c:250 src/msggrep.c:395 src/msgmerge.c:311
-#: src/msgsed.c:341
-#, no-wrap
-msgid ""
-"Output file location:\n"
-"  -o, --output-file=FILE      write output to specified file\n"
-"The results are written to standard output if no output file is specified\n"
-"or if it is -.\n"
-msgstr ""
-
-#: src/msgconv.c:270
+#: src/msgconv.c:277
 #, no-wrap
 msgid ""
 "Conversion target:\n"
@@ -674,7 +882,7 @@ msgid ""
 msgstr ""
 
 # src/msgmerge.c:303
-#: src/msgconv.c:277 src/msgen.c:258 src/msgmerge.c:325
+#: src/msgconv.c:284 src/msgen.c:266 src/msgmerge.c:442
 #, fuzzy, no-wrap
 msgid ""
 "Output details:\n"
@@ -686,7 +894,7 @@ msgid ""
 "      --add-location          preserve '#: filename:line' lines (default)\n"
 "      --strict                strict Uniforum output style\n"
 "  -w, --width=NUMBER          set output page width\n"
-"  -s, --sort-output           generate sorted output and remove duplicates\n"
+"  -s, --sort-output           generate sorted output\n"
 "  -F, --sort-by-file          sort output by file location\n"
 msgstr ""
 "Pou¾ití: %s [PØEPÍNAÈ] def.po ref.po\n"
@@ -712,22 +920,22 @@ msgstr ""
 "  -w, --width=ÈÍSLO        nastaví ¹íøku výstupní stránky\n"
 
 # src/msgfmt.c:273 src/xgettext.c:410
-#: src/msgen.c:184 src/msgfmt.c:288 src/xgettext.c:402
+#: src/msgen.c:187 src/msgfmt.c:349 src/xgettext.c:388
 msgid "no input file given"
 msgstr "vstupní soubor není zadán"
 
 # src/msgcmp.c:165 src/msgmerge.c:272
-#: src/msgen.c:189
+#: src/msgen.c:192
 #, fuzzy
 msgid "exactly one input file required"
 msgstr "jsou po¾adovány pøesnì 2 vstupní soubory"
 
-#: src/msgen.c:224
+#: src/msgen.c:232
 #, c-format, no-wrap
 msgid "Usage: %s [OPTION] INPUTFILE\n"
 msgstr ""
 
-#: src/msgen.c:229
+#: src/msgen.c:237
 #, no-wrap
 msgid ""
 "Creates an English translation catalog.  The input file is the last\n"
@@ -736,7 +944,7 @@ msgid ""
 "identical to the msgid, and are marked fuzzy.\n"
 msgstr ""
 
-#: src/msgen.c:242
+#: src/msgen.c:250
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -745,14 +953,134 @@ msgid ""
 "If input file is -, standard input is read.\n"
 msgstr ""
 
-# src/msgfmt.c:321
-#: src/msgfmt.c:339
+# src/gettextp.c:154
+#: src/msgexec.c:255
+#, fuzzy
+msgid "missing filter name"
+msgstr "chybí argumenty"
+
+#: src/msgexec.c:279
+#, fuzzy
+msgid "at least one sed script must be specified"
+msgstr "musí být zadány nejménì dva rùzné soubory"
+
+#: src/msgexec.c:343
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] FILTER [FILTER-OPTION]\n"
+msgstr ""
+
+#: src/msgexec.c:348
+#, no-wrap
+msgid "Applies a filter to all translations of a translation catalog.\n"
+msgstr ""
+
+#: src/msgexec.c:358
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  -i, --input=INPUTFILE       input PO file\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"If no input file is given or if it is -, standard input is read.\n"
+msgstr ""
+
+#: src/msgexec.c:374
+#, no-wrap
+msgid ""
+"The FILTER can be any program that reads a translation from standard input\n"
+"and writes a modified translation to standard output.\n"
+msgstr ""
+
+#: src/msgexec.c:380
+#, no-wrap
+msgid ""
+"Useful FILTER-OPTIONs when the FILTER is 'sed':\n"
+"  -e, --expression=SCRIPT     add SCRIPT to the commands to be executed\n"
+"  -f, --file=SCRIPTFILE       add the contents of SCRIPTFILE to the commands\n"
+"                                to be executed\n"
+"  -n, --quiet, --silent       suppress automatic printing of pattern space\n"
+msgstr ""
+
+# src/msgmerge.c:303
+#: src/msgexec.c:389
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
+"      --no-escape             do not use C escapes in output (default)\n"
+"  -E, --escape                use C escapes in output, no extended chars\n"
+"      --force-po              write PO file even if empty\n"
+"      --indent                indented output style\n"
+"      --no-location           suppress '#: filename:line' lines\n"
+"      --add-location          preserve '#: filename:line' lines (default)\n"
+"      --strict                strict Uniforum output style\n"
+"  -w, --width=NUMBER          set output page width\n"
+"  -s, --sort-output           generate sorted output\n"
+"  -F, --sort-by-file          sort output by file location\n"
+msgstr ""
+"Pou¾ití: %s [PØEPÍNAÈ] def.po ref.po\n"
+"  Argumenty povinné pro dlouhé pøepínaèe, jsou té¾ povinné pro jejich krátké\n"
+"formy.\n"
+"\n"
+"  -C, --compendium=SOUBOR  pøídavná knihovna pøekladù zpráv. Mù¾e být zadána\n"
+"                           více ne¾ jednou.\n"
+"  -D, --directory=ADRESÁØ  pøidá ADRESÁØ do seznamu adresáøù pro hledání\n"
+"                           vstupních souborù\n"
+"  -e, --no-escape          zaká¾e C escape sekvence ve výstupu (implicitní)\n"
+"  -E, --escape             pou¾ije C escape sekvence ve výstupu, bez\n"
+"                           roz¹íøených znakù\n"
+"      --force-po           zapí¹e .po soubor, i kdy¾ je prázdný\n"
+"  -h, --help               vypí¹e tuto nápovìdu a ukonèí se\n"
+"  -i, --indent             odsazený výstupní styl\n"
+"  -o, --output-file=SOUBOR výsledek bude zapsán do SOUBORu\n"
+"      --no-location        potlaèí øádky '#: jméno_souboru:øádka'\n"
+"      --add-location       zaøadí øádky '#: jméno_souboru:øádka' (implicitní)\n"
+"      --strict             zpùsobí pøísné dodr¾ování stylu Uniforum\n"
+"  -v, --verbose            zvý¹ení mno¾ství vypisovaných informací\n"
+"  -V, --version            vypí¹e oznaèení verze a ukonèí se\n"
+"  -w, --width=ÈÍSLO        nastaví ¹íøku výstupní stránky\n"
+
+#: src/msgexec.c:546
 #, c-format
-msgid "error while opening \"%s\" for writing"
-msgstr "chyba pøi otevírání souboru \"%s\" pro zápis"
+msgid "cannot set up nonblocking I/O to %s subprocess"
+msgstr ""
+
+#: src/msgexec.c:574
+#, c-format
+msgid "communication with %s subprocess failed"
+msgstr ""
+
+#: src/msgexec.c:594
+#, c-format
+msgid "write to %s subprocess failed"
+msgstr ""
+
+#: src/msgexec.c:625
+#, c-format
+msgid "read from %s subprocess failed"
+msgstr ""
+
+#: src/msgexec.c:641
+#, c-format
+msgid "%s subprocess terminated with exit code %d"
+msgstr ""
+
+#: src/msgfmt.c:303
+#, c-format
+msgid "the argument to %s should be a single punctuation character"
+msgstr ""
+
+#: src/msgfmt.c:364
+#, c-format
+msgid "%s requires a \"-d directory\" specification"
+msgstr ""
+
+#: src/msgfmt.c:373 src/msgfmt.c:379 src/msgfmt.c:385 src/msgmerge.c:290
+#: src/msgmerge.c:296 src/msgunfmt.c:209 src/msgunfmt.c:215
+#, c-format
+msgid "%s is only valid with %s"
+msgstr ""
 
 # src/msgfmt.c:343
-#: src/msgfmt.c:357
+#: src/msgfmt.c:452
 #, c-format
 msgid "%d translated message"
 msgid_plural "%d translated messages"
@@ -761,7 +1089,7 @@ msgstr[1] "%d p
 msgstr[2] "%d pøelo¾ených zpráv"
 
 # src/msgfmt.c:345
-#: src/msgfmt.c:362
+#: src/msgfmt.c:457
 #, c-format
 msgid ", %d fuzzy translation"
 msgid_plural ", %d fuzzy translations"
@@ -770,7 +1098,7 @@ msgstr[1] ", %d ne
 msgstr[2] ", %d neúplných pøekladù"
 
 # src/msgfmt.c:347
-#: src/msgfmt.c:367
+#: src/msgfmt.c:462
 #, c-format
 msgid ", %d untranslated message"
 msgid_plural ", %d untranslated messages"
@@ -778,17 +1106,17 @@ msgstr[0] ", %d nep
 msgstr[1] ", %d nepøelo¾ené zprávy"
 msgstr[2] ", %d nepøelo¾ených zpráv"
 
-#: src/msgfmt.c:389
+#: src/msgfmt.c:484
 #, c-format, no-wrap
 msgid "Usage: %s [OPTION] filename.po ...\n"
 msgstr ""
 
-#: src/msgfmt.c:394
+#: src/msgfmt.c:489
 #, no-wrap
 msgid "Generate binary message catalog from textual translation description.\n"
 msgstr ""
 
-#: src/msgfmt.c:404
+#: src/msgfmt.c:499
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -797,7 +1125,15 @@ msgid ""
 "If input file is -, standard input is read.\n"
 msgstr ""
 
-#: src/msgfmt.c:412
+#: src/msgfmt.c:507
+#, no-wrap
+msgid ""
+"Operation mode:\n"
+"  -j, --java                  Java mode: generate a Java ResourceBundle class\n"
+"      --java2                 like --java, and assume Java2 (JDK 1.2 or higher)\n"
+msgstr ""
+
+#: src/msgfmt.c:514
 #, no-wrap
 msgid ""
 "Output file location:\n"
@@ -806,15 +1142,35 @@ msgid ""
 "If output file is -, output is written to standard output.\n"
 msgstr ""
 
-#: src/msgfmt.c:420
+#: src/msgfmt.c:522
+#, no-wrap
+msgid ""
+"Output file location in Java mode:\n"
+"  -r, --resource=RESOURCE     resource name\n"
+"  -l, --locale=LOCALE         locale name, either language or language_COUNTRY\n"
+"  -d DIRECTORY                base directory of classes directory hierarchy\n"
+"The class name is determined by appending the locale name to the resource name,\n"
+"separated with an underscore.  The -d option is mandatory.  The class is\n"
+"written under the specified directory.\n"
+msgstr ""
+
+#: src/msgfmt.c:533
 #, no-wrap
 msgid ""
 "Input file interpretation:\n"
-"  -c, --check                 perform language dependent checks on strings\n"
+"  -c, --check                 perform all the checks implied by\n"
+"                                --check-format, --check-header, --check-domain\n"
+"      --check-format          check language dependent format strings\n"
+"      --check-header          verify presence and contents of the header entry\n"
+"      --check-domain          check for conflicts between domain directives\n"
+"                                and the --output-file option\n"
+"  -C, --check-compatibility   check that GNU msgfmt behaves like X/Open msgfmt\n"
+"      --check-accelerators[=CHAR]  check presence of keyboard accelerators for\n"
+"                                menu items\n"
 "  -f, --use-fuzzy             use fuzzy entries in output\n"
 msgstr ""
 
-#: src/msgfmt.c:427
+#: src/msgfmt.c:548
 #, c-format, no-wrap
 msgid ""
 "Output details:\n"
@@ -822,96 +1178,81 @@ msgid ""
 "      --no-hash               binary file will not include the hash table\n"
 msgstr ""
 
-#: src/msgfmt.c:434
+#: src/msgfmt.c:555
 #, no-wrap
 msgid ""
 "Informative output:\n"
 "  -h, --help                  display this help and exit\n"
 "  -V, --version               output version information and exit\n"
 "      --statistics            print statistics about translations\n"
-"  -v, --verbose               list input file anomalies\n"
-"Giving the -v option more than once increases the verbosity level.\n"
+"  -v, --verbose               increase verbosity level\n"
 msgstr ""
 
-# src/msgfmt.c:407
-#: src/msgfmt.c:466
-msgid "while creating hash table"
-msgstr "pøi tvorbì ha¹ovací tabulky"
+#: src/msgfmt.c:707
+msgid "plural expression can produce negative values"
+msgstr ""
 
-#: src/msgfmt.c:504
-#, fuzzy
-msgid "warning: PO file header missing, fuzzy, or invalid\n"
+#: src/msgfmt.c:720
+#, c-format
+msgid "nplurals = %lu but plural expression can produce values as large as %lu"
 msgstr ""
-"%s: upozornìní: chybí hlavièka PO souboru (neúplná nebo neplatná)\n"
-"%*s  upozornìní: pøevod znakové sady nebude fungovat"
 
-#: src/msgfmt.c:507
-#, fuzzy
-msgid "warning: charset conversion will not work\n"
+#: src/msgfmt.c:746
+msgid "plural expression can produce division by zero"
 msgstr ""
-"V hlavièce chybí definice znakové sady.\n"
-"Konverze zpráv do u¾ivatelovy znakové sady není mo¾ná.\n"
 
-# src/msgfmt.c:471
-#: src/msgfmt.c:531
-#, c-format
-msgid "domain name \"%s\" not suitable as file name"
-msgstr "jméno domény \"%s\" není vhodné jako jméno souboru"
+#: src/msgfmt.c:751
+msgid "plural expression can produce integer overflow"
+msgstr ""
 
-# src/msgfmt.c:476
-#: src/msgfmt.c:536
-#, c-format
-msgid "domain name \"%s\" not suitable as file name: will use prefix"
+#: src/msgfmt.c:756
+msgid ""
+"plural expression can produce arithmetic exceptions, possibly division by "
+"zero"
 msgstr ""
-"jméno domény \"%s\" není vhodné jako jméno souboru: bude pou¾ito jako "
-"pøedpona"
 
-# src/msgfmt.c:489
-#. We don't change the exit status here because this is really
-#. only an information.
-#: src/msgfmt.c:549
-#, c-format
-msgid "`domain %s' directive ignored"
-msgstr "pøíkaz `domain %s' ignorován"
+#: src/msgfmt.c:830 src/msgfmt.c:841
+msgid "message catalog has plural form translations..."
+msgstr ""
 
-# src/msgfmt.c:517
-#: src/msgfmt.c:585
-msgid "empty `msgstr' entry ignored"
-msgstr "prázdná polo¾ka `msgstr' ignorována"
+#: src/msgfmt.c:833
+msgid "...but header entry lacks a \"plural=EXPRESSION\" attribute"
+msgstr ""
 
-# src/msgfmt.c:518
-#: src/msgfmt.c:586
-msgid "fuzzy `msgstr' entry ignored"
-msgstr "neúplná polo¾ka `msgstr' ignorována"
+#: src/msgfmt.c:844
+msgid "...but header entry lacks a \"nplurals=INTEGER\" attribute"
+msgstr ""
 
-# src/msgfmt.c:561
-#: src/msgfmt.c:629
-#, c-format
-msgid "headerfield `%s' missing in header"
-msgstr "polo¾ka hlavièky `%s' v hlavièce chybí"
+# src/po-lex.c:332
+#: src/msgfmt.c:868
+#, fuzzy
+msgid "invalid nplurals value"
+msgstr "neplatná øídící sekvence"
 
-# src/msgfmt.c:564
-#: src/msgfmt.c:632
-#, c-format
-msgid "header field `%s' should start at beginning of line"
-msgstr "polo¾ka hlavièky `%s' by mìla zaèínat na zaèátku øádku"
+#: src/msgfmt.c:881
+msgid "invalid plural expression"
+msgstr ""
 
-# src/msgfmt.c:573
-#: src/msgfmt.c:642
-msgid "some header fields still have the initial default value"
-msgstr "nìkteré polo¾ky hlavièky mají stále poèáteèní implicitní hodnotu"
+#: src/msgfmt.c:899 src/msgfmt.c:912
+#, c-format
+msgid "nplurals = %lu..."
+msgstr ""
 
-# src/msgfmt.c:583
-#: src/msgfmt.c:653
+#: src/msgfmt.c:902
 #, c-format
-msgid "field `%s' still has initial default value"
-msgstr "polo¾ka `%s' má stále poèáteèní implicitní hodnotu"
+msgid "...but some messages have only %lu plural forms"
+msgstr ""
 
-# src/msgfmt.c:668
-#: src/msgfmt.c:745
+#: src/msgfmt.c:915
 #, c-format
-msgid "%s: warning: source file contains fuzzy translation"
-msgstr "%s: upozornìní: zdrojový soubor obsahuje neúplný pøeklad"
+msgid "...but some messages have %lu plural forms"
+msgstr ""
+
+#: src/msgfmt.c:930
+msgid ""
+"message catalog has plural form translations, but lacks a header entry with "
+"\"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\""
+msgstr ""
 
 # src/msgfmt.c:870
 #: src/msgfmt.c:968
@@ -945,30 +1286,122 @@ msgstr "ob
 msgid "`msgid' and `msgstr' entries do not both end with '\\n'"
 msgstr "obì polo¾ky `msgid' a `msgstr' nekonèí '\\n'"
 
-# src/msgfmt.c:892
-#: src/msgfmt.c:1047
-msgid "number of format specifications in `msgid' and `msgstr' does not match"
-msgstr "poèet formátovacích specifikátorù v `msgid' a `msgstr' není stejný"
+#: src/msgfmt.c:1041
+msgid "plural handling is a GNU gettext extension"
+msgstr ""
 
-# src/msgfmt.c:909
-#: src/msgfmt.c:1066
+#: src/msgfmt.c:1088
 #, c-format
-msgid "format specifications for argument %lu are not the same"
-msgstr "formátovací specifikátory pro argument %lu nejsou stejné"
+msgid "'msgstr' is not a valid %s format string, unlike 'msgid'"
+msgstr ""
+
+#: src/msgfmt.c:1122
+#, c-format
+msgid "msgstr lacks the keyboard accelerator mark '%c'"
+msgstr ""
+
+#: src/msgfmt.c:1130
+#, c-format
+msgid "msgstr has too many keyboard accelerator marks '%c'"
+msgstr ""
+
+# src/msgfmt.c:561
+#: src/msgfmt.c:1164
+#, c-format
+msgid "headerfield `%s' missing in header"
+msgstr "polo¾ka hlavièky `%s' v hlavièce chybí"
 
-#: src/msggrep.c:354
+# src/msgfmt.c:564
+#: src/msgfmt.c:1167
+#, c-format
+msgid "header field `%s' should start at beginning of line"
+msgstr "polo¾ka hlavièky `%s' by mìla zaèínat na zaèátku øádku"
+
+# src/msgfmt.c:573
+#: src/msgfmt.c:1176
+msgid "some header fields still have the initial default value"
+msgstr "nìkteré polo¾ky hlavièky mají stále poèáteèní implicitní hodnotu"
+
+# src/msgfmt.c:583
+#: src/msgfmt.c:1187
+#, c-format
+msgid "field `%s' still has initial default value"
+msgstr "polo¾ka `%s' má stále poèáteèní implicitní hodnotu"
+
+#: src/msgfmt.c:1228
+#, fuzzy
+msgid "warning: PO file header missing or invalid\n"
+msgstr ""
+"%s: upozornìní: chybí hlavièka PO souboru (neúplná nebo neplatná)\n"
+"%*s  upozornìní: pøevod znakové sady nebude fungovat"
+
+#: src/msgfmt.c:1231
+#, fuzzy
+msgid "warning: charset conversion will not work\n"
+msgstr ""
+"V hlavièce chybí definice znakové sady.\n"
+"Konverze zpráv do u¾ivatelovy znakové sady není mo¾ná.\n"
+
+#: src/msgfmt.c:1241
+#, fuzzy
+msgid "warning: PO file header fuzzy\n"
+msgstr ""
+"%s: upozornìní: chybí hlavièka PO souboru (neúplná nebo neplatná)\n"
+"%*s  upozornìní: pøevod znakové sady nebude fungovat"
+
+#: src/msgfmt.c:1243
+msgid "warning: older versions of msgfmt will give an error on this\n"
+msgstr ""
+
+# src/msgfmt.c:471
+#: src/msgfmt.c:1268
+#, c-format
+msgid "domain name \"%s\" not suitable as file name"
+msgstr "jméno domény \"%s\" není vhodné jako jméno souboru"
+
+# src/msgfmt.c:476
+#: src/msgfmt.c:1273
+#, c-format
+msgid "domain name \"%s\" not suitable as file name: will use prefix"
+msgstr ""
+"jméno domény \"%s\" není vhodné jako jméno souboru: bude pou¾ito jako "
+"pøedpona"
+
+# src/msgfmt.c:489
+#: src/msgfmt.c:1284
+#, c-format
+msgid "`domain %s' directive ignored"
+msgstr "pøíkaz `domain %s' ignorován"
+
+# src/msgfmt.c:517
+#: src/msgfmt.c:1356
+msgid "empty `msgstr' entry ignored"
+msgstr "prázdná polo¾ka `msgstr' ignorována"
+
+# src/msgfmt.c:518
+#: src/msgfmt.c:1357
+msgid "fuzzy `msgstr' entry ignored"
+msgstr "neúplná polo¾ka `msgstr' ignorována"
+
+# src/msgfmt.c:668
+#: src/msgfmt.c:1426
+#, c-format
+msgid "%s: warning: source file contains fuzzy translation"
+msgstr "%s: upozornìní: zdrojový soubor obsahuje neúplný pøeklad"
+
+#: src/msggrep.c:359
 #, c-format
 msgid "option '%c' cannot be used before 'K' or 'T' has been specified"
 msgstr ""
 
-#: src/msggrep.c:376
+#: src/msggrep.c:381
 #, no-wrap
 msgid ""
 "Extracts all messages of a translation catalog that match a given pattern\n"
 "or belong to some given source files.\n"
 msgstr ""
 
-#: src/msggrep.c:403
+#: src/msggrep.c:408
 #, no-wrap
 msgid ""
 "Message selection:\n"
@@ -977,8 +1410,15 @@ msgid ""
 "or if it comes from one of the specified domains,\n"
 "or if -K is given and its key (msgid or msgid_plural) matches MSGID-PATTERN,\n"
 "or if -T is given and its translation (msgstr) matches MSGSTR-PATTERN.\n"
+"\n"
+"When more than one selection criterion is specified, the set of selected\n"
+"messages is the union of the selected messages of each criterion.\n"
+"\n"
+"MSGID-PATTERN or MSGSTR-PATTERN syntax:\n"
+"  [-E | -F] [-e PATTERN | -f FILE]...\n"
 "PATTERNs are basic regular expressions by default, or extended regular\n"
 "expressions if -E is given, or fixed strings if -F is given.\n"
+"\n"
 "  -N, --location=SOURCEFILE   select messages extracted from SOURCEFILE\n"
 "  -M, --domain=DOMAINNAME     select messages belonging to domain DOMAINNAME\n"
 "  -K, --msgid                 start of patterns for the msgid\n"
@@ -991,7 +1431,7 @@ msgid ""
 msgstr ""
 
 # src/msgmerge.c:303
-#: src/msggrep.c:424
+#: src/msggrep.c:436
 #, fuzzy, no-wrap
 msgid ""
 "Output details:\n"
@@ -1003,7 +1443,7 @@ msgid ""
 "      --add-location          preserve '#: filename:line' lines (default)\n"
 "      --strict                strict Uniforum output style\n"
 "  -w, --width=NUMBER          set output page width\n"
-"      --sort-output           generate sorted output and remove duplicates\n"
+"      --sort-output           generate sorted output\n"
 "      --sort-by-file          sort output by file location\n"
 msgstr ""
 "Pou¾ití: %s [PØEPÍNAÈ] def.po ref.po\n"
@@ -1028,11 +1468,163 @@ msgstr ""
 "  -V, --version            vypí¹e oznaèení verze a ukonèí se\n"
 "  -w, --width=ÈÍSLO        nastaví ¹íøku výstupní stránky\n"
 
-#: src/msggrep.c:498
+#: src/msggrep.c:510
 msgid "write to grep subprocess failed"
 msgstr ""
 
-#: src/msgl-charset.c:88
+#: src/msginit.c:275
+msgid ""
+"You are in a language indifferent environment.  Please set\n"
+"your LANG environment variable, as described in the ABOUT-NLS\n"
+"file.  This is necessary so you can test your translations.\n"
+msgstr ""
+
+#: src/msginit.c:303
+#, c-format
+msgid ""
+"Output file %s already exists.\n"
+"Please specify the locale through the --locale option or\n"
+"the output .po file through the --output-file option.\n"
+msgstr ""
+
+#: src/msginit.c:326
+#, c-format
+msgid "Created %s.\n"
+msgstr ""
+
+#: src/msginit.c:348
+#, no-wrap
+msgid ""
+"Creates a new PO file, initializing the meta information with values from the\n"
+"user's environment.\n"
+msgstr ""
+
+#: src/msginit.c:359
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  -i, --input=INPUTFILE       input POT file\n"
+"If no input file is given, the current directory is searched for the POT file.\n"
+"If it is -, standard input is read.\n"
+msgstr ""
+
+#: src/msginit.c:367
+#, no-wrap
+msgid ""
+"Output file location:\n"
+"  -o, --output-file=FILE      write output to specified PO file\n"
+"If no output file is given, it depends on the --locale option or the user's\n"
+"locale setting.  If it is -, the results are written to standard output.\n"
+msgstr ""
+
+#: src/msginit.c:375
+#, no-wrap
+msgid ""
+"Output details:\n"
+"  -l, --locale=LL_CC          set target locale\n"
+"      --no-translator         assume the PO file is automatically generated\n"
+"  -w, --width=NUMBER          set output page width\n"
+msgstr ""
+
+#: src/msginit.c:426
+msgid ""
+"Found more than one .pot file.\n"
+"Please specify the input .pot file through the --input option.\n"
+msgstr ""
+
+#: src/msginit.c:434 src/msginit.c:439
+msgid "error reading current directory"
+msgstr ""
+
+#: src/msginit.c:447
+msgid ""
+"Found no .pot file in the current directory.\n"
+"Please specify the input .pot file through the --input option.\n"
+msgstr ""
+
+#: src/msginit.c:887 src/msginit.c:932 src/msginit.c:1070 src/msginit.c:1137
+#: src/read-java.c:80
+msgid "fdopen() failed"
+msgstr ""
+
+#: src/msginit.c:892 src/msginit.c:937 src/msginit.c:1075
+#, c-format
+msgid "%s subprocess I/O error"
+msgstr ""
+
+#: src/msginit.c:901 src/msginit.c:946 src/msginit.c:1084 src/msginit.c:1151
+#: src/read-java.c:90
+#, c-format
+msgid "%s subprocess failed with exit code %d"
+msgstr ""
+
+#: src/msginit.c:1060
+msgid ""
+"The new message catalog should contain your email address, so that users "
+"can\n"
+"give you feedback about the translations, and so that maintainers can "
+"contact\n"
+"you in case of unexpected technical problems.\n"
+msgstr ""
+
+#. TRANSLATORS: "English" needs to be replaced by your language.
+#. For example in it.po write "Traduzioni italiani ...",
+#. *not* "Traduzioni inglesi ...".
+#: src/msginit.c:1440
+#, c-format
+msgid "English translations for %s package"
+msgstr ""
+
+#: src/msgl-cat.c:173 src/msgl-charset.c:86 src/msgl-iconv.c:299
+#, c-format
+msgid "present charset \"%s\" is not a portable encoding name"
+msgstr ""
+
+#: src/msgl-cat.c:181 src/msgl-iconv.c:307
+#, c-format
+msgid "two different charsets \"%s\" and \"%s\" in input file"
+msgstr ""
+
+#: src/msgl-cat.c:194
+#, c-format
+msgid ""
+"input file `%s' doesn't contain a header entry with a charset specification"
+msgstr ""
+
+#: src/msgl-cat.c:198
+#, c-format
+msgid ""
+"domain \"%s\" in input file `%s' doesn't contain a header entry with a "
+"charset specification"
+msgstr ""
+
+#: src/msgl-cat.c:359 src/msgl-iconv.c:382
+#, c-format
+msgid "target charset \"%s\" is not a portable encoding name."
+msgstr ""
+
+#: src/msgl-cat.c:409 src/msgl-cat.c:415 src/msgl-charset.c:91
+#: src/msgl-charset.c:126 src/write-po.c:723 src/write-po.c:817
+#, fuzzy
+msgid "warning: "
+msgstr "%s: upozornìní: "
+
+#: src/msgl-cat.c:410
+msgid ""
+"Input files contain messages in different encodings, UTF-8 among others.\n"
+"Converting the output to UTF-8.\n"
+msgstr ""
+
+#: src/msgl-cat.c:416
+#, c-format
+msgid ""
+"Input files contain messages in different encodings, %s and %s among "
+"others.\n"
+"Converting the output to UTF-8.\n"
+"To select a different output encoding, use the --to-code option.\n"
+msgstr ""
+
+#: src/msgl-charset.c:92
 #, c-format
 msgid ""
 "Locale charset \"%s\" is different from\n"
@@ -1041,12 +1633,12 @@ msgid ""
 "Possible workarounds are:\n"
 msgstr ""
 
-#: src/msgl-charset.c:95
+#: src/msgl-charset.c:99
 #, c-format
 msgid "- Set LC_ALL to a locale with encoding %s.\n"
 msgstr ""
 
-#: src/msgl-charset.c:100
+#: src/msgl-charset.c:104
 #, c-format
 msgid ""
 "- Convert the translation catalog to %s using 'msgconv',\n"
@@ -1054,7 +1646,7 @@ msgid ""
 "  then convert back to %s using 'msgconv'.\n"
 msgstr ""
 
-#: src/msgl-charset.c:109
+#: src/msgl-charset.c:113
 #, c-format
 msgid ""
 "- Set LC_ALL to a locale with encoding %s,\n"
@@ -1063,7 +1655,7 @@ msgid ""
 "  then convert back to %s using 'msgconv'.\n"
 msgstr ""
 
-#: src/msgl-charset.c:123
+#: src/msgl-charset.c:127
 #, c-format
 msgid ""
 "Locale charset \"%s\" is not a portable encoding name.\n"
@@ -1071,15 +1663,15 @@ msgid ""
 "A possible workaround is to set LC_ALL=C.\n"
 msgstr ""
 
-#: src/msgl-iconv.c:192 src/msgl-iconv.c:246
+#: src/msgl-iconv.c:200 src/msgl-iconv.c:254
 msgid "conversion failure"
 msgstr ""
 
-#: src/msgl-iconv.c:317
+#: src/msgl-iconv.c:328
 msgid "input file doesn't contain a header entry with a charset specification"
 msgstr ""
 
-#: src/msgl-iconv.c:334
+#: src/msgl-iconv.c:346
 #, fuzzy, c-format
 msgid ""
 "Cannot convert from \"%s\" to \"%s\". %s relies on iconv(), and iconv() does "
@@ -1088,7 +1680,7 @@ msgstr ""
 "Znaková sada \"%s\" není podporována. %s spoléhá na iconv()\n"
 "a iconv() \"%s\" nepodporuje.\n"
 
-#: src/msgl-iconv.c:350
+#: src/msgl-iconv.c:362
 #, fuzzy, c-format
 msgid ""
 "Cannot convert from \"%s\" to \"%s\". %s relies on iconv(). This version was "
@@ -1097,8 +1689,12 @@ msgstr ""
 "Znaková sada \"%s\" není podporována. %s spoléhá na iconv().\n"
 "Tato verze byla kompilována bez iconv().\n"
 
+#: src/msgmerge.c:340
+msgid "backup type"
+msgstr ""
+
 # src/msgmerge.c:321
-#: src/msgmerge.c:283
+#: src/msgmerge.c:377
 #, fuzzy, no-wrap
 msgid ""
 "Merges two Uniforum style .po files together.  The def.po file is an\n"
@@ -1123,7 +1719,7 @@ msgstr ""
 "základì podobnosti vzorù. Tím je dosa¾eno lep¹ího slití obou katalogù.\n"
 "  Není-li výstupní soubor urèen, výsledek bude vypisován na standardní výstup.\n"
 
-#: src/msgmerge.c:301
+#: src/msgmerge.c:395
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -1134,7 +1730,32 @@ msgid ""
 "                              may be specified more than once\n"
 msgstr ""
 
-#: src/msgmerge.c:340
+#: src/msgmerge.c:405
+#, no-wrap
+msgid ""
+"Operation mode:\n"
+"  -U, --update                update def.po,\n"
+"                              do nothing if def.po already up to date\n"
+msgstr ""
+
+#: src/msgmerge.c:420
+#, no-wrap
+msgid ""
+"Output file location in update mode:\n"
+"The result is written back to def.po.\n"
+"      --backup=CONTROL        make a backup of def.po\n"
+"      --suffix=SUFFIX         override the usual backup suffix\n"
+"The version control method may be selected via the --backup option or through\n"
+"the VERSION_CONTROL environment variable.  Here are the values:\n"
+"  none, off       never make backups (even if --backup is given)\n"
+"  numbered, t     make numbered backups\n"
+"  existing, nil   numbered if numbered backups exist, simple otherwise\n"
+"  simple, never   always make simple backups\n"
+"The backup suffix is `~', unless set with --suffix or the SIMPLE_BACKUP_SUFFIX\n"
+"environment variable.\n"
+msgstr ""
+
+#: src/msgmerge.c:457
 #, no-wrap
 msgid ""
 "Informative output:\n"
@@ -1144,8 +1765,20 @@ msgid ""
 "  -q, --quiet, --silent       suppress progress indicators\n"
 msgstr ""
 
+# src/msgcmp.c:267 src/msgmerge.c:740
+#: src/msgmerge.c:625
+#, fuzzy
+msgid "this message should define plural forms"
+msgstr "tato zpráva je pou¾ita, ale nikoli definována v %s"
+
+# src/msgcmp.c:267 src/msgmerge.c:740
+#: src/msgmerge.c:648
+#, fuzzy
+msgid "this message should not define plural forms"
+msgstr "tato zpráva je pou¾ita, ale nikoli definována v %s"
+
 # src/msgmerge.c:769
-#: src/msgmerge.c:578
+#: src/msgmerge.c:779
 #, c-format
 msgid ""
 "%sRead %ld old + %ld reference, merged %ld, fuzzied %ld, missing %ld, "
@@ -1155,100 +1788,34 @@ msgstr ""
 "chybí %ld, zastaralých %ld.\n"
 
 # src/msgmerge.c:775
-#: src/msgmerge.c:586
+#: src/msgmerge.c:787
 msgid " done.\n"
 msgstr " dokonèeno.\n"
 
-#: src/msgsed.c:267
-#, fuzzy
-msgid "at least one sed script must be specified"
-msgstr "musí být zadány nejménì dva rùzné soubory"
-
-#: src/msgsed.c:323
-#, no-wrap
-msgid "Applies a sed script to all translations of a translation catalog.\n"
-msgstr ""
-
-#: src/msgsed.c:349
-#, no-wrap
-msgid ""
-"Sed options:\n"
-"  -e, --expression=SCRIPT     add SCRIPT to the commands to be executed\n"
-"  -f, --file=SCRIPTFILE       add the contents of SCRIPTFILE to the commands\n"
-"                                to be executed\n"
-"  -n, --quiet, --silent       suppress automatic printing of pattern space\n"
-msgstr ""
-
-# src/msgmerge.c:303
-#: src/msgsed.c:358
-#, fuzzy, no-wrap
-msgid ""
-"Output details:\n"
-"      --no-escape             do not use C escapes in output (default)\n"
-"  -E, --escape                use C escapes in output, no extended chars\n"
-"      --force-po              write PO file even if empty\n"
-"  -i, --indent                indented output style\n"
-"      --no-location           suppress '#: filename:line' lines\n"
-"      --add-location          preserve '#: filename:line' lines (default)\n"
-"      --strict                strict Uniforum output style\n"
-"  -w, --width=NUMBER          set output page width\n"
-"  -s, --sort-output           generate sorted output and remove duplicates\n"
-"  -F, --sort-by-file          sort output by file location\n"
-msgstr ""
-"Pou¾ití: %s [PØEPÍNAÈ] def.po ref.po\n"
-"  Argumenty povinné pro dlouhé pøepínaèe, jsou té¾ povinné pro jejich krátké\n"
-"formy.\n"
-"\n"
-"  -C, --compendium=SOUBOR  pøídavná knihovna pøekladù zpráv. Mù¾e být zadána\n"
-"                           více ne¾ jednou.\n"
-"  -D, --directory=ADRESÁØ  pøidá ADRESÁØ do seznamu adresáøù pro hledání\n"
-"                           vstupních souborù\n"
-"  -e, --no-escape          zaká¾e C escape sekvence ve výstupu (implicitní)\n"
-"  -E, --escape             pou¾ije C escape sekvence ve výstupu, bez\n"
-"                           roz¹íøených znakù\n"
-"      --force-po           zapí¹e .po soubor, i kdy¾ je prázdný\n"
-"  -h, --help               vypí¹e tuto nápovìdu a ukonèí se\n"
-"  -i, --indent             odsazený výstupní styl\n"
-"  -o, --output-file=SOUBOR výsledek bude zapsán do SOUBORu\n"
-"      --no-location        potlaèí øádky '#: jméno_souboru:øádka'\n"
-"      --add-location       zaøadí øádky '#: jméno_souboru:øádka' (implicitní)\n"
-"      --strict             zpùsobí pøísné dodr¾ování stylu Uniforum\n"
-"  -v, --verbose            zvý¹ení mno¾ství vypisovaných informací\n"
-"  -V, --version            vypí¹e oznaèení verze a ukonèí se\n"
-"  -w, --width=ÈÍSLO        nastaví ¹íøku výstupní stránky\n"
-
-#: src/msgsed.c:514
-msgid "cannot set up nonblocking I/O to sed subprocess"
-msgstr ""
-
-#: src/msgsed.c:542
-msgid "communication with sed subprocess failed"
-msgstr ""
-
-#: src/msgsed.c:562
-msgid "write to sed subprocess failed"
-msgstr ""
-
-#: src/msgsed.c:592
-msgid "read from sed subprocess failed"
-msgstr ""
-
-#: src/msgsed.c:608
-#, c-format
-msgid "sed subprocess terminated with exit code %d"
-msgstr ""
+# src/xgettext.c:378 src/xgettext.c:382
+#: src/msgunfmt.c:201
+#, fuzzy, c-format
+msgid "%s and explicit file names are mutually exclusive"
+msgstr "%s a %s se vzájemnì vyluèují"
 
-#: src/msgunfmt.c:224
+#: src/msgunfmt.c:267
 #, c-format, no-wrap
 msgid "Usage: %s [OPTION] [FILE]...\n"
 msgstr ""
 
-#: src/msgunfmt.c:229
+#: src/msgunfmt.c:272
 #, no-wrap
 msgid "Convert binary message catalog to Uniforum style .po file.\n"
 msgstr ""
 
-#: src/msgunfmt.c:239
+#: src/msgunfmt.c:282
+#, no-wrap
+msgid ""
+"Operation mode:\n"
+"  -j, --java               Java mode: generate a Java ResourceBundle class\n"
+msgstr ""
+
+#: src/msgunfmt.c:288
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -1256,7 +1823,17 @@ msgid ""
 "If no input file is given or if it is -, standard input is read.\n"
 msgstr ""
 
-#: src/msgunfmt.c:246
+#: src/msgunfmt.c:295
+#, no-wrap
+msgid ""
+"Input file location in Java mode:\n"
+"  -r, --resource=RESOURCE  resource name\n"
+"  -l, --locale=LOCALE      locale name, either language or language_COUNTRY\n"
+"The class name is determined by appending the locale name to the resource name,\n"
+"separated with an underscore.  The class is located using the CLASSPATH.\n"
+msgstr ""
+
+#: src/msgunfmt.c:304
 #, no-wrap
 msgid ""
 "Output file location:\n"
@@ -1266,7 +1843,7 @@ msgid ""
 msgstr ""
 
 # src/msgunfmt.c:215
-#: src/msgunfmt.c:254
+#: src/msgunfmt.c:312
 #, fuzzy, no-wrap
 msgid ""
 "Output details:\n"
@@ -1276,7 +1853,7 @@ msgid ""
 "  -i, --indent             write indented output style\n"
 "      --strict             write strict uniforum style\n"
 "  -w, --width=NUMBER       set output page width\n"
-"  -s, --sort-output        generate sorted output and remove duplicates\n"
+"  -s, --sort-output        generate sorted output\n"
 msgstr ""
 "Pou¾ití: %s [PØEPÍNAÈ] [SOUBOR]...\n"
 "  Argumenty povinné pro dlouhé pøepínaèe, jsou té¾ povinné pro jejich krátké\n"
@@ -1293,50 +1870,42 @@ msgstr ""
 "  -V, --version            vypí¹e oznaèení verze a ukonèí se\n"
 "  -w, --width=ÈÍSLO        nastaví ¹íøku výstupní stránky\n"
 
-#: src/msgunfmt.c:266
+#: src/msgunfmt.c:324
 #, no-wrap
 msgid ""
 "Informative output:\n"
 "  -h, --help               display this help and exit\n"
 "  -V, --version            output version information and exit\n"
+"  -v, --verbose            increase verbosity level\n"
 msgstr ""
 
-# src/msgunfmt.c:266 src/msgunfmt.c:330 src/po-lex.c:185 src/xget-lex.c:254
-#: src/msgunfmt.c:294 src/msgunfmt.c:359 src/po-lex.c:213 src/xget-lex.c:245
-#, c-format
-msgid "error while reading \"%s\""
-msgstr "chyba pøi ètení \"%s\""
-
-# src/msgunfmt.c:267 src/msgunfmt.c:331
-#: src/msgunfmt.c:295 src/msgunfmt.c:360
-#, c-format
-msgid "file \"%s\" truncated"
-msgstr "soubor \"%s\" je useknutý"
-
-# src/msgunfmt.c:298
-#: src/msgunfmt.c:326
-#, c-format
-msgid "seek \"%s\" offset %ld failed"
-msgstr "posun v souboru \"%s\" na pozici %ld selhal"
-
-# src/msgunfmt.c:373
-#: src/msgunfmt.c:365
-#, c-format
-msgid "file \"%s\" contains a not NUL terminated string"
-msgstr "soubor \"%s\" obsahuje øetìzec, který není ukonèen NUL"
+#: src/msguniq.c:279
+#, no-wrap
+msgid ""
+"Unifies duplicate translations in a translation catalog.\n"
+"Finds duplicate translations of the same message ID.  Such duplicates are\n"
+"invalid input for other programs like msgfmt, msgmerge or msgcat.  By\n"
+"default, duplicates are merged together.  When using the --repeated option,\n"
+"only duplicates are output, and all other messages are discarded.  Comments\n"
+"and extracted comments will be cumulated, except that if --use-first is\n"
+"specified, they will be taken from the first translation.  File positions\n"
+"will be cumulated.  When using the --unique option, duplicates are discarded.\n"
+msgstr ""
 
-# src/msgunfmt.c:373
-#: src/msgunfmt.c:410
-#, c-format
-msgid "file \"%s\" is not in GNU .mo format"
-msgstr "soubor \"%s\" není v GNU .mo formátu"
+#: src/msguniq.c:312
+#, no-wrap
+msgid ""
+"Message selection:\n"
+"  -d, --repeated                 print only duplicates\n"
+"  -u, --unique                   print only unique messages, discard duplicates\n"
+msgstr ""
 
-#: src/ngettext.c:213
+#: src/ngettext.c:215
 #, c-format, no-wrap
 msgid "Usage: %s [OPTION] [TEXTDOMAIN] MSGID MSGID-PLURAL COUNT\n"
 msgstr ""
 
-#: src/ngettext.c:218
+#: src/ngettext.c:220
 #, no-wrap
 msgid ""
 "Display native language translation of a textual message whose grammatical\n"
@@ -1344,7 +1913,7 @@ msgid ""
 msgstr ""
 
 # src/gettextp.c:233
-#: src/ngettext.c:223
+#: src/ngettext.c:225
 #, fuzzy, no-wrap
 msgid ""
 "  -d, --domain=TEXTDOMAIN   retrieve translated message from TEXTDOMAIN\n"
@@ -1370,7 +1939,7 @@ msgstr ""
 "                             pøeklad\n"
 
 # src/gettextp.c:245
-#: src/ngettext.c:234
+#: src/ngettext.c:236
 #, fuzzy, c-format, no-wrap
 msgid ""
 "If the TEXTDOMAIN parameter is not given, the domain is determined from the\n"
@@ -1386,17 +1955,17 @@ msgstr ""
 "v promìnné prostøedí TEXTDOMAINDIR.\n"
 "  Adresáø, ve kterém se hledá: %s\n"
 
-#: src/open-po.c:64
+#: src/open-po.c:69
 msgid "<stdin>"
 msgstr "<standardní vstup>"
 
-#: src/po-charset.c:145 src/po-charset.c:213 src/po-charset.c:239
-#: src/po-charset.c:265
+#: src/po-charset.c:172 src/po-charset.c:240 src/po-charset.c:268
+#: src/po-charset.c:294
 #, c-format
 msgid "%s: warning: "
 msgstr "%s: upozornìní: "
 
-#: src/po-charset.c:146
+#: src/po-charset.c:173
 #, c-format
 msgid ""
 "Charset \"%s\" is not a portable encoding name.\n"
@@ -1405,15 +1974,15 @@ msgstr ""
 "Oznaèení znakové sady \"%s\" není portabilní název kódování. \n"
 "Pøevod znakù do u¾ivatelské znakové sady nebude fungovat.\n"
 
-#: src/po-charset.c:209 src/po-charset.c:237
+#: src/po-charset.c:236 src/po-charset.c:266
 msgid "Continuing anyway, expect parse errors."
 msgstr "Pokraèuji, pøedpokládána chyba parsingu."
 
-#: src/po-charset.c:211
+#: src/po-charset.c:238
 msgid "Continuing anyway."
 msgstr "Pokraèuji."
 
-#: src/po-charset.c:214
+#: src/po-charset.c:241
 #, c-format
 msgid ""
 "Charset \"%s\" is not supported. %s relies on iconv(),\n"
@@ -1422,7 +1991,7 @@ msgstr ""
 "Znaková sada \"%s\" není podporována. %s spoléhá na iconv()\n"
 "a iconv() \"%s\" nepodporuje.\n"
 
-#: src/po-charset.c:223 src/po-charset.c:247
+#: src/po-charset.c:250 src/po-charset.c:276
 msgid ""
 "Installing GNU libiconv and then reinstalling GNU gettext\n"
 "would fix this problem.\n"
@@ -1430,12 +1999,12 @@ msgstr ""
 "Instalace GNU libiconv a následná reinstalace GNU gettextu\n"
 "mù¾e napravit tento problém.\n"
 
-#: src/po-charset.c:228 src/po-charset.c:251
+#: src/po-charset.c:255 src/po-charset.c:280
 #, c-format
 msgid "%s\n"
 msgstr "%s\n"
 
-#: src/po-charset.c:240
+#: src/po-charset.c:269
 #, c-format
 msgid ""
 "Charset \"%s\" is not supported. %s relies on iconv().\n"
@@ -1444,7 +2013,7 @@ msgstr ""
 "Znaková sada \"%s\" není podporována. %s spoléhá na iconv().\n"
 "Tato verze byla kompilována bez iconv().\n"
 
-#: src/po-charset.c:266
+#: src/po-charset.c:295
 msgid ""
 "Charset missing in header.\n"
 "Message conversion to user's charset will not work.\n"
@@ -1452,143 +2021,233 @@ msgstr ""
 "V hlavièce chybí definice znakové sady.\n"
 "Konverze zpráv do u¾ivatelovy znakové sady není mo¾ná.\n"
 
-#: po-gram-gen.y:88
+#: po-gram-gen.y:91
 msgid "inconsistent use of #~"
 msgstr "nekonzistentní pou¾ití #~"
 
 # ../../src/po-gram.y:83
-#: po-gram-gen.y:178
+#: po-gram-gen.y:181
 msgid "missing `msgstr[]' section"
 msgstr "chybí sekce `msgstr[]'"
 
 # ../../src/po-gram.y:83
-#: po-gram-gen.y:186
+#: po-gram-gen.y:189
 msgid "missing `msgid_plural' section"
 msgstr "chybí sekce `msgid_plural'"
 
 # ../../src/po-gram.y:83
-#: po-gram-gen.y:193
+#: po-gram-gen.y:196
 msgid "missing `msgstr' section"
 msgstr "chybí sekce `msgstr'"
 
-#: po-gram-gen.y:238
+#: po-gram-gen.y:241
 msgid "first plural form has nonzero index"
 msgstr "první mno¾né èíslo má nenulový index"
 
-#: po-gram-gen.y:240
+#: po-gram-gen.y:243
 msgid "plural form has wrong index"
 msgstr "mno¾né èíslo má chybný index"
 
 # src/po-lex.c:129 src/po-lex.c:168
-#. CAUTION: If you change this macro, you must also make identical
-#. changes to the function of the same name in src/po-lex.c
-#: src/po-lex.c:152 src/po-lex.c:195 src/po-lex.h:77 src/po-lex.h:93
-#: src/po-lex.h:111 src/po-lex.h:127
+#: src/po-lex.h:91 src/po-lex.h:106 src/po-lex.h:126 src/po-lex.h:141
+#: src/po-lex.c:135 src/po-lex.c:176
 msgid "too many errors, aborting"
 msgstr "pøíli¹ mnoho chyb, konèím"
 
+#: src/po-lex.c:545 src/write-po.c:331 src/write-po.c:421
+msgid "invalid multibyte sequence"
+msgstr "neplatná víceznaková sekvence"
+
+#: src/po-lex.c:571
+#, fuzzy
+msgid "incomplete multibyte sequence at end of file"
+msgstr "neplatná víceznaková sekvence"
+
+#: src/po-lex.c:581
+#, fuzzy
+msgid "incomplete multibyte sequence at end of line"
+msgstr "neplatná víceznaková sekvence"
+
+#: src/po-lex.c:589
+msgid "iconv failure"
+msgstr ""
+
+# src/msgunfmt.c:266 src/msgunfmt.c:330 src/po-lex.c:185 src/xget-lex.c:254
+#: src/po-lex.c:763 src/read-mo.c:70 src/read-mo.c:135 src/x-c.c:216
+#: src/x-rst.c:227 src/x-ycp.c:103
+#, c-format
+msgid "error while reading \"%s\""
+msgstr "chyba pøi ètení \"%s\""
+
 # src/po-lex.c:241
-#: src/po-lex.c:271
+#: src/po-lex.c:829
 #, c-format
 msgid "keyword \"%s\" unknown"
 msgstr "klíèové slovo \"%s\" není známo"
 
 # src/po-lex.c:332
-#: src/po-lex.c:374
+#: src/po-lex.c:939
 msgid "invalid control sequence"
 msgstr "neplatná øídící sekvence"
 
 # src/po-lex.c:420
-#: src/po-lex.c:477
+#: src/po-lex.c:1047
 msgid "end-of-file within string"
 msgstr "konec souboru uprostøed øetìzce"
 
 # src/po-lex.c:415
-#: src/po-lex.c:482
+#: src/po-lex.c:1053
 msgid "end-of-line within string"
 msgstr "konec øádku uprostøed øetìzce"
 
-#: src/po-lex.c:525 src/write-po.c:291 src/write-po.c:373
-msgid "invalid multibyte sequence"
-msgstr "neplatná víceznaková sekvence"
+# src/msgunfmt.c:267 src/msgunfmt.c:331
+#: src/read-mo.c:71 src/read-mo.c:136
+#, c-format
+msgid "file \"%s\" truncated"
+msgstr "soubor \"%s\" je useknutý"
+
+# src/msgunfmt.c:298
+#: src/read-mo.c:102
+#, c-format
+msgid "seek \"%s\" offset %ld failed"
+msgstr "posun v souboru \"%s\" na pozici %ld selhal"
+
+# src/msgunfmt.c:373
+#: src/read-mo.c:141
+#, c-format
+msgid "file \"%s\" contains a not NUL terminated string"
+msgstr "soubor \"%s\" obsahuje øetìzec, který není ukonèen NUL"
+
+# src/msgunfmt.c:373
+#: src/read-mo.c:186
+#, c-format
+msgid "file \"%s\" is not in GNU .mo format"
+msgstr "soubor \"%s\" není v GNU .mo formátu"
+
+#: src/write-java.c:1108
+msgid "cannot find a temporary directory, try setting $TMPDIR"
+msgstr ""
+
+# src/message.c:1115
+#: src/write-java.c:1118
+#, fuzzy, c-format
+msgid "cannot create a temporary directory using template \"%s\""
+msgstr "výstupní soubor \"%s\" nelze vytvoøit"
+
+#: src/write-java.c:1131
+#, c-format
+msgid "not a valid Java class name: %s"
+msgstr ""
+
+#: src/write-java.c:1188 src/write-java.c:1201
+#, c-format
+msgid "failed to create \"%s\""
+msgstr ""
+
+# src/message.c:1182
+#: src/write-java.c:1209 src/write-mo.c:289 src/write-po.c:966
+#, c-format
+msgid "error while writing \"%s\" file"
+msgstr "chyba pøi zápisu do souboru \"%s\""
+
+#: src/write-java.c:1223
+msgid "compilation of Java class failed, please try --verbose or set $JAVAC"
+msgstr ""
+
+# src/msgfmt.c:321
+#: src/write-mo.c:277
+#, c-format
+msgid "error while opening \"%s\" for writing"
+msgstr "chyba pøi otevírání souboru \"%s\" pro zápis"
 
 # src/message.c:784
-#: src/write-po.c:322
+#: src/write-po.c:370
 #, c-format
 msgid ""
 "internationalized messages should not contain the `\\%c' escape sequence"
 msgstr "zprávy katalogu nesmí obsahovat escape sekvenci `\\%c'"
 
+#: src/write-po.c:724 src/write-po.c:818
+#, c-format
+msgid ""
+"The following msgid contains non-ASCII characters.\n"
+"This will cause problems to translators who use a character encoding\n"
+"different from yours. Consider using a pure ASCII msgid instead.\n"
+"%s\n"
+msgstr ""
+
 # src/message.c:1115
-#: src/write-po.c:816
+#: src/write-po.c:885
 #, c-format
 msgid "cannot create output file \"%s\""
 msgstr "výstupní soubor \"%s\" nelze vytvoøit"
 
 # src/message.c:1122
-#: src/write-po.c:823
+#: src/write-po.c:892
 #, no-c-format
 msgid "standard output"
 msgstr "standardní výstup"
 
-# src/message.c:1182
-#: src/write-po.c:893
-#, c-format
-msgid "error while writing \"%s\" file"
-msgstr "chyba pøi zápisu do souboru \"%s\""
-
-# src/xget-lex.c:150
-#: src/xget-lex.c:150
-msgid "standard input"
-msgstr "standardní vstup"
-
 # src/xget-lex.c:892
-#: src/xget-lex.c:879
+#: src/x-c.c:858
 #, c-format
 msgid "%s:%d: warning: unterminated character constant"
 msgstr "%s:%d: upozornìní: neukonèená znaková konstanta"
 
 # src/xget-lex.c:914
-#: src/xget-lex.c:903
+#: src/x-c.c:882
 #, c-format
 msgid "%s:%d: warning: unterminated string literal"
 msgstr "%s:%d: upozornìní: neukonèený øetìzec literálù"
 
-# src/xgettext.c:340 src/xgettext.c:1256
-#. We are about to construct the absolute path to the
-#. directory for the output files but asprintf failed.
-#: src/xgettext.c:325 src/xgettext.c:1368
-msgid "while preparing output"
-msgstr "pøi pøípravì výstupu"
+# src/xgettext.c:658 src/xgettext.c:968
+#: src/x-po.c:106 src/xgettext.c:605
+msgid "this file may not contain domain directives"
+msgstr "tento soubor nemù¾e obsahovat pøíkazy pro doménu"
+
+#: src/x-rst.c:108
+#, c-format
+msgid "%s:%d: invalid string definition"
+msgstr ""
+
+#: src/x-rst.c:168
+#, c-format
+msgid "%s:%d: missing number after #"
+msgstr ""
+
+#: src/x-rst.c:203
+#, c-format
+msgid "%s:%d: invalid string expression"
+msgstr ""
 
 # src/xgettext.c:386
-#: src/xgettext.c:371
+#: src/xgettext.c:375
 msgid "--join-existing cannot be used when output is written to stdout"
 msgstr "--join-existing nemù¾e být pou¾it, je-li výstup zapisován do stdout"
 
-#: src/xgettext.c:376
+#: src/xgettext.c:380
 msgid "xgettext cannot work without keywords to look for"
 msgstr "xgettext nemù¾e pracovat bez toho, ani¾ by znal slova, která má hledat"
 
 # src/xgettext.c:501
-#: src/xgettext.c:482
+#: src/xgettext.c:468
 #, c-format
 msgid "warning: file `%s' extension `%s' is unknown; will try C"
 msgstr "upozornìní: pøípona `%2$s' souboru `%1$s' není známa; zkusím C"
 
-#: src/xgettext.c:523
+#: src/xgettext.c:509
 #, no-wrap
 msgid "Extract translatable strings from given input files.\n"
 msgstr ""
 
-#: src/xgettext.c:528
+#: src/xgettext.c:514
 #, no-wrap
 msgid ""
 "Mandatory arguments to long options are mandatory for short options too.\n"
 "Similarly for optional arguments.\n"
 msgstr ""
 
-#: src/xgettext.c:543
+#: src/xgettext.c:529
 #, no-wrap
 msgid ""
 "Output file location:\n"
@@ -1598,16 +2257,17 @@ msgid ""
 "If output file is -, output is written to standard output.\n"
 msgstr ""
 
-#: src/xgettext.c:552
+#: src/xgettext.c:538
 #, no-wrap
 msgid ""
 "Choice of input file language:\n"
-"  -L, --language=NAME            recognise the specified language (C, C++, PO)\n"
+"  -L, --language=NAME            recognise the specified language\n"
+"                                   (C, C++, ObjectiveC, PO, Java, YCP)\n"
 "  -C, --c++                      shorthand for --language=C++\n"
 "By default the language is guessed depending on the input file name extension.\n"
 msgstr ""
 
-#: src/xgettext.c:560
+#: src/xgettext.c:547
 #, no-wrap
 msgid ""
 "Operation mode:\n"
@@ -1617,7 +2277,7 @@ msgid ""
 "                                 preceding keyword lines) in output file\n"
 msgstr ""
 
-#: src/xgettext.c:569
+#: src/xgettext.c:556
 #, no-wrap
 msgid ""
 "Language=C/C++ specific options:\n"
@@ -1628,8 +2288,9 @@ msgid ""
 "      --debug                    more detailed formatstring recognition result\n"
 msgstr ""
 
-#: src/xgettext.c:579
-#, no-wrap
+# src/msgmerge.c:303
+#: src/xgettext.c:566
+#, fuzzy, no-wrap
 msgid ""
 "Output details:\n"
 "  -e, --no-escape                do not use C escapes in output (default)\n"
@@ -1640,33 +2301,73 @@ msgid ""
 "  -n, --add-location             generate '#: filename:line' lines (default)\n"
 "      --strict                   write out strict Uniforum conforming .po file\n"
 "  -w, --width=NUMBER             set output page width\n"
-"  -s, --sort-output              generate sorted output and remove duplicates\n"
+"  -s, --sort-output              generate sorted output\n"
 "  -F, --sort-by-file             sort output by file location\n"
 "      --omit-header              don't write header with `msgid \"\"' entry\n"
 "      --foreign-user             omit FSF copyright in output for foreign user\n"
 "  -m, --msgstr-prefix[=STRING]   use STRING or \"\" as prefix for msgstr entries\n"
 "  -M, --msgstr-suffix[=STRING]   use STRING or \"\" as suffix for msgstr entries\n"
 msgstr ""
+"Pou¾ití: %s [PØEPÍNAÈ] def.po ref.po\n"
+"  Argumenty povinné pro dlouhé pøepínaèe, jsou té¾ povinné pro jejich krátké\n"
+"formy.\n"
+"\n"
+"  -C, --compendium=SOUBOR  pøídavná knihovna pøekladù zpráv. Mù¾e být zadána\n"
+"                           více ne¾ jednou.\n"
+"  -D, --directory=ADRESÁØ  pøidá ADRESÁØ do seznamu adresáøù pro hledání\n"
+"                           vstupních souborù\n"
+"  -e, --no-escape          zaká¾e C escape sekvence ve výstupu (implicitní)\n"
+"  -E, --escape             pou¾ije C escape sekvence ve výstupu, bez\n"
+"                           roz¹íøených znakù\n"
+"      --force-po           zapí¹e .po soubor, i kdy¾ je prázdný\n"
+"  -h, --help               vypí¹e tuto nápovìdu a ukonèí se\n"
+"  -i, --indent             odsazený výstupní styl\n"
+"  -o, --output-file=SOUBOR výsledek bude zapsán do SOUBORu\n"
+"      --no-location        potlaèí øádky '#: jméno_souboru:øádka'\n"
+"      --add-location       zaøadí øádky '#: jméno_souboru:øádka' (implicitní)\n"
+"      --strict             zpùsobí pøísné dodr¾ování stylu Uniforum\n"
+"  -v, --verbose            zvý¹ení mno¾ství vypisovaných informací\n"
+"  -V, --version            vypí¹e oznaèení verze a ukonèí se\n"
+"  -w, --width=ÈÍSLO        nastaví ¹íøku výstupní stránky\n"
 
-# src/xget-lex.c:914
-#: src/xgettext.c:945
-#, c-format
-msgid "%s:%d: warning: keyword nested in keyword arg"
-msgstr "%s:%d: upozornìní: klíèové slovo uhnízdìno v argumentu klíèového slova"
+# src/xget-lex.c:150
+#: src/xgettext.c:720
+msgid "standard input"
+msgstr "standardní vstup"
 
-#: src/xgettext.c:957
-#, c-format
-msgid "%s:%d: warning: keyword between outer keyword and its arg"
+#: src/xgettext.c:830
+msgid ""
+"Empty msgid.  It is reserved by GNU gettext:\n"
+"gettext(\"\") returns the header entry with\n"
+"meta information, not the empty string.\n"
 msgstr ""
-"%s:%d: upozornìní: klíèové slovo mezi krajním klíèovým slovem\n"
-"a jeho argumentem"
 
 # src/xgettext.c:1342
-#: src/xgettext.c:1446
+#: src/xgettext.c:1099
 #, c-format
 msgid "language `%s' unknown"
 msgstr "jazyk `%s' není znám"
 
+# src/msgfmt.c:407
+#~ msgid "while creating hash table"
+#~ msgstr "pøi tvorbì ha¹ovací tabulky"
+
+# src/xget-lex.c:914
+#, fuzzy
+#~ msgid "%s:%lu: warning: keyword nested in keyword arg"
+#~ msgstr ""
+#~ "%s:%d: upozornìní: klíèové slovo uhnízdìno v argumentu klíèového slova"
+
+#, fuzzy
+#~ msgid "%s:%lu: warning: keyword between outer keyword and its arg"
+#~ msgstr ""
+#~ "%s:%d: upozornìní: klíèové slovo mezi krajním klíèovým slovem\n"
+#~ "a jeho argumentem"
+
+# src/xgettext.c:340 src/xgettext.c:1256
+#~ msgid "while preparing output"
+#~ msgstr "pøi pøípravì výstupu"
+
 # src/msgcmp.c:396 src/msgmerge.c:539
 #~ msgid "this message has no definition in the \"%s\" domain"
 #~ msgstr "tato zpráva nemá ¾ádnou definici v doménì \"%s\""
@@ -1675,21 +2376,28 @@ msgstr "jazyk `%s' nen
 #~ msgid ""
 #~ "Usage: %s [OPTION] INPUTFILE ...\n"
 #~ "Mandatory arguments to long options are mandatory for short options too.\n"
-#~ "  -d, --default-domain=NAME      use NAME.po for output (instead of messages.po)\n"
-#~ "  -D, --directory=DIRECTORY      add DIRECTORY to list for input files search\n"
-#~ "  -e, --no-escape                do not use C escapes in output (default)\n"
-#~ "  -E, --escape                   use C escapes in output, no extended chars\n"
+#~ "  -d, --default-domain=NAME      use NAME.po for output (instead of "
+#~ "messages.po)\n"
+#~ "  -D, --directory=DIRECTORY      add DIRECTORY to list for input files "
+#~ "search\n"
+#~ "  -e, --no-escape                do not use C escapes in output "
+#~ "(default)\n"
+#~ "  -E, --escape                   use C escapes in output, no extended "
+#~ "chars\n"
 #~ "  -f, --files-from=FILE          get list of input files from FILE\n"
 #~ "      --force-po                 write PO file even if empty\n"
 #~ "  -F, --sort-by-file             sort output by file location\n"
 #~ "  -h, --help                     display this help and exit\n"
 #~ msgstr ""
 #~ "Pou¾ití: %s [PØEPÍNAÈ] VSTUPNÍSOUBOR ...\n"
-#~ "  Argumenty povinné pro dlouhé pøepínaèe, jsou té¾ povinné pro jejich krátké\n"
+#~ "  Argumenty povinné pro dlouhé pøepínaèe, jsou té¾ povinné pro jejich "
+#~ "krátké\n"
 #~ "formy.\n"
 #~ "\n"
-#~ "  -d, --default-domain=JMÉNO  zapí¹e výstup do JMÉNO.po (místo do messages.po)\n"
-#~ "  -D, --directory=ADRESÁØ     pøidá ADRESÁØ do seznamu adresáøù pro hledání\n"
+#~ "  -d, --default-domain=JMÉNO  zapí¹e výstup do JMÉNO.po (místo do "
+#~ "messages.po)\n"
+#~ "  -D, --directory=ADRESÁØ     pøidá ADRESÁØ do seznamu adresáøù pro "
+#~ "hledání\n"
 #~ "                              vstupních souborù\n"
 #~ "  -e, --no-escape             nepou¾ívá escape sekvence z C ve výstupu\n"
 #~ "                              (implicitní)\n"
@@ -1697,7 +2405,8 @@ msgstr "jazyk `%s' nen
 #~ "                              roz¹íøených znakù\n"
 #~ "  -f, --files-from=SOUBOR     vezme seznam vstupních souborù ze SOUBORu\n"
 #~ "      --force-po              vypí¹e .po soubor, i kdy¾ je prázdný\n"
-#~ "  -F, --sort-by-file          seøadí výstup podle umístìní zpráv ve zdrojových\n"
+#~ "  -F, --sort-by-file          seøadí výstup podle umístìní zpráv ve "
+#~ "zdrojových\n"
 #~ "                              souborech\n"
 #~ "  -h, --help                  vypí¹e tuto nápovìdu a ukonèí se\n"
 
@@ -1744,12 +2453,16 @@ msgstr "jazyk `%s' nen
 #~ "Generate binary message catalog from textual translation description.\n"
 #~ "\n"
 #~ "Mandatory arguments to long options are mandatory for short options too.\n"
-#~ "  -a, --alignment=NUMBER      align strings to NUMBER bytes (default: %d)\n"
-#~ "  -c, --check                 perform language dependent checks on strings\n"
-#~ "  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+#~ "  -a, --alignment=NUMBER      align strings to NUMBER bytes (default: %"
+#~ "d)\n"
+#~ "  -c, --check                 perform language dependent checks on "
+#~ "strings\n"
+#~ "  -D, --directory=DIRECTORY   add DIRECTORY to list for input files "
+#~ "search\n"
 #~ "  -f, --use-fuzzy             use fuzzy entries in output\n"
 #~ "  -h, --help                  display this help and exit\n"
-#~ "      --no-hash               binary file will not include the hash table\n"
+#~ "      --no-hash               binary file will not include the hash "
+#~ "table\n"
 #~ "  -o, --output-file=FILE      specify output file name as FILE\n"
 #~ "      --statistics            print statistics about translations\n"
 #~ "      --strict                enable strict Uniforum mode\n"
@@ -1762,25 +2475,30 @@ msgstr "jazyk `%s' nen
 #~ "output is written to standard output.\n"
 #~ msgstr ""
 #~ "Pou¾ití: %s [PØEPÍNAÈ] soubor.po ...\n"
-#~ "  Argumenty povinné pro dlouhé pøepínaèe, jsou té¾ povinné pro odpovídající\n"
+#~ "  Argumenty povinné pro dlouhé pøepínaèe, jsou té¾ povinné pro "
+#~ "odpovídající\n"
 #~ "krátké formy.\n"
 #~ "\n"
-#~ "  -a, --alignment=ÈÍSLO    zarovná øetìzce do ÈÍSLO bajtù (implicitnì: %d)\n"
+#~ "  -a, --alignment=ÈÍSLO    zarovná øetìzce do ÈÍSLO bajtù (implicitnì: %"
+#~ "d)\n"
 #~ "  -c, --check              vykoná jazykovì závislé kontroly øetìzcù\n"
 #~ "  -D, --directory=ADRESÁØ  pøidá ADRESÁØ do seznamu adresáøù pro hledání\n"
 #~ "                           vstupních souborù\n"
 #~ "  -f, --use-fuzzy          ve výstupu pou¾ije i neúplné pøeklady\n"
 #~ "  -h, --help               vypí¹e tuto nápovìdu a ukonèí se\n"
-#~ "      --no-hash            binární soubor nebude obsahovat ha¹ovací tabulku\n"
+#~ "      --no-hash            binární soubor nebude obsahovat ha¹ovací "
+#~ "tabulku\n"
 #~ "  -o, --output-file=SOUBOR zapí¹e výstup do souboru SOUBOR\n"
 #~ "      --statistics         vypí¹e statistiky o pøekladech\n"
 #~ "      --strict             zpùsobí pøísné dodr¾ování stylu Uniforum\n"
-#~ "  -v, --verbose            vypí¹e seznam neobvyklostí ve vstupním souboru\n"
+#~ "  -v, --verbose            vypí¹e seznam neobvyklostí ve vstupním "
+#~ "souboru\n"
 #~ "  -V, --version            vypí¹e oznaèení verze a ukonèí se\n"
 #~ "\n"
 #~ "  Zadáním pøepínaèe -v více ne¾ jednou, zvý¹íte podrobnost výpisù.\n"
 #~ "\n"
-#~ "  Bude-li vstupní soubor -, bude èten standardní vstup. Jestli¾e výstupní\n"
+#~ "  Bude-li vstupní soubor -, bude èten standardní vstup. Jestli¾e "
+#~ "výstupní\n"
 #~ "soubor bude -, výstup bude vypisován do standardního výstupu.\n"
 
 # src/msgunfmt.c:229
@@ -1792,9 +2510,11 @@ msgstr "jazyk `%s' nen
 #~ "By default the output is written to standard output.\n"
 #~ msgstr ""
 #~ "\n"
-#~ "  Pøevádí binární .mo soubory do .po souborù stylu Uniforum. Oba typy .mo\n"
+#~ "  Pøevádí binární .mo soubory do .po souborù stylu Uniforum. Oba typy ."
+#~ "mo\n"
 #~ "souborù little-endian a big-endian jsou akceptovány.\n"
-#~ "  Nebude-li vstupní soubor zadán, nebo bude-li -, bude èten standardní vstup.\n"
+#~ "  Nebude-li vstupní soubor zadán, nebo bude-li -, bude èten standardní "
+#~ "vstup.\n"
 #~ "Implicitnì je výstup zapisován do standardního výstupu.\n"
 
 # src/xgettext.c:537
@@ -1807,35 +2527,48 @@ msgstr "jazyk `%s' nen
 #~ "  -c, --add-comments[=TAG]       place comment block with TAG (or those\n"
 #~ "                                 preceding keyword lines) in output file\n"
 #~ "  -C, --c++                      shorthand for --language=C++\n"
-#~ "      --debug                    more detailed formatstring recognision result\n"
-#~ "  -d, --default-domain=NAME      use NAME.po for output (instead of messages.po)\n"
-#~ "  -D, --directory=DIRECTORY      add DIRECTORY to list for input files search\n"
-#~ "  -e, --no-escape                do not use C escapes in output (default)\n"
-#~ "  -E, --escape                   use C escapes in output, no extended chars\n"
+#~ "      --debug                    more detailed formatstring recognision "
+#~ "result\n"
+#~ "  -d, --default-domain=NAME      use NAME.po for output (instead of "
+#~ "messages.po)\n"
+#~ "  -D, --directory=DIRECTORY      add DIRECTORY to list for input files "
+#~ "search\n"
+#~ "  -e, --no-escape                do not use C escapes in output "
+#~ "(default)\n"
+#~ "  -E, --escape                   use C escapes in output, no extended "
+#~ "chars\n"
 #~ "  -f, --files-from=FILE          get list of input files from FILE\n"
 #~ "      --force-po                 write PO file even if empty\n"
-#~ "      --foreign-user             omit FSF copyright in output for foreign user\n"
+#~ "      --foreign-user             omit FSF copyright in output for foreign "
+#~ "user\n"
 #~ "  -F, --sort-by-file             sort output by file location\n"
 #~ msgstr ""
 #~ "Pou¾ití: %s [PØEPÍNAÈ] VSTUPNÍSOUBOR ...\n"
-#~ "  Argumenty povinné pro dlouhé pøepínaèe, jsou té¾ povinné pro jejich krátké\n"
+#~ "  Argumenty povinné pro dlouhé pøepínaèe, jsou té¾ povinné pro jejich "
+#~ "krátké\n"
 #~ "formy.\n"
 #~ "\n"
 #~ "  -a, --extract-all             extrahuje v¹echny øetìzce\n"
-#~ "  -c, --add-comments[=JMENOVKA] umístí blok komentáøe se JMENOVKOU (nebo ty,\n"
-#~ "                                které pøedcházejí øádku s klíèovým slovem)\n"
+#~ "  -c, --add-comments[=JMENOVKA] umístí blok komentáøe se JMENOVKOU (nebo "
+#~ "ty,\n"
+#~ "                                které pøedcházejí øádku s klíèovým "
+#~ "slovem)\n"
 #~ "                                do výstupního souboru\n"
 #~ "  -C, --c++                     zkratka pro --language=C++\n"
 #~ "      --debug                   detailnìj¹í informace o rozpoznávání\n"
 #~ "                                formátovacích øetìzcù\n"
-#~ "  -d, --default-domain=JMÉNO    pou¾ije JMÉNO.po pro výstup (místo messages.po)\n"
-#~ "  -D, --directory=ADRESÁØ       pøidá ADRESÁØ do seznamu adresáøù, ve kterých\n"
+#~ "  -d, --default-domain=JMÉNO    pou¾ije JMÉNO.po pro výstup (místo "
+#~ "messages.po)\n"
+#~ "  -D, --directory=ADRESÁØ       pøidá ADRESÁØ do seznamu adresáøù, ve "
+#~ "kterých\n"
 #~ "                                se hledají vstupní soubory\n"
 #~ "  -e, --no-escape               nepou¾ívá C escape sekvence ve výstupu\n"
 #~ "                                (implicitní)\n"
-#~ "  -E, --escape                  pou¾ívá C escape sekvence ve výstupu, bez\n"
+#~ "  -E, --escape                  pou¾ívá C escape sekvence ve výstupu, "
+#~ "bez\n"
 #~ "                                roz¹íøených znakù\n"
-#~ "  -f, --files-from=SOUBOR       seznam vstupních souborù bude èten ze SOUBORu\n"
+#~ "  -f, --files-from=SOUBOR       seznam vstupních souborù bude èten ze "
+#~ "SOUBORu\n"
 #~ "      --force-po                zapí¹e .po soubor, i kdy¾ bude prázdný\n"
 #~ "      --foreign-user            vynechá copyright FSF ve výstupu \n"
 #~ "  -F, --sort-by-file            seøadí výstup podle umístìní zpráv\n"
@@ -1846,35 +2579,50 @@ msgstr "jazyk `%s' nen
 #~ "  -h, --help                     display this help and exit\n"
 #~ "  -i, --indent                   write the .po file using indented style\n"
 #~ "  -j, --join-existing            join messages with existing file\n"
-#~ "  -k, --keyword[=WORD]           additonal keyword to be looked for (without\n"
+#~ "  -k, --keyword[=WORD]           additonal keyword to be looked for "
+#~ "(without\n"
 #~ "                                 WORD means not to use default keywords)\n"
-#~ "  -L, --language=NAME            recognise the specified language (C, C++, PO),\n"
-#~ "                                 otherwise is guessed from file extension\n"
-#~ "  -m, --msgstr-prefix[=STRING]   use STRING or \"\" as prefix for msgstr entries\n"
-#~ "  -M, --msgstr-suffix[=STRING]   use STRING or \"\" as suffix for msgstr entries\n"
+#~ "  -L, --language=NAME            recognise the specified language (C, C+"
+#~ "+, PO),\n"
+#~ "                                 otherwise is guessed from file "
+#~ "extension\n"
+#~ "  -m, --msgstr-prefix[=STRING]   use STRING or \"\" as prefix for msgstr "
+#~ "entries\n"
+#~ "  -M, --msgstr-suffix[=STRING]   use STRING or \"\" as suffix for msgstr "
+#~ "entries\n"
 #~ "      --no-location              do not write '#: filename:line' lines\n"
 #~ msgstr ""
 #~ "  -h, --help                    vypí¹e tuto nápovìdu a ukonèí se\n"
-#~ "  -i, --indent                  ve výstupním .po souboru pou¾ije odsazený styl\n"
+#~ "  -i, --indent                  ve výstupním .po souboru pou¾ije odsazený "
+#~ "styl\n"
 #~ "  -j, --join-existing           spojí zprávy z existujících souborù\n"
-#~ "  -k, --keyword[=SLOVO]         dodateèné klíèové slovo, které bude hledáno\n"
-#~ "                                (bez SLOVA, znamená nepou¾ití implicitních\n"
+#~ "  -k, --keyword[=SLOVO]         dodateèné klíèové slovo, které bude "
+#~ "hledáno\n"
+#~ "                                (bez SLOVA, znamená nepou¾ití "
+#~ "implicitních\n"
 #~ "                                klíèových slov)\n"
 #~ "  -L, --language=NÁZEV          zadání jazyka (C, C++)           \n"
-#~ "  -m, --msgstr-prefix[=ØETÌZEC] pou¾ije ØETÌZEC nebo \"\" jako pøedponu pro\n"
+#~ "  -m, --msgstr-prefix[=ØETÌZEC] pou¾ije ØETÌZEC nebo \"\" jako pøedponu "
+#~ "pro\n"
 #~ "                                polo¾ky msgstr\n"
-#~ "  -M, --msgstr-suffix[=ØETÌZEC] pou¾ije ØETÌZEC nebo \"\" jako pøíponu pro\n"
+#~ "  -M, --msgstr-suffix[=ØETÌZEC] pou¾ije ØETÌZEC nebo \"\" jako pøíponu "
+#~ "pro\n"
 #~ "                                polo¾ky msgstr\n"
 #~ "      --no-location             potlaèí øádky '#: jméno_souboru:øádek'\n"
 
 # src/xgettext.c:569
 #~ msgid ""
-#~ "  -n, --add-location             generate '#: filename:line' lines (default)\n"
-#~ "      --omit-header              don't write header with `msgid \"\"' entry\n"
+#~ "  -n, --add-location             generate '#: filename:line' lines "
+#~ "(default)\n"
+#~ "      --omit-header              don't write header with `msgid \"\"' "
+#~ "entry\n"
 #~ "  -o, --output=FILE              write output to specified file\n"
-#~ "  -p, --output-dir=DIR           output files will be placed in directory DIR\n"
-#~ "  -s, --sort-output              generate sorted output and remove duplicates\n"
-#~ "      --strict                   write out strict Uniforum conforming .po file\n"
+#~ "  -p, --output-dir=DIR           output files will be placed in directory "
+#~ "DIR\n"
+#~ "  -s, --sort-output              generate sorted output and remove "
+#~ "duplicates\n"
+#~ "      --strict                   write out strict Uniforum conforming .po "
+#~ "file\n"
 #~ "  -T, --trigraphs                understand ANSI C trigraphs for input\n"
 #~ "  -V, --version                  output version information and exit\n"
 #~ "  -w, --width=NUMBER             set output page width\n"
@@ -1882,14 +2630,19 @@ msgstr "jazyk `%s' nen
 #~ "\n"
 #~ "If INPUTFILE is -, standard input is read.\n"
 #~ msgstr ""
-#~ "  -n, --add-location            vytváøí øádky '#: jméno_souboru:øádek' (impl.)\n"
-#~ "      --omit-header             nezapisuje hlavièku s `msgid \"\"' polo¾kou\n"
+#~ "  -n, --add-location            vytváøí øádky '#: jméno_souboru:"
+#~ "øádek' (impl.)\n"
+#~ "      --omit-header             nezapisuje hlavièku s `msgid \"\"' "
+#~ "polo¾kou\n"
 #~ "  -o, --output=SOUBOR           zapí¹e výstup do urèeného souboru\n"
-#~ "  -p, --output-dir=ADRESÁØ      výstupní soubory budou umístìny do adresáøe\n"
+#~ "  -p, --output-dir=ADRESÁØ      výstupní soubory budou umístìny do "
+#~ "adresáøe\n"
 #~ "                                ADRESÁØ\n"
-#~ "  -s, --sort-output             generuje seøazený výstup bez duplicitních zpráv\n"
+#~ "  -s, --sort-output             generuje seøazený výstup bez duplicitních "
+#~ "zpráv\n"
 #~ "      --strict                  výstupní soubor bude stylu Uniforum\n"
-#~ "  -T, --trigraphs               zapne podporu ANSI C `trigraphs' na vstupu\n"
+#~ "  -T, --trigraphs               zapne podporu ANSI C `trigraphs' na "
+#~ "vstupu\n"
 #~ "  -V, --version                 vypí¹e oznaèení verze a ukonèí se\n"
 #~ "  -w, --width=ÈÍSLO             nastaví výstupní ¹íøku stránky\n"
 #~ "  -x, --exclude-file=SOUBOR     soubory ze SOUBORu nebudou zpracovány \n"
index 0d5fa24cade419959a1cc992923b037c944a9e64..9bf271cf13b60aab61e58c7c6897ce3ba54c9f2b 100644 (file)
Binary files a/po/da.gmo and b/po/da.gmo differ
index 87fc63cc5fa8ccb11b604aa36ed390f5d431eed3..c610e296790cb0f16c30df375ef6c40889ac8d88 100644 (file)
--- a/po/da.po
+++ b/po/da.po
@@ -8,7 +8,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: gettext 0.11-pre1\n"
-"POT-Creation-Date: 2001-11-01 13:09+0100\n"
+"POT-Creation-Date: 2001-11-30 14:18+0100\n"
 "PO-Revision-Date: 2001-11-03 17:32+0200\n"
 "Last-Translator: Keld Simonsen <keld@dkuug.dk>\n"
 "Language-Team: Danish <dansk@klid.dk>\n"
@@ -32,7 +32,7 @@ msgid "Valid arguments are:"
 msgstr "Gyldige argumenter er:"
 
 #: lib/copy-file.c:60 src/file-list.c:57 src/po-lex.c:732 src/read-mo.c:170
-#: src/xgettext.c:737 src/xgettext.c:750 src/xgettext.c:760
+#: src/xgettext.c:729 src/xgettext.c:742 src/xgettext.c:752
 #, c-format
 msgid "error while opening \"%s\" for reading"
 msgstr "fejl ved læse-åbning af '%s'"
@@ -127,7 +127,7 @@ msgstr "%s: tilvalget '-W %s' tillader ikke et argument\n"
 msgid "Java compiler not found, try installing gcj or set $JAVAC"
 msgstr ""
 
-#: lib/javaexec.c:402
+#: lib/javaexec.c:404
 msgid "Java virtual machine not found, try installing gij or set $JAVA"
 msgstr ""
 
@@ -180,7 +180,7 @@ msgid ""
 msgstr ""
 "formatangivelser i 'msgid' og 'msgstr' for argument {%u} er ikke det samme"
 
-#: src/format-lisp.c:3385
+#: src/format-lisp.c:3371
 msgid "format specifications in 'msgid' and 'msgstr' are not equivalent"
 msgstr "formatangivelser i 'msgid' og 'msgstr' er ikke de samme"
 
@@ -215,21 +215,21 @@ msgid ""
 "same"
 msgstr "formaterne for argument %lu er forskellige"
 
-#: src/format-ycp.c:135
+#: src/format-ycp.c:137
 #, fuzzy, c-format
 msgid "a format specification for argument %u doesn't exist in 'msgstr'"
 msgstr "formaterne for argument %lu er forskellige"
 
-#: src/format-ycp.c:136
+#: src/format-ycp.c:138
 #, fuzzy, c-format
 msgid "a format specification for argument %u doesn't exist in 'msgid'"
 msgstr "formaterne for argument %lu er forskellige"
 
 #: src/gettext.c:146 src/hostname.c:168 src/msgattrib.c:264 src/msgcat.c:229
-#: src/msgcmp.c:133 src/msgcomm.c:232 src/msgconv.c:182 src/msgen.c:171
-#: src/msgexec.c:240 src/msgfmt.c:312 src/msggrep.c:276 src/msginit.c:249
-#: src/msgmerge.c:249 src/msgunfmt.c:182 src/msguniq.c:207 src/ngettext.c:126
-#: src/xgettext.c:356
+#: src/msgcmp.c:134 src/msgcomm.c:232 src/msgconv.c:182 src/msgen.c:171
+#: src/msgexec.c:240 src/msgfmt.c:333 src/msggrep.c:276 src/msginit.c:247
+#: src/msgmerge.c:252 src/msgunfmt.c:182 src/msguniq.c:207 src/ngettext.c:126
+#: src/xgettext.c:352
 #, c-format, no-wrap
 msgid ""
 "Copyright (C) %s Free Software Foundation, Inc.\n"
@@ -238,15 +238,15 @@ msgid ""
 msgstr ""
 
 #: src/gettext.c:151 src/hostname.c:173 src/msgattrib.c:269 src/msgcat.c:234
-#: src/msgcmp.c:138 src/msgcomm.c:237 src/msgconv.c:187 src/msgen.c:176
-#: src/msgexec.c:245 src/msgfmt.c:317 src/msggrep.c:281 src/msginit.c:254
-#: src/msgmerge.c:254 src/msgunfmt.c:187 src/msguniq.c:212 src/ngettext.c:131
-#: src/xgettext.c:361
+#: src/msgcmp.c:139 src/msgcomm.c:237 src/msgconv.c:187 src/msgen.c:176
+#: src/msgexec.c:245 src/msgfmt.c:338 src/msggrep.c:281 src/msginit.c:252
+#: src/msgmerge.c:257 src/msgunfmt.c:187 src/msguniq.c:212 src/ngettext.c:131
+#: src/xgettext.c:357
 #, c-format
 msgid "Written by %s.\n"
 msgstr ""
 
-#: src/gettext.c:169 src/hostname.c:183 src/msginit.c:264 src/ngettext.c:143
+#: src/gettext.c:169 src/hostname.c:183 src/msginit.c:262 src/ngettext.c:143
 msgid "too many arguments"
 msgstr ""
 
@@ -256,10 +256,10 @@ msgid "missing arguments"
 msgstr "filternavn mangler"
 
 #: src/gettext.c:251 src/hostname.c:197 src/msgattrib.c:322 src/msgcat.c:290
-#: src/msgcmp.c:170 src/msgcomm.c:306 src/msgconv.c:241 src/msgen.c:227
-#: src/msgexec.c:338 src/msgfmt.c:455 src/msggrep.c:371 src/msginit.c:340
-#: src/msgmerge.c:364 src/msgunfmt.c:262 src/msguniq.c:269 src/ngettext.c:210
-#: src/xgettext.c:507
+#: src/msgcmp.c:171 src/msgcomm.c:306 src/msgconv.c:241 src/msgen.c:227
+#: src/msgexec.c:338 src/msgfmt.c:479 src/msggrep.c:371 src/msginit.c:338
+#: src/msgmerge.c:367 src/msgunfmt.c:262 src/msguniq.c:269 src/ngettext.c:210
+#: src/xgettext.c:499
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr ""
@@ -320,14 +320,14 @@ msgstr ""
 "Standard-filkataloget for søgning er: %s\n"
 
 #: src/gettext.c:288 src/hostname.c:227 src/msgattrib.c:402 src/msgcat.c:371
-#: src/msgcmp.c:215 src/msgcomm.c:384 src/msgconv.c:305 src/msgen.c:287
-#: src/msgexec.c:410 src/msgfmt.c:537 src/msggrep.c:457 src/msginit.c:391
-#: src/msgmerge.c:462 src/msgunfmt.c:331 src/msguniq.c:343 src/ngettext.c:244
-#: src/xgettext.c:599
+#: src/msgcmp.c:216 src/msgcomm.c:384 src/msgconv.c:305 src/msgen.c:287
+#: src/msgexec.c:410 src/msgfmt.c:563 src/msggrep.c:457 src/msginit.c:389
+#: src/msgmerge.c:465 src/msgunfmt.c:331 src/msguniq.c:343 src/ngettext.c:244
+#: src/xgettext.c:591
 msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
 msgstr "Rapportér fejl på engelsk til <bug-gnu-gettext@gnu.org>.\n"
 
-#: src/hostname.c:202 src/msginit.c:345
+#: src/hostname.c:202 src/msginit.c:343
 #, c-format, no-wrap
 msgid "Usage: %s [OPTION]\n"
 msgstr "Brug: %s [TILVALG]\n"
@@ -347,8 +347,8 @@ msgid ""
 "  -i, --ip-address      addresses for the hostname\n"
 msgstr ""
 
-#: src/hostname.c:221 src/msgattrib.c:396 src/msgcmp.c:209 src/msgconv.c:299
-#: src/msgen.c:281 src/msgexec.c:404 src/msggrep.c:451
+#: src/hostname.c:221 src/msgattrib.c:396 src/msgcmp.c:210 src/msgconv.c:299
+#: src/msgen.c:281 src/msgexec.c:404 src/msggrep.c:451 src/msginit.c:383
 #, no-wrap
 msgid ""
 "Informative output:\n"
@@ -361,16 +361,16 @@ msgid "could not get host name"
 msgstr ""
 
 #: src/msgattrib.c:284 src/msgconv.c:202 src/msgexec.c:190 src/msggrep.c:296
-#: src/msginit.c:207 src/msguniq.c:227
+#: src/msginit.c:205 src/msguniq.c:227
 msgid "at most one input file allowed"
 msgstr "Højst én inddatalinje tilladt"
 
 #: src/msgattrib.c:290 src/msgattrib.c:294 src/msgcat.c:244 src/msgcat.c:248
 #: src/msgcomm.c:247 src/msgcomm.c:251 src/msgconv.c:208 src/msgconv.c:212
 #: src/msgen.c:198 src/msgen.c:202 src/msgexec.c:260 src/msgexec.c:264
-#: src/msgfmt.c:337 src/msggrep.c:302 src/msggrep.c:306 src/msgmerge.c:279
-#: src/msgmerge.c:300 src/msgmerge.c:304 src/msguniq.c:233 src/msguniq.c:237
-#: src/xgettext.c:375 src/xgettext.c:379
+#: src/msgfmt.c:358 src/msggrep.c:302 src/msggrep.c:306 src/msgmerge.c:282
+#: src/msgmerge.c:303 src/msgmerge.c:307 src/msguniq.c:233 src/msguniq.c:237
+#: src/xgettext.c:367 src/xgettext.c:371
 #, c-format
 msgid "%s and %s are mutually exclusive"
 msgstr "%s og %s udelukker hinanden"
@@ -387,9 +387,9 @@ msgid ""
 "and manipulates the attributes.\n"
 msgstr ""
 
-#: src/msgattrib.c:338 src/msgcat.c:313 src/msgcmp.c:190 src/msgcomm.c:328
-#: src/msgconv.c:256 src/msgen.c:245 src/msgexec.c:353 src/msgfmt.c:470
-#: src/msggrep.c:387 src/msginit.c:356 src/msgmerge.c:387 src/msgunfmt.c:277
+#: src/msgattrib.c:338 src/msgcat.c:313 src/msgcmp.c:191 src/msgcomm.c:328
+#: src/msgconv.c:256 src/msgen.c:245 src/msgexec.c:353 src/msgfmt.c:494
+#: src/msggrep.c:387 src/msginit.c:354 src/msgmerge.c:390 src/msgunfmt.c:277
 #: src/msguniq.c:291
 #, no-wrap
 msgid "Mandatory arguments to long options are mandatory for short options too.\n"
@@ -411,7 +411,7 @@ msgstr ""
 "Hvis ingen inddatafil er angivet eller den er -, læses fra standard-inddata.\n"
 
 #: src/msgattrib.c:351 src/msgconv.c:269 src/msgen.c:258 src/msgexec.c:366
-#: src/msggrep.c:400 src/msgmerge.c:409
+#: src/msggrep.c:400 src/msgmerge.c:412
 #, fuzzy, no-wrap
 msgid ""
 "Output file location:\n"
@@ -476,7 +476,7 @@ msgstr ""
 msgid "impossible selection criteria specified (%d < n < %d)"
 msgstr "Umuligt udvælgelseskriterium angivet (%d < n < %d)"
 
-#: src/msgcat.c:295 src/msgcomm.c:311 src/xgettext.c:512
+#: src/msgcat.c:295 src/msgcomm.c:311 src/xgettext.c:504
 #, c-format, no-wrap
 msgid "Usage: %s [OPTION] [INPUTFILE]...\n"
 msgstr "Brug: %s [TILVALG] [INDDATAFIL]...\n"
@@ -503,7 +503,7 @@ msgstr ""
 "men hvis --use-first er angivet, vil de blive taget fra den første PO-fil,\n"
 "der definerer dem. Filpositioner fra alle PO-filer sammenbringes.\n"
 
-#: src/msgcat.c:318 src/msgcomm.c:333 src/xgettext.c:528
+#: src/msgcat.c:318 src/msgcomm.c:333 src/xgettext.c:520
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -576,7 +576,7 @@ msgstr ""
 "  -v, --verbose               forøg udskreven information\n"
 "  -w, --width=TAL             sæt udskrivningsbredde\n"
 
-#: src/msgcat.c:365 src/msgcomm.c:378 src/msguniq.c:337 src/xgettext.c:593
+#: src/msgcat.c:365 src/msgcomm.c:378 src/msguniq.c:337 src/xgettext.c:585
 #, no-wrap
 msgid ""
 "Informative output:\n"
@@ -587,20 +587,20 @@ msgstr ""
 "  -h, --help                     vis denne hjælp og afslut\n"
 "  -V, --version                  vis versionsinformation og afslut\n"
 
-#: src/msgcmp.c:149 src/msgmerge.c:265
+#: src/msgcmp.c:150 src/msgmerge.c:268
 msgid "no input files given"
 msgstr "ingen filer angivet som inddata"
 
-#: src/msgcmp.c:154 src/msgmerge.c:270
+#: src/msgcmp.c:155 src/msgmerge.c:273
 msgid "exactly 2 input files required"
 msgstr "der kræves netop to inddatafiler"
 
-#: src/msgcmp.c:175 src/msgmerge.c:369
+#: src/msgcmp.c:176 src/msgmerge.c:372
 #, c-format, no-wrap
 msgid "Usage: %s [OPTION] def.po ref.pot\n"
 msgstr "Brug: %s [TILVALG] gammel.po ny.pot\n"
 
-#: src/msgcmp.c:180
+#: src/msgcmp.c:181
 #, no-wrap
 msgid ""
 "Compare two Uniforum style .po files to check that both contain the same\n"
@@ -619,7 +619,7 @@ msgstr ""
 "mellem msgid-tekststrengene, benyttes en upræcis sammenligningsmetode til at\n"
 "give bedre fejlretningsinformation.\n"
 
-#: src/msgcmp.c:195
+#: src/msgcmp.c:196
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -628,42 +628,42 @@ msgid ""
 "  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
 msgstr "  -D, --directory=FILKATALOG  gennemsøg også FILKATALOG efter inddatafiler\n"
 
-#: src/msgcmp.c:203 src/msgmerge.c:433
+#: src/msgcmp.c:204 src/msgmerge.c:436
 #, no-wrap
 msgid ""
 "Operation modifiers:\n"
 "  -m, --multi-domain          apply ref.pot to each of the domains in def.po\n"
 msgstr ""
 
-#: src/msgcmp.c:252 src/msgmerge.c:540
+#: src/msgcmp.c:253 src/msgmerge.c:543
 msgid "this message is used but not defined..."
 msgstr "denne tekst bruges, men er ikke erklæret..."
 
-#: src/msgcmp.c:254 src/msgmerge.c:542
+#: src/msgcmp.c:255 src/msgmerge.c:545
 msgid "...but this definition is similar"
 msgstr "...men denne tekst ligner"
 
-#: src/msgcmp.c:259 src/msgmerge.c:569
+#: src/msgcmp.c:260 src/msgmerge.c:572
 #, c-format
 msgid "this message is used but not defined in %s"
 msgstr "denne tekst er brugt, men ikke erklæret i %s"
 
-#: src/msgcmp.c:331
+#: src/msgcmp.c:332
 msgid "warning: this message is not used"
 msgstr "advarsel: denne tekst bliver ikke brugt"
 
-#: src/msgcmp.c:338 src/po-lex.c:705
+#: src/msgcmp.c:339 src/po-lex.c:705
 #, c-format
 msgid "found %d fatal error"
 msgid_plural "found %d fatal errors"
 msgstr[0] "fandt %d fatal fejl"
 msgstr[1] "fandt %d fatale fejl"
 
-#: src/msgcmp.c:419 src/msgfmt.c:1298 src/read-po.c:198 src/x-po.c:163
+#: src/msgcmp.c:420 src/msgfmt.c:1323 src/read-po.c:202 src/x-po.c:163
 msgid "duplicate message definition"
 msgstr "tekst erklæret mere end en gang"
 
-#: src/msgcmp.c:420 src/msgfmt.c:1300 src/read-po.c:199 src/x-po.c:164
+#: src/msgcmp.c:421 src/msgfmt.c:1324 src/read-po.c:203 src/x-po.c:164
 msgid "...this is the location of the first definition"
 msgstr "... her er den første erklæring"
 
@@ -754,7 +754,7 @@ msgid ""
 "The default encoding is the current locale's encoding.\n"
 msgstr ""
 
-#: src/msgconv.c:284 src/msgen.c:266 src/msgmerge.c:439
+#: src/msgconv.c:284 src/msgen.c:266 src/msgmerge.c:442
 #, fuzzy, no-wrap
 msgid ""
 "Output details:\n"
@@ -783,7 +783,7 @@ msgstr ""
 "  -v, --verbose               forøg udskreven information\n"
 "  -w, --width=TAL             sæt udskrivningsbredde\n"
 
-#: src/msgen.c:187 src/msgfmt.c:328 src/xgettext.c:396
+#: src/msgen.c:187 src/msgfmt.c:349 src/xgettext.c:388
 msgid "no input file given"
 msgstr "ingen inddatafil angivet"
 
@@ -917,49 +917,54 @@ msgstr ""
 msgid "%s subprocess terminated with exit code %d"
 msgstr ""
 
-#: src/msgfmt.c:343
+#: src/msgfmt.c:303
+#, c-format
+msgid "the argument to %s should be a single punctuation character"
+msgstr ""
+
+#: src/msgfmt.c:364
 #, c-format
 msgid "%s requires a \"-d directory\" specification"
 msgstr ""
 
-#: src/msgfmt.c:352 src/msgfmt.c:358 src/msgfmt.c:364 src/msgmerge.c:287
-#: src/msgmerge.c:293 src/msgunfmt.c:209 src/msgunfmt.c:215
+#: src/msgfmt.c:373 src/msgfmt.c:379 src/msgfmt.c:385 src/msgmerge.c:290
+#: src/msgmerge.c:296 src/msgunfmt.c:209 src/msgunfmt.c:215
 #, c-format
 msgid "%s is only valid with %s"
 msgstr ""
 
-#: src/msgfmt.c:428
+#: src/msgfmt.c:452
 #, c-format
 msgid "%d translated message"
 msgid_plural "%d translated messages"
 msgstr[0] "%d oversat tekst"
 msgstr[1] "%d oversatte tekster"
 
-#: src/msgfmt.c:433
+#: src/msgfmt.c:457
 #, c-format
 msgid ", %d fuzzy translation"
 msgid_plural ", %d fuzzy translations"
 msgstr[0] ", %d uafklaret oversættelse"
 msgstr[1] ", %d uafklarede oversættelser"
 
-#: src/msgfmt.c:438
+#: src/msgfmt.c:462
 #, c-format
 msgid ", %d untranslated message"
 msgid_plural ", %d untranslated messages"
 msgstr[0] ", %d uoversat tekst"
 msgstr[1] ", %d uoversatte tekster"
 
-#: src/msgfmt.c:460
+#: src/msgfmt.c:484
 #, c-format, no-wrap
 msgid "Usage: %s [OPTION] filename.po ...\n"
 msgstr ""
 
-#: src/msgfmt.c:465
+#: src/msgfmt.c:489
 #, no-wrap
 msgid "Generate binary message catalog from textual translation description.\n"
 msgstr "Generér binært tekstkatalog fra oversættelsebeskrivelse i kildetekst.\n"
 
-#: src/msgfmt.c:475
+#: src/msgfmt.c:499
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -970,7 +975,7 @@ msgstr ""
 "  -D, --directory=FILKATALOG  gennemsøg også FILKATALOG efter inddatafiler\n"
 "Hvis inddatafilen er -, læses fra standard-input.\n"
 
-#: src/msgfmt.c:483
+#: src/msgfmt.c:507
 #, no-wrap
 msgid ""
 "Operation mode:\n"
@@ -978,7 +983,7 @@ msgid ""
 "      --java2                 like --java, and assume Java2 (JDK 1.2 or higher)\n"
 msgstr ""
 
-#: src/msgfmt.c:490
+#: src/msgfmt.c:514
 #, no-wrap
 msgid ""
 "Output file location:\n"
@@ -987,7 +992,7 @@ msgid ""
 "If output file is -, output is written to standard output.\n"
 msgstr ""
 
-#: src/msgfmt.c:498
+#: src/msgfmt.c:522
 #, no-wrap
 msgid ""
 "Output file location in Java mode:\n"
@@ -999,7 +1004,7 @@ msgid ""
 "written under the specified directory.\n"
 msgstr ""
 
-#: src/msgfmt.c:509
+#: src/msgfmt.c:533
 #, no-wrap
 msgid ""
 "Input file interpretation:\n"
@@ -1010,10 +1015,12 @@ msgid ""
 "      --check-domain          check for conflicts between domain directives\n"
 "                                and the --output-file option\n"
 "  -C, --check-compatibility   check that GNU msgfmt behaves like X/Open msgfmt\n"
+"      --check-accelerators[=CHAR]  check presence of keyboard accelerators for\n"
+"                                menu items\n"
 "  -f, --use-fuzzy             use fuzzy entries in output\n"
 msgstr ""
 
-#: src/msgfmt.c:522
+#: src/msgfmt.c:548
 #, c-format, no-wrap
 msgid ""
 "Output details:\n"
@@ -1021,7 +1028,7 @@ msgid ""
 "      --no-hash               binary file will not include the hash table\n"
 msgstr ""
 
-#: src/msgfmt.c:529
+#: src/msgfmt.c:555
 #, no-wrap
 msgid ""
 "Informative output:\n"
@@ -1031,160 +1038,176 @@ msgid ""
 "  -v, --verbose               increase verbosity level\n"
 msgstr ""
 
-#: src/msgfmt.c:579
-msgid "while creating hash table"
-msgstr "under oprettelsen af hashtabel"
-
-#: src/msgfmt.c:675
+#: src/msgfmt.c:707
 msgid "plural expression can produce negative values"
 msgstr "flertalsudtryk kan give negative værdier"
 
-#: src/msgfmt.c:688
+#: src/msgfmt.c:720
 #, c-format
 msgid "nplurals = %lu but plural expression can produce values as large as %lu"
 msgstr ""
 
-#: src/msgfmt.c:714
+#: src/msgfmt.c:746
 msgid "plural expression can produce division by zero"
 msgstr "flertalsudtryk kan give division med nul"
 
-#: src/msgfmt.c:719
+#: src/msgfmt.c:751
 msgid "plural expression can produce integer overflow"
 msgstr "flertalsudtryk kan give heltalsoverløb"
 
-#: src/msgfmt.c:724
+#: src/msgfmt.c:756
 msgid ""
 "plural expression can produce arithmetic exceptions, possibly division by "
 "zero"
 msgstr ""
 
-#: src/msgfmt.c:798 src/msgfmt.c:809
+#: src/msgfmt.c:830 src/msgfmt.c:841
 msgid "message catalog has plural form translations..."
 msgstr "tekstkatalog har oversættelser med flertalsform..."
 
-#: src/msgfmt.c:801
+#: src/msgfmt.c:833
 msgid "...but header entry lacks a \"plural=EXPRESSION\" attribute"
 msgstr ""
 
-#: src/msgfmt.c:812
+#: src/msgfmt.c:844
 msgid "...but header entry lacks a \"nplurals=INTEGER\" attribute"
 msgstr ""
 
-#: src/msgfmt.c:836
+#: src/msgfmt.c:868
 msgid "invalid nplurals value"
 msgstr "ugyldig nplurals-værdi"
 
-#: src/msgfmt.c:849
+#: src/msgfmt.c:881
 msgid "invalid plural expression"
 msgstr "ugyldigt flertalsudtryk"
 
-#: src/msgfmt.c:867 src/msgfmt.c:880
+#: src/msgfmt.c:899 src/msgfmt.c:912
 #, c-format
 msgid "nplurals = %lu..."
 msgstr "nplurals = %lu..."
 
-#: src/msgfmt.c:870
+#: src/msgfmt.c:902
 #, c-format
 msgid "...but some messages have only %lu plural forms"
 msgstr "...men nogen tekster har kun %lu flertalsformer"
 
-#: src/msgfmt.c:883
+#: src/msgfmt.c:915
 #, c-format
 msgid "...but some messages have %lu plural forms"
 msgstr "...men nogen tekster har %lu flertalsformer"
 
-#: src/msgfmt.c:898
+#: src/msgfmt.c:930
 msgid ""
 "message catalog has plural form translations, but lacks a header entry with "
 "\"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\""
 msgstr ""
 
-#: src/msgfmt.c:936
+#: src/msgfmt.c:968
 msgid "`msgid' and `msgid_plural' entries do not both begin with '\\n'"
 msgstr "'msgid' og 'msgid_plural'-teksterne begynder ikke begge med '\\n'"
 
-#: src/msgfmt.c:946
+#: src/msgfmt.c:978
 #, c-format
 msgid "`msgid' and `msgstr[%u]' entries do not both begin with '\\n'"
 msgstr "`msgid' og `msgstr[%u]'-teksterne begynder ikke begge med '\\n'"
 
-#: src/msgfmt.c:958
+#: src/msgfmt.c:990
 msgid "`msgid' and `msgstr' entries do not both begin with '\\n'"
 msgstr "`msgid' og `msgstr' teksterne begynder ikke begge med '\\n'"
 
-#: src/msgfmt.c:975
+#: src/msgfmt.c:1007
 msgid "`msgid' and `msgid_plural' entries do not both end with '\\n'"
 msgstr "`msgid' og `msgid_plural'-teksterne slutter ikke begge med '\\n'"
 
-#: src/msgfmt.c:985
+#: src/msgfmt.c:1017
 #, c-format
 msgid "`msgid' and `msgstr[%u]' entries do not both end with '\\n'"
 msgstr "`msgid' og `msgstr[%u]'-teksterne slutter ikke begge med '\\n'"
 
-#: src/msgfmt.c:997
+#: src/msgfmt.c:1029
 msgid "`msgid' and `msgstr' entries do not both end with '\\n'"
 msgstr "`msgid' og `msgstr' teksterne slutter ikke begge med '\\n'"
 
-#: src/msgfmt.c:1009
+#: src/msgfmt.c:1041
 msgid "plural handling is a GNU gettext extension"
 msgstr ""
 
-#: src/msgfmt.c:1056
+#: src/msgfmt.c:1088
 #, c-format
 msgid "'msgstr' is not a valid %s format string, unlike 'msgid'"
 msgstr ""
 
-#: src/msgfmt.c:1104
-msgid "warning: PO file header missing, fuzzy, or invalid\n"
+#: src/msgfmt.c:1122
+#, c-format
+msgid "msgstr lacks the keyboard accelerator mark '%c'"
+msgstr ""
+
+#: src/msgfmt.c:1130
+#, c-format
+msgid "msgstr has too many keyboard accelerator marks '%c'"
+msgstr ""
+
+#: src/msgfmt.c:1164
+#, c-format
+msgid "headerfield `%s' missing in header"
+msgstr "feltet `%s' mangler i hovedet"
+
+#: src/msgfmt.c:1167
+#, c-format
+msgid "header field `%s' should start at beginning of line"
+msgstr "feltet `%s' bør starte ved liniens begyndelse"
+
+#: src/msgfmt.c:1176
+msgid "some header fields still have the initial default value"
+msgstr "nogle felter i hovedet har stadig den oprindelige standardværdi"
+
+#: src/msgfmt.c:1187
+#, c-format
+msgid "field `%s' still has initial default value"
+msgstr "feltet `%s' har stadig den oprindelige standardværdi"
+
+#: src/msgfmt.c:1228
+#, fuzzy
+msgid "warning: PO file header missing or invalid\n"
 msgstr "advarsel: PO-filhoved mangler, uafklaret eller ugyldigt\n"
 
-#: src/msgfmt.c:1107
+#: src/msgfmt.c:1231
 msgid "warning: charset conversion will not work\n"
 msgstr "advarsel: tegnsætskonvertering vil ikke virke\n"
 
-#: src/msgfmt.c:1131
+#: src/msgfmt.c:1241
+#, fuzzy
+msgid "warning: PO file header fuzzy\n"
+msgstr "advarsel: PO-filhoved mangler, uafklaret eller ugyldigt\n"
+
+#: src/msgfmt.c:1243
+msgid "warning: older versions of msgfmt will give an error on this\n"
+msgstr ""
+
+#: src/msgfmt.c:1268
 #, c-format
 msgid "domain name \"%s\" not suitable as file name"
 msgstr "domænet '%s' kan ikke bruges som filnavn"
 
-#: src/msgfmt.c:1136
+#: src/msgfmt.c:1273
 #, c-format
 msgid "domain name \"%s\" not suitable as file name: will use prefix"
 msgstr "domænet '%s' er ikke brugbart som filnavn. Vil bruge præfiks istedet"
 
-#: src/msgfmt.c:1147
+#: src/msgfmt.c:1284
 #, c-format
 msgid "`domain %s' directive ignored"
 msgstr "`domain %s'-kommando ignoreres"
 
-#: src/msgfmt.c:1182
+#: src/msgfmt.c:1356
 msgid "empty `msgstr' entry ignored"
 msgstr "tom `msgstr'-kommando ignoreret"
 
-#: src/msgfmt.c:1183
+#: src/msgfmt.c:1357
 msgid "fuzzy `msgstr' entry ignored"
 msgstr "\"fuzzy\" `msgstr'-tekst ignoreret"
 
-#: src/msgfmt.c:1226
-#, c-format
-msgid "headerfield `%s' missing in header"
-msgstr "feltet `%s' mangler i hovedet"
-
-#: src/msgfmt.c:1229
-#, c-format
-msgid "header field `%s' should start at beginning of line"
-msgstr "feltet `%s' bør starte ved liniens begyndelse"
-
-#: src/msgfmt.c:1239
-msgid "some header fields still have the initial default value"
-msgstr "nogle felter i hovedet har stadig den oprindelige standardværdi"
-
-#: src/msgfmt.c:1250
-#, c-format
-msgid "field `%s' still has initial default value"
-msgstr "feltet `%s' har stadig den oprindelige standardværdi"
-
-#: src/msgfmt.c:1339
+#: src/msgfmt.c:1426
 #, c-format
 msgid "%s: warning: source file contains fuzzy translation"
 msgstr ""
@@ -1269,14 +1292,14 @@ msgstr ""
 msgid "write to grep subprocess failed"
 msgstr ""
 
-#: src/msginit.c:277
+#: src/msginit.c:275
 msgid ""
 "You are in a language indifferent environment.  Please set\n"
 "your LANG environment variable, as described in the ABOUT-NLS\n"
 "file.  This is necessary so you can test your translations.\n"
 msgstr ""
 
-#: src/msginit.c:305
+#: src/msginit.c:303
 #, c-format
 msgid ""
 "Output file %s already exists.\n"
@@ -1284,14 +1307,19 @@ msgid ""
 "the output .po file through the --output-file option.\n"
 msgstr ""
 
-#: src/msginit.c:350
+#: src/msginit.c:326
+#, c-format
+msgid "Created %s.\n"
+msgstr ""
+
+#: src/msginit.c:348
 #, no-wrap
 msgid ""
 "Creates a new PO file, initializing the meta information with values from the\n"
 "user's environment.\n"
 msgstr ""
 
-#: src/msginit.c:361
+#: src/msginit.c:359
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -1300,7 +1328,7 @@ msgid ""
 "If it is -, standard input is read.\n"
 msgstr ""
 
-#: src/msginit.c:369
+#: src/msginit.c:367
 #, no-wrap
 msgid ""
 "Output file location:\n"
@@ -1309,56 +1337,48 @@ msgid ""
 "locale setting.  If it is -, the results are written to standard output.\n"
 msgstr ""
 
-#: src/msginit.c:377
+#: src/msginit.c:375
 #, no-wrap
 msgid ""
 "Output details:\n"
 "  -l, --locale=LL_CC          set target locale\n"
+"      --no-translator         assume the PO file is automatically generated\n"
 "  -w, --width=NUMBER          set output page width\n"
 msgstr ""
 
-#: src/msginit.c:384
-#, no-wrap
-msgid ""
-"Informative output:\n"
-"  -h, --help                  display this help and exit\n"
-"  -V, --version               output version information and exit\n"
-"  -v, --verbose               increase verbosity level\n"
-msgstr ""
-
-#: src/msginit.c:428
+#: src/msginit.c:426
 msgid ""
 "Found more than one .pot file.\n"
 "Please specify the input .pot file through the --input option.\n"
 msgstr ""
 
-#: src/msginit.c:436 src/msginit.c:441
+#: src/msginit.c:434 src/msginit.c:439
 msgid "error reading current directory"
 msgstr ""
 
-#: src/msginit.c:449
+#: src/msginit.c:447
 msgid ""
 "Found no .pot file in the current directory.\n"
 "Please specify the input .pot file through the --input option.\n"
 msgstr ""
 
-#: src/msginit.c:861 src/msginit.c:906 src/msginit.c:1035 src/msginit.c:1098
+#: src/msginit.c:887 src/msginit.c:932 src/msginit.c:1070 src/msginit.c:1137
 #: src/read-java.c:80
 msgid "fdopen() failed"
 msgstr ""
 
-#: src/msginit.c:866 src/msginit.c:911 src/msginit.c:1040
+#: src/msginit.c:892 src/msginit.c:937 src/msginit.c:1075
 #, c-format
 msgid "%s subprocess I/O error"
 msgstr ""
 
-#: src/msginit.c:875 src/msginit.c:920 src/msginit.c:1049 src/msginit.c:1112
+#: src/msginit.c:901 src/msginit.c:946 src/msginit.c:1084 src/msginit.c:1151
 #: src/read-java.c:90
 #, c-format
 msgid "%s subprocess failed with exit code %d"
 msgstr ""
 
-#: src/msginit.c:1025
+#: src/msginit.c:1060
 msgid ""
 "The new message catalog should contain your email address, so that users "
 "can\n"
@@ -1370,52 +1390,52 @@ msgstr ""
 #. TRANSLATORS: "English" needs to be replaced by your language.
 #. For example in it.po write "Traduzioni italiani ...",
 #. *not* "Traduzioni inglesi ...".
-#: src/msginit.c:1385
+#: src/msginit.c:1440
 #, c-format
 msgid "English translations for %s package"
 msgstr ""
 
-#: src/msgl-cat.c:172 src/msgl-charset.c:86 src/msgl-iconv.c:299
+#: src/msgl-cat.c:173 src/msgl-charset.c:86 src/msgl-iconv.c:299
 #, c-format
 msgid "present charset \"%s\" is not a portable encoding name"
 msgstr ""
 
-#: src/msgl-cat.c:180 src/msgl-iconv.c:307
+#: src/msgl-cat.c:181 src/msgl-iconv.c:307
 #, c-format
 msgid "two different charsets \"%s\" and \"%s\" in input file"
 msgstr ""
 
-#: src/msgl-cat.c:193
+#: src/msgl-cat.c:194
 #, c-format
 msgid ""
 "input file `%s' doesn't contain a header entry with a charset specification"
 msgstr ""
 
-#: src/msgl-cat.c:197
+#: src/msgl-cat.c:198
 #, c-format
 msgid ""
 "domain \"%s\" in input file `%s' doesn't contain a header entry with a "
 "charset specification"
 msgstr ""
 
-#: src/msgl-cat.c:358 src/msgl-iconv.c:382
+#: src/msgl-cat.c:359 src/msgl-iconv.c:382
 #, c-format
 msgid "target charset \"%s\" is not a portable encoding name."
 msgstr ""
 
-#: src/msgl-cat.c:408 src/msgl-cat.c:414 src/msgl-charset.c:91
+#: src/msgl-cat.c:409 src/msgl-cat.c:415 src/msgl-charset.c:91
 #: src/msgl-charset.c:126 src/write-po.c:723 src/write-po.c:817
 #, fuzzy
 msgid "warning: "
 msgstr "%s: advarsel: "
 
-#: src/msgl-cat.c:409
+#: src/msgl-cat.c:410
 msgid ""
 "Input files contain messages in different encodings, UTF-8 among others.\n"
 "Converting the output to UTF-8.\n"
 msgstr ""
 
-#: src/msgl-cat.c:415
+#: src/msgl-cat.c:416
 #, c-format
 msgid ""
 "Input files contain messages in different encodings, %s and %s among "
@@ -1489,11 +1509,11 @@ msgstr ""
 "Tegnsæt '%s' er ikke understøttet. %s bygger på iconv(),\n"
 "Denne version er bygget uden iconv().\n"
 
-#: src/msgmerge.c:337
+#: src/msgmerge.c:340
 msgid "backup type"
 msgstr ""
 
-#: src/msgmerge.c:374
+#: src/msgmerge.c:377
 #, fuzzy, no-wrap
 msgid ""
 "Merges two Uniforum style .po files together.  The def.po file is an\n"
@@ -1518,7 +1538,7 @@ msgstr ""
 "bedre resultater. Med mindre en uddatafil er angivet, vil resultaterne blive\n"
 "skrevet til standard uddata.\n"
 
-#: src/msgmerge.c:392
+#: src/msgmerge.c:395
 #, fuzzy, no-wrap
 msgid ""
 "Input file location:\n"
@@ -1529,7 +1549,7 @@ msgid ""
 "                              may be specified more than once\n"
 msgstr "  -D, --directory=FILKATALOG  gennemsøg også FILKATALOG efter inddatafiler\n"
 
-#: src/msgmerge.c:402
+#: src/msgmerge.c:405
 #, no-wrap
 msgid ""
 "Operation mode:\n"
@@ -1537,7 +1557,7 @@ msgid ""
 "                              do nothing if def.po already up to date\n"
 msgstr ""
 
-#: src/msgmerge.c:417
+#: src/msgmerge.c:420
 #, no-wrap
 msgid ""
 "Output file location in update mode:\n"
@@ -1554,7 +1574,7 @@ msgid ""
 "environment variable.\n"
 msgstr ""
 
-#: src/msgmerge.c:454
+#: src/msgmerge.c:457
 #, no-wrap
 msgid ""
 "Informative output:\n"
@@ -1564,7 +1584,17 @@ msgid ""
 "  -q, --quiet, --silent       suppress progress indicators\n"
 msgstr ""
 
-#: src/msgmerge.c:696
+#: src/msgmerge.c:625
+#, fuzzy
+msgid "this message should define plural forms"
+msgstr "...men nogen tekster har kun %lu flertalsformer"
+
+#: src/msgmerge.c:648
+#, fuzzy
+msgid "this message should not define plural forms"
+msgstr "denne tekst er brugt, men ikke erklæret i %s"
+
+#: src/msgmerge.c:779
 #, c-format
 msgid ""
 "%sRead %ld old + %ld reference, merged %ld, fuzzied %ld, missing %ld, "
@@ -1573,7 +1603,7 @@ msgstr ""
 "%sLæste %ld gamle + %ld reference, flettede %ld, uafklarede %ld, mangler %"
 "ld, forældede %ld.\n"
 
-#: src/msgmerge.c:704
+#: src/msgmerge.c:787
 msgid " done.\n"
 msgstr " afsluttet.\n"
 
@@ -1844,8 +1874,8 @@ msgstr "Ugyldig multibytesekvens"
 msgid "iconv failure"
 msgstr ""
 
-#: src/po-lex.c:763 src/read-mo.c:70 src/read-mo.c:135 src/x-c.c:213
-#: src/x-rst.c:227 src/x-ycp.c:102
+#: src/po-lex.c:763 src/read-mo.c:70 src/read-mo.c:135 src/x-c.c:216
+#: src/x-rst.c:227 src/x-ycp.c:103
 #, c-format
 msgid "error while reading \"%s\""
 msgstr "fejl ved læsning af '%s'"
@@ -1947,27 +1977,17 @@ msgstr "kan ikke oprette uddatafil '%s'"
 msgid "standard output"
 msgstr "standard-uddata"
 
-#: src/x-c.c:843
+#: src/x-c.c:858
 #, c-format
 msgid "%s:%d: warning: unterminated character constant"
 msgstr "%s:%d: advarsel:  tegnkonstant ikke afsluttet korrekt"
 
-#: src/x-c.c:867
+#: src/x-c.c:882
 #, c-format
 msgid "%s:%d: warning: unterminated string literal"
 msgstr "%s:%d: advarsel: strengkonstant ikke afsluttet"
 
-#: src/x-c.c:1269
-#, c-format
-msgid "%s:%lu: warning: keyword nested in keyword arg"
-msgstr "%s:%lu: advarsel: nøgleord indlejret i nøgleordsargument"
-
-#: src/x-c.c:1282
-#, c-format
-msgid "%s:%lu: warning: keyword between outer keyword and its arg"
-msgstr "%s:%lu: advarsel: nøgleord mellem ydre nøgleord og dets argument"
-
-#: src/x-po.c:106 src/xgettext.c:613
+#: src/x-po.c:106 src/xgettext.c:605
 msgid "this file may not contain domain directives"
 msgstr "denne fil må ikke indeholde 'domain'-kommandoer"
 
@@ -1986,34 +2006,34 @@ msgstr ""
 msgid "%s:%d: invalid string expression"
 msgstr ""
 
-#: src/xgettext.c:383
+#: src/xgettext.c:375
 msgid "--join-existing cannot be used when output is written to stdout"
 msgstr ""
 "--join-existing kan ikke benyttes når uddata sendes til standard-uddata"
 
-#: src/xgettext.c:388
+#: src/xgettext.c:380
 msgid "xgettext cannot work without keywords to look for"
 msgstr "xgettext kan ikke arbejde uden nogen nøgleord at kigge efter"
 
-#: src/xgettext.c:476
+#: src/xgettext.c:468
 #, c-format
 msgid "warning: file `%s' extension `%s' is unknown; will try C"
 msgstr ""
 "advarsel: ukendt type for fil `%s' med endelse `%s'; C benyttes i stedet"
 
-#: src/xgettext.c:517
+#: src/xgettext.c:509
 #, no-wrap
 msgid "Extract translatable strings from given input files.\n"
 msgstr ""
 
-#: src/xgettext.c:522
+#: src/xgettext.c:514
 #, no-wrap
 msgid ""
 "Mandatory arguments to long options are mandatory for short options too.\n"
 "Similarly for optional arguments.\n"
 msgstr ""
 
-#: src/xgettext.c:537
+#: src/xgettext.c:529
 #, no-wrap
 msgid ""
 "Output file location:\n"
@@ -2027,7 +2047,7 @@ msgstr ""
 "  -p, --output-dir=FILKATALOG    uddatafiler placeres i FILKATALOG\n"
 "Hvis uddatafilen er -, skrives uddata til standard-ud.\n"
 
-#: src/xgettext.c:546
+#: src/xgettext.c:538
 #, no-wrap
 msgid ""
 "Choice of input file language:\n"
@@ -2040,7 +2060,7 @@ msgstr ""
 "                                 ObjectiveC, PO, Java, YCP)\n"
 "  -C, --c++                      kort skrivemåde for --language=C++\n"
 
-#: src/xgettext.c:555
+#: src/xgettext.c:547
 #, no-wrap
 msgid ""
 "Operation mode:\n"
@@ -2054,7 +2074,7 @@ msgstr ""
 "  -c, --add-comments[=MÆRKE]     placér kommentarafsnit for MÆRKE (eller \n"
 "                                 de foregående nøgleordslinier) i uddata\n"
 
-#: src/xgettext.c:564
+#: src/xgettext.c:556
 #, no-wrap
 msgid ""
 "Language=C/C++ specific options:\n"
@@ -2071,7 +2091,7 @@ msgstr ""
 "  -T, --trigraphs                forstå ISO C-trigrafer i inddata\n"
 "      --debug                    mere detaljeret resultat af strenggenkendelse\n"
 
-#: src/xgettext.c:574
+#: src/xgettext.c:566
 #, no-wrap
 msgid ""
 "Output details:\n"
@@ -2091,22 +2111,31 @@ msgid ""
 "  -M, --msgstr-suffix[=STRING]   use STRING or \"\" as suffix for msgstr entries\n"
 msgstr ""
 
-#: src/xgettext.c:728
+#: src/xgettext.c:720
 msgid "standard input"
 msgstr "standard-inddata"
 
-#: src/xgettext.c:838
+#: src/xgettext.c:830
 msgid ""
 "Empty msgid.  It is reserved by GNU gettext:\n"
 "gettext(\"\") returns the header entry with\n"
 "meta information, not the empty string.\n"
 msgstr ""
 
-#: src/xgettext.c:1107
+#: src/xgettext.c:1099
 #, c-format
 msgid "language `%s' unknown"
 msgstr "ukendt sprog `%s'"
 
+#~ msgid "while creating hash table"
+#~ msgstr "under oprettelsen af hashtabel"
+
+#~ msgid "%s:%lu: warning: keyword nested in keyword arg"
+#~ msgstr "%s:%lu: advarsel: nøgleord indlejret i nøgleordsargument"
+
+#~ msgid "%s:%lu: warning: keyword between outer keyword and its arg"
+#~ msgstr "%s:%lu: advarsel: nøgleord mellem ydre nøgleord og dets argument"
+
 #~ msgid "this message has no definition in the \"%s\" domain"
 #~ msgstr "denne besked har ingen erklæring i '%s'-domænet"
 
index 7d6840b5ee2618f54ba5d9dc6ca51768216d6d13..eb54f7a84a14f826d9e15d105b42cfcecf01eec9 100644 (file)
Binary files a/po/de.gmo and b/po/de.gmo differ
index 76e538e4e4fa60730b1fd1750eb0462abf584315..2b5edabe1a1a2784d96ea912d3e9e87d2f25fe48 100644 (file)
--- a/po/de.po
+++ b/po/de.po
@@ -71,7 +71,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: GNU gettext 0.11-pre1\n"
-"POT-Creation-Date: 2001-11-01 13:09+0100\n"
+"POT-Creation-Date: 2001-11-30 14:18+0100\n"
 "PO-Revision-Date: 2001-11-04 12:25+0100\n"
 "Last-Translator: Karl Eichwalder <ke@suse.de>\n"
 "Language-Team: German <de@li.org>\n"
@@ -95,7 +95,7 @@ msgid "Valid arguments are:"
 msgstr "Gültige Argumente sind:"
 
 #: lib/copy-file.c:60 src/file-list.c:57 src/po-lex.c:732 src/read-mo.c:170
-#: src/xgettext.c:737 src/xgettext.c:750 src/xgettext.c:760
+#: src/xgettext.c:729 src/xgettext.c:742 src/xgettext.c:752
 #, c-format
 msgid "error while opening \"%s\" for reading"
 msgstr "Öffnen der Datei »%s« zum Lesen fehlgeschlagen"
@@ -191,7 +191,7 @@ msgid "Java compiler not found, try installing gcj or set $JAVAC"
 msgstr ""
 "Java-Compiler nicht gefunden; bitte »gcj« installieren oder $JAVAC setzen"
 
-#: lib/javaexec.c:402
+#: lib/javaexec.c:404
 msgid "Java virtual machine not found, try installing gij or set $JAVA"
 msgstr ""
 "Virtuelle Java-Maschine nicht gefunden; bitte »gcj« installieren oder\n"
@@ -245,7 +245,7 @@ msgid ""
 msgstr ""
 "Formatelemente in »msgid« und »msgstr« für Argument {%u} nicht identisch"
 
-#: src/format-lisp.c:3385
+#: src/format-lisp.c:3371
 msgid "format specifications in 'msgid' and 'msgstr' are not equivalent"
 msgstr "Formatelemente in »msgid« und »msgstr« nicht gleichbedeutend"
 
@@ -285,21 +285,21 @@ msgstr ""
 "Formatelemente in »msgid« und »msgstr« für Argument »%s« stimmen nicht "
 "überein"
 
-#: src/format-ycp.c:135
+#: src/format-ycp.c:137
 #, c-format
 msgid "a format specification for argument %u doesn't exist in 'msgstr'"
 msgstr "ein Formatelement für Argument »%u« fehlt in »msgstr«"
 
-#: src/format-ycp.c:136
+#: src/format-ycp.c:138
 #, c-format
 msgid "a format specification for argument %u doesn't exist in 'msgid'"
 msgstr "ein Formatelement für Argument »%u« fehlt in »msgid«"
 
 #: src/gettext.c:146 src/hostname.c:168 src/msgattrib.c:264 src/msgcat.c:229
-#: src/msgcmp.c:133 src/msgcomm.c:232 src/msgconv.c:182 src/msgen.c:171
-#: src/msgexec.c:240 src/msgfmt.c:312 src/msggrep.c:276 src/msginit.c:249
-#: src/msgmerge.c:249 src/msgunfmt.c:182 src/msguniq.c:207 src/ngettext.c:126
-#: src/xgettext.c:356
+#: src/msgcmp.c:134 src/msgcomm.c:232 src/msgconv.c:182 src/msgen.c:171
+#: src/msgexec.c:240 src/msgfmt.c:333 src/msggrep.c:276 src/msginit.c:247
+#: src/msgmerge.c:252 src/msgunfmt.c:182 src/msguniq.c:207 src/ngettext.c:126
+#: src/xgettext.c:352
 #, c-format, no-wrap
 msgid ""
 "Copyright (C) %s Free Software Foundation, Inc.\n"
@@ -312,15 +312,15 @@ msgstr ""
 "die VERWENDBARKEIT ZU EINEN ANGEGEBENEN ZWECK.\n"
 
 #: src/gettext.c:151 src/hostname.c:173 src/msgattrib.c:269 src/msgcat.c:234
-#: src/msgcmp.c:138 src/msgcomm.c:237 src/msgconv.c:187 src/msgen.c:176
-#: src/msgexec.c:245 src/msgfmt.c:317 src/msggrep.c:281 src/msginit.c:254
-#: src/msgmerge.c:254 src/msgunfmt.c:187 src/msguniq.c:212 src/ngettext.c:131
-#: src/xgettext.c:361
+#: src/msgcmp.c:139 src/msgcomm.c:237 src/msgconv.c:187 src/msgen.c:176
+#: src/msgexec.c:245 src/msgfmt.c:338 src/msggrep.c:281 src/msginit.c:252
+#: src/msgmerge.c:257 src/msgunfmt.c:187 src/msguniq.c:212 src/ngettext.c:131
+#: src/xgettext.c:357
 #, c-format
 msgid "Written by %s.\n"
 msgstr "Geschrieben von %s.\n"
 
-#: src/gettext.c:169 src/hostname.c:183 src/msginit.c:264 src/ngettext.c:143
+#: src/gettext.c:169 src/hostname.c:183 src/msginit.c:262 src/ngettext.c:143
 msgid "too many arguments"
 msgstr "zu viele Argumente"
 
@@ -329,10 +329,10 @@ msgid "missing arguments"
 msgstr "Argumente fehlen"
 
 #: src/gettext.c:251 src/hostname.c:197 src/msgattrib.c:322 src/msgcat.c:290
-#: src/msgcmp.c:170 src/msgcomm.c:306 src/msgconv.c:241 src/msgen.c:227
-#: src/msgexec.c:338 src/msgfmt.c:455 src/msggrep.c:371 src/msginit.c:340
-#: src/msgmerge.c:364 src/msgunfmt.c:262 src/msguniq.c:269 src/ngettext.c:210
-#: src/xgettext.c:507
+#: src/msgcmp.c:171 src/msgcomm.c:306 src/msgconv.c:241 src/msgen.c:227
+#: src/msgexec.c:338 src/msgfmt.c:479 src/msggrep.c:371 src/msginit.c:338
+#: src/msgmerge.c:367 src/msgunfmt.c:262 src/msguniq.c:269 src/ngettext.c:210
+#: src/xgettext.c:499
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "»%s --help« gibt weitere Informationen.\n"
@@ -398,17 +398,17 @@ msgstr ""
 "Standardverzeichnis: %s\n"
 
 #: src/gettext.c:288 src/hostname.c:227 src/msgattrib.c:402 src/msgcat.c:371
-#: src/msgcmp.c:215 src/msgcomm.c:384 src/msgconv.c:305 src/msgen.c:287
-#: src/msgexec.c:410 src/msgfmt.c:537 src/msggrep.c:457 src/msginit.c:391
-#: src/msgmerge.c:462 src/msgunfmt.c:331 src/msguniq.c:343 src/ngettext.c:244
-#: src/xgettext.c:599
+#: src/msgcmp.c:216 src/msgcomm.c:384 src/msgconv.c:305 src/msgen.c:287
+#: src/msgexec.c:410 src/msgfmt.c:563 src/msggrep.c:457 src/msginit.c:389
+#: src/msgmerge.c:465 src/msgunfmt.c:331 src/msguniq.c:343 src/ngettext.c:244
+#: src/xgettext.c:591
 msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
 msgstr ""
 "Fehler bitte an <bug-gnu-gettext@gnu.org> melden.\n"
 "\n"
 "Für die deutsche Übersetzung ist die Mailingliste <de@li.org> zuständig.\n"
 
-#: src/hostname.c:202 src/msginit.c:345
+#: src/hostname.c:202 src/msginit.c:343
 #, c-format, no-wrap
 msgid "Usage: %s [OPTION]\n"
 msgstr "Aufruf: %s [OPTION]\n"
@@ -433,8 +433,8 @@ msgstr ""
 "                          vollqualifizierten Domainnamen (FQDN) und Aliasse\n"
 "  -i, --ip-address      Adressen für den Rechnernamen\n"
 
-#: src/hostname.c:221 src/msgattrib.c:396 src/msgcmp.c:209 src/msgconv.c:299
-#: src/msgen.c:281 src/msgexec.c:404 src/msggrep.c:451
+#: src/hostname.c:221 src/msgattrib.c:396 src/msgcmp.c:210 src/msgconv.c:299
+#: src/msgen.c:281 src/msgexec.c:404 src/msggrep.c:451 src/msginit.c:383
 #, no-wrap
 msgid ""
 "Informative output:\n"
@@ -450,16 +450,16 @@ msgid "could not get host name"
 msgstr "es ist nicht möglich, den Rechnernamen (Hostname) herauszufinden"
 
 #: src/msgattrib.c:284 src/msgconv.c:202 src/msgexec.c:190 src/msggrep.c:296
-#: src/msginit.c:207 src/msguniq.c:227
+#: src/msginit.c:205 src/msguniq.c:227
 msgid "at most one input file allowed"
 msgstr "höchstens eine Eingabedatei erlaubt"
 
 #: src/msgattrib.c:290 src/msgattrib.c:294 src/msgcat.c:244 src/msgcat.c:248
 #: src/msgcomm.c:247 src/msgcomm.c:251 src/msgconv.c:208 src/msgconv.c:212
 #: src/msgen.c:198 src/msgen.c:202 src/msgexec.c:260 src/msgexec.c:264
-#: src/msgfmt.c:337 src/msggrep.c:302 src/msggrep.c:306 src/msgmerge.c:279
-#: src/msgmerge.c:300 src/msgmerge.c:304 src/msguniq.c:233 src/msguniq.c:237
-#: src/xgettext.c:375 src/xgettext.c:379
+#: src/msgfmt.c:358 src/msggrep.c:302 src/msggrep.c:306 src/msgmerge.c:282
+#: src/msgmerge.c:303 src/msgmerge.c:307 src/msguniq.c:233 src/msguniq.c:237
+#: src/xgettext.c:367 src/xgettext.c:371
 #, c-format
 msgid "%s and %s are mutually exclusive"
 msgstr "%s und %s schließen sich gegenseitig aus"
@@ -478,9 +478,9 @@ msgstr ""
 "Meldungen eines Katalogs mit Übersetzungen gemäß deren Attribute filtern und\n"
 "die Attribute verändern.\n"
 
-#: src/msgattrib.c:338 src/msgcat.c:313 src/msgcmp.c:190 src/msgcomm.c:328
-#: src/msgconv.c:256 src/msgen.c:245 src/msgexec.c:353 src/msgfmt.c:470
-#: src/msggrep.c:387 src/msginit.c:356 src/msgmerge.c:387 src/msgunfmt.c:277
+#: src/msgattrib.c:338 src/msgcat.c:313 src/msgcmp.c:191 src/msgcomm.c:328
+#: src/msgconv.c:256 src/msgen.c:245 src/msgexec.c:353 src/msgfmt.c:494
+#: src/msggrep.c:387 src/msginit.c:354 src/msgmerge.c:390 src/msgunfmt.c:277
 #: src/msguniq.c:291
 #, no-wrap
 msgid "Mandatory arguments to long options are mandatory for short options too.\n"
@@ -503,7 +503,7 @@ msgstr ""
 "gelesen.\n"
 
 #: src/msgattrib.c:351 src/msgconv.c:269 src/msgen.c:258 src/msgexec.c:366
-#: src/msggrep.c:400 src/msgmerge.c:409
+#: src/msggrep.c:400 src/msgmerge.c:412
 #, no-wrap
 msgid ""
 "Output file location:\n"
@@ -588,7 +588,7 @@ msgstr ""
 msgid "impossible selection criteria specified (%d < n < %d)"
 msgstr "Auswahlkriterium nicht möglich (%d < n < %d)"
 
-#: src/msgcat.c:295 src/msgcomm.c:311 src/xgettext.c:512
+#: src/msgcat.c:295 src/msgcomm.c:311 src/xgettext.c:504
 #, c-format, no-wrap
 msgid "Usage: %s [OPTION] [INPUTFILE]...\n"
 msgstr "Aufruf: %s [OPTION] [EINGABEDATEI]...\n"
@@ -618,7 +618,7 @@ msgstr ""
 "Stellenangaben der Meldungen in den Quellen werden für alle PO-Dateien\n"
 "kumuliert.\n"
 
-#: src/msgcat.c:318 src/msgcomm.c:333 src/xgettext.c:528
+#: src/msgcat.c:318 src/msgcomm.c:333 src/xgettext.c:520
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -703,7 +703,7 @@ msgstr ""
 "  -s, --sort-output             sortierte Ausgabe erzeugen\n"
 "  -F, --sort-by-file            Ausgabe gemäß Vorkommen in Dateien erzeugen\n"
 
-#: src/msgcat.c:365 src/msgcomm.c:378 src/msguniq.c:337 src/xgettext.c:593
+#: src/msgcat.c:365 src/msgcomm.c:378 src/msguniq.c:337 src/xgettext.c:585
 #, no-wrap
 msgid ""
 "Informative output:\n"
@@ -714,20 +714,20 @@ msgstr ""
 "  -h, --help                   diese Hilfe anzeigen und beenden\n"
 "  -V, --version                Versionsnummer anzeigen und beenden\n"
 
-#: src/msgcmp.c:149 src/msgmerge.c:265
+#: src/msgcmp.c:150 src/msgmerge.c:268
 msgid "no input files given"
 msgstr "keine Eingabedateien angegeben"
 
-#: src/msgcmp.c:154 src/msgmerge.c:270
+#: src/msgcmp.c:155 src/msgmerge.c:273
 msgid "exactly 2 input files required"
 msgstr "es werden genau zwei Eingabedateien benötigt"
 
-#: src/msgcmp.c:175 src/msgmerge.c:369
+#: src/msgcmp.c:176 src/msgmerge.c:372
 #, c-format, no-wrap
 msgid "Usage: %s [OPTION] def.po ref.pot\n"
 msgstr "Aufruf: %s [OPTION] Def.po Ref.pot\n"
 
-#: src/msgcmp.c:180
+#: src/msgcmp.c:181
 #, no-wrap
 msgid ""
 "Compare two Uniforum style .po files to check that both contain the same\n"
@@ -747,7 +747,7 @@ msgstr ""
 "Hilfestellung zu geben.\n"
 "\n"
 
-#: src/msgcmp.c:195
+#: src/msgcmp.c:196
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -761,7 +761,7 @@ msgstr ""
 "  -D, --directory=VERZEICHNIS   VERZEICHNIS der Liste hinzufügen, in dem nach\n"
 "                                  Eingabedateien gesucht werden soll\n"
 
-#: src/msgcmp.c:203 src/msgmerge.c:433
+#: src/msgcmp.c:204 src/msgmerge.c:436
 #, no-wrap
 msgid ""
 "Operation modifiers:\n"
@@ -770,35 +770,35 @@ msgstr ""
 "Optionen, die Verarbeitungen modifizieren:\n"
 "  -m, --multi-domain          Ref.pot auf jeden Bereich in Def.po anwenden\n"
 
-#: src/msgcmp.c:252 src/msgmerge.c:540
+#: src/msgcmp.c:253 src/msgmerge.c:543
 msgid "this message is used but not defined..."
 msgstr "diese Meldung kommt vor, ist aber nicht definiert..."
 
-#: src/msgcmp.c:254 src/msgmerge.c:542
+#: src/msgcmp.c:255 src/msgmerge.c:545
 msgid "...but this definition is similar"
 msgstr "...aber diese Definition ist ähnlich"
 
-#: src/msgcmp.c:259 src/msgmerge.c:569
+#: src/msgcmp.c:260 src/msgmerge.c:572
 #, c-format
 msgid "this message is used but not defined in %s"
 msgstr "diese Meldung kommt vor, ist aber in %s nicht definiert"
 
-#: src/msgcmp.c:331
+#: src/msgcmp.c:332
 msgid "warning: this message is not used"
 msgstr "Warnung: diese Meldung kommt nicht vor"
 
-#: src/msgcmp.c:338 src/po-lex.c:705
+#: src/msgcmp.c:339 src/po-lex.c:705
 #, c-format
 msgid "found %d fatal error"
 msgid_plural "found %d fatal errors"
 msgstr[0] "es ist %d fataler Fehler aufgetreten"
 msgstr[1] "es sind %d fatale Fehler aufgetreten"
 
-#: src/msgcmp.c:419 src/msgfmt.c:1298 src/read-po.c:198 src/x-po.c:163
+#: src/msgcmp.c:420 src/msgfmt.c:1323 src/read-po.c:202 src/x-po.c:163
 msgid "duplicate message definition"
 msgstr "Mehrfachdefinition der Meldung"
 
-#: src/msgcmp.c:420 src/msgfmt.c:1300 src/read-po.c:199 src/x-po.c:164
+#: src/msgcmp.c:421 src/msgfmt.c:1324 src/read-po.c:203 src/x-po.c:164
 msgid "...this is the location of the first definition"
 msgstr "...dies ist die Stelle der ersten Definition"
 
@@ -898,7 +898,7 @@ msgstr ""
 "  -t, --to-code=NAME          Kodierung für die Ausgabe\n"
 "Die Vorgabe für die Kodierung ist die Kodierung der aktuellen Lokale.\n"
 
-#: src/msgconv.c:284 src/msgen.c:266 src/msgmerge.c:439
+#: src/msgconv.c:284 src/msgen.c:266 src/msgmerge.c:442
 #, no-wrap
 msgid ""
 "Output details:\n"
@@ -928,7 +928,7 @@ msgstr ""
 "  -s, --sort-output             sortierte Ausgabe erzeugen\n"
 "  -F, --sort-by-file            Ausgabe gemäß Vorkommen in Dateien erzeugen\n"
 
-#: src/msgen.c:187 src/msgfmt.c:328 src/xgettext.c:396
+#: src/msgen.c:187 src/msgfmt.c:349 src/xgettext.c:388
 msgid "no input file given"
 msgstr "Eingabedatei fehlt"
 
@@ -1080,49 +1080,54 @@ msgstr "Lesen vorm Subprozess %s fehlgeschlagen"
 msgid "%s subprocess terminated with exit code %d"
 msgstr "Subprozess %s wurde mit dem Exitcode %d beendet"
 
-#: src/msgfmt.c:343
+#: src/msgfmt.c:303
+#, c-format
+msgid "the argument to %s should be a single punctuation character"
+msgstr ""
+
+#: src/msgfmt.c:364
 #, c-format
 msgid "%s requires a \"-d directory\" specification"
 msgstr "%s erfordert eine Angabe in der Art »-d Verzeichnis«"
 
-#: src/msgfmt.c:352 src/msgfmt.c:358 src/msgfmt.c:364 src/msgmerge.c:287
-#: src/msgmerge.c:293 src/msgunfmt.c:209 src/msgunfmt.c:215
+#: src/msgfmt.c:373 src/msgfmt.c:379 src/msgfmt.c:385 src/msgmerge.c:290
+#: src/msgmerge.c:296 src/msgunfmt.c:209 src/msgunfmt.c:215
 #, c-format
 msgid "%s is only valid with %s"
 msgstr "%s ist nur mit %s gültig"
 
-#: src/msgfmt.c:428
+#: src/msgfmt.c:452
 #, c-format
 msgid "%d translated message"
 msgid_plural "%d translated messages"
 msgstr[0] "%d übersetzte Meldung"
 msgstr[1] "%d übersetzte Meldungen"
 
-#: src/msgfmt.c:433
+#: src/msgfmt.c:457
 #, c-format
 msgid ", %d fuzzy translation"
 msgid_plural ", %d fuzzy translations"
 msgstr[0] ", %d ungenaue Übersetzung"
 msgstr[1] ", %d ungenaue Übersetzungen"
 
-#: src/msgfmt.c:438
+#: src/msgfmt.c:462
 #, c-format
 msgid ", %d untranslated message"
 msgid_plural ", %d untranslated messages"
 msgstr[0] ", %d unübersetzte Meldung"
 msgstr[1] ", %d unübersetzte Meldungen"
 
-#: src/msgfmt.c:460
+#: src/msgfmt.c:484
 #, c-format, no-wrap
 msgid "Usage: %s [OPTION] filename.po ...\n"
 msgstr "Aufruf: %s [OPTION] Datei.po ...\n"
 
-#: src/msgfmt.c:465
+#: src/msgfmt.c:489
 #, no-wrap
 msgid "Generate binary message catalog from textual translation description.\n"
 msgstr "Binären Katalog mit Meldungen aus der textuellen Übersetzung erzeugen.\n"
 
-#: src/msgfmt.c:475
+#: src/msgfmt.c:499
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -1135,7 +1140,7 @@ msgstr ""
 "  -D, --directory=VERZ        VERZ der Liste der Eingabedateien hinzufügen\n"
 "Wenn die Eingabedatei »-« ist, wird die Standardeingabe gelesen.\n"
 
-#: src/msgfmt.c:483
+#: src/msgfmt.c:507
 #, no-wrap
 msgid ""
 "Operation mode:\n"
@@ -1147,7 +1152,7 @@ msgstr ""
 "                             erzeugen\n"
 "      --java2              wie --java, aber Java2 (JDK 1.2 oder höher) annehmen\n"
 
-#: src/msgfmt.c:490
+#: src/msgfmt.c:514
 #, no-wrap
 msgid ""
 "Output file location:\n"
@@ -1161,7 +1166,7 @@ msgstr ""
 "Ergebnisse werden nach der Standardausgabe geschrieben, wenn keine Datei oder\n"
 "»-« angegeben ist.\n"
 
-#: src/msgfmt.c:498
+#: src/msgfmt.c:522
 #, no-wrap
 msgid ""
 "Output file location in Java mode:\n"
@@ -1183,8 +1188,8 @@ msgstr ""
 "»-d« ist notwendig.  Die Klasse wird unter dem angegebenen Verzeichnis\n"
 "geschrieben.\n"
 
-#: src/msgfmt.c:509
-#, no-wrap
+#: src/msgfmt.c:533
+#, fuzzy, no-wrap
 msgid ""
 "Input file interpretation:\n"
 "  -c, --check                 perform all the checks implied by\n"
@@ -1194,6 +1199,8 @@ msgid ""
 "      --check-domain          check for conflicts between domain directives\n"
 "                                and the --output-file option\n"
 "  -C, --check-compatibility   check that GNU msgfmt behaves like X/Open msgfmt\n"
+"      --check-accelerators[=CHAR]  check presence of keyboard accelerators for\n"
+"                                menu items\n"
 "  -f, --use-fuzzy             use fuzzy entries in output\n"
 msgstr ""
 "Überprüfung der Eingebedatei:\n"
@@ -1207,7 +1214,7 @@ msgstr ""
 "                                msgfmt verhält\n"
 "  -f, --use-fuzzy             auch ungenaue Übersetzungen (»fuzzy«) verwenden\n"
 
-#: src/msgfmt.c:522
+#: src/msgfmt.c:548
 #, c-format, no-wrap
 msgid ""
 "Output details:\n"
@@ -1219,7 +1226,7 @@ msgstr ""
 "                                  ausrichten\n"
 "      --no-hash                 Binärdatei soll keine Hash-Tabelle enthalten\n"
 
-#: src/msgfmt.c:529
+#: src/msgfmt.c:555
 #, no-wrap
 msgid ""
 "Informative output:\n"
@@ -1234,28 +1241,24 @@ msgstr ""
 "      --statistics             Statistik zu den Übersetzungen anzeigen\n"
 "  -v, --verbose                mehr Hinweise während der Verarbeitung geben\n"
 
-#: src/msgfmt.c:579
-msgid "while creating hash table"
-msgstr "beim Anlegen der Hash-Tabelle"
-
-#: src/msgfmt.c:675
+#: src/msgfmt.c:707
 msgid "plural expression can produce negative values"
 msgstr "Pluralausdruck kann negative Werte ergeben"
 
-#: src/msgfmt.c:688
+#: src/msgfmt.c:720
 #, c-format
 msgid "nplurals = %lu but plural expression can produce values as large as %lu"
 msgstr "nplurals = %lu, aber Pluralausdruck kann Werte so groß wie %lu ergeben"
 
-#: src/msgfmt.c:714
+#: src/msgfmt.c:746
 msgid "plural expression can produce division by zero"
 msgstr "Pluralausdruck kann Teilung durch Null ergeben"
 
-#: src/msgfmt.c:719
+#: src/msgfmt.c:751
 msgid "plural expression can produce integer overflow"
 msgstr "Pluralausdruck kann einen Ganzzahl-Überlauf ergeben"
 
-#: src/msgfmt.c:724
+#: src/msgfmt.c:756
 msgid ""
 "plural expression can produce arithmetic exceptions, possibly division by "
 "zero"
@@ -1264,42 +1267,42 @@ msgstr ""
 "Teilung\n"
 "durch Null"
 
-#: src/msgfmt.c:798 src/msgfmt.c:809
+#: src/msgfmt.c:830 src/msgfmt.c:841
 msgid "message catalog has plural form translations..."
 msgstr "Katalog mit Meldungen weist Übersetzungen mit Pluralformen auf..."
 
-#: src/msgfmt.c:801
+#: src/msgfmt.c:833
 msgid "...but header entry lacks a \"plural=EXPRESSION\" attribute"
 msgstr "...aber dem Kopfeintrag fehlt das Attribut »plural=AUSDRUCK«"
 
-#: src/msgfmt.c:812
+#: src/msgfmt.c:844
 msgid "...but header entry lacks a \"nplurals=INTEGER\" attribute"
 msgstr "...aber dem Kopfeintrag fehlt das Attribut »nplurals=GANZZAHL«"
 
-#: src/msgfmt.c:836
+#: src/msgfmt.c:868
 msgid "invalid nplurals value"
 msgstr "ungültige Pluralwerte"
 
-#: src/msgfmt.c:849
+#: src/msgfmt.c:881
 msgid "invalid plural expression"
 msgstr "ungültiger Pluralausdruck"
 
-#: src/msgfmt.c:867 src/msgfmt.c:880
+#: src/msgfmt.c:899 src/msgfmt.c:912
 #, c-format
 msgid "nplurals = %lu..."
 msgstr "nplurals = %lu..."
 
-#: src/msgfmt.c:870
+#: src/msgfmt.c:902
 #, c-format
 msgid "...but some messages have only %lu plural forms"
 msgstr "... aber einige Meldungen haben nur %lu Pluralformen"
 
-#: src/msgfmt.c:883
+#: src/msgfmt.c:915
 #, c-format
 msgid "...but some messages have %lu plural forms"
 msgstr "... aber einige Meldungen haben %lu Pluralformen"
 
-#: src/msgfmt.c:898
+#: src/msgfmt.c:930
 msgid ""
 "message catalog has plural form translations, but lacks a header entry with "
 "\"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\""
@@ -1308,98 +1311,120 @@ msgstr ""
 "Kopfeintrag fehlt die Zeile:\n"
 "»Plural-Forms: nplurals=GANZZAHL; plural=AUSDRUCK;«"
 
-#: src/msgfmt.c:936
+#: src/msgfmt.c:968
 msgid "`msgid' and `msgid_plural' entries do not both begin with '\\n'"
 msgstr "»msgid«- und »msgstr_plural«-Eintrag beginnen nicht jeweils mit »\\n«"
 
-#: src/msgfmt.c:946
+#: src/msgfmt.c:978
 #, c-format
 msgid "`msgid' and `msgstr[%u]' entries do not both begin with '\\n'"
 msgstr "»msgid«- und »msgstr[%u]«-Eintrag beginnen nicht jeweils mit »\\n«"
 
-#: src/msgfmt.c:958
+#: src/msgfmt.c:990
 msgid "`msgid' and `msgstr' entries do not both begin with '\\n'"
 msgstr "»msgid«- und »msgstr«-Eintrag beginnen nicht jeweils mit »\\n«"
 
-#: src/msgfmt.c:975
+#: src/msgfmt.c:1007
 msgid "`msgid' and `msgid_plural' entries do not both end with '\\n'"
 msgstr "»msgid«- und »msgstr_plural«-Eintrag enden nicht jeweils mit »\\n«"
 
-#: src/msgfmt.c:985
+#: src/msgfmt.c:1017
 #, c-format
 msgid "`msgid' and `msgstr[%u]' entries do not both end with '\\n'"
 msgstr "»msgid«- und »msgstr[%u]«-Eintrag enden nicht jeweils mit »\\n«"
 
-#: src/msgfmt.c:997
+#: src/msgfmt.c:1029
 msgid "`msgid' and `msgstr' entries do not both end with '\\n'"
 msgstr "»msgid«- und »msgstr«-Eintrag enden nicht jeweils mit »\\n«"
 
-#: src/msgfmt.c:1009
+#: src/msgfmt.c:1041
 msgid "plural handling is a GNU gettext extension"
 msgstr "Die Plural-Behandlung ist eine Erweiterung von GNU gettext"
 
-#: src/msgfmt.c:1056
+#: src/msgfmt.c:1088
 #, c-format
 msgid "'msgstr' is not a valid %s format string, unlike 'msgid'"
 msgstr "»msgstr« ist ein ungültiges Formatelement %s, im Gegensatz zu »msgid«"
 
+#: src/msgfmt.c:1122
+#, c-format
+msgid "msgstr lacks the keyboard accelerator mark '%c'"
+msgstr ""
+
+#: src/msgfmt.c:1130
+#, c-format
+msgid "msgstr has too many keyboard accelerator marks '%c'"
+msgstr ""
+
+#: src/msgfmt.c:1164
+#, c-format
+msgid "headerfield `%s' missing in header"
+msgstr "Im Kopfeintrag fehlt das Feld »%s«"
+
+#: src/msgfmt.c:1167
+#, c-format
+msgid "header field `%s' should start at beginning of line"
+msgstr "Feld »%s« im Kopfeintrag sollte in der ersten Spalte anfangen"
+
+#: src/msgfmt.c:1176
+msgid "some header fields still have the initial default value"
+msgstr ""
+"Einige Felder im Kopfeintrag haben immer noch den anfänglichen Vorgabewert"
+
+#: src/msgfmt.c:1187
+#, c-format
+msgid "field `%s' still has initial default value"
+msgstr "Feld »%s« hat immer noch den anfänglichen Vorgabewert"
+
 # = Konvertierung der Meldung in Hinblick auf den Zeichensatz
 # 2001-03-11 20:56:03 CET -ke-
-#: src/msgfmt.c:1104
-msgid "warning: PO file header missing, fuzzy, or invalid\n"
+#: src/msgfmt.c:1228
+#, fuzzy
+msgid "warning: PO file header missing or invalid\n"
 msgstr "Warnung: Kopfteil der PO-Datei fehlt, ist ungenau oder ungültig\n"
 
 # = Konvertierung der Meldung in Hinblick auf den Zeichensatz
 # 2001-03-11 20:56:03 CET -ke-
-#: src/msgfmt.c:1107
+#: src/msgfmt.c:1231
 msgid "warning: charset conversion will not work\n"
 msgstr "Warnung: Konvertierung des Zeichensatzes wird fehlschlagen.\n"
 
-#: src/msgfmt.c:1131
+# = Konvertierung der Meldung in Hinblick auf den Zeichensatz
+# 2001-03-11 20:56:03 CET -ke-
+#: src/msgfmt.c:1241
+#, fuzzy
+msgid "warning: PO file header fuzzy\n"
+msgstr "Warnung: Kopfteil der PO-Datei fehlt, ist ungenau oder ungültig\n"
+
+#: src/msgfmt.c:1243
+msgid "warning: older versions of msgfmt will give an error on this\n"
+msgstr ""
+
+#: src/msgfmt.c:1268
 #, c-format
 msgid "domain name \"%s\" not suitable as file name"
 msgstr "Bereichsname »%s« ist nicht als Dateiname geeignet"
 
-#: src/msgfmt.c:1136
+#: src/msgfmt.c:1273
 #, c-format
 msgid "domain name \"%s\" not suitable as file name: will use prefix"
 msgstr ""
 "Bereichsname »%s« ist nicht als Dateiname geeignet; Präfix wird verwendet."
 
-#: src/msgfmt.c:1147
+#: src/msgfmt.c:1284
 #, c-format
 msgid "`domain %s' directive ignored"
 msgstr "»domain %s«-Anweisung wird ignoriert"
 
-#: src/msgfmt.c:1182
+#: src/msgfmt.c:1356
 msgid "empty `msgstr' entry ignored"
 msgstr "leerer »msgstr«-Eintrag wird ignoriert"
 
-#: src/msgfmt.c:1183
+#: src/msgfmt.c:1357
 msgid "fuzzy `msgstr' entry ignored"
 msgstr "ungenauer »msgstr«-Eintrag wird ignoriert"
 
-#: src/msgfmt.c:1226
-#, c-format
-msgid "headerfield `%s' missing in header"
-msgstr "Im Kopfeintrag fehlt das Feld »%s«"
-
-#: src/msgfmt.c:1229
-#, c-format
-msgid "header field `%s' should start at beginning of line"
-msgstr "Feld »%s« im Kopfeintrag sollte in der ersten Spalte anfangen"
-
-#: src/msgfmt.c:1239
-msgid "some header fields still have the initial default value"
-msgstr ""
-"Einige Felder im Kopfeintrag haben immer noch den anfänglichen Vorgabewert"
-
-#: src/msgfmt.c:1250
-#, c-format
-msgid "field `%s' still has initial default value"
-msgstr "Feld »%s« hat immer noch den anfänglichen Vorgabewert"
-
-#: src/msgfmt.c:1339
+#: src/msgfmt.c:1426
 #, c-format
 msgid "%s: warning: source file contains fuzzy translation"
 msgstr "%s: Warnung: Quelldatei enthält ungenaue Übersetzungen"
@@ -1515,7 +1540,7 @@ msgstr ""
 msgid "write to grep subprocess failed"
 msgstr "Schreiben zum Subprozess grep fehlgeschlagen"
 
-#: src/msginit.c:277
+#: src/msginit.c:275
 msgid ""
 "You are in a language indifferent environment.  Please set\n"
 "your LANG environment variable, as described in the ABOUT-NLS\n"
@@ -1526,7 +1551,7 @@ msgstr ""
 "beschrieben.  Dies ist notwendig, damit Sie Ihre Übersetzungen testen "
 "können.\n"
 
-#: src/msginit.c:305
+#: src/msginit.c:303
 #, c-format
 msgid ""
 "Output file %s already exists.\n"
@@ -1537,7 +1562,12 @@ msgstr ""
 "Bitte legen Sie die Lokale mit der Option »--locale« oder\n"
 "die .po-Datei für die Ausgabe mit der Option »--output-file« fest.\n"
 
-#: src/msginit.c:350
+#: src/msginit.c:326
+#, c-format
+msgid "Created %s.\n"
+msgstr ""
+
+#: src/msginit.c:348
 #, no-wrap
 msgid ""
 "Creates a new PO file, initializing the meta information with values from the\n"
@@ -1546,7 +1576,7 @@ msgstr ""
 "Neue Po-Datei erzeugen und die Meta-Informationen mit Werten der Umgebung des\n"
 "Benutzers initialisieren.\n"
 
-#: src/msginit.c:361
+#: src/msginit.c:359
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -1560,7 +1590,7 @@ msgstr ""
 "POT-Datei gesucht.  Wenn die Eingabedatei »-« ist, wird die Standardeingabe\n"
 "gelesen.\n"
 
-#: src/msginit.c:369
+#: src/msginit.c:367
 #, no-wrap
 msgid ""
 "Output file location:\n"
@@ -1574,31 +1604,19 @@ msgstr ""
 "»--locale« oder von den Lokale-Einstellungen des Benutzers ab.\n"
 "Ergebnisse werden nach der Standardausgabe geschrieben, wenn »-« angegeben ist.\n"
 
-#: src/msginit.c:377
-#, no-wrap
+#: src/msginit.c:375
+#, fuzzy, no-wrap
 msgid ""
 "Output details:\n"
 "  -l, --locale=LL_CC          set target locale\n"
+"      --no-translator         assume the PO file is automatically generated\n"
 "  -w, --width=NUMBER          set output page width\n"
 msgstr ""
 "Einzelheiten zur Ausgabe:\n"
 "  -l, --locale=LL_CC          Lokale für die Ausgabe setzen\n"
 "  -w, --width=ANZAHL          Breite der Ausgabe auf ANZAHL Spalten festlegen\n"
 
-#: src/msginit.c:384
-#, no-wrap
-msgid ""
-"Informative output:\n"
-"  -h, --help                  display this help and exit\n"
-"  -V, --version               output version information and exit\n"
-"  -v, --verbose               increase verbosity level\n"
-msgstr ""
-"Informative Ausgabe:\n"
-"  -h, --help                   diese Hilfe anzeigen und beenden\n"
-"  -V, --version                Versionsnummer anzeigen und beenden\n"
-"  -v, --verbose                mehr Hinweise während der Verarbeitung geben\n"
-
-#: src/msginit.c:428
+#: src/msginit.c:426
 msgid ""
 "Found more than one .pot file.\n"
 "Please specify the input .pot file through the --input option.\n"
@@ -1606,11 +1624,11 @@ msgstr ""
 "Mehr als eine .pot-Datei gefunden.\n"
 "Bitte geben Sie die .pot-Datei für die Eingabe mit der Option »--input« an.\n"
 
-#: src/msginit.c:436 src/msginit.c:441
+#: src/msginit.c:434 src/msginit.c:439
 msgid "error reading current directory"
 msgstr "Fehler beim Lesen des aktuellen Verzeichnisses"
 
-#: src/msginit.c:449
+#: src/msginit.c:447
 msgid ""
 "Found no .pot file in the current directory.\n"
 "Please specify the input .pot file through the --input option.\n"
@@ -1618,23 +1636,23 @@ msgstr ""
 "Keine .pot-Datei im aktuellen Verzeichnis gefunden.\n"
 "Bitte geben Sie die .pot-Datei für die Eingabe mit der Option »--input« an.\n"
 
-#: src/msginit.c:861 src/msginit.c:906 src/msginit.c:1035 src/msginit.c:1098
+#: src/msginit.c:887 src/msginit.c:932 src/msginit.c:1070 src/msginit.c:1137
 #: src/read-java.c:80
 msgid "fdopen() failed"
 msgstr "fdopen() fehlgeschlagen"
 
-#: src/msginit.c:866 src/msginit.c:911 src/msginit.c:1040
+#: src/msginit.c:892 src/msginit.c:937 src/msginit.c:1075
 #, c-format
 msgid "%s subprocess I/O error"
 msgstr "Subprozess %s mit Ein/Ausgabefehler"
 
-#: src/msginit.c:875 src/msginit.c:920 src/msginit.c:1049 src/msginit.c:1112
+#: src/msginit.c:901 src/msginit.c:946 src/msginit.c:1084 src/msginit.c:1151
 #: src/read-java.c:90
 #, c-format
 msgid "%s subprocess failed with exit code %d"
 msgstr "Subprozess %s mit dem Exitcode %d fehlgeschlagen"
 
-#: src/msginit.c:1025
+#: src/msginit.c:1060
 msgid ""
 "The new message catalog should contain your email address, so that users "
 "can\n"
@@ -1651,28 +1669,28 @@ msgstr ""
 #. TRANSLATORS: "English" needs to be replaced by your language.
 #. For example in it.po write "Traduzioni italiani ...",
 #. *not* "Traduzioni inglesi ...".
-#: src/msginit.c:1385
+#: src/msginit.c:1440
 #, c-format
 msgid "English translations for %s package"
 msgstr "German messages for %s"
 
-#: src/msgl-cat.c:172 src/msgl-charset.c:86 src/msgl-iconv.c:299
+#: src/msgl-cat.c:173 src/msgl-charset.c:86 src/msgl-iconv.c:299
 #, c-format
 msgid "present charset \"%s\" is not a portable encoding name"
 msgstr "momentaner Zeichensatz »%s« ist kein Name für eine portable Kodierung"
 
-#: src/msgl-cat.c:180 src/msgl-iconv.c:307
+#: src/msgl-cat.c:181 src/msgl-iconv.c:307
 #, c-format
 msgid "two different charsets \"%s\" and \"%s\" in input file"
 msgstr "zwei unterschiedliche Zeichensätze »%s« und »%s« in der Eingabedatei"
 
-#: src/msgl-cat.c:193
+#: src/msgl-cat.c:194
 #, c-format
 msgid ""
 "input file `%s' doesn't contain a header entry with a charset specification"
 msgstr "Eingabedatei »%s« ohne Kopfeintrag mit der Zeichensatz-Angabe"
 
-#: src/msgl-cat.c:197
+#: src/msgl-cat.c:198
 #, c-format
 msgid ""
 "domain \"%s\" in input file `%s' doesn't contain a header entry with a "
@@ -1681,17 +1699,17 @@ msgstr ""
 "Bereich »%s« in der Eingabedatei »%s« ohne Kopfeintrag mit der Zeichensatz-"
 "Angabe"
 
-#: src/msgl-cat.c:358 src/msgl-iconv.c:382
+#: src/msgl-cat.c:359 src/msgl-iconv.c:382
 #, c-format
 msgid "target charset \"%s\" is not a portable encoding name."
 msgstr "gewünschter Zeichensatz »%s« ist kein Name für eine portable Kodierung"
 
-#: src/msgl-cat.c:408 src/msgl-cat.c:414 src/msgl-charset.c:91
+#: src/msgl-cat.c:409 src/msgl-cat.c:415 src/msgl-charset.c:91
 #: src/msgl-charset.c:126 src/write-po.c:723 src/write-po.c:817
 msgid "warning: "
 msgstr "Warnung: "
 
-#: src/msgl-cat.c:409
+#: src/msgl-cat.c:410
 msgid ""
 "Input files contain messages in different encodings, UTF-8 among others.\n"
 "Converting the output to UTF-8.\n"
@@ -1699,7 +1717,7 @@ msgstr ""
 "Eingabedateien enthalten Meldungen in unterschiedlichen Kodierungen (u. a.\n"
 "UTF-8).  Die Ausgabe wird nach UTF-8 konvertiert.\n"
 
-#: src/msgl-cat.c:415
+#: src/msgl-cat.c:416
 #, c-format
 msgid ""
 "Input files contain messages in different encodings, %s and %s among "
@@ -1792,11 +1810,11 @@ msgstr ""
 "Es ist nicht möglich, von »%s« nach »%s« zu konvertieren.\n"
 "%s hängt von iconv() ab.  Diese Version wurde ohne iconv() erzeugt."
 
-#: src/msgmerge.c:337
+#: src/msgmerge.c:340
 msgid "backup type"
 msgstr "Art der Sicherung"
 
-#: src/msgmerge.c:374
+#: src/msgmerge.c:377
 #, no-wrap
 msgid ""
 "Merges two Uniforum style .po files together.  The def.po file is an\n"
@@ -1820,7 +1838,7 @@ msgstr ""
 "exakte Übereinstimmung bei Meldungen gibt, wird mittels inexakter Suche\n"
 "versucht, ein besseres Ergebnis zu erzielen.\n"
 
-#: src/msgmerge.c:392
+#: src/msgmerge.c:395
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -1838,7 +1856,7 @@ msgstr ""
 "  -C, --compendium=DATEI   zusätzliche Bibliothek mit Übersetzungen, es\n"
 "                             können mehrere angegeben werden\n"
 
-#: src/msgmerge.c:402
+#: src/msgmerge.c:405
 #, no-wrap
 msgid ""
 "Operation mode:\n"
@@ -1849,7 +1867,7 @@ msgstr ""
 "  -U, --update                Def.po aktualisieren; nichts unternehmen,\n"
 "                                wenn Def.po bereits aktuell ist\n"
 
-#: src/msgmerge.c:417
+#: src/msgmerge.c:420
 #, no-wrap
 msgid ""
 "Output file location in update mode:\n"
@@ -1882,7 +1900,7 @@ msgstr ""
 "Das Suffix für Sicherungskopien ist ~, außer wenn --suffix oder die\n"
 "Umgebungsvariable SIMPLE_BACKUP_SUFFIX gesetzt ist.\n"
 
-#: src/msgmerge.c:454
+#: src/msgmerge.c:457
 #, no-wrap
 msgid ""
 "Informative output:\n"
@@ -1897,7 +1915,17 @@ msgstr ""
 "  -v, --verbose               mehr Hinweise während der Verarbeitung geben\n"
 "  -q, --quiet, --silent       Fortschrittsanzeige unterdrücken\n"
 
-#: src/msgmerge.c:696
+#: src/msgmerge.c:625
+#, fuzzy
+msgid "this message should define plural forms"
+msgstr "... aber einige Meldungen haben nur %lu Pluralformen"
+
+#: src/msgmerge.c:648
+#, fuzzy
+msgid "this message should not define plural forms"
+msgstr "diese Meldung kommt vor, ist aber in %s nicht definiert"
+
+#: src/msgmerge.c:779
 #, c-format
 msgid ""
 "%sRead %ld old + %ld reference, merged %ld, fuzzied %ld, missing %ld, "
@@ -1906,7 +1934,7 @@ msgstr ""
 "%s%ld alte + %ld Referenzeinträge gelesen,\n"
 "%ld stimmen überein, %ld ungenau, %ld fehlen, %ld veraltet.\n"
 
-#: src/msgmerge.c:704
+#: src/msgmerge.c:787
 msgid " done.\n"
 msgstr " fertig.\n"
 
@@ -2219,8 +2247,8 @@ msgstr "ung
 msgid "iconv failure"
 msgstr "Fehler von iconv"
 
-#: src/po-lex.c:763 src/read-mo.c:70 src/read-mo.c:135 src/x-c.c:213
-#: src/x-rst.c:227 src/x-ycp.c:102
+#: src/po-lex.c:763 src/read-mo.c:70 src/read-mo.c:135 src/x-c.c:216
+#: src/x-rst.c:227 src/x-ycp.c:103
 #, c-format
 msgid "error while reading \"%s\""
 msgstr "Fehler beim Lesen von »%s«"
@@ -2336,29 +2364,17 @@ msgstr "Ausgabedatei 
 msgid "standard output"
 msgstr "Standardausgabe"
 
-#: src/x-c.c:843
+#: src/x-c.c:858
 #, c-format
 msgid "%s:%d: warning: unterminated character constant"
 msgstr "%s:%d: Warnung: Zeichenkonstante nicht korrekt beendet"
 
-#: src/x-c.c:867
+#: src/x-c.c:882
 #, c-format
 msgid "%s:%d: warning: unterminated string literal"
 msgstr "%s:%d: Warnung: Zeichenkette nicht korrekt beendet"
 
-#: src/x-c.c:1269
-#, c-format
-msgid "%s:%lu: warning: keyword nested in keyword arg"
-msgstr "%s:%lu: Warnung: Schlüsselwort in Schlüsselwort-Argument verschachtelt"
-
-#: src/x-c.c:1282
-#, c-format
-msgid "%s:%lu: warning: keyword between outer keyword and its arg"
-msgstr ""
-"%s:%lu: Warnung: Schlüsselwort zwischen äußerem Schlüsselwort und\n"
-"        dessen Argument"
-
-#: src/x-po.c:106 src/xgettext.c:613
+#: src/x-po.c:106 src/xgettext.c:605
 msgid "this file may not contain domain directives"
 msgstr "diese Datei darf keine »domain«-Anweisung enthalten"
 
@@ -2377,29 +2393,29 @@ msgstr "%s:%d: Zahl nach # fehlt"
 msgid "%s:%d: invalid string expression"
 msgstr "%s:%d: ungültiger Audruck einer Zeichenkette"
 
-#: src/xgettext.c:383
+#: src/xgettext.c:375
 msgid "--join-existing cannot be used when output is written to stdout"
 msgstr ""
 "»--join-existing« kann nicht benutzt werden, wenn nach Standardausgabe\n"
 "geschrieben wird"
 
-#: src/xgettext.c:388
+#: src/xgettext.c:380
 msgid "xgettext cannot work without keywords to look for"
 msgstr ""
 "ohne Angabe zu berücksichtigender Schlüsselwörter schlägt xgettext fehl"
 
-#: src/xgettext.c:476
+#: src/xgettext.c:468
 #, c-format
 msgid "warning: file `%s' extension `%s' is unknown; will try C"
 msgstr ""
 "Warnung: Typ der Datei »%s« mit Suffix »%s« ist unbekannt; C wird versucht"
 
-#: src/xgettext.c:517
+#: src/xgettext.c:509
 #, no-wrap
 msgid "Extract translatable strings from given input files.\n"
 msgstr "Aus den Eingabedateien die zu übersetzenden Meldungen herausschreiben.\n"
 
-#: src/xgettext.c:522
+#: src/xgettext.c:514
 #, no-wrap
 msgid ""
 "Mandatory arguments to long options are mandatory for short options too.\n"
@@ -2408,7 +2424,7 @@ msgstr ""
 "Notwendige Argumente für Optionen in Langform sind auch für die Kurzform\n"
 "notwendig.  Dies gilt in gleicher Weise für optionale Argumente.\n"
 
-#: src/xgettext.c:537
+#: src/xgettext.c:529
 #, no-wrap
 msgid ""
 "Output file location:\n"
@@ -2424,7 +2440,7 @@ msgstr ""
 "Ergebnisse werden nach der Standardausgabe geschrieben, wenn keine Datei oder\n"
 "»-« angegeben ist.\n"
 
-#: src/xgettext.c:546
+#: src/xgettext.c:538
 #, no-wrap
 msgid ""
 "Choice of input file language:\n"
@@ -2440,7 +2456,7 @@ msgstr ""
 "Gemäß Vorgabe wird die Sprache anhand des Suffixes des Namens der Eingabedatei\n"
 "geraten.\n"
 
-#: src/xgettext.c:555
+#: src/xgettext.c:547
 #, no-wrap
 msgid ""
 "Operation mode:\n"
@@ -2455,7 +2471,7 @@ msgstr ""
 "  -c, --add-comments[=KENNUNG]   Kommentare mit KENNUNG (oder die aus Zeilen\n"
 "                                   vor einem Schlüsselwort) herausschreiben\n"
 
-#: src/xgettext.c:564
+#: src/xgettext.c:556
 #, no-wrap
 msgid ""
 "Language=C/C++ specific options:\n"
@@ -2475,7 +2491,7 @@ msgstr ""
 "  --debug                    detaillierteres Ergebnis bei Erkennung der\n"
 "                               Formatelemente\n"
 
-#: src/xgettext.c:574
+#: src/xgettext.c:566
 #, no-wrap
 msgid ""
 "Output details:\n"
@@ -2514,11 +2530,11 @@ msgstr ""
 "  -m, --msgstr-prefix[=KETTE]   KETTE oder \"\" als Präfix für msgstr nehmen\n"
 "  -M, --msgstr-suffix[=KETTE]   KETTE oder \"\" als Suffix für msgstr nehmen\n"
 
-#: src/xgettext.c:728
+#: src/xgettext.c:720
 msgid "standard input"
 msgstr "Standardeingabe"
 
-#: src/xgettext.c:838
+#: src/xgettext.c:830
 msgid ""
 "Empty msgid.  It is reserved by GNU gettext:\n"
 "gettext(\"\") returns the header entry with\n"
@@ -2528,11 +2544,35 @@ msgstr ""
 "gettext(\"\") gibt den Kopfeintrag mit Meta-Informationen\n"
 "zurück, keine leere Zeichenkette.\n"
 
-#: src/xgettext.c:1107
+#: src/xgettext.c:1099
 #, c-format
 msgid "language `%s' unknown"
 msgstr "Programmiersprache »%s« unbekannt"
 
+#~ msgid "while creating hash table"
+#~ msgstr "beim Anlegen der Hash-Tabelle"
+
+#~ msgid ""
+#~ "Informative output:\n"
+#~ "  -h, --help                  display this help and exit\n"
+#~ "  -V, --version               output version information and exit\n"
+#~ "  -v, --verbose               increase verbosity level\n"
+#~ msgstr ""
+#~ "Informative Ausgabe:\n"
+#~ "  -h, --help                   diese Hilfe anzeigen und beenden\n"
+#~ "  -V, --version                Versionsnummer anzeigen und beenden\n"
+#~ "  -v, --verbose                mehr Hinweise während der Verarbeitung "
+#~ "geben\n"
+
+#~ msgid "%s:%lu: warning: keyword nested in keyword arg"
+#~ msgstr ""
+#~ "%s:%lu: Warnung: Schlüsselwort in Schlüsselwort-Argument verschachtelt"
+
+#~ msgid "%s:%lu: warning: keyword between outer keyword and its arg"
+#~ msgstr ""
+#~ "%s:%lu: Warnung: Schlüsselwort zwischen äußerem Schlüsselwort und\n"
+#~ "        dessen Argument"
+
 #~ msgid ""
 #~ "In the first two formats, copy SOURCE to DEST or multiple SOURCE(s) to\n"
 #~ "the existing DIRECTORY, while setting permission modes and owner/group.\n"
index 0cbc0bdd3589611615934451a03999f0a26c4a74..3e1d21200583d79fa797b77ee4834225b4355014 100644 (file)
Binary files a/po/el.gmo and b/po/el.gmo differ
index 244c34571f764b38eca00904baf2ca58b07ac35f..afd4f8650ba7c808ba1db79662e9b44fcf98da0e 100644 (file)
--- a/po/el.po
+++ b/po/el.po
@@ -5,20 +5,72 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: GNU gettext 0.10.34\n"
-"POT-Creation-Date: 2001-04-18 22:38+0200\n"
+"POT-Creation-Date: 2001-11-30 14:18+0100\n"
 "PO-Revision-Date: 1998-05-17 13:12+0200\n"
 "Last-Translator: Simos KSenitellis <simos@teiath.gr>\n"
 "Language-Team: Greek <simos@teiath.gr>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=ISO-8859-7\n"
-"Content-Transfer-Encoding: 8-bit\n"
+"Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
+#: lib/argmatch.c:141
+#, c-format
+msgid "invalid argument `%s' for `%s'"
+msgstr ""
+
+#: lib/argmatch.c:142
+#, c-format
+msgid "ambiguous argument `%s' for `%s'"
+msgstr ""
+
+#: lib/argmatch.c:162
+msgid "Valid arguments are:"
+msgstr ""
+
+#
+#: lib/copy-file.c:60 src/file-list.c:57 src/po-lex.c:732 src/read-mo.c:170
+#: src/xgettext.c:729 src/xgettext.c:742 src/xgettext.c:752
+#, c-format
+msgid "error while opening \"%s\" for reading"
+msgstr "óöÜëìá óôï Üíïéãìá ôïõ \"%s\" ãéá áíÜãíùóç"
+
+#
+#: lib/copy-file.c:67
+#, fuzzy, c-format
+msgid "cannot open backup file \"%s\" for writing"
+msgstr "óöÜëìá êáôÜ ôï Üíïéãìá ôïõ áñ÷åßïõ \"%s\" ãéá åããñáöÞ"
+
+#
+#: lib/copy-file.c:80
+#, fuzzy, c-format
+msgid "error reading \"%s\""
+msgstr "óöÜëìá óôçí áíÜãíùóç ôïõ \"%s\""
+
+#
+#: lib/copy-file.c:86 lib/copy-file.c:90
+#, fuzzy, c-format
+msgid "error writing \"%s\""
+msgstr "óöÜëìá óôçí åããñáöÞ ôïõ áñ÷åßïõ \"%s\""
+
+#
+#: lib/copy-file.c:92
+#, fuzzy, c-format
+msgid "error after reading \"%s\""
+msgstr "óöÜëìá óôçí áíÜãíùóç ôïõ \"%s\""
+
 #
 #: lib/error.c:115
 msgid "Unknown system error"
 msgstr "¶ãíùóôï óöÜëìá óõóôÞìáôïò"
 
+#: lib/execute.c:170 lib/execute.c:205 lib/pipe-bidi.c:156 lib/pipe-bidi.c:191
+#: lib/pipe-in.c:167 lib/pipe-in.c:202 lib/pipe-out.c:167 lib/pipe-out.c:202
+#: lib/wait-process.c:136
+#, c-format
+msgid "%s subprocess failed"
+msgstr ""
+
 #
 #: lib/getopt.c:691
 #, c-format
@@ -44,21 +96,18 @@ msgid "%s: option `%s' requires an argument\n"
 msgstr "%s: ç åðéëïãÞ `%s' áðáéôåß ðáñÜìåôñï\n"
 
 #
-#. --option
 #: lib/getopt.c:768
 #, c-format
 msgid "%s: unrecognized option `--%s'\n"
 msgstr "%s: ìç áíáãíùñßóéìç åðéëïãÞ `--%s'\n"
 
 #
-#. +option or -option
 #: lib/getopt.c:772
 #, c-format
 msgid "%s: unrecognized option `%c%s'\n"
 msgstr "%s: ìç áíáãíùñßóéìç åðéëïãÞ `%c%s'\n"
 
 #
-#. 1003.2 specifies the format of this message.
 #: lib/getopt.c:798
 #, c-format
 msgid "%s: illegal option -- %c\n"
@@ -71,7 +120,6 @@ msgid "%s: invalid option -- %c\n"
 msgstr "%s: ìç Ýãêõñç åðéëïãÞ -- %c\n"
 
 #
-#. 1003.2 specifies the format of this message.
 #: lib/getopt.c:831 lib/getopt.c:961
 #, c-format
 msgid "%s: option requires an argument -- %c\n"
@@ -89,16 +137,135 @@ msgstr "%s: 
 msgid "%s: option `-W %s' doesn't allow an argument\n"
 msgstr "%s: ç åðéëïãÞ `-W %s' äåí åðéôñÝðåé ðáñÜìåôñï\n"
 
+#: lib/javacomp.c:465
+msgid "Java compiler not found, try installing gcj or set $JAVAC"
+msgstr ""
+
+#: lib/javaexec.c:404
+msgid "Java virtual machine not found, try installing gij or set $JAVA"
+msgstr ""
+
 #
-#: lib/obstack.c:474 lib/xmalloc.c:86 src/po.c:308 src/po.c:381 src/po.c:389
-#: src/po.c:395 src/po.c:415 src/po.c:422 src/po.c:427 src/po.c:444
+#: lib/obstack.c:474 lib/xerror.c:75 lib/xmalloc.c:56
 #, fuzzy
 msgid "memory exhausted"
 msgstr "H ìíÞìç åîáíôëÞèçêå"
 
 #
-#: src/gettext.c:140 src/msgcmp.c:140 src/msgcomm.c:279 src/msgfmt.c:270
-#: src/msgmerge.c:255 src/msgunfmt.c:170 src/ngettext.c:120 src/xgettext.c:388
+#: lib/pipe-bidi.c:119 lib/pipe-bidi.c:121 lib/pipe-in.c:136
+#: lib/pipe-out.c:136
+#, fuzzy
+msgid "cannot create pipe"
+msgstr "áäõíáìßá äçìéïõñãßáò áñ÷åßïõ åîüäïõ \"%s\""
+
+#: lib/wait-process.c:117
+#, c-format
+msgid "%s subprocess"
+msgstr ""
+
+#: lib/wait-process.c:129
+#, c-format
+msgid "%s subprocess got fatal signal"
+msgstr ""
+
+#
+#: src/format-c.c:578 src/format-python.c:463
+#, fuzzy
+msgid "number of format specifications in 'msgid' and 'msgstr' does not match"
+msgstr ""
+"ï áñéèìüò ôùí áíáöïñþí óå ìïñöïðïéÞóåéò ôùí `msgid' êáé `msgstr' äå óõìðßðôåé"
+
+#
+#: src/format-c.c:588 src/format-python.c:473
+#, fuzzy, c-format
+msgid ""
+"format specifications in 'msgid' and 'msgstr' for argument %u are not the "
+"same"
+msgstr "ïé ìïñöïðïéÞóåéò ãéá ôç ðáñÜìåôñï %u äåí åßíáé ßäéåò"
+
+#
+#: src/format-java.c:652 src/format-pascal.c:396
+#, fuzzy, c-format
+msgid "a format specification for argument {%u} doesn't exist in 'msgid'"
+msgstr "ïé ìïñöïðïéÞóåéò ãéá ôç ðáñÜìåôñï %u äåí åßíáé ßäéåò"
+
+#
+#: src/format-java.c:662 src/format-pascal.c:406
+#, fuzzy, c-format
+msgid "a format specification for argument {%u} doesn't exist in 'msgstr'"
+msgstr "ïé ìïñöïðïéÞóåéò ãéá ôç ðáñÜìåôñï %u äåí åßíáé ßäéåò"
+
+#
+#: src/format-java.c:676 src/format-pascal.c:420
+#, fuzzy, c-format
+msgid ""
+"format specifications in 'msgid' and 'msgstr' for argument {%u} are not the "
+"same"
+msgstr "ïé ìïñöïðïéÞóåéò ãéá ôç ðáñÜìåôñï %u äåí åßíáé ßäéåò"
+
+#
+#: src/format-lisp.c:3371
+#, fuzzy
+msgid "format specifications in 'msgid' and 'msgstr' are not equivalent"
+msgstr ""
+"ï áñéèìüò ôùí áíáöïñþí óå ìïñöïðïéÞóåéò ôùí `msgid' êáé `msgstr' äå óõìðßðôåé"
+
+#
+#: src/format-python.c:391
+#, fuzzy
+msgid ""
+"format specifications in 'msgid' expect a mapping, those in 'msgstr' expect "
+"a tuple"
+msgstr ""
+"ï áñéèìüò ôùí áíáöïñþí óå ìïñöïðïéÞóåéò ôùí `msgid' êáé `msgstr' äå óõìðßðôåé"
+
+#
+#: src/format-python.c:399
+#, fuzzy
+msgid ""
+"format specifications in 'msgid' expect a tuple, those in 'msgstr' expect a "
+"mapping"
+msgstr ""
+"ï áñéèìüò ôùí áíáöïñþí óå ìïñöïðïéÞóåéò ôùí `msgid' êáé `msgstr' äå óõìðßðôåé"
+
+#
+#: src/format-python.c:422
+#, fuzzy, c-format
+msgid "a format specification for argument '%s' doesn't exist in 'msgid'"
+msgstr "ïé ìïñöïðïéÞóåéò ãéá ôç ðáñÜìåôñï %u äåí åßíáé ßäéåò"
+
+#
+#: src/format-python.c:432
+#, fuzzy, c-format
+msgid "a format specification for argument '%s' doesn't exist in 'msgstr'"
+msgstr "ïé ìïñöïðïéÞóåéò ãéá ôç ðáñÜìåôñï %u äåí åßíáé ßäéåò"
+
+#
+#: src/format-python.c:446
+#, fuzzy, c-format
+msgid ""
+"format specifications in 'msgid' and 'msgstr' for argument '%s' are not the "
+"same"
+msgstr "ïé ìïñöïðïéÞóåéò ãéá ôç ðáñÜìåôñï %u äåí åßíáé ßäéåò"
+
+#
+#: src/format-ycp.c:137
+#, fuzzy, c-format
+msgid "a format specification for argument %u doesn't exist in 'msgstr'"
+msgstr "ïé ìïñöïðïéÞóåéò ãéá ôç ðáñÜìåôñï %u äåí åßíáé ßäéåò"
+
+#
+#: src/format-ycp.c:138
+#, fuzzy, c-format
+msgid "a format specification for argument %u doesn't exist in 'msgid'"
+msgstr "ïé ìïñöïðïéÞóåéò ãéá ôç ðáñÜìåôñï %u äåí åßíáé ßäéåò"
+
+#
+#: src/gettext.c:146 src/hostname.c:168 src/msgattrib.c:264 src/msgcat.c:229
+#: src/msgcmp.c:134 src/msgcomm.c:232 src/msgconv.c:182 src/msgen.c:171
+#: src/msgexec.c:240 src/msgfmt.c:333 src/msggrep.c:276 src/msginit.c:247
+#: src/msgmerge.c:252 src/msgunfmt.c:182 src/msguniq.c:207 src/ngettext.c:126
+#: src/xgettext.c:352
 #, c-format, no-wrap
 msgid ""
 "Copyright (C) %s Free Software Foundation, Inc.\n"
@@ -111,34 +278,51 @@ msgstr ""
 "ËÅÉÔÏÕÑÃÉÊÏÔÇÔÁ Þ ÊÁÔÁËËÇËÏÔÇÔÁ ÃÉÁ ÅÍÁ ÓÕÃÊÅÊÑÉÌÅÍÏ ÓÊÏÐÏ.\n"
 
 #
-#: src/gettext.c:145 src/msgcmp.c:145 src/msgcomm.c:284 src/msgfmt.c:275
-#: src/msgmerge.c:260 src/msgunfmt.c:175 src/ngettext.c:125 src/xgettext.c:393
+#: src/gettext.c:151 src/hostname.c:173 src/msgattrib.c:269 src/msgcat.c:234
+#: src/msgcmp.c:139 src/msgcomm.c:237 src/msgconv.c:187 src/msgen.c:176
+#: src/msgexec.c:245 src/msgfmt.c:338 src/msggrep.c:281 src/msginit.c:252
+#: src/msgmerge.c:257 src/msgunfmt.c:187 src/msguniq.c:212 src/ngettext.c:131
+#: src/xgettext.c:357
 #, c-format
 msgid "Written by %s.\n"
 msgstr "ÃñáììÝíï áðü ôïí/ôçí %s.\n"
 
 #
-#: src/gettext.c:163 src/ngettext.c:137
+#: src/gettext.c:169 src/hostname.c:183 src/msginit.c:262 src/ngettext.c:143
 msgid "too many arguments"
 msgstr "ðÜñá ðïëëÜ ïñßóìáôá"
 
 #
-#: src/gettext.c:173 src/ngettext.c:149
+#: src/gettext.c:179 src/ngettext.c:155
 msgid "missing arguments"
 msgstr "õðïëåßðïíôáé ïñßóìáôá"
 
 #
-#: src/gettext.c:245 src/msgcmp.c:177 src/msgcomm.c:377 src/msgfmt.c:387
-#: src/msgmerge.c:315 src/msgunfmt.c:205 src/ngettext.c:204 src/xgettext.c:515
+#: src/gettext.c:251 src/hostname.c:197 src/msgattrib.c:322 src/msgcat.c:290
+#: src/msgcmp.c:171 src/msgcomm.c:306 src/msgconv.c:241 src/msgen.c:227
+#: src/msgexec.c:338 src/msgfmt.c:479 src/msggrep.c:371 src/msginit.c:338
+#: src/msgmerge.c:367 src/msgunfmt.c:262 src/msguniq.c:269 src/ngettext.c:210
+#: src/xgettext.c:499
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "ÄïêéìÜóôå `%s --help' ãéá ðåñéóóüôåñåò ðëçñïöïñßåò.\n"
 
-#
-#: src/gettext.c:250
+#: src/gettext.c:256
 #, c-format, no-wrap
 msgid ""
-"Usage: %s [OPTION] [[[TEXTDOMAIN] MSGID] | [-s [MSGID]...]]\n"
+"Usage: %s [OPTION] [[TEXTDOMAIN] MSGID]\n"
+"or:    %s [OPTION] -s [MSGID]...\n"
+msgstr ""
+
+#: src/gettext.c:262
+#, no-wrap
+msgid "Display native language translation of a textual message.\n"
+msgstr ""
+
+#
+#: src/gettext.c:266
+#, fuzzy, no-wrap
+msgid ""
 "  -d, --domain=TEXTDOMAIN   retrieve translated messages from TEXTDOMAIN\n"
 "  -e                        enable expansion of some escape sequences\n"
 "  -E                        (ignored for compatibility)\n"
@@ -160,10 +344,9 @@ msgstr ""
 "                            óôï MSGID áðü ôï TEXTDOMAIN\n"
 
 #
-#: src/gettext.c:262
-#, c-format, no-wrap
+#: src/gettext.c:277
+#, fuzzy, c-format, no-wrap
 msgid ""
-"\n"
 "If the TEXTDOMAIN parameter is not given, the domain is determined from the\n"
 "environment variable TEXTDOMAIN.  If the message catalog is not found in the\n"
 "regular directory, another location can be specified with the environment\n"
@@ -183,348 +366,985 @@ msgstr ""
 "ÊáèéåñùìÝíïò êáôÜëïãïò áíáæÞôçóçò: %s\n"
 
 #
-#: src/gettext.c:272 src/msgcmp.c:196 src/msgcomm.c:424 src/msgfmt.c:414
-#: src/msgmerge.c:350 src/msgunfmt.c:229 src/ngettext.c:228 src/xgettext.c:565
-msgid "Report bugs to <bug-gnu-utils@gnu.org>.\n"
+#: src/gettext.c:288 src/hostname.c:227 src/msgattrib.c:402 src/msgcat.c:371
+#: src/msgcmp.c:216 src/msgcomm.c:384 src/msgconv.c:305 src/msgen.c:287
+#: src/msgexec.c:410 src/msgfmt.c:563 src/msggrep.c:457 src/msginit.c:389
+#: src/msgmerge.c:465 src/msgunfmt.c:331 src/msguniq.c:343 src/ngettext.c:244
+#: src/xgettext.c:591
+#, fuzzy
+msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
 msgstr "Óôåßëôå áíáöïñÝò óöáëìÜôùí óôï <bug-gnu-utils@gnu.org>.\n"
 
-#
-#: src/msgcmp.c:156 src/msgmerge.c:271
-msgid "no input files given"
-msgstr "äåí êáèïñßóôçêáí áñ÷åßá åéóüäïõ"
+#: src/hostname.c:202 src/msginit.c:343
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION]\n"
+msgstr ""
 
-#
-#: src/msgcmp.c:161 src/msgmerge.c:276
-msgid "exactly 2 input files required"
-msgstr "áðáéôïýíôáé áêñéâþò äýï áñ÷åßá åéóüäïõ"
+#: src/hostname.c:207
+#, no-wrap
+msgid "Print the machine's hostname.\n"
+msgstr ""
 
-#
-#: src/msgcmp.c:182
-#, c-format, no-wrap
+#: src/hostname.c:212
+#, no-wrap
 msgid ""
-"Usage: %s [OPTION] def.po ref.po\n"
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"Output format:\n"
+"  -s, --short           short host name\n"
+"  -f, --fqdn, --long    long host name, includes fully qualified domain name,\n"
+"                          and aliases\n"
+"  -i, --ip-address      addresses for the hostname\n"
+msgstr ""
+
+#: src/hostname.c:221 src/msgattrib.c:396 src/msgcmp.c:210 src/msgconv.c:299
+#: src/msgen.c:281 src/msgexec.c:404 src/msggrep.c:451 src/msginit.c:383
+#, no-wrap
+msgid ""
+"Informative output:\n"
 "  -h, --help                  display this help and exit\n"
 "  -V, --version               output version information and exit\n"
-"\n"
-"Compare two Uniforum style .po files to check that both contain the same\n"
-"set of msgid strings.  The def.po file is an existing PO file with the\n"
-"old translations.  The ref.po file is the last created PO file\n"
-"(generally by xgettext).  This is useful for checking that you have\n"
-"translated each and every message in your program.  Where an exact match\n"
-"cannot be found, fuzzy matching is used to produce better diagnostics.\n"
 msgstr ""
-"×ñÞóç: %s [ÅÐÉËÏÃÇ] def.po ref.po\n"
-"Ïé õðï÷ñåùôéêïß ðáñÜìåôñïé óôá ðåñéöñáóôéêÜ ïñßóìáôá åßíáé õðï÷ñåùôéêïß\n"
-"êáé ãéá ôá óýíôïìá ïñßóìáôá.\n"
-"  -D, --directory=ÊÁÔÁËÏÃÏÓ  ðñüóèåóå ôïí ÊÁÔÁËÏÃÏ óôç ëßóôá\n"
-"                           ãéá áíáæÞôçóç áñ÷åßùí åéóüäïõ.\n"
-"  -h, --help               åìöÜíéóç áõôÞò ôçò âïÞèåéáò êáé Ýîïäïò\n"
-"  -V, --version            åìöÜíéóç ðëçñïöïñéþí Ýêäïóçò ðñïãñÜììáôïò êáé Ýîïäïò\n"
-"\n"
-"Óýãêñéóç äýï áñ÷åßùí .po ôçò ìïñöÞò Uniforum ãéá ôïí Ýëåã÷ï áí êáé ôá äýï\n"
-"ðåñéÝ÷ïõí ôï ßäéï óýíïëï áðü msgid áëöáñéèìéôéêÜ. Ôï áñ÷åßï def.po åßíáé\n"
-"Ýíá ðñïûðÜñ÷ïí áñ÷åßï PO ìå ôéò ðáëéÝò ìåôáöñÜóåéò. Ôï áñ÷åßï ref.po file\n"
-"åßíáé ôï ðéï ðñüóöáôï áñ÷åßï PO (ãåíéêÜ äçìéïõñãçìÝíï áðü ôï ðñüãñáììá\n"
-"xgettext). Åßíáé ÷ñÞóéìï ãéá ôï Ýëåã÷ï üôé üëá ôá ìçíýìáôá ôïõò ðñïãñÜììáôïò\n"
-"Ý÷ïõí ìåôáöñáóôåß. Åêåß ðïõ äåí åíôïðßæåôáé áêñéâÞò áíôéóôoé÷ßá,\n"
-"ãßíåôáé åëáóôéêü ôáßñéáóìá ãéá êáëýôåñá áðïôåëÝóìáôá.\n"
 
-#
-#: src/msgcmp.c:255 src/msgmerge.c:741
-msgid "this message is used but not defined..."
-msgstr "áõôü ôï ìÞíõìá ÷ñçóéìïðïåßôáé, áëëÜ äåí ïñßæåôáé..."
+#: src/hostname.c:242 src/hostname.c:249
+msgid "could not get host name"
+msgstr ""
 
-#
-#: src/msgcmp.c:257 src/msgmerge.c:743
-msgid "...but this definition is similar"
-msgstr "...áëëÜ áõôüò ï ïñéóìüò åßíáé ðáñüìïéïò"
+#: src/msgattrib.c:284 src/msgconv.c:202 src/msgexec.c:190 src/msggrep.c:296
+#: src/msginit.c:205 src/msguniq.c:227
+msgid "at most one input file allowed"
+msgstr ""
 
 #
-#: src/msgcmp.c:263 src/msgmerge.c:770
+#: src/msgattrib.c:290 src/msgattrib.c:294 src/msgcat.c:244 src/msgcat.c:248
+#: src/msgcomm.c:247 src/msgcomm.c:251 src/msgconv.c:208 src/msgconv.c:212
+#: src/msgen.c:198 src/msgen.c:202 src/msgexec.c:260 src/msgexec.c:264
+#: src/msgfmt.c:358 src/msggrep.c:302 src/msggrep.c:306 src/msgmerge.c:282
+#: src/msgmerge.c:303 src/msgmerge.c:307 src/msguniq.c:233 src/msguniq.c:237
+#: src/xgettext.c:367 src/xgettext.c:371
 #, c-format
-msgid "this message is used but not defined in %s"
-msgstr "áõôü ôï ìÞíõìá ÷ñçóéìïðïåßôáé, áëëÜ äåí ïñßæåôáé óôï %s"
+msgid "%s and %s are mutually exclusive"
+msgstr "ôá %s êáé %s åßíáé áìïéâáßá áðïêëåéþìåíá"
 
-#
-#: src/msgcmp.c:277
-msgid "warning: this message is not used"
-msgstr "ðñïåéäïðïßçóç: áõôü ôï ìÞíõìá äåí ÷ñçóéìïðïåßôáé"
+#: src/msgattrib.c:327 src/msgconv.c:246 src/msggrep.c:376 src/msguniq.c:274
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] [INPUTFILE]\n"
+msgstr ""
 
-#
-#: src/msgcmp.c:283 src/po-lex.c:103
-#, fuzzy, c-format
-msgid "found %d fatal error"
-msgid_plural "found %d fatal errors"
-msgstr[0] "âñÝèçêáí %d óïâáñÜ óöÜëìáôá"
+#: src/msgattrib.c:332
+#, no-wrap
+msgid ""
+"Filters the messages of a translation catalog according to their attributes,\n"
+"and manipulates the attributes.\n"
+msgstr ""
 
-#
-#: src/msgcmp.c:356 src/msgfmt.c:667 src/msgmerge.c:512 src/xgettext.c:1157
-msgid "duplicate message definition"
-msgstr "åðáíáëáìâáíüìåíïò ïñéóìüò ìçíýìáôïò"
+#: src/msgattrib.c:338 src/msgcat.c:313 src/msgcmp.c:191 src/msgcomm.c:328
+#: src/msgconv.c:256 src/msgen.c:245 src/msgexec.c:353 src/msgfmt.c:494
+#: src/msggrep.c:387 src/msginit.c:354 src/msgmerge.c:390 src/msgunfmt.c:277
+#: src/msguniq.c:291
+#, no-wrap
+msgid "Mandatory arguments to long options are mandatory for short options too.\n"
+msgstr ""
 
-#
-#: src/msgcmp.c:357 src/msgfmt.c:669 src/msgmerge.c:513 src/xgettext.c:1158
-msgid "...this is the location of the first definition"
-msgstr "...áõôÞ åßíáé ç èÝóç ôïõ ðñþôïõ ïñéóìïý"
+#: src/msgattrib.c:343 src/msgconv.c:261 src/msggrep.c:392 src/msguniq.c:296
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  INPUTFILE                   input PO file\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"If no input file is given or if it is -, standard input is read.\n"
+msgstr ""
 
-#
-#: src/msgcmp.c:397 src/msgmerge.c:561
-#, c-format
-msgid "this message has no definition in the \"%s\" domain"
-msgstr "áõôü ôï ìÞíõìá äåí Ý÷åé ïñéóìü óôç ðåñéï÷Þ \"%s\""
+#: src/msgattrib.c:351 src/msgconv.c:269 src/msgen.c:258 src/msgexec.c:366
+#: src/msggrep.c:400 src/msgmerge.c:412
+#, no-wrap
+msgid ""
+"Output file location:\n"
+"  -o, --output-file=FILE      write output to specified file\n"
+"The results are written to standard output if no output file is specified\n"
+"or if it is -.\n"
+msgstr ""
 
-#
-#. We are about to construct the absolute path to the
-#. directory for the output files but asprintf failed.
-#: src/msgcomm.c:235 src/xgettext.c:327 src/xgettext.c:1353
-msgid "while preparing output"
-msgstr "êáèþò ðñïåôïéìáæüôáí ç Ýîïäïò"
+#: src/msgattrib.c:359
+#, no-wrap
+msgid ""
+"Message selection:\n"
+"      --translated            keep translated, remove untranslated messages\n"
+"      --untranslated          keep untranslated, remove translated messages\n"
+"      --no-fuzzy              remove 'fuzzy' marked messages\n"
+"      --only-fuzzy            keep 'fuzzy' marked messages\n"
+"      --no-obsolete           remove obsolete #~ messages\n"
+"      --only-obsolete         keep obsolete #~ messages\n"
+msgstr ""
 
-#
-#: src/msgcomm.c:267 src/msgcomm.c:271 src/xgettext.c:365 src/xgettext.c:369
-#, c-format
-msgid "%s and %s are mutually exclusive"
-msgstr "ôá %s êáé %s åßíáé áìïéâáßá áðïêëåéþìåíá"
+#: src/msgattrib.c:370
+#, no-wrap
+msgid ""
+"Attribute manipulation:\n"
+"      --set-fuzzy             set all messages 'fuzzy'\n"
+"      --clear-fuzzy           set all messages non-'fuzzy'\n"
+"      --set-obsolete          set all messages obsolete\n"
+"      --clear-obsolete        set all messages non-obsolete\n"
+"      --fuzzy                 synonym for --only-fuzzy --clear-fuzzy\n"
+"      --obsolete              synonym for --only-obsolete --clear-obsolete\n"
+msgstr ""
 
 #
-#: src/msgcomm.c:323
-msgid "at least two files must be specified"
-msgstr "ðñÝðåé íá ïñéóôïýí ôïõëÜ÷éóôïí äýï áñ÷åßá"
+#: src/msgattrib.c:381
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
+"  -e, --no-escape             do not use C escapes in output (default)\n"
+"  -E, --escape                use C escapes in output, no extended chars\n"
+"      --force-po              write PO file even if empty\n"
+"  -i, --indent                write the .po file using indented style\n"
+"      --no-location           do not write '#: filename:line' lines\n"
+"  -n, --add-location          generate '#: filename:line' lines (default)\n"
+"      --strict                write out strict Uniforum conforming .po file\n"
+"  -w, --width=NUMBER          set output page width\n"
+"  -s, --sort-output           generate sorted output\n"
+"  -F, --sort-by-file          sort output by file location\n"
+msgstr ""
+"×ñÞóç: %s [ÅÐÉËÏÃÇ] def.po ref.po\n"
+"Ïé õðï÷ñåùôéêïß ðáñÜìåôñïé óôá ðåñéöñáóôéêÜ ïñßóìáôá åßíáé õðï÷ñåùôéêïß\n"
+"êáé ãéá ôá óýíôïìá ïñßóìáôá.\n"
+"  -D, --directory=ÊÁÔÁËÏÃÏÓ   ðñüóèåóå ôïí ÊÁÔÁËÏÃÏ óôç ëßóôá ãéá áíáæÞôçóç\n"
+"                                áñ÷åßùí åéóüäïõ.\n"
+"  -e, --no-escape             áðïöõãÞ ÷ñÞóçò êùäéêþí äéáöõãÞò áëÜ C óôçí Ýîïäï\n"
+"                                (åî ïñéóìïý)\n"
+"  -E, --escape                ÷ñÞóç êùäéêþí äéáöõãÞò áëÜ C óôçí Ýîïäï,\n"
+"                                ü÷é üìùò êáé åêôåôáìÝíïõò ÷áñáêôÞñåò.\n"
+"      --force-po              äçìéïõñãßá áñ÷åßïõ PO áêüìá êáé áí åßíáé Üäåéï\n"
+"  -h, --help                  åìöÜíéóç áõôÞò ôçò âïÞèåéáò êáé Ýîïäïò\n"
+"  -i, --indent                ìïñöïðïéçìÝíç Ýîïäïò\n"
+"  -o, --output-file=ÁÑ×ÅÉÏ    ôï áñ÷åßï åîüäïõ èá åßíáé ôï ÁÑ×ÅÉÏ\n"
+"      --no-location           áðïöõãÞ åìöÜíéóçò ãñáììþí '#: filename:line'\n"
+"      --add-location          äéáôÞñçóç ãñáììþí '#: filename:line' (åî ïñéóìïý)\n"
+"      --strict                áõóôçñÞ ìïñöÞ åîüäïõ Uniforum\n"
+"  -v, --verbose               ðåñéöñáóôéêÞ åìöÜíéóç ðñïåéäïðïéÞóåùí\n"
+"  -V, --version               åìöÜíéóç ðëçñïöïñéþí Ýêäïóçò êáé Ýîïäïò\n"
+"  -w, --width=ÁÑÉÈÌÏÓ         ïñéóìüò ìåãÝèïõò ðëÜôïõò óåëßäáò åîüäïõ\n"
 
 #
-#: src/msgcomm.c:334
+#: src/msgcat.c:254 src/msgcomm.c:277
 #, c-format
 msgid "impossible selection criteria specified (%d < n < %d)"
 msgstr "Ý÷åé åðéëå÷èåß áäýíáôï êñéôÞñéï åðéëïãÞò (%d < n < %d)"
 
-#
-#: src/msgcomm.c:382
+#: src/msgcat.c:295 src/msgcomm.c:311 src/xgettext.c:504
 #, c-format, no-wrap
-msgid ""
-"Usage: %s [OPTION] INPUTFILE ...\n"
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"  -d, --default-domain=NAME      use NAME.po for output (instead of messages.po)\n"
-"  -D, --directory=DIRECTORY      add DIRECTORY to list for input files search\n"
-"  -e, --no-escape                do not use C escapes in output (default)\n"
-"  -E, --escape                   use C escapes in output, no extended chars\n"
-"  -f, --files-from=FILE          get list of input files from FILE\n"
-"      --force-po                 write PO file even if empty\n"
-"  -F, --sort-by-file             sort output by file location\n"
-"  -h, --help                     display this help and exit\n"
+msgid "Usage: %s [OPTION] [INPUTFILE]...\n"
 msgstr ""
-"×ñÞóç: %s [ÅÐÉËÏÃÇ] ÁÑ×ÅÉÏÅÉÓÏÄÏÕ ...\n"
-"Ïé õðï÷ñåùôéêïß ðáñÜìåôñïé óôá ðåñéöñáóôéêÜ ïñßóìáôá åßíáé õðï÷ñåùôéêïß\n"
-"êáé ãéá ôá óýíôïìá ïñßóìáôá.\n"
-"  -d, --default-domain=ÏÍÏÌÁ     ÷ñÞóç ôïõ ÏÍÏÌÁ.po ãéá Ýîïäï (áíôß ôïõ messages.po)\n"
-"  -D, --directory=ÊÁÔÁËÏÃÏÓ      ðñïóèÞêç ôïõ ÊÁÔÁËÏÃÏÓ óôçí áíáæÞôçóç áñ÷åßùí åéóüäïõ\n"
-"  -e, --no-escape                áðïöõãÞ ÷ñÞóçò êùäéêþí äéáöõãÞò áëÜ C óôçí Ýîïäï\n"
-"                                   (åî ïñéóìïý)\n"
-"  -E, --escape                   ÷ñÞóç êùäéêþí äéáöõãÞò áëÜ C óôçí Ýîïäï, ü÷é üìùò\n"
-"                                 êáé åêôåôáìÝíïõò ÷áñáêôÞñåò.\n"
-"  -f, --files-from=ÁÑ×ÅÉÏ        ëÞøç ëßóôáò áñ÷åßùí åéóüäïõ áðü ÁÑ×ÅÉÏ\n"
-"      --force-po                 äçìéïõñãßá áñ÷åßïõ PO áêüìá êáé áí åßíáé Üäåéï\n"
-"  -F, --sort-by-file             ôáîéíüìçóç åîüäïõ âÜóç ôçò èÝóçò áñ÷åßïõ\n"
-"  -h, --help                     åìöÜíéóç áõôÞò ôçò âïÞèåéáò êáé Ýîïäïò\n"
 
 #
-#: src/msgcomm.c:394
+#: src/msgcat.c:300
+#, fuzzy, no-wrap
 msgid ""
-"  -i, --indent                   write the .po file using indented style\n"
-"      --no-location              do not write '#: filename:line' lines\n"
-"  -n, --add-location             generate '#: filename:line' lines "
-"(default)\n"
-"      --omit-header              don't write header with `msgid \"\"' entry\n"
-"  -o, --output=FILE              write output to specified file\n"
-"  -p, --output-dir=DIR           output files will be placed in directory "
-"DIR\n"
-"  -s, --sort-output              generate sorted output and remove "
-"duplicates\n"
-"      --strict                   write out strict Uniforum conforming .po "
-"file\n"
-"  -T, --trigraphs                understand ANSI C trigraphs for input\n"
+"Concatenates and merges the specified PO files.\n"
+"Find messages which are common to two or more of the specified PO files.\n"
+"By using the --more-than option, greater commonality may be requested\n"
+"before messages are printed.  Conversely, the --less-than option may be\n"
+"used to specify less commonality before messages are printed (i.e.\n"
+"--less-than=2 will only print the unique messages).  Translations,\n"
+"comments and extract comments will be cumulated, except that if --use-first\n"
+"is specified, they will be taken from the first PO file to define them.\n"
+"File positions from all PO files will be cumulated.\n"
+msgstr ""
+"  -V, --version                  åìöÜíéóç ðëçñïöïñéþí Ýêäïóçò ðñïãñÜììáôïò\n"
+"                                   êáé Ýîïäïò\n"
+"  -w, --width=ÁÑÉÈÌÏÓ            ïñéóìüò ðëÜôïõò óåëßäáò åîüäïõ\n"
+"  -<, --less-than=ÁÑÉÈÌÏÓ        åìöÜíéóç ìçíõìÜôùí ìå ëéãüôåñá áðü ÁÑÉÈÌÏÓ\n"
+"                                   ïñéóìïýò, åî ïñéóìïý óå Üðåéñï áí äåí ôåèåß\n"
+"  ->, --more-than=ÁÑÉÈÌÏÓ        åìöÜíéóç ìçíõìÜôùí ìå ðåñéóóüôåñá áðü ÁÑÉÈÌÏÓ\n"
+"                                   ïñéóìïýò, åî ïñéóìïý óå Ýíá áí äåí ôåèåß\n"
+"\n"
+"Åýñåóç ìçíõìÜôùí ðïõ åßíáé êïéíÜ óå äýï Þ ðåñéóóüôåñá ïñéóìÝíá áñ÷åßá PO.\n"
+"Ìå ôç ÷ñÞóç ôçò åðéëïãÞò --more-than option, ìðïñåß íá æçôçèåß ìåãáëýôåñç\n"
+"óõããÝíåéá ðñéí åìöáíéóôïýí ôá ìçíýìáôá.  Áíôßèåôá, ìå ôçí åðéëïãÞ --less-than\n"
+"ìðïñåß íá ïñéóôåß ìéêñüôåñç óõããÝíåéá ðñéí åìöáíéóôïýí ôá ìçíýìáôá (ð.÷.\n"
+"ôï --less-than=2 èá åìöáíßóåé ìüíï ôá ìïíáäéêÜ ìçíýìáôá).  Ïé ìåôáöñÜóåéò,\n"
+"ôá ó÷üëéá êáé ôá ìçíýìáôá óå ìïñöÞ ó÷ïëßùí èá äéáôçñçèïýí, áëëÜ ìüíï áðü ôï\n"
+"ðñþôï áñ÷åßï PO ðïõ ôá Ý÷åé ïñßóåé. Ïé èÝóåéò áñ÷åßïõ áðü üëá ôá áñ÷åßá PO\n"
+"èá äéáôçñçèïýí.\n"
+
+#: src/msgcat.c:318 src/msgcomm.c:333 src/xgettext.c:520
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  INPUTFILE ...                  input files\n"
+"  -f, --files-from=FILE          get list of input files from FILE\n"
+"  -D, --directory=DIRECTORY      add DIRECTORY to list for input files search\n"
+"If input file is -, standard input is read.\n"
+msgstr ""
+
+#: src/msgcat.c:327 src/msgcomm.c:342 src/msguniq.c:304
+#, no-wrap
+msgid ""
+"Output file location:\n"
+"  -o, --output-file=FILE         write output to specified file\n"
+"The results are written to standard output if no output file is specified\n"
+"or if it is -.\n"
+msgstr ""
+
+#
+#: src/msgcat.c:335
+#, fuzzy, no-wrap
+msgid ""
+"Message selection:\n"
+"  -<, --less-than=NUMBER         print messages with less than this many\n"
+"                                 definitions, defaults to infinite if not\n"
+"                                 set\n"
+"  ->, --more-than=NUMBER         print messages with more than this many\n"
+"                                 definitions, defaults to 0 if not set\n"
+"  -u, --unique                   shorthand for --less-than=2, requests\n"
+"                                 that only unique messages be printed\n"
+msgstr ""
+"  -V, --version                  åìöÜíéóç ðëçñïöïñéþí Ýêäïóçò ðñïãñÜììáôïò\n"
+"                                   êáé Ýîïäïò\n"
+"  -w, --width=ÁÑÉÈÌÏÓ            ïñéóìüò ðëÜôïõò óåëßäáò åîüäïõ\n"
+"  -<, --less-than=ÁÑÉÈÌÏÓ        åìöÜíéóç ìçíõìÜôùí ìå ëéãüôåñá áðü ÁÑÉÈÌÏÓ\n"
+"                                   ïñéóìïýò, åî ïñéóìïý óå Üðåéñï áí äåí ôåèåß\n"
+"  ->, --more-than=ÁÑÉÈÌÏÓ        åìöÜíéóç ìçíõìÜôùí ìå ðåñéóóüôåñá áðü ÁÑÉÈÌÏÓ\n"
+"                                   ïñéóìïýò, åî ïñéóìïý óå Ýíá áí äåí ôåèåß\n"
+"\n"
+"Åýñåóç ìçíõìÜôùí ðïõ åßíáé êïéíÜ óå äýï Þ ðåñéóóüôåñá ïñéóìÝíá áñ÷åßá PO.\n"
+"Ìå ôç ÷ñÞóç ôçò åðéëïãÞò --more-than option, ìðïñåß íá æçôçèåß ìåãáëýôåñç\n"
+"óõããÝíåéá ðñéí åìöáíéóôïýí ôá ìçíýìáôá.  Áíôßèåôá, ìå ôçí åðéëïãÞ --less-than\n"
+"ìðïñåß íá ïñéóôåß ìéêñüôåñç óõããÝíåéá ðñéí åìöáíéóôïýí ôá ìçíýìáôá (ð.÷.\n"
+"ôï --less-than=2 èá åìöáíßóåé ìüíï ôá ìïíáäéêÜ ìçíýìáôá).  Ïé ìåôáöñÜóåéò,\n"
+"ôá ó÷üëéá êáé ôá ìçíýìáôá óå ìïñöÞ ó÷ïëßùí èá äéáôçñçèïýí, áëëÜ ìüíï áðü ôï\n"
+"ðñþôï áñ÷åßï PO ðïõ ôá Ý÷åé ïñßóåé. Ïé èÝóåéò áñ÷åßïõ áðü üëá ôá áñ÷åßá PO\n"
+"èá äéáôçñçèïýí.\n"
+
+#
+#: src/msgcat.c:347 src/msguniq.c:319
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
+"  -t, --to-code=NAME             encoding for output\n"
+"      --use-first                use first available translation for each\n"
+"                                 message, don't merge several translations\n"
+"  -e, --no-escape                do not use C escapes in output (default)\n"
+"  -E, --escape                   use C escapes in output, no extended chars\n"
+"      --force-po                 write PO file even if empty\n"
+"  -i, --indent                   write the .po file using indented style\n"
+"      --no-location              do not write '#: filename:line' lines\n"
+"  -n, --add-location             generate '#: filename:line' lines (default)\n"
+"      --strict                   write out strict Uniforum conforming .po file\n"
+"  -w, --width=NUMBER             set output page width\n"
+"  -s, --sort-output              generate sorted output\n"
+"  -F, --sort-by-file             sort output by file location\n"
+msgstr ""
+"×ñÞóç: %s [ÅÐÉËÏÃÇ] def.po ref.po\n"
+"Ïé õðï÷ñåùôéêïß ðáñÜìåôñïé óôá ðåñéöñáóôéêÜ ïñßóìáôá åßíáé õðï÷ñåùôéêïß\n"
+"êáé ãéá ôá óýíôïìá ïñßóìáôá.\n"
+"  -D, --directory=ÊÁÔÁËÏÃÏÓ   ðñüóèåóå ôïí ÊÁÔÁËÏÃÏ óôç ëßóôá ãéá áíáæÞôçóç\n"
+"                                áñ÷åßùí åéóüäïõ.\n"
+"  -e, --no-escape             áðïöõãÞ ÷ñÞóçò êùäéêþí äéáöõãÞò áëÜ C óôçí Ýîïäï\n"
+"                                (åî ïñéóìïý)\n"
+"  -E, --escape                ÷ñÞóç êùäéêþí äéáöõãÞò áëÜ C óôçí Ýîïäï,\n"
+"                                ü÷é üìùò êáé åêôåôáìÝíïõò ÷áñáêôÞñåò.\n"
+"      --force-po              äçìéïõñãßá áñ÷åßïõ PO áêüìá êáé áí åßíáé Üäåéï\n"
+"  -h, --help                  åìöÜíéóç áõôÞò ôçò âïÞèåéáò êáé Ýîïäïò\n"
+"  -i, --indent                ìïñöïðïéçìÝíç Ýîïäïò\n"
+"  -o, --output-file=ÁÑ×ÅÉÏ    ôï áñ÷åßï åîüäïõ èá åßíáé ôï ÁÑ×ÅÉÏ\n"
+"      --no-location           áðïöõãÞ åìöÜíéóçò ãñáììþí '#: filename:line'\n"
+"      --add-location          äéáôÞñçóç ãñáììþí '#: filename:line' (åî ïñéóìïý)\n"
+"      --strict                áõóôçñÞ ìïñöÞ åîüäïõ Uniforum\n"
+"  -v, --verbose               ðåñéöñáóôéêÞ åìöÜíéóç ðñïåéäïðïéÞóåùí\n"
+"  -V, --version               åìöÜíéóç ðëçñïöïñéþí Ýêäïóçò êáé Ýîïäïò\n"
+"  -w, --width=ÁÑÉÈÌÏÓ         ïñéóìüò ìåãÝèïõò ðëÜôïõò óåëßäáò åîüäïõ\n"
+
+#: src/msgcat.c:365 src/msgcomm.c:378 src/msguniq.c:337 src/xgettext.c:585
+#, no-wrap
+msgid ""
+"Informative output:\n"
+"  -h, --help                     display this help and exit\n"
+"  -V, --version                  output version information and exit\n"
+msgstr ""
+
+#
+#: src/msgcmp.c:150 src/msgmerge.c:268
+msgid "no input files given"
+msgstr "äåí êáèïñßóôçêáí áñ÷åßá åéóüäïõ"
+
+#
+#: src/msgcmp.c:155 src/msgmerge.c:273
+msgid "exactly 2 input files required"
+msgstr "áðáéôïýíôáé áêñéâþò äýï áñ÷åßá åéóüäïõ"
+
+#: src/msgcmp.c:176 src/msgmerge.c:372
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] def.po ref.pot\n"
+msgstr ""
+
+#
+#: src/msgcmp.c:181
+#, fuzzy, no-wrap
+msgid ""
+"Compare two Uniforum style .po files to check that both contain the same\n"
+"set of msgid strings.  The def.po file is an existing PO file with the\n"
+"translations.  The ref.pot file is the last created PO file, or a PO Template\n"
+"file (generally created by xgettext).  This is useful for checking that\n"
+"you have translated each and every message in your program.  Where an exact\n"
+"match cannot be found, fuzzy matching is used to produce better diagnostics.\n"
+msgstr ""
+"×ñÞóç: %s [ÅÐÉËÏÃÇ] def.po ref.po\n"
+"Ïé õðï÷ñåùôéêïß ðáñÜìåôñïé óôá ðåñéöñáóôéêÜ ïñßóìáôá åßíáé õðï÷ñåùôéêïß\n"
+"êáé ãéá ôá óýíôïìá ïñßóìáôá.\n"
+"  -D, --directory=ÊÁÔÁËÏÃÏÓ  ðñüóèåóå ôïí ÊÁÔÁËÏÃÏ óôç ëßóôá\n"
+"                           ãéá áíáæÞôçóç áñ÷åßùí åéóüäïõ.\n"
+"  -h, --help               åìöÜíéóç áõôÞò ôçò âïÞèåéáò êáé Ýîïäïò\n"
+"  -V, --version            åìöÜíéóç ðëçñïöïñéþí Ýêäïóçò ðñïãñÜììáôïò êáé Ýîïäïò\n"
+"\n"
+"Óýãêñéóç äýï áñ÷åßùí .po ôçò ìïñöÞò Uniforum ãéá ôïí Ýëåã÷ï áí êáé ôá äýï\n"
+"ðåñéÝ÷ïõí ôï ßäéï óýíïëï áðü msgid áëöáñéèìéôéêÜ. Ôï áñ÷åßï def.po åßíáé\n"
+"Ýíá ðñïûðÜñ÷ïí áñ÷åßï PO ìå ôéò ðáëéÝò ìåôáöñÜóåéò. Ôï áñ÷åßï ref.po file\n"
+"åßíáé ôï ðéï ðñüóöáôï áñ÷åßï PO (ãåíéêÜ äçìéïõñãçìÝíï áðü ôï ðñüãñáììá\n"
+"xgettext). Åßíáé ÷ñÞóéìï ãéá ôï Ýëåã÷ï üôé üëá ôá ìçíýìáôá ôïõò ðñïãñÜììáôïò\n"
+"Ý÷ïõí ìåôáöñáóôåß. Åêåß ðïõ äåí åíôïðßæåôáé áêñéâÞò áíôéóôoé÷ßá,\n"
+"ãßíåôáé åëáóôéêü ôáßñéáóìá ãéá êáëýôåñá áðïôåëÝóìáôá.\n"
+
+#: src/msgcmp.c:196
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  def.po                      translations\n"
+"  ref.pot                     references to the sources\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+msgstr ""
+
+#: src/msgcmp.c:204 src/msgmerge.c:436
+#, no-wrap
+msgid ""
+"Operation modifiers:\n"
+"  -m, --multi-domain          apply ref.pot to each of the domains in def.po\n"
+msgstr ""
+
+#
+#: src/msgcmp.c:253 src/msgmerge.c:543
+msgid "this message is used but not defined..."
+msgstr "áõôü ôï ìÞíõìá ÷ñçóéìïðïåßôáé, áëëÜ äåí ïñßæåôáé..."
+
+#
+#: src/msgcmp.c:255 src/msgmerge.c:545
+msgid "...but this definition is similar"
+msgstr "...áëëÜ áõôüò ï ïñéóìüò åßíáé ðáñüìïéïò"
+
+#
+#: src/msgcmp.c:260 src/msgmerge.c:572
+#, c-format
+msgid "this message is used but not defined in %s"
+msgstr "áõôü ôï ìÞíõìá ÷ñçóéìïðïåßôáé, áëëÜ äåí ïñßæåôáé óôï %s"
+
+#
+#: src/msgcmp.c:332
+msgid "warning: this message is not used"
+msgstr "ðñïåéäïðïßçóç: áõôü ôï ìÞíõìá äåí ÷ñçóéìïðïåßôáé"
+
+#
+#: src/msgcmp.c:339 src/po-lex.c:705
+#, fuzzy, c-format
+msgid "found %d fatal error"
+msgid_plural "found %d fatal errors"
+msgstr[0] "âñÝèçêáí %d óïâáñÜ óöÜëìáôá"
+
+#
+#: src/msgcmp.c:420 src/msgfmt.c:1323 src/read-po.c:202 src/x-po.c:163
+msgid "duplicate message definition"
+msgstr "åðáíáëáìâáíüìåíïò ïñéóìüò ìçíýìáôïò"
+
+#
+#: src/msgcmp.c:421 src/msgfmt.c:1324 src/read-po.c:203 src/x-po.c:164
+msgid "...this is the location of the first definition"
+msgstr "...áõôÞ åßíáé ç èÝóç ôïõ ðñþôïõ ïñéóìïý"
+
+#
+#: src/msgcomm.c:266
+msgid "at least two files must be specified"
+msgstr "ðñÝðåé íá ïñéóôïýí ôïõëÜ÷éóôïí äýï áñ÷åßá"
+
+#
+#: src/msgcomm.c:316
+#, fuzzy, no-wrap
+msgid ""
+"Find messages which are common to two or more of the specified PO files.\n"
+"By using the --more-than option, greater commonality may be requested\n"
+"before messages are printed.  Conversely, the --less-than option may be\n"
+"used to specify less commonality before messages are printed (i.e.\n"
+"--less-than=2 will only print the unique messages).  Translations,\n"
+"comments and extract comments will be preserved, but only from the first\n"
+"PO file to define them.  File positions from all PO files will be\n"
+"cumulated.\n"
+msgstr ""
+"  -V, --version                  åìöÜíéóç ðëçñïöïñéþí Ýêäïóçò ðñïãñÜììáôïò\n"
+"                                   êáé Ýîïäïò\n"
+"  -w, --width=ÁÑÉÈÌÏÓ            ïñéóìüò ðëÜôïõò óåëßäáò åîüäïõ\n"
+"  -<, --less-than=ÁÑÉÈÌÏÓ        åìöÜíéóç ìçíõìÜôùí ìå ëéãüôåñá áðü ÁÑÉÈÌÏÓ\n"
+"                                   ïñéóìïýò, åî ïñéóìïý óå Üðåéñï áí äåí ôåèåß\n"
+"  ->, --more-than=ÁÑÉÈÌÏÓ        åìöÜíéóç ìçíõìÜôùí ìå ðåñéóóüôåñá áðü ÁÑÉÈÌÏÓ\n"
+"                                   ïñéóìïýò, åî ïñéóìïý óå Ýíá áí äåí ôåèåß\n"
+"\n"
+"Åýñåóç ìçíõìÜôùí ðïõ åßíáé êïéíÜ óå äýï Þ ðåñéóóüôåñá ïñéóìÝíá áñ÷åßá PO.\n"
+"Ìå ôç ÷ñÞóç ôçò åðéëïãÞò --more-than option, ìðïñåß íá æçôçèåß ìåãáëýôåñç\n"
+"óõããÝíåéá ðñéí åìöáíéóôïýí ôá ìçíýìáôá.  Áíôßèåôá, ìå ôçí åðéëïãÞ --less-than\n"
+"ìðïñåß íá ïñéóôåß ìéêñüôåñç óõããÝíåéá ðñéí åìöáíéóôïýí ôá ìçíýìáôá (ð.÷.\n"
+"ôï --less-than=2 èá åìöáíßóåé ìüíï ôá ìïíáäéêÜ ìçíýìáôá).  Ïé ìåôáöñÜóåéò,\n"
+"ôá ó÷üëéá êáé ôá ìçíýìáôá óå ìïñöÞ ó÷ïëßùí èá äéáôçñçèïýí, áëëÜ ìüíï áðü ôï\n"
+"ðñþôï áñ÷åßï PO ðïõ ôá Ý÷åé ïñßóåé. Ïé èÝóåéò áñ÷åßïõ áðü üëá ôá áñ÷åßá PO\n"
+"èá äéáôçñçèïýí.\n"
+
+#
+#: src/msgcomm.c:350
+#, fuzzy, no-wrap
+msgid ""
+"Message selection:\n"
+"  -<, --less-than=NUMBER         print messages with less than this many\n"
+"                                 definitions, defaults to infinite if not\n"
+"                                 set\n"
+"  ->, --more-than=NUMBER         print messages with more than this many\n"
+"                                 definitions, defaults to 1 if not set\n"
 "  -u, --unique                   shorthand for --less-than=2, requests\n"
 "                                 that only unique messages be printed\n"
 msgstr ""
-"  -i, --indent                   äçìéïõñãßá .po áñ÷åßïõ ìå ìïñöïðïéçìÝíç "
-"Ýîïäï\n"
-"      --no-location              áðïöõãÞ åìöÜíéóçò ãñáììþí '#: filename:"
-"line'\n"
-"  -n, --add-location             äçìéïõñãßá ãñáììþí '#: filename:line' (åî "
-"ïñéóìïý)\n"
-"      --omit-header              íá ìç ãñáöôåß êåöáëßäá ìå åããñáöÞ `msgid "
-"\"\"'\n"
-"  -o, --output=ÁÑ×ÅÉÏ            åããñáöÞ åîüäïõ óôï åðéëåãìÝíï áñ÷åßï\n"
-"  -p, --output-dir=ÊÁÔÁËÏÃÏÓ     ôá áñ÷åßá åîüäïõ èá ôïðïèåôçèïýí "
-"óôïêáôÜëïãï ÊÁÔÁËÏÃÏÓ\n"
-"  -s, --sort-output              äçìéïõñãßá ôáîéíïìçìÝíçò åîüäïõ êáé "
-"áðáëïéöÞ åðáíáëÞøåùí\n"
-"      --strict                   äçìéïõñãßá áñ÷åßï .po ðïõ óõìöùíïýí áðüëõôá "
-"ìå ôï ðñüôõðï Uniforum\n"
-"  -T, --trigraphs                áðïäï÷Þ ANSI C ôñéãñáììÜôùí óôçí åßóïäï\n"
-"  -u, --unique                   óõíôïìïãñáößá ôïõ --less-than=2, áßôçóç "
-"ãéá\n"
-"                                 åìöÜíéóç ìüíï ôùí ìïíáäéêþí ìçíõìÜôùí\n"
-
-#
-#: src/msgcomm.c:407
+"  -V, --version                  åìöÜíéóç ðëçñïöïñéþí Ýêäïóçò ðñïãñÜììáôïò\n"
+"                                   êáé Ýîïäïò\n"
+"  -w, --width=ÁÑÉÈÌÏÓ            ïñéóìüò ðëÜôïõò óåëßäáò åîüäïõ\n"
+"  -<, --less-than=ÁÑÉÈÌÏÓ        åìöÜíéóç ìçíõìÜôùí ìå ëéãüôåñá áðü ÁÑÉÈÌÏÓ\n"
+"                                   ïñéóìïýò, åî ïñéóìïý óå Üðåéñï áí äåí ôåèåß\n"
+"  ->, --more-than=ÁÑÉÈÌÏÓ        åìöÜíéóç ìçíõìÜôùí ìå ðåñéóóüôåñá áðü ÁÑÉÈÌÏÓ\n"
+"                                   ïñéóìïýò, åî ïñéóìïý óå Ýíá áí äåí ôåèåß\n"
+"\n"
+"Åýñåóç ìçíõìÜôùí ðïõ åßíáé êïéíÜ óå äýï Þ ðåñéóóüôåñá ïñéóìÝíá áñ÷åßá PO.\n"
+"Ìå ôç ÷ñÞóç ôçò åðéëïãÞò --more-than option, ìðïñåß íá æçôçèåß ìåãáëýôåñç\n"
+"óõããÝíåéá ðñéí åìöáíéóôïýí ôá ìçíýìáôá.  Áíôßèåôá, ìå ôçí åðéëïãÞ --less-than\n"
+"ìðïñåß íá ïñéóôåß ìéêñüôåñç óõããÝíåéá ðñéí åìöáíéóôïýí ôá ìçíýìáôá (ð.÷.\n"
+"ôï --less-than=2 èá åìöáíßóåé ìüíï ôá ìïíáäéêÜ ìçíýìáôá).  Ïé ìåôáöñÜóåéò,\n"
+"ôá ó÷üëéá êáé ôá ìçíýìáôá óå ìïñöÞ ó÷ïëßùí èá äéáôçñçèïýí, áëëÜ ìüíï áðü ôï\n"
+"ðñþôï áñ÷åßï PO ðïõ ôá Ý÷åé ïñßóåé. Ïé èÝóåéò áñ÷åßïõ áðü üëá ôá áñ÷åßá PO\n"
+"èá äéáôçñçèïýí.\n"
+
+#
+#: src/msgcomm.c:362
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
+"  -e, --no-escape                do not use C escapes in output (default)\n"
+"  -E, --escape                   use C escapes in output, no extended chars\n"
+"      --force-po                 write PO file even if empty\n"
+"  -i, --indent                   write the .po file using indented style\n"
+"      --no-location              do not write '#: filename:line' lines\n"
+"  -n, --add-location             generate '#: filename:line' lines (default)\n"
+"      --strict                   write out strict Uniforum conforming .po file\n"
+"  -w, --width=NUMBER             set output page width\n"
+"  -s, --sort-output              generate sorted output\n"
+"  -F, --sort-by-file             sort output by file location\n"
+"      --omit-header              don't write header with `msgid \"\"' entry\n"
+msgstr ""
+"×ñÞóç: %s [ÅÐÉËÏÃÇ] def.po ref.po\n"
+"Ïé õðï÷ñåùôéêïß ðáñÜìåôñïé óôá ðåñéöñáóôéêÜ ïñßóìáôá åßíáé õðï÷ñåùôéêïß\n"
+"êáé ãéá ôá óýíôïìá ïñßóìáôá.\n"
+"  -D, --directory=ÊÁÔÁËÏÃÏÓ   ðñüóèåóå ôïí ÊÁÔÁËÏÃÏ óôç ëßóôá ãéá áíáæÞôçóç\n"
+"                                áñ÷åßùí åéóüäïõ.\n"
+"  -e, --no-escape             áðïöõãÞ ÷ñÞóçò êùäéêþí äéáöõãÞò áëÜ C óôçí Ýîïäï\n"
+"                                (åî ïñéóìïý)\n"
+"  -E, --escape                ÷ñÞóç êùäéêþí äéáöõãÞò áëÜ C óôçí Ýîïäï,\n"
+"                                ü÷é üìùò êáé åêôåôáìÝíïõò ÷áñáêôÞñåò.\n"
+"      --force-po              äçìéïõñãßá áñ÷åßïõ PO áêüìá êáé áí åßíáé Üäåéï\n"
+"  -h, --help                  åìöÜíéóç áõôÞò ôçò âïÞèåéáò êáé Ýîïäïò\n"
+"  -i, --indent                ìïñöïðïéçìÝíç Ýîïäïò\n"
+"  -o, --output-file=ÁÑ×ÅÉÏ    ôï áñ÷åßï åîüäïõ èá åßíáé ôï ÁÑ×ÅÉÏ\n"
+"      --no-location           áðïöõãÞ åìöÜíéóçò ãñáììþí '#: filename:line'\n"
+"      --add-location          äéáôÞñçóç ãñáììþí '#: filename:line' (åî ïñéóìïý)\n"
+"      --strict                áõóôçñÞ ìïñöÞ åîüäïõ Uniforum\n"
+"  -v, --verbose               ðåñéöñáóôéêÞ åìöÜíéóç ðñïåéäïðïéÞóåùí\n"
+"  -V, --version               åìöÜíéóç ðëçñïöïñéþí Ýêäïóçò êáé Ýîïäïò\n"
+"  -w, --width=ÁÑÉÈÌÏÓ         ïñéóìüò ìåãÝèïõò ðëÜôïõò óåëßäáò åîüäïõ\n"
+
+#: src/msgconv.c:251
+#, no-wrap
+msgid "Converts a translation catalog to a different character encoding.\n"
+msgstr ""
+
+#: src/msgconv.c:277
+#, no-wrap
+msgid ""
+"Conversion target:\n"
+"  -t, --to-code=NAME          encoding for output\n"
+"The default encoding is the current locale's encoding.\n"
+msgstr ""
+
+#
+#: src/msgconv.c:284 src/msgen.c:266 src/msgmerge.c:442
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
+"  -e, --no-escape             do not use C escapes in output (default)\n"
+"  -E, --escape                use C escapes in output, no extended chars\n"
+"      --force-po              write PO file even if empty\n"
+"  -i, --indent                indented output style\n"
+"      --no-location           suppress '#: filename:line' lines\n"
+"      --add-location          preserve '#: filename:line' lines (default)\n"
+"      --strict                strict Uniforum output style\n"
+"  -w, --width=NUMBER          set output page width\n"
+"  -s, --sort-output           generate sorted output\n"
+"  -F, --sort-by-file          sort output by file location\n"
+msgstr ""
+"×ñÞóç: %s [ÅÐÉËÏÃÇ] def.po ref.po\n"
+"Ïé õðï÷ñåùôéêïß ðáñÜìåôñïé óôá ðåñéöñáóôéêÜ ïñßóìáôá åßíáé õðï÷ñåùôéêïß\n"
+"êáé ãéá ôá óýíôïìá ïñßóìáôá.\n"
+"  -D, --directory=ÊÁÔÁËÏÃÏÓ   ðñüóèåóå ôïí ÊÁÔÁËÏÃÏ óôç ëßóôá ãéá áíáæÞôçóç\n"
+"                                áñ÷åßùí åéóüäïõ.\n"
+"  -e, --no-escape             áðïöõãÞ ÷ñÞóçò êùäéêþí äéáöõãÞò áëÜ C óôçí Ýîïäï\n"
+"                                (åî ïñéóìïý)\n"
+"  -E, --escape                ÷ñÞóç êùäéêþí äéáöõãÞò áëÜ C óôçí Ýîïäï,\n"
+"                                ü÷é üìùò êáé åêôåôáìÝíïõò ÷áñáêôÞñåò.\n"
+"      --force-po              äçìéïõñãßá áñ÷åßïõ PO áêüìá êáé áí åßíáé Üäåéï\n"
+"  -h, --help                  åìöÜíéóç áõôÞò ôçò âïÞèåéáò êáé Ýîïäïò\n"
+"  -i, --indent                ìïñöïðïéçìÝíç Ýîïäïò\n"
+"  -o, --output-file=ÁÑ×ÅÉÏ    ôï áñ÷åßï åîüäïõ èá åßíáé ôï ÁÑ×ÅÉÏ\n"
+"      --no-location           áðïöõãÞ åìöÜíéóçò ãñáììþí '#: filename:line'\n"
+"      --add-location          äéáôÞñçóç ãñáììþí '#: filename:line' (åî ïñéóìïý)\n"
+"      --strict                áõóôçñÞ ìïñöÞ åîüäïõ Uniforum\n"
+"  -v, --verbose               ðåñéöñáóôéêÞ åìöÜíéóç ðñïåéäïðïéÞóåùí\n"
+"  -V, --version               åìöÜíéóç ðëçñïöïñéþí Ýêäïóçò êáé Ýîïäïò\n"
+"  -w, --width=ÁÑÉÈÌÏÓ         ïñéóìüò ìåãÝèïõò ðëÜôïõò óåëßäáò åîüäïõ\n"
+
+#
+#: src/msgen.c:187 src/msgfmt.c:349 src/xgettext.c:388
+msgid "no input file given"
+msgstr "äåí äüèçêå áñ÷åßï åéóüäïõ"
+
+#
+#: src/msgen.c:192
+#, fuzzy
+msgid "exactly one input file required"
+msgstr "áðáéôïýíôáé áêñéâþò äýï áñ÷åßá åéóüäïõ"
+
+#: src/msgen.c:232
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] INPUTFILE\n"
+msgstr ""
+
+#: src/msgen.c:237
+#, no-wrap
+msgid ""
+"Creates an English translation catalog.  The input file is the last\n"
+"created English PO file, or a PO Template file (generally created by\n"
+"xgettext).  Untranslated entries are assigned a translation that is\n"
+"identical to the msgid, and are marked fuzzy.\n"
+msgstr ""
+
+#: src/msgen.c:250
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  INPUTFILE                   input PO or POT file\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"If input file is -, standard input is read.\n"
+msgstr ""
+
+#
+#: src/msgexec.c:255
+#, fuzzy
+msgid "missing filter name"
+msgstr "õðïëåßðïíôáé ïñßóìáôá"
+
+#
+#: src/msgexec.c:279
+#, fuzzy
+msgid "at least one sed script must be specified"
+msgstr "ðñÝðåé íá ïñéóôïýí ôïõëÜ÷éóôïí äýï áñ÷åßá"
+
+#: src/msgexec.c:343
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] FILTER [FILTER-OPTION]\n"
+msgstr ""
+
+#: src/msgexec.c:348
+#, no-wrap
+msgid "Applies a filter to all translations of a translation catalog.\n"
+msgstr ""
+
+#: src/msgexec.c:358
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  -i, --input=INPUTFILE       input PO file\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"If no input file is given or if it is -, standard input is read.\n"
+msgstr ""
+
+#: src/msgexec.c:374
+#, no-wrap
+msgid ""
+"The FILTER can be any program that reads a translation from standard input\n"
+"and writes a modified translation to standard output.\n"
+msgstr ""
+
+#: src/msgexec.c:380
+#, no-wrap
+msgid ""
+"Useful FILTER-OPTIONs when the FILTER is 'sed':\n"
+"  -e, --expression=SCRIPT     add SCRIPT to the commands to be executed\n"
+"  -f, --file=SCRIPTFILE       add the contents of SCRIPTFILE to the commands\n"
+"                                to be executed\n"
+"  -n, --quiet, --silent       suppress automatic printing of pattern space\n"
+msgstr ""
+
+#
+#: src/msgexec.c:389
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
+"      --no-escape             do not use C escapes in output (default)\n"
+"  -E, --escape                use C escapes in output, no extended chars\n"
+"      --force-po              write PO file even if empty\n"
+"      --indent                indented output style\n"
+"      --no-location           suppress '#: filename:line' lines\n"
+"      --add-location          preserve '#: filename:line' lines (default)\n"
+"      --strict                strict Uniforum output style\n"
+"  -w, --width=NUMBER          set output page width\n"
+"  -s, --sort-output           generate sorted output\n"
+"  -F, --sort-by-file          sort output by file location\n"
+msgstr ""
+"×ñÞóç: %s [ÅÐÉËÏÃÇ] def.po ref.po\n"
+"Ïé õðï÷ñåùôéêïß ðáñÜìåôñïé óôá ðåñéöñáóôéêÜ ïñßóìáôá åßíáé õðï÷ñåùôéêïß\n"
+"êáé ãéá ôá óýíôïìá ïñßóìáôá.\n"
+"  -D, --directory=ÊÁÔÁËÏÃÏÓ   ðñüóèåóå ôïí ÊÁÔÁËÏÃÏ óôç ëßóôá ãéá áíáæÞôçóç\n"
+"                                áñ÷åßùí åéóüäïõ.\n"
+"  -e, --no-escape             áðïöõãÞ ÷ñÞóçò êùäéêþí äéáöõãÞò áëÜ C óôçí Ýîïäï\n"
+"                                (åî ïñéóìïý)\n"
+"  -E, --escape                ÷ñÞóç êùäéêþí äéáöõãÞò áëÜ C óôçí Ýîïäï,\n"
+"                                ü÷é üìùò êáé åêôåôáìÝíïõò ÷áñáêôÞñåò.\n"
+"      --force-po              äçìéïõñãßá áñ÷åßïõ PO áêüìá êáé áí åßíáé Üäåéï\n"
+"  -h, --help                  åìöÜíéóç áõôÞò ôçò âïÞèåéáò êáé Ýîïäïò\n"
+"  -i, --indent                ìïñöïðïéçìÝíç Ýîïäïò\n"
+"  -o, --output-file=ÁÑ×ÅÉÏ    ôï áñ÷åßï åîüäïõ èá åßíáé ôï ÁÑ×ÅÉÏ\n"
+"      --no-location           áðïöõãÞ åìöÜíéóçò ãñáììþí '#: filename:line'\n"
+"      --add-location          äéáôÞñçóç ãñáììþí '#: filename:line' (åî ïñéóìïý)\n"
+"      --strict                áõóôçñÞ ìïñöÞ åîüäïõ Uniforum\n"
+"  -v, --verbose               ðåñéöñáóôéêÞ åìöÜíéóç ðñïåéäïðïéÞóåùí\n"
+"  -V, --version               åìöÜíéóç ðëçñïöïñéþí Ýêäïóçò êáé Ýîïäïò\n"
+"  -w, --width=ÁÑÉÈÌÏÓ         ïñéóìüò ìåãÝèïõò ðëÜôïõò óåëßäáò åîüäïõ\n"
+
+#: src/msgexec.c:546
+#, c-format
+msgid "cannot set up nonblocking I/O to %s subprocess"
+msgstr ""
+
+#: src/msgexec.c:574
+#, c-format
+msgid "communication with %s subprocess failed"
+msgstr ""
+
+#: src/msgexec.c:594
+#, c-format
+msgid "write to %s subprocess failed"
+msgstr ""
+
+#: src/msgexec.c:625
+#, c-format
+msgid "read from %s subprocess failed"
+msgstr ""
+
+#: src/msgexec.c:641
+#, c-format
+msgid "%s subprocess terminated with exit code %d"
+msgstr ""
+
+#: src/msgfmt.c:303
+#, c-format
+msgid "the argument to %s should be a single punctuation character"
+msgstr ""
+
+#: src/msgfmt.c:364
+#, c-format
+msgid "%s requires a \"-d directory\" specification"
+msgstr ""
+
+#: src/msgfmt.c:373 src/msgfmt.c:379 src/msgfmt.c:385 src/msgmerge.c:290
+#: src/msgmerge.c:296 src/msgunfmt.c:209 src/msgunfmt.c:215
+#, c-format
+msgid "%s is only valid with %s"
+msgstr ""
+
+#
+#: src/msgfmt.c:452
+#, fuzzy, c-format
+msgid "%d translated message"
+msgid_plural "%d translated messages"
+msgstr[0] "%d ìåôáöñáóìÝíá ìõíÞìáôá"
+
+#
+#: src/msgfmt.c:457
+#, fuzzy, c-format
+msgid ", %d fuzzy translation"
+msgid_plural ", %d fuzzy translations"
+msgstr[0] ", %d ðñïóåããéóôéêÝò ìåôáöñÜóåéò"
+
+#
+#: src/msgfmt.c:462
+#, fuzzy, c-format
+msgid ", %d untranslated message"
+msgid_plural ", %d untranslated messages"
+msgstr[0] ", %d ìç ìåôáöñáóìÝíá ìçíýìáôá"
+
+#: src/msgfmt.c:484
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] filename.po ...\n"
+msgstr ""
+
+#: src/msgfmt.c:489
+#, no-wrap
+msgid "Generate binary message catalog from textual translation description.\n"
+msgstr ""
+
+#: src/msgfmt.c:499
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  filename.po ...             input files\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"If input file is -, standard input is read.\n"
+msgstr ""
+
+#: src/msgfmt.c:507
+#, no-wrap
+msgid ""
+"Operation mode:\n"
+"  -j, --java                  Java mode: generate a Java ResourceBundle class\n"
+"      --java2                 like --java, and assume Java2 (JDK 1.2 or higher)\n"
+msgstr ""
+
+#: src/msgfmt.c:514
+#, no-wrap
+msgid ""
+"Output file location:\n"
+"  -o, --output-file=FILE      write output to specified file\n"
+"      --strict                enable strict Uniforum mode\n"
+"If output file is -, output is written to standard output.\n"
+msgstr ""
+
+#: src/msgfmt.c:522
+#, no-wrap
+msgid ""
+"Output file location in Java mode:\n"
+"  -r, --resource=RESOURCE     resource name\n"
+"  -l, --locale=LOCALE         locale name, either language or language_COUNTRY\n"
+"  -d DIRECTORY                base directory of classes directory hierarchy\n"
+"The class name is determined by appending the locale name to the resource name,\n"
+"separated with an underscore.  The -d option is mandatory.  The class is\n"
+"written under the specified directory.\n"
+msgstr ""
+
+#: src/msgfmt.c:533
+#, no-wrap
+msgid ""
+"Input file interpretation:\n"
+"  -c, --check                 perform all the checks implied by\n"
+"                                --check-format, --check-header, --check-domain\n"
+"      --check-format          check language dependent format strings\n"
+"      --check-header          verify presence and contents of the header entry\n"
+"      --check-domain          check for conflicts between domain directives\n"
+"                                and the --output-file option\n"
+"  -C, --check-compatibility   check that GNU msgfmt behaves like X/Open msgfmt\n"
+"      --check-accelerators[=CHAR]  check presence of keyboard accelerators for\n"
+"                                menu items\n"
+"  -f, --use-fuzzy             use fuzzy entries in output\n"
+msgstr ""
+
+#: src/msgfmt.c:548
+#, c-format, no-wrap
+msgid ""
+"Output details:\n"
+"  -a, --alignment=NUMBER      align strings to NUMBER bytes (default: %d)\n"
+"      --no-hash               binary file will not include the hash table\n"
+msgstr ""
+
+#: src/msgfmt.c:555
+#, no-wrap
+msgid ""
+"Informative output:\n"
+"  -h, --help                  display this help and exit\n"
+"  -V, --version               output version information and exit\n"
+"      --statistics            print statistics about translations\n"
+"  -v, --verbose               increase verbosity level\n"
+msgstr ""
+
+#: src/msgfmt.c:707
+msgid "plural expression can produce negative values"
+msgstr ""
+
+#: src/msgfmt.c:720
+#, c-format
+msgid "nplurals = %lu but plural expression can produce values as large as %lu"
+msgstr ""
+
+#: src/msgfmt.c:746
+msgid "plural expression can produce division by zero"
+msgstr ""
+
+#: src/msgfmt.c:751
+msgid "plural expression can produce integer overflow"
+msgstr ""
+
+#: src/msgfmt.c:756
+msgid ""
+"plural expression can produce arithmetic exceptions, possibly division by "
+"zero"
+msgstr ""
+
+#: src/msgfmt.c:830 src/msgfmt.c:841
+msgid "message catalog has plural form translations..."
+msgstr ""
+
+#: src/msgfmt.c:833
+msgid "...but header entry lacks a \"plural=EXPRESSION\" attribute"
+msgstr ""
+
+#: src/msgfmt.c:844
+msgid "...but header entry lacks a \"nplurals=INTEGER\" attribute"
+msgstr ""
+
+#
+#: src/msgfmt.c:868
+#, fuzzy
+msgid "invalid nplurals value"
+msgstr "ìç áðïäåêôÞ óåéñÜ ÷áñáêôÞñùí äéáöõãÞò"
+
+#: src/msgfmt.c:881
+msgid "invalid plural expression"
+msgstr ""
+
+#: src/msgfmt.c:899 src/msgfmt.c:912
+#, c-format
+msgid "nplurals = %lu..."
+msgstr ""
+
+#: src/msgfmt.c:902
+#, c-format
+msgid "...but some messages have only %lu plural forms"
+msgstr ""
+
+#: src/msgfmt.c:915
+#, c-format
+msgid "...but some messages have %lu plural forms"
+msgstr ""
+
+#: src/msgfmt.c:930
 msgid ""
-"  -V, --version                  output version information and exit\n"
-"  -w, --width=NUMBER             set output page width\n"
-"  -<, --less-than=NUMBER         print messages with less than this many\n"
-"                                 definitions, defaults to infinite if not\n"
-"                                 set\n"
-"  ->, --more-than=NUMBER         print messages with more than this many\n"
-"                                 definitions, defaults to 1 if not set\n"
-"\n"
-"Find messages which are common to two or more of the specified PO files.\n"
-"By using the --more-than option, greater commonality may be requested\n"
-"before messages are printed.  Conversely, the --less-than option may be\n"
-"used to specify less commonality before messages are printed (i.e.\n"
-"--less-than=2 will only print the unique messages).  Translations,\n"
-"comments and extract comments will be preserved, but only from the first\n"
-"PO file to define them.  File positions from all PO files will be\n"
-"preserved.\n"
+"message catalog has plural form translations, but lacks a header entry with "
+"\"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\""
 msgstr ""
-"  -V, --version                  åìöÜíéóç ðëçñïöïñéþí Ýêäïóçò ðñïãñÜììáôïò\n"
-"                                   êáé Ýîïäïò\n"
-"  -w, --width=ÁÑÉÈÌÏÓ            ïñéóìüò ðëÜôïõò óåëßäáò åîüäïõ\n"
-"  -<, --less-than=ÁÑÉÈÌÏÓ        åìöÜíéóç ìçíõìÜôùí ìå ëéãüôåñá áðü ÁÑÉÈÌÏÓ\n"
-"                                   ïñéóìïýò, åî ïñéóìïý óå Üðåéñï áí äåí "
-"ôåèåß\n"
-"  ->, --more-than=ÁÑÉÈÌÏÓ        åìöÜíéóç ìçíõìÜôùí ìå ðåñéóóüôåñá áðü "
-"ÁÑÉÈÌÏÓ\n"
-"                                   ïñéóìïýò, åî ïñéóìïý óå Ýíá áí äåí ôåèåß\n"
-"\n"
-"Åýñåóç ìçíõìÜôùí ðïõ åßíáé êïéíÜ óå äýï Þ ðåñéóóüôåñá ïñéóìÝíá áñ÷åßá PO.\n"
-"Ìå ôç ÷ñÞóç ôçò åðéëïãÞò --more-than option, ìðïñåß íá æçôçèåß ìåãáëýôåñç\n"
-"óõããÝíåéá ðñéí åìöáíéóôïýí ôá ìçíýìáôá.  Áíôßèåôá, ìå ôçí åðéëïãÞ --less-"
-"than\n"
-"ìðïñåß íá ïñéóôåß ìéêñüôåñç óõããÝíåéá ðñéí åìöáíéóôïýí ôá ìçíýìáôá (ð.÷.\n"
-"ôï --less-than=2 èá åìöáíßóåé ìüíï ôá ìïíáäéêÜ ìçíýìáôá).  Ïé ìåôáöñÜóåéò,\n"
-"ôá ó÷üëéá êáé ôá ìçíýìáôá óå ìïñöÞ ó÷ïëßùí èá äéáôçñçèïýí, áëëÜ ìüíï áðü ôï\n"
-"ðñþôï áñ÷åßï PO ðïõ ôá Ý÷åé ïñßóåé. Ïé èÝóåéò áñ÷åßïõ áðü üëá ôá áñ÷åßá PO\n"
-"èá äéáôçñçèïýí.\n"
 
 #
-#: src/msgcomm.c:458 src/msgunfmt.c:361 src/po-lex.c:86 src/xget-lex.c:157
-#: src/xget-lex.c:170 src/xget-lex.c:180 src/xgettext.c:599
-#, c-format
-msgid "error while opening \"%s\" for reading"
-msgstr "óöÜëìá óôï Üíïéãìá ôïõ \"%s\" ãéá áíÜãíùóç"
+#: src/msgfmt.c:968
+#, fuzzy
+msgid "`msgid' and `msgid_plural' entries do not both begin with '\\n'"
+msgstr "Ïé åããñáöÝò `msgid' êáé `msgstr' äåí îåêéíïýí êáé ïé äýï ìå '\\n'"
 
 #
-#: src/msgcomm.c:539 src/xgettext.c:641 src/xgettext.c:1059
-msgid "this file may not contain domain directives"
-msgstr "áõôü ôï áñ÷åßï äåí ìðïñåß íá ðåñéÝ÷åé ïäçãßåò ãéá ôç ðåñéï÷Þ"
+#: src/msgfmt.c:978
+#, fuzzy, c-format
+msgid "`msgid' and `msgstr[%u]' entries do not both begin with '\\n'"
+msgstr "Ïé åããñáöÝò `msgid' êáé `msgstr' äåí îåêéíïýí êáé ïé äýï ìå '\\n'"
 
 #
-#: src/msgfmt.c:286 src/xgettext.c:404
-msgid "no input file given"
-msgstr "äåí äüèçêå áñ÷åßï åéóüäïõ"
+#: src/msgfmt.c:990
+msgid "`msgid' and `msgstr' entries do not both begin with '\\n'"
+msgstr "Ïé åããñáöÝò `msgid' êáé `msgstr' äåí îåêéíïýí êáé ïé äýï ìå '\\n'"
 
 #
-#: src/msgfmt.c:337
-#, c-format
-msgid "error while opening \"%s\" for writing"
-msgstr "óöÜëìá êáôÜ ôï Üíïéãìá ôïõ áñ÷åßïõ \"%s\" ãéá åããñáöÞ"
+#: src/msgfmt.c:1007
+#, fuzzy
+msgid "`msgid' and `msgid_plural' entries do not both end with '\\n'"
+msgstr "Ïé åããñáöÝò `msgid' êáé `msgstr' äåí ôåëåéþíïõí êáé ïé äýï ìå '\\n'"
 
 #
-#: src/msgfmt.c:360
+#: src/msgfmt.c:1017
 #, fuzzy, c-format
-msgid "%d translated message"
-msgid_plural "%d translated messages"
-msgstr[0] "%d ìåôáöñáóìÝíá ìõíÞìáôá"
+msgid "`msgid' and `msgstr[%u]' entries do not both end with '\\n'"
+msgstr "Ïé åããñáöÝò `msgid' êáé `msgstr' äåí ôåëåéþíïõí êáé ïé äýï ìå '\\n'"
 
 #
-#: src/msgfmt.c:365
-#, fuzzy, c-format
-msgid ", %d fuzzy translation"
-msgid_plural ", %d fuzzy translations"
-msgstr[0] ", %d ðñïóåããéóôéêÝò ìåôáöñÜóåéò"
+#: src/msgfmt.c:1029
+msgid "`msgid' and `msgstr' entries do not both end with '\\n'"
+msgstr "Ïé åããñáöÝò `msgid' êáé `msgstr' äåí ôåëåéþíïõí êáé ïé äýï ìå '\\n'"
+
+#: src/msgfmt.c:1041
+msgid "plural handling is a GNU gettext extension"
+msgstr ""
+
+#: src/msgfmt.c:1088
+#, c-format
+msgid "'msgstr' is not a valid %s format string, unlike 'msgid'"
+msgstr ""
+
+#: src/msgfmt.c:1122
+#, c-format
+msgid "msgstr lacks the keyboard accelerator mark '%c'"
+msgstr ""
+
+#: src/msgfmt.c:1130
+#, c-format
+msgid "msgstr has too many keyboard accelerator marks '%c'"
+msgstr ""
 
 #
-#: src/msgfmt.c:370
-#, fuzzy, c-format
-msgid ", %d untranslated message"
-msgid_plural ", %d untranslated messages"
-msgstr[0] ", %d ìç ìåôáöñáóìÝíá ìçíýìáôá"
+#: src/msgfmt.c:1164
+#, c-format
+msgid "headerfield `%s' missing in header"
+msgstr "ôï ðåäßï `%s' Ý÷åé ðáñáëçöèåß áðü ôç êåöáëßäá"
 
 #
-#: src/msgfmt.c:392
-#, c-format, no-wrap
-msgid ""
-"Usage: %s [OPTION] filename.po ...\n"
-"Generate binary message catalog from textual translation description.\n"
-"\n"
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"  -a, --alignment=NUMBER      align strings to NUMBER bytes (default: %d)\n"
-"  -c, --check                 perform language dependent checks on strings\n"
-"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
-"  -f, --use-fuzzy             use fuzzy entries in output\n"
-"  -h, --help                  display this help and exit\n"
-"      --no-hash               binary file will not include the hash table\n"
-"  -o, --output-file=FILE      specify output file name as FILE\n"
-"      --statistics            print statistics about translations\n"
-"      --strict                enable strict Uniforum mode\n"
-"  -v, --verbose               list input file anomalies\n"
-"  -V, --version               output version information and exit\n"
-"\n"
-"Giving the -v option more than once increases the verbosity level.\n"
-"\n"
-"If input file is -, standard input is read.  If output file is -,\n"
-"output is written to standard output.\n"
+#: src/msgfmt.c:1167
+#, c-format
+msgid "header field `%s' should start at beginning of line"
+msgstr "ôï ðåäßá êåöáëßäáò `%s' èá Ýðñåðå íá îåêéíÜ óôçí áñ÷Þ ôçò ãñáììÞò"
+
+#
+#: src/msgfmt.c:1176
+msgid "some header fields still have the initial default value"
+msgstr "ìåñéêÜ ðåäßá ôçò êåöáëßäáò Ý÷ïõí áêüìá ôçí áñ÷éêÞ åî ïñéóìïý ôéìÞ"
+
+#
+#: src/msgfmt.c:1187
+#, c-format
+msgid "field `%s' still has initial default value"
+msgstr "ôï ðåäßï `%s' Ý÷åé áêüìá ôçí áñ÷éêÞ åî ïñéóìïý ôéìÞ"
+
+#
+#: src/msgfmt.c:1228
+#, fuzzy
+msgid "warning: PO file header missing or invalid\n"
 msgstr ""
-"×ñÞóç: %s [ÅÐÉËÏÃÇ] filename.po ...\n"
-"Äçìéïõñãßá äõáäéêïý êáôáëüãïõ ìçíõìÜôùí áðü ëåêôéêÞ ìåôÜöñáóç ðåñéãñáöþí.\n"
-"\n"
-"Ïé õðï÷ñåùôéêïß ðáñÜìåôñïé óôá ðåñéöñáóôéêÜ ïñßóìáôá åßíáé õðï÷ñåùôéêïß\n"
-"êáé ãéá ôá óýíôïìá ïñßóìáôá.\n"
-"  -a, --alignment=ÁÑÉÈÌÏÓ  óôïß÷çóç áëöáñéèìçôéêþí óå ÁÑÉÈÌÏÓ áðü bytes\n"
-"                           (åî ïñéóìïý ôéìÞ: %d)\n"
-"  -c, --check              åêôÝëåóç åëÝã÷ùí åîáñôçìÝíùí áðü ôç ãëþóóá\n"
-"                           óôá áëöáñéèìçôéêÜ\n"
-"  -D, --directory=ÊÁÔÁËÏÃÏÓ  ðñüóèåóå ôïí ÊÁÔÁËÏÃÏ óôç ëßóôá ãéá áíáæÞôçóç\n"
-"                           áñ÷åßùí åéóüäïõ.\n"
-"  -f, --use-fuzzy          ÷ñÞóç ðñïóåããéóôéêþí åããñáöþí óôçí Ýîïäï\n"
-"  -h, --help               åìöÜíéóç áõôÞò ôçò âïÞèåéáò êáé Ýîïäïò\n"
-"      --no-hash            äõáäéêÜ áñ÷åßá äåí óõìðåñéëáìâÜíïíôáé óôï\n"
-"                             hash table\n"
-"  -o, --output-file=ÁÑ×ÅÉÏ êáèïñéóìüò ôïõ ÁÑ×ÅÉÏ óáí áñ÷åßï åîüäïõ\n"
-"      --statistics         åìöÜíéóç óôáôéóôéêþí ãéá ôéò ìåôáöñÜóåéò\n"
-"      --strict             åíåñãïðïßçóç êáôÜóôáóçò áõóôçñïý Uniforum\n"
-"  -v, --verbose            åìöÜíéóç óöáëìÜôùí áñ÷åßïõ åéóüäïõ\n"
-"  -V, --version            åìöÜíéóç ðëçñïöïñéþí Ýêäïóçò êáé Ýîïäïò\n"
-"\n"
-"Äßíïíôáò ôçí ðáñÜìåôñï -v ðåñéóóüôåñåò áðü ìéá öïñÝò, áõîÜíåé ôï âáèìü\n"
-"ðåñéöñáóôéêüôçôáò ôùí ìçíõìÜôùí\n"
-"\n"
-"Áí ôï áñ÷åßï åéóüäïõ åßíáé ôï -, ãßíåôáé áíÜãíùóç ôçò êáíïíéêÞò åéóüäïõ.\n"
-"Áí ôï áñ÷åßï åîüäïõ åßíáé -, ôüôå ç Ýîïäïò ãñÜöåôáé óôçí êáíïíéêÞ Ýîïäï.\n"
+"%s: ðñïåéäïðïßçóç: ôï áñ÷åßï åéóüäïõ ðåñéÝ÷åé ðñïóåããéóôéêÝò ìåôáöñÜóåéò"
 
 #
-#: src/msgfmt.c:435
-msgid "while creating hash table"
-msgstr "êáôÜ ôç äçìéïõñãßá ôïõ hash table"
+#: src/msgfmt.c:1231
+#, fuzzy
+msgid "warning: charset conversion will not work\n"
+msgstr ""
+"%s: ðñïåéäïðïßçóç: ôï áñ÷åßï åéóüäïõ ðåñéÝ÷åé ðñïóåããéóôéêÝò ìåôáöñÜóåéò"
 
 #
-#: src/msgfmt.c:479
-#, fuzzy, c-format
-msgid ""
-"%s: warning: PO file header missing, fuzzy, or invalid\n"
-"%*s  warning: charset conversion will not work"
+#: src/msgfmt.c:1241
+#, fuzzy
+msgid "warning: PO file header fuzzy\n"
 msgstr ""
 "%s: ðñïåéäïðïßçóç: ôï áñ÷åßï åéóüäïõ ðåñéÝ÷åé ðñïóåããéóôéêÝò ìåôáöñÜóåéò"
 
+#: src/msgfmt.c:1243
+msgid "warning: older versions of msgfmt will give an error on this\n"
+msgstr ""
+
 #
-#: src/msgfmt.c:503
+#: src/msgfmt.c:1268
 #, c-format
 msgid "domain name \"%s\" not suitable as file name"
 msgstr "ôï üíïìá ãéá ôç ðåñéï÷Þ \"%s\" äåí åßíáé êáôÜëëçëï ãéá üíïìá áñ÷åßïõ"
 
 #
-#: src/msgfmt.c:508
+#: src/msgfmt.c:1273
 #, c-format
 msgid "domain name \"%s\" not suitable as file name: will use prefix"
 msgstr ""
@@ -532,155 +1352,338 @@ msgstr ""
 "ãßíåé ÷ñÞóç ðñïèÝìáôïò"
 
 #
-#. We don't change the exit status here because this is really
-#. only an information.
-#: src/msgfmt.c:521
+#: src/msgfmt.c:1284
 #, c-format
 msgid "`domain %s' directive ignored"
 msgstr "ç ïäçãßá `domain %s' áãíïåßôáé"
 
 #
-#: src/msgfmt.c:551
+#: src/msgfmt.c:1356
 msgid "empty `msgstr' entry ignored"
 msgstr "ç êåíÞ åããñáöÞ `msgstr' áãíïåßôáé"
 
 #
-#: src/msgfmt.c:552
+#: src/msgfmt.c:1357
 msgid "fuzzy `msgstr' entry ignored"
 msgstr "ç ðñïóåããéóôéêÞ åããñáöÞ `msgstr' áãíïåßôáé"
 
 #
-#: src/msgfmt.c:594
+#: src/msgfmt.c:1426
 #, c-format
-msgid "headerfield `%s' missing in header"
-msgstr "ôï ðåäßï `%s' Ý÷åé ðáñáëçöèåß áðü ôç êåöáëßäá"
+msgid "%s: warning: source file contains fuzzy translation"
+msgstr ""
+"%s: ðñïåéäïðïßçóç: ôï áñ÷åßï åéóüäïõ ðåñéÝ÷åé ðñïóåããéóôéêÝò ìåôáöñÜóåéò"
 
-#
-#: src/msgfmt.c:597
+#: src/msggrep.c:359
 #, c-format
-msgid "header field `%s' should start at beginning of line"
-msgstr "ôï ðåäßá êåöáëßäáò `%s' èá Ýðñåðå íá îåêéíÜ óôçí áñ÷Þ ôçò ãñáììÞò"
+msgid "option '%c' cannot be used before 'K' or 'T' has been specified"
+msgstr ""
 
-#
-#: src/msgfmt.c:607
-msgid "some header fields still have the initial default value"
-msgstr "ìåñéêÜ ðåäßá ôçò êåöáëßäáò Ý÷ïõí áêüìá ôçí áñ÷éêÞ åî ïñéóìïý ôéìÞ"
+#: src/msggrep.c:381
+#, no-wrap
+msgid ""
+"Extracts all messages of a translation catalog that match a given pattern\n"
+"or belong to some given source files.\n"
+msgstr ""
+
+#: src/msggrep.c:408
+#, no-wrap
+msgid ""
+"Message selection:\n"
+"  [-N SOURCEFILE]... [-M DOMAINNAME]... [-K MSGID-PATTERN] [-T MSGSTR-PATTERN]\n"
+"A message is selected if it comes from one of the specified source files,\n"
+"or if it comes from one of the specified domains,\n"
+"or if -K is given and its key (msgid or msgid_plural) matches MSGID-PATTERN,\n"
+"or if -T is given and its translation (msgstr) matches MSGSTR-PATTERN.\n"
+"\n"
+"When more than one selection criterion is specified, the set of selected\n"
+"messages is the union of the selected messages of each criterion.\n"
+"\n"
+"MSGID-PATTERN or MSGSTR-PATTERN syntax:\n"
+"  [-E | -F] [-e PATTERN | -f FILE]...\n"
+"PATTERNs are basic regular expressions by default, or extended regular\n"
+"expressions if -E is given, or fixed strings if -F is given.\n"
+"\n"
+"  -N, --location=SOURCEFILE   select messages extracted from SOURCEFILE\n"
+"  -M, --domain=DOMAINNAME     select messages belonging to domain DOMAINNAME\n"
+"  -K, --msgid                 start of patterns for the msgid\n"
+"  -T, --msgstr                start of patterns for the msgstr\n"
+"  -E, --extended-regexp       PATTERN is an extended regular expression\n"
+"  -F, --fixed-strings         PATTERN is a set of newline-separated strings\n"
+"  -e, --regexp=PATTERN        use PATTERN as a regular expression\n"
+"  -f, --file=FILE             obtain PATTERN from FILE\n"
+"  -i, --ignore-case           ignore case distinctions\n"
+msgstr ""
 
 #
-#: src/msgfmt.c:618
+#: src/msggrep.c:436
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
+"      --no-escape             do not use C escapes in output (default)\n"
+"      --escape                use C escapes in output, no extended chars\n"
+"      --force-po              write PO file even if empty\n"
+"      --indent                indented output style\n"
+"      --no-location           suppress '#: filename:line' lines\n"
+"      --add-location          preserve '#: filename:line' lines (default)\n"
+"      --strict                strict Uniforum output style\n"
+"  -w, --width=NUMBER          set output page width\n"
+"      --sort-output           generate sorted output\n"
+"      --sort-by-file          sort output by file location\n"
+msgstr ""
+"×ñÞóç: %s [ÅÐÉËÏÃÇ] def.po ref.po\n"
+"Ïé õðï÷ñåùôéêïß ðáñÜìåôñïé óôá ðåñéöñáóôéêÜ ïñßóìáôá åßíáé õðï÷ñåùôéêïß\n"
+"êáé ãéá ôá óýíôïìá ïñßóìáôá.\n"
+"  -D, --directory=ÊÁÔÁËÏÃÏÓ   ðñüóèåóå ôïí ÊÁÔÁËÏÃÏ óôç ëßóôá ãéá áíáæÞôçóç\n"
+"                                áñ÷åßùí åéóüäïõ.\n"
+"  -e, --no-escape             áðïöõãÞ ÷ñÞóçò êùäéêþí äéáöõãÞò áëÜ C óôçí Ýîïäï\n"
+"                                (åî ïñéóìïý)\n"
+"  -E, --escape                ÷ñÞóç êùäéêþí äéáöõãÞò áëÜ C óôçí Ýîïäï,\n"
+"                                ü÷é üìùò êáé åêôåôáìÝíïõò ÷áñáêôÞñåò.\n"
+"      --force-po              äçìéïõñãßá áñ÷åßïõ PO áêüìá êáé áí åßíáé Üäåéï\n"
+"  -h, --help                  åìöÜíéóç áõôÞò ôçò âïÞèåéáò êáé Ýîïäïò\n"
+"  -i, --indent                ìïñöïðïéçìÝíç Ýîïäïò\n"
+"  -o, --output-file=ÁÑ×ÅÉÏ    ôï áñ÷åßï åîüäïõ èá åßíáé ôï ÁÑ×ÅÉÏ\n"
+"      --no-location           áðïöõãÞ åìöÜíéóçò ãñáììþí '#: filename:line'\n"
+"      --add-location          äéáôÞñçóç ãñáììþí '#: filename:line' (åî ïñéóìïý)\n"
+"      --strict                áõóôçñÞ ìïñöÞ åîüäïõ Uniforum\n"
+"  -v, --verbose               ðåñéöñáóôéêÞ åìöÜíéóç ðñïåéäïðïéÞóåùí\n"
+"  -V, --version               åìöÜíéóç ðëçñïöïñéþí Ýêäïóçò êáé Ýîïäïò\n"
+"  -w, --width=ÁÑÉÈÌÏÓ         ïñéóìüò ìåãÝèïõò ðëÜôïõò óåëßäáò åîüäïõ\n"
+
+#: src/msggrep.c:510
+msgid "write to grep subprocess failed"
+msgstr ""
+
+#: src/msginit.c:275
+msgid ""
+"You are in a language indifferent environment.  Please set\n"
+"your LANG environment variable, as described in the ABOUT-NLS\n"
+"file.  This is necessary so you can test your translations.\n"
+msgstr ""
+
+#: src/msginit.c:303
 #, c-format
-msgid "field `%s' still has initial default value"
-msgstr "ôï ðåäßï `%s' Ý÷åé áêüìá ôçí áñ÷éêÞ åî ïñéóìïý ôéìÞ"
+msgid ""
+"Output file %s already exists.\n"
+"Please specify the locale through the --locale option or\n"
+"the output .po file through the --output-file option.\n"
+msgstr ""
+
+#: src/msginit.c:326
+#, c-format
+msgid "Created %s.\n"
+msgstr ""
+
+#: src/msginit.c:348
+#, no-wrap
+msgid ""
+"Creates a new PO file, initializing the meta information with values from the\n"
+"user's environment.\n"
+msgstr ""
+
+#: src/msginit.c:359
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  -i, --input=INPUTFILE       input POT file\n"
+"If no input file is given, the current directory is searched for the POT file.\n"
+"If it is -, standard input is read.\n"
+msgstr ""
+
+#: src/msginit.c:367
+#, no-wrap
+msgid ""
+"Output file location:\n"
+"  -o, --output-file=FILE      write output to specified PO file\n"
+"If no output file is given, it depends on the --locale option or the user's\n"
+"locale setting.  If it is -, the results are written to standard output.\n"
+msgstr ""
+
+#: src/msginit.c:375
+#, no-wrap
+msgid ""
+"Output details:\n"
+"  -l, --locale=LL_CC          set target locale\n"
+"      --no-translator         assume the PO file is automatically generated\n"
+"  -w, --width=NUMBER          set output page width\n"
+msgstr ""
+
+#: src/msginit.c:426
+msgid ""
+"Found more than one .pot file.\n"
+"Please specify the input .pot file through the --input option.\n"
+msgstr ""
+
+#: src/msginit.c:434 src/msginit.c:439
+msgid "error reading current directory"
+msgstr ""
+
+#: src/msginit.c:447
+msgid ""
+"Found no .pot file in the current directory.\n"
+"Please specify the input .pot file through the --input option.\n"
+msgstr ""
+
+#: src/msginit.c:887 src/msginit.c:932 src/msginit.c:1070 src/msginit.c:1137
+#: src/read-java.c:80
+msgid "fdopen() failed"
+msgstr ""
+
+#: src/msginit.c:892 src/msginit.c:937 src/msginit.c:1075
+#, c-format
+msgid "%s subprocess I/O error"
+msgstr ""
+
+#: src/msginit.c:901 src/msginit.c:946 src/msginit.c:1084 src/msginit.c:1151
+#: src/read-java.c:90
+#, c-format
+msgid "%s subprocess failed with exit code %d"
+msgstr ""
+
+#: src/msginit.c:1060
+msgid ""
+"The new message catalog should contain your email address, so that users "
+"can\n"
+"give you feedback about the translations, and so that maintainers can "
+"contact\n"
+"you in case of unexpected technical problems.\n"
+msgstr ""
+
+#. TRANSLATORS: "English" needs to be replaced by your language.
+#. For example in it.po write "Traduzioni italiani ...",
+#. *not* "Traduzioni inglesi ...".
+#: src/msginit.c:1440
+#, c-format
+msgid "English translations for %s package"
+msgstr ""
+
+#: src/msgl-cat.c:173 src/msgl-charset.c:86 src/msgl-iconv.c:299
+#, c-format
+msgid "present charset \"%s\" is not a portable encoding name"
+msgstr ""
+
+#: src/msgl-cat.c:181 src/msgl-iconv.c:307
+#, c-format
+msgid "two different charsets \"%s\" and \"%s\" in input file"
+msgstr ""
+
+#: src/msgl-cat.c:194
+#, c-format
+msgid ""
+"input file `%s' doesn't contain a header entry with a charset specification"
+msgstr ""
+
+#: src/msgl-cat.c:198
+#, c-format
+msgid ""
+"domain \"%s\" in input file `%s' doesn't contain a header entry with a "
+"charset specification"
+msgstr ""
+
+#: src/msgl-cat.c:359 src/msgl-iconv.c:382
+#, c-format
+msgid "target charset \"%s\" is not a portable encoding name."
+msgstr ""
+
+#: src/msgl-cat.c:409 src/msgl-cat.c:415 src/msgl-charset.c:91
+#: src/msgl-charset.c:126 src/write-po.c:723 src/write-po.c:817
+msgid "warning: "
+msgstr ""
+
+#: src/msgl-cat.c:410
+msgid ""
+"Input files contain messages in different encodings, UTF-8 among others.\n"
+"Converting the output to UTF-8.\n"
+msgstr ""
+
+#: src/msgl-cat.c:416
+#, c-format
+msgid ""
+"Input files contain messages in different encodings, %s and %s among "
+"others.\n"
+"Converting the output to UTF-8.\n"
+"To select a different output encoding, use the --to-code option.\n"
+msgstr ""
+
+#: src/msgl-charset.c:92
+#, c-format
+msgid ""
+"Locale charset \"%s\" is different from\n"
+"input file charset \"%s\".\n"
+"Output of '%s' might be incorrect.\n"
+"Possible workarounds are:\n"
+msgstr ""
 
-#
-#: src/msgfmt.c:708
+#: src/msgl-charset.c:99
 #, c-format
-msgid "%s: warning: source file contains fuzzy translation"
+msgid "- Set LC_ALL to a locale with encoding %s.\n"
 msgstr ""
-"%s: ðñïåéäïðïßçóç: ôï áñ÷åßï åéóüäïõ ðåñéÝ÷åé ðñïóåããéóôéêÝò ìåôáöñÜóåéò"
-
-#
-#: src/msgfmt.c:930
-#, fuzzy
-msgid "`msgid' and `msgid_plural' entries do not both begin with '\\n'"
-msgstr "Ïé åããñáöÝò `msgid' êáé `msgstr' äåí îåêéíïýí êáé ïé äýï ìå '\\n'"
-
-#
-#: src/msgfmt.c:938
-#, fuzzy, c-format
-msgid "`msgid' and `msgstr[%u]' entries do not both begin with '\\n'"
-msgstr "Ïé åããñáöÝò `msgid' êáé `msgstr' äåí îåêéíïýí êáé ïé äýï ìå '\\n'"
 
-#
-#: src/msgfmt.c:948
-msgid "`msgid' and `msgstr' entries do not both begin with '\\n'"
-msgstr "Ïé åããñáöÝò `msgid' êáé `msgstr' äåí îåêéíïýí êáé ïé äýï ìå '\\n'"
+#: src/msgl-charset.c:104
+#, c-format
+msgid ""
+"- Convert the translation catalog to %s using 'msgconv',\n"
+"  then apply '%s',\n"
+"  then convert back to %s using 'msgconv'.\n"
+msgstr ""
 
-#
-#: src/msgfmt.c:963
-#, fuzzy
-msgid "`msgid' and `msgid_plural' entries do not both end with '\\n'"
-msgstr "Ïé åããñáöÝò `msgid' êáé `msgstr' äåí ôåëåéþíïõí êáé ïé äýï ìå '\\n'"
+#: src/msgl-charset.c:113
+#, c-format
+msgid ""
+"- Set LC_ALL to a locale with encoding %s,\n"
+"  convert the translation catalog to %s using 'msgconv',\n"
+"  then apply '%s',\n"
+"  then convert back to %s using 'msgconv'.\n"
+msgstr ""
 
-#
-#: src/msgfmt.c:971
-#, fuzzy, c-format
-msgid "`msgid' and `msgstr[%u]' entries do not both end with '\\n'"
-msgstr "Ïé åããñáöÝò `msgid' êáé `msgstr' äåí ôåëåéþíïõí êáé ïé äýï ìå '\\n'"
+#: src/msgl-charset.c:127
+#, c-format
+msgid ""
+"Locale charset \"%s\" is not a portable encoding name.\n"
+"Output of '%s' might be incorrect.\n"
+"A possible workaround is to set LC_ALL=C.\n"
+msgstr ""
 
-#
-#: src/msgfmt.c:981
-msgid "`msgid' and `msgstr' entries do not both end with '\\n'"
-msgstr "Ïé åããñáöÝò `msgid' êáé `msgstr' äåí ôåëåéþíïõí êáé ïé äýï ìå '\\n'"
+#: src/msgl-iconv.c:200 src/msgl-iconv.c:254
+msgid "conversion failure"
+msgstr ""
 
-#
-#: src/msgfmt.c:997
-msgid "number of format specifications in `msgid' and `msgstr' does not match"
+#: src/msgl-iconv.c:328
+msgid "input file doesn't contain a header entry with a charset specification"
 msgstr ""
-"ï áñéèìüò ôùí áíáöïñþí óå ìïñöïðïéÞóåéò ôùí `msgid' êáé `msgstr' äå óõìðßðôåé"
 
-#
-#: src/msgfmt.c:1014
-#, fuzzy, c-format
-msgid "format specifications for argument %lu are not the same"
-msgstr "ïé ìïñöïðïéÞóåéò ãéá ôç ðáñÜìåôñï %u äåí åßíáé ßäéåò"
+#: src/msgl-iconv.c:346
+#, c-format
+msgid ""
+"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(), and iconv() does "
+"not support this conversion."
+msgstr ""
 
-#
-#: src/msgmerge.c:320
-#, fuzzy, c-format, no-wrap
+#: src/msgl-iconv.c:362
+#, c-format
 msgid ""
-"Usage: %s [OPTION] def.po ref.po\n"
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"  -C, --compendium=FILE       additional library of message translations,\n"
-"                              may be specified more than once\n"
-"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
-"  -e, --no-escape             do not use C escapes in output (default)\n"
-"  -E, --escape                use C escapes in output, no extended chars\n"
-"      --force-po              write PO file even if empty\n"
-"  -h, --help                  display this help and exit\n"
-"  -i, --indent                indented output style\n"
-"  -o, --output-file=FILE      result will be written to FILE\n"
-"      --no-location           suppress '#: filename:line' lines\n"
-"      --add-location          preserve '#: filename:line' lines (default)\n"
-"      --strict                strict Uniforum output style\n"
-"  -v, --verbose               increase verbosity level\n"
-"  -V, --version               output version information and exit\n"
-"  -w, --width=NUMBER          set output page width\n"
+"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(). This version was "
+"built without iconv()."
 msgstr ""
-"×ñÞóç: %s [ÅÐÉËÏÃÇ] def.po ref.po\n"
-"Ïé õðï÷ñåùôéêïß ðáñÜìåôñïé óôá ðåñéöñáóôéêÜ ïñßóìáôá åßíáé õðï÷ñåùôéêïß\n"
-"êáé ãéá ôá óýíôïìá ïñßóìáôá.\n"
-"  -D, --directory=ÊÁÔÁËÏÃÏÓ   ðñüóèåóå ôïí ÊÁÔÁËÏÃÏ óôç ëßóôá ãéá áíáæÞôçóç\n"
-"                                áñ÷åßùí åéóüäïõ.\n"
-"  -e, --no-escape             áðïöõãÞ ÷ñÞóçò êùäéêþí äéáöõãÞò áëÜ C óôçí Ýîïäï\n"
-"                                (åî ïñéóìïý)\n"
-"  -E, --escape                ÷ñÞóç êùäéêþí äéáöõãÞò áëÜ C óôçí Ýîïäï,\n"
-"                                ü÷é üìùò êáé åêôåôáìÝíïõò ÷áñáêôÞñåò.\n"
-"      --force-po              äçìéïõñãßá áñ÷åßïõ PO áêüìá êáé áí åßíáé Üäåéï\n"
-"  -h, --help                  åìöÜíéóç áõôÞò ôçò âïÞèåéáò êáé Ýîïäïò\n"
-"  -i, --indent                ìïñöïðïéçìÝíç Ýîïäïò\n"
-"  -o, --output-file=ÁÑ×ÅÉÏ    ôï áñ÷åßï åîüäïõ èá åßíáé ôï ÁÑ×ÅÉÏ\n"
-"      --no-location           áðïöõãÞ åìöÜíéóçò ãñáììþí '#: filename:line'\n"
-"      --add-location          äéáôÞñçóç ãñáììþí '#: filename:line' (åî ïñéóìïý)\n"
-"      --strict                áõóôçñÞ ìïñöÞ åîüäïõ Uniforum\n"
-"  -v, --verbose               ðåñéöñáóôéêÞ åìöÜíéóç ðñïåéäïðïéÞóåùí\n"
-"  -V, --version               åìöÜíéóç ðëçñïöïñéþí Ýêäïóçò êáé Ýîïäïò\n"
-"  -w, --width=ÁÑÉÈÌÏÓ         ïñéóìüò ìåãÝèïõò ðëÜôïõò óåëßäáò åîüäïõ\n"
 
-#
 #: src/msgmerge.c:340
-#, no-wrap
+msgid "backup type"
+msgstr ""
+
+#
+#: src/msgmerge.c:377
+#, fuzzy, no-wrap
 msgid ""
-"\n"
 "Merges two Uniforum style .po files together.  The def.po file is an\n"
-"existing PO file with the old translations which will be taken over to\n"
-"the newly created file as long as they still match; comments will be\n"
-"preserved, but extract comments and file positions will be discarded.\n"
-"The ref.po file is the last created PO file (generally by xgettext), any\n"
-"translations or comments in the file will be discarded, however dot\n"
+"existing PO file with translations which will be taken over to the newly\n"
+"created file as long as they still match; comments will be preserved,\n"
+"but extracted comments and file positions will be discarded.  The ref.pot\n"
+"file is the last created PO file with up-to-date source references but\n"
+"old translations, or a PO Template file (generally created by xgettext);\n"
+"any translations or comments in the file will be discarded, however dot\n"
 "comments and file positions will be preserved.  Where an exact match\n"
-"cannot be found, fuzzy matching is used to produce better results.  The\n"
-"results are written to stdout unless an output file is specified.\n"
+"cannot be found, fuzzy matching is used to produce better results.\n"
 msgstr ""
 "\n"
 "ÓõíÝíùóç äýï áñ÷åßùí .po ìïñöÞò Uniforum. Ôï áñ÷åßï def.po åßíáé ôï\n"
@@ -695,8 +1698,66 @@ msgstr ""
 "Ôá áðïôåëÝóìáôá ãñÜöïíôáé óôçí êáíïíéêÞ Ýîïäï åêôüò êáé áí ïñßæåôáé\n"
 "êÜðïéï áñ÷åßï åîüäïõ.\n"
 
+#: src/msgmerge.c:395
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  def.po                      translations referring to old sources\n"
+"  ref.pot                     references to new sources\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"  -C, --compendium=FILE       additional library of message translations,\n"
+"                              may be specified more than once\n"
+msgstr ""
+
+#: src/msgmerge.c:405
+#, no-wrap
+msgid ""
+"Operation mode:\n"
+"  -U, --update                update def.po,\n"
+"                              do nothing if def.po already up to date\n"
+msgstr ""
+
+#: src/msgmerge.c:420
+#, no-wrap
+msgid ""
+"Output file location in update mode:\n"
+"The result is written back to def.po.\n"
+"      --backup=CONTROL        make a backup of def.po\n"
+"      --suffix=SUFFIX         override the usual backup suffix\n"
+"The version control method may be selected via the --backup option or through\n"
+"the VERSION_CONTROL environment variable.  Here are the values:\n"
+"  none, off       never make backups (even if --backup is given)\n"
+"  numbered, t     make numbered backups\n"
+"  existing, nil   numbered if numbered backups exist, simple otherwise\n"
+"  simple, never   always make simple backups\n"
+"The backup suffix is `~', unless set with --suffix or the SIMPLE_BACKUP_SUFFIX\n"
+"environment variable.\n"
+msgstr ""
+
+#: src/msgmerge.c:457
+#, no-wrap
+msgid ""
+"Informative output:\n"
+"  -h, --help                  display this help and exit\n"
+"  -V, --version               output version information and exit\n"
+"  -v, --verbose               increase verbosity level\n"
+"  -q, --quiet, --silent       suppress progress indicators\n"
+msgstr ""
+
 #
-#: src/msgmerge.c:799
+#: src/msgmerge.c:625
+#, fuzzy
+msgid "this message should define plural forms"
+msgstr "áõôü ôï ìÞíõìá ÷ñçóéìïðïåßôáé, áëëÜ äåí ïñßæåôáé óôï %s"
+
+#
+#: src/msgmerge.c:648
+#, fuzzy
+msgid "this message should not define plural forms"
+msgstr "áõôü ôï ìÞíõìá ÷ñçóéìïðïåßôáé, áëëÜ äåí ïñßæåôáé óôï %s"
+
+#
+#: src/msgmerge.c:779
 #, fuzzy, c-format
 msgid ""
 "%sRead %ld old + %ld reference, merged %ld, fuzzied %ld, missing %ld, "
@@ -706,93 +1767,128 @@ msgstr ""
 "Ý÷ïõí ðáñáëçöèåß %d, á÷ñçóéìïðïßçôá %d.\n"
 
 #
-#: src/msgmerge.c:806
+#: src/msgmerge.c:787
 msgid " done.\n"
 msgstr " Ýãéíå.\n"
 
 #
-#: src/msgunfmt.c:210
+#: src/msgunfmt.c:201
+#, fuzzy, c-format
+msgid "%s and explicit file names are mutually exclusive"
+msgstr "ôá %s êáé %s åßíáé áìïéâáßá áðïêëåéþìåíá"
+
+#: src/msgunfmt.c:267
 #, c-format, no-wrap
+msgid "Usage: %s [OPTION] [FILE]...\n"
+msgstr ""
+
+#: src/msgunfmt.c:272
+#, no-wrap
+msgid "Convert binary message catalog to Uniforum style .po file.\n"
+msgstr ""
+
+#: src/msgunfmt.c:282
+#, no-wrap
 msgid ""
-"Usage: %s [OPTION] [FILE]...\n"
-"Mandatory arguments to long options are mandatory for short options too.\n"
+"Operation mode:\n"
+"  -j, --java               Java mode: generate a Java ResourceBundle class\n"
+msgstr ""
+
+#: src/msgunfmt.c:288
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  FILE ...                 input .mo files\n"
+"If no input file is given or if it is -, standard input is read.\n"
+msgstr ""
+
+#: src/msgunfmt.c:295
+#, no-wrap
+msgid ""
+"Input file location in Java mode:\n"
+"  -r, --resource=RESOURCE  resource name\n"
+"  -l, --locale=LOCALE      locale name, either language or language_COUNTRY\n"
+"The class name is determined by appending the locale name to the resource name,\n"
+"separated with an underscore.  The class is located using the CLASSPATH.\n"
+msgstr ""
+
+#: src/msgunfmt.c:304
+#, no-wrap
+msgid ""
+"Output file location:\n"
+"  -o, --output-file=FILE   write output to specified file\n"
+"The results are written to standard output if no output file is specified\n"
+"or if it is -.\n"
+msgstr ""
+
+#
+#: src/msgunfmt.c:312
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
 "  -e, --no-escape          do not use C escapes in output (default)\n"
 "  -E, --escape             use C escapes in output, no extended chars\n"
 "      --force-po           write PO file even if empty\n"
-"  -h, --help               display this help and exit\n"
 "  -i, --indent             write indented output style\n"
-"  -o, --output-file=FILE   write output into FILE instead of standard output\n"
 "      --strict             write strict uniforum style\n"
-"  -V, --version            output version information and exit\n"
 "  -w, --width=NUMBER       set output page width\n"
+"  -s, --sort-output        generate sorted output\n"
 msgstr ""
-"×ñÞóç: %s [ÅÐÉËÏÃÇ] def.po ref.po\n"
-"Ïé õðï÷ñåùôéêïß ðáñÜìåôñïé óôá ðåñéöñáóôéêÜ ïñßóìáôá åßíáé õðï÷ñåùôéêïß\n"
-"êáé ãéá ôá óýíôïìá ïñßóìáôá.\n"
-"  -e, --no-escape          áðïöõãÞ ÷ñÞóçò êùäéêþí äéáöõãÞò áëÜ C óôçí Ýîïäï\n"
-"                           (åî ïñéóìïý)\n"
-"  -E, --escape             ÷ñÞóç êùäéêþí äéáöõãÞò áëÜ C óôçí Ýîïäï,\n"
-"                             ü÷é üìùò êáé åêôåôáìÝíïõò ÷áñáêôÞñåò.\n"
-"      --force-po           äçìéïõñãßá áñ÷åßïõ PO áêüìá êáé áí åßíáé Üäåéï\n"
+"×ñÞóç: %s [ÅÐÉËÏÃÇ] filename.mo filename.po\n"
+"Ïé õðï÷ñåùôéêïß ðáñÜìåôñïé óôá ðåñéöñáóôéêÜ ïñßóìáôá åßíáé õðï÷ñåùôéêïß êáé ãéá ôá óýíôïìá ïñßóìáôá.\n"
+"  -e, --no-escape          áðïöõãÞ ÷ñÞóçò êùäéêþí äéáöõãÞò áëÜ C óôçí Ýîïäï (åî ïñéóìïý)\n"
+"  -E, --escape             ÷ñÞóç êùäéêþí äéáöõãÞò áëÜ C óôçí Ýîïäï, ü÷é üìùò êáé åêôåôáìÝíïõò ÷áñáêôÞñåò.\n"
 "  -h, --help               åìöÜíéóç áõôÞò ôçò âïÞèåéáò êáé Ýîïäïò\n"
 "  -i, --indent             ìïñöïðïéçìÝíç Ýîïäïò\n"
-"  -o, --output-file=ÁÑ×ÅÉÏ  ôï áñ÷åßï åîüäïõ èá åßíáé ôï ÁÑ×ÅÉÏ\n"
-"      --strict             ìïñöÞ åîüäïõ ôï áõóôçñü Uniforum\n"
+"  -S, --strict             ìïñöÞ åîüäïõ ôï áõóôçñü Uniforum\n"
 "  -V, --version            åìöÜíéóç ðëçñïöïñéþí Ýêäïóçò êáé Ýîïäïò\n"
-"  -w, --width=ÁÑÉÈÌÏÓ      ïñéóìüò ìåãÝèïõò ðëÜôïõò óåëßäáò åîüäïõ\n"
 
-#
-#: src/msgunfmt.c:224
+#: src/msgunfmt.c:324
 #, no-wrap
 msgid ""
-"\n"
-"Convert binary .mo files to Uniforum style .po files.\n"
-"Both little-endian and big-endian .mo files are handled.\n"
-"If no input file is given or it is -, standard input is read.\n"
-"By default the output is written to standard output.\n"
+"Informative output:\n"
+"  -h, --help               display this help and exit\n"
+"  -V, --version            output version information and exit\n"
+"  -v, --verbose            increase verbosity level\n"
 msgstr ""
-"\n"
-"ÌåôáôñïðÞ äõáäéêþí áñ÷åßùí .mo óå Uniforum .po áñ÷åßá.\n"
-"Êáé ôá little-endian êáé ôá big-endian áñ÷åßá .mo ìðïñïýí\n"
-"íá ÷ñçóéìïðïéçèïýí. Áí ôï áñ÷åßï åéóüäïõ äßíåôáé Þ åßíáé -,\n"
-"ôüôå áíáãéãíþóêåôáé ç êáíïíéêÞ åßóïäïò. Åî ïñéóìïý, ç Ýîïäïò\n"
-"ãñÜöåôáé óôçí êáíïíéêÞ Ýîïäï.\n"
-
-#
-#: src/msgunfmt.c:261 src/msgunfmt.c:326 src/po-lex.c:216 src/xget-lex.c:243
-#, c-format
-msgid "error while reading \"%s\""
-msgstr "óöÜëìá óôçí áíÜãíùóç ôïõ \"%s\""
 
-#
-#: src/msgunfmt.c:262 src/msgunfmt.c:327
-#, c-format
-msgid "file \"%s\" truncated"
-msgstr "ôï áñ÷åßï \"%s\" ìçäåíßóôçêå êáé èá ãñáöïýí äåäïìÝíá óå áõôü"
+#: src/msguniq.c:279
+#, no-wrap
+msgid ""
+"Unifies duplicate translations in a translation catalog.\n"
+"Finds duplicate translations of the same message ID.  Such duplicates are\n"
+"invalid input for other programs like msgfmt, msgmerge or msgcat.  By\n"
+"default, duplicates are merged together.  When using the --repeated option,\n"
+"only duplicates are output, and all other messages are discarded.  Comments\n"
+"and extracted comments will be cumulated, except that if --use-first is\n"
+"specified, they will be taken from the first translation.  File positions\n"
+"will be cumulated.  When using the --unique option, duplicates are discarded.\n"
+msgstr ""
 
-#
-#: src/msgunfmt.c:293
-#, c-format
-msgid "seek \"%s\" offset %ld failed"
-msgstr "ç ðñüóâáóç óôï áñ÷åßï \"%s\", èÝóç %ld, áðÝôõ÷å"
+#: src/msguniq.c:312
+#, no-wrap
+msgid ""
+"Message selection:\n"
+"  -d, --repeated                 print only duplicates\n"
+"  -u, --unique                   print only unique messages, discard duplicates\n"
+msgstr ""
 
-#
-#: src/msgunfmt.c:332
-#, fuzzy, c-format
-msgid "file \"%s\" contains a not NUL terminated string"
-msgstr "ôï áñ÷åßï \"%s\" äåí åßíáé óôç ìïñöÞ GNU .mo"
+#: src/ngettext.c:215
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] [TEXTDOMAIN] MSGID MSGID-PLURAL COUNT\n"
+msgstr ""
 
-#
-#: src/msgunfmt.c:377
-#, c-format
-msgid "file \"%s\" is not in GNU .mo format"
-msgstr "ôï áñ÷åßï \"%s\" äåí åßíáé óôç ìïñöÞ GNU .mo"
+#: src/ngettext.c:220
+#, no-wrap
+msgid ""
+"Display native language translation of a textual message whose grammatical\n"
+"form depends on a number.\n"
+msgstr ""
 
 #
-#: src/ngettext.c:209
-#, fuzzy, c-format, no-wrap
+#: src/ngettext.c:225
+#, fuzzy, no-wrap
 msgid ""
-"Usage: %s [OPTION] [TEXTDOMAIN] MSGID MSGID-PLURAL COUNT\n"
 "  -d, --domain=TEXTDOMAIN   retrieve translated message from TEXTDOMAIN\n"
 "  -e                        enable expansion of some escape sequences\n"
 "  -E                        (ignored for compatibility)\n"
@@ -814,10 +1910,9 @@ msgstr ""
 "                            óôï MSGID áðü ôï TEXTDOMAIN\n"
 
 #
-#: src/ngettext.c:221
+#: src/ngettext.c:236
 #, fuzzy, c-format, no-wrap
 msgid ""
-"\n"
 "If the TEXTDOMAIN parameter is not given, the domain is determined from the\n"
 "environment variable TEXTDOMAIN.  If the message catalog is not found in the\n"
 "regular directory, another location can be specified with the environment\n"
@@ -833,133 +1928,215 @@ msgstr ""
 "Áíôßèåôá, ôá ìçíýìáôá ðïõ âñßóêïíôáé óôï åðéëåãìÝíï êáôÜëïãï, ìåôáöñÜæïíôáé.\n"
 "ÊáèéåñùìÝíïò êáôÜëïãïò áíáæÞôçóçò: %s\n"
 
-#: src/open-po.c:64
+#: src/open-po.c:69
 msgid "<stdin>"
 msgstr ""
 
-#: po-gram-gen.y:87
+#: src/po-charset.c:172 src/po-charset.c:240 src/po-charset.c:268
+#: src/po-charset.c:294
+#, c-format
+msgid "%s: warning: "
+msgstr ""
+
+#
+#: src/po-charset.c:173
+#, fuzzy, c-format
+msgid ""
+"Charset \"%s\" is not a portable encoding name.\n"
+"Message conversion to user's charset might not work.\n"
+msgstr ""
+"%s: ðñïåéäïðïßçóç: ôï áñ÷åßï åéóüäïõ ðåñéÝ÷åé ðñïóåããéóôéêÝò ìåôáöñÜóåéò"
+
+#: src/po-charset.c:236 src/po-charset.c:266
+msgid "Continuing anyway, expect parse errors."
+msgstr ""
+
+#: src/po-charset.c:238
+msgid "Continuing anyway."
+msgstr ""
+
+#: src/po-charset.c:241
+#, c-format
+msgid ""
+"Charset \"%s\" is not supported. %s relies on iconv(),\n"
+"and iconv() does not support \"%s\".\n"
+msgstr ""
+
+#: src/po-charset.c:250 src/po-charset.c:276
+msgid ""
+"Installing GNU libiconv and then reinstalling GNU gettext\n"
+"would fix this problem.\n"
+msgstr ""
+
+#: src/po-charset.c:255 src/po-charset.c:280
+#, c-format
+msgid "%s\n"
+msgstr ""
+
+#: src/po-charset.c:269
+#, c-format
+msgid ""
+"Charset \"%s\" is not supported. %s relies on iconv().\n"
+"This version was built without iconv().\n"
+msgstr ""
+
+#
+#: src/po-charset.c:295
+#, fuzzy
+msgid ""
+"Charset missing in header.\n"
+"Message conversion to user's charset will not work.\n"
+msgstr ""
+"%s: ðñïåéäïðïßçóç: ôï áñ÷åßï åéóüäïõ ðåñéÝ÷åé ðñïóåããéóôéêÝò ìåôáöñÜóåéò"
+
+#: po-gram-gen.y:91
 msgid "inconsistent use of #~"
 msgstr ""
 
 #
-#: po-gram-gen.y:168
+#: po-gram-gen.y:181
 #, fuzzy
 msgid "missing `msgstr[]' section"
 msgstr "ëåßðåé åíüôçôá `msgstr'"
 
 #
-#: po-gram-gen.y:176
+#: po-gram-gen.y:189
 #, fuzzy
 msgid "missing `msgid_plural' section"
 msgstr "ëåßðåé åíüôçôá `msgstr'"
 
 #
-#: po-gram-gen.y:183
+#: po-gram-gen.y:196
 msgid "missing `msgstr' section"
 msgstr "ëåßðåé åíüôçôá `msgstr'"
 
-#: po-gram-gen.y:228
+#: po-gram-gen.y:241
 msgid "first plural form has nonzero index"
 msgstr ""
 
-#: po-gram-gen.y:230
+#: po-gram-gen.y:243
 msgid "plural form has wrong index"
 msgstr ""
 
 #
-#. CAUTION: If you change this macro, you must also make identical
-#. changes to the function of the same name in src/po-lex.c
-#: src/po-lex.c:159 src/po-lex.c:198 src/po-lex.h:85 src/po-lex.h:99
-#: src/po-lex.h:115 src/po-lex.h:129
+#: src/po-lex.h:91 src/po-lex.h:106 src/po-lex.h:126 src/po-lex.h:141
+#: src/po-lex.c:135 src/po-lex.c:176
 msgid "too many errors, aborting"
 msgstr "ðÜñá ðïëëÜ óöÜëìáôá, åãêáôáëåßðù"
 
 #
-#: src/po-lex.c:274
+#: src/po-lex.c:545 src/write-po.c:331 src/write-po.c:421
+#, fuzzy
+msgid "invalid multibyte sequence"
+msgstr "ìç áðïäåêôÞ óåéñÜ ÷áñáêôÞñùí äéáöõãÞò"
+
+#
+#: src/po-lex.c:571
+#, fuzzy
+msgid "incomplete multibyte sequence at end of file"
+msgstr "ìç áðïäåêôÞ óåéñÜ ÷áñáêôÞñùí äéáöõãÞò"
+
+#
+#: src/po-lex.c:581
+#, fuzzy
+msgid "incomplete multibyte sequence at end of line"
+msgstr "ìç áðïäåêôÞ óåéñÜ ÷áñáêôÞñùí äéáöõãÞò"
+
+#: src/po-lex.c:589
+msgid "iconv failure"
+msgstr ""
+
+#
+#: src/po-lex.c:763 src/read-mo.c:70 src/read-mo.c:135 src/x-c.c:216
+#: src/x-rst.c:227 src/x-ycp.c:103
+#, c-format
+msgid "error while reading \"%s\""
+msgstr "óöÜëìá óôçí áíÜãíùóç ôïõ \"%s\""
+
+#
+#: src/po-lex.c:829
 #, c-format
 msgid "keyword \"%s\" unknown"
 msgstr "Üãíùóôç åíôïëÞ \"%s\""
 
 #
-#: src/po-lex.c:377
+#: src/po-lex.c:939
 #, fuzzy
 msgid "invalid control sequence"
 msgstr "ìç áðïäåêôÞ óåéñÜ ÷áñáêôÞñùí äéáöõãÞò"
 
 #
-#: src/po-lex.c:480
+#: src/po-lex.c:1047
 msgid "end-of-file within string"
 msgstr "ôÝëïò áñ÷åßïõ (EOF) óôï áëöáñéèìçôéêü"
 
 #
-#: src/po-lex.c:485
+#: src/po-lex.c:1053
 msgid "end-of-line within string"
 msgstr "ôÝñìá-ãñáììÞò (eol) óôï áëöáñéèìçôéêü"
 
 #
-#: src/po-lex.c:528 src/write-po.c:285 src/write-po.c:367
-#, fuzzy
-msgid "invalid multibyte sequence"
-msgstr "ìç áðïäåêôÞ óåéñÜ ÷áñáêôÞñùí äéáöõãÞò"
+#: src/read-mo.c:71 src/read-mo.c:136
+#, c-format
+msgid "file \"%s\" truncated"
+msgstr "ôï áñ÷åßï \"%s\" ìçäåíßóôçêå êáé èá ãñáöïýí äåäïìÝíá óå áõôü"
 
-#: src/po.c:302 src/po.c:374 src/po.c:409 src/po.c:439
+#
+#: src/read-mo.c:102
 #, c-format
-msgid "%s: warning: "
-msgstr ""
+msgid "seek \"%s\" offset %ld failed"
+msgstr "ç ðñüóâáóç óôï áñ÷åßï \"%s\", èÝóç %ld, áðÝôõ÷å"
 
 #
-#: src/po.c:303
+#: src/read-mo.c:141
 #, fuzzy, c-format
-msgid ""
-"Charset \"%s\" is not a portable encoding name.\n"
-"Message conversion to user's charset might not work.\n"
-msgstr ""
-"%s: ðñïåéäïðïßçóç: ôï áñ÷åßï åéóüäïõ ðåñéÝ÷åé ðñïóåããéóôéêÝò ìåôáöñÜóåéò"
+msgid "file \"%s\" contains a not NUL terminated string"
+msgstr "ôï áñ÷åßï \"%s\" äåí åßíáé óôç ìïñöÞ GNU .mo"
 
-#: src/po.c:370 src/po.c:405
-msgid "Continuing anyway, expect parse errors."
-msgstr ""
+#
+#: src/read-mo.c:186
+#, c-format
+msgid "file \"%s\" is not in GNU .mo format"
+msgstr "ôï áñ÷åßï \"%s\" äåí åßíáé óôç ìïñöÞ GNU .mo"
 
-#: src/po.c:372
-msgid "Continuing anyway."
+#: src/write-java.c:1108
+msgid "cannot find a temporary directory, try setting $TMPDIR"
 msgstr ""
 
-#: src/po.c:375
-#, c-format
-msgid ""
-"Charset \"%s\" is not supported. %s relies on iconv(),\n"
-"and iconv() does not support \"%s\".\n"
-msgstr ""
+#
+#: src/write-java.c:1118
+#, fuzzy, c-format
+msgid "cannot create a temporary directory using template \"%s\""
+msgstr "áäõíáìßá åðéóôñïöÞò óôï êáôÜëïãï \"%s\""
 
-#: src/po.c:385 src/po.c:418
-msgid ""
-"Installing GNU libiconv and then reinstalling GNU gettext\n"
-"would fix this problem.\n"
+#: src/write-java.c:1131
+#, c-format
+msgid "not a valid Java class name: %s"
 msgstr ""
 
-#: src/po.c:393 src/po.c:425
+#: src/write-java.c:1188 src/write-java.c:1201
 #, c-format
-msgid "%s\n"
+msgid "failed to create \"%s\""
 msgstr ""
 
-#: src/po.c:410
+#
+#: src/write-java.c:1209 src/write-mo.c:289 src/write-po.c:966
 #, c-format
-msgid ""
-"Charset \"%s\" is not supported. %s relies on iconv().\n"
-"This version was built without iconv().\n"
+msgid "error while writing \"%s\" file"
+msgstr "óöÜëìá óôçí åããñáöÞ ôïõ áñ÷åßïõ \"%s\""
+
+#: src/write-java.c:1223
+msgid "compilation of Java class failed, please try --verbose or set $JAVAC"
 msgstr ""
 
 #
-#: src/po.c:440
-#, fuzzy
-msgid ""
-"Charset missing in header.\n"
-"Message conversion to user's charset will not work.\n"
-msgstr ""
-"%s: ðñïåéäïðïßçóç: ôï áñ÷åßï åéóüäïõ ðåñéÝ÷åé ðñïóåããéóôéêÝò ìåôáöñÜóåéò"
+#: src/write-mo.c:277
+#, c-format
+msgid "error while opening \"%s\" for writing"
+msgstr "óöÜëìá êáôÜ ôï Üíïéãìá ôïõ áñ÷åßïõ \"%s\" ãéá åããñáöÞ"
 
 #
-#: src/write-po.c:316
+#: src/write-po.c:370
 #, c-format
 msgid ""
 "internationalized messages should not contain the `\\%c' escape sequence"
@@ -967,179 +2144,523 @@ msgstr ""
 "ôá ìçíýìáôá ðñïò ìåôÜöñáóç äåí ðñÝðåé íá ðåñéÝ÷ïõí ôï ÷áñáêôÞñá äéáöõãÞò `\\%"
 "c'"
 
+#: src/write-po.c:724 src/write-po.c:818
+#, c-format
+msgid ""
+"The following msgid contains non-ASCII characters.\n"
+"This will cause problems to translators who use a character encoding\n"
+"different from yours. Consider using a pure ASCII msgid instead.\n"
+"%s\n"
+msgstr ""
+
 #
-#: src/write-po.c:857
+#: src/write-po.c:885
 #, c-format
 msgid "cannot create output file \"%s\""
 msgstr "áäõíáìßá äçìéïõñãßáò áñ÷åßïõ åîüäïõ \"%s\""
 
 #
-#: src/write-po.c:864
+#: src/write-po.c:892
 #, no-c-format
 msgid "standard output"
 msgstr "êáíïíéêÞ Ýîïäïò"
 
 #
-#: src/write-po.c:939
-#, c-format
-msgid "error while writing \"%s\" file"
-msgstr "óöÜëìá óôçí åããñáöÞ ôïõ áñ÷åßïõ \"%s\""
-
-#
-#: src/xget-lex.c:148
-msgid "standard input"
-msgstr "êáíïíéêÞ åßóïäïò"
-
-#
-#: src/xget-lex.c:876
+#: src/x-c.c:858
 #, c-format
 msgid "%s:%d: warning: unterminated character constant"
 msgstr "%s:%d: ðñïåéäïðïßçóç: ìç ôåñìáôéóìÝíç óôáèåñÜ ÷áñáêôÞñùí"
 
 #
-#: src/xget-lex.c:898
+#: src/x-c.c:882
 #, c-format
 msgid "%s:%d: warning: unterminated string literal"
 msgstr "%s:%d: ðñïåéäïðïßçóç: ìç ôåñìáôéóìÝíï áëöáñéèìçôéêü"
 
 #
-#: src/xgettext.c:373
+#: src/x-po.c:106 src/xgettext.c:605
+msgid "this file may not contain domain directives"
+msgstr "áõôü ôï áñ÷åßï äåí ìðïñåß íá ðåñéÝ÷åé ïäçãßåò ãéá ôç ðåñéï÷Þ"
+
+#: src/x-rst.c:108
+#, c-format
+msgid "%s:%d: invalid string definition"
+msgstr ""
+
+#: src/x-rst.c:168
+#, c-format
+msgid "%s:%d: missing number after #"
+msgstr ""
+
+#: src/x-rst.c:203
+#, c-format
+msgid "%s:%d: invalid string expression"
+msgstr ""
+
+#
+#: src/xgettext.c:375
 msgid "--join-existing cannot be used when output is written to stdout"
 msgstr ""
 "ôï --join-existing äå ìðïñåß íá ÷ñçóéìïðïéçèåß üôáí ç Ýîïäïò ãñÜöåôáé óôçí "
 "êáíïíéêÞ Ýîïäï"
 
-#: src/xgettext.c:378
+#: src/xgettext.c:380
 msgid "xgettext cannot work without keywords to look for"
 msgstr ""
 
 #
-#: src/xgettext.c:484
+#: src/xgettext.c:468
 #, c-format
 msgid "warning: file `%s' extension `%s' is unknown; will try C"
 msgstr ""
 "ðñïåéäïðïßçóç: ôï áñ÷åßï `%s' ìå êáôÜëçîç `%s' åßíáé Üãíùóôï· èá äïêéìáóôåß C"
 
-#
-#: src/xgettext.c:520
-#, c-format, no-wrap
+#: src/xgettext.c:509
+#, no-wrap
+msgid "Extract translatable strings from given input files.\n"
+msgstr ""
+
+#: src/xgettext.c:514
+#, no-wrap
 msgid ""
-"Usage: %s [OPTION] INPUTFILE ...\n"
-"Extract translatable string from given input files.\n"
-"\n"
 "Mandatory arguments to long options are mandatory for short options too.\n"
-"  -a, --extract-all              extract all strings\n"
-"  -c, --add-comments[=TAG]       place comment block with TAG (or those\n"
-"                                 preceding keyword lines) in output file\n"
-"  -C, --c++                      shorthand for --language=C++\n"
-"      --debug                    more detailed formatstring recognision result\n"
+"Similarly for optional arguments.\n"
+msgstr ""
+
+#: src/xgettext.c:529
+#, no-wrap
+msgid ""
+"Output file location:\n"
 "  -d, --default-domain=NAME      use NAME.po for output (instead of messages.po)\n"
-"  -D, --directory=DIRECTORY      add DIRECTORY to list for input files search\n"
-"  -e, --no-escape                do not use C escapes in output (default)\n"
-"  -E, --escape                   use C escapes in output, no extended chars\n"
-"  -f, --files-from=FILE          get list of input files from FILE\n"
-"      --force-po                 write PO file even if empty\n"
-"      --foreign-user             omit FSF copyright in output for foreign user\n"
-"  -F, --sort-by-file             sort output by file location\n"
+"  -o, --output=FILE              write output to specified file\n"
+"  -p, --output-dir=DIR           output files will be placed in directory DIR\n"
+"If output file is -, output is written to standard output.\n"
 msgstr ""
-"×ñÞóç: %s [ÅÐÉËÏÃÇ] ÁÑ×ÅÉÏÅÉÓÏÄÏÕ ...\n"
-"ÅîáãùãÞ áëöáñéèìçôéêþí ðïõ ìðïñïýí íá ìåôáöñáóôïýí áðü äïóìÝíá áñ÷åßá åéóüäïõ.\n"
-"\n"
-"Ïé õðï÷ñåùôéêïß ðáñÜìåôñïé óôá ðåñéöñáóôéêÜ ïñßóìáôá åßíáé õðï÷ñåùôéêïß\n"
-"êáé ãéá ôá óýíôïìá ïñßóìáôá.\n"
-"  -a, --extract-all              åîáãùãÞ üëùí ôùí áëöáñéèìçôéêþí\n"
-"  -c, --add-comments[=TAG]       ôïðïèÝôçóç ôìÞìá ó÷ïëßùí ìå TAG (Þ áõôÜ ðïõ\n"
-"                                 áêïëïõèïýí ãñáììÝò ìå åíôïëÝò) óôï áñ÷åßï åîüäïõ\n"
-"  -C, --c++                      óõíôïìïãñáößá ãéá --language=C++\n"
-"      --debug                    ðåñéóóüôåñï ëåðôïìåñÞò åìöÜíéóç ìçíõìÜôùí\n"
-"  -d, --default-domain=ÏÍÏÌÁ     ÷ñÞóç ôïõ ÏÍÏÌÁ.po ãéá Ýîïäï (áíôß ôïõ messages.po)\n"
-"  -D, --directory=ÊÁÔÁËÏÃÏÓ      áëëáãÞ óôï ÊÁÔÁËÏÃÏÓ ðñéí ôçí Ýíáñîç ôçò åðåîåñãáóßáò\n"
-"  -e, --no-escape                áðïöõãÞ ÷ñÞóçò êùäéêþí äéáöõãÞò áëÜ C óôçí Ýîïäï\n"
-"                                   (åî ïñéóìïý)\n"
-"  -E, --escape                   ÷ñÞóç êùäéêþí äéáöõãÞò áëÜ C óôçí Ýîïäï, ü÷é üìùò\n"
-"                                 êáé åêôåôáìÝíïõò ÷áñáêôÞñåò.\n"
-"  -f, --files-from=ÁÑ×ÅÉÏ        ëÞøç ëßóôáò áñ÷åßùí åéóüäïõ áðü ÁÑ×ÅÉÏ\n"
-"      --force-po                 äçìéïõñãßá áñ÷åßïõ PO áêüìá êáé áí åßíáé Üäåéï\n"
-"      --foreign-user             ðáñÜëåéøç åìöÜíéóçò ðíåõìáôéêþí äéêáéùìÜôùí ôçò FSF\n"
-"                                 óôçí Ýîïäï ãéá îÝíï ÷ñÞóôç\n"
-"  -F, --sort-by-file             ôáîéíüìçóç åîüäïõ âÜóç ôçò èÝóçò áñ÷åßïõ\n"
-
-#
-#: src/xgettext.c:540
-#, fuzzy, no-wrap
+
+#: src/xgettext.c:538
+#, no-wrap
 msgid ""
-"  -h, --help                     display this help and exit\n"
-"  -i, --indent                   write the .po file using indented style\n"
+"Choice of input file language:\n"
+"  -L, --language=NAME            recognise the specified language\n"
+"                                   (C, C++, ObjectiveC, PO, Java, YCP)\n"
+"  -C, --c++                      shorthand for --language=C++\n"
+"By default the language is guessed depending on the input file name extension.\n"
+msgstr ""
+
+#: src/xgettext.c:547
+#, no-wrap
+msgid ""
+"Operation mode:\n"
 "  -j, --join-existing            join messages with existing file\n"
-"  -k, --keyword[=WORD]           additonal keyword to be looked for (without\n"
+"  -x, --exclude-file=FILE.po     entries from FILE.po are not extracted\n"
+"  -c, --add-comments[=TAG]       place comment block with TAG (or those\n"
+"                                 preceding keyword lines) in output file\n"
+msgstr ""
+
+#: src/xgettext.c:556
+#, no-wrap
+msgid ""
+"Language=C/C++ specific options:\n"
+"  -a, --extract-all              extract all strings\n"
+"  -k, --keyword[=WORD]           additional keyword to be looked for (without\n"
 "                                 WORD means not to use default keywords)\n"
-"  -L, --language=NAME            recognise the specified language (C, C++, PO),\n"
-"                                 otherwise is guessed from file extension\n"
-"  -m, --msgstr-prefix[=STRING]   use STRING or \"\" as prefix for msgstr entries\n"
-"  -M, --msgstr-suffix[=STRING]   use STRING or \"\" as suffix for msgstr entries\n"
-"      --no-location              do not write '#: filename:line' lines\n"
+"  -T, --trigraphs                understand ANSI C trigraphs for input\n"
+"      --debug                    more detailed formatstring recognition result\n"
 msgstr ""
-"  -h, --help                     åìöÜíéóç áõôÞò ôçò âïÞèåéáò êáé Ýîïäïò\n"
-"  -i, --indent                   äçìéïõñãßá .po áñ÷åßïõ ìå ìïñöïðïéçìÝíç Ýîïäï\n"
-"  -j, --join-existing            ðñüóèåóç ìçíõìÜôùí ìå ôï õðÜñ÷ïí áñ÷åßï\n"
-"  -k, --keyword[=ËÅÎÇ]           åðéðëÝïí ëåêôéêü ãéá áíáæÞôçóç (÷ùñßò ËÅÎÇ óçìáßíåé\n"
-"                                 áíáæÞôçóç ãéá åî ïñéóìïý ëåêôéêÜ).\n"
-"  -l, --string-limit=ÁÑÉÈÌÏÓ     ïñéóìüò ìåãÝèïõò áëöáñéèìçôéêïý óå ÁÑÉÈÌÏÓ áíôß ôïõ %u\n"
-"  -m, --msgstr-prefix[=ÁËÖÁÑÉÈÌÇÔÉÊÏ] ÷ñÞóç ôïõ ÁËÖÁÑÉÈÌÇÔÉÊÏ Þ \"\" ãéá ðñüèåìá\n"
-"                                 óå åããñáöÝò msgstr\n"
-"  -M, --msgstr-suffix[=ÁËÖÁÑÉÈÌÇÔÉÊÏ] ÷ñÞóç ôïõ ÁËÖÁÑÉÈÌÇÔÉÊÏ Þ \"\" ãéá êáôÜëçîç\n"
-"                                 óå åããñáöÝò msgstr\n"
-"      --no-location              íá ìçí ãñáöïýí ãñáììÝò '#: filename:line'\n"
 
 #
-#: src/xgettext.c:552
-#, no-wrap
+#: src/xgettext.c:566
+#, fuzzy, no-wrap
 msgid ""
+"Output details:\n"
+"  -e, --no-escape                do not use C escapes in output (default)\n"
+"  -E, --escape                   use C escapes in output, no extended chars\n"
+"      --force-po                 write PO file even if empty\n"
+"  -i, --indent                   write the .po file using indented style\n"
+"      --no-location              do not write '#: filename:line' lines\n"
 "  -n, --add-location             generate '#: filename:line' lines (default)\n"
-"      --omit-header              don't write header with `msgid \"\"' entry\n"
-"  -o, --output=FILE              write output to specified file\n"
-"  -p, --output-dir=DIR           output files will be placed in directory DIR\n"
-"  -s, --sort-output              generate sorted output and remove duplicates\n"
 "      --strict                   write out strict Uniforum conforming .po file\n"
-"  -T, --trigraphs                understand ANSI C trigraphs for input\n"
-"  -V, --version                  output version information and exit\n"
 "  -w, --width=NUMBER             set output page width\n"
-"  -x, --exclude-file=FILE        entries from FILE are not extracted\n"
-"\n"
-"If INPUTFILE is -, standard input is read.\n"
-msgstr ""
-"  -n, --add-location             äçìéïõñãßá ãñáììþí '#: filename:line' (åî ïñéóìïý)\n"
-"      --omit-header              íá ìç ãñáöåß êåöáëßäá ìå åããñáöÞ `msgid \"\"'\n"
-"  -o, --output=ÁÑ×ÅÉÏ            åããñáöÞ åîüäïõ óôï åðéëåãìÝíï áñ÷åßï\n"
-"  -p, --output-dir=ÊÁÔÁËÏÃÏÓ     ôá áñ÷åßá åîüäïõ èá ôïðïèåôçèïýí\n"
-"                                   óôï êáôÜëïãï ÊÁÔÁËÏÃÏÓ\n"
-"  -s, --sort-output              äçìéïõñãßá ôáîéíïìçìÝíçò åîüäïõ êáé\n"
-"                                   áðáëïéöÞ åðáíáëÞøåùí\n"
-"      --strict                   äçìéïõñãßá áñ÷åßï .po ðïõ óõìöùíïýí áðüëõôá\n"
-"                                   ìå ôï ðñüôõðï Uniforum\n"
-"  -T, --trigraphs                áðïäï÷Þ ANSI C ôñéãñáììÜôùí óôçí åßóïäï\n"
-"  -V, --version                  åìöÜíéóç ðëçñïöïñéþí Ýêäïóçò êáé Ýîïäïò\n"
-"  -x, --exclude-file=ÁÑ×ÅÉÏ      åããñáöÝò áðü ôï ÁÑ×ÅÉÏ äåí áöáéñïýíôáé\n"
-"\n"
-"Áí ôï ÁÑ×ÅÉÏÅÉÓÏÄÏÕ åßíáé -, ãßíåôáé áíÜãíùóç ôçò êáíïíéêÞò åéóüäïõ.\n"
+"  -s, --sort-output              generate sorted output\n"
+"  -F, --sort-by-file             sort output by file location\n"
+"      --omit-header              don't write header with `msgid \"\"' entry\n"
+"      --foreign-user             omit FSF copyright in output for foreign user\n"
+"  -m, --msgstr-prefix[=STRING]   use STRING or \"\" as prefix for msgstr entries\n"
+"  -M, --msgstr-suffix[=STRING]   use STRING or \"\" as suffix for msgstr entries\n"
+msgstr ""
+"×ñÞóç: %s [ÅÐÉËÏÃÇ] def.po ref.po\n"
+"Ïé õðï÷ñåùôéêïß ðáñÜìåôñïé óôá ðåñéöñáóôéêÜ ïñßóìáôá åßíáé õðï÷ñåùôéêïß\n"
+"êáé ãéá ôá óýíôïìá ïñßóìáôá.\n"
+"  -D, --directory=ÊÁÔÁËÏÃÏÓ   ðñüóèåóå ôïí ÊÁÔÁËÏÃÏ óôç ëßóôá ãéá áíáæÞôçóç\n"
+"                                áñ÷åßùí åéóüäïõ.\n"
+"  -e, --no-escape             áðïöõãÞ ÷ñÞóçò êùäéêþí äéáöõãÞò áëÜ C óôçí Ýîïäï\n"
+"                                (åî ïñéóìïý)\n"
+"  -E, --escape                ÷ñÞóç êùäéêþí äéáöõãÞò áëÜ C óôçí Ýîïäï,\n"
+"                                ü÷é üìùò êáé åêôåôáìÝíïõò ÷áñáêôÞñåò.\n"
+"      --force-po              äçìéïõñãßá áñ÷åßïõ PO áêüìá êáé áí åßíáé Üäåéï\n"
+"  -h, --help                  åìöÜíéóç áõôÞò ôçò âïÞèåéáò êáé Ýîïäïò\n"
+"  -i, --indent                ìïñöïðïéçìÝíç Ýîïäïò\n"
+"  -o, --output-file=ÁÑ×ÅÉÏ    ôï áñ÷åßï åîüäïõ èá åßíáé ôï ÁÑ×ÅÉÏ\n"
+"      --no-location           áðïöõãÞ åìöÜíéóçò ãñáììþí '#: filename:line'\n"
+"      --add-location          äéáôÞñçóç ãñáììþí '#: filename:line' (åî ïñéóìïý)\n"
+"      --strict                áõóôçñÞ ìïñöÞ åîüäïõ Uniforum\n"
+"  -v, --verbose               ðåñéöñáóôéêÞ åìöÜíéóç ðñïåéäïðïéÞóåùí\n"
+"  -V, --version               åìöÜíéóç ðëçñïöïñéþí Ýêäïóçò êáé Ýîïäïò\n"
+"  -w, --width=ÁÑÉÈÌÏÓ         ïñéóìüò ìåãÝèïõò ðëÜôïõò óåëßäáò åîüäïõ\n"
 
 #
-#: src/xgettext.c:914
-#, fuzzy, c-format
-msgid "%s:%d: warning: keyword nested in keyword arg"
-msgstr "%s:%d: ðñïåéäïðïßçóç: ìç ôåñìáôéóìÝíï áëöáñéèìçôéêü"
+#: src/xgettext.c:720
+msgid "standard input"
+msgstr "êáíïíéêÞ åßóïäïò"
 
-#: src/xgettext.c:924
-#, c-format
-msgid "%s:%d: warning: keyword between outer keyword and its arg"
+#: src/xgettext.c:830
+msgid ""
+"Empty msgid.  It is reserved by GNU gettext:\n"
+"gettext(\"\") returns the header entry with\n"
+"meta information, not the empty string.\n"
 msgstr ""
 
 #
-#: src/xgettext.c:1420
+#: src/xgettext.c:1099
 #, c-format
 msgid "language `%s' unknown"
 msgstr "ç ãëþóóá `%s' åßíáé Üãíùóôç"
 
+#
+#~ msgid "while creating hash table"
+#~ msgstr "êáôÜ ôç äçìéïõñãßá ôïõ hash table"
+
+#
+#, fuzzy
+#~ msgid "%s:%lu: warning: keyword nested in keyword arg"
+#~ msgstr "%s:%d: ðñïåéäïðïßçóç: ìç ôåñìáôéóìÝíï áëöáñéèìçôéêü"
+
+#
+#, fuzzy
+#~ msgid "%s:%lu: warning: keyword between outer keyword and its arg"
+#~ msgstr "%s:%d: ðñïåéäïðïßçóç: ìç ôåñìáôéóìÝíï áëöáñéèìçôéêü"
+
+#
+#~ msgid "while preparing output"
+#~ msgstr "êáèþò ðñïåôïéìáæüôáí ç Ýîïäïò"
+
+#
+#~ msgid "this message has no definition in the \"%s\" domain"
+#~ msgstr "áõôü ôï ìÞíõìá äåí Ý÷åé ïñéóìü óôç ðåñéï÷Þ \"%s\""
+
+#
+#~ msgid ""
+#~ "Usage: %s [OPTION] INPUTFILE ...\n"
+#~ "Mandatory arguments to long options are mandatory for short options too.\n"
+#~ "  -d, --default-domain=NAME      use NAME.po for output (instead of "
+#~ "messages.po)\n"
+#~ "  -D, --directory=DIRECTORY      add DIRECTORY to list for input files "
+#~ "search\n"
+#~ "  -e, --no-escape                do not use C escapes in output "
+#~ "(default)\n"
+#~ "  -E, --escape                   use C escapes in output, no extended "
+#~ "chars\n"
+#~ "  -f, --files-from=FILE          get list of input files from FILE\n"
+#~ "      --force-po                 write PO file even if empty\n"
+#~ "  -F, --sort-by-file             sort output by file location\n"
+#~ "  -h, --help                     display this help and exit\n"
+#~ msgstr ""
+#~ "×ñÞóç: %s [ÅÐÉËÏÃÇ] ÁÑ×ÅÉÏÅÉÓÏÄÏÕ ...\n"
+#~ "Ïé õðï÷ñåùôéêïß ðáñÜìåôñïé óôá ðåñéöñáóôéêÜ ïñßóìáôá åßíáé õðï÷ñåùôéêïß\n"
+#~ "êáé ãéá ôá óýíôïìá ïñßóìáôá.\n"
+#~ "  -d, --default-domain=ÏÍÏÌÁ     ÷ñÞóç ôïõ ÏÍÏÌÁ.po ãéá Ýîïäï (áíôß ôïõ "
+#~ "messages.po)\n"
+#~ "  -D, --directory=ÊÁÔÁËÏÃÏÓ      ðñïóèÞêç ôïõ ÊÁÔÁËÏÃÏÓ óôçí áíáæÞôçóç "
+#~ "áñ÷åßùí åéóüäïõ\n"
+#~ "  -e, --no-escape                áðïöõãÞ ÷ñÞóçò êùäéêþí äéáöõãÞò áëÜ C "
+#~ "óôçí Ýîïäï\n"
+#~ "                                   (åî ïñéóìïý)\n"
+#~ "  -E, --escape                   ÷ñÞóç êùäéêþí äéáöõãÞò áëÜ C óôçí Ýîïäï, "
+#~ "ü÷é üìùò\n"
+#~ "                                 êáé åêôåôáìÝíïõò ÷áñáêôÞñåò.\n"
+#~ "  -f, --files-from=ÁÑ×ÅÉÏ        ëÞøç ëßóôáò áñ÷åßùí åéóüäïõ áðü ÁÑ×ÅÉÏ\n"
+#~ "      --force-po                 äçìéïõñãßá áñ÷åßïõ PO áêüìá êáé áí åßíáé "
+#~ "Üäåéï\n"
+#~ "  -F, --sort-by-file             ôáîéíüìçóç åîüäïõ âÜóç ôçò èÝóçò "
+#~ "áñ÷åßïõ\n"
+#~ "  -h, --help                     åìöÜíéóç áõôÞò ôçò âïÞèåéáò êáé Ýîïäïò\n"
+
+#
+#~ msgid ""
+#~ "  -i, --indent                   write the .po file using indented style\n"
+#~ "      --no-location              do not write '#: filename:line' lines\n"
+#~ "  -n, --add-location             generate '#: filename:line' lines "
+#~ "(default)\n"
+#~ "      --omit-header              don't write header with `msgid \"\"' "
+#~ "entry\n"
+#~ "  -o, --output=FILE              write output to specified file\n"
+#~ "  -p, --output-dir=DIR           output files will be placed in directory "
+#~ "DIR\n"
+#~ "  -s, --sort-output              generate sorted output and remove "
+#~ "duplicates\n"
+#~ "      --strict                   write out strict Uniforum conforming .po "
+#~ "file\n"
+#~ "  -T, --trigraphs                understand ANSI C trigraphs for input\n"
+#~ "  -u, --unique                   shorthand for --less-than=2, requests\n"
+#~ "                                 that only unique messages be printed\n"
+#~ msgstr ""
+#~ "  -i, --indent                   äçìéïõñãßá .po áñ÷åßïõ ìå ìïñöïðïéçìÝíç "
+#~ "Ýîïäï\n"
+#~ "      --no-location              áðïöõãÞ åìöÜíéóçò ãñáììþí '#: filename:"
+#~ "line'\n"
+#~ "  -n, --add-location             äçìéïõñãßá ãñáììþí '#: filename:"
+#~ "line' (åî ïñéóìïý)\n"
+#~ "      --omit-header              íá ìç ãñáöôåß êåöáëßäá ìå åããñáöÞ `msgid "
+#~ "\"\"'\n"
+#~ "  -o, --output=ÁÑ×ÅÉÏ            åããñáöÞ åîüäïõ óôï åðéëåãìÝíï áñ÷åßï\n"
+#~ "  -p, --output-dir=ÊÁÔÁËÏÃÏÓ     ôá áñ÷åßá åîüäïõ èá ôïðïèåôçèïýí "
+#~ "óôïêáôÜëïãï ÊÁÔÁËÏÃÏÓ\n"
+#~ "  -s, --sort-output              äçìéïõñãßá ôáîéíïìçìÝíçò åîüäïõ êáé "
+#~ "áðáëïéöÞ åðáíáëÞøåùí\n"
+#~ "      --strict                   äçìéïõñãßá áñ÷åßï .po ðïõ óõìöùíïýí "
+#~ "áðüëõôá ìå ôï ðñüôõðï Uniforum\n"
+#~ "  -T, --trigraphs                áðïäï÷Þ ANSI C ôñéãñáììÜôùí óôçí åßóïäï\n"
+#~ "  -u, --unique                   óõíôïìïãñáößá ôïõ --less-than=2, áßôçóç "
+#~ "ãéá\n"
+#~ "                                 åìöÜíéóç ìüíï ôùí ìïíáäéêþí ìçíõìÜôùí\n"
+
+#
+#~ msgid ""
+#~ "Usage: %s [OPTION] filename.po ...\n"
+#~ "Generate binary message catalog from textual translation description.\n"
+#~ "\n"
+#~ "Mandatory arguments to long options are mandatory for short options too.\n"
+#~ "  -a, --alignment=NUMBER      align strings to NUMBER bytes (default: %"
+#~ "d)\n"
+#~ "  -c, --check                 perform language dependent checks on "
+#~ "strings\n"
+#~ "  -D, --directory=DIRECTORY   add DIRECTORY to list for input files "
+#~ "search\n"
+#~ "  -f, --use-fuzzy             use fuzzy entries in output\n"
+#~ "  -h, --help                  display this help and exit\n"
+#~ "      --no-hash               binary file will not include the hash "
+#~ "table\n"
+#~ "  -o, --output-file=FILE      specify output file name as FILE\n"
+#~ "      --statistics            print statistics about translations\n"
+#~ "      --strict                enable strict Uniforum mode\n"
+#~ "  -v, --verbose               list input file anomalies\n"
+#~ "  -V, --version               output version information and exit\n"
+#~ "\n"
+#~ "Giving the -v option more than once increases the verbosity level.\n"
+#~ "\n"
+#~ "If input file is -, standard input is read.  If output file is -,\n"
+#~ "output is written to standard output.\n"
+#~ msgstr ""
+#~ "×ñÞóç: %s [ÅÐÉËÏÃÇ] filename.po ...\n"
+#~ "Äçìéïõñãßá äõáäéêïý êáôáëüãïõ ìçíõìÜôùí áðü ëåêôéêÞ ìåôÜöñáóç "
+#~ "ðåñéãñáöþí.\n"
+#~ "\n"
+#~ "Ïé õðï÷ñåùôéêïß ðáñÜìåôñïé óôá ðåñéöñáóôéêÜ ïñßóìáôá åßíáé õðï÷ñåùôéêïß\n"
+#~ "êáé ãéá ôá óýíôïìá ïñßóìáôá.\n"
+#~ "  -a, --alignment=ÁÑÉÈÌÏÓ  óôïß÷çóç áëöáñéèìçôéêþí óå ÁÑÉÈÌÏÓ áðü bytes\n"
+#~ "                           (åî ïñéóìïý ôéìÞ: %d)\n"
+#~ "  -c, --check              åêôÝëåóç åëÝã÷ùí åîáñôçìÝíùí áðü ôç ãëþóóá\n"
+#~ "                           óôá áëöáñéèìçôéêÜ\n"
+#~ "  -D, --directory=ÊÁÔÁËÏÃÏÓ  ðñüóèåóå ôïí ÊÁÔÁËÏÃÏ óôç ëßóôá ãéá "
+#~ "áíáæÞôçóç\n"
+#~ "                           áñ÷åßùí åéóüäïõ.\n"
+#~ "  -f, --use-fuzzy          ÷ñÞóç ðñïóåããéóôéêþí åããñáöþí óôçí Ýîïäï\n"
+#~ "  -h, --help               åìöÜíéóç áõôÞò ôçò âïÞèåéáò êáé Ýîïäïò\n"
+#~ "      --no-hash            äõáäéêÜ áñ÷åßá äåí óõìðåñéëáìâÜíïíôáé óôï\n"
+#~ "                             hash table\n"
+#~ "  -o, --output-file=ÁÑ×ÅÉÏ êáèïñéóìüò ôïõ ÁÑ×ÅÉÏ óáí áñ÷åßï åîüäïõ\n"
+#~ "      --statistics         åìöÜíéóç óôáôéóôéêþí ãéá ôéò ìåôáöñÜóåéò\n"
+#~ "      --strict             åíåñãïðïßçóç êáôÜóôáóçò áõóôçñïý Uniforum\n"
+#~ "  -v, --verbose            åìöÜíéóç óöáëìÜôùí áñ÷åßïõ åéóüäïõ\n"
+#~ "  -V, --version            åìöÜíéóç ðëçñïöïñéþí Ýêäïóçò êáé Ýîïäïò\n"
+#~ "\n"
+#~ "Äßíïíôáò ôçí ðáñÜìåôñï -v ðåñéóóüôåñåò áðü ìéá öïñÝò, áõîÜíåé ôï âáèìü\n"
+#~ "ðåñéöñáóôéêüôçôáò ôùí ìçíõìÜôùí\n"
+#~ "\n"
+#~ "Áí ôï áñ÷åßï åéóüäïõ åßíáé ôï -, ãßíåôáé áíÜãíùóç ôçò êáíïíéêÞò åéóüäïõ.\n"
+#~ "Áí ôï áñ÷åßï åîüäïõ åßíáé -, ôüôå ç Ýîïäïò ãñÜöåôáé óôçí êáíïíéêÞ Ýîïäï.\n"
+
+#
+#~ msgid ""
+#~ "Usage: %s [OPTION] [FILE]...\n"
+#~ "Mandatory arguments to long options are mandatory for short options too.\n"
+#~ "  -e, --no-escape          do not use C escapes in output (default)\n"
+#~ "  -E, --escape             use C escapes in output, no extended chars\n"
+#~ "      --force-po           write PO file even if empty\n"
+#~ "  -h, --help               display this help and exit\n"
+#~ "  -i, --indent             write indented output style\n"
+#~ "  -o, --output-file=FILE   write output into FILE instead of standard "
+#~ "output\n"
+#~ "      --strict             write strict uniforum style\n"
+#~ "  -V, --version            output version information and exit\n"
+#~ "  -w, --width=NUMBER       set output page width\n"
+#~ msgstr ""
+#~ "×ñÞóç: %s [ÅÐÉËÏÃÇ] def.po ref.po\n"
+#~ "Ïé õðï÷ñåùôéêïß ðáñÜìåôñïé óôá ðåñéöñáóôéêÜ ïñßóìáôá åßíáé õðï÷ñåùôéêïß\n"
+#~ "êáé ãéá ôá óýíôïìá ïñßóìáôá.\n"
+#~ "  -e, --no-escape          áðïöõãÞ ÷ñÞóçò êùäéêþí äéáöõãÞò áëÜ C óôçí "
+#~ "Ýîïäï\n"
+#~ "                           (åî ïñéóìïý)\n"
+#~ "  -E, --escape             ÷ñÞóç êùäéêþí äéáöõãÞò áëÜ C óôçí Ýîïäï,\n"
+#~ "                             ü÷é üìùò êáé åêôåôáìÝíïõò ÷áñáêôÞñåò.\n"
+#~ "      --force-po           äçìéïõñãßá áñ÷åßïõ PO áêüìá êáé áí åßíáé "
+#~ "Üäåéï\n"
+#~ "  -h, --help               åìöÜíéóç áõôÞò ôçò âïÞèåéáò êáé Ýîïäïò\n"
+#~ "  -i, --indent             ìïñöïðïéçìÝíç Ýîïäïò\n"
+#~ "  -o, --output-file=ÁÑ×ÅÉÏ  ôï áñ÷åßï åîüäïõ èá åßíáé ôï ÁÑ×ÅÉÏ\n"
+#~ "      --strict             ìïñöÞ åîüäïõ ôï áõóôçñü Uniforum\n"
+#~ "  -V, --version            åìöÜíéóç ðëçñïöïñéþí Ýêäïóçò êáé Ýîïäïò\n"
+#~ "  -w, --width=ÁÑÉÈÌÏÓ      ïñéóìüò ìåãÝèïõò ðëÜôïõò óåëßäáò åîüäïõ\n"
+
+#
+#~ msgid ""
+#~ "\n"
+#~ "Convert binary .mo files to Uniforum style .po files.\n"
+#~ "Both little-endian and big-endian .mo files are handled.\n"
+#~ "If no input file is given or it is -, standard input is read.\n"
+#~ "By default the output is written to standard output.\n"
+#~ msgstr ""
+#~ "\n"
+#~ "ÌåôáôñïðÞ äõáäéêþí áñ÷åßùí .mo óå Uniforum .po áñ÷åßá.\n"
+#~ "Êáé ôá little-endian êáé ôá big-endian áñ÷åßá .mo ìðïñïýí\n"
+#~ "íá ÷ñçóéìïðïéçèïýí. Áí ôï áñ÷åßï åéóüäïõ äßíåôáé Þ åßíáé -,\n"
+#~ "ôüôå áíáãéãíþóêåôáé ç êáíïíéêÞ åßóïäïò. Åî ïñéóìïý, ç Ýîïäïò\n"
+#~ "ãñÜöåôáé óôçí êáíïíéêÞ Ýîïäï.\n"
+
+#
+#~ msgid ""
+#~ "Usage: %s [OPTION] INPUTFILE ...\n"
+#~ "Extract translatable string from given input files.\n"
+#~ "\n"
+#~ "Mandatory arguments to long options are mandatory for short options too.\n"
+#~ "  -a, --extract-all              extract all strings\n"
+#~ "  -c, --add-comments[=TAG]       place comment block with TAG (or those\n"
+#~ "                                 preceding keyword lines) in output file\n"
+#~ "  -C, --c++                      shorthand for --language=C++\n"
+#~ "      --debug                    more detailed formatstring recognision "
+#~ "result\n"
+#~ "  -d, --default-domain=NAME      use NAME.po for output (instead of "
+#~ "messages.po)\n"
+#~ "  -D, --directory=DIRECTORY      add DIRECTORY to list for input files "
+#~ "search\n"
+#~ "  -e, --no-escape                do not use C escapes in output "
+#~ "(default)\n"
+#~ "  -E, --escape                   use C escapes in output, no extended "
+#~ "chars\n"
+#~ "  -f, --files-from=FILE          get list of input files from FILE\n"
+#~ "      --force-po                 write PO file even if empty\n"
+#~ "      --foreign-user             omit FSF copyright in output for foreign "
+#~ "user\n"
+#~ "  -F, --sort-by-file             sort output by file location\n"
+#~ msgstr ""
+#~ "×ñÞóç: %s [ÅÐÉËÏÃÇ] ÁÑ×ÅÉÏÅÉÓÏÄÏÕ ...\n"
+#~ "ÅîáãùãÞ áëöáñéèìçôéêþí ðïõ ìðïñïýí íá ìåôáöñáóôïýí áðü äïóìÝíá áñ÷åßá "
+#~ "åéóüäïõ.\n"
+#~ "\n"
+#~ "Ïé õðï÷ñåùôéêïß ðáñÜìåôñïé óôá ðåñéöñáóôéêÜ ïñßóìáôá åßíáé õðï÷ñåùôéêïß\n"
+#~ "êáé ãéá ôá óýíôïìá ïñßóìáôá.\n"
+#~ "  -a, --extract-all              åîáãùãÞ üëùí ôùí áëöáñéèìçôéêþí\n"
+#~ "  -c, --add-comments[=TAG]       ôïðïèÝôçóç ôìÞìá ó÷ïëßùí ìå TAG (Þ áõôÜ "
+#~ "ðïõ\n"
+#~ "                                 áêïëïõèïýí ãñáììÝò ìå åíôïëÝò) óôï "
+#~ "áñ÷åßï åîüäïõ\n"
+#~ "  -C, --c++                      óõíôïìïãñáößá ãéá --language=C++\n"
+#~ "      --debug                    ðåñéóóüôåñï ëåðôïìåñÞò åìöÜíéóç "
+#~ "ìçíõìÜôùí\n"
+#~ "  -d, --default-domain=ÏÍÏÌÁ     ÷ñÞóç ôïõ ÏÍÏÌÁ.po ãéá Ýîïäï (áíôß ôïõ "
+#~ "messages.po)\n"
+#~ "  -D, --directory=ÊÁÔÁËÏÃÏÓ      áëëáãÞ óôï ÊÁÔÁËÏÃÏÓ ðñéí ôçí Ýíáñîç ôçò "
+#~ "åðåîåñãáóßáò\n"
+#~ "  -e, --no-escape                áðïöõãÞ ÷ñÞóçò êùäéêþí äéáöõãÞò áëÜ C "
+#~ "óôçí Ýîïäï\n"
+#~ "                                   (åî ïñéóìïý)\n"
+#~ "  -E, --escape                   ÷ñÞóç êùäéêþí äéáöõãÞò áëÜ C óôçí Ýîïäï, "
+#~ "ü÷é üìùò\n"
+#~ "                                 êáé åêôåôáìÝíïõò ÷áñáêôÞñåò.\n"
+#~ "  -f, --files-from=ÁÑ×ÅÉÏ        ëÞøç ëßóôáò áñ÷åßùí åéóüäïõ áðü ÁÑ×ÅÉÏ\n"
+#~ "      --force-po                 äçìéïõñãßá áñ÷åßïõ PO áêüìá êáé áí åßíáé "
+#~ "Üäåéï\n"
+#~ "      --foreign-user             ðáñÜëåéøç åìöÜíéóçò ðíåõìáôéêþí "
+#~ "äéêáéùìÜôùí ôçò FSF\n"
+#~ "                                 óôçí Ýîïäï ãéá îÝíï ÷ñÞóôç\n"
+#~ "  -F, --sort-by-file             ôáîéíüìçóç åîüäïõ âÜóç ôçò èÝóçò "
+#~ "áñ÷åßïõ\n"
+
+#
+#, fuzzy
+#~ msgid ""
+#~ "  -h, --help                     display this help and exit\n"
+#~ "  -i, --indent                   write the .po file using indented style\n"
+#~ "  -j, --join-existing            join messages with existing file\n"
+#~ "  -k, --keyword[=WORD]           additonal keyword to be looked for "
+#~ "(without\n"
+#~ "                                 WORD means not to use default keywords)\n"
+#~ "  -L, --language=NAME            recognise the specified language (C, C+"
+#~ "+, PO),\n"
+#~ "                                 otherwise is guessed from file "
+#~ "extension\n"
+#~ "  -m, --msgstr-prefix[=STRING]   use STRING or \"\" as prefix for msgstr "
+#~ "entries\n"
+#~ "  -M, --msgstr-suffix[=STRING]   use STRING or \"\" as suffix for msgstr "
+#~ "entries\n"
+#~ "      --no-location              do not write '#: filename:line' lines\n"
+#~ msgstr ""
+#~ "  -h, --help                     åìöÜíéóç áõôÞò ôçò âïÞèåéáò êáé Ýîïäïò\n"
+#~ "  -i, --indent                   äçìéïõñãßá .po áñ÷åßïõ ìå ìïñöïðïéçìÝíç "
+#~ "Ýîïäï\n"
+#~ "  -j, --join-existing            ðñüóèåóç ìçíõìÜôùí ìå ôï õðÜñ÷ïí áñ÷åßï\n"
+#~ "  -k, --keyword[=ËÅÎÇ]           åðéðëÝïí ëåêôéêü ãéá áíáæÞôçóç (÷ùñßò "
+#~ "ËÅÎÇ óçìáßíåé\n"
+#~ "                                 áíáæÞôçóç ãéá åî ïñéóìïý ëåêôéêÜ).\n"
+#~ "  -l, --string-limit=ÁÑÉÈÌÏÓ     ïñéóìüò ìåãÝèïõò áëöáñéèìçôéêïý óå "
+#~ "ÁÑÉÈÌÏÓ áíôß ôïõ %u\n"
+#~ "  -m, --msgstr-prefix[=ÁËÖÁÑÉÈÌÇÔÉÊÏ] ÷ñÞóç ôïõ ÁËÖÁÑÉÈÌÇÔÉÊÏ Þ \"\" ãéá "
+#~ "ðñüèåìá\n"
+#~ "                                 óå åããñáöÝò msgstr\n"
+#~ "  -M, --msgstr-suffix[=ÁËÖÁÑÉÈÌÇÔÉÊÏ] ÷ñÞóç ôïõ ÁËÖÁÑÉÈÌÇÔÉÊÏ Þ \"\" ãéá "
+#~ "êáôÜëçîç\n"
+#~ "                                 óå åããñáöÝò msgstr\n"
+#~ "      --no-location              íá ìçí ãñáöïýí ãñáììÝò '#: filename:"
+#~ "line'\n"
+
+#
+#~ msgid ""
+#~ "  -n, --add-location             generate '#: filename:line' lines "
+#~ "(default)\n"
+#~ "      --omit-header              don't write header with `msgid \"\"' "
+#~ "entry\n"
+#~ "  -o, --output=FILE              write output to specified file\n"
+#~ "  -p, --output-dir=DIR           output files will be placed in directory "
+#~ "DIR\n"
+#~ "  -s, --sort-output              generate sorted output and remove "
+#~ "duplicates\n"
+#~ "      --strict                   write out strict Uniforum conforming .po "
+#~ "file\n"
+#~ "  -T, --trigraphs                understand ANSI C trigraphs for input\n"
+#~ "  -V, --version                  output version information and exit\n"
+#~ "  -w, --width=NUMBER             set output page width\n"
+#~ "  -x, --exclude-file=FILE        entries from FILE are not extracted\n"
+#~ "\n"
+#~ "If INPUTFILE is -, standard input is read.\n"
+#~ msgstr ""
+#~ "  -n, --add-location             äçìéïõñãßá ãñáììþí '#: filename:"
+#~ "line' (åî ïñéóìïý)\n"
+#~ "      --omit-header              íá ìç ãñáöåß êåöáëßäá ìå åããñáöÞ `msgid "
+#~ "\"\"'\n"
+#~ "  -o, --output=ÁÑ×ÅÉÏ            åããñáöÞ åîüäïõ óôï åðéëåãìÝíï áñ÷åßï\n"
+#~ "  -p, --output-dir=ÊÁÔÁËÏÃÏÓ     ôá áñ÷åßá åîüäïõ èá ôïðïèåôçèïýí\n"
+#~ "                                   óôï êáôÜëïãï ÊÁÔÁËÏÃÏÓ\n"
+#~ "  -s, --sort-output              äçìéïõñãßá ôáîéíïìçìÝíçò åîüäïõ êáé\n"
+#~ "                                   áðáëïéöÞ åðáíáëÞøåùí\n"
+#~ "      --strict                   äçìéïõñãßá áñ÷åßï .po ðïõ óõìöùíïýí "
+#~ "áðüëõôá\n"
+#~ "                                   ìå ôï ðñüôõðï Uniforum\n"
+#~ "  -T, --trigraphs                áðïäï÷Þ ANSI C ôñéãñáììÜôùí óôçí åßóïäï\n"
+#~ "  -V, --version                  åìöÜíéóç ðëçñïöïñéþí Ýêäïóçò êáé Ýîïäïò\n"
+#~ "  -x, --exclude-file=ÁÑ×ÅÉÏ      åããñáöÝò áðü ôï ÁÑ×ÅÉÏ äåí áöáéñïýíôáé\n"
+#~ "\n"
+#~ "Áí ôï ÁÑ×ÅÉÏÅÉÓÏÄÏÕ åßíáé -, ãßíåôáé áíÜãíùóç ôçò êáíïíéêÞò åéóüäïõ.\n"
+
 #
 #, fuzzy
 #~ msgid ""
@@ -1174,33 +2695,6 @@ msgstr "
 #~ msgid "found %d errors"
 #~ msgstr "âñÝèçêáí %d óöÜëìáôá"
 
-#
-#~ msgid ""
-#~ "Usage: %s [OPTION] filename.mo filename.po\n"
-#~ "Mandatory arguments to long options are mandatory for short options too.\n"
-#~ "  -e, --no-escape          do not use C escapes in output (default)\n"
-#~ "  -E, --escape             use C escapes in output, no extended chars\n"
-#~ "  -h, --help               display this help and exit\n"
-#~ "  -i, --indent             write indented output style\n"
-#~ "  -S, --strict             write strict uniforum style\n"
-#~ "  -V, --version            output version information and exit\n"
-#~ msgstr ""
-#~ "×ñÞóç: %s [ÅÐÉËÏÃÇ] filename.mo filename.po\n"
-#~ "Ïé õðï÷ñåùôéêïß ðáñÜìåôñïé óôá ðåñéöñáóôéêÜ ïñßóìáôá åßíáé õðï÷ñåùôéêïß "
-#~ "êáé ãéá ôá óýíôïìá ïñßóìáôá.\n"
-#~ "  -e, --no-escape          áðïöõãÞ ÷ñÞóçò êùäéêþí äéáöõãÞò áëÜ C óôçí "
-#~ "Ýîïäï (åî ïñéóìïý)\n"
-#~ "  -E, --escape             ÷ñÞóç êùäéêþí äéáöõãÞò áëÜ C óôçí Ýîïäï, ü÷é "
-#~ "üìùò êáé åêôåôáìÝíïõò ÷áñáêôÞñåò.\n"
-#~ "  -h, --help               åìöÜíéóç áõôÞò ôçò âïÞèåéáò êáé Ýîïäïò\n"
-#~ "  -i, --indent             ìïñöïðïéçìÝíç Ýîïäïò\n"
-#~ "  -S, --strict             ìïñöÞ åîüäïõ ôï áõóôçñü Uniforum\n"
-#~ "  -V, --version            åìöÜíéóç ðëçñïöïñéþí Ýêäïóçò êáé Ýîïäïò\n"
-
 #
 #~ msgid "cannot change to directory \"%s\""
 #~ msgstr "áäõíáìßá áëëáãÞò óôï êáôÜëïãï \"%s\""
-
-#
-#~ msgid "cannot change back to directory \"%s\""
-#~ msgstr "áäõíáìßá åðéóôñïöÞò óôï êáôÜëïãï \"%s\""
index f0ce2904dd822bb7a400ba7f7f8296a15e6d5cc3..a59a3abaa08771aa77c676c2aa0f882d1860719d 100644 (file)
Binary files a/po/en@boldquot.gmo and b/po/en@boldquot.gmo differ
index 2d25ba2081a840d370d6ef81d2c750c7097076a8..6b8ba66d2df029bc0a4afc0327d52e1d36da9b27 100644 (file)
@@ -1,6 +1,6 @@
 # English translations for GNU gettext package.
 # Copyright (C) 2001 Free Software Foundation, Inc.
-# Bruno Haible <haible@clisp.cons.org>, 2001.
+# Automatically generated, 2001.
 #
 # All this catalog "translates" are quotation characters.
 # The msgids must be ASCII and therefore cannot contain real quotation
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: GNU gettext 0.10.36\n"
-"POT-Creation-Date: 2001-04-18 22:38+0200\n"
-"PO-Revision-Date: 2001-03-11 00:36+0100\n"
-"Last-Translator: Bruno Haible <haible@clisp.cons.org>\n"
-"Language-Team: English <en@li.org>\n"
+"Project-Id-Version: GNU gettext 0.11-pre2\n"
+"POT-Creation-Date: 2001-11-30 14:18+0100\n"
+"PO-Revision-Date: 2001-11-30 14:18+0100\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8-bit\n"
+"Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
+#: lib/argmatch.c:141
+#, c-format
+msgid "invalid argument `%s' for `%s'"
+msgstr "invalid argument ‘\e[1m%s\e[0m’ for ‘\e[1m%s\e[0m’"
+
+#: lib/argmatch.c:142
+#, c-format
+msgid "ambiguous argument `%s' for `%s'"
+msgstr "ambiguous argument ‘\e[1m%s\e[0m’ for ‘\e[1m%s\e[0m’"
+
+#: lib/argmatch.c:162
+msgid "Valid arguments are:"
+msgstr "Valid arguments are:"
+
+#: lib/copy-file.c:60 src/file-list.c:57 src/po-lex.c:732 src/read-mo.c:170
+#: src/xgettext.c:729 src/xgettext.c:742 src/xgettext.c:752
+#, c-format
+msgid "error while opening \"%s\" for reading"
+msgstr "error while opening “\e[1m%s\e[0m” for reading"
+
+#: lib/copy-file.c:67
+#, c-format
+msgid "cannot open backup file \"%s\" for writing"
+msgstr "cannot open backup file “\e[1m%s\e[0m” for writing"
+
+#: lib/copy-file.c:80
+#, c-format
+msgid "error reading \"%s\""
+msgstr "error reading “\e[1m%s\e[0m”"
+
+#: lib/copy-file.c:86 lib/copy-file.c:90
+#, c-format
+msgid "error writing \"%s\""
+msgstr "error writing “\e[1m%s\e[0m”"
+
+#: lib/copy-file.c:92
+#, c-format
+msgid "error after reading \"%s\""
+msgstr "error after reading “\e[1m%s\e[0m”"
+
 #: lib/error.c:115
 msgid "Unknown system error"
 msgstr "Unknown system error"
 
+#: lib/execute.c:170 lib/execute.c:205 lib/pipe-bidi.c:156 lib/pipe-bidi.c:191
+#: lib/pipe-in.c:167 lib/pipe-in.c:202 lib/pipe-out.c:167 lib/pipe-out.c:202
+#: lib/wait-process.c:136
+#, c-format
+msgid "%s subprocess failed"
+msgstr "%s subprocess failed"
+
 #: lib/getopt.c:691
 #, c-format
 msgid "%s: option `%s' is ambiguous\n"
@@ -63,19 +110,16 @@ msgstr "%s: option ‘\e[1m%c%s\e[0m’ doesn't allow an argument\n"
 msgid "%s: option `%s' requires an argument\n"
 msgstr "%s: option ‘\e[1m%s\e[0m’ requires an argument\n"
 
-#. --option
 #: lib/getopt.c:768
 #, c-format
 msgid "%s: unrecognized option `--%s'\n"
 msgstr "%s: unrecognized option ‘\e[1m--%s\e[0m’\n"
 
-#. +option or -option
 #: lib/getopt.c:772
 #, c-format
 msgid "%s: unrecognized option `%c%s'\n"
 msgstr "%s: unrecognized option ‘\e[1m%c%s\e[0m’\n"
 
-#. 1003.2 specifies the format of this message.
 #: lib/getopt.c:798
 #, c-format
 msgid "%s: illegal option -- %c\n"
@@ -86,7 +130,6 @@ msgstr "%s: illegal option -- %c\n"
 msgid "%s: invalid option -- %c\n"
 msgstr "%s: invalid option -- %c\n"
 
-#. 1003.2 specifies the format of this message.
 #: lib/getopt.c:831 lib/getopt.c:961
 #, c-format
 msgid "%s: option requires an argument -- %c\n"
@@ -102,13 +145,127 @@ msgstr "%s: option ‘\e[1m-W %s\e[0m’ is ambiguous\n"
 msgid "%s: option `-W %s' doesn't allow an argument\n"
 msgstr "%s: option ‘\e[1m-W %s\e[0m’ doesn't allow an argument\n"
 
-#: lib/obstack.c:474 lib/xmalloc.c:86 src/po.c:308 src/po.c:381 src/po.c:389
-#: src/po.c:395 src/po.c:415 src/po.c:422 src/po.c:427 src/po.c:444
+#: lib/javacomp.c:465
+msgid "Java compiler not found, try installing gcj or set $JAVAC"
+msgstr "Java compiler not found, try installing gcj or set $JAVAC"
+
+#: lib/javaexec.c:404
+msgid "Java virtual machine not found, try installing gij or set $JAVA"
+msgstr "Java virtual machine not found, try installing gij or set $JAVA"
+
+#: lib/obstack.c:474 lib/xerror.c:75 lib/xmalloc.c:56
 msgid "memory exhausted"
 msgstr "memory exhausted"
 
-#: src/gettext.c:140 src/msgcmp.c:140 src/msgcomm.c:279 src/msgfmt.c:270
-#: src/msgmerge.c:255 src/msgunfmt.c:170 src/ngettext.c:120 src/xgettext.c:388
+#: lib/pipe-bidi.c:119 lib/pipe-bidi.c:121 lib/pipe-in.c:136
+#: lib/pipe-out.c:136
+msgid "cannot create pipe"
+msgstr "cannot create pipe"
+
+#: lib/wait-process.c:117
+#, c-format
+msgid "%s subprocess"
+msgstr "%s subprocess"
+
+#: lib/wait-process.c:129
+#, c-format
+msgid "%s subprocess got fatal signal"
+msgstr "%s subprocess got fatal signal"
+
+#: src/format-c.c:578 src/format-python.c:463
+msgid "number of format specifications in 'msgid' and 'msgstr' does not match"
+msgstr ""
+"number of format specifications in ‘\e[1mmsgid\e[0m’ and ‘\e[1mmsgstr\e[0m’ does not "
+"match"
+
+#: src/format-c.c:588 src/format-python.c:473
+#, c-format
+msgid ""
+"format specifications in 'msgid' and 'msgstr' for argument %u are not the "
+"same"
+msgstr ""
+"format specifications in ‘\e[1mmsgid\e[0m’ and ‘\e[1mmsgstr\e[0m’ for argument %u "
+"are not the same"
+
+#: src/format-java.c:652 src/format-pascal.c:396
+#, c-format
+msgid "a format specification for argument {%u} doesn't exist in 'msgid'"
+msgstr ""
+"a format specification for argument {%u} doesn't exist in ‘\e[1mmsgid\e[0m’"
+
+#: src/format-java.c:662 src/format-pascal.c:406
+#, c-format
+msgid "a format specification for argument {%u} doesn't exist in 'msgstr'"
+msgstr ""
+"a format specification for argument {%u} doesn't exist in ‘\e[1mmsgstr\e[0m’"
+
+#: src/format-java.c:676 src/format-pascal.c:420
+#, c-format
+msgid ""
+"format specifications in 'msgid' and 'msgstr' for argument {%u} are not the "
+"same"
+msgstr ""
+"format specifications in ‘\e[1mmsgid\e[0m’ and ‘\e[1mmsgstr\e[0m’ for argument {%u} "
+"are not the same"
+
+#: src/format-lisp.c:3371
+msgid "format specifications in 'msgid' and 'msgstr' are not equivalent"
+msgstr ""
+"format specifications in ‘\e[1mmsgid\e[0m’ and ‘\e[1mmsgstr\e[0m’ are not equivalent"
+
+#: src/format-python.c:391
+msgid ""
+"format specifications in 'msgid' expect a mapping, those in 'msgstr' expect "
+"a tuple"
+msgstr ""
+"format specifications in ‘\e[1mmsgid\e[0m’ expect a mapping, those in ‘\e[1mmsgstr\e"
+"[0m’ expect a tuple"
+
+#: src/format-python.c:399
+msgid ""
+"format specifications in 'msgid' expect a tuple, those in 'msgstr' expect a "
+"mapping"
+msgstr ""
+"format specifications in ‘\e[1mmsgid\e[0m’ expect a tuple, those in ‘\e[1mmsgstr\e"
+"[0m’ expect a mapping"
+
+#: src/format-python.c:422
+#, c-format
+msgid "a format specification for argument '%s' doesn't exist in 'msgid'"
+msgstr ""
+"a format specification for argument ‘\e[1m%s\e[0m’ doesn't exist in ‘\e[1mmsgid\e[0m’"
+
+#: src/format-python.c:432
+#, c-format
+msgid "a format specification for argument '%s' doesn't exist in 'msgstr'"
+msgstr ""
+"a format specification for argument ‘\e[1m%s\e[0m’ doesn't exist in ‘\e[1mmsgstr\e"
+"[0m’"
+
+#: src/format-python.c:446
+#, c-format
+msgid ""
+"format specifications in 'msgid' and 'msgstr' for argument '%s' are not the "
+"same"
+msgstr ""
+"format specifications in ‘\e[1mmsgid\e[0m’ and ‘\e[1mmsgstr\e[0m’ for argument ‘\e[1m%s\e"
+"[0m’ are not the same"
+
+#: src/format-ycp.c:137
+#, c-format
+msgid "a format specification for argument %u doesn't exist in 'msgstr'"
+msgstr "a format specification for argument %u doesn't exist in ‘\e[1mmsgstr\e[0m’"
+
+#: src/format-ycp.c:138
+#, c-format
+msgid "a format specification for argument %u doesn't exist in 'msgid'"
+msgstr "a format specification for argument %u doesn't exist in ‘\e[1mmsgid\e[0m’"
+
+#: src/gettext.c:146 src/hostname.c:168 src/msgattrib.c:264 src/msgcat.c:229
+#: src/msgcmp.c:134 src/msgcomm.c:232 src/msgconv.c:182 src/msgen.c:171
+#: src/msgexec.c:240 src/msgfmt.c:333 src/msggrep.c:276 src/msginit.c:247
+#: src/msgmerge.c:252 src/msgunfmt.c:182 src/msguniq.c:207 src/ngettext.c:126
+#: src/xgettext.c:352
 #, c-format, no-wrap
 msgid ""
 "Copyright (C) %s Free Software Foundation, Inc.\n"
@@ -119,30 +276,49 @@ msgstr ""
 "This is free software; see the source for copying conditions.  There is NO\n"
 "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
 
-#: src/gettext.c:145 src/msgcmp.c:145 src/msgcomm.c:284 src/msgfmt.c:275
-#: src/msgmerge.c:260 src/msgunfmt.c:175 src/ngettext.c:125 src/xgettext.c:393
+#: src/gettext.c:151 src/hostname.c:173 src/msgattrib.c:269 src/msgcat.c:234
+#: src/msgcmp.c:139 src/msgcomm.c:237 src/msgconv.c:187 src/msgen.c:176
+#: src/msgexec.c:245 src/msgfmt.c:338 src/msggrep.c:281 src/msginit.c:252
+#: src/msgmerge.c:257 src/msgunfmt.c:187 src/msguniq.c:212 src/ngettext.c:131
+#: src/xgettext.c:357
 #, c-format
 msgid "Written by %s.\n"
 msgstr "Written by %s.\n"
 
-#: src/gettext.c:163 src/ngettext.c:137
+#: src/gettext.c:169 src/hostname.c:183 src/msginit.c:262 src/ngettext.c:143
 msgid "too many arguments"
 msgstr "too many arguments"
 
-#: src/gettext.c:173 src/ngettext.c:149
+#: src/gettext.c:179 src/ngettext.c:155
 msgid "missing arguments"
 msgstr "missing arguments"
 
-#: src/gettext.c:245 src/msgcmp.c:177 src/msgcomm.c:377 src/msgfmt.c:387
-#: src/msgmerge.c:315 src/msgunfmt.c:205 src/ngettext.c:204 src/xgettext.c:515
+#: src/gettext.c:251 src/hostname.c:197 src/msgattrib.c:322 src/msgcat.c:290
+#: src/msgcmp.c:171 src/msgcomm.c:306 src/msgconv.c:241 src/msgen.c:227
+#: src/msgexec.c:338 src/msgfmt.c:479 src/msggrep.c:371 src/msginit.c:338
+#: src/msgmerge.c:367 src/msgunfmt.c:262 src/msguniq.c:269 src/ngettext.c:210
+#: src/xgettext.c:499
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "Try ‘\e[1m%s --help\e[0m’ for more information.\n"
 
-#: src/gettext.c:250
+#: src/gettext.c:256
 #, c-format, no-wrap
 msgid ""
-"Usage: %s [OPTION] [[[TEXTDOMAIN] MSGID] | [-s [MSGID]...]]\n"
+"Usage: %s [OPTION] [[TEXTDOMAIN] MSGID]\n"
+"or:    %s [OPTION] -s [MSGID]...\n"
+msgstr ""
+"Usage: %s [OPTION] [[TEXTDOMAIN] MSGID]\n"
+"or:    %s [OPTION] -s [MSGID]...\n"
+
+#: src/gettext.c:262
+#, no-wrap
+msgid "Display native language translation of a textual message.\n"
+msgstr "Display native language translation of a textual message.\n"
+
+#: src/gettext.c:266
+#, no-wrap
+msgid ""
 "  -d, --domain=TEXTDOMAIN   retrieve translated messages from TEXTDOMAIN\n"
 "  -e                        enable expansion of some escape sequences\n"
 "  -E                        (ignored for compatibility)\n"
@@ -152,7 +328,6 @@ msgid ""
 "  [TEXTDOMAIN] MSGID        retrieve translated message corresponding\n"
 "                            to MSGID from TEXTDOMAIN\n"
 msgstr ""
-"Usage: %s [OPTION] [[[TEXTDOMAIN] MSGID] | [-s [MSGID]...]]\n"
 "  -d, --domain=TEXTDOMAIN   retrieve translated messages from TEXTDOMAIN\n"
 "  -e                        enable expansion of some escape sequences\n"
 "  -E                        (ignored for compatibility)\n"
@@ -162,10 +337,9 @@ msgstr ""
 "  [TEXTDOMAIN] MSGID        retrieve translated message corresponding\n"
 "                            to MSGID from TEXTDOMAIN\n"
 
-#: src/gettext.c:262
+#: src/gettext.c:277
 #, c-format, no-wrap
 msgid ""
-"\n"
 "If the TEXTDOMAIN parameter is not given, the domain is determined from the\n"
 "environment variable TEXTDOMAIN.  If the message catalog is not found in the\n"
 "regular directory, another location can be specified with the environment\n"
@@ -175,7 +349,6 @@ msgid ""
 "found in the selected catalog are translated.\n"
 "Standard search directory: %s\n"
 msgstr ""
-"\n"
 "If the TEXTDOMAIN parameter is not given, the domain is determined from the\n"
 "environment variable TEXTDOMAIN.  If the message catalog is not found in the\n"
 "regular directory, another location can be specified with the environment\n"
@@ -185,176 +358,401 @@ msgstr ""
 "found in the selected catalog are translated.\n"
 "Standard search directory: %s\n"
 
-#: src/gettext.c:272 src/msgcmp.c:196 src/msgcomm.c:424 src/msgfmt.c:414
-#: src/msgmerge.c:350 src/msgunfmt.c:229 src/ngettext.c:228 src/xgettext.c:565
-msgid "Report bugs to <bug-gnu-utils@gnu.org>.\n"
-msgstr "Report bugs to <bug-gnu-utils@gnu.org>.\n"
+#: src/gettext.c:288 src/hostname.c:227 src/msgattrib.c:402 src/msgcat.c:371
+#: src/msgcmp.c:216 src/msgcomm.c:384 src/msgconv.c:305 src/msgen.c:287
+#: src/msgexec.c:410 src/msgfmt.c:563 src/msggrep.c:457 src/msginit.c:389
+#: src/msgmerge.c:465 src/msgunfmt.c:331 src/msguniq.c:343 src/ngettext.c:244
+#: src/xgettext.c:591
+msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
+msgstr "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
+
+#: src/hostname.c:202 src/msginit.c:343
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION]\n"
+msgstr "Usage: %s [OPTION]\n"
+
+#: src/hostname.c:207
+#, no-wrap
+msgid "Print the machine's hostname.\n"
+msgstr "Print the machine's hostname.\n"
+
+#: src/hostname.c:212
+#, no-wrap
+msgid ""
+"Output format:\n"
+"  -s, --short           short host name\n"
+"  -f, --fqdn, --long    long host name, includes fully qualified domain name,\n"
+"                          and aliases\n"
+"  -i, --ip-address      addresses for the hostname\n"
+msgstr ""
+"Output format:\n"
+"  -s, --short           short host name\n"
+"  -f, --fqdn, --long    long host name, includes fully qualified domain name,\n"
+"                          and aliases\n"
+"  -i, --ip-address      addresses for the hostname\n"
+
+#: src/hostname.c:221 src/msgattrib.c:396 src/msgcmp.c:210 src/msgconv.c:299
+#: src/msgen.c:281 src/msgexec.c:404 src/msggrep.c:451 src/msginit.c:383
+#, no-wrap
+msgid ""
+"Informative output:\n"
+"  -h, --help                  display this help and exit\n"
+"  -V, --version               output version information and exit\n"
+msgstr ""
+"Informative output:\n"
+"  -h, --help                  display this help and exit\n"
+"  -V, --version               output version information and exit\n"
+
+#: src/hostname.c:242 src/hostname.c:249
+msgid "could not get host name"
+msgstr "could not get host name"
+
+#: src/msgattrib.c:284 src/msgconv.c:202 src/msgexec.c:190 src/msggrep.c:296
+#: src/msginit.c:205 src/msguniq.c:227
+msgid "at most one input file allowed"
+msgstr "at most one input file allowed"
+
+#: src/msgattrib.c:290 src/msgattrib.c:294 src/msgcat.c:244 src/msgcat.c:248
+#: src/msgcomm.c:247 src/msgcomm.c:251 src/msgconv.c:208 src/msgconv.c:212
+#: src/msgen.c:198 src/msgen.c:202 src/msgexec.c:260 src/msgexec.c:264
+#: src/msgfmt.c:358 src/msggrep.c:302 src/msggrep.c:306 src/msgmerge.c:282
+#: src/msgmerge.c:303 src/msgmerge.c:307 src/msguniq.c:233 src/msguniq.c:237
+#: src/xgettext.c:367 src/xgettext.c:371
+#, c-format
+msgid "%s and %s are mutually exclusive"
+msgstr "%s and %s are mutually exclusive"
+
+#: src/msgattrib.c:327 src/msgconv.c:246 src/msggrep.c:376 src/msguniq.c:274
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] [INPUTFILE]\n"
+msgstr "Usage: %s [OPTION] [INPUTFILE]\n"
+
+#: src/msgattrib.c:332
+#, no-wrap
+msgid ""
+"Filters the messages of a translation catalog according to their attributes,\n"
+"and manipulates the attributes.\n"
+msgstr ""
+"Filters the messages of a translation catalog according to their attributes,\n"
+"and manipulates the attributes.\n"
+
+#: src/msgattrib.c:338 src/msgcat.c:313 src/msgcmp.c:191 src/msgcomm.c:328
+#: src/msgconv.c:256 src/msgen.c:245 src/msgexec.c:353 src/msgfmt.c:494
+#: src/msggrep.c:387 src/msginit.c:354 src/msgmerge.c:390 src/msgunfmt.c:277
+#: src/msguniq.c:291
+#, no-wrap
+msgid "Mandatory arguments to long options are mandatory for short options too.\n"
+msgstr "Mandatory arguments to long options are mandatory for short options too.\n"
+
+#: src/msgattrib.c:343 src/msgconv.c:261 src/msggrep.c:392 src/msguniq.c:296
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  INPUTFILE                   input PO file\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"If no input file is given or if it is -, standard input is read.\n"
+msgstr ""
+"Input file location:\n"
+"  INPUTFILE                   input PO file\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"If no input file is given or if it is -, standard input is read.\n"
+
+#: src/msgattrib.c:351 src/msgconv.c:269 src/msgen.c:258 src/msgexec.c:366
+#: src/msggrep.c:400 src/msgmerge.c:412
+#, no-wrap
+msgid ""
+"Output file location:\n"
+"  -o, --output-file=FILE      write output to specified file\n"
+"The results are written to standard output if no output file is specified\n"
+"or if it is -.\n"
+msgstr ""
+"Output file location:\n"
+"  -o, --output-file=FILE      write output to specified file\n"
+"The results are written to standard output if no output file is specified\n"
+"or if it is -.\n"
+
+#: src/msgattrib.c:359
+#, no-wrap
+msgid ""
+"Message selection:\n"
+"      --translated            keep translated, remove untranslated messages\n"
+"      --untranslated          keep untranslated, remove translated messages\n"
+"      --no-fuzzy              remove 'fuzzy' marked messages\n"
+"      --only-fuzzy            keep 'fuzzy' marked messages\n"
+"      --no-obsolete           remove obsolete #~ messages\n"
+"      --only-obsolete         keep obsolete #~ messages\n"
+msgstr ""
+"Message selection:\n"
+"      --translated            keep translated, remove untranslated messages\n"
+"      --untranslated          keep untranslated, remove translated messages\n"
+"      --no-fuzzy              remove ‘\e[1mfuzzy\e[0m’ marked messages\n"
+"      --only-fuzzy            keep ‘\e[1mfuzzy\e[0m’ marked messages\n"
+"      --no-obsolete           remove obsolete #~ messages\n"
+"      --only-obsolete         keep obsolete #~ messages\n"
+
+#: src/msgattrib.c:370
+#, no-wrap
+msgid ""
+"Attribute manipulation:\n"
+"      --set-fuzzy             set all messages 'fuzzy'\n"
+"      --clear-fuzzy           set all messages non-'fuzzy'\n"
+"      --set-obsolete          set all messages obsolete\n"
+"      --clear-obsolete        set all messages non-obsolete\n"
+"      --fuzzy                 synonym for --only-fuzzy --clear-fuzzy\n"
+"      --obsolete              synonym for --only-obsolete --clear-obsolete\n"
+msgstr ""
+"Attribute manipulation:\n"
+"      --set-fuzzy             set all messages ‘\e[1mfuzzy\e[0m’\n"
+"      --clear-fuzzy           set all messages non-'fuzzy'\n"
+"      --set-obsolete          set all messages obsolete\n"
+"      --clear-obsolete        set all messages non-obsolete\n"
+"      --fuzzy                 synonym for --only-fuzzy --clear-fuzzy\n"
+"      --obsolete              synonym for --only-obsolete --clear-obsolete\n"
+
+#: src/msgattrib.c:381
+#, no-wrap
+msgid ""
+"Output details:\n"
+"  -e, --no-escape             do not use C escapes in output (default)\n"
+"  -E, --escape                use C escapes in output, no extended chars\n"
+"      --force-po              write PO file even if empty\n"
+"  -i, --indent                write the .po file using indented style\n"
+"      --no-location           do not write '#: filename:line' lines\n"
+"  -n, --add-location          generate '#: filename:line' lines (default)\n"
+"      --strict                write out strict Uniforum conforming .po file\n"
+"  -w, --width=NUMBER          set output page width\n"
+"  -s, --sort-output           generate sorted output\n"
+"  -F, --sort-by-file          sort output by file location\n"
+msgstr ""
+"Output details:\n"
+"  -e, --no-escape             do not use C escapes in output (default)\n"
+"  -E, --escape                use C escapes in output, no extended chars\n"
+"      --force-po              write PO file even if empty\n"
+"  -i, --indent                write the .po file using indented style\n"
+"      --no-location           do not write ‘\e[1m#: filename:line\e[0m’ lines\n"
+"  -n, --add-location          generate ‘\e[1m#: filename:line\e[0m’ lines (default)\n"
+"      --strict                write out strict Uniforum conforming .po file\n"
+"  -w, --width=NUMBER          set output page width\n"
+"  -s, --sort-output           generate sorted output\n"
+"  -F, --sort-by-file          sort output by file location\n"
+
+#: src/msgcat.c:254 src/msgcomm.c:277
+#, c-format
+msgid "impossible selection criteria specified (%d < n < %d)"
+msgstr "impossible selection criteria specified (%d < n < %d)"
+
+#: src/msgcat.c:295 src/msgcomm.c:311 src/xgettext.c:504
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] [INPUTFILE]...\n"
+msgstr "Usage: %s [OPTION] [INPUTFILE]...\n"
+
+#: src/msgcat.c:300
+#, no-wrap
+msgid ""
+"Concatenates and merges the specified PO files.\n"
+"Find messages which are common to two or more of the specified PO files.\n"
+"By using the --more-than option, greater commonality may be requested\n"
+"before messages are printed.  Conversely, the --less-than option may be\n"
+"used to specify less commonality before messages are printed (i.e.\n"
+"--less-than=2 will only print the unique messages).  Translations,\n"
+"comments and extract comments will be cumulated, except that if --use-first\n"
+"is specified, they will be taken from the first PO file to define them.\n"
+"File positions from all PO files will be cumulated.\n"
+msgstr ""
+"Concatenates and merges the specified PO files.\n"
+"Find messages which are common to two or more of the specified PO files.\n"
+"By using the --more-than option, greater commonality may be requested\n"
+"before messages are printed.  Conversely, the --less-than option may be\n"
+"used to specify less commonality before messages are printed (i.e.\n"
+"--less-than=2 will only print the unique messages).  Translations,\n"
+"comments and extract comments will be cumulated, except that if --use-first\n"
+"is specified, they will be taken from the first PO file to define them.\n"
+"File positions from all PO files will be cumulated.\n"
+
+#: src/msgcat.c:318 src/msgcomm.c:333 src/xgettext.c:520
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  INPUTFILE ...                  input files\n"
+"  -f, --files-from=FILE          get list of input files from FILE\n"
+"  -D, --directory=DIRECTORY      add DIRECTORY to list for input files search\n"
+"If input file is -, standard input is read.\n"
+msgstr ""
+"Input file location:\n"
+"  INPUTFILE ...                  input files\n"
+"  -f, --files-from=FILE          get list of input files from FILE\n"
+"  -D, --directory=DIRECTORY      add DIRECTORY to list for input files search\n"
+"If input file is -, standard input is read.\n"
+
+#: src/msgcat.c:327 src/msgcomm.c:342 src/msguniq.c:304
+#, no-wrap
+msgid ""
+"Output file location:\n"
+"  -o, --output-file=FILE         write output to specified file\n"
+"The results are written to standard output if no output file is specified\n"
+"or if it is -.\n"
+msgstr ""
+"Output file location:\n"
+"  -o, --output-file=FILE         write output to specified file\n"
+"The results are written to standard output if no output file is specified\n"
+"or if it is -.\n"
+
+#: src/msgcat.c:335
+#, no-wrap
+msgid ""
+"Message selection:\n"
+"  -<, --less-than=NUMBER         print messages with less than this many\n"
+"                                 definitions, defaults to infinite if not\n"
+"                                 set\n"
+"  ->, --more-than=NUMBER         print messages with more than this many\n"
+"                                 definitions, defaults to 0 if not set\n"
+"  -u, --unique                   shorthand for --less-than=2, requests\n"
+"                                 that only unique messages be printed\n"
+msgstr ""
+"Message selection:\n"
+"  -<, --less-than=NUMBER         print messages with less than this many\n"
+"                                 definitions, defaults to infinite if not\n"
+"                                 set\n"
+"  ->, --more-than=NUMBER         print messages with more than this many\n"
+"                                 definitions, defaults to 0 if not set\n"
+"  -u, --unique                   shorthand for --less-than=2, requests\n"
+"                                 that only unique messages be printed\n"
+
+#: src/msgcat.c:347 src/msguniq.c:319
+#, no-wrap
+msgid ""
+"Output details:\n"
+"  -t, --to-code=NAME             encoding for output\n"
+"      --use-first                use first available translation for each\n"
+"                                 message, don't merge several translations\n"
+"  -e, --no-escape                do not use C escapes in output (default)\n"
+"  -E, --escape                   use C escapes in output, no extended chars\n"
+"      --force-po                 write PO file even if empty\n"
+"  -i, --indent                   write the .po file using indented style\n"
+"      --no-location              do not write '#: filename:line' lines\n"
+"  -n, --add-location             generate '#: filename:line' lines (default)\n"
+"      --strict                   write out strict Uniforum conforming .po file\n"
+"  -w, --width=NUMBER             set output page width\n"
+"  -s, --sort-output              generate sorted output\n"
+"  -F, --sort-by-file             sort output by file location\n"
+msgstr ""
+"Output details:\n"
+"  -t, --to-code=NAME             encoding for output\n"
+"      --use-first                use first available translation for each\n"
+"                                 message, don't merge several translations\n"
+"  -e, --no-escape                do not use C escapes in output (default)\n"
+"  -E, --escape                   use C escapes in output, no extended chars\n"
+"      --force-po                 write PO file even if empty\n"
+"  -i, --indent                   write the .po file using indented style\n"
+"      --no-location              do not write ‘\e[1m#: filename:line\e[0m’ lines\n"
+"  -n, --add-location             generate ‘\e[1m#: filename:line\e[0m’ lines (default)\n"
+"      --strict                   write out strict Uniforum conforming .po file\n"
+"  -w, --width=NUMBER             set output page width\n"
+"  -s, --sort-output              generate sorted output\n"
+"  -F, --sort-by-file             sort output by file location\n"
+
+#: src/msgcat.c:365 src/msgcomm.c:378 src/msguniq.c:337 src/xgettext.c:585
+#, no-wrap
+msgid ""
+"Informative output:\n"
+"  -h, --help                     display this help and exit\n"
+"  -V, --version                  output version information and exit\n"
+msgstr ""
+"Informative output:\n"
+"  -h, --help                     display this help and exit\n"
+"  -V, --version                  output version information and exit\n"
 
-#: src/msgcmp.c:156 src/msgmerge.c:271
+#: src/msgcmp.c:150 src/msgmerge.c:268
 msgid "no input files given"
 msgstr "no input files given"
 
-#: src/msgcmp.c:161 src/msgmerge.c:276
+#: src/msgcmp.c:155 src/msgmerge.c:273
 msgid "exactly 2 input files required"
 msgstr "exactly 2 input files required"
 
-#: src/msgcmp.c:182
+#: src/msgcmp.c:176 src/msgmerge.c:372
 #, c-format, no-wrap
+msgid "Usage: %s [OPTION] def.po ref.pot\n"
+msgstr "Usage: %s [OPTION] def.po ref.pot\n"
+
+#: src/msgcmp.c:181
+#, no-wrap
 msgid ""
-"Usage: %s [OPTION] def.po ref.po\n"
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
-"  -h, --help                  display this help and exit\n"
-"  -V, --version               output version information and exit\n"
-"\n"
 "Compare two Uniforum style .po files to check that both contain the same\n"
 "set of msgid strings.  The def.po file is an existing PO file with the\n"
-"old translations.  The ref.po file is the last created PO file\n"
-"(generally by xgettext).  This is useful for checking that you have\n"
-"translated each and every message in your program.  Where an exact match\n"
-"cannot be found, fuzzy matching is used to produce better diagnostics.\n"
+"translations.  The ref.pot file is the last created PO file, or a PO Template\n"
+"file (generally created by xgettext).  This is useful for checking that\n"
+"you have translated each and every message in your program.  Where an exact\n"
+"match cannot be found, fuzzy matching is used to produce better diagnostics.\n"
 msgstr ""
-"Usage: %s [OPTION] def.po ref.po\n"
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
-"  -h, --help                  display this help and exit\n"
-"  -V, --version               output version information and exit\n"
-"\n"
 "Compare two Uniforum style .po files to check that both contain the same\n"
 "set of msgid strings.  The def.po file is an existing PO file with the\n"
-"old translations.  The ref.po file is the last created PO file\n"
-"(generally by xgettext).  This is useful for checking that you have\n"
-"translated each and every message in your program.  Where an exact match\n"
-"cannot be found, fuzzy matching is used to produce better diagnostics.\n"
+"translations.  The ref.pot file is the last created PO file, or a PO Template\n"
+"file (generally created by xgettext).  This is useful for checking that\n"
+"you have translated each and every message in your program.  Where an exact\n"
+"match cannot be found, fuzzy matching is used to produce better diagnostics.\n"
+
+#: src/msgcmp.c:196
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  def.po                      translations\n"
+"  ref.pot                     references to the sources\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+msgstr ""
+"Input file location:\n"
+"  def.po                      translations\n"
+"  ref.pot                     references to the sources\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+
+#: src/msgcmp.c:204 src/msgmerge.c:436
+#, no-wrap
+msgid ""
+"Operation modifiers:\n"
+"  -m, --multi-domain          apply ref.pot to each of the domains in def.po\n"
+msgstr ""
+"Operation modifiers:\n"
+"  -m, --multi-domain          apply ref.pot to each of the domains in def.po\n"
 
-#: src/msgcmp.c:255 src/msgmerge.c:741
+#: src/msgcmp.c:253 src/msgmerge.c:543
 msgid "this message is used but not defined..."
 msgstr "this message is used but not defined..."
 
-#: src/msgcmp.c:257 src/msgmerge.c:743
+#: src/msgcmp.c:255 src/msgmerge.c:545
 msgid "...but this definition is similar"
 msgstr "...but this definition is similar"
 
-#: src/msgcmp.c:263 src/msgmerge.c:770
+#: src/msgcmp.c:260 src/msgmerge.c:572
 #, c-format
 msgid "this message is used but not defined in %s"
 msgstr "this message is used but not defined in %s"
 
-#: src/msgcmp.c:277
+#: src/msgcmp.c:332
 msgid "warning: this message is not used"
 msgstr "warning: this message is not used"
 
-#: src/msgcmp.c:283 src/po-lex.c:103
+#: src/msgcmp.c:339 src/po-lex.c:705
 #, c-format
 msgid "found %d fatal error"
 msgid_plural "found %d fatal errors"
 msgstr[0] "found %d fatal error"
 msgstr[1] "found %d fatal errors"
 
-#: src/msgcmp.c:356 src/msgfmt.c:667 src/msgmerge.c:512 src/xgettext.c:1157
+#: src/msgcmp.c:420 src/msgfmt.c:1323 src/read-po.c:202 src/x-po.c:163
 msgid "duplicate message definition"
 msgstr "duplicate message definition"
 
-#: src/msgcmp.c:357 src/msgfmt.c:669 src/msgmerge.c:513 src/xgettext.c:1158
+#: src/msgcmp.c:421 src/msgfmt.c:1324 src/read-po.c:203 src/x-po.c:164
 msgid "...this is the location of the first definition"
 msgstr "...this is the location of the first definition"
 
-#: src/msgcmp.c:397 src/msgmerge.c:561
-#, c-format
-msgid "this message has no definition in the \"%s\" domain"
-msgstr "this message has no definition in the “\e[1m%s\e[0m” domain"
-
-#. We are about to construct the absolute path to the
-#. directory for the output files but asprintf failed.
-#: src/msgcomm.c:235 src/xgettext.c:327 src/xgettext.c:1353
-msgid "while preparing output"
-msgstr "while preparing output"
-
-#: src/msgcomm.c:267 src/msgcomm.c:271 src/xgettext.c:365 src/xgettext.c:369
-#, c-format
-msgid "%s and %s are mutually exclusive"
-msgstr "%s and %s are mutually exclusive"
-
-#: src/msgcomm.c:323
+#: src/msgcomm.c:266
 msgid "at least two files must be specified"
 msgstr "at least two files must be specified"
 
-#: src/msgcomm.c:334
-#, c-format
-msgid "impossible selection criteria specified (%d < n < %d)"
-msgstr "impossible selection criteria specified (%d < n < %d)"
-
-#: src/msgcomm.c:382
-#, c-format, no-wrap
+#: src/msgcomm.c:316
+#, no-wrap
 msgid ""
-"Usage: %s [OPTION] INPUTFILE ...\n"
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"  -d, --default-domain=NAME      use NAME.po for output (instead of messages.po)\n"
-"  -D, --directory=DIRECTORY      add DIRECTORY to list for input files search\n"
-"  -e, --no-escape                do not use C escapes in output (default)\n"
-"  -E, --escape                   use C escapes in output, no extended chars\n"
-"  -f, --files-from=FILE          get list of input files from FILE\n"
-"      --force-po                 write PO file even if empty\n"
-"  -F, --sort-by-file             sort output by file location\n"
-"  -h, --help                     display this help and exit\n"
-msgstr ""
-"Usage: %s [OPTION] INPUTFILE ...\n"
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"  -d, --default-domain=NAME      use NAME.po for output (instead of messages.po)\n"
-"  -D, --directory=DIRECTORY      add DIRECTORY to list for input files search\n"
-"  -e, --no-escape                do not use C escapes in output (default)\n"
-"  -E, --escape                   use C escapes in output, no extended chars\n"
-"  -f, --files-from=FILE          get list of input files from FILE\n"
-"      --force-po                 write PO file even if empty\n"
-"  -F, --sort-by-file             sort output by file location\n"
-"  -h, --help                     display this help and exit\n"
-
-#: src/msgcomm.c:394
-msgid ""
-"  -i, --indent                   write the .po file using indented style\n"
-"      --no-location              do not write '#: filename:line' lines\n"
-"  -n, --add-location             generate '#: filename:line' lines "
-"(default)\n"
-"      --omit-header              don't write header with `msgid \"\"' entry\n"
-"  -o, --output=FILE              write output to specified file\n"
-"  -p, --output-dir=DIR           output files will be placed in directory "
-"DIR\n"
-"  -s, --sort-output              generate sorted output and remove "
-"duplicates\n"
-"      --strict                   write out strict Uniforum conforming .po "
-"file\n"
-"  -T, --trigraphs                understand ANSI C trigraphs for input\n"
-"  -u, --unique                   shorthand for --less-than=2, requests\n"
-"                                 that only unique messages be printed\n"
-msgstr ""
-"  -i, --indent                   write the .po file using indented style\n"
-"      --no-location              do not write ‘\e[1m#: filename:line\e[0m’ "
-"lines\n"
-"  -n, --add-location             generate ‘\e[1m#: filename:line\e[0m’ lines "
-"(default)\n"
-"      --omit-header              don't write header with ‘\e[1mmsgid \"\"\e[0m’ "
-"entry\n"
-"  -o, --output=FILE              write output to specified file\n"
-"  -p, --output-dir=DIR           output files will be placed in directory "
-"DIR\n"
-"  -s, --sort-output              generate sorted output and remove "
-"duplicates\n"
-"      --strict                   write out strict Uniforum conforming .po "
-"file\n"
-"  -T, --trigraphs                understand ANSI C trigraphs for input\n"
-"  -u, --unique                   shorthand for --less-than=2, requests\n"
-"                                 that only unique messages be printed\n"
-
-#: src/msgcomm.c:407
-msgid ""
-"  -V, --version                  output version information and exit\n"
-"  -w, --width=NUMBER             set output page width\n"
-"  -<, --less-than=NUMBER         print messages with less than this many\n"
-"                                 definitions, defaults to infinite if not\n"
-"                                 set\n"
-"  ->, --more-than=NUMBER         print messages with more than this many\n"
-"                                 definitions, defaults to 1 if not set\n"
-"\n"
 "Find messages which are common to two or more of the specified PO files.\n"
 "By using the --more-than option, greater commonality may be requested\n"
 "before messages are printed.  Conversely, the --less-than option may be\n"
@@ -362,16 +760,8 @@ msgid ""
 "--less-than=2 will only print the unique messages).  Translations,\n"
 "comments and extract comments will be preserved, but only from the first\n"
 "PO file to define them.  File positions from all PO files will be\n"
-"preserved.\n"
+"cumulated.\n"
 msgstr ""
-"  -V, --version                  output version information and exit\n"
-"  -w, --width=NUMBER             set output page width\n"
-"  -<, --less-than=NUMBER         print messages with less than this many\n"
-"                                 definitions, defaults to infinite if not\n"
-"                                 set\n"
-"  ->, --more-than=NUMBER         print messages with more than this many\n"
-"                                 definitions, defaults to 1 if not set\n"
-"\n"
 "Find messages which are common to two or more of the specified PO files.\n"
 "By using the --more-than option, greater commonality may be requested\n"
 "before messages are printed.  Conversely, the --less-than option may be\n"
@@ -379,266 +769,1066 @@ msgstr ""
 "--less-than=2 will only print the unique messages).  Translations,\n"
 "comments and extract comments will be preserved, but only from the first\n"
 "PO file to define them.  File positions from all PO files will be\n"
-"preserved.\n"
+"cumulated.\n"
 
-#: src/msgcomm.c:458 src/msgunfmt.c:361 src/po-lex.c:86 src/xget-lex.c:157
-#: src/xget-lex.c:170 src/xget-lex.c:180 src/xgettext.c:599
-#, c-format
-msgid "error while opening \"%s\" for reading"
-msgstr "error while opening “\e[1m%s\e[0m” for reading"
+#: src/msgcomm.c:350
+#, no-wrap
+msgid ""
+"Message selection:\n"
+"  -<, --less-than=NUMBER         print messages with less than this many\n"
+"                                 definitions, defaults to infinite if not\n"
+"                                 set\n"
+"  ->, --more-than=NUMBER         print messages with more than this many\n"
+"                                 definitions, defaults to 1 if not set\n"
+"  -u, --unique                   shorthand for --less-than=2, requests\n"
+"                                 that only unique messages be printed\n"
+msgstr ""
+"Message selection:\n"
+"  -<, --less-than=NUMBER         print messages with less than this many\n"
+"                                 definitions, defaults to infinite if not\n"
+"                                 set\n"
+"  ->, --more-than=NUMBER         print messages with more than this many\n"
+"                                 definitions, defaults to 1 if not set\n"
+"  -u, --unique                   shorthand for --less-than=2, requests\n"
+"                                 that only unique messages be printed\n"
 
-#: src/msgcomm.c:539 src/xgettext.c:641 src/xgettext.c:1059
-msgid "this file may not contain domain directives"
-msgstr "this file may not contain domain directives"
+#: src/msgcomm.c:362
+#, no-wrap
+msgid ""
+"Output details:\n"
+"  -e, --no-escape                do not use C escapes in output (default)\n"
+"  -E, --escape                   use C escapes in output, no extended chars\n"
+"      --force-po                 write PO file even if empty\n"
+"  -i, --indent                   write the .po file using indented style\n"
+"      --no-location              do not write '#: filename:line' lines\n"
+"  -n, --add-location             generate '#: filename:line' lines (default)\n"
+"      --strict                   write out strict Uniforum conforming .po file\n"
+"  -w, --width=NUMBER             set output page width\n"
+"  -s, --sort-output              generate sorted output\n"
+"  -F, --sort-by-file             sort output by file location\n"
+"      --omit-header              don't write header with `msgid \"\"' entry\n"
+msgstr ""
+"Output details:\n"
+"  -e, --no-escape                do not use C escapes in output (default)\n"
+"  -E, --escape                   use C escapes in output, no extended chars\n"
+"      --force-po                 write PO file even if empty\n"
+"  -i, --indent                   write the .po file using indented style\n"
+"      --no-location              do not write ‘\e[1m#: filename:line\e[0m’ lines\n"
+"  -n, --add-location             generate ‘\e[1m#: filename:line\e[0m’ lines (default)\n"
+"      --strict                   write out strict Uniforum conforming .po file\n"
+"  -w, --width=NUMBER             set output page width\n"
+"  -s, --sort-output              generate sorted output\n"
+"  -F, --sort-by-file             sort output by file location\n"
+"      --omit-header              don't write header with ‘\e[1mmsgid \"\"\e[0m’ entry\n"
+
+#: src/msgconv.c:251
+#, no-wrap
+msgid "Converts a translation catalog to a different character encoding.\n"
+msgstr "Converts a translation catalog to a different character encoding.\n"
+
+#: src/msgconv.c:277
+#, no-wrap
+msgid ""
+"Conversion target:\n"
+"  -t, --to-code=NAME          encoding for output\n"
+"The default encoding is the current locale's encoding.\n"
+msgstr ""
+"Conversion target:\n"
+"  -t, --to-code=NAME          encoding for output\n"
+"The default encoding is the current locale's encoding.\n"
+
+#: src/msgconv.c:284 src/msgen.c:266 src/msgmerge.c:442
+#, no-wrap
+msgid ""
+"Output details:\n"
+"  -e, --no-escape             do not use C escapes in output (default)\n"
+"  -E, --escape                use C escapes in output, no extended chars\n"
+"      --force-po              write PO file even if empty\n"
+"  -i, --indent                indented output style\n"
+"      --no-location           suppress '#: filename:line' lines\n"
+"      --add-location          preserve '#: filename:line' lines (default)\n"
+"      --strict                strict Uniforum output style\n"
+"  -w, --width=NUMBER          set output page width\n"
+"  -s, --sort-output           generate sorted output\n"
+"  -F, --sort-by-file          sort output by file location\n"
+msgstr ""
+"Output details:\n"
+"  -e, --no-escape             do not use C escapes in output (default)\n"
+"  -E, --escape                use C escapes in output, no extended chars\n"
+"      --force-po              write PO file even if empty\n"
+"  -i, --indent                indented output style\n"
+"      --no-location           suppress ‘\e[1m#: filename:line\e[0m’ lines\n"
+"      --add-location          preserve ‘\e[1m#: filename:line\e[0m’ lines (default)\n"
+"      --strict                strict Uniforum output style\n"
+"  -w, --width=NUMBER          set output page width\n"
+"  -s, --sort-output           generate sorted output\n"
+"  -F, --sort-by-file          sort output by file location\n"
 
-#: src/msgfmt.c:286 src/xgettext.c:404
+#: src/msgen.c:187 src/msgfmt.c:349 src/xgettext.c:388
 msgid "no input file given"
 msgstr "no input file given"
 
-#: src/msgfmt.c:337
+#: src/msgen.c:192
+msgid "exactly one input file required"
+msgstr "exactly one input file required"
+
+#: src/msgen.c:232
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] INPUTFILE\n"
+msgstr "Usage: %s [OPTION] INPUTFILE\n"
+
+#: src/msgen.c:237
+#, no-wrap
+msgid ""
+"Creates an English translation catalog.  The input file is the last\n"
+"created English PO file, or a PO Template file (generally created by\n"
+"xgettext).  Untranslated entries are assigned a translation that is\n"
+"identical to the msgid, and are marked fuzzy.\n"
+msgstr ""
+"Creates an English translation catalog.  The input file is the last\n"
+"created English PO file, or a PO Template file (generally created by\n"
+"xgettext).  Untranslated entries are assigned a translation that is\n"
+"identical to the msgid, and are marked fuzzy.\n"
+
+#: src/msgen.c:250
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  INPUTFILE                   input PO or POT file\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"If input file is -, standard input is read.\n"
+msgstr ""
+"Input file location:\n"
+"  INPUTFILE                   input PO or POT file\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"If input file is -, standard input is read.\n"
+
+#: src/msgexec.c:255
+msgid "missing filter name"
+msgstr "missing filter name"
+
+#: src/msgexec.c:279
+msgid "at least one sed script must be specified"
+msgstr "at least one sed script must be specified"
+
+#: src/msgexec.c:343
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] FILTER [FILTER-OPTION]\n"
+msgstr "Usage: %s [OPTION] FILTER [FILTER-OPTION]\n"
+
+#: src/msgexec.c:348
+#, no-wrap
+msgid "Applies a filter to all translations of a translation catalog.\n"
+msgstr "Applies a filter to all translations of a translation catalog.\n"
+
+#: src/msgexec.c:358
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  -i, --input=INPUTFILE       input PO file\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"If no input file is given or if it is -, standard input is read.\n"
+msgstr ""
+"Input file location:\n"
+"  -i, --input=INPUTFILE       input PO file\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"If no input file is given or if it is -, standard input is read.\n"
+
+#: src/msgexec.c:374
+#, no-wrap
+msgid ""
+"The FILTER can be any program that reads a translation from standard input\n"
+"and writes a modified translation to standard output.\n"
+msgstr ""
+"The FILTER can be any program that reads a translation from standard input\n"
+"and writes a modified translation to standard output.\n"
+
+#: src/msgexec.c:380
+#, no-wrap
+msgid ""
+"Useful FILTER-OPTIONs when the FILTER is 'sed':\n"
+"  -e, --expression=SCRIPT     add SCRIPT to the commands to be executed\n"
+"  -f, --file=SCRIPTFILE       add the contents of SCRIPTFILE to the commands\n"
+"                                to be executed\n"
+"  -n, --quiet, --silent       suppress automatic printing of pattern space\n"
+msgstr ""
+"Useful FILTER-OPTIONs when the FILTER is 'sed':\n"
+"  -e, --expression=SCRIPT     add SCRIPT to the commands to be executed\n"
+"  -f, --file=SCRIPTFILE       add the contents of SCRIPTFILE to the commands\n"
+"                                to be executed\n"
+"  -n, --quiet, --silent       suppress automatic printing of pattern space\n"
+
+#: src/msgexec.c:389
+#, no-wrap
+msgid ""
+"Output details:\n"
+"      --no-escape             do not use C escapes in output (default)\n"
+"  -E, --escape                use C escapes in output, no extended chars\n"
+"      --force-po              write PO file even if empty\n"
+"      --indent                indented output style\n"
+"      --no-location           suppress '#: filename:line' lines\n"
+"      --add-location          preserve '#: filename:line' lines (default)\n"
+"      --strict                strict Uniforum output style\n"
+"  -w, --width=NUMBER          set output page width\n"
+"  -s, --sort-output           generate sorted output\n"
+"  -F, --sort-by-file          sort output by file location\n"
+msgstr ""
+"Output details:\n"
+"      --no-escape             do not use C escapes in output (default)\n"
+"  -E, --escape                use C escapes in output, no extended chars\n"
+"      --force-po              write PO file even if empty\n"
+"      --indent                indented output style\n"
+"      --no-location           suppress ‘\e[1m#: filename:line\e[0m’ lines\n"
+"      --add-location          preserve ‘\e[1m#: filename:line\e[0m’ lines (default)\n"
+"      --strict                strict Uniforum output style\n"
+"  -w, --width=NUMBER          set output page width\n"
+"  -s, --sort-output           generate sorted output\n"
+"  -F, --sort-by-file          sort output by file location\n"
+
+#: src/msgexec.c:546
 #, c-format
-msgid "error while opening \"%s\" for writing"
-msgstr "error while opening “\e[1m%s\e[0m” for writing"
+msgid "cannot set up nonblocking I/O to %s subprocess"
+msgstr "cannot set up nonblocking I/O to %s subprocess"
+
+#: src/msgexec.c:574
+#, c-format
+msgid "communication with %s subprocess failed"
+msgstr "communication with %s subprocess failed"
+
+#: src/msgexec.c:594
+#, c-format
+msgid "write to %s subprocess failed"
+msgstr "write to %s subprocess failed"
 
-#: src/msgfmt.c:360
+#: src/msgexec.c:625
+#, c-format
+msgid "read from %s subprocess failed"
+msgstr "read from %s subprocess failed"
+
+#: src/msgexec.c:641
+#, c-format
+msgid "%s subprocess terminated with exit code %d"
+msgstr "%s subprocess terminated with exit code %d"
+
+#: src/msgfmt.c:303
+#, c-format
+msgid "the argument to %s should be a single punctuation character"
+msgstr "the argument to %s should be a single punctuation character"
+
+#: src/msgfmt.c:364
+#, c-format
+msgid "%s requires a \"-d directory\" specification"
+msgstr "%s requires a “\e[1m-d directory\e[0m” specification"
+
+#: src/msgfmt.c:373 src/msgfmt.c:379 src/msgfmt.c:385 src/msgmerge.c:290
+#: src/msgmerge.c:296 src/msgunfmt.c:209 src/msgunfmt.c:215
+#, c-format
+msgid "%s is only valid with %s"
+msgstr "%s is only valid with %s"
+
+#: src/msgfmt.c:452
 #, c-format
 msgid "%d translated message"
 msgid_plural "%d translated messages"
 msgstr[0] "%d translated message"
 msgstr[1] "%d translated messages"
 
-#: src/msgfmt.c:365
+#: src/msgfmt.c:457
+#, c-format
+msgid ", %d fuzzy translation"
+msgid_plural ", %d fuzzy translations"
+msgstr[0] ", %d fuzzy translation"
+msgstr[1] ", %d fuzzy translations"
+
+#: src/msgfmt.c:462
+#, c-format
+msgid ", %d untranslated message"
+msgid_plural ", %d untranslated messages"
+msgstr[0] ", %d untranslated message"
+msgstr[1] ", %d untranslated messages"
+
+#: src/msgfmt.c:484
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] filename.po ...\n"
+msgstr "Usage: %s [OPTION] filename.po ...\n"
+
+#: src/msgfmt.c:489
+#, no-wrap
+msgid "Generate binary message catalog from textual translation description.\n"
+msgstr "Generate binary message catalog from textual translation description.\n"
+
+#: src/msgfmt.c:499
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  filename.po ...             input files\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"If input file is -, standard input is read.\n"
+msgstr ""
+"Input file location:\n"
+"  filename.po ...             input files\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"If input file is -, standard input is read.\n"
+
+#: src/msgfmt.c:507
+#, no-wrap
+msgid ""
+"Operation mode:\n"
+"  -j, --java                  Java mode: generate a Java ResourceBundle class\n"
+"      --java2                 like --java, and assume Java2 (JDK 1.2 or higher)\n"
+msgstr ""
+"Operation mode:\n"
+"  -j, --java                  Java mode: generate a Java ResourceBundle class\n"
+"      --java2                 like --java, and assume Java2 (JDK 1.2 or higher)\n"
+
+#: src/msgfmt.c:514
+#, no-wrap
+msgid ""
+"Output file location:\n"
+"  -o, --output-file=FILE      write output to specified file\n"
+"      --strict                enable strict Uniforum mode\n"
+"If output file is -, output is written to standard output.\n"
+msgstr ""
+"Output file location:\n"
+"  -o, --output-file=FILE      write output to specified file\n"
+"      --strict                enable strict Uniforum mode\n"
+"If output file is -, output is written to standard output.\n"
+
+#: src/msgfmt.c:522
+#, no-wrap
+msgid ""
+"Output file location in Java mode:\n"
+"  -r, --resource=RESOURCE     resource name\n"
+"  -l, --locale=LOCALE         locale name, either language or language_COUNTRY\n"
+"  -d DIRECTORY                base directory of classes directory hierarchy\n"
+"The class name is determined by appending the locale name to the resource name,\n"
+"separated with an underscore.  The -d option is mandatory.  The class is\n"
+"written under the specified directory.\n"
+msgstr ""
+"Output file location in Java mode:\n"
+"  -r, --resource=RESOURCE     resource name\n"
+"  -l, --locale=LOCALE         locale name, either language or language_COUNTRY\n"
+"  -d DIRECTORY                base directory of classes directory hierarchy\n"
+"The class name is determined by appending the locale name to the resource name,\n"
+"separated with an underscore.  The -d option is mandatory.  The class is\n"
+"written under the specified directory.\n"
+
+#: src/msgfmt.c:533
+#, no-wrap
+msgid ""
+"Input file interpretation:\n"
+"  -c, --check                 perform all the checks implied by\n"
+"                                --check-format, --check-header, --check-domain\n"
+"      --check-format          check language dependent format strings\n"
+"      --check-header          verify presence and contents of the header entry\n"
+"      --check-domain          check for conflicts between domain directives\n"
+"                                and the --output-file option\n"
+"  -C, --check-compatibility   check that GNU msgfmt behaves like X/Open msgfmt\n"
+"      --check-accelerators[=CHAR]  check presence of keyboard accelerators for\n"
+"                                menu items\n"
+"  -f, --use-fuzzy             use fuzzy entries in output\n"
+msgstr ""
+"Input file interpretation:\n"
+"  -c, --check                 perform all the checks implied by\n"
+"                                --check-format, --check-header, --check-domain\n"
+"      --check-format          check language dependent format strings\n"
+"      --check-header          verify presence and contents of the header entry\n"
+"      --check-domain          check for conflicts between domain directives\n"
+"                                and the --output-file option\n"
+"  -C, --check-compatibility   check that GNU msgfmt behaves like X/Open msgfmt\n"
+"      --check-accelerators[=CHAR]  check presence of keyboard accelerators for\n"
+"                                menu items\n"
+"  -f, --use-fuzzy             use fuzzy entries in output\n"
+
+#: src/msgfmt.c:548
+#, c-format, no-wrap
+msgid ""
+"Output details:\n"
+"  -a, --alignment=NUMBER      align strings to NUMBER bytes (default: %d)\n"
+"      --no-hash               binary file will not include the hash table\n"
+msgstr ""
+"Output details:\n"
+"  -a, --alignment=NUMBER      align strings to NUMBER bytes (default: %d)\n"
+"      --no-hash               binary file will not include the hash table\n"
+
+#: src/msgfmt.c:555
+#, no-wrap
+msgid ""
+"Informative output:\n"
+"  -h, --help                  display this help and exit\n"
+"  -V, --version               output version information and exit\n"
+"      --statistics            print statistics about translations\n"
+"  -v, --verbose               increase verbosity level\n"
+msgstr ""
+"Informative output:\n"
+"  -h, --help                  display this help and exit\n"
+"  -V, --version               output version information and exit\n"
+"      --statistics            print statistics about translations\n"
+"  -v, --verbose               increase verbosity level\n"
+
+#: src/msgfmt.c:707
+msgid "plural expression can produce negative values"
+msgstr "plural expression can produce negative values"
+
+#: src/msgfmt.c:720
+#, c-format
+msgid "nplurals = %lu but plural expression can produce values as large as %lu"
+msgstr ""
+"nplurals = %lu but plural expression can produce values as large as %lu"
+
+#: src/msgfmt.c:746
+msgid "plural expression can produce division by zero"
+msgstr "plural expression can produce division by zero"
+
+#: src/msgfmt.c:751
+msgid "plural expression can produce integer overflow"
+msgstr "plural expression can produce integer overflow"
+
+#: src/msgfmt.c:756
+msgid ""
+"plural expression can produce arithmetic exceptions, possibly division by "
+"zero"
+msgstr ""
+"plural expression can produce arithmetic exceptions, possibly division by "
+"zero"
+
+#: src/msgfmt.c:830 src/msgfmt.c:841
+msgid "message catalog has plural form translations..."
+msgstr "message catalog has plural form translations..."
+
+#: src/msgfmt.c:833
+msgid "...but header entry lacks a \"plural=EXPRESSION\" attribute"
+msgstr "...but header entry lacks a “\e[1mplural=EXPRESSION\e[0m” attribute"
+
+#: src/msgfmt.c:844
+msgid "...but header entry lacks a \"nplurals=INTEGER\" attribute"
+msgstr "...but header entry lacks a “\e[1mnplurals=INTEGER\e[0m” attribute"
+
+#: src/msgfmt.c:868
+msgid "invalid nplurals value"
+msgstr "invalid nplurals value"
+
+#: src/msgfmt.c:881
+msgid "invalid plural expression"
+msgstr "invalid plural expression"
+
+#: src/msgfmt.c:899 src/msgfmt.c:912
+#, c-format
+msgid "nplurals = %lu..."
+msgstr "nplurals = %lu..."
+
+#: src/msgfmt.c:902
+#, c-format
+msgid "...but some messages have only %lu plural forms"
+msgstr "...but some messages have only %lu plural forms"
+
+#: src/msgfmt.c:915
+#, c-format
+msgid "...but some messages have %lu plural forms"
+msgstr "...but some messages have %lu plural forms"
+
+#: src/msgfmt.c:930
+msgid ""
+"message catalog has plural form translations, but lacks a header entry with "
+"\"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\""
+msgstr ""
+"message catalog has plural form translations, but lacks a header entry with "
+"“\e[1mPlural-Forms: nplurals=INTEGER; plural=EXPRESSION;\e[0m”"
+
+#: src/msgfmt.c:968
+msgid "`msgid' and `msgid_plural' entries do not both begin with '\\n'"
+msgstr ""
+"‘\e[1mmsgid\e[0m’ and ‘\e[1mmsgid_plural\e[0m’ entries do not both begin with ‘\e[1m\\n\e"
+"[0m’"
+
+#: src/msgfmt.c:978
+#, c-format
+msgid "`msgid' and `msgstr[%u]' entries do not both begin with '\\n'"
+msgstr ""
+"‘\e[1mmsgid\e[0m’ and ‘\e[1mmsgstr[%u]\e[0m’ entries do not both begin with ‘\e[1m\\n\e"
+"[0m’"
+
+#: src/msgfmt.c:990
+msgid "`msgid' and `msgstr' entries do not both begin with '\\n'"
+msgstr ""
+"‘\e[1mmsgid\e[0m’ and ‘\e[1mmsgstr\e[0m’ entries do not both begin with ‘\e[1m\\n\e[0m’"
+
+#: src/msgfmt.c:1007
+msgid "`msgid' and `msgid_plural' entries do not both end with '\\n'"
+msgstr ""
+"‘\e[1mmsgid\e[0m’ and ‘\e[1mmsgid_plural\e[0m’ entries do not both end with ‘\e[1m\\n\e"
+"[0m’"
+
+#: src/msgfmt.c:1017
+#, c-format
+msgid "`msgid' and `msgstr[%u]' entries do not both end with '\\n'"
+msgstr ""
+"‘\e[1mmsgid\e[0m’ and ‘\e[1mmsgstr[%u]\e[0m’ entries do not both end with ‘\e[1m\\n\e[0m’"
+
+#: src/msgfmt.c:1029
+msgid "`msgid' and `msgstr' entries do not both end with '\\n'"
+msgstr ""
+"‘\e[1mmsgid\e[0m’ and ‘\e[1mmsgstr\e[0m’ entries do not both end with ‘\e[1m\\n\e[0m’"
+
+#: src/msgfmt.c:1041
+msgid "plural handling is a GNU gettext extension"
+msgstr "plural handling is a GNU gettext extension"
+
+#: src/msgfmt.c:1088
+#, c-format
+msgid "'msgstr' is not a valid %s format string, unlike 'msgid'"
+msgstr "‘\e[1mmsgstr\e[0m’ is not a valid %s format string, unlike ‘\e[1mmsgid\e[0m’"
+
+#: src/msgfmt.c:1122
+#, c-format
+msgid "msgstr lacks the keyboard accelerator mark '%c'"
+msgstr "msgstr lacks the keyboard accelerator mark ‘\e[1m%c\e[0m’"
+
+#: src/msgfmt.c:1130
+#, c-format
+msgid "msgstr has too many keyboard accelerator marks '%c'"
+msgstr "msgstr has too many keyboard accelerator marks ‘\e[1m%c\e[0m’"
+
+#: src/msgfmt.c:1164
+#, c-format
+msgid "headerfield `%s' missing in header"
+msgstr "headerfield ‘\e[1m%s\e[0m’ missing in header"
+
+#: src/msgfmt.c:1167
+#, c-format
+msgid "header field `%s' should start at beginning of line"
+msgstr "header field ‘\e[1m%s\e[0m’ should start at beginning of line"
+
+#: src/msgfmt.c:1176
+msgid "some header fields still have the initial default value"
+msgstr "some header fields still have the initial default value"
+
+#: src/msgfmt.c:1187
+#, c-format
+msgid "field `%s' still has initial default value"
+msgstr "field ‘\e[1m%s\e[0m’ still has initial default value"
+
+#: src/msgfmt.c:1228
+msgid "warning: PO file header missing or invalid\n"
+msgstr "warning: PO file header missing or invalid\n"
+
+#: src/msgfmt.c:1231
+msgid "warning: charset conversion will not work\n"
+msgstr "warning: charset conversion will not work\n"
+
+#: src/msgfmt.c:1241
+msgid "warning: PO file header fuzzy\n"
+msgstr "warning: PO file header fuzzy\n"
+
+#: src/msgfmt.c:1243
+msgid "warning: older versions of msgfmt will give an error on this\n"
+msgstr "warning: older versions of msgfmt will give an error on this\n"
+
+#: src/msgfmt.c:1268
+#, c-format
+msgid "domain name \"%s\" not suitable as file name"
+msgstr "domain name “\e[1m%s\e[0m” not suitable as file name"
+
+#: src/msgfmt.c:1273
+#, c-format
+msgid "domain name \"%s\" not suitable as file name: will use prefix"
+msgstr "domain name “\e[1m%s\e[0m” not suitable as file name: will use prefix"
+
+#: src/msgfmt.c:1284
+#, c-format
+msgid "`domain %s' directive ignored"
+msgstr "‘\e[1mdomain %s\e[0m’ directive ignored"
+
+#: src/msgfmt.c:1356
+msgid "empty `msgstr' entry ignored"
+msgstr "empty ‘\e[1mmsgstr\e[0m’ entry ignored"
+
+#: src/msgfmt.c:1357
+msgid "fuzzy `msgstr' entry ignored"
+msgstr "fuzzy ‘\e[1mmsgstr\e[0m’ entry ignored"
+
+#: src/msgfmt.c:1426
 #, c-format
-msgid ", %d fuzzy translation"
-msgid_plural ", %d fuzzy translations"
-msgstr[0] ", %d fuzzy translation"
-msgstr[1] ", %d fuzzy translations"
+msgid "%s: warning: source file contains fuzzy translation"
+msgstr "%s: warning: source file contains fuzzy translation"
 
-#: src/msgfmt.c:370
+#: src/msggrep.c:359
 #, c-format
-msgid ", %d untranslated message"
-msgid_plural ", %d untranslated messages"
-msgstr[0] ", %d untranslated message"
-msgstr[1] ", %d untranslated messages"
+msgid "option '%c' cannot be used before 'K' or 'T' has been specified"
+msgstr ""
+"option ‘\e[1m%c\e[0m’ cannot be used before ‘\e[1mK\e[0m’ or ‘\e[1mT\e[0m’ has been "
+"specified"
 
-#: src/msgfmt.c:392
-#, c-format, no-wrap
+#: src/msggrep.c:381
+#, no-wrap
 msgid ""
-"Usage: %s [OPTION] filename.po ...\n"
-"Generate binary message catalog from textual translation description.\n"
+"Extracts all messages of a translation catalog that match a given pattern\n"
+"or belong to some given source files.\n"
+msgstr ""
+"Extracts all messages of a translation catalog that match a given pattern\n"
+"or belong to some given source files.\n"
+
+#: src/msggrep.c:408
+#, no-wrap
+msgid ""
+"Message selection:\n"
+"  [-N SOURCEFILE]... [-M DOMAINNAME]... [-K MSGID-PATTERN] [-T MSGSTR-PATTERN]\n"
+"A message is selected if it comes from one of the specified source files,\n"
+"or if it comes from one of the specified domains,\n"
+"or if -K is given and its key (msgid or msgid_plural) matches MSGID-PATTERN,\n"
+"or if -T is given and its translation (msgstr) matches MSGSTR-PATTERN.\n"
 "\n"
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"  -a, --alignment=NUMBER      align strings to NUMBER bytes (default: %d)\n"
-"  -c, --check                 perform language dependent checks on strings\n"
-"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
-"  -f, --use-fuzzy             use fuzzy entries in output\n"
-"  -h, --help                  display this help and exit\n"
-"      --no-hash               binary file will not include the hash table\n"
-"  -o, --output-file=FILE      specify output file name as FILE\n"
-"      --statistics            print statistics about translations\n"
-"      --strict                enable strict Uniforum mode\n"
-"  -v, --verbose               list input file anomalies\n"
-"  -V, --version               output version information and exit\n"
+"When more than one selection criterion is specified, the set of selected\n"
+"messages is the union of the selected messages of each criterion.\n"
 "\n"
-"Giving the -v option more than once increases the verbosity level.\n"
+"MSGID-PATTERN or MSGSTR-PATTERN syntax:\n"
+"  [-E | -F] [-e PATTERN | -f FILE]...\n"
+"PATTERNs are basic regular expressions by default, or extended regular\n"
+"expressions if -E is given, or fixed strings if -F is given.\n"
 "\n"
-"If input file is -, standard input is read.  If output file is -,\n"
-"output is written to standard output.\n"
+"  -N, --location=SOURCEFILE   select messages extracted from SOURCEFILE\n"
+"  -M, --domain=DOMAINNAME     select messages belonging to domain DOMAINNAME\n"
+"  -K, --msgid                 start of patterns for the msgid\n"
+"  -T, --msgstr                start of patterns for the msgstr\n"
+"  -E, --extended-regexp       PATTERN is an extended regular expression\n"
+"  -F, --fixed-strings         PATTERN is a set of newline-separated strings\n"
+"  -e, --regexp=PATTERN        use PATTERN as a regular expression\n"
+"  -f, --file=FILE             obtain PATTERN from FILE\n"
+"  -i, --ignore-case           ignore case distinctions\n"
 msgstr ""
-"Usage: %s [OPTION] filename.po ...\n"
-"Generate binary message catalog from textual translation description.\n"
+"Message selection:\n"
+"  [-N SOURCEFILE]... [-M DOMAINNAME]... [-K MSGID-PATTERN] [-T MSGSTR-PATTERN]\n"
+"A message is selected if it comes from one of the specified source files,\n"
+"or if it comes from one of the specified domains,\n"
+"or if -K is given and its key (msgid or msgid_plural) matches MSGID-PATTERN,\n"
+"or if -T is given and its translation (msgstr) matches MSGSTR-PATTERN.\n"
 "\n"
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"  -a, --alignment=NUMBER      align strings to NUMBER bytes (default: %d)\n"
-"  -c, --check                 perform language dependent checks on strings\n"
-"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
-"  -f, --use-fuzzy             use fuzzy entries in output\n"
-"  -h, --help                  display this help and exit\n"
-"      --no-hash               binary file will not include the hash table\n"
-"  -o, --output-file=FILE      specify output file name as FILE\n"
-"      --statistics            print statistics about translations\n"
-"      --strict                enable strict Uniforum mode\n"
-"  -v, --verbose               list input file anomalies\n"
-"  -V, --version               output version information and exit\n"
+"When more than one selection criterion is specified, the set of selected\n"
+"messages is the union of the selected messages of each criterion.\n"
 "\n"
-"Giving the -v option more than once increases the verbosity level.\n"
+"MSGID-PATTERN or MSGSTR-PATTERN syntax:\n"
+"  [-E | -F] [-e PATTERN | -f FILE]...\n"
+"PATTERNs are basic regular expressions by default, or extended regular\n"
+"expressions if -E is given, or fixed strings if -F is given.\n"
 "\n"
-"If input file is -, standard input is read.  If output file is -,\n"
-"output is written to standard output.\n"
+"  -N, --location=SOURCEFILE   select messages extracted from SOURCEFILE\n"
+"  -M, --domain=DOMAINNAME     select messages belonging to domain DOMAINNAME\n"
+"  -K, --msgid                 start of patterns for the msgid\n"
+"  -T, --msgstr                start of patterns for the msgstr\n"
+"  -E, --extended-regexp       PATTERN is an extended regular expression\n"
+"  -F, --fixed-strings         PATTERN is a set of newline-separated strings\n"
+"  -e, --regexp=PATTERN        use PATTERN as a regular expression\n"
+"  -f, --file=FILE             obtain PATTERN from FILE\n"
+"  -i, --ignore-case           ignore case distinctions\n"
+
+#: src/msggrep.c:436
+#, no-wrap
+msgid ""
+"Output details:\n"
+"      --no-escape             do not use C escapes in output (default)\n"
+"      --escape                use C escapes in output, no extended chars\n"
+"      --force-po              write PO file even if empty\n"
+"      --indent                indented output style\n"
+"      --no-location           suppress '#: filename:line' lines\n"
+"      --add-location          preserve '#: filename:line' lines (default)\n"
+"      --strict                strict Uniforum output style\n"
+"  -w, --width=NUMBER          set output page width\n"
+"      --sort-output           generate sorted output\n"
+"      --sort-by-file          sort output by file location\n"
+msgstr ""
+"Output details:\n"
+"      --no-escape             do not use C escapes in output (default)\n"
+"      --escape                use C escapes in output, no extended chars\n"
+"      --force-po              write PO file even if empty\n"
+"      --indent                indented output style\n"
+"      --no-location           suppress ‘\e[1m#: filename:line\e[0m’ lines\n"
+"      --add-location          preserve ‘\e[1m#: filename:line\e[0m’ lines (default)\n"
+"      --strict                strict Uniforum output style\n"
+"  -w, --width=NUMBER          set output page width\n"
+"      --sort-output           generate sorted output\n"
+"      --sort-by-file          sort output by file location\n"
 
-#: src/msgfmt.c:435
-msgid "while creating hash table"
-msgstr "while creating hash table"
+#: src/msggrep.c:510
+msgid "write to grep subprocess failed"
+msgstr "write to grep subprocess failed"
 
-#: src/msgfmt.c:479
-#, c-format
+#: src/msginit.c:275
 msgid ""
-"%s: warning: PO file header missing, fuzzy, or invalid\n"
-"%*s  warning: charset conversion will not work"
+"You are in a language indifferent environment.  Please set\n"
+"your LANG environment variable, as described in the ABOUT-NLS\n"
+"file.  This is necessary so you can test your translations.\n"
 msgstr ""
-"%s: warning: PO file header missing, fuzzy, or invalid\n"
-"%*s  warning: charset conversion will not work"
+"You are in a language indifferent environment.  Please set\n"
+"your LANG environment variable, as described in the ABOUT-NLS\n"
+"file.  This is necessary so you can test your translations.\n"
 
-#: src/msgfmt.c:503
+#: src/msginit.c:303
 #, c-format
-msgid "domain name \"%s\" not suitable as file name"
-msgstr "domain name “\e[1m%s\e[0m” not suitable as file name"
+msgid ""
+"Output file %s already exists.\n"
+"Please specify the locale through the --locale option or\n"
+"the output .po file through the --output-file option.\n"
+msgstr ""
+"Output file %s already exists.\n"
+"Please specify the locale through the --locale option or\n"
+"the output .po file through the --output-file option.\n"
 
-#: src/msgfmt.c:508
+#: src/msginit.c:326
 #, c-format
-msgid "domain name \"%s\" not suitable as file name: will use prefix"
-msgstr "domain name “\e[1m%s\e[0m” not suitable as file name: will use prefix"
+msgid "Created %s.\n"
+msgstr "Created %s.\n"
 
-#. We don't change the exit status here because this is really
-#. only an information.
-#: src/msgfmt.c:521
-#, c-format
-msgid "`domain %s' directive ignored"
-msgstr "‘\e[1mdomain %s\e[0m’ directive ignored"
+#: src/msginit.c:348
+#, no-wrap
+msgid ""
+"Creates a new PO file, initializing the meta information with values from the\n"
+"user's environment.\n"
+msgstr ""
+"Creates a new PO file, initializing the meta information with values from the\n"
+"user's environment.\n"
 
-#: src/msgfmt.c:551
-msgid "empty `msgstr' entry ignored"
-msgstr "empty ‘\e[1mmsgstr\e[0m’ entry ignored"
+#: src/msginit.c:359
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  -i, --input=INPUTFILE       input POT file\n"
+"If no input file is given, the current directory is searched for the POT file.\n"
+"If it is -, standard input is read.\n"
+msgstr ""
+"Input file location:\n"
+"  -i, --input=INPUTFILE       input POT file\n"
+"If no input file is given, the current directory is searched for the POT file.\n"
+"If it is -, standard input is read.\n"
 
-#: src/msgfmt.c:552
-msgid "fuzzy `msgstr' entry ignored"
-msgstr "fuzzy ‘\e[1mmsgstr\e[0m’ entry ignored"
+#: src/msginit.c:367
+#, no-wrap
+msgid ""
+"Output file location:\n"
+"  -o, --output-file=FILE      write output to specified PO file\n"
+"If no output file is given, it depends on the --locale option or the user's\n"
+"locale setting.  If it is -, the results are written to standard output.\n"
+msgstr ""
+"Output file location:\n"
+"  -o, --output-file=FILE      write output to specified PO file\n"
+"If no output file is given, it depends on the --locale option or the user's\n"
+"locale setting.  If it is -, the results are written to standard output.\n"
+
+#: src/msginit.c:375
+#, no-wrap
+msgid ""
+"Output details:\n"
+"  -l, --locale=LL_CC          set target locale\n"
+"      --no-translator         assume the PO file is automatically generated\n"
+"  -w, --width=NUMBER          set output page width\n"
+msgstr ""
+"Output details:\n"
+"  -l, --locale=LL_CC          set target locale\n"
+"      --no-translator         assume the PO file is automatically generated\n"
+"  -w, --width=NUMBER          set output page width\n"
 
-#: src/msgfmt.c:594
+#: src/msginit.c:426
+msgid ""
+"Found more than one .pot file.\n"
+"Please specify the input .pot file through the --input option.\n"
+msgstr ""
+"Found more than one .pot file.\n"
+"Please specify the input .pot file through the --input option.\n"
+
+#: src/msginit.c:434 src/msginit.c:439
+msgid "error reading current directory"
+msgstr "error reading current directory"
+
+#: src/msginit.c:447
+msgid ""
+"Found no .pot file in the current directory.\n"
+"Please specify the input .pot file through the --input option.\n"
+msgstr ""
+"Found no .pot file in the current directory.\n"
+"Please specify the input .pot file through the --input option.\n"
+
+#: src/msginit.c:887 src/msginit.c:932 src/msginit.c:1070 src/msginit.c:1137
+#: src/read-java.c:80
+msgid "fdopen() failed"
+msgstr "fdopen() failed"
+
+#: src/msginit.c:892 src/msginit.c:937 src/msginit.c:1075
 #, c-format
-msgid "headerfield `%s' missing in header"
-msgstr "headerfield ‘\e[1m%s\e[0m’ missing in header"
+msgid "%s subprocess I/O error"
+msgstr "%s subprocess I/O error"
 
-#: src/msgfmt.c:597
+#: src/msginit.c:901 src/msginit.c:946 src/msginit.c:1084 src/msginit.c:1151
+#: src/read-java.c:90
 #, c-format
-msgid "header field `%s' should start at beginning of line"
-msgstr "header field ‘\e[1m%s\e[0m’ should start at beginning of line"
+msgid "%s subprocess failed with exit code %d"
+msgstr "%s subprocess failed with exit code %d"
 
-#: src/msgfmt.c:607
-msgid "some header fields still have the initial default value"
-msgstr "some header fields still have the initial default value"
+#: src/msginit.c:1060
+msgid ""
+"The new message catalog should contain your email address, so that users "
+"can\n"
+"give you feedback about the translations, and so that maintainers can "
+"contact\n"
+"you in case of unexpected technical problems.\n"
+msgstr ""
+"The new message catalog should contain your email address, so that users "
+"can\n"
+"give you feedback about the translations, and so that maintainers can "
+"contact\n"
+"you in case of unexpected technical problems.\n"
+
+#. TRANSLATORS: "English" needs to be replaced by your language.
+#. For example in it.po write "Traduzioni italiani ...",
+#. *not* "Traduzioni inglesi ...".
+#: src/msginit.c:1440
+#, c-format
+msgid "English translations for %s package"
+msgstr "English translations for %s package"
 
-#: src/msgfmt.c:618
+#: src/msgl-cat.c:173 src/msgl-charset.c:86 src/msgl-iconv.c:299
 #, c-format
-msgid "field `%s' still has initial default value"
-msgstr "field ‘\e[1m%s\e[0m’ still has initial default value"
+msgid "present charset \"%s\" is not a portable encoding name"
+msgstr "present charset “\e[1m%s\e[0m” is not a portable encoding name"
 
-#: src/msgfmt.c:708
+#: src/msgl-cat.c:181 src/msgl-iconv.c:307
 #, c-format
-msgid "%s: warning: source file contains fuzzy translation"
-msgstr "%s: warning: source file contains fuzzy translation"
+msgid "two different charsets \"%s\" and \"%s\" in input file"
+msgstr "two different charsets “\e[1m%s\e[0m” and “\e[1m%s\e[0m” in input file"
 
-#: src/msgfmt.c:930
-msgid "`msgid' and `msgid_plural' entries do not both begin with '\\n'"
+#: src/msgl-cat.c:194
+#, c-format
+msgid ""
+"input file `%s' doesn't contain a header entry with a charset specification"
 msgstr ""
-"\e[1mmsgid\e[0m’ and ‘\e[1mmsgid_plural\e[0m’ entries do not both begin with ‘\e[1m\\n\e"
-"[0m’"
+"input file ‘\e[1m%s\e[0m’ doesn't contain a header entry with a charset "
+"specification"
 
-#: src/msgfmt.c:938
+#: src/msgl-cat.c:198
 #, c-format
-msgid "`msgid' and `msgstr[%u]' entries do not both begin with '\\n'"
+msgid ""
+"domain \"%s\" in input file `%s' doesn't contain a header entry with a "
+"charset specification"
 msgstr ""
-"\e[1mmsgid\e[0m’ and ‘\e[1mmsgstr[%u]\e[0m’ entries do not both begin with ‘\e[1m\\n\e"
-"[0m’"
+"domain “\e[1m%s\e[0m” in input file ‘\e[1m%s\e[0m’ doesn't contain a header entry "
+"with a charset specification"
 
-#: src/msgfmt.c:948
-msgid "`msgid' and `msgstr' entries do not both begin with '\\n'"
+#: src/msgl-cat.c:359 src/msgl-iconv.c:382
+#, c-format
+msgid "target charset \"%s\" is not a portable encoding name."
+msgstr "target charset “\e[1m%s\e[0m” is not a portable encoding name."
+
+#: src/msgl-cat.c:409 src/msgl-cat.c:415 src/msgl-charset.c:91
+#: src/msgl-charset.c:126 src/write-po.c:723 src/write-po.c:817
+msgid "warning: "
+msgstr "warning: "
+
+#: src/msgl-cat.c:410
+msgid ""
+"Input files contain messages in different encodings, UTF-8 among others.\n"
+"Converting the output to UTF-8.\n"
 msgstr ""
-"‘\e[1mmsgid\e[0m’ and ‘\e[1mmsgstr\e[0m’ entries do not both begin with ‘\e[1m\\n\e[0m’"
+"Input files contain messages in different encodings, UTF-8 among others.\n"
+"Converting the output to UTF-8.\n"
 
-#: src/msgfmt.c:963
-msgid "`msgid' and `msgid_plural' entries do not both end with '\\n'"
+#: src/msgl-cat.c:416
+#, c-format
+msgid ""
+"Input files contain messages in different encodings, %s and %s among "
+"others.\n"
+"Converting the output to UTF-8.\n"
+"To select a different output encoding, use the --to-code option.\n"
 msgstr ""
-"‘\e[1mmsgid\e[0m’ and ‘\e[1mmsgid_plural\e[0m’ entries do not both end with ‘\e[1m\\n\e"
-"[0m’"
+"Input files contain messages in different encodings, %s and %s among "
+"others.\n"
+"Converting the output to UTF-8.\n"
+"To select a different output encoding, use the --to-code option.\n"
 
-#: src/msgfmt.c:971
+#: src/msgl-charset.c:92
 #, c-format
-msgid "`msgid' and `msgstr[%u]' entries do not both end with '\\n'"
+msgid ""
+"Locale charset \"%s\" is different from\n"
+"input file charset \"%s\".\n"
+"Output of '%s' might be incorrect.\n"
+"Possible workarounds are:\n"
 msgstr ""
-"‘\e[1mmsgid\e[0m’ and ‘\e[1mmsgstr[%u]\e[0m’ entries do not both end with ‘\e[1m\\n\e[0m’"
+"Locale charset “\e[1m%s\e[0m” is different from\n"
+"input file charset “\e[1m%s\e[0m”.\n"
+"Output of ‘\e[1m%s\e[0m’ might be incorrect.\n"
+"Possible workarounds are:\n"
 
-#: src/msgfmt.c:981
-msgid "`msgid' and `msgstr' entries do not both end with '\\n'"
+#: src/msgl-charset.c:99
+#, c-format
+msgid "- Set LC_ALL to a locale with encoding %s.\n"
+msgstr "- Set LC_ALL to a locale with encoding %s.\n"
+
+#: src/msgl-charset.c:104
+#, c-format
+msgid ""
+"- Convert the translation catalog to %s using 'msgconv',\n"
+"  then apply '%s',\n"
+"  then convert back to %s using 'msgconv'.\n"
 msgstr ""
-"‘\e[1mmsgid\e[0m’ and ‘\e[1mmsgstr\e[0m’ entries do not both end with ‘\e[1m\\n\e[0m’"
+"- Convert the translation catalog to %s using 'msgconv',\n"
+"  then apply '%s',\n"
+"  then convert back to %s using 'msgconv'.\n"
 
-#: src/msgfmt.c:997
-msgid "number of format specifications in `msgid' and `msgstr' does not match"
+#: src/msgl-charset.c:113
+#, c-format
+msgid ""
+"- Set LC_ALL to a locale with encoding %s,\n"
+"  convert the translation catalog to %s using 'msgconv',\n"
+"  then apply '%s',\n"
+"  then convert back to %s using 'msgconv'.\n"
 msgstr ""
-"number of format specifications in ‘\e[1mmsgid\e[0m’ and ‘\e[1mmsgstr\e[0m’ does not "
-"match"
+"- Set LC_ALL to a locale with encoding %s,\n"
+"  convert the translation catalog to %s using 'msgconv',\n"
+"  then apply '%s',\n"
+"  then convert back to %s using 'msgconv'.\n"
 
-#: src/msgfmt.c:1014
+#: src/msgl-charset.c:127
 #, c-format
-msgid "format specifications for argument %lu are not the same"
-msgstr "format specifications for argument %lu are not the same"
+msgid ""
+"Locale charset \"%s\" is not a portable encoding name.\n"
+"Output of '%s' might be incorrect.\n"
+"A possible workaround is to set LC_ALL=C.\n"
+msgstr ""
+"Locale charset “\e[1m%s\e[0m” is not a portable encoding name.\n"
+"Output of ‘\e[1m%s\e[0m’ might be incorrect.\n"
+"A possible workaround is to set LC_ALL=C.\n"
 
-#: src/msgmerge.c:320
-#, c-format, no-wrap
+#: src/msgl-iconv.c:200 src/msgl-iconv.c:254
+msgid "conversion failure"
+msgstr "conversion failure"
+
+#: src/msgl-iconv.c:328
+msgid "input file doesn't contain a header entry with a charset specification"
+msgstr "input file doesn't contain a header entry with a charset specification"
+
+#: src/msgl-iconv.c:346
+#, c-format
 msgid ""
-"Usage: %s [OPTION] def.po ref.po\n"
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"  -C, --compendium=FILE       additional library of message translations,\n"
-"                              may be specified more than once\n"
-"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
-"  -e, --no-escape             do not use C escapes in output (default)\n"
-"  -E, --escape                use C escapes in output, no extended chars\n"
-"      --force-po              write PO file even if empty\n"
-"  -h, --help                  display this help and exit\n"
-"  -i, --indent                indented output style\n"
-"  -o, --output-file=FILE      result will be written to FILE\n"
-"      --no-location           suppress '#: filename:line' lines\n"
-"      --add-location          preserve '#: filename:line' lines (default)\n"
-"      --strict                strict Uniforum output style\n"
-"  -v, --verbose               increase verbosity level\n"
-"  -V, --version               output version information and exit\n"
-"  -w, --width=NUMBER          set output page width\n"
+"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(), and iconv() does "
+"not support this conversion."
 msgstr ""
-"Usage: %s [OPTION] def.po ref.po\n"
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"  -C, --compendium=FILE       additional library of message translations,\n"
-"                              may be specified more than once\n"
-"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
-"  -e, --no-escape             do not use C escapes in output (default)\n"
-"  -E, --escape                use C escapes in output, no extended chars\n"
-"      --force-po              write PO file even if empty\n"
-"  -h, --help                  display this help and exit\n"
-"  -i, --indent                indented output style\n"
-"  -o, --output-file=FILE      result will be written to FILE\n"
-"      --no-location           suppress ‘\e[1m#: filename:line\e[0m’ lines\n"
-"      --add-location          preserve ‘\e[1m#: filename:line\e[0m’ lines (default)\n"
-"      --strict                strict Uniforum output style\n"
-"  -v, --verbose               increase verbosity level\n"
-"  -V, --version               output version information and exit\n"
-"  -w, --width=NUMBER          set output page width\n"
+"Cannot convert from “\e[1m%s\e[0m” to “\e[1m%s\e[0m”. %s relies on iconv(), and iconv"
+"() does not support this conversion."
+
+#: src/msgl-iconv.c:362
+#, c-format
+msgid ""
+"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(). This version was "
+"built without iconv()."
+msgstr ""
+"Cannot convert from “\e[1m%s\e[0m” to “\e[1m%s\e[0m”. %s relies on iconv(). This "
+"version was built without iconv()."
 
 #: src/msgmerge.c:340
+msgid "backup type"
+msgstr "backup type"
+
+#: src/msgmerge.c:377
 #, no-wrap
 msgid ""
-"\n"
 "Merges two Uniforum style .po files together.  The def.po file is an\n"
-"existing PO file with the old translations which will be taken over to\n"
-"the newly created file as long as they still match; comments will be\n"
-"preserved, but extract comments and file positions will be discarded.\n"
-"The ref.po file is the last created PO file (generally by xgettext), any\n"
-"translations or comments in the file will be discarded, however dot\n"
+"existing PO file with translations which will be taken over to the newly\n"
+"created file as long as they still match; comments will be preserved,\n"
+"but extracted comments and file positions will be discarded.  The ref.pot\n"
+"file is the last created PO file with up-to-date source references but\n"
+"old translations, or a PO Template file (generally created by xgettext);\n"
+"any translations or comments in the file will be discarded, however dot\n"
 "comments and file positions will be preserved.  Where an exact match\n"
-"cannot be found, fuzzy matching is used to produce better results.  The\n"
-"results are written to stdout unless an output file is specified.\n"
+"cannot be found, fuzzy matching is used to produce better results.\n"
 msgstr ""
-"\n"
 "Merges two Uniforum style .po files together.  The def.po file is an\n"
-"existing PO file with the old translations which will be taken over to\n"
-"the newly created file as long as they still match; comments will be\n"
-"preserved, but extract comments and file positions will be discarded.\n"
-"The ref.po file is the last created PO file (generally by xgettext), any\n"
-"translations or comments in the file will be discarded, however dot\n"
+"existing PO file with translations which will be taken over to the newly\n"
+"created file as long as they still match; comments will be preserved,\n"
+"but extracted comments and file positions will be discarded.  The ref.pot\n"
+"file is the last created PO file with up-to-date source references but\n"
+"old translations, or a PO Template file (generally created by xgettext);\n"
+"any translations or comments in the file will be discarded, however dot\n"
 "comments and file positions will be preserved.  Where an exact match\n"
-"cannot be found, fuzzy matching is used to produce better results.  The\n"
-"results are written to stdout unless an output file is specified.\n"
+"cannot be found, fuzzy matching is used to produce better results.\n"
+
+#: src/msgmerge.c:395
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  def.po                      translations referring to old sources\n"
+"  ref.pot                     references to new sources\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"  -C, --compendium=FILE       additional library of message translations,\n"
+"                              may be specified more than once\n"
+msgstr ""
+"Input file location:\n"
+"  def.po                      translations referring to old sources\n"
+"  ref.pot                     references to new sources\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"  -C, --compendium=FILE       additional library of message translations,\n"
+"                              may be specified more than once\n"
+
+#: src/msgmerge.c:405
+#, no-wrap
+msgid ""
+"Operation mode:\n"
+"  -U, --update                update def.po,\n"
+"                              do nothing if def.po already up to date\n"
+msgstr ""
+"Operation mode:\n"
+"  -U, --update                update def.po,\n"
+"                              do nothing if def.po already up to date\n"
 
-#: src/msgmerge.c:799
+#: src/msgmerge.c:420
+#, no-wrap
+msgid ""
+"Output file location in update mode:\n"
+"The result is written back to def.po.\n"
+"      --backup=CONTROL        make a backup of def.po\n"
+"      --suffix=SUFFIX         override the usual backup suffix\n"
+"The version control method may be selected via the --backup option or through\n"
+"the VERSION_CONTROL environment variable.  Here are the values:\n"
+"  none, off       never make backups (even if --backup is given)\n"
+"  numbered, t     make numbered backups\n"
+"  existing, nil   numbered if numbered backups exist, simple otherwise\n"
+"  simple, never   always make simple backups\n"
+"The backup suffix is `~', unless set with --suffix or the SIMPLE_BACKUP_SUFFIX\n"
+"environment variable.\n"
+msgstr ""
+"Output file location in update mode:\n"
+"The result is written back to def.po.\n"
+"      --backup=CONTROL        make a backup of def.po\n"
+"      --suffix=SUFFIX         override the usual backup suffix\n"
+"The version control method may be selected via the --backup option or through\n"
+"the VERSION_CONTROL environment variable.  Here are the values:\n"
+"  none, off       never make backups (even if --backup is given)\n"
+"  numbered, t     make numbered backups\n"
+"  existing, nil   numbered if numbered backups exist, simple otherwise\n"
+"  simple, never   always make simple backups\n"
+"The backup suffix is ‘\e[1m~\e[0m’, unless set with --suffix or the SIMPLE_BACKUP_SUFFIX\n"
+"environment variable.\n"
+
+#: src/msgmerge.c:457
+#, no-wrap
+msgid ""
+"Informative output:\n"
+"  -h, --help                  display this help and exit\n"
+"  -V, --version               output version information and exit\n"
+"  -v, --verbose               increase verbosity level\n"
+"  -q, --quiet, --silent       suppress progress indicators\n"
+msgstr ""
+"Informative output:\n"
+"  -h, --help                  display this help and exit\n"
+"  -V, --version               output version information and exit\n"
+"  -v, --verbose               increase verbosity level\n"
+"  -q, --quiet, --silent       suppress progress indicators\n"
+
+#: src/msgmerge.c:625
+msgid "this message should define plural forms"
+msgstr "this message should define plural forms"
+
+#: src/msgmerge.c:648
+msgid "this message should not define plural forms"
+msgstr "this message should not define plural forms"
+
+#: src/msgmerge.c:779
 #, c-format
 msgid ""
 "%sRead %ld old + %ld reference, merged %ld, fuzzied %ld, missing %ld, "
@@ -647,81 +1837,156 @@ msgstr ""
 "%sRead %ld old + %ld reference, merged %ld, fuzzied %ld, missing %ld, "
 "obsolete %ld.\n"
 
-#: src/msgmerge.c:806
+#: src/msgmerge.c:787
 msgid " done.\n"
 msgstr " done.\n"
 
-#: src/msgunfmt.c:210
+#: src/msgunfmt.c:201
+#, c-format
+msgid "%s and explicit file names are mutually exclusive"
+msgstr "%s and explicit file names are mutually exclusive"
+
+#: src/msgunfmt.c:267
 #, c-format, no-wrap
+msgid "Usage: %s [OPTION] [FILE]...\n"
+msgstr "Usage: %s [OPTION] [FILE]...\n"
+
+#: src/msgunfmt.c:272
+#, no-wrap
+msgid "Convert binary message catalog to Uniforum style .po file.\n"
+msgstr "Convert binary message catalog to Uniforum style .po file.\n"
+
+#: src/msgunfmt.c:282
+#, no-wrap
 msgid ""
-"Usage: %s [OPTION] [FILE]...\n"
-"Mandatory arguments to long options are mandatory for short options too.\n"
+"Operation mode:\n"
+"  -j, --java               Java mode: generate a Java ResourceBundle class\n"
+msgstr ""
+"Operation mode:\n"
+"  -j, --java               Java mode: generate a Java ResourceBundle class\n"
+
+#: src/msgunfmt.c:288
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  FILE ...                 input .mo files\n"
+"If no input file is given or if it is -, standard input is read.\n"
+msgstr ""
+"Input file location:\n"
+"  FILE ...                 input .mo files\n"
+"If no input file is given or if it is -, standard input is read.\n"
+
+#: src/msgunfmt.c:295
+#, no-wrap
+msgid ""
+"Input file location in Java mode:\n"
+"  -r, --resource=RESOURCE  resource name\n"
+"  -l, --locale=LOCALE      locale name, either language or language_COUNTRY\n"
+"The class name is determined by appending the locale name to the resource name,\n"
+"separated with an underscore.  The class is located using the CLASSPATH.\n"
+msgstr ""
+"Input file location in Java mode:\n"
+"  -r, --resource=RESOURCE  resource name\n"
+"  -l, --locale=LOCALE      locale name, either language or language_COUNTRY\n"
+"The class name is determined by appending the locale name to the resource name,\n"
+"separated with an underscore.  The class is located using the CLASSPATH.\n"
+
+#: src/msgunfmt.c:304
+#, no-wrap
+msgid ""
+"Output file location:\n"
+"  -o, --output-file=FILE   write output to specified file\n"
+"The results are written to standard output if no output file is specified\n"
+"or if it is -.\n"
+msgstr ""
+"Output file location:\n"
+"  -o, --output-file=FILE   write output to specified file\n"
+"The results are written to standard output if no output file is specified\n"
+"or if it is -.\n"
+
+#: src/msgunfmt.c:312
+#, no-wrap
+msgid ""
+"Output details:\n"
 "  -e, --no-escape          do not use C escapes in output (default)\n"
 "  -E, --escape             use C escapes in output, no extended chars\n"
 "      --force-po           write PO file even if empty\n"
-"  -h, --help               display this help and exit\n"
 "  -i, --indent             write indented output style\n"
-"  -o, --output-file=FILE   write output into FILE instead of standard output\n"
 "      --strict             write strict uniforum style\n"
-"  -V, --version            output version information and exit\n"
 "  -w, --width=NUMBER       set output page width\n"
+"  -s, --sort-output        generate sorted output\n"
 msgstr ""
-"Usage: %s [OPTION] [FILE]...\n"
-"Mandatory arguments to long options are mandatory for short options too.\n"
+"Output details:\n"
 "  -e, --no-escape          do not use C escapes in output (default)\n"
 "  -E, --escape             use C escapes in output, no extended chars\n"
 "      --force-po           write PO file even if empty\n"
-"  -h, --help               display this help and exit\n"
 "  -i, --indent             write indented output style\n"
-"  -o, --output-file=FILE   write output into FILE instead of standard output\n"
 "      --strict             write strict uniforum style\n"
-"  -V, --version            output version information and exit\n"
 "  -w, --width=NUMBER       set output page width\n"
+"  -s, --sort-output        generate sorted output\n"
 
-#: src/msgunfmt.c:224
+#: src/msgunfmt.c:324
 #, no-wrap
 msgid ""
-"\n"
-"Convert binary .mo files to Uniforum style .po files.\n"
-"Both little-endian and big-endian .mo files are handled.\n"
-"If no input file is given or it is -, standard input is read.\n"
-"By default the output is written to standard output.\n"
+"Informative output:\n"
+"  -h, --help               display this help and exit\n"
+"  -V, --version            output version information and exit\n"
+"  -v, --verbose            increase verbosity level\n"
 msgstr ""
-"\n"
-"Convert binary .mo files to Uniforum style .po files.\n"
-"Both little-endian and big-endian .mo files are handled.\n"
-"If no input file is given or it is -, standard input is read.\n"
-"By default the output is written to standard output.\n"
-
-#: src/msgunfmt.c:261 src/msgunfmt.c:326 src/po-lex.c:216 src/xget-lex.c:243
-#, c-format
-msgid "error while reading \"%s\""
-msgstr "error while reading “\e[1m%s\e[0m”"
-
-#: src/msgunfmt.c:262 src/msgunfmt.c:327
-#, c-format
-msgid "file \"%s\" truncated"
-msgstr "file “\e[1m%s\e[0m” truncated"
-
-#: src/msgunfmt.c:293
-#, c-format
-msgid "seek \"%s\" offset %ld failed"
-msgstr "seek “\e[1m%s\e[0m” offset %ld failed"
-
-#: src/msgunfmt.c:332
-#, c-format
-msgid "file \"%s\" contains a not NUL terminated string"
-msgstr "file “\e[1m%s\e[0m” contains a not NUL terminated string"
+"Informative output:\n"
+"  -h, --help               display this help and exit\n"
+"  -V, --version            output version information and exit\n"
+"  -v, --verbose            increase verbosity level\n"
 
-#: src/msgunfmt.c:377
-#, c-format
-msgid "file \"%s\" is not in GNU .mo format"
-msgstr "file “\e[1m%s\e[0m” is not in GNU .mo format"
+#: src/msguniq.c:279
+#, no-wrap
+msgid ""
+"Unifies duplicate translations in a translation catalog.\n"
+"Finds duplicate translations of the same message ID.  Such duplicates are\n"
+"invalid input for other programs like msgfmt, msgmerge or msgcat.  By\n"
+"default, duplicates are merged together.  When using the --repeated option,\n"
+"only duplicates are output, and all other messages are discarded.  Comments\n"
+"and extracted comments will be cumulated, except that if --use-first is\n"
+"specified, they will be taken from the first translation.  File positions\n"
+"will be cumulated.  When using the --unique option, duplicates are discarded.\n"
+msgstr ""
+"Unifies duplicate translations in a translation catalog.\n"
+"Finds duplicate translations of the same message ID.  Such duplicates are\n"
+"invalid input for other programs like msgfmt, msgmerge or msgcat.  By\n"
+"default, duplicates are merged together.  When using the --repeated option,\n"
+"only duplicates are output, and all other messages are discarded.  Comments\n"
+"and extracted comments will be cumulated, except that if --use-first is\n"
+"specified, they will be taken from the first translation.  File positions\n"
+"will be cumulated.  When using the --unique option, duplicates are discarded.\n"
+
+#: src/msguniq.c:312
+#, no-wrap
+msgid ""
+"Message selection:\n"
+"  -d, --repeated                 print only duplicates\n"
+"  -u, --unique                   print only unique messages, discard duplicates\n"
+msgstr ""
+"Message selection:\n"
+"  -d, --repeated                 print only duplicates\n"
+"  -u, --unique                   print only unique messages, discard duplicates\n"
 
-#: src/ngettext.c:209
+#: src/ngettext.c:215
 #, c-format, no-wrap
+msgid "Usage: %s [OPTION] [TEXTDOMAIN] MSGID MSGID-PLURAL COUNT\n"
+msgstr "Usage: %s [OPTION] [TEXTDOMAIN] MSGID MSGID-PLURAL COUNT\n"
+
+#: src/ngettext.c:220
+#, no-wrap
+msgid ""
+"Display native language translation of a textual message whose grammatical\n"
+"form depends on a number.\n"
+msgstr ""
+"Display native language translation of a textual message whose grammatical\n"
+"form depends on a number.\n"
+
+#: src/ngettext.c:225
+#, no-wrap
 msgid ""
-"Usage: %s [OPTION] [TEXTDOMAIN] MSGID MSGID-PLURAL COUNT\n"
 "  -d, --domain=TEXTDOMAIN   retrieve translated message from TEXTDOMAIN\n"
 "  -e                        enable expansion of some escape sequences\n"
 "  -E                        (ignored for compatibility)\n"
@@ -731,7 +1996,6 @@ msgid ""
 "  MSGID MSGID-PLURAL        translate MSGID (singular) / MSGID-PLURAL (plural)\n"
 "  COUNT                     choose singular/plural form based on this value\n"
 msgstr ""
-"Usage: %s [OPTION] [TEXTDOMAIN] MSGID MSGID-PLURAL COUNT\n"
 "  -d, --domain=TEXTDOMAIN   retrieve translated message from TEXTDOMAIN\n"
 "  -e                        enable expansion of some escape sequences\n"
 "  -E                        (ignored for compatibility)\n"
@@ -741,85 +2005,32 @@ msgstr ""
 "  MSGID MSGID-PLURAL        translate MSGID (singular) / MSGID-PLURAL (plural)\n"
 "  COUNT                     choose singular/plural form based on this value\n"
 
-#: src/ngettext.c:221
+#: src/ngettext.c:236
 #, c-format, no-wrap
 msgid ""
-"\n"
 "If the TEXTDOMAIN parameter is not given, the domain is determined from the\n"
 "environment variable TEXTDOMAIN.  If the message catalog is not found in the\n"
 "regular directory, another location can be specified with the environment\n"
 "variable TEXTDOMAINDIR.\n"
 "Standard search directory: %s\n"
 msgstr ""
-"\n"
 "If the TEXTDOMAIN parameter is not given, the domain is determined from the\n"
 "environment variable TEXTDOMAIN.  If the message catalog is not found in the\n"
 "regular directory, another location can be specified with the environment\n"
 "variable TEXTDOMAINDIR.\n"
 "Standard search directory: %s\n"
 
-#: src/open-po.c:64
+#: src/open-po.c:69
 msgid "<stdin>"
 msgstr "<stdin>"
 
-#: po-gram-gen.y:87
-msgid "inconsistent use of #~"
-msgstr "inconsistent use of #~"
-
-#: po-gram-gen.y:168
-msgid "missing `msgstr[]' section"
-msgstr "missing ‘\e[1mmsgstr[]\e[0m’ section"
-
-#: po-gram-gen.y:176
-msgid "missing `msgid_plural' section"
-msgstr "missing ‘\e[1mmsgid_plural\e[0m’ section"
-
-#: po-gram-gen.y:183
-msgid "missing `msgstr' section"
-msgstr "missing ‘\e[1mmsgstr\e[0m’ section"
-
-#: po-gram-gen.y:228
-msgid "first plural form has nonzero index"
-msgstr "first plural form has nonzero index"
-
-#: po-gram-gen.y:230
-msgid "plural form has wrong index"
-msgstr "plural form has wrong index"
-
-#. CAUTION: If you change this macro, you must also make identical
-#. changes to the function of the same name in src/po-lex.c
-#: src/po-lex.c:159 src/po-lex.c:198 src/po-lex.h:85 src/po-lex.h:99
-#: src/po-lex.h:115 src/po-lex.h:129
-msgid "too many errors, aborting"
-msgstr "too many errors, aborting"
-
-#: src/po-lex.c:274
-#, c-format
-msgid "keyword \"%s\" unknown"
-msgstr "keyword “\e[1m%s\e[0m” unknown"
-
-#: src/po-lex.c:377
-msgid "invalid control sequence"
-msgstr "invalid control sequence"
-
-#: src/po-lex.c:480
-msgid "end-of-file within string"
-msgstr "end-of-file within string"
-
-#: src/po-lex.c:485
-msgid "end-of-line within string"
-msgstr "end-of-line within string"
-
-#: src/po-lex.c:528 src/write-po.c:285 src/write-po.c:367
-msgid "invalid multibyte sequence"
-msgstr "invalid multibyte sequence"
-
-#: src/po.c:302 src/po.c:374 src/po.c:409 src/po.c:439
+#: src/po-charset.c:172 src/po-charset.c:240 src/po-charset.c:268
+#: src/po-charset.c:294
 #, c-format
 msgid "%s: warning: "
 msgstr "%s: warning: "
 
-#: src/po.c:303
+#: src/po-charset.c:173
 #, c-format
 msgid ""
 "Charset \"%s\" is not a portable encoding name.\n"
@@ -828,15 +2039,15 @@ msgstr ""
 "Charset “\e[1m%s\e[0m” is not a portable encoding name.\n"
 "Message conversion to user's charset might not work.\n"
 
-#: src/po.c:370 src/po.c:405
+#: src/po-charset.c:236 src/po-charset.c:266
 msgid "Continuing anyway, expect parse errors."
 msgstr "Continuing anyway, expect parse errors."
 
-#: src/po.c:372
+#: src/po-charset.c:238
 msgid "Continuing anyway."
 msgstr "Continuing anyway."
 
-#: src/po.c:375
+#: src/po-charset.c:241
 #, c-format
 msgid ""
 "Charset \"%s\" is not supported. %s relies on iconv(),\n"
@@ -845,7 +2056,7 @@ msgstr ""
 "Charset “\e[1m%s\e[0m” is not supported. %s relies on iconv(),\n"
 "and iconv() does not support “\e[1m%s\e[0m”.\n"
 
-#: src/po.c:385 src/po.c:418
+#: src/po-charset.c:250 src/po-charset.c:276
 msgid ""
 "Installing GNU libiconv and then reinstalling GNU gettext\n"
 "would fix this problem.\n"
@@ -853,12 +2064,12 @@ msgstr ""
 "Installing GNU libiconv and then reinstalling GNU gettext\n"
 "would fix this problem.\n"
 
-#: src/po.c:393 src/po.c:425
+#: src/po-charset.c:255 src/po-charset.c:280
 #, c-format
 msgid "%s\n"
 msgstr "%s\n"
 
-#: src/po.c:410
+#: src/po-charset.c:269
 #, c-format
 msgid ""
 "Charset \"%s\" is not supported. %s relies on iconv().\n"
@@ -867,7 +2078,7 @@ msgstr ""
 "Charset “\e[1m%s\e[0m” is not supported. %s relies on iconv().\n"
 "This version was built without iconv().\n"
 
-#: src/po.c:440
+#: src/po-charset.c:295
 msgid ""
 "Charset missing in header.\n"
 "Message conversion to user's charset will not work.\n"
@@ -875,7 +2086,128 @@ msgstr ""
 "Charset missing in header.\n"
 "Message conversion to user's charset will not work.\n"
 
-#: src/write-po.c:316
+#: po-gram-gen.y:91
+msgid "inconsistent use of #~"
+msgstr "inconsistent use of #~"
+
+#: po-gram-gen.y:181
+msgid "missing `msgstr[]' section"
+msgstr "missing ‘\e[1mmsgstr[]\e[0m’ section"
+
+#: po-gram-gen.y:189
+msgid "missing `msgid_plural' section"
+msgstr "missing ‘\e[1mmsgid_plural\e[0m’ section"
+
+#: po-gram-gen.y:196
+msgid "missing `msgstr' section"
+msgstr "missing ‘\e[1mmsgstr\e[0m’ section"
+
+#: po-gram-gen.y:241
+msgid "first plural form has nonzero index"
+msgstr "first plural form has nonzero index"
+
+#: po-gram-gen.y:243
+msgid "plural form has wrong index"
+msgstr "plural form has wrong index"
+
+#: src/po-lex.h:91 src/po-lex.h:106 src/po-lex.h:126 src/po-lex.h:141
+#: src/po-lex.c:135 src/po-lex.c:176
+msgid "too many errors, aborting"
+msgstr "too many errors, aborting"
+
+#: src/po-lex.c:545 src/write-po.c:331 src/write-po.c:421
+msgid "invalid multibyte sequence"
+msgstr "invalid multibyte sequence"
+
+#: src/po-lex.c:571
+msgid "incomplete multibyte sequence at end of file"
+msgstr "incomplete multibyte sequence at end of file"
+
+#: src/po-lex.c:581
+msgid "incomplete multibyte sequence at end of line"
+msgstr "incomplete multibyte sequence at end of line"
+
+#: src/po-lex.c:589
+msgid "iconv failure"
+msgstr "iconv failure"
+
+#: src/po-lex.c:763 src/read-mo.c:70 src/read-mo.c:135 src/x-c.c:216
+#: src/x-rst.c:227 src/x-ycp.c:103
+#, c-format
+msgid "error while reading \"%s\""
+msgstr "error while reading “\e[1m%s\e[0m”"
+
+#: src/po-lex.c:829
+#, c-format
+msgid "keyword \"%s\" unknown"
+msgstr "keyword “\e[1m%s\e[0m” unknown"
+
+#: src/po-lex.c:939
+msgid "invalid control sequence"
+msgstr "invalid control sequence"
+
+#: src/po-lex.c:1047
+msgid "end-of-file within string"
+msgstr "end-of-file within string"
+
+#: src/po-lex.c:1053
+msgid "end-of-line within string"
+msgstr "end-of-line within string"
+
+#: src/read-mo.c:71 src/read-mo.c:136
+#, c-format
+msgid "file \"%s\" truncated"
+msgstr "file “\e[1m%s\e[0m” truncated"
+
+#: src/read-mo.c:102
+#, c-format
+msgid "seek \"%s\" offset %ld failed"
+msgstr "seek “\e[1m%s\e[0m” offset %ld failed"
+
+#: src/read-mo.c:141
+#, c-format
+msgid "file \"%s\" contains a not NUL terminated string"
+msgstr "file “\e[1m%s\e[0m” contains a not NUL terminated string"
+
+#: src/read-mo.c:186
+#, c-format
+msgid "file \"%s\" is not in GNU .mo format"
+msgstr "file “\e[1m%s\e[0m” is not in GNU .mo format"
+
+#: src/write-java.c:1108
+msgid "cannot find a temporary directory, try setting $TMPDIR"
+msgstr "cannot find a temporary directory, try setting $TMPDIR"
+
+#: src/write-java.c:1118
+#, c-format
+msgid "cannot create a temporary directory using template \"%s\""
+msgstr "cannot create a temporary directory using template “\e[1m%s\e[0m”"
+
+#: src/write-java.c:1131
+#, c-format
+msgid "not a valid Java class name: %s"
+msgstr "not a valid Java class name: %s"
+
+#: src/write-java.c:1188 src/write-java.c:1201
+#, c-format
+msgid "failed to create \"%s\""
+msgstr "failed to create “\e[1m%s\e[0m”"
+
+#: src/write-java.c:1209 src/write-mo.c:289 src/write-po.c:966
+#, c-format
+msgid "error while writing \"%s\" file"
+msgstr "error while writing “\e[1m%s\e[0m” file"
+
+#: src/write-java.c:1223
+msgid "compilation of Java class failed, please try --verbose or set $JAVAC"
+msgstr "compilation of Java class failed, please try --verbose or set $JAVAC"
+
+#: src/write-mo.c:277
+#, c-format
+msgid "error while opening \"%s\" for writing"
+msgstr "error while opening “\e[1m%s\e[0m” for writing"
+
+#: src/write-po.c:370
 #, c-format
 msgid ""
 "internationalized messages should not contain the `\\%c' escape sequence"
@@ -883,176 +2215,197 @@ msgstr ""
 "internationalized messages should not contain the ‘\e[1m\\%c\e[0m’ escape "
 "sequence"
 
-#: src/write-po.c:857
+#: src/write-po.c:724 src/write-po.c:818
+#, c-format
+msgid ""
+"The following msgid contains non-ASCII characters.\n"
+"This will cause problems to translators who use a character encoding\n"
+"different from yours. Consider using a pure ASCII msgid instead.\n"
+"%s\n"
+msgstr ""
+"The following msgid contains non-ASCII characters.\n"
+"This will cause problems to translators who use a character encoding\n"
+"different from yours. Consider using a pure ASCII msgid instead.\n"
+"%s\n"
+
+#: src/write-po.c:885
 #, c-format
 msgid "cannot create output file \"%s\""
 msgstr "cannot create output file “\e[1m%s\e[0m”"
 
-#: src/write-po.c:864
+#: src/write-po.c:892
 #, no-c-format
 msgid "standard output"
 msgstr "standard output"
 
-#: src/write-po.c:939
-#, c-format
-msgid "error while writing \"%s\" file"
-msgstr "error while writing “\e[1m%s\e[0m” file"
-
-#: src/xget-lex.c:148
-msgid "standard input"
-msgstr "standard input"
-
-#: src/xget-lex.c:876
+#: src/x-c.c:858
 #, c-format
 msgid "%s:%d: warning: unterminated character constant"
 msgstr "%s:%d: warning: unterminated character constant"
 
-#: src/xget-lex.c:898
+#: src/x-c.c:882
 #, c-format
 msgid "%s:%d: warning: unterminated string literal"
 msgstr "%s:%d: warning: unterminated string literal"
 
-#: src/xgettext.c:373
+#: src/x-po.c:106 src/xgettext.c:605
+msgid "this file may not contain domain directives"
+msgstr "this file may not contain domain directives"
+
+#: src/x-rst.c:108
+#, c-format
+msgid "%s:%d: invalid string definition"
+msgstr "%s:%d: invalid string definition"
+
+#: src/x-rst.c:168
+#, c-format
+msgid "%s:%d: missing number after #"
+msgstr "%s:%d: missing number after #"
+
+#: src/x-rst.c:203
+#, c-format
+msgid "%s:%d: invalid string expression"
+msgstr "%s:%d: invalid string expression"
+
+#: src/xgettext.c:375
 msgid "--join-existing cannot be used when output is written to stdout"
 msgstr "--join-existing cannot be used when output is written to stdout"
 
-#: src/xgettext.c:378
+#: src/xgettext.c:380
 msgid "xgettext cannot work without keywords to look for"
 msgstr "xgettext cannot work without keywords to look for"
 
-#: src/xgettext.c:484
+#: src/xgettext.c:468
 #, c-format
 msgid "warning: file `%s' extension `%s' is unknown; will try C"
 msgstr "warning: file ‘\e[1m%s\e[0m’ extension ‘\e[1m%s\e[0m’ is unknown; will try C"
 
-#: src/xgettext.c:520
-#, c-format, no-wrap
+#: src/xgettext.c:509
+#, no-wrap
+msgid "Extract translatable strings from given input files.\n"
+msgstr "Extract translatable strings from given input files.\n"
+
+#: src/xgettext.c:514
+#, no-wrap
 msgid ""
-"Usage: %s [OPTION] INPUTFILE ...\n"
-"Extract translatable string from given input files.\n"
-"\n"
 "Mandatory arguments to long options are mandatory for short options too.\n"
-"  -a, --extract-all              extract all strings\n"
+"Similarly for optional arguments.\n"
+msgstr ""
+"Mandatory arguments to long options are mandatory for short options too.\n"
+"Similarly for optional arguments.\n"
+
+#: src/xgettext.c:529
+#, no-wrap
+msgid ""
+"Output file location:\n"
+"  -d, --default-domain=NAME      use NAME.po for output (instead of messages.po)\n"
+"  -o, --output=FILE              write output to specified file\n"
+"  -p, --output-dir=DIR           output files will be placed in directory DIR\n"
+"If output file is -, output is written to standard output.\n"
+msgstr ""
+"Output file location:\n"
+"  -d, --default-domain=NAME      use NAME.po for output (instead of messages.po)\n"
+"  -o, --output=FILE              write output to specified file\n"
+"  -p, --output-dir=DIR           output files will be placed in directory DIR\n"
+"If output file is -, output is written to standard output.\n"
+
+#: src/xgettext.c:538
+#, no-wrap
+msgid ""
+"Choice of input file language:\n"
+"  -L, --language=NAME            recognise the specified language\n"
+"                                   (C, C++, ObjectiveC, PO, Java, YCP)\n"
+"  -C, --c++                      shorthand for --language=C++\n"
+"By default the language is guessed depending on the input file name extension.\n"
+msgstr ""
+"Choice of input file language:\n"
+"  -L, --language=NAME            recognise the specified language\n"
+"                                   (C, C++, ObjectiveC, PO, Java, YCP)\n"
+"  -C, --c++                      shorthand for --language=C++\n"
+"By default the language is guessed depending on the input file name extension.\n"
+
+#: src/xgettext.c:547
+#, no-wrap
+msgid ""
+"Operation mode:\n"
+"  -j, --join-existing            join messages with existing file\n"
+"  -x, --exclude-file=FILE.po     entries from FILE.po are not extracted\n"
 "  -c, --add-comments[=TAG]       place comment block with TAG (or those\n"
 "                                 preceding keyword lines) in output file\n"
-"  -C, --c++                      shorthand for --language=C++\n"
-"      --debug                    more detailed formatstring recognision result\n"
-"  -d, --default-domain=NAME      use NAME.po for output (instead of messages.po)\n"
-"  -D, --directory=DIRECTORY      add DIRECTORY to list for input files search\n"
-"  -e, --no-escape                do not use C escapes in output (default)\n"
-"  -E, --escape                   use C escapes in output, no extended chars\n"
-"  -f, --files-from=FILE          get list of input files from FILE\n"
-"      --force-po                 write PO file even if empty\n"
-"      --foreign-user             omit FSF copyright in output for foreign user\n"
-"  -F, --sort-by-file             sort output by file location\n"
 msgstr ""
-"Usage: %s [OPTION] INPUTFILE ...\n"
-"Extract translatable string from given input files.\n"
-"\n"
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"  -a, --extract-all              extract all strings\n"
+"Operation mode:\n"
+"  -j, --join-existing            join messages with existing file\n"
+"  -x, --exclude-file=FILE.po     entries from FILE.po are not extracted\n"
 "  -c, --add-comments[=TAG]       place comment block with TAG (or those\n"
 "                                 preceding keyword lines) in output file\n"
-"  -C, --c++                      shorthand for --language=C++\n"
-"      --debug                    more detailed formatstring recognision result\n"
-"  -d, --default-domain=NAME      use NAME.po for output (instead of messages.po)\n"
-"  -D, --directory=DIRECTORY      add DIRECTORY to list for input files search\n"
-"  -e, --no-escape                do not use C escapes in output (default)\n"
-"  -E, --escape                   use C escapes in output, no extended chars\n"
-"  -f, --files-from=FILE          get list of input files from FILE\n"
-"      --force-po                 write PO file even if empty\n"
-"      --foreign-user             omit FSF copyright in output for foreign user\n"
-"  -F, --sort-by-file             sort output by file location\n"
 
-#: src/xgettext.c:540
+#: src/xgettext.c:556
 #, no-wrap
 msgid ""
-"  -h, --help                     display this help and exit\n"
-"  -i, --indent                   write the .po file using indented style\n"
-"  -j, --join-existing            join messages with existing file\n"
-"  -k, --keyword[=WORD]           additonal keyword to be looked for (without\n"
+"Language=C/C++ specific options:\n"
+"  -a, --extract-all              extract all strings\n"
+"  -k, --keyword[=WORD]           additional keyword to be looked for (without\n"
 "                                 WORD means not to use default keywords)\n"
-"  -L, --language=NAME            recognise the specified language (C, C++, PO),\n"
-"                                 otherwise is guessed from file extension\n"
-"  -m, --msgstr-prefix[=STRING]   use STRING or \"\" as prefix for msgstr entries\n"
-"  -M, --msgstr-suffix[=STRING]   use STRING or \"\" as suffix for msgstr entries\n"
-"      --no-location              do not write '#: filename:line' lines\n"
+"  -T, --trigraphs                understand ANSI C trigraphs for input\n"
+"      --debug                    more detailed formatstring recognition result\n"
 msgstr ""
-"  -h, --help                     display this help and exit\n"
-"  -i, --indent                   write the .po file using indented style\n"
-"  -j, --join-existing            join messages with existing file\n"
-"  -k, --keyword[=WORD]           additonal keyword to be looked for (without\n"
+"Language=C/C++ specific options:\n"
+"  -a, --extract-all              extract all strings\n"
+"  -k, --keyword[=WORD]           additional keyword to be looked for (without\n"
 "                                 WORD means not to use default keywords)\n"
-"  -L, --language=NAME            recognise the specified language (C, C++, PO),\n"
-"                                 otherwise is guessed from file extension\n"
-"  -m, --msgstr-prefix[=STRING]   use STRING or \"\" as prefix for msgstr entries\n"
-"  -M, --msgstr-suffix[=STRING]   use STRING or \"\" as suffix for msgstr entries\n"
-"      --no-location              do not write ‘\e[1m#: filename:line\e[0m’ lines\n"
+"  -T, --trigraphs                understand ANSI C trigraphs for input\n"
+"      --debug                    more detailed formatstring recognition result\n"
 
-#: src/xgettext.c:552
+#: src/xgettext.c:566
 #, no-wrap
 msgid ""
+"Output details:\n"
+"  -e, --no-escape                do not use C escapes in output (default)\n"
+"  -E, --escape                   use C escapes in output, no extended chars\n"
+"      --force-po                 write PO file even if empty\n"
+"  -i, --indent                   write the .po file using indented style\n"
+"      --no-location              do not write '#: filename:line' lines\n"
 "  -n, --add-location             generate '#: filename:line' lines (default)\n"
-"      --omit-header              don't write header with `msgid \"\"' entry\n"
-"  -o, --output=FILE              write output to specified file\n"
-"  -p, --output-dir=DIR           output files will be placed in directory DIR\n"
-"  -s, --sort-output              generate sorted output and remove duplicates\n"
 "      --strict                   write out strict Uniforum conforming .po file\n"
-"  -T, --trigraphs                understand ANSI C trigraphs for input\n"
-"  -V, --version                  output version information and exit\n"
 "  -w, --width=NUMBER             set output page width\n"
-"  -x, --exclude-file=FILE        entries from FILE are not extracted\n"
-"\n"
-"If INPUTFILE is -, standard input is read.\n"
+"  -s, --sort-output              generate sorted output\n"
+"  -F, --sort-by-file             sort output by file location\n"
+"      --omit-header              don't write header with `msgid \"\"' entry\n"
+"      --foreign-user             omit FSF copyright in output for foreign user\n"
+"  -m, --msgstr-prefix[=STRING]   use STRING or \"\" as prefix for msgstr entries\n"
+"  -M, --msgstr-suffix[=STRING]   use STRING or \"\" as suffix for msgstr entries\n"
 msgstr ""
+"Output details:\n"
+"  -e, --no-escape                do not use C escapes in output (default)\n"
+"  -E, --escape                   use C escapes in output, no extended chars\n"
+"      --force-po                 write PO file even if empty\n"
+"  -i, --indent                   write the .po file using indented style\n"
+"      --no-location              do not write ‘\e[1m#: filename:line\e[0m’ lines\n"
 "  -n, --add-location             generate ‘\e[1m#: filename:line\e[0m’ lines (default)\n"
-"      --omit-header              don't write header with ‘\e[1mmsgid \"\"\e[0m’ entry\n"
-"  -o, --output=FILE              write output to specified file\n"
-"  -p, --output-dir=DIR           output files will be placed in directory DIR\n"
-"  -s, --sort-output              generate sorted output and remove duplicates\n"
 "      --strict                   write out strict Uniforum conforming .po file\n"
-"  -T, --trigraphs                understand ANSI C trigraphs for input\n"
-"  -V, --version                  output version information and exit\n"
 "  -w, --width=NUMBER             set output page width\n"
-"  -x, --exclude-file=FILE        entries from FILE are not extracted\n"
-"\n"
-"If INPUTFILE is -, standard input is read.\n"
+"  -s, --sort-output              generate sorted output\n"
+"  -F, --sort-by-file             sort output by file location\n"
+"      --omit-header              don't write header with ‘\e[1mmsgid \"\"\e[0m’ entry\n"
+"      --foreign-user             omit FSF copyright in output for foreign user\n"
+"  -m, --msgstr-prefix[=STRING]   use STRING or \"\" as prefix for msgstr entries\n"
+"  -M, --msgstr-suffix[=STRING]   use STRING or \"\" as suffix for msgstr entries\n"
 
-#: src/xgettext.c:914
-#, c-format
-msgid "%s:%d: warning: keyword nested in keyword arg"
-msgstr "%s:%d: warning: keyword nested in keyword arg"
+#: src/xgettext.c:720
+msgid "standard input"
+msgstr "standard input"
 
-#: src/xgettext.c:924
-#, c-format
-msgid "%s:%d: warning: keyword between outer keyword and its arg"
-msgstr "%s:%d: warning: keyword between outer keyword and its arg"
+#: src/xgettext.c:830
+msgid ""
+"Empty msgid.  It is reserved by GNU gettext:\n"
+"gettext(\"\") returns the header entry with\n"
+"meta information, not the empty string.\n"
+msgstr ""
+"Empty msgid.  It is reserved by GNU gettext:\n"
+"gettext(\"\") returns the header entry with\n"
+"meta information, not the empty string.\n"
 
-#: src/xgettext.c:1420
+#: src/xgettext.c:1099
 #, c-format
 msgid "language `%s' unknown"
 msgstr "language ‘\e[1m%s\e[0m’ unknown"
-
-#~ msgid "%s: warning: charset \"%s\" is not supported by iconv%s"
-#~ msgstr "%s: warning: charset “\e[1m%s\e[0m” is not supported by iconv%s"
-
-#~ msgid ""
-#~ "%s: warning: charset \"%s\" is not supported by iconv%s\n"
-#~ "%*s  warning: consider installing GNU libiconv and then\n"
-#~ "%*s           reinstalling GNU gettext"
-#~ msgstr ""
-#~ "%s: warning: charset “\e[1m%s\e[0m” is not supported by iconv%s\n"
-#~ "%*s  warning: consider installing GNU libiconv and then\n"
-#~ "%*s           reinstalling GNU gettext"
-
-#~ msgid ""
-#~ "%s: warning: charset \"%s\" is not supported without iconv%s\n"
-#~ "%*s  warning: consider installing GNU libiconv and then\n"
-#~ "%*s           reinstalling GNU gettext"
-#~ msgstr ""
-#~ "%s: warning: charset “\e[1m%s\e[0m” is not supported without iconv%s\n"
-#~ "%*s  warning: consider installing GNU libiconv and then\n"
-#~ "%*s           reinstalling GNU gettext"
-
-#~ msgid "Memory exhausted"
-#~ msgstr "Memory exhausted"
index 14301cdc2d6e35a72917677008452d3585c4f2d5..d815248b940a3e62712766750572f2ffb86a31cc 100644 (file)
Binary files a/po/en@quot.gmo and b/po/en@quot.gmo differ
index 8b784229cc65aa22143f5387f4daad768b166c28..a51920ad7862c1ef7d38ee6f54380479422f38b3 100644 (file)
@@ -1,6 +1,6 @@
 # English translations for GNU gettext package.
 # Copyright (C) 2001 Free Software Foundation, Inc.
-# Bruno Haible <haible@clisp.cons.org>, 2001.
+# Automatically generated, 2001.
 #
 # All this catalog "translates" are quotation characters.
 # The msgids must be ASCII and therefore cannot contain real quotation
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: GNU gettext 0.10.36\n"
-"POT-Creation-Date: 2001-04-18 22:38+0200\n"
-"PO-Revision-Date: 2001-03-11 00:36+0100\n"
-"Last-Translator: Bruno Haible <haible@clisp.cons.org>\n"
-"Language-Team: English <en@li.org>\n"
+"Project-Id-Version: GNU gettext 0.11-pre2\n"
+"POT-Creation-Date: 2001-11-30 14:18+0100\n"
+"PO-Revision-Date: 2001-11-30 14:18+0100\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8-bit\n"
+"Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
+#: lib/argmatch.c:141
+#, c-format
+msgid "invalid argument `%s' for `%s'"
+msgstr "invalid argument ‘%s’ for ‘%s’"
+
+#: lib/argmatch.c:142
+#, c-format
+msgid "ambiguous argument `%s' for `%s'"
+msgstr "ambiguous argument ‘%s’ for ‘%s’"
+
+#: lib/argmatch.c:162
+msgid "Valid arguments are:"
+msgstr "Valid arguments are:"
+
+#: lib/copy-file.c:60 src/file-list.c:57 src/po-lex.c:732 src/read-mo.c:170
+#: src/xgettext.c:729 src/xgettext.c:742 src/xgettext.c:752
+#, c-format
+msgid "error while opening \"%s\" for reading"
+msgstr "error while opening “%s” for reading"
+
+#: lib/copy-file.c:67
+#, c-format
+msgid "cannot open backup file \"%s\" for writing"
+msgstr "cannot open backup file “%s” for writing"
+
+#: lib/copy-file.c:80
+#, c-format
+msgid "error reading \"%s\""
+msgstr "error reading “%s”"
+
+#: lib/copy-file.c:86 lib/copy-file.c:90
+#, c-format
+msgid "error writing \"%s\""
+msgstr "error writing “%s”"
+
+#: lib/copy-file.c:92
+#, c-format
+msgid "error after reading \"%s\""
+msgstr "error after reading “%s”"
+
 #: lib/error.c:115
 msgid "Unknown system error"
 msgstr "Unknown system error"
 
+#: lib/execute.c:170 lib/execute.c:205 lib/pipe-bidi.c:156 lib/pipe-bidi.c:191
+#: lib/pipe-in.c:167 lib/pipe-in.c:202 lib/pipe-out.c:167 lib/pipe-out.c:202
+#: lib/wait-process.c:136
+#, c-format
+msgid "%s subprocess failed"
+msgstr "%s subprocess failed"
+
 #: lib/getopt.c:691
 #, c-format
 msgid "%s: option `%s' is ambiguous\n"
@@ -60,19 +107,16 @@ msgstr "%s: option ‘%c%s’ doesn't allow an argument\n"
 msgid "%s: option `%s' requires an argument\n"
 msgstr "%s: option ‘%s’ requires an argument\n"
 
-#. --option
 #: lib/getopt.c:768
 #, c-format
 msgid "%s: unrecognized option `--%s'\n"
 msgstr "%s: unrecognized option ‘--%s’\n"
 
-#. +option or -option
 #: lib/getopt.c:772
 #, c-format
 msgid "%s: unrecognized option `%c%s'\n"
 msgstr "%s: unrecognized option ‘%c%s’\n"
 
-#. 1003.2 specifies the format of this message.
 #: lib/getopt.c:798
 #, c-format
 msgid "%s: illegal option -- %c\n"
@@ -83,7 +127,6 @@ msgstr "%s: illegal option -- %c\n"
 msgid "%s: invalid option -- %c\n"
 msgstr "%s: invalid option -- %c\n"
 
-#. 1003.2 specifies the format of this message.
 #: lib/getopt.c:831 lib/getopt.c:961
 #, c-format
 msgid "%s: option requires an argument -- %c\n"
@@ -99,13 +142,119 @@ msgstr "%s: option ‘-W %s’ is ambiguous\n"
 msgid "%s: option `-W %s' doesn't allow an argument\n"
 msgstr "%s: option ‘-W %s’ doesn't allow an argument\n"
 
-#: lib/obstack.c:474 lib/xmalloc.c:86 src/po.c:308 src/po.c:381 src/po.c:389
-#: src/po.c:395 src/po.c:415 src/po.c:422 src/po.c:427 src/po.c:444
+#: lib/javacomp.c:465
+msgid "Java compiler not found, try installing gcj or set $JAVAC"
+msgstr "Java compiler not found, try installing gcj or set $JAVAC"
+
+#: lib/javaexec.c:404
+msgid "Java virtual machine not found, try installing gij or set $JAVA"
+msgstr "Java virtual machine not found, try installing gij or set $JAVA"
+
+#: lib/obstack.c:474 lib/xerror.c:75 lib/xmalloc.c:56
 msgid "memory exhausted"
 msgstr "memory exhausted"
 
-#: src/gettext.c:140 src/msgcmp.c:140 src/msgcomm.c:279 src/msgfmt.c:270
-#: src/msgmerge.c:255 src/msgunfmt.c:170 src/ngettext.c:120 src/xgettext.c:388
+#: lib/pipe-bidi.c:119 lib/pipe-bidi.c:121 lib/pipe-in.c:136
+#: lib/pipe-out.c:136
+msgid "cannot create pipe"
+msgstr "cannot create pipe"
+
+#: lib/wait-process.c:117
+#, c-format
+msgid "%s subprocess"
+msgstr "%s subprocess"
+
+#: lib/wait-process.c:129
+#, c-format
+msgid "%s subprocess got fatal signal"
+msgstr "%s subprocess got fatal signal"
+
+#: src/format-c.c:578 src/format-python.c:463
+msgid "number of format specifications in 'msgid' and 'msgstr' does not match"
+msgstr "number of format specifications in ‘msgid’ and ‘msgstr’ does not match"
+
+#: src/format-c.c:588 src/format-python.c:473
+#, c-format
+msgid ""
+"format specifications in 'msgid' and 'msgstr' for argument %u are not the "
+"same"
+msgstr ""
+"format specifications in ‘msgid’ and ‘msgstr’ for argument %u are not the "
+"same"
+
+#: src/format-java.c:652 src/format-pascal.c:396
+#, c-format
+msgid "a format specification for argument {%u} doesn't exist in 'msgid'"
+msgstr "a format specification for argument {%u} doesn't exist in ‘msgid’"
+
+#: src/format-java.c:662 src/format-pascal.c:406
+#, c-format
+msgid "a format specification for argument {%u} doesn't exist in 'msgstr'"
+msgstr "a format specification for argument {%u} doesn't exist in ‘msgstr’"
+
+#: src/format-java.c:676 src/format-pascal.c:420
+#, c-format
+msgid ""
+"format specifications in 'msgid' and 'msgstr' for argument {%u} are not the "
+"same"
+msgstr ""
+"format specifications in ‘msgid’ and ‘msgstr’ for argument {%u} are not the "
+"same"
+
+#: src/format-lisp.c:3371
+msgid "format specifications in 'msgid' and 'msgstr' are not equivalent"
+msgstr "format specifications in ‘msgid’ and ‘msgstr’ are not equivalent"
+
+#: src/format-python.c:391
+msgid ""
+"format specifications in 'msgid' expect a mapping, those in 'msgstr' expect "
+"a tuple"
+msgstr ""
+"format specifications in ‘msgid’ expect a mapping, those in ‘msgstr’ expect "
+"a tuple"
+
+#: src/format-python.c:399
+msgid ""
+"format specifications in 'msgid' expect a tuple, those in 'msgstr' expect a "
+"mapping"
+msgstr ""
+"format specifications in ‘msgid’ expect a tuple, those in ‘msgstr’ expect a "
+"mapping"
+
+#: src/format-python.c:422
+#, c-format
+msgid "a format specification for argument '%s' doesn't exist in 'msgid'"
+msgstr "a format specification for argument ‘%s’ doesn't exist in ‘msgid’"
+
+#: src/format-python.c:432
+#, c-format
+msgid "a format specification for argument '%s' doesn't exist in 'msgstr'"
+msgstr "a format specification for argument ‘%s’ doesn't exist in ‘msgstr’"
+
+#: src/format-python.c:446
+#, c-format
+msgid ""
+"format specifications in 'msgid' and 'msgstr' for argument '%s' are not the "
+"same"
+msgstr ""
+"format specifications in ‘msgid’ and ‘msgstr’ for argument ‘%s’ are not the "
+"same"
+
+#: src/format-ycp.c:137
+#, c-format
+msgid "a format specification for argument %u doesn't exist in 'msgstr'"
+msgstr "a format specification for argument %u doesn't exist in ‘msgstr’"
+
+#: src/format-ycp.c:138
+#, c-format
+msgid "a format specification for argument %u doesn't exist in 'msgid'"
+msgstr "a format specification for argument %u doesn't exist in ‘msgid’"
+
+#: src/gettext.c:146 src/hostname.c:168 src/msgattrib.c:264 src/msgcat.c:229
+#: src/msgcmp.c:134 src/msgcomm.c:232 src/msgconv.c:182 src/msgen.c:171
+#: src/msgexec.c:240 src/msgfmt.c:333 src/msggrep.c:276 src/msginit.c:247
+#: src/msgmerge.c:252 src/msgunfmt.c:182 src/msguniq.c:207 src/ngettext.c:126
+#: src/xgettext.c:352
 #, c-format, no-wrap
 msgid ""
 "Copyright (C) %s Free Software Foundation, Inc.\n"
@@ -116,30 +265,49 @@ msgstr ""
 "This is free software; see the source for copying conditions.  There is NO\n"
 "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
 
-#: src/gettext.c:145 src/msgcmp.c:145 src/msgcomm.c:284 src/msgfmt.c:275
-#: src/msgmerge.c:260 src/msgunfmt.c:175 src/ngettext.c:125 src/xgettext.c:393
+#: src/gettext.c:151 src/hostname.c:173 src/msgattrib.c:269 src/msgcat.c:234
+#: src/msgcmp.c:139 src/msgcomm.c:237 src/msgconv.c:187 src/msgen.c:176
+#: src/msgexec.c:245 src/msgfmt.c:338 src/msggrep.c:281 src/msginit.c:252
+#: src/msgmerge.c:257 src/msgunfmt.c:187 src/msguniq.c:212 src/ngettext.c:131
+#: src/xgettext.c:357
 #, c-format
 msgid "Written by %s.\n"
 msgstr "Written by %s.\n"
 
-#: src/gettext.c:163 src/ngettext.c:137
+#: src/gettext.c:169 src/hostname.c:183 src/msginit.c:262 src/ngettext.c:143
 msgid "too many arguments"
 msgstr "too many arguments"
 
-#: src/gettext.c:173 src/ngettext.c:149
+#: src/gettext.c:179 src/ngettext.c:155
 msgid "missing arguments"
 msgstr "missing arguments"
 
-#: src/gettext.c:245 src/msgcmp.c:177 src/msgcomm.c:377 src/msgfmt.c:387
-#: src/msgmerge.c:315 src/msgunfmt.c:205 src/ngettext.c:204 src/xgettext.c:515
+#: src/gettext.c:251 src/hostname.c:197 src/msgattrib.c:322 src/msgcat.c:290
+#: src/msgcmp.c:171 src/msgcomm.c:306 src/msgconv.c:241 src/msgen.c:227
+#: src/msgexec.c:338 src/msgfmt.c:479 src/msggrep.c:371 src/msginit.c:338
+#: src/msgmerge.c:367 src/msgunfmt.c:262 src/msguniq.c:269 src/ngettext.c:210
+#: src/xgettext.c:499
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "Try ‘%s --help’ for more information.\n"
 
-#: src/gettext.c:250
+#: src/gettext.c:256
 #, c-format, no-wrap
 msgid ""
-"Usage: %s [OPTION] [[[TEXTDOMAIN] MSGID] | [-s [MSGID]...]]\n"
+"Usage: %s [OPTION] [[TEXTDOMAIN] MSGID]\n"
+"or:    %s [OPTION] -s [MSGID]...\n"
+msgstr ""
+"Usage: %s [OPTION] [[TEXTDOMAIN] MSGID]\n"
+"or:    %s [OPTION] -s [MSGID]...\n"
+
+#: src/gettext.c:262
+#, no-wrap
+msgid "Display native language translation of a textual message.\n"
+msgstr "Display native language translation of a textual message.\n"
+
+#: src/gettext.c:266
+#, no-wrap
+msgid ""
 "  -d, --domain=TEXTDOMAIN   retrieve translated messages from TEXTDOMAIN\n"
 "  -e                        enable expansion of some escape sequences\n"
 "  -E                        (ignored for compatibility)\n"
@@ -149,7 +317,6 @@ msgid ""
 "  [TEXTDOMAIN] MSGID        retrieve translated message corresponding\n"
 "                            to MSGID from TEXTDOMAIN\n"
 msgstr ""
-"Usage: %s [OPTION] [[[TEXTDOMAIN] MSGID] | [-s [MSGID]...]]\n"
 "  -d, --domain=TEXTDOMAIN   retrieve translated messages from TEXTDOMAIN\n"
 "  -e                        enable expansion of some escape sequences\n"
 "  -E                        (ignored for compatibility)\n"
@@ -159,10 +326,9 @@ msgstr ""
 "  [TEXTDOMAIN] MSGID        retrieve translated message corresponding\n"
 "                            to MSGID from TEXTDOMAIN\n"
 
-#: src/gettext.c:262
+#: src/gettext.c:277
 #, c-format, no-wrap
 msgid ""
-"\n"
 "If the TEXTDOMAIN parameter is not given, the domain is determined from the\n"
 "environment variable TEXTDOMAIN.  If the message catalog is not found in the\n"
 "regular directory, another location can be specified with the environment\n"
@@ -172,7 +338,6 @@ msgid ""
 "found in the selected catalog are translated.\n"
 "Standard search directory: %s\n"
 msgstr ""
-"\n"
 "If the TEXTDOMAIN parameter is not given, the domain is determined from the\n"
 "environment variable TEXTDOMAIN.  If the message catalog is not found in the\n"
 "regular directory, another location can be specified with the environment\n"
@@ -182,174 +347,410 @@ msgstr ""
 "found in the selected catalog are translated.\n"
 "Standard search directory: %s\n"
 
-#: src/gettext.c:272 src/msgcmp.c:196 src/msgcomm.c:424 src/msgfmt.c:414
-#: src/msgmerge.c:350 src/msgunfmt.c:229 src/ngettext.c:228 src/xgettext.c:565
-msgid "Report bugs to <bug-gnu-utils@gnu.org>.\n"
-msgstr "Report bugs to <bug-gnu-utils@gnu.org>.\n"
+#: src/gettext.c:288 src/hostname.c:227 src/msgattrib.c:402 src/msgcat.c:371
+#: src/msgcmp.c:216 src/msgcomm.c:384 src/msgconv.c:305 src/msgen.c:287
+#: src/msgexec.c:410 src/msgfmt.c:563 src/msggrep.c:457 src/msginit.c:389
+#: src/msgmerge.c:465 src/msgunfmt.c:331 src/msguniq.c:343 src/ngettext.c:244
+#: src/xgettext.c:591
+msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
+msgstr "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
+
+#: src/hostname.c:202 src/msginit.c:343
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION]\n"
+msgstr "Usage: %s [OPTION]\n"
+
+#: src/hostname.c:207
+#, no-wrap
+msgid "Print the machine's hostname.\n"
+msgstr "Print the machine's hostname.\n"
+
+#: src/hostname.c:212
+#, no-wrap
+msgid ""
+"Output format:\n"
+"  -s, --short           short host name\n"
+"  -f, --fqdn, --long    long host name, includes fully qualified domain name,\n"
+"                          and aliases\n"
+"  -i, --ip-address      addresses for the hostname\n"
+msgstr ""
+"Output format:\n"
+"  -s, --short           short host name\n"
+"  -f, --fqdn, --long    long host name, includes fully qualified domain name,\n"
+"                          and aliases\n"
+"  -i, --ip-address      addresses for the hostname\n"
+
+#: src/hostname.c:221 src/msgattrib.c:396 src/msgcmp.c:210 src/msgconv.c:299
+#: src/msgen.c:281 src/msgexec.c:404 src/msggrep.c:451 src/msginit.c:383
+#, no-wrap
+msgid ""
+"Informative output:\n"
+"  -h, --help                  display this help and exit\n"
+"  -V, --version               output version information and exit\n"
+msgstr ""
+"Informative output:\n"
+"  -h, --help                  display this help and exit\n"
+"  -V, --version               output version information and exit\n"
+
+#: src/hostname.c:242 src/hostname.c:249
+msgid "could not get host name"
+msgstr "could not get host name"
+
+#: src/msgattrib.c:284 src/msgconv.c:202 src/msgexec.c:190 src/msggrep.c:296
+#: src/msginit.c:205 src/msguniq.c:227
+msgid "at most one input file allowed"
+msgstr "at most one input file allowed"
+
+#: src/msgattrib.c:290 src/msgattrib.c:294 src/msgcat.c:244 src/msgcat.c:248
+#: src/msgcomm.c:247 src/msgcomm.c:251 src/msgconv.c:208 src/msgconv.c:212
+#: src/msgen.c:198 src/msgen.c:202 src/msgexec.c:260 src/msgexec.c:264
+#: src/msgfmt.c:358 src/msggrep.c:302 src/msggrep.c:306 src/msgmerge.c:282
+#: src/msgmerge.c:303 src/msgmerge.c:307 src/msguniq.c:233 src/msguniq.c:237
+#: src/xgettext.c:367 src/xgettext.c:371
+#, c-format
+msgid "%s and %s are mutually exclusive"
+msgstr "%s and %s are mutually exclusive"
+
+#: src/msgattrib.c:327 src/msgconv.c:246 src/msggrep.c:376 src/msguniq.c:274
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] [INPUTFILE]\n"
+msgstr "Usage: %s [OPTION] [INPUTFILE]\n"
+
+#: src/msgattrib.c:332
+#, no-wrap
+msgid ""
+"Filters the messages of a translation catalog according to their attributes,\n"
+"and manipulates the attributes.\n"
+msgstr ""
+"Filters the messages of a translation catalog according to their attributes,\n"
+"and manipulates the attributes.\n"
+
+#: src/msgattrib.c:338 src/msgcat.c:313 src/msgcmp.c:191 src/msgcomm.c:328
+#: src/msgconv.c:256 src/msgen.c:245 src/msgexec.c:353 src/msgfmt.c:494
+#: src/msggrep.c:387 src/msginit.c:354 src/msgmerge.c:390 src/msgunfmt.c:277
+#: src/msguniq.c:291
+#, no-wrap
+msgid "Mandatory arguments to long options are mandatory for short options too.\n"
+msgstr "Mandatory arguments to long options are mandatory for short options too.\n"
+
+#: src/msgattrib.c:343 src/msgconv.c:261 src/msggrep.c:392 src/msguniq.c:296
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  INPUTFILE                   input PO file\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"If no input file is given or if it is -, standard input is read.\n"
+msgstr ""
+"Input file location:\n"
+"  INPUTFILE                   input PO file\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"If no input file is given or if it is -, standard input is read.\n"
+
+#: src/msgattrib.c:351 src/msgconv.c:269 src/msgen.c:258 src/msgexec.c:366
+#: src/msggrep.c:400 src/msgmerge.c:412
+#, no-wrap
+msgid ""
+"Output file location:\n"
+"  -o, --output-file=FILE      write output to specified file\n"
+"The results are written to standard output if no output file is specified\n"
+"or if it is -.\n"
+msgstr ""
+"Output file location:\n"
+"  -o, --output-file=FILE      write output to specified file\n"
+"The results are written to standard output if no output file is specified\n"
+"or if it is -.\n"
+
+#: src/msgattrib.c:359
+#, no-wrap
+msgid ""
+"Message selection:\n"
+"      --translated            keep translated, remove untranslated messages\n"
+"      --untranslated          keep untranslated, remove translated messages\n"
+"      --no-fuzzy              remove 'fuzzy' marked messages\n"
+"      --only-fuzzy            keep 'fuzzy' marked messages\n"
+"      --no-obsolete           remove obsolete #~ messages\n"
+"      --only-obsolete         keep obsolete #~ messages\n"
+msgstr ""
+"Message selection:\n"
+"      --translated            keep translated, remove untranslated messages\n"
+"      --untranslated          keep untranslated, remove translated messages\n"
+"      --no-fuzzy              remove ‘fuzzy’ marked messages\n"
+"      --only-fuzzy            keep ‘fuzzy’ marked messages\n"
+"      --no-obsolete           remove obsolete #~ messages\n"
+"      --only-obsolete         keep obsolete #~ messages\n"
+
+#: src/msgattrib.c:370
+#, no-wrap
+msgid ""
+"Attribute manipulation:\n"
+"      --set-fuzzy             set all messages 'fuzzy'\n"
+"      --clear-fuzzy           set all messages non-'fuzzy'\n"
+"      --set-obsolete          set all messages obsolete\n"
+"      --clear-obsolete        set all messages non-obsolete\n"
+"      --fuzzy                 synonym for --only-fuzzy --clear-fuzzy\n"
+"      --obsolete              synonym for --only-obsolete --clear-obsolete\n"
+msgstr ""
+"Attribute manipulation:\n"
+"      --set-fuzzy             set all messages ‘fuzzy’\n"
+"      --clear-fuzzy           set all messages non-'fuzzy'\n"
+"      --set-obsolete          set all messages obsolete\n"
+"      --clear-obsolete        set all messages non-obsolete\n"
+"      --fuzzy                 synonym for --only-fuzzy --clear-fuzzy\n"
+"      --obsolete              synonym for --only-obsolete --clear-obsolete\n"
+
+#: src/msgattrib.c:381
+#, no-wrap
+msgid ""
+"Output details:\n"
+"  -e, --no-escape             do not use C escapes in output (default)\n"
+"  -E, --escape                use C escapes in output, no extended chars\n"
+"      --force-po              write PO file even if empty\n"
+"  -i, --indent                write the .po file using indented style\n"
+"      --no-location           do not write '#: filename:line' lines\n"
+"  -n, --add-location          generate '#: filename:line' lines (default)\n"
+"      --strict                write out strict Uniforum conforming .po file\n"
+"  -w, --width=NUMBER          set output page width\n"
+"  -s, --sort-output           generate sorted output\n"
+"  -F, --sort-by-file          sort output by file location\n"
+msgstr ""
+"Output details:\n"
+"  -e, --no-escape             do not use C escapes in output (default)\n"
+"  -E, --escape                use C escapes in output, no extended chars\n"
+"      --force-po              write PO file even if empty\n"
+"  -i, --indent                write the .po file using indented style\n"
+"      --no-location           do not write ‘#: filename:line’ lines\n"
+"  -n, --add-location          generate ‘#: filename:line’ lines (default)\n"
+"      --strict                write out strict Uniforum conforming .po file\n"
+"  -w, --width=NUMBER          set output page width\n"
+"  -s, --sort-output           generate sorted output\n"
+"  -F, --sort-by-file          sort output by file location\n"
+
+#: src/msgcat.c:254 src/msgcomm.c:277
+#, c-format
+msgid "impossible selection criteria specified (%d < n < %d)"
+msgstr "impossible selection criteria specified (%d < n < %d)"
+
+#: src/msgcat.c:295 src/msgcomm.c:311 src/xgettext.c:504
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] [INPUTFILE]...\n"
+msgstr "Usage: %s [OPTION] [INPUTFILE]...\n"
+
+#: src/msgcat.c:300
+#, no-wrap
+msgid ""
+"Concatenates and merges the specified PO files.\n"
+"Find messages which are common to two or more of the specified PO files.\n"
+"By using the --more-than option, greater commonality may be requested\n"
+"before messages are printed.  Conversely, the --less-than option may be\n"
+"used to specify less commonality before messages are printed (i.e.\n"
+"--less-than=2 will only print the unique messages).  Translations,\n"
+"comments and extract comments will be cumulated, except that if --use-first\n"
+"is specified, they will be taken from the first PO file to define them.\n"
+"File positions from all PO files will be cumulated.\n"
+msgstr ""
+"Concatenates and merges the specified PO files.\n"
+"Find messages which are common to two or more of the specified PO files.\n"
+"By using the --more-than option, greater commonality may be requested\n"
+"before messages are printed.  Conversely, the --less-than option may be\n"
+"used to specify less commonality before messages are printed (i.e.\n"
+"--less-than=2 will only print the unique messages).  Translations,\n"
+"comments and extract comments will be cumulated, except that if --use-first\n"
+"is specified, they will be taken from the first PO file to define them.\n"
+"File positions from all PO files will be cumulated.\n"
+
+#: src/msgcat.c:318 src/msgcomm.c:333 src/xgettext.c:520
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  INPUTFILE ...                  input files\n"
+"  -f, --files-from=FILE          get list of input files from FILE\n"
+"  -D, --directory=DIRECTORY      add DIRECTORY to list for input files search\n"
+"If input file is -, standard input is read.\n"
+msgstr ""
+"Input file location:\n"
+"  INPUTFILE ...                  input files\n"
+"  -f, --files-from=FILE          get list of input files from FILE\n"
+"  -D, --directory=DIRECTORY      add DIRECTORY to list for input files search\n"
+"If input file is -, standard input is read.\n"
+
+#: src/msgcat.c:327 src/msgcomm.c:342 src/msguniq.c:304
+#, no-wrap
+msgid ""
+"Output file location:\n"
+"  -o, --output-file=FILE         write output to specified file\n"
+"The results are written to standard output if no output file is specified\n"
+"or if it is -.\n"
+msgstr ""
+"Output file location:\n"
+"  -o, --output-file=FILE         write output to specified file\n"
+"The results are written to standard output if no output file is specified\n"
+"or if it is -.\n"
+
+#: src/msgcat.c:335
+#, no-wrap
+msgid ""
+"Message selection:\n"
+"  -<, --less-than=NUMBER         print messages with less than this many\n"
+"                                 definitions, defaults to infinite if not\n"
+"                                 set\n"
+"  ->, --more-than=NUMBER         print messages with more than this many\n"
+"                                 definitions, defaults to 0 if not set\n"
+"  -u, --unique                   shorthand for --less-than=2, requests\n"
+"                                 that only unique messages be printed\n"
+msgstr ""
+"Message selection:\n"
+"  -<, --less-than=NUMBER         print messages with less than this many\n"
+"                                 definitions, defaults to infinite if not\n"
+"                                 set\n"
+"  ->, --more-than=NUMBER         print messages with more than this many\n"
+"                                 definitions, defaults to 0 if not set\n"
+"  -u, --unique                   shorthand for --less-than=2, requests\n"
+"                                 that only unique messages be printed\n"
+
+#: src/msgcat.c:347 src/msguniq.c:319
+#, no-wrap
+msgid ""
+"Output details:\n"
+"  -t, --to-code=NAME             encoding for output\n"
+"      --use-first                use first available translation for each\n"
+"                                 message, don't merge several translations\n"
+"  -e, --no-escape                do not use C escapes in output (default)\n"
+"  -E, --escape                   use C escapes in output, no extended chars\n"
+"      --force-po                 write PO file even if empty\n"
+"  -i, --indent                   write the .po file using indented style\n"
+"      --no-location              do not write '#: filename:line' lines\n"
+"  -n, --add-location             generate '#: filename:line' lines (default)\n"
+"      --strict                   write out strict Uniforum conforming .po file\n"
+"  -w, --width=NUMBER             set output page width\n"
+"  -s, --sort-output              generate sorted output\n"
+"  -F, --sort-by-file             sort output by file location\n"
+msgstr ""
+"Output details:\n"
+"  -t, --to-code=NAME             encoding for output\n"
+"      --use-first                use first available translation for each\n"
+"                                 message, don't merge several translations\n"
+"  -e, --no-escape                do not use C escapes in output (default)\n"
+"  -E, --escape                   use C escapes in output, no extended chars\n"
+"      --force-po                 write PO file even if empty\n"
+"  -i, --indent                   write the .po file using indented style\n"
+"      --no-location              do not write ‘#: filename:line’ lines\n"
+"  -n, --add-location             generate ‘#: filename:line’ lines (default)\n"
+"      --strict                   write out strict Uniforum conforming .po file\n"
+"  -w, --width=NUMBER             set output page width\n"
+"  -s, --sort-output              generate sorted output\n"
+"  -F, --sort-by-file             sort output by file location\n"
+
+#: src/msgcat.c:365 src/msgcomm.c:378 src/msguniq.c:337 src/xgettext.c:585
+#, no-wrap
+msgid ""
+"Informative output:\n"
+"  -h, --help                     display this help and exit\n"
+"  -V, --version                  output version information and exit\n"
+msgstr ""
+"Informative output:\n"
+"  -h, --help                     display this help and exit\n"
+"  -V, --version                  output version information and exit\n"
 
-#: src/msgcmp.c:156 src/msgmerge.c:271
+#: src/msgcmp.c:150 src/msgmerge.c:268
 msgid "no input files given"
 msgstr "no input files given"
 
-#: src/msgcmp.c:161 src/msgmerge.c:276
+#: src/msgcmp.c:155 src/msgmerge.c:273
 msgid "exactly 2 input files required"
 msgstr "exactly 2 input files required"
 
-#: src/msgcmp.c:182
+#: src/msgcmp.c:176 src/msgmerge.c:372
 #, c-format, no-wrap
+msgid "Usage: %s [OPTION] def.po ref.pot\n"
+msgstr "Usage: %s [OPTION] def.po ref.pot\n"
+
+#: src/msgcmp.c:181
+#, no-wrap
 msgid ""
-"Usage: %s [OPTION] def.po ref.po\n"
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
-"  -h, --help                  display this help and exit\n"
-"  -V, --version               output version information and exit\n"
-"\n"
 "Compare two Uniforum style .po files to check that both contain the same\n"
 "set of msgid strings.  The def.po file is an existing PO file with the\n"
-"old translations.  The ref.po file is the last created PO file\n"
-"(generally by xgettext).  This is useful for checking that you have\n"
-"translated each and every message in your program.  Where an exact match\n"
-"cannot be found, fuzzy matching is used to produce better diagnostics.\n"
+"translations.  The ref.pot file is the last created PO file, or a PO Template\n"
+"file (generally created by xgettext).  This is useful for checking that\n"
+"you have translated each and every message in your program.  Where an exact\n"
+"match cannot be found, fuzzy matching is used to produce better diagnostics.\n"
 msgstr ""
-"Usage: %s [OPTION] def.po ref.po\n"
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
-"  -h, --help                  display this help and exit\n"
-"  -V, --version               output version information and exit\n"
-"\n"
 "Compare two Uniforum style .po files to check that both contain the same\n"
 "set of msgid strings.  The def.po file is an existing PO file with the\n"
-"old translations.  The ref.po file is the last created PO file\n"
-"(generally by xgettext).  This is useful for checking that you have\n"
-"translated each and every message in your program.  Where an exact match\n"
-"cannot be found, fuzzy matching is used to produce better diagnostics.\n"
+"translations.  The ref.pot file is the last created PO file, or a PO Template\n"
+"file (generally created by xgettext).  This is useful for checking that\n"
+"you have translated each and every message in your program.  Where an exact\n"
+"match cannot be found, fuzzy matching is used to produce better diagnostics.\n"
+
+#: src/msgcmp.c:196
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  def.po                      translations\n"
+"  ref.pot                     references to the sources\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+msgstr ""
+"Input file location:\n"
+"  def.po                      translations\n"
+"  ref.pot                     references to the sources\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+
+#: src/msgcmp.c:204 src/msgmerge.c:436
+#, no-wrap
+msgid ""
+"Operation modifiers:\n"
+"  -m, --multi-domain          apply ref.pot to each of the domains in def.po\n"
+msgstr ""
+"Operation modifiers:\n"
+"  -m, --multi-domain          apply ref.pot to each of the domains in def.po\n"
 
-#: src/msgcmp.c:255 src/msgmerge.c:741
+#: src/msgcmp.c:253 src/msgmerge.c:543
 msgid "this message is used but not defined..."
 msgstr "this message is used but not defined..."
 
-#: src/msgcmp.c:257 src/msgmerge.c:743
+#: src/msgcmp.c:255 src/msgmerge.c:545
 msgid "...but this definition is similar"
 msgstr "...but this definition is similar"
 
-#: src/msgcmp.c:263 src/msgmerge.c:770
+#: src/msgcmp.c:260 src/msgmerge.c:572
 #, c-format
 msgid "this message is used but not defined in %s"
 msgstr "this message is used but not defined in %s"
 
-#: src/msgcmp.c:277
+#: src/msgcmp.c:332
 msgid "warning: this message is not used"
 msgstr "warning: this message is not used"
 
-#: src/msgcmp.c:283 src/po-lex.c:103
+#: src/msgcmp.c:339 src/po-lex.c:705
 #, c-format
 msgid "found %d fatal error"
 msgid_plural "found %d fatal errors"
 msgstr[0] "found %d fatal error"
 msgstr[1] "found %d fatal errors"
 
-#: src/msgcmp.c:356 src/msgfmt.c:667 src/msgmerge.c:512 src/xgettext.c:1157
+#: src/msgcmp.c:420 src/msgfmt.c:1323 src/read-po.c:202 src/x-po.c:163
 msgid "duplicate message definition"
 msgstr "duplicate message definition"
 
-#: src/msgcmp.c:357 src/msgfmt.c:669 src/msgmerge.c:513 src/xgettext.c:1158
+#: src/msgcmp.c:421 src/msgfmt.c:1324 src/read-po.c:203 src/x-po.c:164
 msgid "...this is the location of the first definition"
 msgstr "...this is the location of the first definition"
 
-#: src/msgcmp.c:397 src/msgmerge.c:561
-#, c-format
-msgid "this message has no definition in the \"%s\" domain"
-msgstr "this message has no definition in the “%s” domain"
-
-#. We are about to construct the absolute path to the
-#. directory for the output files but asprintf failed.
-#: src/msgcomm.c:235 src/xgettext.c:327 src/xgettext.c:1353
-msgid "while preparing output"
-msgstr "while preparing output"
-
-#: src/msgcomm.c:267 src/msgcomm.c:271 src/xgettext.c:365 src/xgettext.c:369
-#, c-format
-msgid "%s and %s are mutually exclusive"
-msgstr "%s and %s are mutually exclusive"
-
-#: src/msgcomm.c:323
+#: src/msgcomm.c:266
 msgid "at least two files must be specified"
 msgstr "at least two files must be specified"
 
-#: src/msgcomm.c:334
-#, c-format
-msgid "impossible selection criteria specified (%d < n < %d)"
-msgstr "impossible selection criteria specified (%d < n < %d)"
-
-#: src/msgcomm.c:382
-#, c-format, no-wrap
+#: src/msgcomm.c:316
+#, no-wrap
 msgid ""
-"Usage: %s [OPTION] INPUTFILE ...\n"
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"  -d, --default-domain=NAME      use NAME.po for output (instead of messages.po)\n"
-"  -D, --directory=DIRECTORY      add DIRECTORY to list for input files search\n"
-"  -e, --no-escape                do not use C escapes in output (default)\n"
-"  -E, --escape                   use C escapes in output, no extended chars\n"
-"  -f, --files-from=FILE          get list of input files from FILE\n"
-"      --force-po                 write PO file even if empty\n"
-"  -F, --sort-by-file             sort output by file location\n"
-"  -h, --help                     display this help and exit\n"
+"Find messages which are common to two or more of the specified PO files.\n"
+"By using the --more-than option, greater commonality may be requested\n"
+"before messages are printed.  Conversely, the --less-than option may be\n"
+"used to specify less commonality before messages are printed (i.e.\n"
+"--less-than=2 will only print the unique messages).  Translations,\n"
+"comments and extract comments will be preserved, but only from the first\n"
+"PO file to define them.  File positions from all PO files will be\n"
+"cumulated.\n"
 msgstr ""
-"Usage: %s [OPTION] INPUTFILE ...\n"
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"  -d, --default-domain=NAME      use NAME.po for output (instead of messages.po)\n"
-"  -D, --directory=DIRECTORY      add DIRECTORY to list for input files search\n"
-"  -e, --no-escape                do not use C escapes in output (default)\n"
-"  -E, --escape                   use C escapes in output, no extended chars\n"
-"  -f, --files-from=FILE          get list of input files from FILE\n"
-"      --force-po                 write PO file even if empty\n"
-"  -F, --sort-by-file             sort output by file location\n"
-"  -h, --help                     display this help and exit\n"
-
-#: src/msgcomm.c:394
-msgid ""
-"  -i, --indent                   write the .po file using indented style\n"
-"      --no-location              do not write '#: filename:line' lines\n"
-"  -n, --add-location             generate '#: filename:line' lines "
-"(default)\n"
-"      --omit-header              don't write header with `msgid \"\"' entry\n"
-"  -o, --output=FILE              write output to specified file\n"
-"  -p, --output-dir=DIR           output files will be placed in directory "
-"DIR\n"
-"  -s, --sort-output              generate sorted output and remove "
-"duplicates\n"
-"      --strict                   write out strict Uniforum conforming .po "
-"file\n"
-"  -T, --trigraphs                understand ANSI C trigraphs for input\n"
-"  -u, --unique                   shorthand for --less-than=2, requests\n"
-"                                 that only unique messages be printed\n"
-msgstr ""
-"  -i, --indent                   write the .po file using indented style\n"
-"      --no-location              do not write ‘#: filename:line’ lines\n"
-"  -n, --add-location             generate ‘#: filename:line’ lines "
-"(default)\n"
-"      --omit-header              don't write header with ‘msgid \"\"’ entry\n"
-"  -o, --output=FILE              write output to specified file\n"
-"  -p, --output-dir=DIR           output files will be placed in directory "
-"DIR\n"
-"  -s, --sort-output              generate sorted output and remove "
-"duplicates\n"
-"      --strict                   write out strict Uniforum conforming .po "
-"file\n"
-"  -T, --trigraphs                understand ANSI C trigraphs for input\n"
-"  -u, --unique                   shorthand for --less-than=2, requests\n"
-"                                 that only unique messages be printed\n"
-
-#: src/msgcomm.c:407
-msgid ""
-"  -V, --version                  output version information and exit\n"
-"  -w, --width=NUMBER             set output page width\n"
-"  -<, --less-than=NUMBER         print messages with less than this many\n"
-"                                 definitions, defaults to infinite if not\n"
-"                                 set\n"
-"  ->, --more-than=NUMBER         print messages with more than this many\n"
-"                                 definitions, defaults to 1 if not set\n"
-"\n"
 "Find messages which are common to two or more of the specified PO files.\n"
 "By using the --more-than option, greater commonality may be requested\n"
 "before messages are printed.  Conversely, the --less-than option may be\n"
@@ -357,272 +758,1054 @@ msgid ""
 "--less-than=2 will only print the unique messages).  Translations,\n"
 "comments and extract comments will be preserved, but only from the first\n"
 "PO file to define them.  File positions from all PO files will be\n"
-"preserved.\n"
+"cumulated.\n"
+
+#: src/msgcomm.c:350
+#, no-wrap
+msgid ""
+"Message selection:\n"
+"  -<, --less-than=NUMBER         print messages with less than this many\n"
+"                                 definitions, defaults to infinite if not\n"
+"                                 set\n"
+"  ->, --more-than=NUMBER         print messages with more than this many\n"
+"                                 definitions, defaults to 1 if not set\n"
+"  -u, --unique                   shorthand for --less-than=2, requests\n"
+"                                 that only unique messages be printed\n"
 msgstr ""
-"  -V, --version                  output version information and exit\n"
-"  -w, --width=NUMBER             set output page width\n"
+"Message selection:\n"
 "  -<, --less-than=NUMBER         print messages with less than this many\n"
 "                                 definitions, defaults to infinite if not\n"
 "                                 set\n"
 "  ->, --more-than=NUMBER         print messages with more than this many\n"
 "                                 definitions, defaults to 1 if not set\n"
-"\n"
-"Find messages which are common to two or more of the specified PO files.\n"
-"By using the --more-than option, greater commonality may be requested\n"
-"before messages are printed.  Conversely, the --less-than option may be\n"
-"used to specify less commonality before messages are printed (i.e.\n"
-"--less-than=2 will only print the unique messages).  Translations,\n"
-"comments and extract comments will be preserved, but only from the first\n"
-"PO file to define them.  File positions from all PO files will be\n"
-"preserved.\n"
+"  -u, --unique                   shorthand for --less-than=2, requests\n"
+"                                 that only unique messages be printed\n"
 
-#: src/msgcomm.c:458 src/msgunfmt.c:361 src/po-lex.c:86 src/xget-lex.c:157
-#: src/xget-lex.c:170 src/xget-lex.c:180 src/xgettext.c:599
-#, c-format
-msgid "error while opening \"%s\" for reading"
-msgstr "error while opening “%s” for reading"
+#: src/msgcomm.c:362
+#, no-wrap
+msgid ""
+"Output details:\n"
+"  -e, --no-escape                do not use C escapes in output (default)\n"
+"  -E, --escape                   use C escapes in output, no extended chars\n"
+"      --force-po                 write PO file even if empty\n"
+"  -i, --indent                   write the .po file using indented style\n"
+"      --no-location              do not write '#: filename:line' lines\n"
+"  -n, --add-location             generate '#: filename:line' lines (default)\n"
+"      --strict                   write out strict Uniforum conforming .po file\n"
+"  -w, --width=NUMBER             set output page width\n"
+"  -s, --sort-output              generate sorted output\n"
+"  -F, --sort-by-file             sort output by file location\n"
+"      --omit-header              don't write header with `msgid \"\"' entry\n"
+msgstr ""
+"Output details:\n"
+"  -e, --no-escape                do not use C escapes in output (default)\n"
+"  -E, --escape                   use C escapes in output, no extended chars\n"
+"      --force-po                 write PO file even if empty\n"
+"  -i, --indent                   write the .po file using indented style\n"
+"      --no-location              do not write ‘#: filename:line’ lines\n"
+"  -n, --add-location             generate ‘#: filename:line’ lines (default)\n"
+"      --strict                   write out strict Uniforum conforming .po file\n"
+"  -w, --width=NUMBER             set output page width\n"
+"  -s, --sort-output              generate sorted output\n"
+"  -F, --sort-by-file             sort output by file location\n"
+"      --omit-header              don't write header with ‘msgid \"\"’ entry\n"
 
-#: src/msgcomm.c:539 src/xgettext.c:641 src/xgettext.c:1059
-msgid "this file may not contain domain directives"
-msgstr "this file may not contain domain directives"
+#: src/msgconv.c:251
+#, no-wrap
+msgid "Converts a translation catalog to a different character encoding.\n"
+msgstr "Converts a translation catalog to a different character encoding.\n"
+
+#: src/msgconv.c:277
+#, no-wrap
+msgid ""
+"Conversion target:\n"
+"  -t, --to-code=NAME          encoding for output\n"
+"The default encoding is the current locale's encoding.\n"
+msgstr ""
+"Conversion target:\n"
+"  -t, --to-code=NAME          encoding for output\n"
+"The default encoding is the current locale's encoding.\n"
 
-#: src/msgfmt.c:286 src/xgettext.c:404
+#: src/msgconv.c:284 src/msgen.c:266 src/msgmerge.c:442
+#, no-wrap
+msgid ""
+"Output details:\n"
+"  -e, --no-escape             do not use C escapes in output (default)\n"
+"  -E, --escape                use C escapes in output, no extended chars\n"
+"      --force-po              write PO file even if empty\n"
+"  -i, --indent                indented output style\n"
+"      --no-location           suppress '#: filename:line' lines\n"
+"      --add-location          preserve '#: filename:line' lines (default)\n"
+"      --strict                strict Uniforum output style\n"
+"  -w, --width=NUMBER          set output page width\n"
+"  -s, --sort-output           generate sorted output\n"
+"  -F, --sort-by-file          sort output by file location\n"
+msgstr ""
+"Output details:\n"
+"  -e, --no-escape             do not use C escapes in output (default)\n"
+"  -E, --escape                use C escapes in output, no extended chars\n"
+"      --force-po              write PO file even if empty\n"
+"  -i, --indent                indented output style\n"
+"      --no-location           suppress ‘#: filename:line’ lines\n"
+"      --add-location          preserve ‘#: filename:line’ lines (default)\n"
+"      --strict                strict Uniforum output style\n"
+"  -w, --width=NUMBER          set output page width\n"
+"  -s, --sort-output           generate sorted output\n"
+"  -F, --sort-by-file          sort output by file location\n"
+
+#: src/msgen.c:187 src/msgfmt.c:349 src/xgettext.c:388
 msgid "no input file given"
 msgstr "no input file given"
 
-#: src/msgfmt.c:337
+#: src/msgen.c:192
+msgid "exactly one input file required"
+msgstr "exactly one input file required"
+
+#: src/msgen.c:232
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] INPUTFILE\n"
+msgstr "Usage: %s [OPTION] INPUTFILE\n"
+
+#: src/msgen.c:237
+#, no-wrap
+msgid ""
+"Creates an English translation catalog.  The input file is the last\n"
+"created English PO file, or a PO Template file (generally created by\n"
+"xgettext).  Untranslated entries are assigned a translation that is\n"
+"identical to the msgid, and are marked fuzzy.\n"
+msgstr ""
+"Creates an English translation catalog.  The input file is the last\n"
+"created English PO file, or a PO Template file (generally created by\n"
+"xgettext).  Untranslated entries are assigned a translation that is\n"
+"identical to the msgid, and are marked fuzzy.\n"
+
+#: src/msgen.c:250
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  INPUTFILE                   input PO or POT file\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"If input file is -, standard input is read.\n"
+msgstr ""
+"Input file location:\n"
+"  INPUTFILE                   input PO or POT file\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"If input file is -, standard input is read.\n"
+
+#: src/msgexec.c:255
+msgid "missing filter name"
+msgstr "missing filter name"
+
+#: src/msgexec.c:279
+msgid "at least one sed script must be specified"
+msgstr "at least one sed script must be specified"
+
+#: src/msgexec.c:343
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] FILTER [FILTER-OPTION]\n"
+msgstr "Usage: %s [OPTION] FILTER [FILTER-OPTION]\n"
+
+#: src/msgexec.c:348
+#, no-wrap
+msgid "Applies a filter to all translations of a translation catalog.\n"
+msgstr "Applies a filter to all translations of a translation catalog.\n"
+
+#: src/msgexec.c:358
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  -i, --input=INPUTFILE       input PO file\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"If no input file is given or if it is -, standard input is read.\n"
+msgstr ""
+"Input file location:\n"
+"  -i, --input=INPUTFILE       input PO file\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"If no input file is given or if it is -, standard input is read.\n"
+
+#: src/msgexec.c:374
+#, no-wrap
+msgid ""
+"The FILTER can be any program that reads a translation from standard input\n"
+"and writes a modified translation to standard output.\n"
+msgstr ""
+"The FILTER can be any program that reads a translation from standard input\n"
+"and writes a modified translation to standard output.\n"
+
+#: src/msgexec.c:380
+#, no-wrap
+msgid ""
+"Useful FILTER-OPTIONs when the FILTER is 'sed':\n"
+"  -e, --expression=SCRIPT     add SCRIPT to the commands to be executed\n"
+"  -f, --file=SCRIPTFILE       add the contents of SCRIPTFILE to the commands\n"
+"                                to be executed\n"
+"  -n, --quiet, --silent       suppress automatic printing of pattern space\n"
+msgstr ""
+"Useful FILTER-OPTIONs when the FILTER is 'sed':\n"
+"  -e, --expression=SCRIPT     add SCRIPT to the commands to be executed\n"
+"  -f, --file=SCRIPTFILE       add the contents of SCRIPTFILE to the commands\n"
+"                                to be executed\n"
+"  -n, --quiet, --silent       suppress automatic printing of pattern space\n"
+
+#: src/msgexec.c:389
+#, no-wrap
+msgid ""
+"Output details:\n"
+"      --no-escape             do not use C escapes in output (default)\n"
+"  -E, --escape                use C escapes in output, no extended chars\n"
+"      --force-po              write PO file even if empty\n"
+"      --indent                indented output style\n"
+"      --no-location           suppress '#: filename:line' lines\n"
+"      --add-location          preserve '#: filename:line' lines (default)\n"
+"      --strict                strict Uniforum output style\n"
+"  -w, --width=NUMBER          set output page width\n"
+"  -s, --sort-output           generate sorted output\n"
+"  -F, --sort-by-file          sort output by file location\n"
+msgstr ""
+"Output details:\n"
+"      --no-escape             do not use C escapes in output (default)\n"
+"  -E, --escape                use C escapes in output, no extended chars\n"
+"      --force-po              write PO file even if empty\n"
+"      --indent                indented output style\n"
+"      --no-location           suppress ‘#: filename:line’ lines\n"
+"      --add-location          preserve ‘#: filename:line’ lines (default)\n"
+"      --strict                strict Uniforum output style\n"
+"  -w, --width=NUMBER          set output page width\n"
+"  -s, --sort-output           generate sorted output\n"
+"  -F, --sort-by-file          sort output by file location\n"
+
+#: src/msgexec.c:546
 #, c-format
-msgid "error while opening \"%s\" for writing"
-msgstr "error while opening “%s” for writing"
+msgid "cannot set up nonblocking I/O to %s subprocess"
+msgstr "cannot set up nonblocking I/O to %s subprocess"
+
+#: src/msgexec.c:574
+#, c-format
+msgid "communication with %s subprocess failed"
+msgstr "communication with %s subprocess failed"
+
+#: src/msgexec.c:594
+#, c-format
+msgid "write to %s subprocess failed"
+msgstr "write to %s subprocess failed"
+
+#: src/msgexec.c:625
+#, c-format
+msgid "read from %s subprocess failed"
+msgstr "read from %s subprocess failed"
+
+#: src/msgexec.c:641
+#, c-format
+msgid "%s subprocess terminated with exit code %d"
+msgstr "%s subprocess terminated with exit code %d"
+
+#: src/msgfmt.c:303
+#, c-format
+msgid "the argument to %s should be a single punctuation character"
+msgstr "the argument to %s should be a single punctuation character"
+
+#: src/msgfmt.c:364
+#, c-format
+msgid "%s requires a \"-d directory\" specification"
+msgstr "%s requires a “-d directory” specification"
+
+#: src/msgfmt.c:373 src/msgfmt.c:379 src/msgfmt.c:385 src/msgmerge.c:290
+#: src/msgmerge.c:296 src/msgunfmt.c:209 src/msgunfmt.c:215
+#, c-format
+msgid "%s is only valid with %s"
+msgstr "%s is only valid with %s"
+
+#: src/msgfmt.c:452
+#, c-format
+msgid "%d translated message"
+msgid_plural "%d translated messages"
+msgstr[0] "%d translated message"
+msgstr[1] "%d translated messages"
+
+#: src/msgfmt.c:457
+#, c-format
+msgid ", %d fuzzy translation"
+msgid_plural ", %d fuzzy translations"
+msgstr[0] ", %d fuzzy translation"
+msgstr[1] ", %d fuzzy translations"
+
+#: src/msgfmt.c:462
+#, c-format
+msgid ", %d untranslated message"
+msgid_plural ", %d untranslated messages"
+msgstr[0] ", %d untranslated message"
+msgstr[1] ", %d untranslated messages"
+
+#: src/msgfmt.c:484
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] filename.po ...\n"
+msgstr "Usage: %s [OPTION] filename.po ...\n"
+
+#: src/msgfmt.c:489
+#, no-wrap
+msgid "Generate binary message catalog from textual translation description.\n"
+msgstr "Generate binary message catalog from textual translation description.\n"
+
+#: src/msgfmt.c:499
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  filename.po ...             input files\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"If input file is -, standard input is read.\n"
+msgstr ""
+"Input file location:\n"
+"  filename.po ...             input files\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"If input file is -, standard input is read.\n"
+
+#: src/msgfmt.c:507
+#, no-wrap
+msgid ""
+"Operation mode:\n"
+"  -j, --java                  Java mode: generate a Java ResourceBundle class\n"
+"      --java2                 like --java, and assume Java2 (JDK 1.2 or higher)\n"
+msgstr ""
+"Operation mode:\n"
+"  -j, --java                  Java mode: generate a Java ResourceBundle class\n"
+"      --java2                 like --java, and assume Java2 (JDK 1.2 or higher)\n"
+
+#: src/msgfmt.c:514
+#, no-wrap
+msgid ""
+"Output file location:\n"
+"  -o, --output-file=FILE      write output to specified file\n"
+"      --strict                enable strict Uniforum mode\n"
+"If output file is -, output is written to standard output.\n"
+msgstr ""
+"Output file location:\n"
+"  -o, --output-file=FILE      write output to specified file\n"
+"      --strict                enable strict Uniforum mode\n"
+"If output file is -, output is written to standard output.\n"
+
+#: src/msgfmt.c:522
+#, no-wrap
+msgid ""
+"Output file location in Java mode:\n"
+"  -r, --resource=RESOURCE     resource name\n"
+"  -l, --locale=LOCALE         locale name, either language or language_COUNTRY\n"
+"  -d DIRECTORY                base directory of classes directory hierarchy\n"
+"The class name is determined by appending the locale name to the resource name,\n"
+"separated with an underscore.  The -d option is mandatory.  The class is\n"
+"written under the specified directory.\n"
+msgstr ""
+"Output file location in Java mode:\n"
+"  -r, --resource=RESOURCE     resource name\n"
+"  -l, --locale=LOCALE         locale name, either language or language_COUNTRY\n"
+"  -d DIRECTORY                base directory of classes directory hierarchy\n"
+"The class name is determined by appending the locale name to the resource name,\n"
+"separated with an underscore.  The -d option is mandatory.  The class is\n"
+"written under the specified directory.\n"
+
+#: src/msgfmt.c:533
+#, no-wrap
+msgid ""
+"Input file interpretation:\n"
+"  -c, --check                 perform all the checks implied by\n"
+"                                --check-format, --check-header, --check-domain\n"
+"      --check-format          check language dependent format strings\n"
+"      --check-header          verify presence and contents of the header entry\n"
+"      --check-domain          check for conflicts between domain directives\n"
+"                                and the --output-file option\n"
+"  -C, --check-compatibility   check that GNU msgfmt behaves like X/Open msgfmt\n"
+"      --check-accelerators[=CHAR]  check presence of keyboard accelerators for\n"
+"                                menu items\n"
+"  -f, --use-fuzzy             use fuzzy entries in output\n"
+msgstr ""
+"Input file interpretation:\n"
+"  -c, --check                 perform all the checks implied by\n"
+"                                --check-format, --check-header, --check-domain\n"
+"      --check-format          check language dependent format strings\n"
+"      --check-header          verify presence and contents of the header entry\n"
+"      --check-domain          check for conflicts between domain directives\n"
+"                                and the --output-file option\n"
+"  -C, --check-compatibility   check that GNU msgfmt behaves like X/Open msgfmt\n"
+"      --check-accelerators[=CHAR]  check presence of keyboard accelerators for\n"
+"                                menu items\n"
+"  -f, --use-fuzzy             use fuzzy entries in output\n"
+
+#: src/msgfmt.c:548
+#, c-format, no-wrap
+msgid ""
+"Output details:\n"
+"  -a, --alignment=NUMBER      align strings to NUMBER bytes (default: %d)\n"
+"      --no-hash               binary file will not include the hash table\n"
+msgstr ""
+"Output details:\n"
+"  -a, --alignment=NUMBER      align strings to NUMBER bytes (default: %d)\n"
+"      --no-hash               binary file will not include the hash table\n"
+
+#: src/msgfmt.c:555
+#, no-wrap
+msgid ""
+"Informative output:\n"
+"  -h, --help                  display this help and exit\n"
+"  -V, --version               output version information and exit\n"
+"      --statistics            print statistics about translations\n"
+"  -v, --verbose               increase verbosity level\n"
+msgstr ""
+"Informative output:\n"
+"  -h, --help                  display this help and exit\n"
+"  -V, --version               output version information and exit\n"
+"      --statistics            print statistics about translations\n"
+"  -v, --verbose               increase verbosity level\n"
+
+#: src/msgfmt.c:707
+msgid "plural expression can produce negative values"
+msgstr "plural expression can produce negative values"
+
+#: src/msgfmt.c:720
+#, c-format
+msgid "nplurals = %lu but plural expression can produce values as large as %lu"
+msgstr ""
+"nplurals = %lu but plural expression can produce values as large as %lu"
+
+#: src/msgfmt.c:746
+msgid "plural expression can produce division by zero"
+msgstr "plural expression can produce division by zero"
+
+#: src/msgfmt.c:751
+msgid "plural expression can produce integer overflow"
+msgstr "plural expression can produce integer overflow"
+
+#: src/msgfmt.c:756
+msgid ""
+"plural expression can produce arithmetic exceptions, possibly division by "
+"zero"
+msgstr ""
+"plural expression can produce arithmetic exceptions, possibly division by "
+"zero"
+
+#: src/msgfmt.c:830 src/msgfmt.c:841
+msgid "message catalog has plural form translations..."
+msgstr "message catalog has plural form translations..."
+
+#: src/msgfmt.c:833
+msgid "...but header entry lacks a \"plural=EXPRESSION\" attribute"
+msgstr "...but header entry lacks a “plural=EXPRESSION” attribute"
+
+#: src/msgfmt.c:844
+msgid "...but header entry lacks a \"nplurals=INTEGER\" attribute"
+msgstr "...but header entry lacks a “nplurals=INTEGER” attribute"
+
+#: src/msgfmt.c:868
+msgid "invalid nplurals value"
+msgstr "invalid nplurals value"
+
+#: src/msgfmt.c:881
+msgid "invalid plural expression"
+msgstr "invalid plural expression"
+
+#: src/msgfmt.c:899 src/msgfmt.c:912
+#, c-format
+msgid "nplurals = %lu..."
+msgstr "nplurals = %lu..."
+
+#: src/msgfmt.c:902
+#, c-format
+msgid "...but some messages have only %lu plural forms"
+msgstr "...but some messages have only %lu plural forms"
+
+#: src/msgfmt.c:915
+#, c-format
+msgid "...but some messages have %lu plural forms"
+msgstr "...but some messages have %lu plural forms"
+
+#: src/msgfmt.c:930
+msgid ""
+"message catalog has plural form translations, but lacks a header entry with "
+"\"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\""
+msgstr ""
+"message catalog has plural form translations, but lacks a header entry with "
+"“Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;”"
+
+#: src/msgfmt.c:968
+msgid "`msgid' and `msgid_plural' entries do not both begin with '\\n'"
+msgstr "‘msgid’ and ‘msgid_plural’ entries do not both begin with ‘\\n’"
+
+#: src/msgfmt.c:978
+#, c-format
+msgid "`msgid' and `msgstr[%u]' entries do not both begin with '\\n'"
+msgstr "‘msgid’ and ‘msgstr[%u]’ entries do not both begin with ‘\\n’"
+
+#: src/msgfmt.c:990
+msgid "`msgid' and `msgstr' entries do not both begin with '\\n'"
+msgstr "‘msgid’ and ‘msgstr’ entries do not both begin with ‘\\n’"
+
+#: src/msgfmt.c:1007
+msgid "`msgid' and `msgid_plural' entries do not both end with '\\n'"
+msgstr "‘msgid’ and ‘msgid_plural’ entries do not both end with ‘\\n’"
+
+#: src/msgfmt.c:1017
+#, c-format
+msgid "`msgid' and `msgstr[%u]' entries do not both end with '\\n'"
+msgstr "‘msgid’ and ‘msgstr[%u]’ entries do not both end with ‘\\n’"
+
+#: src/msgfmt.c:1029
+msgid "`msgid' and `msgstr' entries do not both end with '\\n'"
+msgstr "‘msgid’ and ‘msgstr’ entries do not both end with ‘\\n’"
+
+#: src/msgfmt.c:1041
+msgid "plural handling is a GNU gettext extension"
+msgstr "plural handling is a GNU gettext extension"
+
+#: src/msgfmt.c:1088
+#, c-format
+msgid "'msgstr' is not a valid %s format string, unlike 'msgid'"
+msgstr "‘msgstr’ is not a valid %s format string, unlike ‘msgid’"
+
+#: src/msgfmt.c:1122
+#, c-format
+msgid "msgstr lacks the keyboard accelerator mark '%c'"
+msgstr "msgstr lacks the keyboard accelerator mark ‘%c’"
+
+#: src/msgfmt.c:1130
+#, c-format
+msgid "msgstr has too many keyboard accelerator marks '%c'"
+msgstr "msgstr has too many keyboard accelerator marks ‘%c’"
+
+#: src/msgfmt.c:1164
+#, c-format
+msgid "headerfield `%s' missing in header"
+msgstr "headerfield ‘%s’ missing in header"
+
+#: src/msgfmt.c:1167
+#, c-format
+msgid "header field `%s' should start at beginning of line"
+msgstr "header field ‘%s’ should start at beginning of line"
+
+#: src/msgfmt.c:1176
+msgid "some header fields still have the initial default value"
+msgstr "some header fields still have the initial default value"
+
+#: src/msgfmt.c:1187
+#, c-format
+msgid "field `%s' still has initial default value"
+msgstr "field ‘%s’ still has initial default value"
+
+#: src/msgfmt.c:1228
+msgid "warning: PO file header missing or invalid\n"
+msgstr "warning: PO file header missing or invalid\n"
+
+#: src/msgfmt.c:1231
+msgid "warning: charset conversion will not work\n"
+msgstr "warning: charset conversion will not work\n"
+
+#: src/msgfmt.c:1241
+msgid "warning: PO file header fuzzy\n"
+msgstr "warning: PO file header fuzzy\n"
+
+#: src/msgfmt.c:1243
+msgid "warning: older versions of msgfmt will give an error on this\n"
+msgstr "warning: older versions of msgfmt will give an error on this\n"
+
+#: src/msgfmt.c:1268
+#, c-format
+msgid "domain name \"%s\" not suitable as file name"
+msgstr "domain name “%s” not suitable as file name"
+
+#: src/msgfmt.c:1273
+#, c-format
+msgid "domain name \"%s\" not suitable as file name: will use prefix"
+msgstr "domain name “%s” not suitable as file name: will use prefix"
+
+#: src/msgfmt.c:1284
+#, c-format
+msgid "`domain %s' directive ignored"
+msgstr "‘domain %s’ directive ignored"
+
+#: src/msgfmt.c:1356
+msgid "empty `msgstr' entry ignored"
+msgstr "empty ‘msgstr’ entry ignored"
+
+#: src/msgfmt.c:1357
+msgid "fuzzy `msgstr' entry ignored"
+msgstr "fuzzy ‘msgstr’ entry ignored"
 
-#: src/msgfmt.c:360
+#: src/msgfmt.c:1426
 #, c-format
-msgid "%d translated message"
-msgid_plural "%d translated messages"
-msgstr[0] "%d translated message"
-msgstr[1] "%d translated messages"
+msgid "%s: warning: source file contains fuzzy translation"
+msgstr "%s: warning: source file contains fuzzy translation"
 
-#: src/msgfmt.c:365
+#: src/msggrep.c:359
 #, c-format
-msgid ", %d fuzzy translation"
-msgid_plural ", %d fuzzy translations"
-msgstr[0] ", %d fuzzy translation"
-msgstr[1] ", %d fuzzy translations"
+msgid "option '%c' cannot be used before 'K' or 'T' has been specified"
+msgstr "option ‘%c’ cannot be used before ‘K’ or ‘T’ has been specified"
 
-#: src/msgfmt.c:370
-#, c-format
-msgid ", %d untranslated message"
-msgid_plural ", %d untranslated messages"
-msgstr[0] ", %d untranslated message"
-msgstr[1] ", %d untranslated messages"
+#: src/msggrep.c:381
+#, no-wrap
+msgid ""
+"Extracts all messages of a translation catalog that match a given pattern\n"
+"or belong to some given source files.\n"
+msgstr ""
+"Extracts all messages of a translation catalog that match a given pattern\n"
+"or belong to some given source files.\n"
 
-#: src/msgfmt.c:392
-#, c-format, no-wrap
+#: src/msggrep.c:408
+#, no-wrap
 msgid ""
-"Usage: %s [OPTION] filename.po ...\n"
-"Generate binary message catalog from textual translation description.\n"
+"Message selection:\n"
+"  [-N SOURCEFILE]... [-M DOMAINNAME]... [-K MSGID-PATTERN] [-T MSGSTR-PATTERN]\n"
+"A message is selected if it comes from one of the specified source files,\n"
+"or if it comes from one of the specified domains,\n"
+"or if -K is given and its key (msgid or msgid_plural) matches MSGID-PATTERN,\n"
+"or if -T is given and its translation (msgstr) matches MSGSTR-PATTERN.\n"
 "\n"
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"  -a, --alignment=NUMBER      align strings to NUMBER bytes (default: %d)\n"
-"  -c, --check                 perform language dependent checks on strings\n"
-"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
-"  -f, --use-fuzzy             use fuzzy entries in output\n"
-"  -h, --help                  display this help and exit\n"
-"      --no-hash               binary file will not include the hash table\n"
-"  -o, --output-file=FILE      specify output file name as FILE\n"
-"      --statistics            print statistics about translations\n"
-"      --strict                enable strict Uniforum mode\n"
-"  -v, --verbose               list input file anomalies\n"
-"  -V, --version               output version information and exit\n"
+"When more than one selection criterion is specified, the set of selected\n"
+"messages is the union of the selected messages of each criterion.\n"
 "\n"
-"Giving the -v option more than once increases the verbosity level.\n"
+"MSGID-PATTERN or MSGSTR-PATTERN syntax:\n"
+"  [-E | -F] [-e PATTERN | -f FILE]...\n"
+"PATTERNs are basic regular expressions by default, or extended regular\n"
+"expressions if -E is given, or fixed strings if -F is given.\n"
 "\n"
-"If input file is -, standard input is read.  If output file is -,\n"
-"output is written to standard output.\n"
+"  -N, --location=SOURCEFILE   select messages extracted from SOURCEFILE\n"
+"  -M, --domain=DOMAINNAME     select messages belonging to domain DOMAINNAME\n"
+"  -K, --msgid                 start of patterns for the msgid\n"
+"  -T, --msgstr                start of patterns for the msgstr\n"
+"  -E, --extended-regexp       PATTERN is an extended regular expression\n"
+"  -F, --fixed-strings         PATTERN is a set of newline-separated strings\n"
+"  -e, --regexp=PATTERN        use PATTERN as a regular expression\n"
+"  -f, --file=FILE             obtain PATTERN from FILE\n"
+"  -i, --ignore-case           ignore case distinctions\n"
 msgstr ""
-"Usage: %s [OPTION] filename.po ...\n"
-"Generate binary message catalog from textual translation description.\n"
+"Message selection:\n"
+"  [-N SOURCEFILE]... [-M DOMAINNAME]... [-K MSGID-PATTERN] [-T MSGSTR-PATTERN]\n"
+"A message is selected if it comes from one of the specified source files,\n"
+"or if it comes from one of the specified domains,\n"
+"or if -K is given and its key (msgid or msgid_plural) matches MSGID-PATTERN,\n"
+"or if -T is given and its translation (msgstr) matches MSGSTR-PATTERN.\n"
 "\n"
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"  -a, --alignment=NUMBER      align strings to NUMBER bytes (default: %d)\n"
-"  -c, --check                 perform language dependent checks on strings\n"
-"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
-"  -f, --use-fuzzy             use fuzzy entries in output\n"
-"  -h, --help                  display this help and exit\n"
-"      --no-hash               binary file will not include the hash table\n"
-"  -o, --output-file=FILE      specify output file name as FILE\n"
-"      --statistics            print statistics about translations\n"
-"      --strict                enable strict Uniforum mode\n"
-"  -v, --verbose               list input file anomalies\n"
-"  -V, --version               output version information and exit\n"
+"When more than one selection criterion is specified, the set of selected\n"
+"messages is the union of the selected messages of each criterion.\n"
 "\n"
-"Giving the -v option more than once increases the verbosity level.\n"
+"MSGID-PATTERN or MSGSTR-PATTERN syntax:\n"
+"  [-E | -F] [-e PATTERN | -f FILE]...\n"
+"PATTERNs are basic regular expressions by default, or extended regular\n"
+"expressions if -E is given, or fixed strings if -F is given.\n"
 "\n"
-"If input file is -, standard input is read.  If output file is -,\n"
-"output is written to standard output.\n"
+"  -N, --location=SOURCEFILE   select messages extracted from SOURCEFILE\n"
+"  -M, --domain=DOMAINNAME     select messages belonging to domain DOMAINNAME\n"
+"  -K, --msgid                 start of patterns for the msgid\n"
+"  -T, --msgstr                start of patterns for the msgstr\n"
+"  -E, --extended-regexp       PATTERN is an extended regular expression\n"
+"  -F, --fixed-strings         PATTERN is a set of newline-separated strings\n"
+"  -e, --regexp=PATTERN        use PATTERN as a regular expression\n"
+"  -f, --file=FILE             obtain PATTERN from FILE\n"
+"  -i, --ignore-case           ignore case distinctions\n"
+
+#: src/msggrep.c:436
+#, no-wrap
+msgid ""
+"Output details:\n"
+"      --no-escape             do not use C escapes in output (default)\n"
+"      --escape                use C escapes in output, no extended chars\n"
+"      --force-po              write PO file even if empty\n"
+"      --indent                indented output style\n"
+"      --no-location           suppress '#: filename:line' lines\n"
+"      --add-location          preserve '#: filename:line' lines (default)\n"
+"      --strict                strict Uniforum output style\n"
+"  -w, --width=NUMBER          set output page width\n"
+"      --sort-output           generate sorted output\n"
+"      --sort-by-file          sort output by file location\n"
+msgstr ""
+"Output details:\n"
+"      --no-escape             do not use C escapes in output (default)\n"
+"      --escape                use C escapes in output, no extended chars\n"
+"      --force-po              write PO file even if empty\n"
+"      --indent                indented output style\n"
+"      --no-location           suppress ‘#: filename:line’ lines\n"
+"      --add-location          preserve ‘#: filename:line’ lines (default)\n"
+"      --strict                strict Uniforum output style\n"
+"  -w, --width=NUMBER          set output page width\n"
+"      --sort-output           generate sorted output\n"
+"      --sort-by-file          sort output by file location\n"
 
-#: src/msgfmt.c:435
-msgid "while creating hash table"
-msgstr "while creating hash table"
+#: src/msggrep.c:510
+msgid "write to grep subprocess failed"
+msgstr "write to grep subprocess failed"
 
-#: src/msgfmt.c:479
+#: src/msginit.c:275
+msgid ""
+"You are in a language indifferent environment.  Please set\n"
+"your LANG environment variable, as described in the ABOUT-NLS\n"
+"file.  This is necessary so you can test your translations.\n"
+msgstr ""
+"You are in a language indifferent environment.  Please set\n"
+"your LANG environment variable, as described in the ABOUT-NLS\n"
+"file.  This is necessary so you can test your translations.\n"
+
+#: src/msginit.c:303
 #, c-format
 msgid ""
-"%s: warning: PO file header missing, fuzzy, or invalid\n"
-"%*s  warning: charset conversion will not work"
+"Output file %s already exists.\n"
+"Please specify the locale through the --locale option or\n"
+"the output .po file through the --output-file option.\n"
 msgstr ""
-"%s: warning: PO file header missing, fuzzy, or invalid\n"
-"%*s  warning: charset conversion will not work"
+"Output file %s already exists.\n"
+"Please specify the locale through the --locale option or\n"
+"the output .po file through the --output-file option.\n"
 
-#: src/msgfmt.c:503
+#: src/msginit.c:326
 #, c-format
-msgid "domain name \"%s\" not suitable as file name"
-msgstr "domain name “%s” not suitable as file name"
+msgid "Created %s.\n"
+msgstr "Created %s.\n"
+
+#: src/msginit.c:348
+#, no-wrap
+msgid ""
+"Creates a new PO file, initializing the meta information with values from the\n"
+"user's environment.\n"
+msgstr ""
+"Creates a new PO file, initializing the meta information with values from the\n"
+"user's environment.\n"
+
+#: src/msginit.c:359
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  -i, --input=INPUTFILE       input POT file\n"
+"If no input file is given, the current directory is searched for the POT file.\n"
+"If it is -, standard input is read.\n"
+msgstr ""
+"Input file location:\n"
+"  -i, --input=INPUTFILE       input POT file\n"
+"If no input file is given, the current directory is searched for the POT file.\n"
+"If it is -, standard input is read.\n"
+
+#: src/msginit.c:367
+#, no-wrap
+msgid ""
+"Output file location:\n"
+"  -o, --output-file=FILE      write output to specified PO file\n"
+"If no output file is given, it depends on the --locale option or the user's\n"
+"locale setting.  If it is -, the results are written to standard output.\n"
+msgstr ""
+"Output file location:\n"
+"  -o, --output-file=FILE      write output to specified PO file\n"
+"If no output file is given, it depends on the --locale option or the user's\n"
+"locale setting.  If it is -, the results are written to standard output.\n"
+
+#: src/msginit.c:375
+#, no-wrap
+msgid ""
+"Output details:\n"
+"  -l, --locale=LL_CC          set target locale\n"
+"      --no-translator         assume the PO file is automatically generated\n"
+"  -w, --width=NUMBER          set output page width\n"
+msgstr ""
+"Output details:\n"
+"  -l, --locale=LL_CC          set target locale\n"
+"      --no-translator         assume the PO file is automatically generated\n"
+"  -w, --width=NUMBER          set output page width\n"
+
+#: src/msginit.c:426
+msgid ""
+"Found more than one .pot file.\n"
+"Please specify the input .pot file through the --input option.\n"
+msgstr ""
+"Found more than one .pot file.\n"
+"Please specify the input .pot file through the --input option.\n"
+
+#: src/msginit.c:434 src/msginit.c:439
+msgid "error reading current directory"
+msgstr "error reading current directory"
+
+#: src/msginit.c:447
+msgid ""
+"Found no .pot file in the current directory.\n"
+"Please specify the input .pot file through the --input option.\n"
+msgstr ""
+"Found no .pot file in the current directory.\n"
+"Please specify the input .pot file through the --input option.\n"
 
-#: src/msgfmt.c:508
+#: src/msginit.c:887 src/msginit.c:932 src/msginit.c:1070 src/msginit.c:1137
+#: src/read-java.c:80
+msgid "fdopen() failed"
+msgstr "fdopen() failed"
+
+#: src/msginit.c:892 src/msginit.c:937 src/msginit.c:1075
 #, c-format
-msgid "domain name \"%s\" not suitable as file name: will use prefix"
-msgstr "domain name “%s” not suitable as file name: will use prefix"
+msgid "%s subprocess I/O error"
+msgstr "%s subprocess I/O error"
 
-#. We don't change the exit status here because this is really
-#. only an information.
-#: src/msgfmt.c:521
+#: src/msginit.c:901 src/msginit.c:946 src/msginit.c:1084 src/msginit.c:1151
+#: src/read-java.c:90
 #, c-format
-msgid "`domain %s' directive ignored"
-msgstr "‘domain %s’ directive ignored"
+msgid "%s subprocess failed with exit code %d"
+msgstr "%s subprocess failed with exit code %d"
 
-#: src/msgfmt.c:551
-msgid "empty `msgstr' entry ignored"
-msgstr "empty ‘msgstr’ entry ignored"
+#: src/msginit.c:1060
+msgid ""
+"The new message catalog should contain your email address, so that users "
+"can\n"
+"give you feedback about the translations, and so that maintainers can "
+"contact\n"
+"you in case of unexpected technical problems.\n"
+msgstr ""
+"The new message catalog should contain your email address, so that users "
+"can\n"
+"give you feedback about the translations, and so that maintainers can "
+"contact\n"
+"you in case of unexpected technical problems.\n"
+
+#. TRANSLATORS: "English" needs to be replaced by your language.
+#. For example in it.po write "Traduzioni italiani ...",
+#. *not* "Traduzioni inglesi ...".
+#: src/msginit.c:1440
+#, c-format
+msgid "English translations for %s package"
+msgstr "English translations for %s package"
 
-#: src/msgfmt.c:552
-msgid "fuzzy `msgstr' entry ignored"
-msgstr "fuzzy ‘msgstr’ entry ignored"
+#: src/msgl-cat.c:173 src/msgl-charset.c:86 src/msgl-iconv.c:299
+#, c-format
+msgid "present charset \"%s\" is not a portable encoding name"
+msgstr "present charset “%s” is not a portable encoding name"
 
-#: src/msgfmt.c:594
+#: src/msgl-cat.c:181 src/msgl-iconv.c:307
 #, c-format
-msgid "headerfield `%s' missing in header"
-msgstr "headerfield ‘%s’ missing in header"
+msgid "two different charsets \"%s\" and \"%s\" in input file"
+msgstr "two different charsets “%s” and “%s” in input file"
 
-#: src/msgfmt.c:597
+#: src/msgl-cat.c:194
 #, c-format
-msgid "header field `%s' should start at beginning of line"
-msgstr "header field ‘%s’ should start at beginning of line"
+msgid ""
+"input file `%s' doesn't contain a header entry with a charset specification"
+msgstr ""
+"input file ‘%s’ doesn't contain a header entry with a charset specification"
 
-#: src/msgfmt.c:607
-msgid "some header fields still have the initial default value"
-msgstr "some header fields still have the initial default value"
+#: src/msgl-cat.c:198
+#, c-format
+msgid ""
+"domain \"%s\" in input file `%s' doesn't contain a header entry with a "
+"charset specification"
+msgstr ""
+"domain “%s” in input file ‘%s’ doesn't contain a header entry with a charset "
+"specification"
 
-#: src/msgfmt.c:618
+#: src/msgl-cat.c:359 src/msgl-iconv.c:382
 #, c-format
-msgid "field `%s' still has initial default value"
-msgstr "field ‘%s’ still has initial default value"
+msgid "target charset \"%s\" is not a portable encoding name."
+msgstr "target charset “%s” is not a portable encoding name."
+
+#: src/msgl-cat.c:409 src/msgl-cat.c:415 src/msgl-charset.c:91
+#: src/msgl-charset.c:126 src/write-po.c:723 src/write-po.c:817
+msgid "warning: "
+msgstr "warning: "
+
+#: src/msgl-cat.c:410
+msgid ""
+"Input files contain messages in different encodings, UTF-8 among others.\n"
+"Converting the output to UTF-8.\n"
+msgstr ""
+"Input files contain messages in different encodings, UTF-8 among others.\n"
+"Converting the output to UTF-8.\n"
 
-#: src/msgfmt.c:708
+#: src/msgl-cat.c:416
 #, c-format
-msgid "%s: warning: source file contains fuzzy translation"
-msgstr "%s: warning: source file contains fuzzy translation"
+msgid ""
+"Input files contain messages in different encodings, %s and %s among "
+"others.\n"
+"Converting the output to UTF-8.\n"
+"To select a different output encoding, use the --to-code option.\n"
+msgstr ""
+"Input files contain messages in different encodings, %s and %s among "
+"others.\n"
+"Converting the output to UTF-8.\n"
+"To select a different output encoding, use the --to-code option.\n"
 
-#: src/msgfmt.c:930
-msgid "`msgid' and `msgid_plural' entries do not both begin with '\\n'"
-msgstr "‘msgid’ and ‘msgid_plural’ entries do not both begin with ‘\\n’"
+#: src/msgl-charset.c:92
+#, c-format
+msgid ""
+"Locale charset \"%s\" is different from\n"
+"input file charset \"%s\".\n"
+"Output of '%s' might be incorrect.\n"
+"Possible workarounds are:\n"
+msgstr ""
+"Locale charset “%s” is different from\n"
+"input file charset “%s”.\n"
+"Output of ‘%s’ might be incorrect.\n"
+"Possible workarounds are:\n"
 
-#: src/msgfmt.c:938
+#: src/msgl-charset.c:99
 #, c-format
-msgid "`msgid' and `msgstr[%u]' entries do not both begin with '\\n'"
-msgstr "‘msgid’ and ‘msgstr[%u]’ entries do not both begin with ‘\\n’"
+msgid "- Set LC_ALL to a locale with encoding %s.\n"
+msgstr "- Set LC_ALL to a locale with encoding %s.\n"
 
-#: src/msgfmt.c:948
-msgid "`msgid' and `msgstr' entries do not both begin with '\\n'"
-msgstr "‘msgid’ and ‘msgstr’ entries do not both begin with ‘\\n’"
+#: src/msgl-charset.c:104
+#, c-format
+msgid ""
+"- Convert the translation catalog to %s using 'msgconv',\n"
+"  then apply '%s',\n"
+"  then convert back to %s using 'msgconv'.\n"
+msgstr ""
+"- Convert the translation catalog to %s using 'msgconv',\n"
+"  then apply '%s',\n"
+"  then convert back to %s using 'msgconv'.\n"
 
-#: src/msgfmt.c:963
-msgid "`msgid' and `msgid_plural' entries do not both end with '\\n'"
-msgstr "‘msgid’ and ‘msgid_plural’ entries do not both end with ‘\\n’"
+#: src/msgl-charset.c:113
+#, c-format
+msgid ""
+"- Set LC_ALL to a locale with encoding %s,\n"
+"  convert the translation catalog to %s using 'msgconv',\n"
+"  then apply '%s',\n"
+"  then convert back to %s using 'msgconv'.\n"
+msgstr ""
+"- Set LC_ALL to a locale with encoding %s,\n"
+"  convert the translation catalog to %s using 'msgconv',\n"
+"  then apply '%s',\n"
+"  then convert back to %s using 'msgconv'.\n"
 
-#: src/msgfmt.c:971
+#: src/msgl-charset.c:127
 #, c-format
-msgid "`msgid' and `msgstr[%u]' entries do not both end with '\\n'"
-msgstr "‘msgid’ and ‘msgstr[%u]’ entries do not both end with ‘\\n’"
+msgid ""
+"Locale charset \"%s\" is not a portable encoding name.\n"
+"Output of '%s' might be incorrect.\n"
+"A possible workaround is to set LC_ALL=C.\n"
+msgstr ""
+"Locale charset “%s” is not a portable encoding name.\n"
+"Output of ‘%s’ might be incorrect.\n"
+"A possible workaround is to set LC_ALL=C.\n"
 
-#: src/msgfmt.c:981
-msgid "`msgid' and `msgstr' entries do not both end with '\\n'"
-msgstr "‘msgid’ and ‘msgstr’ entries do not both end with ‘\\n’"
+#: src/msgl-iconv.c:200 src/msgl-iconv.c:254
+msgid "conversion failure"
+msgstr "conversion failure"
 
-#: src/msgfmt.c:997
-msgid "number of format specifications in `msgid' and `msgstr' does not match"
-msgstr "number of format specifications in ‘msgid’ and ‘msgstr’ does not match"
+#: src/msgl-iconv.c:328
+msgid "input file doesn't contain a header entry with a charset specification"
+msgstr "input file doesn't contain a header entry with a charset specification"
 
-#: src/msgfmt.c:1014
+#: src/msgl-iconv.c:346
 #, c-format
-msgid "format specifications for argument %lu are not the same"
-msgstr "format specifications for argument %lu are not the same"
+msgid ""
+"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(), and iconv() does "
+"not support this conversion."
+msgstr ""
+"Cannot convert from “%s” to “%s”. %s relies on iconv(), and iconv() does not "
+"support this conversion."
 
-#: src/msgmerge.c:320
-#, c-format, no-wrap
+#: src/msgl-iconv.c:362
+#, c-format
 msgid ""
-"Usage: %s [OPTION] def.po ref.po\n"
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"  -C, --compendium=FILE       additional library of message translations,\n"
-"                              may be specified more than once\n"
-"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
-"  -e, --no-escape             do not use C escapes in output (default)\n"
-"  -E, --escape                use C escapes in output, no extended chars\n"
-"      --force-po              write PO file even if empty\n"
-"  -h, --help                  display this help and exit\n"
-"  -i, --indent                indented output style\n"
-"  -o, --output-file=FILE      result will be written to FILE\n"
-"      --no-location           suppress '#: filename:line' lines\n"
-"      --add-location          preserve '#: filename:line' lines (default)\n"
-"      --strict                strict Uniforum output style\n"
-"  -v, --verbose               increase verbosity level\n"
-"  -V, --version               output version information and exit\n"
-"  -w, --width=NUMBER          set output page width\n"
+"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(). This version was "
+"built without iconv()."
 msgstr ""
-"Usage: %s [OPTION] def.po ref.po\n"
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"  -C, --compendium=FILE       additional library of message translations,\n"
-"                              may be specified more than once\n"
-"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
-"  -e, --no-escape             do not use C escapes in output (default)\n"
-"  -E, --escape                use C escapes in output, no extended chars\n"
-"      --force-po              write PO file even if empty\n"
-"  -h, --help                  display this help and exit\n"
-"  -i, --indent                indented output style\n"
-"  -o, --output-file=FILE      result will be written to FILE\n"
-"      --no-location           suppress ‘#: filename:line’ lines\n"
-"      --add-location          preserve ‘#: filename:line’ lines (default)\n"
-"      --strict                strict Uniforum output style\n"
-"  -v, --verbose               increase verbosity level\n"
-"  -V, --version               output version information and exit\n"
-"  -w, --width=NUMBER          set output page width\n"
+"Cannot convert from “%s” to “%s”. %s relies on iconv(). This version was "
+"built without iconv()."
 
 #: src/msgmerge.c:340
+msgid "backup type"
+msgstr "backup type"
+
+#: src/msgmerge.c:377
 #, no-wrap
 msgid ""
-"\n"
 "Merges two Uniforum style .po files together.  The def.po file is an\n"
-"existing PO file with the old translations which will be taken over to\n"
-"the newly created file as long as they still match; comments will be\n"
-"preserved, but extract comments and file positions will be discarded.\n"
-"The ref.po file is the last created PO file (generally by xgettext), any\n"
-"translations or comments in the file will be discarded, however dot\n"
+"existing PO file with translations which will be taken over to the newly\n"
+"created file as long as they still match; comments will be preserved,\n"
+"but extracted comments and file positions will be discarded.  The ref.pot\n"
+"file is the last created PO file with up-to-date source references but\n"
+"old translations, or a PO Template file (generally created by xgettext);\n"
+"any translations or comments in the file will be discarded, however dot\n"
 "comments and file positions will be preserved.  Where an exact match\n"
-"cannot be found, fuzzy matching is used to produce better results.  The\n"
-"results are written to stdout unless an output file is specified.\n"
+"cannot be found, fuzzy matching is used to produce better results.\n"
 msgstr ""
-"\n"
 "Merges two Uniforum style .po files together.  The def.po file is an\n"
-"existing PO file with the old translations which will be taken over to\n"
-"the newly created file as long as they still match; comments will be\n"
-"preserved, but extract comments and file positions will be discarded.\n"
-"The ref.po file is the last created PO file (generally by xgettext), any\n"
-"translations or comments in the file will be discarded, however dot\n"
+"existing PO file with translations which will be taken over to the newly\n"
+"created file as long as they still match; comments will be preserved,\n"
+"but extracted comments and file positions will be discarded.  The ref.pot\n"
+"file is the last created PO file with up-to-date source references but\n"
+"old translations, or a PO Template file (generally created by xgettext);\n"
+"any translations or comments in the file will be discarded, however dot\n"
 "comments and file positions will be preserved.  Where an exact match\n"
-"cannot be found, fuzzy matching is used to produce better results.  The\n"
-"results are written to stdout unless an output file is specified.\n"
+"cannot be found, fuzzy matching is used to produce better results.\n"
+
+#: src/msgmerge.c:395
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  def.po                      translations referring to old sources\n"
+"  ref.pot                     references to new sources\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"  -C, --compendium=FILE       additional library of message translations,\n"
+"                              may be specified more than once\n"
+msgstr ""
+"Input file location:\n"
+"  def.po                      translations referring to old sources\n"
+"  ref.pot                     references to new sources\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"  -C, --compendium=FILE       additional library of message translations,\n"
+"                              may be specified more than once\n"
+
+#: src/msgmerge.c:405
+#, no-wrap
+msgid ""
+"Operation mode:\n"
+"  -U, --update                update def.po,\n"
+"                              do nothing if def.po already up to date\n"
+msgstr ""
+"Operation mode:\n"
+"  -U, --update                update def.po,\n"
+"                              do nothing if def.po already up to date\n"
 
-#: src/msgmerge.c:799
+#: src/msgmerge.c:420
+#, no-wrap
+msgid ""
+"Output file location in update mode:\n"
+"The result is written back to def.po.\n"
+"      --backup=CONTROL        make a backup of def.po\n"
+"      --suffix=SUFFIX         override the usual backup suffix\n"
+"The version control method may be selected via the --backup option or through\n"
+"the VERSION_CONTROL environment variable.  Here are the values:\n"
+"  none, off       never make backups (even if --backup is given)\n"
+"  numbered, t     make numbered backups\n"
+"  existing, nil   numbered if numbered backups exist, simple otherwise\n"
+"  simple, never   always make simple backups\n"
+"The backup suffix is `~', unless set with --suffix or the SIMPLE_BACKUP_SUFFIX\n"
+"environment variable.\n"
+msgstr ""
+"Output file location in update mode:\n"
+"The result is written back to def.po.\n"
+"      --backup=CONTROL        make a backup of def.po\n"
+"      --suffix=SUFFIX         override the usual backup suffix\n"
+"The version control method may be selected via the --backup option or through\n"
+"the VERSION_CONTROL environment variable.  Here are the values:\n"
+"  none, off       never make backups (even if --backup is given)\n"
+"  numbered, t     make numbered backups\n"
+"  existing, nil   numbered if numbered backups exist, simple otherwise\n"
+"  simple, never   always make simple backups\n"
+"The backup suffix is ‘~’, unless set with --suffix or the SIMPLE_BACKUP_SUFFIX\n"
+"environment variable.\n"
+
+#: src/msgmerge.c:457
+#, no-wrap
+msgid ""
+"Informative output:\n"
+"  -h, --help                  display this help and exit\n"
+"  -V, --version               output version information and exit\n"
+"  -v, --verbose               increase verbosity level\n"
+"  -q, --quiet, --silent       suppress progress indicators\n"
+msgstr ""
+"Informative output:\n"
+"  -h, --help                  display this help and exit\n"
+"  -V, --version               output version information and exit\n"
+"  -v, --verbose               increase verbosity level\n"
+"  -q, --quiet, --silent       suppress progress indicators\n"
+
+#: src/msgmerge.c:625
+msgid "this message should define plural forms"
+msgstr "this message should define plural forms"
+
+#: src/msgmerge.c:648
+msgid "this message should not define plural forms"
+msgstr "this message should not define plural forms"
+
+#: src/msgmerge.c:779
 #, c-format
 msgid ""
 "%sRead %ld old + %ld reference, merged %ld, fuzzied %ld, missing %ld, "
@@ -631,81 +1814,156 @@ msgstr ""
 "%sRead %ld old + %ld reference, merged %ld, fuzzied %ld, missing %ld, "
 "obsolete %ld.\n"
 
-#: src/msgmerge.c:806
+#: src/msgmerge.c:787
 msgid " done.\n"
 msgstr " done.\n"
 
-#: src/msgunfmt.c:210
+#: src/msgunfmt.c:201
+#, c-format
+msgid "%s and explicit file names are mutually exclusive"
+msgstr "%s and explicit file names are mutually exclusive"
+
+#: src/msgunfmt.c:267
 #, c-format, no-wrap
+msgid "Usage: %s [OPTION] [FILE]...\n"
+msgstr "Usage: %s [OPTION] [FILE]...\n"
+
+#: src/msgunfmt.c:272
+#, no-wrap
+msgid "Convert binary message catalog to Uniforum style .po file.\n"
+msgstr "Convert binary message catalog to Uniforum style .po file.\n"
+
+#: src/msgunfmt.c:282
+#, no-wrap
 msgid ""
-"Usage: %s [OPTION] [FILE]...\n"
-"Mandatory arguments to long options are mandatory for short options too.\n"
+"Operation mode:\n"
+"  -j, --java               Java mode: generate a Java ResourceBundle class\n"
+msgstr ""
+"Operation mode:\n"
+"  -j, --java               Java mode: generate a Java ResourceBundle class\n"
+
+#: src/msgunfmt.c:288
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  FILE ...                 input .mo files\n"
+"If no input file is given or if it is -, standard input is read.\n"
+msgstr ""
+"Input file location:\n"
+"  FILE ...                 input .mo files\n"
+"If no input file is given or if it is -, standard input is read.\n"
+
+#: src/msgunfmt.c:295
+#, no-wrap
+msgid ""
+"Input file location in Java mode:\n"
+"  -r, --resource=RESOURCE  resource name\n"
+"  -l, --locale=LOCALE      locale name, either language or language_COUNTRY\n"
+"The class name is determined by appending the locale name to the resource name,\n"
+"separated with an underscore.  The class is located using the CLASSPATH.\n"
+msgstr ""
+"Input file location in Java mode:\n"
+"  -r, --resource=RESOURCE  resource name\n"
+"  -l, --locale=LOCALE      locale name, either language or language_COUNTRY\n"
+"The class name is determined by appending the locale name to the resource name,\n"
+"separated with an underscore.  The class is located using the CLASSPATH.\n"
+
+#: src/msgunfmt.c:304
+#, no-wrap
+msgid ""
+"Output file location:\n"
+"  -o, --output-file=FILE   write output to specified file\n"
+"The results are written to standard output if no output file is specified\n"
+"or if it is -.\n"
+msgstr ""
+"Output file location:\n"
+"  -o, --output-file=FILE   write output to specified file\n"
+"The results are written to standard output if no output file is specified\n"
+"or if it is -.\n"
+
+#: src/msgunfmt.c:312
+#, no-wrap
+msgid ""
+"Output details:\n"
 "  -e, --no-escape          do not use C escapes in output (default)\n"
 "  -E, --escape             use C escapes in output, no extended chars\n"
 "      --force-po           write PO file even if empty\n"
-"  -h, --help               display this help and exit\n"
 "  -i, --indent             write indented output style\n"
-"  -o, --output-file=FILE   write output into FILE instead of standard output\n"
 "      --strict             write strict uniforum style\n"
-"  -V, --version            output version information and exit\n"
 "  -w, --width=NUMBER       set output page width\n"
+"  -s, --sort-output        generate sorted output\n"
 msgstr ""
-"Usage: %s [OPTION] [FILE]...\n"
-"Mandatory arguments to long options are mandatory for short options too.\n"
+"Output details:\n"
 "  -e, --no-escape          do not use C escapes in output (default)\n"
 "  -E, --escape             use C escapes in output, no extended chars\n"
 "      --force-po           write PO file even if empty\n"
-"  -h, --help               display this help and exit\n"
 "  -i, --indent             write indented output style\n"
-"  -o, --output-file=FILE   write output into FILE instead of standard output\n"
 "      --strict             write strict uniforum style\n"
-"  -V, --version            output version information and exit\n"
 "  -w, --width=NUMBER       set output page width\n"
+"  -s, --sort-output        generate sorted output\n"
 
-#: src/msgunfmt.c:224
+#: src/msgunfmt.c:324
 #, no-wrap
 msgid ""
-"\n"
-"Convert binary .mo files to Uniforum style .po files.\n"
-"Both little-endian and big-endian .mo files are handled.\n"
-"If no input file is given or it is -, standard input is read.\n"
-"By default the output is written to standard output.\n"
+"Informative output:\n"
+"  -h, --help               display this help and exit\n"
+"  -V, --version            output version information and exit\n"
+"  -v, --verbose            increase verbosity level\n"
 msgstr ""
-"\n"
-"Convert binary .mo files to Uniforum style .po files.\n"
-"Both little-endian and big-endian .mo files are handled.\n"
-"If no input file is given or it is -, standard input is read.\n"
-"By default the output is written to standard output.\n"
-
-#: src/msgunfmt.c:261 src/msgunfmt.c:326 src/po-lex.c:216 src/xget-lex.c:243
-#, c-format
-msgid "error while reading \"%s\""
-msgstr "error while reading “%s”"
-
-#: src/msgunfmt.c:262 src/msgunfmt.c:327
-#, c-format
-msgid "file \"%s\" truncated"
-msgstr "file “%s” truncated"
-
-#: src/msgunfmt.c:293
-#, c-format
-msgid "seek \"%s\" offset %ld failed"
-msgstr "seek “%s” offset %ld failed"
-
-#: src/msgunfmt.c:332
-#, c-format
-msgid "file \"%s\" contains a not NUL terminated string"
-msgstr "file “%s” contains a not NUL terminated string"
+"Informative output:\n"
+"  -h, --help               display this help and exit\n"
+"  -V, --version            output version information and exit\n"
+"  -v, --verbose            increase verbosity level\n"
 
-#: src/msgunfmt.c:377
-#, c-format
-msgid "file \"%s\" is not in GNU .mo format"
-msgstr "file “%s” is not in GNU .mo format"
+#: src/msguniq.c:279
+#, no-wrap
+msgid ""
+"Unifies duplicate translations in a translation catalog.\n"
+"Finds duplicate translations of the same message ID.  Such duplicates are\n"
+"invalid input for other programs like msgfmt, msgmerge or msgcat.  By\n"
+"default, duplicates are merged together.  When using the --repeated option,\n"
+"only duplicates are output, and all other messages are discarded.  Comments\n"
+"and extracted comments will be cumulated, except that if --use-first is\n"
+"specified, they will be taken from the first translation.  File positions\n"
+"will be cumulated.  When using the --unique option, duplicates are discarded.\n"
+msgstr ""
+"Unifies duplicate translations in a translation catalog.\n"
+"Finds duplicate translations of the same message ID.  Such duplicates are\n"
+"invalid input for other programs like msgfmt, msgmerge or msgcat.  By\n"
+"default, duplicates are merged together.  When using the --repeated option,\n"
+"only duplicates are output, and all other messages are discarded.  Comments\n"
+"and extracted comments will be cumulated, except that if --use-first is\n"
+"specified, they will be taken from the first translation.  File positions\n"
+"will be cumulated.  When using the --unique option, duplicates are discarded.\n"
+
+#: src/msguniq.c:312
+#, no-wrap
+msgid ""
+"Message selection:\n"
+"  -d, --repeated                 print only duplicates\n"
+"  -u, --unique                   print only unique messages, discard duplicates\n"
+msgstr ""
+"Message selection:\n"
+"  -d, --repeated                 print only duplicates\n"
+"  -u, --unique                   print only unique messages, discard duplicates\n"
 
-#: src/ngettext.c:209
+#: src/ngettext.c:215
 #, c-format, no-wrap
+msgid "Usage: %s [OPTION] [TEXTDOMAIN] MSGID MSGID-PLURAL COUNT\n"
+msgstr "Usage: %s [OPTION] [TEXTDOMAIN] MSGID MSGID-PLURAL COUNT\n"
+
+#: src/ngettext.c:220
+#, no-wrap
+msgid ""
+"Display native language translation of a textual message whose grammatical\n"
+"form depends on a number.\n"
+msgstr ""
+"Display native language translation of a textual message whose grammatical\n"
+"form depends on a number.\n"
+
+#: src/ngettext.c:225
+#, no-wrap
 msgid ""
-"Usage: %s [OPTION] [TEXTDOMAIN] MSGID MSGID-PLURAL COUNT\n"
 "  -d, --domain=TEXTDOMAIN   retrieve translated message from TEXTDOMAIN\n"
 "  -e                        enable expansion of some escape sequences\n"
 "  -E                        (ignored for compatibility)\n"
@@ -715,7 +1973,6 @@ msgid ""
 "  MSGID MSGID-PLURAL        translate MSGID (singular) / MSGID-PLURAL (plural)\n"
 "  COUNT                     choose singular/plural form based on this value\n"
 msgstr ""
-"Usage: %s [OPTION] [TEXTDOMAIN] MSGID MSGID-PLURAL COUNT\n"
 "  -d, --domain=TEXTDOMAIN   retrieve translated message from TEXTDOMAIN\n"
 "  -e                        enable expansion of some escape sequences\n"
 "  -E                        (ignored for compatibility)\n"
@@ -725,85 +1982,32 @@ msgstr ""
 "  MSGID MSGID-PLURAL        translate MSGID (singular) / MSGID-PLURAL (plural)\n"
 "  COUNT                     choose singular/plural form based on this value\n"
 
-#: src/ngettext.c:221
+#: src/ngettext.c:236
 #, c-format, no-wrap
 msgid ""
-"\n"
 "If the TEXTDOMAIN parameter is not given, the domain is determined from the\n"
 "environment variable TEXTDOMAIN.  If the message catalog is not found in the\n"
 "regular directory, another location can be specified with the environment\n"
 "variable TEXTDOMAINDIR.\n"
 "Standard search directory: %s\n"
 msgstr ""
-"\n"
 "If the TEXTDOMAIN parameter is not given, the domain is determined from the\n"
 "environment variable TEXTDOMAIN.  If the message catalog is not found in the\n"
 "regular directory, another location can be specified with the environment\n"
 "variable TEXTDOMAINDIR.\n"
 "Standard search directory: %s\n"
 
-#: src/open-po.c:64
+#: src/open-po.c:69
 msgid "<stdin>"
 msgstr "<stdin>"
 
-#: po-gram-gen.y:87
-msgid "inconsistent use of #~"
-msgstr "inconsistent use of #~"
-
-#: po-gram-gen.y:168
-msgid "missing `msgstr[]' section"
-msgstr "missing ‘msgstr[]’ section"
-
-#: po-gram-gen.y:176
-msgid "missing `msgid_plural' section"
-msgstr "missing ‘msgid_plural’ section"
-
-#: po-gram-gen.y:183
-msgid "missing `msgstr' section"
-msgstr "missing ‘msgstr’ section"
-
-#: po-gram-gen.y:228
-msgid "first plural form has nonzero index"
-msgstr "first plural form has nonzero index"
-
-#: po-gram-gen.y:230
-msgid "plural form has wrong index"
-msgstr "plural form has wrong index"
-
-#. CAUTION: If you change this macro, you must also make identical
-#. changes to the function of the same name in src/po-lex.c
-#: src/po-lex.c:159 src/po-lex.c:198 src/po-lex.h:85 src/po-lex.h:99
-#: src/po-lex.h:115 src/po-lex.h:129
-msgid "too many errors, aborting"
-msgstr "too many errors, aborting"
-
-#: src/po-lex.c:274
-#, c-format
-msgid "keyword \"%s\" unknown"
-msgstr "keyword “%s” unknown"
-
-#: src/po-lex.c:377
-msgid "invalid control sequence"
-msgstr "invalid control sequence"
-
-#: src/po-lex.c:480
-msgid "end-of-file within string"
-msgstr "end-of-file within string"
-
-#: src/po-lex.c:485
-msgid "end-of-line within string"
-msgstr "end-of-line within string"
-
-#: src/po-lex.c:528 src/write-po.c:285 src/write-po.c:367
-msgid "invalid multibyte sequence"
-msgstr "invalid multibyte sequence"
-
-#: src/po.c:302 src/po.c:374 src/po.c:409 src/po.c:439
+#: src/po-charset.c:172 src/po-charset.c:240 src/po-charset.c:268
+#: src/po-charset.c:294
 #, c-format
 msgid "%s: warning: "
 msgstr "%s: warning: "
 
-#: src/po.c:303
+#: src/po-charset.c:173
 #, c-format
 msgid ""
 "Charset \"%s\" is not a portable encoding name.\n"
@@ -812,15 +2016,15 @@ msgstr ""
 "Charset “%s” is not a portable encoding name.\n"
 "Message conversion to user's charset might not work.\n"
 
-#: src/po.c:370 src/po.c:405
+#: src/po-charset.c:236 src/po-charset.c:266
 msgid "Continuing anyway, expect parse errors."
 msgstr "Continuing anyway, expect parse errors."
 
-#: src/po.c:372
+#: src/po-charset.c:238
 msgid "Continuing anyway."
 msgstr "Continuing anyway."
 
-#: src/po.c:375
+#: src/po-charset.c:241
 #, c-format
 msgid ""
 "Charset \"%s\" is not supported. %s relies on iconv(),\n"
@@ -829,7 +2033,7 @@ msgstr ""
 "Charset “%s” is not supported. %s relies on iconv(),\n"
 "and iconv() does not support “%s”.\n"
 
-#: src/po.c:385 src/po.c:418
+#: src/po-charset.c:250 src/po-charset.c:276
 msgid ""
 "Installing GNU libiconv and then reinstalling GNU gettext\n"
 "would fix this problem.\n"
@@ -837,12 +2041,12 @@ msgstr ""
 "Installing GNU libiconv and then reinstalling GNU gettext\n"
 "would fix this problem.\n"
 
-#: src/po.c:393 src/po.c:425
+#: src/po-charset.c:255 src/po-charset.c:280
 #, c-format
 msgid "%s\n"
 msgstr "%s\n"
 
-#: src/po.c:410
+#: src/po-charset.c:269
 #, c-format
 msgid ""
 "Charset \"%s\" is not supported. %s relies on iconv().\n"
@@ -851,7 +2055,7 @@ msgstr ""
 "Charset “%s” is not supported. %s relies on iconv().\n"
 "This version was built without iconv().\n"
 
-#: src/po.c:440
+#: src/po-charset.c:295
 msgid ""
 "Charset missing in header.\n"
 "Message conversion to user's charset will not work.\n"
@@ -859,183 +2063,325 @@ msgstr ""
 "Charset missing in header.\n"
 "Message conversion to user's charset will not work.\n"
 
-#: src/write-po.c:316
+#: po-gram-gen.y:91
+msgid "inconsistent use of #~"
+msgstr "inconsistent use of #~"
+
+#: po-gram-gen.y:181
+msgid "missing `msgstr[]' section"
+msgstr "missing ‘msgstr[]’ section"
+
+#: po-gram-gen.y:189
+msgid "missing `msgid_plural' section"
+msgstr "missing ‘msgid_plural’ section"
+
+#: po-gram-gen.y:196
+msgid "missing `msgstr' section"
+msgstr "missing ‘msgstr’ section"
+
+#: po-gram-gen.y:241
+msgid "first plural form has nonzero index"
+msgstr "first plural form has nonzero index"
+
+#: po-gram-gen.y:243
+msgid "plural form has wrong index"
+msgstr "plural form has wrong index"
+
+#: src/po-lex.h:91 src/po-lex.h:106 src/po-lex.h:126 src/po-lex.h:141
+#: src/po-lex.c:135 src/po-lex.c:176
+msgid "too many errors, aborting"
+msgstr "too many errors, aborting"
+
+#: src/po-lex.c:545 src/write-po.c:331 src/write-po.c:421
+msgid "invalid multibyte sequence"
+msgstr "invalid multibyte sequence"
+
+#: src/po-lex.c:571
+msgid "incomplete multibyte sequence at end of file"
+msgstr "incomplete multibyte sequence at end of file"
+
+#: src/po-lex.c:581
+msgid "incomplete multibyte sequence at end of line"
+msgstr "incomplete multibyte sequence at end of line"
+
+#: src/po-lex.c:589
+msgid "iconv failure"
+msgstr "iconv failure"
+
+#: src/po-lex.c:763 src/read-mo.c:70 src/read-mo.c:135 src/x-c.c:216
+#: src/x-rst.c:227 src/x-ycp.c:103
+#, c-format
+msgid "error while reading \"%s\""
+msgstr "error while reading “%s”"
+
+#: src/po-lex.c:829
+#, c-format
+msgid "keyword \"%s\" unknown"
+msgstr "keyword “%s” unknown"
+
+#: src/po-lex.c:939
+msgid "invalid control sequence"
+msgstr "invalid control sequence"
+
+#: src/po-lex.c:1047
+msgid "end-of-file within string"
+msgstr "end-of-file within string"
+
+#: src/po-lex.c:1053
+msgid "end-of-line within string"
+msgstr "end-of-line within string"
+
+#: src/read-mo.c:71 src/read-mo.c:136
+#, c-format
+msgid "file \"%s\" truncated"
+msgstr "file “%s” truncated"
+
+#: src/read-mo.c:102
+#, c-format
+msgid "seek \"%s\" offset %ld failed"
+msgstr "seek “%s” offset %ld failed"
+
+#: src/read-mo.c:141
+#, c-format
+msgid "file \"%s\" contains a not NUL terminated string"
+msgstr "file “%s” contains a not NUL terminated string"
+
+#: src/read-mo.c:186
+#, c-format
+msgid "file \"%s\" is not in GNU .mo format"
+msgstr "file “%s” is not in GNU .mo format"
+
+#: src/write-java.c:1108
+msgid "cannot find a temporary directory, try setting $TMPDIR"
+msgstr "cannot find a temporary directory, try setting $TMPDIR"
+
+#: src/write-java.c:1118
+#, c-format
+msgid "cannot create a temporary directory using template \"%s\""
+msgstr "cannot create a temporary directory using template “%s”"
+
+#: src/write-java.c:1131
+#, c-format
+msgid "not a valid Java class name: %s"
+msgstr "not a valid Java class name: %s"
+
+#: src/write-java.c:1188 src/write-java.c:1201
+#, c-format
+msgid "failed to create \"%s\""
+msgstr "failed to create “%s”"
+
+#: src/write-java.c:1209 src/write-mo.c:289 src/write-po.c:966
+#, c-format
+msgid "error while writing \"%s\" file"
+msgstr "error while writing “%s” file"
+
+#: src/write-java.c:1223
+msgid "compilation of Java class failed, please try --verbose or set $JAVAC"
+msgstr "compilation of Java class failed, please try --verbose or set $JAVAC"
+
+#: src/write-mo.c:277
+#, c-format
+msgid "error while opening \"%s\" for writing"
+msgstr "error while opening “%s” for writing"
+
+#: src/write-po.c:370
 #, c-format
 msgid ""
 "internationalized messages should not contain the `\\%c' escape sequence"
 msgstr ""
 "internationalized messages should not contain the ‘\\%c’ escape sequence"
 
-#: src/write-po.c:857
+#: src/write-po.c:724 src/write-po.c:818
+#, c-format
+msgid ""
+"The following msgid contains non-ASCII characters.\n"
+"This will cause problems to translators who use a character encoding\n"
+"different from yours. Consider using a pure ASCII msgid instead.\n"
+"%s\n"
+msgstr ""
+"The following msgid contains non-ASCII characters.\n"
+"This will cause problems to translators who use a character encoding\n"
+"different from yours. Consider using a pure ASCII msgid instead.\n"
+"%s\n"
+
+#: src/write-po.c:885
 #, c-format
 msgid "cannot create output file \"%s\""
 msgstr "cannot create output file “%s”"
 
-#: src/write-po.c:864
+#: src/write-po.c:892
 #, no-c-format
 msgid "standard output"
 msgstr "standard output"
 
-#: src/write-po.c:939
-#, c-format
-msgid "error while writing \"%s\" file"
-msgstr "error while writing “%s” file"
-
-#: src/xget-lex.c:148
-msgid "standard input"
-msgstr "standard input"
-
-#: src/xget-lex.c:876
+#: src/x-c.c:858
 #, c-format
 msgid "%s:%d: warning: unterminated character constant"
 msgstr "%s:%d: warning: unterminated character constant"
 
-#: src/xget-lex.c:898
+#: src/x-c.c:882
 #, c-format
 msgid "%s:%d: warning: unterminated string literal"
 msgstr "%s:%d: warning: unterminated string literal"
 
-#: src/xgettext.c:373
+#: src/x-po.c:106 src/xgettext.c:605
+msgid "this file may not contain domain directives"
+msgstr "this file may not contain domain directives"
+
+#: src/x-rst.c:108
+#, c-format
+msgid "%s:%d: invalid string definition"
+msgstr "%s:%d: invalid string definition"
+
+#: src/x-rst.c:168
+#, c-format
+msgid "%s:%d: missing number after #"
+msgstr "%s:%d: missing number after #"
+
+#: src/x-rst.c:203
+#, c-format
+msgid "%s:%d: invalid string expression"
+msgstr "%s:%d: invalid string expression"
+
+#: src/xgettext.c:375
 msgid "--join-existing cannot be used when output is written to stdout"
 msgstr "--join-existing cannot be used when output is written to stdout"
 
-#: src/xgettext.c:378
+#: src/xgettext.c:380
 msgid "xgettext cannot work without keywords to look for"
 msgstr "xgettext cannot work without keywords to look for"
 
-#: src/xgettext.c:484
+#: src/xgettext.c:468
 #, c-format
 msgid "warning: file `%s' extension `%s' is unknown; will try C"
 msgstr "warning: file ‘%s’ extension ‘%s’ is unknown; will try C"
 
-#: src/xgettext.c:520
-#, c-format, no-wrap
+#: src/xgettext.c:509
+#, no-wrap
+msgid "Extract translatable strings from given input files.\n"
+msgstr "Extract translatable strings from given input files.\n"
+
+#: src/xgettext.c:514
+#, no-wrap
 msgid ""
-"Usage: %s [OPTION] INPUTFILE ...\n"
-"Extract translatable string from given input files.\n"
-"\n"
 "Mandatory arguments to long options are mandatory for short options too.\n"
-"  -a, --extract-all              extract all strings\n"
+"Similarly for optional arguments.\n"
+msgstr ""
+"Mandatory arguments to long options are mandatory for short options too.\n"
+"Similarly for optional arguments.\n"
+
+#: src/xgettext.c:529
+#, no-wrap
+msgid ""
+"Output file location:\n"
+"  -d, --default-domain=NAME      use NAME.po for output (instead of messages.po)\n"
+"  -o, --output=FILE              write output to specified file\n"
+"  -p, --output-dir=DIR           output files will be placed in directory DIR\n"
+"If output file is -, output is written to standard output.\n"
+msgstr ""
+"Output file location:\n"
+"  -d, --default-domain=NAME      use NAME.po for output (instead of messages.po)\n"
+"  -o, --output=FILE              write output to specified file\n"
+"  -p, --output-dir=DIR           output files will be placed in directory DIR\n"
+"If output file is -, output is written to standard output.\n"
+
+#: src/xgettext.c:538
+#, no-wrap
+msgid ""
+"Choice of input file language:\n"
+"  -L, --language=NAME            recognise the specified language\n"
+"                                   (C, C++, ObjectiveC, PO, Java, YCP)\n"
+"  -C, --c++                      shorthand for --language=C++\n"
+"By default the language is guessed depending on the input file name extension.\n"
+msgstr ""
+"Choice of input file language:\n"
+"  -L, --language=NAME            recognise the specified language\n"
+"                                   (C, C++, ObjectiveC, PO, Java, YCP)\n"
+"  -C, --c++                      shorthand for --language=C++\n"
+"By default the language is guessed depending on the input file name extension.\n"
+
+#: src/xgettext.c:547
+#, no-wrap
+msgid ""
+"Operation mode:\n"
+"  -j, --join-existing            join messages with existing file\n"
+"  -x, --exclude-file=FILE.po     entries from FILE.po are not extracted\n"
 "  -c, --add-comments[=TAG]       place comment block with TAG (or those\n"
 "                                 preceding keyword lines) in output file\n"
-"  -C, --c++                      shorthand for --language=C++\n"
-"      --debug                    more detailed formatstring recognision result\n"
-"  -d, --default-domain=NAME      use NAME.po for output (instead of messages.po)\n"
-"  -D, --directory=DIRECTORY      add DIRECTORY to list for input files search\n"
-"  -e, --no-escape                do not use C escapes in output (default)\n"
-"  -E, --escape                   use C escapes in output, no extended chars\n"
-"  -f, --files-from=FILE          get list of input files from FILE\n"
-"      --force-po                 write PO file even if empty\n"
-"      --foreign-user             omit FSF copyright in output for foreign user\n"
-"  -F, --sort-by-file             sort output by file location\n"
 msgstr ""
-"Usage: %s [OPTION] INPUTFILE ...\n"
-"Extract translatable string from given input files.\n"
-"\n"
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"  -a, --extract-all              extract all strings\n"
+"Operation mode:\n"
+"  -j, --join-existing            join messages with existing file\n"
+"  -x, --exclude-file=FILE.po     entries from FILE.po are not extracted\n"
 "  -c, --add-comments[=TAG]       place comment block with TAG (or those\n"
 "                                 preceding keyword lines) in output file\n"
-"  -C, --c++                      shorthand for --language=C++\n"
-"      --debug                    more detailed formatstring recognision result\n"
-"  -d, --default-domain=NAME      use NAME.po for output (instead of messages.po)\n"
-"  -D, --directory=DIRECTORY      add DIRECTORY to list for input files search\n"
-"  -e, --no-escape                do not use C escapes in output (default)\n"
-"  -E, --escape                   use C escapes in output, no extended chars\n"
-"  -f, --files-from=FILE          get list of input files from FILE\n"
-"      --force-po                 write PO file even if empty\n"
-"      --foreign-user             omit FSF copyright in output for foreign user\n"
-"  -F, --sort-by-file             sort output by file location\n"
 
-#: src/xgettext.c:540
+#: src/xgettext.c:556
 #, no-wrap
 msgid ""
-"  -h, --help                     display this help and exit\n"
-"  -i, --indent                   write the .po file using indented style\n"
-"  -j, --join-existing            join messages with existing file\n"
-"  -k, --keyword[=WORD]           additonal keyword to be looked for (without\n"
+"Language=C/C++ specific options:\n"
+"  -a, --extract-all              extract all strings\n"
+"  -k, --keyword[=WORD]           additional keyword to be looked for (without\n"
 "                                 WORD means not to use default keywords)\n"
-"  -L, --language=NAME            recognise the specified language (C, C++, PO),\n"
-"                                 otherwise is guessed from file extension\n"
-"  -m, --msgstr-prefix[=STRING]   use STRING or \"\" as prefix for msgstr entries\n"
-"  -M, --msgstr-suffix[=STRING]   use STRING or \"\" as suffix for msgstr entries\n"
-"      --no-location              do not write '#: filename:line' lines\n"
+"  -T, --trigraphs                understand ANSI C trigraphs for input\n"
+"      --debug                    more detailed formatstring recognition result\n"
 msgstr ""
-"  -h, --help                     display this help and exit\n"
-"  -i, --indent                   write the .po file using indented style\n"
-"  -j, --join-existing            join messages with existing file\n"
-"  -k, --keyword[=WORD]           additonal keyword to be looked for (without\n"
+"Language=C/C++ specific options:\n"
+"  -a, --extract-all              extract all strings\n"
+"  -k, --keyword[=WORD]           additional keyword to be looked for (without\n"
 "                                 WORD means not to use default keywords)\n"
-"  -L, --language=NAME            recognise the specified language (C, C++, PO),\n"
-"                                 otherwise is guessed from file extension\n"
-"  -m, --msgstr-prefix[=STRING]   use STRING or \"\" as prefix for msgstr entries\n"
-"  -M, --msgstr-suffix[=STRING]   use STRING or \"\" as suffix for msgstr entries\n"
-"      --no-location              do not write ‘#: filename:line’ lines\n"
+"  -T, --trigraphs                understand ANSI C trigraphs for input\n"
+"      --debug                    more detailed formatstring recognition result\n"
 
-#: src/xgettext.c:552
+#: src/xgettext.c:566
 #, no-wrap
 msgid ""
+"Output details:\n"
+"  -e, --no-escape                do not use C escapes in output (default)\n"
+"  -E, --escape                   use C escapes in output, no extended chars\n"
+"      --force-po                 write PO file even if empty\n"
+"  -i, --indent                   write the .po file using indented style\n"
+"      --no-location              do not write '#: filename:line' lines\n"
 "  -n, --add-location             generate '#: filename:line' lines (default)\n"
-"      --omit-header              don't write header with `msgid \"\"' entry\n"
-"  -o, --output=FILE              write output to specified file\n"
-"  -p, --output-dir=DIR           output files will be placed in directory DIR\n"
-"  -s, --sort-output              generate sorted output and remove duplicates\n"
 "      --strict                   write out strict Uniforum conforming .po file\n"
-"  -T, --trigraphs                understand ANSI C trigraphs for input\n"
-"  -V, --version                  output version information and exit\n"
 "  -w, --width=NUMBER             set output page width\n"
-"  -x, --exclude-file=FILE        entries from FILE are not extracted\n"
-"\n"
-"If INPUTFILE is -, standard input is read.\n"
+"  -s, --sort-output              generate sorted output\n"
+"  -F, --sort-by-file             sort output by file location\n"
+"      --omit-header              don't write header with `msgid \"\"' entry\n"
+"      --foreign-user             omit FSF copyright in output for foreign user\n"
+"  -m, --msgstr-prefix[=STRING]   use STRING or \"\" as prefix for msgstr entries\n"
+"  -M, --msgstr-suffix[=STRING]   use STRING or \"\" as suffix for msgstr entries\n"
 msgstr ""
+"Output details:\n"
+"  -e, --no-escape                do not use C escapes in output (default)\n"
+"  -E, --escape                   use C escapes in output, no extended chars\n"
+"      --force-po                 write PO file even if empty\n"
+"  -i, --indent                   write the .po file using indented style\n"
+"      --no-location              do not write ‘#: filename:line’ lines\n"
 "  -n, --add-location             generate ‘#: filename:line’ lines (default)\n"
-"      --omit-header              don't write header with ‘msgid \"\"’ entry\n"
-"  -o, --output=FILE              write output to specified file\n"
-"  -p, --output-dir=DIR           output files will be placed in directory DIR\n"
-"  -s, --sort-output              generate sorted output and remove duplicates\n"
 "      --strict                   write out strict Uniforum conforming .po file\n"
-"  -T, --trigraphs                understand ANSI C trigraphs for input\n"
-"  -V, --version                  output version information and exit\n"
 "  -w, --width=NUMBER             set output page width\n"
-"  -x, --exclude-file=FILE        entries from FILE are not extracted\n"
-"\n"
-"If INPUTFILE is -, standard input is read.\n"
+"  -s, --sort-output              generate sorted output\n"
+"  -F, --sort-by-file             sort output by file location\n"
+"      --omit-header              don't write header with ‘msgid \"\"’ entry\n"
+"      --foreign-user             omit FSF copyright in output for foreign user\n"
+"  -m, --msgstr-prefix[=STRING]   use STRING or \"\" as prefix for msgstr entries\n"
+"  -M, --msgstr-suffix[=STRING]   use STRING or \"\" as suffix for msgstr entries\n"
 
-#: src/xgettext.c:914
-#, c-format
-msgid "%s:%d: warning: keyword nested in keyword arg"
-msgstr "%s:%d: warning: keyword nested in keyword arg"
+#: src/xgettext.c:720
+msgid "standard input"
+msgstr "standard input"
 
-#: src/xgettext.c:924
-#, c-format
-msgid "%s:%d: warning: keyword between outer keyword and its arg"
-msgstr "%s:%d: warning: keyword between outer keyword and its arg"
+#: src/xgettext.c:830
+msgid ""
+"Empty msgid.  It is reserved by GNU gettext:\n"
+"gettext(\"\") returns the header entry with\n"
+"meta information, not the empty string.\n"
+msgstr ""
+"Empty msgid.  It is reserved by GNU gettext:\n"
+"gettext(\"\") returns the header entry with\n"
+"meta information, not the empty string.\n"
 
-#: src/xgettext.c:1420
+#: src/xgettext.c:1099
 #, c-format
 msgid "language `%s' unknown"
 msgstr "language ‘%s’ unknown"
-
-#~ msgid "%s: warning: charset \"%s\" is not supported by iconv%s"
-#~ msgstr "%s: warning: charset “%s” is not supported by iconv%s"
-
-#~ msgid ""
-#~ "%s: warning: charset \"%s\" is not supported by iconv%s\n"
-#~ "%*s  warning: consider installing GNU libiconv and then\n"
-#~ "%*s           reinstalling GNU gettext"
-#~ msgstr ""
-#~ "%s: warning: charset “%s” is not supported by iconv%s\n"
-#~ "%*s  warning: consider installing GNU libiconv and then\n"
-#~ "%*s           reinstalling GNU gettext"
-
-#~ msgid ""
-#~ "%s: warning: charset \"%s\" is not supported without iconv%s\n"
-#~ "%*s  warning: consider installing GNU libiconv and then\n"
-#~ "%*s           reinstalling GNU gettext"
-#~ msgstr ""
-#~ "%s: warning: charset “%s” is not supported without iconv%s\n"
-#~ "%*s  warning: consider installing GNU libiconv and then\n"
-#~ "%*s           reinstalling GNU gettext"
-
-#~ msgid "Memory exhausted"
-#~ msgstr "Memory exhausted"
index 5ecfac898ffd555c16b86e80f88821ab147d7622..4df363cae1a7d569646f5c7dc05d2a2d25f7df27 100644 (file)
Binary files a/po/es.gmo and b/po/es.gmo differ
index cbd5e4884005902875032e5bfbdc24228a520894..4b4eae20b7e01bf35ec41b534d81c4a9692790e8 100644 (file)
--- a/po/es.po
+++ b/po/es.po
@@ -5,7 +5,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: GNU gettext 0.10.39\n"
-"POT-Creation-Date: 2001-06-12 15:05+0200\n"
+"POT-Creation-Date: 2001-11-30 14:18+0100\n"
 "PO-Revision-Date: 2001-08-21 11:21-0500\n"
 "Last-Translator: Max de Mendizábal <max@upn.mx>\n"
 "Language-Team: Spanish <es@li.org>\n"
@@ -14,12 +14,59 @@ msgstr ""
 "Content-Transfer-Encoding: 8-bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
+#: lib/argmatch.c:141
+#, c-format
+msgid "invalid argument `%s' for `%s'"
+msgstr ""
+
+#: lib/argmatch.c:142
+#, c-format
+msgid "ambiguous argument `%s' for `%s'"
+msgstr ""
+
+#: lib/argmatch.c:162
+msgid "Valid arguments are:"
+msgstr ""
+
+#: lib/copy-file.c:60 src/file-list.c:57 src/po-lex.c:732 src/read-mo.c:170
+#: src/xgettext.c:729 src/xgettext.c:742 src/xgettext.c:752
+#, c-format
+msgid "error while opening \"%s\" for reading"
+msgstr "error al abrir el fichero \"%s\" para lectura"
+
+#: lib/copy-file.c:67
+#, fuzzy, c-format
+msgid "cannot open backup file \"%s\" for writing"
+msgstr "error al abrir el fichero \"%s\" para escritura"
+
+#: lib/copy-file.c:80
+#, fuzzy, c-format
+msgid "error reading \"%s\""
+msgstr "error al leer \"%s\""
+
+#: lib/copy-file.c:86 lib/copy-file.c:90
+#, fuzzy, c-format
+msgid "error writing \"%s\""
+msgstr "hubo un error al escribir el fichero \"%s\""
+
+#: lib/copy-file.c:92
+#, fuzzy, c-format
+msgid "error after reading \"%s\""
+msgstr "error al leer \"%s\""
+
 # Nota: El error es del sistema, pero no se sabe cuál es el error,
 # por eso es (además) desconocido.
 #: lib/error.c:115
 msgid "Unknown system error"
 msgstr "Error del sistema desconocido"
 
+#: lib/execute.c:170 lib/execute.c:205 lib/pipe-bidi.c:156 lib/pipe-bidi.c:191
+#: lib/pipe-in.c:167 lib/pipe-in.c:202 lib/pipe-out.c:167 lib/pipe-out.c:202
+#: lib/wait-process.c:136
+#, c-format
+msgid "%s subprocess failed"
+msgstr ""
+
 #: lib/getopt.c:691
 #, c-format
 msgid "%s: option `%s' is ambiguous\n"
@@ -40,13 +87,11 @@ msgstr "%s: la opci
 msgid "%s: option `%s' requires an argument\n"
 msgstr "%s: la opción `%s' requiere un argumento\n"
 
-#. --option
 #: lib/getopt.c:768
 #, c-format
 msgid "%s: unrecognized option `--%s'\n"
 msgstr "%s: opción no reconocida `--%s'\n"
 
-#. +option or -option
 #: lib/getopt.c:772
 #, c-format
 msgid "%s: unrecognized option `%c%s'\n"
@@ -54,7 +99,6 @@ msgstr "%s: opci
 
 # acepto la sugerencia de em en cuanto a que inválida parece cárcel
 # o inútil pero mejor puse inválida
-#. 1003.2 specifies the format of this message.
 #: lib/getopt.c:798
 #, c-format
 msgid "%s: illegal option -- %c\n"
@@ -65,7 +109,6 @@ msgstr "%s: opci
 msgid "%s: invalid option -- %c\n"
 msgstr "%s: opción inválida -- %c\n"
 
-#. 1003.2 specifies the format of this message.
 #: lib/getopt.c:831 lib/getopt.c:961
 #, c-format
 msgid "%s: option requires an argument -- %c\n"
@@ -81,36 +124,127 @@ msgstr "%s: la opci
 msgid "%s: option `-W %s' doesn't allow an argument\n"
 msgstr "%s: la opción `-W %s' no admite ningún argumento\n"
 
-#: lib/obstack.c:474 lib/xerror.c:69 lib/xmalloc.c:86
+#: lib/javacomp.c:465
+msgid "Java compiler not found, try installing gcj or set $JAVAC"
+msgstr ""
+
+#: lib/javaexec.c:404
+msgid "Java virtual machine not found, try installing gij or set $JAVA"
+msgstr ""
+
+#: lib/obstack.c:474 lib/xerror.c:75 lib/xmalloc.c:56
 msgid "memory exhausted"
 msgstr "Memoria agotada"
 
-#: lib/pipe-bidi.c:101 lib/pipe-bidi.c:103 lib/pipe-in.c:117
-#: lib/pipe-out.c:117
+#: lib/pipe-bidi.c:119 lib/pipe-bidi.c:121 lib/pipe-in.c:136
+#: lib/pipe-out.c:136
 #, fuzzy
 msgid "cannot create pipe"
 msgstr "no se puede crear el fichero de salida \"%s\""
 
-#: lib/pipe-bidi.c:125 lib/pipe-bidi.c:142 lib/pipe-in.c:135 lib/pipe-in.c:155
-#: lib/pipe-out.c:135 lib/pipe-out.c:155
-#, c-format
-msgid "%s subprocess failed"
-msgstr ""
-
-#: lib/wait-process.c:109
+#: lib/wait-process.c:117
 #, c-format
 msgid "%s subprocess"
 msgstr ""
 
-#: lib/wait-process.c:117
+#: lib/wait-process.c:129
 #, c-format
 msgid "%s subprocess got fatal signal"
 msgstr ""
 
-#: src/gettext.c:144 src/msgcat.c:245 src/msgcmp.c:132 src/msgcomm.c:242
-#: src/msgconv.c:180 src/msgen.c:168 src/msgfmt.c:272 src/msggrep.c:276
-#: src/msgmerge.c:222 src/msgsed.c:242 src/msgunfmt.c:174 src/ngettext.c:124
-#: src/xgettext.c:386
+#: src/format-c.c:578 src/format-python.c:463
+#, fuzzy
+msgid "number of format specifications in 'msgid' and 'msgstr' does not match"
+msgstr ""
+"el número de especificaciones de formato en `msgid' y 'msgstr' no coincide"
+
+#: src/format-c.c:588 src/format-python.c:473
+#, fuzzy, c-format
+msgid ""
+"format specifications in 'msgid' and 'msgstr' for argument %u are not the "
+"same"
+msgstr ""
+"las especificaciones de formato para el argumento %lu no son las mismas"
+
+#: src/format-java.c:652 src/format-pascal.c:396
+#, fuzzy, c-format
+msgid "a format specification for argument {%u} doesn't exist in 'msgid'"
+msgstr ""
+"las especificaciones de formato para el argumento %lu no son las mismas"
+
+#: src/format-java.c:662 src/format-pascal.c:406
+#, fuzzy, c-format
+msgid "a format specification for argument {%u} doesn't exist in 'msgstr'"
+msgstr ""
+"las especificaciones de formato para el argumento %lu no son las mismas"
+
+#: src/format-java.c:676 src/format-pascal.c:420
+#, fuzzy, c-format
+msgid ""
+"format specifications in 'msgid' and 'msgstr' for argument {%u} are not the "
+"same"
+msgstr ""
+"las especificaciones de formato para el argumento %lu no son las mismas"
+
+#: src/format-lisp.c:3371
+#, fuzzy
+msgid "format specifications in 'msgid' and 'msgstr' are not equivalent"
+msgstr ""
+"el número de especificaciones de formato en `msgid' y 'msgstr' no coincide"
+
+#: src/format-python.c:391
+#, fuzzy
+msgid ""
+"format specifications in 'msgid' expect a mapping, those in 'msgstr' expect "
+"a tuple"
+msgstr ""
+"el número de especificaciones de formato en `msgid' y 'msgstr' no coincide"
+
+#: src/format-python.c:399
+#, fuzzy
+msgid ""
+"format specifications in 'msgid' expect a tuple, those in 'msgstr' expect a "
+"mapping"
+msgstr ""
+"el número de especificaciones de formato en `msgid' y 'msgstr' no coincide"
+
+#: src/format-python.c:422
+#, fuzzy, c-format
+msgid "a format specification for argument '%s' doesn't exist in 'msgid'"
+msgstr ""
+"las especificaciones de formato para el argumento %lu no son las mismas"
+
+#: src/format-python.c:432
+#, fuzzy, c-format
+msgid "a format specification for argument '%s' doesn't exist in 'msgstr'"
+msgstr ""
+"las especificaciones de formato para el argumento %lu no son las mismas"
+
+#: src/format-python.c:446
+#, fuzzy, c-format
+msgid ""
+"format specifications in 'msgid' and 'msgstr' for argument '%s' are not the "
+"same"
+msgstr ""
+"las especificaciones de formato para el argumento %lu no son las mismas"
+
+#: src/format-ycp.c:137
+#, fuzzy, c-format
+msgid "a format specification for argument %u doesn't exist in 'msgstr'"
+msgstr ""
+"las especificaciones de formato para el argumento %lu no son las mismas"
+
+#: src/format-ycp.c:138
+#, fuzzy, c-format
+msgid "a format specification for argument %u doesn't exist in 'msgid'"
+msgstr ""
+"las especificaciones de formato para el argumento %lu no son las mismas"
+
+#: src/gettext.c:146 src/hostname.c:168 src/msgattrib.c:264 src/msgcat.c:229
+#: src/msgcmp.c:134 src/msgcomm.c:232 src/msgconv.c:182 src/msgen.c:171
+#: src/msgexec.c:240 src/msgfmt.c:333 src/msggrep.c:276 src/msginit.c:247
+#: src/msgmerge.c:252 src/msgunfmt.c:182 src/msguniq.c:207 src/ngettext.c:126
+#: src/xgettext.c:352
 #, c-format, no-wrap
 msgid ""
 "Copyright (C) %s Free Software Foundation, Inc.\n"
@@ -122,38 +256,40 @@ msgstr ""
 "No hay NINGUNA garantía; ni siquiera de COMERCIABILIDAD o IDONEIDAD PARA UN\n"
 "FIN DETERMINADO.\n"
 
-#: src/gettext.c:149 src/msgcat.c:250 src/msgcmp.c:137 src/msgcomm.c:247
-#: src/msgconv.c:185 src/msgen.c:173 src/msgfmt.c:277 src/msggrep.c:281
-#: src/msgmerge.c:227 src/msgsed.c:247 src/msgunfmt.c:179 src/ngettext.c:129
-#: src/xgettext.c:391
+#: src/gettext.c:151 src/hostname.c:173 src/msgattrib.c:269 src/msgcat.c:234
+#: src/msgcmp.c:139 src/msgcomm.c:237 src/msgconv.c:187 src/msgen.c:176
+#: src/msgexec.c:245 src/msgfmt.c:338 src/msggrep.c:281 src/msginit.c:252
+#: src/msgmerge.c:257 src/msgunfmt.c:187 src/msguniq.c:212 src/ngettext.c:131
+#: src/xgettext.c:357
 #, c-format
 msgid "Written by %s.\n"
 msgstr "Escrito por %s.\n"
 
-#: src/gettext.c:167 src/ngettext.c:141
+#: src/gettext.c:169 src/hostname.c:183 src/msginit.c:262 src/ngettext.c:143
 msgid "too many arguments"
 msgstr "demasiados argumentos"
 
-#: src/gettext.c:177 src/ngettext.c:153
+#: src/gettext.c:179 src/ngettext.c:155
 msgid "missing arguments"
 msgstr "faltan argumentos"
 
-#: src/gettext.c:249 src/msgcat.c:297 src/msgcmp.c:169 src/msgcomm.c:312
-#: src/msgconv.c:234 src/msgen.c:219 src/msgfmt.c:384 src/msggrep.c:366
-#: src/msgmerge.c:273 src/msgsed.c:313 src/msgunfmt.c:219 src/ngettext.c:208
-#: src/xgettext.c:513
+#: src/gettext.c:251 src/hostname.c:197 src/msgattrib.c:322 src/msgcat.c:290
+#: src/msgcmp.c:171 src/msgcomm.c:306 src/msgconv.c:241 src/msgen.c:227
+#: src/msgexec.c:338 src/msgfmt.c:479 src/msggrep.c:371 src/msginit.c:338
+#: src/msgmerge.c:367 src/msgunfmt.c:262 src/msguniq.c:269 src/ngettext.c:210
+#: src/xgettext.c:499
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "Pruebe `%s --help' para más información.\n"
 
-#: src/gettext.c:254
+#: src/gettext.c:256
 #, c-format, no-wrap
 msgid ""
 "Usage: %s [OPTION] [[TEXTDOMAIN] MSGID]\n"
 "or:    %s [OPTION] -s [MSGID]...\n"
 msgstr ""
 
-#: src/gettext.c:260
+#: src/gettext.c:262
 #, no-wrap
 msgid "Display native language translation of a textual message.\n"
 msgstr ""
@@ -171,7 +307,7 @@ msgstr ""
 # Prefiero que se quede como está, pues aunque se repite muestra,
 # es en otra opción en donde aparece. mm
 #
-#: src/gettext.c:264
+#: src/gettext.c:266
 #, fuzzy, no-wrap
 msgid ""
 "  -d, --domain=TEXTDOMAIN   retrieve translated messages from TEXTDOMAIN\n"
@@ -196,7 +332,7 @@ msgstr ""
 
 # Nota: TEXTDOMAIN y TEXTDOMAINDIR son variables de entorno, por lo tanto
 # no se pueden traducir (cuando se refieren a las variables, claro está).
-#: src/gettext.c:275
+#: src/gettext.c:277
 #, fuzzy, c-format, no-wrap
 msgid ""
 "If the TEXTDOMAIN parameter is not given, the domain is determined from the\n"
@@ -219,31 +355,177 @@ msgstr ""
 "encuentre dentro del catálogo seleccionado.\n"
 "Directorio de búsqueda estándar: %s\n"
 
-#: src/gettext.c:285 src/msgcat.c:378 src/msgcmp.c:214 src/msgcomm.c:390
-#: src/msgconv.c:298 src/msgen.c:279 src/msgfmt.c:443 src/msggrep.c:445
-#: src/msgmerge.c:348 src/msgsed.c:379 src/msgunfmt.c:272 src/ngettext.c:241
-#: src/xgettext.c:604
-msgid "Report bugs to <bug-gnu-utils@gnu.org>.\n"
+#: src/gettext.c:288 src/hostname.c:227 src/msgattrib.c:402 src/msgcat.c:371
+#: src/msgcmp.c:216 src/msgcomm.c:384 src/msgconv.c:305 src/msgen.c:287
+#: src/msgexec.c:410 src/msgfmt.c:563 src/msggrep.c:457 src/msginit.c:389
+#: src/msgmerge.c:465 src/msgunfmt.c:331 src/msguniq.c:343 src/ngettext.c:244
+#: src/xgettext.c:591
+#, fuzzy
+msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
 msgstr "Comunicar `bugs' a <bug-gnu-utils@gnu.org>.\n"
 
-#: src/msgcat.c:233 src/msgcat.c:237 src/msgcomm.c:230 src/msgcomm.c:234
-#: src/msgconv.c:205 src/msgen.c:194 src/msggrep.c:301 src/msgmerge.c:248
-#: src/msgsed.c:270 src/xgettext.c:363 src/xgettext.c:367
+#: src/hostname.c:202 src/msginit.c:343
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION]\n"
+msgstr ""
+
+#: src/hostname.c:207
+#, no-wrap
+msgid "Print the machine's hostname.\n"
+msgstr ""
+
+#: src/hostname.c:212
+#, no-wrap
+msgid ""
+"Output format:\n"
+"  -s, --short           short host name\n"
+"  -f, --fqdn, --long    long host name, includes fully qualified domain name,\n"
+"                          and aliases\n"
+"  -i, --ip-address      addresses for the hostname\n"
+msgstr ""
+
+#: src/hostname.c:221 src/msgattrib.c:396 src/msgcmp.c:210 src/msgconv.c:299
+#: src/msgen.c:281 src/msgexec.c:404 src/msggrep.c:451 src/msginit.c:383
+#, no-wrap
+msgid ""
+"Informative output:\n"
+"  -h, --help                  display this help and exit\n"
+"  -V, --version               output version information and exit\n"
+msgstr ""
+
+#: src/hostname.c:242 src/hostname.c:249
+msgid "could not get host name"
+msgstr ""
+
+#: src/msgattrib.c:284 src/msgconv.c:202 src/msgexec.c:190 src/msggrep.c:296
+#: src/msginit.c:205 src/msguniq.c:227
+msgid "at most one input file allowed"
+msgstr ""
+
+#: src/msgattrib.c:290 src/msgattrib.c:294 src/msgcat.c:244 src/msgcat.c:248
+#: src/msgcomm.c:247 src/msgcomm.c:251 src/msgconv.c:208 src/msgconv.c:212
+#: src/msgen.c:198 src/msgen.c:202 src/msgexec.c:260 src/msgexec.c:264
+#: src/msgfmt.c:358 src/msggrep.c:302 src/msggrep.c:306 src/msgmerge.c:282
+#: src/msgmerge.c:303 src/msgmerge.c:307 src/msguniq.c:233 src/msguniq.c:237
+#: src/xgettext.c:367 src/xgettext.c:371
 #, c-format
 msgid "%s and %s are mutually exclusive"
 msgstr "%s y %s son mutuamente excluyentes"
 
-#: src/msgcat.c:270 src/msgcomm.c:278
+#: src/msgattrib.c:327 src/msgconv.c:246 src/msggrep.c:376 src/msguniq.c:274
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] [INPUTFILE]\n"
+msgstr ""
+
+#: src/msgattrib.c:332
+#, no-wrap
+msgid ""
+"Filters the messages of a translation catalog according to their attributes,\n"
+"and manipulates the attributes.\n"
+msgstr ""
+
+#: src/msgattrib.c:338 src/msgcat.c:313 src/msgcmp.c:191 src/msgcomm.c:328
+#: src/msgconv.c:256 src/msgen.c:245 src/msgexec.c:353 src/msgfmt.c:494
+#: src/msggrep.c:387 src/msginit.c:354 src/msgmerge.c:390 src/msgunfmt.c:277
+#: src/msguniq.c:291
+#, no-wrap
+msgid "Mandatory arguments to long options are mandatory for short options too.\n"
+msgstr ""
+
+#: src/msgattrib.c:343 src/msgconv.c:261 src/msggrep.c:392 src/msguniq.c:296
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  INPUTFILE                   input PO file\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"If no input file is given or if it is -, standard input is read.\n"
+msgstr ""
+
+#: src/msgattrib.c:351 src/msgconv.c:269 src/msgen.c:258 src/msgexec.c:366
+#: src/msggrep.c:400 src/msgmerge.c:412
+#, no-wrap
+msgid ""
+"Output file location:\n"
+"  -o, --output-file=FILE      write output to specified file\n"
+"The results are written to standard output if no output file is specified\n"
+"or if it is -.\n"
+msgstr ""
+
+#: src/msgattrib.c:359
+#, no-wrap
+msgid ""
+"Message selection:\n"
+"      --translated            keep translated, remove untranslated messages\n"
+"      --untranslated          keep untranslated, remove translated messages\n"
+"      --no-fuzzy              remove 'fuzzy' marked messages\n"
+"      --only-fuzzy            keep 'fuzzy' marked messages\n"
+"      --no-obsolete           remove obsolete #~ messages\n"
+"      --only-obsolete         keep obsolete #~ messages\n"
+msgstr ""
+
+#: src/msgattrib.c:370
+#, no-wrap
+msgid ""
+"Attribute manipulation:\n"
+"      --set-fuzzy             set all messages 'fuzzy'\n"
+"      --clear-fuzzy           set all messages non-'fuzzy'\n"
+"      --set-obsolete          set all messages obsolete\n"
+"      --clear-obsolete        set all messages non-obsolete\n"
+"      --fuzzy                 synonym for --only-fuzzy --clear-fuzzy\n"
+"      --obsolete              synonym for --only-obsolete --clear-obsolete\n"
+msgstr ""
+
+# Lo mismo en ' informa de la versión...' em
+# Obligatorios.. obligatorios , queda un poco feo. Si lo que se pretende
+# es ser fiel al original, pon 'son tambien obligatorios para...' em+
+#: src/msgattrib.c:381
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
+"  -e, --no-escape             do not use C escapes in output (default)\n"
+"  -E, --escape                use C escapes in output, no extended chars\n"
+"      --force-po              write PO file even if empty\n"
+"  -i, --indent                write the .po file using indented style\n"
+"      --no-location           do not write '#: filename:line' lines\n"
+"  -n, --add-location          generate '#: filename:line' lines (default)\n"
+"      --strict                write out strict Uniforum conforming .po file\n"
+"  -w, --width=NUMBER          set output page width\n"
+"  -s, --sort-output           generate sorted output\n"
+"  -F, --sort-by-file          sort output by file location\n"
+msgstr ""
+"Modo de empleo: %s [OPCIÓN] def.po ref.po\n"
+"Los argumentos obligatorios para las opciones largas también son\n"
+"obligatorios para las opciones cortas.\n"
+"\n"
+"  -C, --compendium=FICHERO   la biblioteca adicional de traducción de \n"
+"                             mensajes puede ser especificada más de una vez\n"
+"  -D, --directory=DIRECTORIO añade el DIRECTORIO a la lista de\n"
+"                             búsqueda de ficheros de entrada\n"
+"  -e, --no-escape            no utiliza escapes C en la salida (por defecto)\n"
+"  -E, --escape               utiliza escapes C en la salida, sin caracteres\n"
+"                             extendidos\n"
+"      --force-po             escribe un fichero .po incluso si está vacío\n"
+"  -h, --help                 muestra esta ayuda y finaliza\n"
+"  -i, --indent               estilo de salida con sangrías\n"
+"  -o, --output-file=FICHERO  el resultado se escribe en FICHERO\n"
+"      --no-location          no escribe líneas '#: fichero:línea'\n"
+"      --add-location         escribe líneas '#: fichero:línea' (por defecto)\n"
+"      --strict               estilo de salida Uniforum estricto\n"
+"  -v, --verbose              incrementa el nivel de mensajes\n"
+"  -V, --version              informa de la versión y finaliza\n"
+"  -w, --width=NÚMERO         ajusta la anchura de la página de salida\n"
+
+#: src/msgcat.c:254 src/msgcomm.c:277
 #, c-format
 msgid "impossible selection criteria specified (%d < n < %d)"
 msgstr "se especificó un criterio de selección imposible (%d < n < %d)"
 
-#: src/msgcat.c:302 src/msgcomm.c:317 src/xgettext.c:518
+#: src/msgcat.c:295 src/msgcomm.c:311 src/xgettext.c:504
 #, c-format, no-wrap
 msgid "Usage: %s [OPTION] [INPUTFILE]...\n"
 msgstr ""
 
-#: src/msgcat.c:307
+#: src/msgcat.c:300
 #, fuzzy, no-wrap
 msgid ""
 "Concatenates and merges the specified PO files.\n"
@@ -273,14 +555,7 @@ msgstr ""
 "los que provengan del primer fichero PO que los defina. Las posiciones dentro\n"
 "del fichero de todos los ficheros PO se conservarán.\n"
 
-#: src/msgcat.c:320 src/msgcmp.c:189 src/msgcomm.c:334 src/msgconv.c:249
-#: src/msgen.c:237 src/msgfmt.c:399 src/msggrep.c:382 src/msgmerge.c:296
-#: src/msgsed.c:328 src/msgunfmt.c:234
-#, no-wrap
-msgid "Mandatory arguments to long options are mandatory for short options too.\n"
-msgstr ""
-
-#: src/msgcat.c:325 src/msgcomm.c:339 src/xgettext.c:534
+#: src/msgcat.c:318 src/msgcomm.c:333 src/xgettext.c:520
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -290,7 +565,7 @@ msgid ""
 "If input file is -, standard input is read.\n"
 msgstr ""
 
-#: src/msgcat.c:334 src/msgcomm.c:348
+#: src/msgcat.c:327 src/msgcomm.c:342 src/msguniq.c:304
 #, no-wrap
 msgid ""
 "Output file location:\n"
@@ -299,7 +574,7 @@ msgid ""
 "or if it is -.\n"
 msgstr ""
 
-#: src/msgcat.c:342 src/msgcomm.c:356
+#: src/msgcat.c:335
 #, fuzzy, no-wrap
 msgid ""
 "Message selection:\n"
@@ -307,7 +582,7 @@ msgid ""
 "                                 definitions, defaults to infinite if not\n"
 "                                 set\n"
 "  ->, --more-than=NUMBER         print messages with more than this many\n"
-"                                 definitions, defaults to 1 if not set\n"
+"                                 definitions, defaults to 0 if not set\n"
 "  -u, --unique                   shorthand for --less-than=2, requests\n"
 "                                 that only unique messages be printed\n"
 msgstr ""
@@ -331,7 +606,7 @@ msgstr ""
 # Lo mismo en ' informa de la versión...' em
 # Obligatorios.. obligatorios , queda un poco feo. Si lo que se pretende
 # es ser fiel al original, pon 'son tambien obligatorios para...' em+
-#: src/msgcat.c:354
+#: src/msgcat.c:347 src/msguniq.c:319
 #, fuzzy, no-wrap
 msgid ""
 "Output details:\n"
@@ -346,7 +621,7 @@ msgid ""
 "  -n, --add-location             generate '#: filename:line' lines (default)\n"
 "      --strict                   write out strict Uniforum conforming .po file\n"
 "  -w, --width=NUMBER             set output page width\n"
-"  -s, --sort-output              generate sorted output and remove duplicates\n"
+"  -s, --sort-output              generate sorted output\n"
 "  -F, --sort-by-file             sort output by file location\n"
 msgstr ""
 "Modo de empleo: %s [OPCIÓN] def.po ref.po\n"
@@ -371,7 +646,7 @@ msgstr ""
 "  -V, --version              informa de la versión y finaliza\n"
 "  -w, --width=NÚMERO         ajusta la anchura de la página de salida\n"
 
-#: src/msgcat.c:372 src/msgcomm.c:384 src/xgettext.c:598
+#: src/msgcat.c:365 src/msgcomm.c:378 src/msguniq.c:337 src/xgettext.c:585
 #, no-wrap
 msgid ""
 "Informative output:\n"
@@ -379,70 +654,15 @@ msgid ""
 "  -V, --version                  output version information and exit\n"
 msgstr ""
 
-#: src/msgcat.c:403 src/msgcomm.c:415 src/msgunfmt.c:394 src/po-lex.c:85
-#: src/xget-lex.c:159 src/xget-lex.c:172 src/xget-lex.c:182 src/xgettext.c:629
-#, c-format
-msgid "error while opening \"%s\" for reading"
-msgstr "error al abrir el fichero \"%s\" para lectura"
-
-#: src/msgcat.c:544 src/msgl-charset.c:82 src/msgl-iconv.c:292
-#, c-format
-msgid "present charset \"%s\" is not a portable encoding name"
-msgstr ""
-
-#: src/msgcat.c:552 src/msgl-iconv.c:300
-#, c-format
-msgid "two different charsets \"%s\" and \"%s\" in input file"
-msgstr ""
-
-#: src/msgcat.c:561
-#, c-format
-msgid ""
-"input file `%s' doesn't contain a header entry with a charset specification"
-msgstr ""
-
-#: src/msgcat.c:565
-#, c-format
-msgid ""
-"domain \"%s\" in input file `%s' doesn't contain a header entry with a "
-"charset specification"
-msgstr ""
-
-#: src/msgcat.c:719 src/msgl-iconv.c:370
-#, c-format
-msgid "target charset \"%s\" is not a portable encoding name."
-msgstr ""
-
-#: src/msgcat.c:752 src/msgcat.c:758 src/msgl-charset.c:87
-#: src/msgl-charset.c:122
-#, fuzzy
-msgid "warning: "
-msgstr "%s: atención: "
-
-#: src/msgcat.c:753
-msgid ""
-"Input files contain messages in different encodings, UTF-8 among others.\n"
-"Converting the output to UTF-8.\n"
-msgstr ""
-
-#: src/msgcat.c:759
-#, c-format
-msgid ""
-"Input files contain messages in different encodings, %s and %s among "
-"others.\n"
-"Converting the output to UTF-8.\n"
-"To select a different output encoding, use the --to-code option.\n"
-msgstr ""
-
-#: src/msgcmp.c:148 src/msgmerge.c:238
+#: src/msgcmp.c:150 src/msgmerge.c:268
 msgid "no input files given"
 msgstr "no se especificaron ficheros de entrada"
 
-#: src/msgcmp.c:153 src/msgmerge.c:243
+#: src/msgcmp.c:155 src/msgmerge.c:273
 msgid "exactly 2 input files required"
 msgstr "se requieren exactamente 2 ficheros de entrada"
 
-#: src/msgcmp.c:174 src/msgmerge.c:278
+#: src/msgcmp.c:176 src/msgmerge.c:372
 #, c-format, no-wrap
 msgid "Usage: %s [OPTION] def.po ref.pot\n"
 msgstr ""
@@ -507,7 +727,7 @@ msgstr ""
 # y en otros de otra (la frase no era exactamente igual).
 # 11061996mm: En particular en gettext el letrero es estándar, por lo que
 # prefiero "también son" que, creo suena mejor. Homogeinizo todo.
-#: src/msgcmp.c:179
+#: src/msgcmp.c:181
 #, fuzzy, no-wrap
 msgid ""
 "Compare two Uniforum style .po files to check that both contain the same\n"
@@ -534,7 +754,7 @@ msgstr ""
 "se encuentre un resultado exacto, se utilizará coincidencia difusa, de\n"
 "tal forma que la precisión del diagnóstico sea mejor.\n"
 
-#: src/msgcmp.c:194
+#: src/msgcmp.c:196
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -543,36 +763,27 @@ msgid ""
 "  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
 msgstr ""
 
-#: src/msgcmp.c:202 src/msgmerge.c:319
+#: src/msgcmp.c:204 src/msgmerge.c:436
 #, no-wrap
 msgid ""
 "Operation modifiers:\n"
 "  -m, --multi-domain          apply ref.pot to each of the domains in def.po\n"
 msgstr ""
 
-#: src/msgcmp.c:208 src/msgconv.c:292 src/msgen.c:273 src/msggrep.c:439
-#: src/msgsed.c:373
-#, no-wrap
-msgid ""
-"Informative output:\n"
-"  -h, --help                  display this help and exit\n"
-"  -V, --version               output version information and exit\n"
-msgstr ""
-
-#: src/msgcmp.c:251 src/msgmerge.c:426
+#: src/msgcmp.c:253 src/msgmerge.c:543
 msgid "this message is used but not defined..."
 msgstr "este mensaje se usa pero no está definido..."
 
-#: src/msgcmp.c:253 src/msgmerge.c:428
+#: src/msgcmp.c:255 src/msgmerge.c:545
 msgid "...but this definition is similar"
 msgstr "...pero esta definición es parecida"
 
-#: src/msgcmp.c:258 src/msgmerge.c:455
+#: src/msgcmp.c:260 src/msgmerge.c:572
 #, c-format
 msgid "this message is used but not defined in %s"
 msgstr "este mensaje se usa pero no está definido en %s"
 
-#: src/msgcmp.c:330
+#: src/msgcmp.c:332
 msgid "warning: this message is not used"
 msgstr "atención: este mensaje no se utiliza"
 
@@ -597,7 +808,7 @@ msgstr "atenci
 #
 # 07061996mm: Mujer fatal es menos que mortal, menos que peligroso e incita a la
 # aventura. Quizá no sea tan malo como dice Enrique, a menos que...
-#: src/msgcmp.c:337 src/po-lex.c:99
+#: src/msgcmp.c:339 src/po-lex.c:705
 #, c-format
 msgid "found %d fatal error"
 msgid_plural "found %d fatal errors"
@@ -605,19 +816,19 @@ msgstr[0] "se encontr
 msgstr[1] "se encontraron %d errores fatales"
 
 # Nota: es la definición la que está duplicada.
-#: src/msgcmp.c:418 src/msgfmt.c:703 src/read-po.c:184 src/xgettext.c:1147
+#: src/msgcmp.c:420 src/msgfmt.c:1323 src/read-po.c:202 src/x-po.c:163
 msgid "duplicate message definition"
 msgstr "definición del mensaje duplicada"
 
-#: src/msgcmp.c:419 src/msgfmt.c:705 src/read-po.c:185 src/xgettext.c:1148
+#: src/msgcmp.c:421 src/msgfmt.c:1324 src/read-po.c:203 src/x-po.c:164
 msgid "...this is the location of the first definition"
 msgstr "...aquí está la primera definición"
 
-#: src/msgcomm.c:267
+#: src/msgcomm.c:266
 msgid "at least two files must be specified"
 msgstr "se deben especificar por lo menos dos ficheros"
 
-#: src/msgcomm.c:322
+#: src/msgcomm.c:316
 #, fuzzy, no-wrap
 msgid ""
 "Find messages which are common to two or more of the specified PO files.\n"
@@ -646,22 +857,51 @@ msgstr ""
 "los que provengan del primer fichero PO que los defina. Las posiciones dentro\n"
 "del fichero de todos los ficheros PO se conservarán.\n"
 
-# Lo mismo en ' informa de la versión...' em
-# Obligatorios.. obligatorios , queda un poco feo. Si lo que se pretende
-# es ser fiel al original, pon 'son tambien obligatorios para...' em+
-#: src/msgcomm.c:368
+#: src/msgcomm.c:350
 #, fuzzy, no-wrap
 msgid ""
-"Output details:\n"
-"  -e, --no-escape                do not use C escapes in output (default)\n"
-"  -E, --escape                   use C escapes in output, no extended chars\n"
-"      --force-po                 write PO file even if empty\n"
-"  -i, --indent                   write the .po file using indented style\n"
-"      --no-location              do not write '#: filename:line' lines\n"
-"  -n, --add-location             generate '#: filename:line' lines (default)\n"
-"      --strict                   write out strict Uniforum conforming .po file\n"
+"Message selection:\n"
+"  -<, --less-than=NUMBER         print messages with less than this many\n"
+"                                 definitions, defaults to infinite if not\n"
+"                                 set\n"
+"  ->, --more-than=NUMBER         print messages with more than this many\n"
+"                                 definitions, defaults to 1 if not set\n"
+"  -u, --unique                   shorthand for --less-than=2, requests\n"
+"                                 that only unique messages be printed\n"
+msgstr ""
+"  -V, --version                informa de la versión y finaliza\n"
+"  -w, --width=NÚMERO           ajusta la anchura de la página de salida\n"
+"  -<, --less-than=NÚMERO       muestra los mensajes con menos definiciones\n"
+"                               que NÚMERO, por defecto es infinito\n"
+"  ->, --more-than=NÚMERO       muestra los mensajes con más definiciones\n"
+"                               que NÚMERO, por defecto es 1\n"
+"\n"
+"Busca los mensajes que son comunes a dos o más de los ficheros PO especificados.\n"
+"Si se utiliza la opción --more-than, se pueden solicitar mayor número de\n"
+"elementos en común antes de que los mensajes sean mostrados.\n"
+"De forma similar, la opción --less-than puede ser utilizada\n"
+"para especificar el mínimo de mensajes en común que serán mostrados (i.e.\n"
+"--less-than=2 sólo mostrá los mensajes únicos). Las traducciones, \n"
+"los comentarios y los comentarios extraídos serán conservados, pero sólo\n"
+"los que provengan del primer fichero PO que los defina. Las posiciones dentro\n"
+"del fichero de todos los ficheros PO se conservarán.\n"
+
+# Lo mismo en ' informa de la versión...' em
+# Obligatorios.. obligatorios , queda un poco feo. Si lo que se pretende
+# es ser fiel al original, pon 'son tambien obligatorios para...' em+
+#: src/msgcomm.c:362
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
+"  -e, --no-escape                do not use C escapes in output (default)\n"
+"  -E, --escape                   use C escapes in output, no extended chars\n"
+"      --force-po                 write PO file even if empty\n"
+"  -i, --indent                   write the .po file using indented style\n"
+"      --no-location              do not write '#: filename:line' lines\n"
+"  -n, --add-location             generate '#: filename:line' lines (default)\n"
+"      --strict                   write out strict Uniforum conforming .po file\n"
 "  -w, --width=NUMBER             set output page width\n"
-"  -s, --sort-output              generate sorted output and remove duplicates\n"
+"  -s, --sort-output              generate sorted output\n"
 "  -F, --sort-by-file             sort output by file location\n"
 "      --omit-header              don't write header with `msgid \"\"' entry\n"
 msgstr ""
@@ -687,75 +927,12 @@ msgstr ""
 "  -V, --version              informa de la versión y finaliza\n"
 "  -w, --width=NÚMERO         ajusta la anchura de la página de salida\n"
 
-# sospecho que lo que en realidad ocurre es que "no debe". sv
-# Miraremos el código fuente. sv
-#
-# ok. aquí está el fuente. Tengo la impresión de que estoy en
-# lo correcto: es decir que es necesario que tenga al menos
-# una instrucción de dominio.
-# por cierto traduje directive por instrucción aunque con las
-# series de TV gringas acostumbran mal traducir a "directivas". mm.
-#
-# exclude_directive_domain (pop, name)
-#     po_ty *pop;
-#     char *name;
-# {
-#   po_gram_error (_("this file may not contain domain directives"));
-# }
-#
-# Me lo pones más claro: el mensaje está dentro de una función llamada
-# "exclude_directive_domain". Probablemente porque *no* debe haber
-# "domain directives", no porque posiblemente no las haya.
-#
-# Por eso creo que en este caso, como en algunos otros, "may not"
-# significa "should not".
-#
-# Sigo pensando igual que antes, aunque no estoy seguro del todo. sv
-# ¿Qué opinas Enrique? mm
-# Pues después de ver los fuentes no consigo estar seguro. Pero
-# definitivamente no optaría por 'no debería' , sino por 'no puede' , por
-# el nombre de la función está claro que es lo que se pretende.  Afortunada-
-# mente el verbo poder en Castellano es mucho más flexible que en otros
-# idiomas. De todas maneras siempre se puede mirar otras traducciones.  em
-# ok. Acepto en 'no puede' a reserva de encontrar nuevos argumentos. mm
-#: src/msgcomm.c:510 src/xgettext.c:676 src/xgettext.c:1093
-msgid "this file may not contain domain directives"
-msgstr "este fichero no puede contener instrucciones de dominio"
-
-#: src/msgconv.c:200 src/msggrep.c:296 src/msgsed.c:262
-msgid "at most one input file allowed"
-msgstr ""
-
-#: src/msgconv.c:239 src/msggrep.c:371 src/msgsed.c:318
-#, c-format, no-wrap
-msgid "Usage: %s [OPTION] [INPUTFILE]\n"
-msgstr ""
-
-#: src/msgconv.c:244
+#: src/msgconv.c:251
 #, no-wrap
 msgid "Converts a translation catalog to a different character encoding.\n"
 msgstr ""
 
-#: src/msgconv.c:254 src/msggrep.c:387 src/msgsed.c:333
-#, no-wrap
-msgid ""
-"Input file location:\n"
-"  INPUTFILE                   input PO file\n"
-"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
-"If no input file is given or if it is -, standard input is read.\n"
-msgstr ""
-
-#: src/msgconv.c:262 src/msgen.c:250 src/msggrep.c:395 src/msgmerge.c:311
-#: src/msgsed.c:341
-#, no-wrap
-msgid ""
-"Output file location:\n"
-"  -o, --output-file=FILE      write output to specified file\n"
-"The results are written to standard output if no output file is specified\n"
-"or if it is -.\n"
-msgstr ""
-
-#: src/msgconv.c:270
+#: src/msgconv.c:277
 #, no-wrap
 msgid ""
 "Conversion target:\n"
@@ -766,7 +943,7 @@ msgstr ""
 # Lo mismo en ' informa de la versión...' em
 # Obligatorios.. obligatorios , queda un poco feo. Si lo que se pretende
 # es ser fiel al original, pon 'son tambien obligatorios para...' em+
-#: src/msgconv.c:277 src/msgen.c:258 src/msgmerge.c:325
+#: src/msgconv.c:284 src/msgen.c:266 src/msgmerge.c:442
 #, fuzzy, no-wrap
 msgid ""
 "Output details:\n"
@@ -778,7 +955,7 @@ msgid ""
 "      --add-location          preserve '#: filename:line' lines (default)\n"
 "      --strict                strict Uniforum output style\n"
 "  -w, --width=NUMBER          set output page width\n"
-"  -s, --sort-output           generate sorted output and remove duplicates\n"
+"  -s, --sort-output           generate sorted output\n"
 "  -F, --sort-by-file          sort output by file location\n"
 msgstr ""
 "Modo de empleo: %s [OPCIÓN] def.po ref.po\n"
@@ -804,21 +981,21 @@ msgstr ""
 "  -w, --width=NÚMERO         ajusta la anchura de la página de salida\n"
 
 # acepto sugerencia de em pero agrego un "el". mm
-#: src/msgen.c:184 src/msgfmt.c:288 src/xgettext.c:402
+#: src/msgen.c:187 src/msgfmt.c:349 src/xgettext.c:388
 msgid "no input file given"
 msgstr "no se especificó el fichero de entrada"
 
-#: src/msgen.c:189
+#: src/msgen.c:192
 #, fuzzy
 msgid "exactly one input file required"
 msgstr "se requieren exactamente 2 ficheros de entrada"
 
-#: src/msgen.c:224
+#: src/msgen.c:232
 #, c-format, no-wrap
 msgid "Usage: %s [OPTION] INPUTFILE\n"
 msgstr ""
 
-#: src/msgen.c:229
+#: src/msgen.c:237
 #, no-wrap
 msgid ""
 "Creates an English translation catalog.  The input file is the last\n"
@@ -827,7 +1004,7 @@ msgid ""
 "identical to the msgid, and are marked fuzzy.\n"
 msgstr ""
 
-#: src/msgen.c:242
+#: src/msgen.c:250
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -836,43 +1013,165 @@ msgid ""
 "If input file is -, standard input is read.\n"
 msgstr ""
 
-#: src/msgfmt.c:339
+#: src/msgexec.c:255
+#, fuzzy
+msgid "missing filter name"
+msgstr "faltan argumentos"
+
+#: src/msgexec.c:279
+#, fuzzy
+msgid "at least one sed script must be specified"
+msgstr "se deben especificar por lo menos dos ficheros"
+
+#: src/msgexec.c:343
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] FILTER [FILTER-OPTION]\n"
+msgstr ""
+
+#: src/msgexec.c:348
+#, no-wrap
+msgid "Applies a filter to all translations of a translation catalog.\n"
+msgstr ""
+
+#: src/msgexec.c:358
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  -i, --input=INPUTFILE       input PO file\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"If no input file is given or if it is -, standard input is read.\n"
+msgstr ""
+
+#: src/msgexec.c:374
+#, no-wrap
+msgid ""
+"The FILTER can be any program that reads a translation from standard input\n"
+"and writes a modified translation to standard output.\n"
+msgstr ""
+
+#: src/msgexec.c:380
+#, no-wrap
+msgid ""
+"Useful FILTER-OPTIONs when the FILTER is 'sed':\n"
+"  -e, --expression=SCRIPT     add SCRIPT to the commands to be executed\n"
+"  -f, --file=SCRIPTFILE       add the contents of SCRIPTFILE to the commands\n"
+"                                to be executed\n"
+"  -n, --quiet, --silent       suppress automatic printing of pattern space\n"
+msgstr ""
+
+# Lo mismo en ' informa de la versión...' em
+# Obligatorios.. obligatorios , queda un poco feo. Si lo que se pretende
+# es ser fiel al original, pon 'son tambien obligatorios para...' em+
+#: src/msgexec.c:389
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
+"      --no-escape             do not use C escapes in output (default)\n"
+"  -E, --escape                use C escapes in output, no extended chars\n"
+"      --force-po              write PO file even if empty\n"
+"      --indent                indented output style\n"
+"      --no-location           suppress '#: filename:line' lines\n"
+"      --add-location          preserve '#: filename:line' lines (default)\n"
+"      --strict                strict Uniforum output style\n"
+"  -w, --width=NUMBER          set output page width\n"
+"  -s, --sort-output           generate sorted output\n"
+"  -F, --sort-by-file          sort output by file location\n"
+msgstr ""
+"Modo de empleo: %s [OPCIÓN] def.po ref.po\n"
+"Los argumentos obligatorios para las opciones largas también son\n"
+"obligatorios para las opciones cortas.\n"
+"\n"
+"  -C, --compendium=FICHERO   la biblioteca adicional de traducción de \n"
+"                             mensajes puede ser especificada más de una vez\n"
+"  -D, --directory=DIRECTORIO añade el DIRECTORIO a la lista de\n"
+"                             búsqueda de ficheros de entrada\n"
+"  -e, --no-escape            no utiliza escapes C en la salida (por defecto)\n"
+"  -E, --escape               utiliza escapes C en la salida, sin caracteres\n"
+"                             extendidos\n"
+"      --force-po             escribe un fichero .po incluso si está vacío\n"
+"  -h, --help                 muestra esta ayuda y finaliza\n"
+"  -i, --indent               estilo de salida con sangrías\n"
+"  -o, --output-file=FICHERO  el resultado se escribe en FICHERO\n"
+"      --no-location          no escribe líneas '#: fichero:línea'\n"
+"      --add-location         escribe líneas '#: fichero:línea' (por defecto)\n"
+"      --strict               estilo de salida Uniforum estricto\n"
+"  -v, --verbose              incrementa el nivel de mensajes\n"
+"  -V, --version              informa de la versión y finaliza\n"
+"  -w, --width=NÚMERO         ajusta la anchura de la página de salida\n"
+
+#: src/msgexec.c:546
 #, c-format
-msgid "error while opening \"%s\" for writing"
-msgstr "error al abrir el fichero \"%s\" para escritura"
+msgid "cannot set up nonblocking I/O to %s subprocess"
+msgstr ""
+
+#: src/msgexec.c:574
+#, c-format
+msgid "communication with %s subprocess failed"
+msgstr ""
+
+#: src/msgexec.c:594
+#, c-format
+msgid "write to %s subprocess failed"
+msgstr ""
+
+#: src/msgexec.c:625
+#, c-format
+msgid "read from %s subprocess failed"
+msgstr ""
+
+#: src/msgexec.c:641
+#, c-format
+msgid "%s subprocess terminated with exit code %d"
+msgstr ""
+
+#: src/msgfmt.c:303
+#, c-format
+msgid "the argument to %s should be a single punctuation character"
+msgstr ""
 
-#: src/msgfmt.c:357
+#: src/msgfmt.c:364
+#, c-format
+msgid "%s requires a \"-d directory\" specification"
+msgstr ""
+
+#: src/msgfmt.c:373 src/msgfmt.c:379 src/msgfmt.c:385 src/msgmerge.c:290
+#: src/msgmerge.c:296 src/msgunfmt.c:209 src/msgunfmt.c:215
+#, c-format
+msgid "%s is only valid with %s"
+msgstr ""
+
+#: src/msgfmt.c:452
 #, c-format
 msgid "%d translated message"
 msgid_plural "%d translated messages"
 msgstr[0] "%d mensaje traducido"
 msgstr[1] "%d mensajes traducidos"
 
-#: src/msgfmt.c:362
+#: src/msgfmt.c:457
 #, c-format
 msgid ", %d fuzzy translation"
 msgid_plural ", %d fuzzy translations"
 msgstr[0] ", %d traducción difusa"
 msgstr[1] ", %d traducciones difusas"
 
-#: src/msgfmt.c:367
+#: src/msgfmt.c:462
 #, c-format
 msgid ", %d untranslated message"
 msgid_plural ", %d untranslated messages"
 msgstr[0] ", %d mensaje sin traducir"
 msgstr[1] ", %d mensajes sin traducir"
 
-#: src/msgfmt.c:389
+#: src/msgfmt.c:484
 #, c-format, no-wrap
 msgid "Usage: %s [OPTION] filename.po ...\n"
 msgstr ""
 
-#: src/msgfmt.c:394
+#: src/msgfmt.c:489
 #, no-wrap
 msgid "Generate binary message catalog from textual translation description.\n"
 msgstr ""
 
-#: src/msgfmt.c:404
+#: src/msgfmt.c:499
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -881,7 +1180,15 @@ msgid ""
 "If input file is -, standard input is read.\n"
 msgstr ""
 
-#: src/msgfmt.c:412
+#: src/msgfmt.c:507
+#, no-wrap
+msgid ""
+"Operation mode:\n"
+"  -j, --java                  Java mode: generate a Java ResourceBundle class\n"
+"      --java2                 like --java, and assume Java2 (JDK 1.2 or higher)\n"
+msgstr ""
+
+#: src/msgfmt.c:514
 #, no-wrap
 msgid ""
 "Output file location:\n"
@@ -890,15 +1197,35 @@ msgid ""
 "If output file is -, output is written to standard output.\n"
 msgstr ""
 
-#: src/msgfmt.c:420
+#: src/msgfmt.c:522
+#, no-wrap
+msgid ""
+"Output file location in Java mode:\n"
+"  -r, --resource=RESOURCE     resource name\n"
+"  -l, --locale=LOCALE         locale name, either language or language_COUNTRY\n"
+"  -d DIRECTORY                base directory of classes directory hierarchy\n"
+"The class name is determined by appending the locale name to the resource name,\n"
+"separated with an underscore.  The -d option is mandatory.  The class is\n"
+"written under the specified directory.\n"
+msgstr ""
+
+#: src/msgfmt.c:533
 #, no-wrap
 msgid ""
 "Input file interpretation:\n"
-"  -c, --check                 perform language dependent checks on strings\n"
+"  -c, --check                 perform all the checks implied by\n"
+"                                --check-format, --check-header, --check-domain\n"
+"      --check-format          check language dependent format strings\n"
+"      --check-header          verify presence and contents of the header entry\n"
+"      --check-domain          check for conflicts between domain directives\n"
+"                                and the --output-file option\n"
+"  -C, --check-compatibility   check that GNU msgfmt behaves like X/Open msgfmt\n"
+"      --check-accelerators[=CHAR]  check presence of keyboard accelerators for\n"
+"                                menu items\n"
 "  -f, --use-fuzzy             use fuzzy entries in output\n"
 msgstr ""
 
-#: src/msgfmt.c:427
+#: src/msgfmt.c:548
 #, c-format, no-wrap
 msgid ""
 "Output details:\n"
@@ -906,93 +1233,80 @@ msgid ""
 "      --no-hash               binary file will not include the hash table\n"
 msgstr ""
 
-#: src/msgfmt.c:434
+#: src/msgfmt.c:555
 #, no-wrap
 msgid ""
 "Informative output:\n"
 "  -h, --help                  display this help and exit\n"
 "  -V, --version               output version information and exit\n"
 "      --statistics            print statistics about translations\n"
-"  -v, --verbose               list input file anomalies\n"
-"Giving the -v option more than once increases the verbosity level.\n"
+"  -v, --verbose               increase verbosity level\n"
 msgstr ""
 
-#: src/msgfmt.c:466
-msgid "while creating hash table"
-msgstr "mientras se creaba la tabla de `hash'"
-
-#: src/msgfmt.c:504
-#, fuzzy
-msgid "warning: PO file header missing, fuzzy, or invalid\n"
+#: src/msgfmt.c:707
+msgid "plural expression can produce negative values"
 msgstr ""
-"%s: atención: El encabezado del archivo PO está extraviado, es difuso o "
-"inválido\n"
-"%*s: atención: la conversión del conjunto de caracteres no funcionará"
 
-#: src/msgfmt.c:507
-#, fuzzy
-msgid "warning: charset conversion will not work\n"
+#: src/msgfmt.c:720
+#, c-format
+msgid "nplurals = %lu but plural expression can produce values as large as %lu"
 msgstr ""
-"No hay un conjunto de caracteres especificado en el encabezado.\n"
-"La conversión de mensajes al conjunto de caracteres del usuario no "
-"funcionará.\n"
 
-#: src/msgfmt.c:531
-#, c-format
-msgid "domain name \"%s\" not suitable as file name"
-msgstr "el nombre de dominio \"%s\" no es válido como nombre de fichero"
+#: src/msgfmt.c:746
+msgid "plural expression can produce division by zero"
+msgstr ""
 
-#: src/msgfmt.c:536
-#, c-format
-msgid "domain name \"%s\" not suitable as file name: will use prefix"
+#: src/msgfmt.c:751
+msgid "plural expression can produce integer overflow"
 msgstr ""
-"el nombre del dominio \"%s\" no es válido como nombre de fichero:\n"
-"se utilizará un prefijo"
 
-#. We don't change the exit status here because this is really
-#. only an information.
-#: src/msgfmt.c:549
-#, c-format
-msgid "`domain %s' directive ignored"
-msgstr "la instrucción `domain %s' no tiene efecto"
+#: src/msgfmt.c:756
+msgid ""
+"plural expression can produce arithmetic exceptions, possibly division by "
+"zero"
+msgstr ""
 
-# Nunca me gustó ignorar para "to ignore".
-# Ignorar es no saber (not to know). "to ignore" es "no hacer caso".
-# Sugerencia: Descartar. sv
-# Excelente palabreja. Me gusta mucho. mm
-#: src/msgfmt.c:585
-msgid "empty `msgstr' entry ignored"
-msgstr "se descarta la línea vacía `msgstr'"
+#: src/msgfmt.c:830 src/msgfmt.c:841
+msgid "message catalog has plural form translations..."
+msgstr ""
 
-# Lo mismo. sv
-# Ok. mm
-#: src/msgfmt.c:586
-msgid "fuzzy `msgstr' entry ignored"
-msgstr "se descarta la línea difusa `msgstr'"
+#: src/msgfmt.c:833
+msgid "...but header entry lacks a \"plural=EXPRESSION\" attribute"
+msgstr ""
 
-#: src/msgfmt.c:629
-#, c-format
-msgid "headerfield `%s' missing in header"
-msgstr "no existe el campo `%s' en la cabecera"
+#: src/msgfmt.c:844
+msgid "...but header entry lacks a \"nplurals=INTEGER\" attribute"
+msgstr ""
 
-#: src/msgfmt.c:632
-#, c-format
-msgid "header field `%s' should start at beginning of line"
-msgstr "el campo `%s' debe comenzar al principio de la línea"
+#: src/msgfmt.c:868
+#, fuzzy
+msgid "invalid nplurals value"
+msgstr "secuencia de control ilegal"
 
-#: src/msgfmt.c:642
-msgid "some header fields still have the initial default value"
-msgstr "algunos campos de cabecera aún tienen el valor inicial"
+#: src/msgfmt.c:881
+msgid "invalid plural expression"
+msgstr ""
 
-#: src/msgfmt.c:653
+#: src/msgfmt.c:899 src/msgfmt.c:912
 #, c-format
-msgid "field `%s' still has initial default value"
-msgstr "el campo `%s' aún tiene el valor inicial"
+msgid "nplurals = %lu..."
+msgstr ""
 
-#: src/msgfmt.c:745
+#: src/msgfmt.c:902
 #, c-format
-msgid "%s: warning: source file contains fuzzy translation"
-msgstr "%s: atención: el fichero fuente contiene una traducción difusa"
+msgid "...but some messages have only %lu plural forms"
+msgstr ""
+
+#: src/msgfmt.c:915
+#, c-format
+msgid "...but some messages have %lu plural forms"
+msgstr ""
+
+#: src/msgfmt.c:930
+msgid ""
+"message catalog has plural form translations, but lacks a header entry with "
+"\"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\""
+msgstr ""
 
 # ¿qué les parece: "a `msgid' o `msgstr' les falta el `\\n' final"? cb
 # Bien. Mejora. mm
@@ -1077,30 +1391,121 @@ msgstr "a alguna de las l
 msgid "`msgid' and `msgstr' entries do not both end with '\\n'"
 msgstr "a alguna de las líneas `msgid' y `msgstr' les falta el `\\n' final"
 
-#: src/msgfmt.c:1047
-msgid "number of format specifications in `msgid' and `msgstr' does not match"
+#: src/msgfmt.c:1041
+msgid "plural handling is a GNU gettext extension"
 msgstr ""
-"el número de especificaciones de formato en `msgid' y 'msgstr' no coincide"
 
-#: src/msgfmt.c:1066
+#: src/msgfmt.c:1088
 #, c-format
-msgid "format specifications for argument %lu are not the same"
+msgid "'msgstr' is not a valid %s format string, unlike 'msgid'"
 msgstr ""
-"las especificaciones de formato para el argumento %lu no son las mismas"
 
-#: src/msggrep.c:354
+#: src/msgfmt.c:1122
+#, c-format
+msgid "msgstr lacks the keyboard accelerator mark '%c'"
+msgstr ""
+
+#: src/msgfmt.c:1130
+#, c-format
+msgid "msgstr has too many keyboard accelerator marks '%c'"
+msgstr ""
+
+#: src/msgfmt.c:1164
+#, c-format
+msgid "headerfield `%s' missing in header"
+msgstr "no existe el campo `%s' en la cabecera"
+
+#: src/msgfmt.c:1167
+#, c-format
+msgid "header field `%s' should start at beginning of line"
+msgstr "el campo `%s' debe comenzar al principio de la línea"
+
+#: src/msgfmt.c:1176
+msgid "some header fields still have the initial default value"
+msgstr "algunos campos de cabecera aún tienen el valor inicial"
+
+#: src/msgfmt.c:1187
+#, c-format
+msgid "field `%s' still has initial default value"
+msgstr "el campo `%s' aún tiene el valor inicial"
+
+#: src/msgfmt.c:1228
+#, fuzzy
+msgid "warning: PO file header missing or invalid\n"
+msgstr ""
+"%s: atención: El encabezado del archivo PO está extraviado, es difuso o "
+"inválido\n"
+"%*s: atención: la conversión del conjunto de caracteres no funcionará"
+
+#: src/msgfmt.c:1231
+#, fuzzy
+msgid "warning: charset conversion will not work\n"
+msgstr ""
+"No hay un conjunto de caracteres especificado en el encabezado.\n"
+"La conversión de mensajes al conjunto de caracteres del usuario no "
+"funcionará.\n"
+
+#: src/msgfmt.c:1241
+#, fuzzy
+msgid "warning: PO file header fuzzy\n"
+msgstr ""
+"%s: atención: El encabezado del archivo PO está extraviado, es difuso o "
+"inválido\n"
+"%*s: atención: la conversión del conjunto de caracteres no funcionará"
+
+#: src/msgfmt.c:1243
+msgid "warning: older versions of msgfmt will give an error on this\n"
+msgstr ""
+
+#: src/msgfmt.c:1268
+#, c-format
+msgid "domain name \"%s\" not suitable as file name"
+msgstr "el nombre de dominio \"%s\" no es válido como nombre de fichero"
+
+#: src/msgfmt.c:1273
+#, c-format
+msgid "domain name \"%s\" not suitable as file name: will use prefix"
+msgstr ""
+"el nombre del dominio \"%s\" no es válido como nombre de fichero:\n"
+"se utilizará un prefijo"
+
+#: src/msgfmt.c:1284
+#, c-format
+msgid "`domain %s' directive ignored"
+msgstr "la instrucción `domain %s' no tiene efecto"
+
+# Nunca me gustó ignorar para "to ignore".
+# Ignorar es no saber (not to know). "to ignore" es "no hacer caso".
+# Sugerencia: Descartar. sv
+# Excelente palabreja. Me gusta mucho. mm
+#: src/msgfmt.c:1356
+msgid "empty `msgstr' entry ignored"
+msgstr "se descarta la línea vacía `msgstr'"
+
+# Lo mismo. sv
+# Ok. mm
+#: src/msgfmt.c:1357
+msgid "fuzzy `msgstr' entry ignored"
+msgstr "se descarta la línea difusa `msgstr'"
+
+#: src/msgfmt.c:1426
+#, c-format
+msgid "%s: warning: source file contains fuzzy translation"
+msgstr "%s: atención: el fichero fuente contiene una traducción difusa"
+
+#: src/msggrep.c:359
 #, c-format
 msgid "option '%c' cannot be used before 'K' or 'T' has been specified"
 msgstr ""
 
-#: src/msggrep.c:376
+#: src/msggrep.c:381
 #, no-wrap
 msgid ""
 "Extracts all messages of a translation catalog that match a given pattern\n"
 "or belong to some given source files.\n"
 msgstr ""
 
-#: src/msggrep.c:403
+#: src/msggrep.c:408
 #, no-wrap
 msgid ""
 "Message selection:\n"
@@ -1109,8 +1514,15 @@ msgid ""
 "or if it comes from one of the specified domains,\n"
 "or if -K is given and its key (msgid or msgid_plural) matches MSGID-PATTERN,\n"
 "or if -T is given and its translation (msgstr) matches MSGSTR-PATTERN.\n"
+"\n"
+"When more than one selection criterion is specified, the set of selected\n"
+"messages is the union of the selected messages of each criterion.\n"
+"\n"
+"MSGID-PATTERN or MSGSTR-PATTERN syntax:\n"
+"  [-E | -F] [-e PATTERN | -f FILE]...\n"
 "PATTERNs are basic regular expressions by default, or extended regular\n"
 "expressions if -E is given, or fixed strings if -F is given.\n"
+"\n"
 "  -N, --location=SOURCEFILE   select messages extracted from SOURCEFILE\n"
 "  -M, --domain=DOMAINNAME     select messages belonging to domain DOMAINNAME\n"
 "  -K, --msgid                 start of patterns for the msgid\n"
@@ -1125,7 +1537,7 @@ msgstr ""
 # Lo mismo en ' informa de la versión...' em
 # Obligatorios.. obligatorios , queda un poco feo. Si lo que se pretende
 # es ser fiel al original, pon 'son tambien obligatorios para...' em+
-#: src/msggrep.c:424
+#: src/msggrep.c:436
 #, fuzzy, no-wrap
 msgid ""
 "Output details:\n"
@@ -1137,7 +1549,7 @@ msgid ""
 "      --add-location          preserve '#: filename:line' lines (default)\n"
 "      --strict                strict Uniforum output style\n"
 "  -w, --width=NUMBER          set output page width\n"
-"      --sort-output           generate sorted output and remove duplicates\n"
+"      --sort-output           generate sorted output\n"
 "      --sort-by-file          sort output by file location\n"
 msgstr ""
 "Modo de empleo: %s [OPCIÓN] def.po ref.po\n"
@@ -1162,11 +1574,163 @@ msgstr ""
 "  -V, --version              informa de la versión y finaliza\n"
 "  -w, --width=NÚMERO         ajusta la anchura de la página de salida\n"
 
-#: src/msggrep.c:498
+#: src/msggrep.c:510
 msgid "write to grep subprocess failed"
 msgstr ""
 
-#: src/msgl-charset.c:88
+#: src/msginit.c:275
+msgid ""
+"You are in a language indifferent environment.  Please set\n"
+"your LANG environment variable, as described in the ABOUT-NLS\n"
+"file.  This is necessary so you can test your translations.\n"
+msgstr ""
+
+#: src/msginit.c:303
+#, c-format
+msgid ""
+"Output file %s already exists.\n"
+"Please specify the locale through the --locale option or\n"
+"the output .po file through the --output-file option.\n"
+msgstr ""
+
+#: src/msginit.c:326
+#, c-format
+msgid "Created %s.\n"
+msgstr ""
+
+#: src/msginit.c:348
+#, no-wrap
+msgid ""
+"Creates a new PO file, initializing the meta information with values from the\n"
+"user's environment.\n"
+msgstr ""
+
+#: src/msginit.c:359
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  -i, --input=INPUTFILE       input POT file\n"
+"If no input file is given, the current directory is searched for the POT file.\n"
+"If it is -, standard input is read.\n"
+msgstr ""
+
+#: src/msginit.c:367
+#, no-wrap
+msgid ""
+"Output file location:\n"
+"  -o, --output-file=FILE      write output to specified PO file\n"
+"If no output file is given, it depends on the --locale option or the user's\n"
+"locale setting.  If it is -, the results are written to standard output.\n"
+msgstr ""
+
+#: src/msginit.c:375
+#, no-wrap
+msgid ""
+"Output details:\n"
+"  -l, --locale=LL_CC          set target locale\n"
+"      --no-translator         assume the PO file is automatically generated\n"
+"  -w, --width=NUMBER          set output page width\n"
+msgstr ""
+
+#: src/msginit.c:426
+msgid ""
+"Found more than one .pot file.\n"
+"Please specify the input .pot file through the --input option.\n"
+msgstr ""
+
+#: src/msginit.c:434 src/msginit.c:439
+msgid "error reading current directory"
+msgstr ""
+
+#: src/msginit.c:447
+msgid ""
+"Found no .pot file in the current directory.\n"
+"Please specify the input .pot file through the --input option.\n"
+msgstr ""
+
+#: src/msginit.c:887 src/msginit.c:932 src/msginit.c:1070 src/msginit.c:1137
+#: src/read-java.c:80
+msgid "fdopen() failed"
+msgstr ""
+
+#: src/msginit.c:892 src/msginit.c:937 src/msginit.c:1075
+#, c-format
+msgid "%s subprocess I/O error"
+msgstr ""
+
+#: src/msginit.c:901 src/msginit.c:946 src/msginit.c:1084 src/msginit.c:1151
+#: src/read-java.c:90
+#, c-format
+msgid "%s subprocess failed with exit code %d"
+msgstr ""
+
+#: src/msginit.c:1060
+msgid ""
+"The new message catalog should contain your email address, so that users "
+"can\n"
+"give you feedback about the translations, and so that maintainers can "
+"contact\n"
+"you in case of unexpected technical problems.\n"
+msgstr ""
+
+#. TRANSLATORS: "English" needs to be replaced by your language.
+#. For example in it.po write "Traduzioni italiani ...",
+#. *not* "Traduzioni inglesi ...".
+#: src/msginit.c:1440
+#, c-format
+msgid "English translations for %s package"
+msgstr ""
+
+#: src/msgl-cat.c:173 src/msgl-charset.c:86 src/msgl-iconv.c:299
+#, c-format
+msgid "present charset \"%s\" is not a portable encoding name"
+msgstr ""
+
+#: src/msgl-cat.c:181 src/msgl-iconv.c:307
+#, c-format
+msgid "two different charsets \"%s\" and \"%s\" in input file"
+msgstr ""
+
+#: src/msgl-cat.c:194
+#, c-format
+msgid ""
+"input file `%s' doesn't contain a header entry with a charset specification"
+msgstr ""
+
+#: src/msgl-cat.c:198
+#, c-format
+msgid ""
+"domain \"%s\" in input file `%s' doesn't contain a header entry with a "
+"charset specification"
+msgstr ""
+
+#: src/msgl-cat.c:359 src/msgl-iconv.c:382
+#, c-format
+msgid "target charset \"%s\" is not a portable encoding name."
+msgstr ""
+
+#: src/msgl-cat.c:409 src/msgl-cat.c:415 src/msgl-charset.c:91
+#: src/msgl-charset.c:126 src/write-po.c:723 src/write-po.c:817
+#, fuzzy
+msgid "warning: "
+msgstr "%s: atención: "
+
+#: src/msgl-cat.c:410
+msgid ""
+"Input files contain messages in different encodings, UTF-8 among others.\n"
+"Converting the output to UTF-8.\n"
+msgstr ""
+
+#: src/msgl-cat.c:416
+#, c-format
+msgid ""
+"Input files contain messages in different encodings, %s and %s among "
+"others.\n"
+"Converting the output to UTF-8.\n"
+"To select a different output encoding, use the --to-code option.\n"
+msgstr ""
+
+#: src/msgl-charset.c:92
 #, c-format
 msgid ""
 "Locale charset \"%s\" is different from\n"
@@ -1175,12 +1739,12 @@ msgid ""
 "Possible workarounds are:\n"
 msgstr ""
 
-#: src/msgl-charset.c:95
+#: src/msgl-charset.c:99
 #, c-format
 msgid "- Set LC_ALL to a locale with encoding %s.\n"
 msgstr ""
 
-#: src/msgl-charset.c:100
+#: src/msgl-charset.c:104
 #, c-format
 msgid ""
 "- Convert the translation catalog to %s using 'msgconv',\n"
@@ -1188,7 +1752,7 @@ msgid ""
 "  then convert back to %s using 'msgconv'.\n"
 msgstr ""
 
-#: src/msgl-charset.c:109
+#: src/msgl-charset.c:113
 #, c-format
 msgid ""
 "- Set LC_ALL to a locale with encoding %s,\n"
@@ -1197,7 +1761,7 @@ msgid ""
 "  then convert back to %s using 'msgconv'.\n"
 msgstr ""
 
-#: src/msgl-charset.c:123
+#: src/msgl-charset.c:127
 #, c-format
 msgid ""
 "Locale charset \"%s\" is not a portable encoding name.\n"
@@ -1205,15 +1769,15 @@ msgid ""
 "A possible workaround is to set LC_ALL=C.\n"
 msgstr ""
 
-#: src/msgl-iconv.c:192 src/msgl-iconv.c:246
+#: src/msgl-iconv.c:200 src/msgl-iconv.c:254
 msgid "conversion failure"
 msgstr ""
 
-#: src/msgl-iconv.c:317
+#: src/msgl-iconv.c:328
 msgid "input file doesn't contain a header entry with a charset specification"
 msgstr ""
 
-#: src/msgl-iconv.c:334
+#: src/msgl-iconv.c:346
 #, fuzzy, c-format
 msgid ""
 "Cannot convert from \"%s\" to \"%s\". %s relies on iconv(), and iconv() does "
@@ -1222,7 +1786,7 @@ msgstr ""
 "El conjunto de caracteres \"%s\" no está soportado. %s se basa en iconv(),\n"
 "e iconv() no soporta \"%s\".\n"
 
-#: src/msgl-iconv.c:350
+#: src/msgl-iconv.c:362
 #, fuzzy, c-format
 msgid ""
 "Cannot convert from \"%s\" to \"%s\". %s relies on iconv(). This version was "
@@ -1231,158 +1795,128 @@ msgstr ""
 "El conjunto de caracteres \"%s\" no está soportado. %s se basa en iconv().\n"
 "Esta versión fue construida sin iconv().\n"
 
-#: src/msgmerge.c:283
-#, fuzzy, no-wrap
-msgid ""
-"Merges two Uniforum style .po files together.  The def.po file is an\n"
-"existing PO file with translations which will be taken over to the newly\n"
-"created file as long as they still match; comments will be preserved,\n"
-"but extracted comments and file positions will be discarded.  The ref.pot\n"
-"file is the last created PO file with up-to-date source references but\n"
-"old translations, or a PO Template file (generally created by xgettext);\n"
-"any translations or comments in the file will be discarded, however dot\n"
-"comments and file positions will be preserved.  Where an exact match\n"
-"cannot be found, fuzzy matching is used to produce better results.\n"
-msgstr ""
-"\n"
-"Mezcla dos ficheros .po de estilo Uniforum en uno solo. El fichero def.po\n"
-"es un fichero existente de tipo .po con las traducciones anteriores que se\n"
-"conservarán siempre y cuando coincidan; los comentarios se conservarán,\n"
-"pero los comentarios extraídos y las posiciones del fichero no lo serán.\n"
-"El fichero ref.po es el último fichero .po creado (generalmente con xgettext),\n"
-"cualquier traducción o comentario se eliminará, sin embargo los comentarios\n"
-"puntuales y las posiciones dentro del fichero se conservarán. En donde no\n"
-"haya una coincidencia exacta, se utilizará el método de comparación difusa\n"
-"para obtener mejores resultados. Los resultados se escribirán en la salida\n"
-"estándar a menos que se especifique un fichero de salida.\n"
-
-#: src/msgmerge.c:301
-#, no-wrap
-msgid ""
-"Input file location:\n"
-"  def.po                      translations referring to old sources\n"
-"  ref.pot                     references to new sources\n"
-"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
-"  -C, --compendium=FILE       additional library of message translations,\n"
-"                              may be specified more than once\n"
-msgstr ""
-
 #: src/msgmerge.c:340
-#, no-wrap
-msgid ""
-"Informative output:\n"
-"  -h, --help                  display this help and exit\n"
-"  -V, --version               output version information and exit\n"
-"  -v, --verbose               increase verbosity level\n"
-"  -q, --quiet, --silent       suppress progress indicators\n"
-msgstr ""
-
-#: src/msgmerge.c:578
-#, c-format
-msgid ""
-"%sRead %ld old + %ld reference, merged %ld, fuzzied %ld, missing %ld, "
-"obsolete %ld.\n"
+msgid "backup type"
 msgstr ""
-"%sleídos %ld mensajes antiguos + %ld mensajes de referencia\n"
-"incorporados %ld, convertidos en difusos %ld, faltan %ld, obsoletos %ld.\n"
 
-# Porque no mejor poner simplemente 'fin'? mm++
-#: src/msgmerge.c:586
-msgid " done.\n"
-msgstr " terminado.\n"
-
-#: src/msgsed.c:267
-#, fuzzy
-msgid "at least one sed script must be specified"
-msgstr "se deben especificar por lo menos dos ficheros"
-
-#: src/msgsed.c:323
-#, no-wrap
-msgid "Applies a sed script to all translations of a translation catalog.\n"
-msgstr ""
-
-#: src/msgsed.c:349
-#, no-wrap
-msgid ""
-"Sed options:\n"
-"  -e, --expression=SCRIPT     add SCRIPT to the commands to be executed\n"
-"  -f, --file=SCRIPTFILE       add the contents of SCRIPTFILE to the commands\n"
-"                                to be executed\n"
-"  -n, --quiet, --silent       suppress automatic printing of pattern space\n"
-msgstr ""
-
-# Lo mismo en ' informa de la versión...' em
-# Obligatorios.. obligatorios , queda un poco feo. Si lo que se pretende
-# es ser fiel al original, pon 'son tambien obligatorios para...' em+
-#: src/msgsed.c:358
+#: src/msgmerge.c:377
 #, fuzzy, no-wrap
 msgid ""
-"Output details:\n"
-"      --no-escape             do not use C escapes in output (default)\n"
-"  -E, --escape                use C escapes in output, no extended chars\n"
-"      --force-po              write PO file even if empty\n"
-"  -i, --indent                indented output style\n"
-"      --no-location           suppress '#: filename:line' lines\n"
-"      --add-location          preserve '#: filename:line' lines (default)\n"
-"      --strict                strict Uniforum output style\n"
-"  -w, --width=NUMBER          set output page width\n"
-"  -s, --sort-output           generate sorted output and remove duplicates\n"
-"  -F, --sort-by-file          sort output by file location\n"
-msgstr ""
-"Modo de empleo: %s [OPCIÓN] def.po ref.po\n"
-"Los argumentos obligatorios para las opciones largas también son\n"
-"obligatorios para las opciones cortas.\n"
-"\n"
-"  -C, --compendium=FICHERO   la biblioteca adicional de traducción de \n"
-"                             mensajes puede ser especificada más de una vez\n"
-"  -D, --directory=DIRECTORIO añade el DIRECTORIO a la lista de\n"
-"                             búsqueda de ficheros de entrada\n"
-"  -e, --no-escape            no utiliza escapes C en la salida (por defecto)\n"
-"  -E, --escape               utiliza escapes C en la salida, sin caracteres\n"
-"                             extendidos\n"
-"      --force-po             escribe un fichero .po incluso si está vacío\n"
-"  -h, --help                 muestra esta ayuda y finaliza\n"
-"  -i, --indent               estilo de salida con sangrías\n"
-"  -o, --output-file=FICHERO  el resultado se escribe en FICHERO\n"
-"      --no-location          no escribe líneas '#: fichero:línea'\n"
-"      --add-location         escribe líneas '#: fichero:línea' (por defecto)\n"
-"      --strict               estilo de salida Uniforum estricto\n"
-"  -v, --verbose              incrementa el nivel de mensajes\n"
-"  -V, --version              informa de la versión y finaliza\n"
-"  -w, --width=NÚMERO         ajusta la anchura de la página de salida\n"
-
-#: src/msgsed.c:514
-msgid "cannot set up nonblocking I/O to sed subprocess"
+"Merges two Uniforum style .po files together.  The def.po file is an\n"
+"existing PO file with translations which will be taken over to the newly\n"
+"created file as long as they still match; comments will be preserved,\n"
+"but extracted comments and file positions will be discarded.  The ref.pot\n"
+"file is the last created PO file with up-to-date source references but\n"
+"old translations, or a PO Template file (generally created by xgettext);\n"
+"any translations or comments in the file will be discarded, however dot\n"
+"comments and file positions will be preserved.  Where an exact match\n"
+"cannot be found, fuzzy matching is used to produce better results.\n"
 msgstr ""
+"\n"
+"Mezcla dos ficheros .po de estilo Uniforum en uno solo. El fichero def.po\n"
+"es un fichero existente de tipo .po con las traducciones anteriores que se\n"
+"conservarán siempre y cuando coincidan; los comentarios se conservarán,\n"
+"pero los comentarios extraídos y las posiciones del fichero no lo serán.\n"
+"El fichero ref.po es el último fichero .po creado (generalmente con xgettext),\n"
+"cualquier traducción o comentario se eliminará, sin embargo los comentarios\n"
+"puntuales y las posiciones dentro del fichero se conservarán. En donde no\n"
+"haya una coincidencia exacta, se utilizará el método de comparación difusa\n"
+"para obtener mejores resultados. Los resultados se escribirán en la salida\n"
+"estándar a menos que se especifique un fichero de salida.\n"
 
-#: src/msgsed.c:542
-msgid "communication with sed subprocess failed"
+#: src/msgmerge.c:395
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  def.po                      translations referring to old sources\n"
+"  ref.pot                     references to new sources\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"  -C, --compendium=FILE       additional library of message translations,\n"
+"                              may be specified more than once\n"
 msgstr ""
 
-#: src/msgsed.c:562
-msgid "write to sed subprocess failed"
+#: src/msgmerge.c:405
+#, no-wrap
+msgid ""
+"Operation mode:\n"
+"  -U, --update                update def.po,\n"
+"                              do nothing if def.po already up to date\n"
 msgstr ""
 
-#: src/msgsed.c:592
-msgid "read from sed subprocess failed"
+#: src/msgmerge.c:420
+#, no-wrap
+msgid ""
+"Output file location in update mode:\n"
+"The result is written back to def.po.\n"
+"      --backup=CONTROL        make a backup of def.po\n"
+"      --suffix=SUFFIX         override the usual backup suffix\n"
+"The version control method may be selected via the --backup option or through\n"
+"the VERSION_CONTROL environment variable.  Here are the values:\n"
+"  none, off       never make backups (even if --backup is given)\n"
+"  numbered, t     make numbered backups\n"
+"  existing, nil   numbered if numbered backups exist, simple otherwise\n"
+"  simple, never   always make simple backups\n"
+"The backup suffix is `~', unless set with --suffix or the SIMPLE_BACKUP_SUFFIX\n"
+"environment variable.\n"
+msgstr ""
+
+#: src/msgmerge.c:457
+#, no-wrap
+msgid ""
+"Informative output:\n"
+"  -h, --help                  display this help and exit\n"
+"  -V, --version               output version information and exit\n"
+"  -v, --verbose               increase verbosity level\n"
+"  -q, --quiet, --silent       suppress progress indicators\n"
 msgstr ""
 
-#: src/msgsed.c:608
+#: src/msgmerge.c:625
+#, fuzzy
+msgid "this message should define plural forms"
+msgstr "este mensaje se usa pero no está definido en %s"
+
+#: src/msgmerge.c:648
+#, fuzzy
+msgid "this message should not define plural forms"
+msgstr "este mensaje se usa pero no está definido en %s"
+
+#: src/msgmerge.c:779
 #, c-format
-msgid "sed subprocess terminated with exit code %d"
+msgid ""
+"%sRead %ld old + %ld reference, merged %ld, fuzzied %ld, missing %ld, "
+"obsolete %ld.\n"
 msgstr ""
+"%sleídos %ld mensajes antiguos + %ld mensajes de referencia\n"
+"incorporados %ld, convertidos en difusos %ld, faltan %ld, obsoletos %ld.\n"
 
-#: src/msgunfmt.c:224
+# Porque no mejor poner simplemente 'fin'? mm++
+#: src/msgmerge.c:787
+msgid " done.\n"
+msgstr " terminado.\n"
+
+#: src/msgunfmt.c:201
+#, fuzzy, c-format
+msgid "%s and explicit file names are mutually exclusive"
+msgstr "%s y %s son mutuamente excluyentes"
+
+#: src/msgunfmt.c:267
 #, c-format, no-wrap
 msgid "Usage: %s [OPTION] [FILE]...\n"
 msgstr ""
 
-#: src/msgunfmt.c:229
+#: src/msgunfmt.c:272
 #, no-wrap
 msgid "Convert binary message catalog to Uniforum style .po file.\n"
 msgstr ""
 
-#: src/msgunfmt.c:239
+#: src/msgunfmt.c:282
+#, no-wrap
+msgid ""
+"Operation mode:\n"
+"  -j, --java               Java mode: generate a Java ResourceBundle class\n"
+msgstr ""
+
+#: src/msgunfmt.c:288
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -1390,7 +1924,17 @@ msgid ""
 "If no input file is given or if it is -, standard input is read.\n"
 msgstr ""
 
-#: src/msgunfmt.c:246
+#: src/msgunfmt.c:295
+#, no-wrap
+msgid ""
+"Input file location in Java mode:\n"
+"  -r, --resource=RESOURCE  resource name\n"
+"  -l, --locale=LOCALE      locale name, either language or language_COUNTRY\n"
+"The class name is determined by appending the locale name to the resource name,\n"
+"separated with an underscore.  The class is located using the CLASSPATH.\n"
+msgstr ""
+
+#: src/msgunfmt.c:304
 #, no-wrap
 msgid ""
 "Output file location:\n"
@@ -1399,7 +1943,7 @@ msgid ""
 "or if it is -.\n"
 msgstr ""
 
-#: src/msgunfmt.c:254
+#: src/msgunfmt.c:312
 #, fuzzy, no-wrap
 msgid ""
 "Output details:\n"
@@ -1409,7 +1953,7 @@ msgid ""
 "  -i, --indent             write indented output style\n"
 "      --strict             write strict uniforum style\n"
 "  -w, --width=NUMBER       set output page width\n"
-"  -s, --sort-output        generate sorted output and remove duplicates\n"
+"  -s, --sort-output        generate sorted output\n"
 msgstr ""
 "Modo de empleo: %s [OPCIÓN] [FICHERO]...\n"
 "Los argumentos obligatorios para las opciones largas también son\n"
@@ -1426,45 +1970,42 @@ msgstr ""
 "  -V, --version             informa de la versión y finaliza\n"
 "  -w, --width=NÚMERO        ajusta la anchura de la página de salida\n"
 
-#: src/msgunfmt.c:266
+#: src/msgunfmt.c:324
 #, no-wrap
 msgid ""
 "Informative output:\n"
 "  -h, --help               display this help and exit\n"
 "  -V, --version            output version information and exit\n"
+"  -v, --verbose            increase verbosity level\n"
 msgstr ""
 
-#: src/msgunfmt.c:294 src/msgunfmt.c:359 src/po-lex.c:213 src/xget-lex.c:245
-#, c-format
-msgid "error while reading \"%s\""
-msgstr "error al leer \"%s\""
-
-#: src/msgunfmt.c:295 src/msgunfmt.c:360
-#, c-format
-msgid "file \"%s\" truncated"
-msgstr "el fichero \"%s\" está truncado"
-
-#: src/msgunfmt.c:326
-#, c-format
-msgid "seek \"%s\" offset %ld failed"
-msgstr "fallo en la lectura \"%s\" en la posición (offset) %ld"
-
-#: src/msgunfmt.c:365
-#, c-format
-msgid "file \"%s\" contains a not NUL terminated string"
-msgstr "el fichero \"%s\" contiene una cadena no terminada en NUL"
+#: src/msguniq.c:279
+#, no-wrap
+msgid ""
+"Unifies duplicate translations in a translation catalog.\n"
+"Finds duplicate translations of the same message ID.  Such duplicates are\n"
+"invalid input for other programs like msgfmt, msgmerge or msgcat.  By\n"
+"default, duplicates are merged together.  When using the --repeated option,\n"
+"only duplicates are output, and all other messages are discarded.  Comments\n"
+"and extracted comments will be cumulated, except that if --use-first is\n"
+"specified, they will be taken from the first translation.  File positions\n"
+"will be cumulated.  When using the --unique option, duplicates are discarded.\n"
+msgstr ""
 
-#: src/msgunfmt.c:410
-#, c-format
-msgid "file \"%s\" is not in GNU .mo format"
-msgstr "el fichero \"%s\" no está en el formato .mo de GNU"
+#: src/msguniq.c:312
+#, no-wrap
+msgid ""
+"Message selection:\n"
+"  -d, --repeated                 print only duplicates\n"
+"  -u, --unique                   print only unique messages, discard duplicates\n"
+msgstr ""
 
-#: src/ngettext.c:213
+#: src/ngettext.c:215
 #, c-format, no-wrap
 msgid "Usage: %s [OPTION] [TEXTDOMAIN] MSGID MSGID-PLURAL COUNT\n"
 msgstr ""
 
-#: src/ngettext.c:218
+#: src/ngettext.c:220
 #, no-wrap
 msgid ""
 "Display native language translation of a textual message whose grammatical\n"
@@ -1484,7 +2025,7 @@ msgstr ""
 # Prefiero que se quede como está, pues aunque se repite muestra,
 # es en otra opción en donde aparece. mm
 #
-#: src/ngettext.c:223
+#: src/ngettext.c:225
 #, fuzzy, no-wrap
 msgid ""
 "  -d, --domain=TEXTDOMAIN   retrieve translated message from TEXTDOMAIN\n"
@@ -1510,7 +2051,7 @@ msgstr ""
 
 # Nota: TEXTDOMAIN y TEXTDOMAINDIR son variables de entorno, por lo tanto
 # no se pueden traducir (cuando se refieren a las variables, claro está).
-#: src/ngettext.c:234
+#: src/ngettext.c:236
 #, fuzzy, c-format, no-wrap
 msgid ""
 "If the TEXTDOMAIN parameter is not given, the domain is determined from the\n"
@@ -1526,17 +2067,17 @@ msgstr ""
 "puede especificar otro lugar.\n"
 "Directorio de búsqueda estándar: %s\n"
 
-#: src/open-po.c:64
+#: src/open-po.c:69
 msgid "<stdin>"
 msgstr "<stdin>"
 
-#: src/po-charset.c:145 src/po-charset.c:213 src/po-charset.c:239
-#: src/po-charset.c:265
+#: src/po-charset.c:172 src/po-charset.c:240 src/po-charset.c:268
+#: src/po-charset.c:294
 #, c-format
 msgid "%s: warning: "
 msgstr "%s: atención: "
 
-#: src/po-charset.c:146
+#: src/po-charset.c:173
 #, c-format
 msgid ""
 "Charset \"%s\" is not a portable encoding name.\n"
@@ -1546,15 +2087,15 @@ msgstr ""
 "La conversión de mensajes al conjunto de caracteres del usuario podría no "
 "funcionar.\n"
 
-#: src/po-charset.c:209 src/po-charset.c:237
+#: src/po-charset.c:236 src/po-charset.c:266
 msgid "Continuing anyway, expect parse errors."
 msgstr "Se continúa de todas formas, aunque habrá errores de parseo."
 
-#: src/po-charset.c:211
+#: src/po-charset.c:238
 msgid "Continuing anyway."
 msgstr "Se continúa de todas formas."
 
-#: src/po-charset.c:214
+#: src/po-charset.c:241
 #, c-format
 msgid ""
 "Charset \"%s\" is not supported. %s relies on iconv(),\n"
@@ -1563,7 +2104,7 @@ msgstr ""
 "El conjunto de caracteres \"%s\" no está soportado. %s se basa en iconv(),\n"
 "e iconv() no soporta \"%s\".\n"
 
-#: src/po-charset.c:223 src/po-charset.c:247
+#: src/po-charset.c:250 src/po-charset.c:276
 msgid ""
 "Installing GNU libiconv and then reinstalling GNU gettext\n"
 "would fix this problem.\n"
@@ -1571,12 +2112,12 @@ msgstr ""
 "Instalando GNU libiconv y luego reinstalando GNU gettext\n"
 "podría arreglar este problema.\n"
 
-#: src/po-charset.c:228 src/po-charset.c:251
+#: src/po-charset.c:255 src/po-charset.c:280
 #, c-format
 msgid "%s\n"
 msgstr "%s\n"
 
-#: src/po-charset.c:240
+#: src/po-charset.c:269
 #, c-format
 msgid ""
 "Charset \"%s\" is not supported. %s relies on iconv().\n"
@@ -1585,7 +2126,7 @@ msgstr ""
 "El conjunto de caracteres \"%s\" no está soportado. %s se basa en iconv().\n"
 "Esta versión fue construida sin iconv().\n"
 
-#: src/po-charset.c:266
+#: src/po-charset.c:295
 msgid ""
 "Charset missing in header.\n"
 "Message conversion to user's charset will not work.\n"
@@ -1594,27 +2135,27 @@ msgstr ""
 "La conversión de mensajes al conjunto de caracteres del usuario no "
 "funcionará.\n"
 
-#: po-gram-gen.y:88
+#: po-gram-gen.y:91
 msgid "inconsistent use of #~"
 msgstr "uso inconsistente de #~"
 
-#: po-gram-gen.y:178
+#: po-gram-gen.y:181
 msgid "missing `msgstr[]' section"
 msgstr "no hay sección `msgstr'"
 
-#: po-gram-gen.y:186
+#: po-gram-gen.y:189
 msgid "missing `msgid_plural' section"
 msgstr "no hay sección `msgstr'"
 
-#: po-gram-gen.y:193
+#: po-gram-gen.y:196
 msgid "missing `msgstr' section"
 msgstr "no hay sección `msgstr'"
 
-#: po-gram-gen.y:238
+#: po-gram-gen.y:241
 msgid "first plural form has nonzero index"
 msgstr "la primera forma del plural tiene un índice distinto a cero"
 
-#: po-gram-gen.y:240
+#: po-gram-gen.y:243
 msgid "plural form has wrong index"
 msgstr "la primera forma del plural tiene un índice incorrecto"
 
@@ -1651,35 +2192,106 @@ msgstr "la primera forma del plural tiene un 
 # 20071996sv: Eso no seguiría la regla implícita de que el programa no debe
 # hablar en primera persona sino en estilo impersonal.
 # (Esta regla estará en el manual de Enrique, con toda seguridad).
-#. CAUTION: If you change this macro, you must also make identical
-#. changes to the function of the same name in src/po-lex.c
-#: src/po-lex.c:152 src/po-lex.c:195 src/po-lex.h:77 src/po-lex.h:93
-#: src/po-lex.h:111 src/po-lex.h:127
+#: src/po-lex.h:91 src/po-lex.h:106 src/po-lex.h:126 src/po-lex.h:141
+#: src/po-lex.c:135 src/po-lex.c:176
 msgid "too many errors, aborting"
 msgstr "demasiados errores, programa interrumpido"
 
-#: src/po-lex.c:271
+#: src/po-lex.c:545 src/write-po.c:331 src/write-po.c:421
+msgid "invalid multibyte sequence"
+msgstr "sucesión de multibyte inválida"
+
+#: src/po-lex.c:571
+#, fuzzy
+msgid "incomplete multibyte sequence at end of file"
+msgstr "sucesión de multibyte inválida"
+
+#: src/po-lex.c:581
+#, fuzzy
+msgid "incomplete multibyte sequence at end of line"
+msgstr "sucesión de multibyte inválida"
+
+#: src/po-lex.c:589
+msgid "iconv failure"
+msgstr ""
+
+#: src/po-lex.c:763 src/read-mo.c:70 src/read-mo.c:135 src/x-c.c:216
+#: src/x-rst.c:227 src/x-ycp.c:103
+#, c-format
+msgid "error while reading \"%s\""
+msgstr "error al leer \"%s\""
+
+#: src/po-lex.c:829
 #, c-format
 msgid "keyword \"%s\" unknown"
 msgstr "palabra clave \"%s\" desconocida"
 
-#: src/po-lex.c:374
+#: src/po-lex.c:939
 msgid "invalid control sequence"
 msgstr "secuencia de control ilegal"
 
-#: src/po-lex.c:477
+#: src/po-lex.c:1047
 msgid "end-of-file within string"
 msgstr "fin de fichero dentro de una cadena"
 
-#: src/po-lex.c:482
+#: src/po-lex.c:1053
 msgid "end-of-line within string"
 msgstr "fin de línea dentro de una cadena"
 
-#: src/po-lex.c:525 src/write-po.c:291 src/write-po.c:373
-msgid "invalid multibyte sequence"
-msgstr "sucesión de multibyte inválida"
+#: src/read-mo.c:71 src/read-mo.c:136
+#, c-format
+msgid "file \"%s\" truncated"
+msgstr "el fichero \"%s\" está truncado"
+
+#: src/read-mo.c:102
+#, c-format
+msgid "seek \"%s\" offset %ld failed"
+msgstr "fallo en la lectura \"%s\" en la posición (offset) %ld"
+
+#: src/read-mo.c:141
+#, c-format
+msgid "file \"%s\" contains a not NUL terminated string"
+msgstr "el fichero \"%s\" contiene una cadena no terminada en NUL"
+
+#: src/read-mo.c:186
+#, c-format
+msgid "file \"%s\" is not in GNU .mo format"
+msgstr "el fichero \"%s\" no está en el formato .mo de GNU"
+
+#: src/write-java.c:1108
+msgid "cannot find a temporary directory, try setting $TMPDIR"
+msgstr ""
+
+#: src/write-java.c:1118
+#, fuzzy, c-format
+msgid "cannot create a temporary directory using template \"%s\""
+msgstr "no se puede crear el fichero de salida \"%s\""
+
+#: src/write-java.c:1131
+#, c-format
+msgid "not a valid Java class name: %s"
+msgstr ""
+
+#: src/write-java.c:1188 src/write-java.c:1201
+#, c-format
+msgid "failed to create \"%s\""
+msgstr ""
+
+#: src/write-java.c:1209 src/write-mo.c:289 src/write-po.c:966
+#, c-format
+msgid "error while writing \"%s\" file"
+msgstr "hubo un error al escribir el fichero \"%s\""
 
-#: src/write-po.c:322
+#: src/write-java.c:1223
+msgid "compilation of Java class failed, please try --verbose or set $JAVAC"
+msgstr ""
+
+#: src/write-mo.c:277
+#, c-format
+msgid "error while opening \"%s\" for writing"
+msgstr "error al abrir el fichero \"%s\" para escritura"
+
+#: src/write-po.c:370
 #, c-format
 msgid ""
 "internationalized messages should not contain the `\\%c' escape sequence"
@@ -1687,71 +2299,115 @@ msgstr ""
 "Los mensajes internacionalizados no deben contener la secuencia de escape `\\"
 "%c'"
 
-#: src/write-po.c:816
+#: src/write-po.c:724 src/write-po.c:818
+#, c-format
+msgid ""
+"The following msgid contains non-ASCII characters.\n"
+"This will cause problems to translators who use a character encoding\n"
+"different from yours. Consider using a pure ASCII msgid instead.\n"
+"%s\n"
+msgstr ""
+
+#: src/write-po.c:885
 #, c-format
 msgid "cannot create output file \"%s\""
 msgstr "no se puede crear el fichero de salida \"%s\""
 
-#: src/write-po.c:823
+#: src/write-po.c:892
 #, no-c-format
 msgid "standard output"
 msgstr "salida estándar"
 
-#: src/write-po.c:893
-#, c-format
-msgid "error while writing \"%s\" file"
-msgstr "hubo un error al escribir el fichero \"%s\""
-
-#: src/xget-lex.c:150
-msgid "standard input"
-msgstr "entrada estándar"
-
-#: src/xget-lex.c:879
+#: src/x-c.c:858
 #, c-format
 msgid "%s:%d: warning: unterminated character constant"
 msgstr "%s:%d: atención: constante de tipo carácter no finalizada"
 
-#: src/xget-lex.c:903
+#: src/x-c.c:882
 #, c-format
 msgid "%s:%d: warning: unterminated string literal"
 msgstr "%s:%d: atención: literal de cadena no finalizada"
 
-#. We are about to construct the absolute path to the
-#. directory for the output files but asprintf failed.
-#: src/xgettext.c:325 src/xgettext.c:1368
-msgid "while preparing output"
-msgstr "mientras se preparaba la salida"
+# sospecho que lo que en realidad ocurre es que "no debe". sv
+# Miraremos el código fuente. sv
+#
+# ok. aquí está el fuente. Tengo la impresión de que estoy en
+# lo correcto: es decir que es necesario que tenga al menos
+# una instrucción de dominio.
+# por cierto traduje directive por instrucción aunque con las
+# series de TV gringas acostumbran mal traducir a "directivas". mm.
+#
+# exclude_directive_domain (pop, name)
+#     po_ty *pop;
+#     char *name;
+# {
+#   po_gram_error (_("this file may not contain domain directives"));
+# }
+#
+# Me lo pones más claro: el mensaje está dentro de una función llamada
+# "exclude_directive_domain". Probablemente porque *no* debe haber
+# "domain directives", no porque posiblemente no las haya.
+#
+# Por eso creo que en este caso, como en algunos otros, "may not"
+# significa "should not".
+#
+# Sigo pensando igual que antes, aunque no estoy seguro del todo. sv
+# ¿Qué opinas Enrique? mm
+# Pues después de ver los fuentes no consigo estar seguro. Pero
+# definitivamente no optaría por 'no debería' , sino por 'no puede' , por
+# el nombre de la función está claro que es lo que se pretende.  Afortunada-
+# mente el verbo poder en Castellano es mucho más flexible que en otros
+# idiomas. De todas maneras siempre se puede mirar otras traducciones.  em
+# ok. Acepto en 'no puede' a reserva de encontrar nuevos argumentos. mm
+#: src/x-po.c:106 src/xgettext.c:605
+msgid "this file may not contain domain directives"
+msgstr "este fichero no puede contener instrucciones de dominio"
+
+#: src/x-rst.c:108
+#, c-format
+msgid "%s:%d: invalid string definition"
+msgstr ""
+
+#: src/x-rst.c:168
+#, c-format
+msgid "%s:%d: missing number after #"
+msgstr ""
+
+#: src/x-rst.c:203
+#, c-format
+msgid "%s:%d: invalid string expression"
+msgstr ""
 
-#: src/xgettext.c:371
+#: src/xgettext.c:375
 msgid "--join-existing cannot be used when output is written to stdout"
 msgstr ""
 "no se puede utilizar --join-existing cuando el resultado se escribe en la\n"
 "salida estándar (stdout)"
 
-#: src/xgettext.c:376
+#: src/xgettext.c:380
 msgid "xgettext cannot work without keywords to look for"
 msgstr "xgettext no puede funcionar sin palabras claves que buscar"
 
-#: src/xgettext.c:482
+#: src/xgettext.c:468
 #, c-format
 msgid "warning: file `%s' extension `%s' is unknown; will try C"
 msgstr ""
 "atención: el fichero `%s' con extensión `%s'\n"
 "es desconocido; se intentará tipo C"
 
-#: src/xgettext.c:523
+#: src/xgettext.c:509
 #, no-wrap
 msgid "Extract translatable strings from given input files.\n"
 msgstr ""
 
-#: src/xgettext.c:528
+#: src/xgettext.c:514
 #, no-wrap
 msgid ""
 "Mandatory arguments to long options are mandatory for short options too.\n"
 "Similarly for optional arguments.\n"
 msgstr ""
 
-#: src/xgettext.c:543
+#: src/xgettext.c:529
 #, no-wrap
 msgid ""
 "Output file location:\n"
@@ -1761,16 +2417,17 @@ msgid ""
 "If output file is -, output is written to standard output.\n"
 msgstr ""
 
-#: src/xgettext.c:552
+#: src/xgettext.c:538
 #, no-wrap
 msgid ""
 "Choice of input file language:\n"
-"  -L, --language=NAME            recognise the specified language (C, C++, PO)\n"
+"  -L, --language=NAME            recognise the specified language\n"
+"                                   (C, C++, ObjectiveC, PO, Java, YCP)\n"
 "  -C, --c++                      shorthand for --language=C++\n"
 "By default the language is guessed depending on the input file name extension.\n"
 msgstr ""
 
-#: src/xgettext.c:560
+#: src/xgettext.c:547
 #, no-wrap
 msgid ""
 "Operation mode:\n"
@@ -1780,7 +2437,7 @@ msgid ""
 "                                 preceding keyword lines) in output file\n"
 msgstr ""
 
-#: src/xgettext.c:569
+#: src/xgettext.c:556
 #, no-wrap
 msgid ""
 "Language=C/C++ specific options:\n"
@@ -1791,8 +2448,11 @@ msgid ""
 "      --debug                    more detailed formatstring recognition result\n"
 msgstr ""
 
-#: src/xgettext.c:579
-#, no-wrap
+# Lo mismo en ' informa de la versión...' em
+# Obligatorios.. obligatorios , queda un poco feo. Si lo que se pretende
+# es ser fiel al original, pon 'son tambien obligatorios para...' em+
+#: src/xgettext.c:566
+#, fuzzy, no-wrap
 msgid ""
 "Output details:\n"
 "  -e, --no-escape                do not use C escapes in output (default)\n"
@@ -1803,31 +2463,67 @@ msgid ""
 "  -n, --add-location             generate '#: filename:line' lines (default)\n"
 "      --strict                   write out strict Uniforum conforming .po file\n"
 "  -w, --width=NUMBER             set output page width\n"
-"  -s, --sort-output              generate sorted output and remove duplicates\n"
+"  -s, --sort-output              generate sorted output\n"
 "  -F, --sort-by-file             sort output by file location\n"
 "      --omit-header              don't write header with `msgid \"\"' entry\n"
 "      --foreign-user             omit FSF copyright in output for foreign user\n"
 "  -m, --msgstr-prefix[=STRING]   use STRING or \"\" as prefix for msgstr entries\n"
 "  -M, --msgstr-suffix[=STRING]   use STRING or \"\" as suffix for msgstr entries\n"
 msgstr ""
+"Modo de empleo: %s [OPCIÓN] def.po ref.po\n"
+"Los argumentos obligatorios para las opciones largas también son\n"
+"obligatorios para las opciones cortas.\n"
+"\n"
+"  -C, --compendium=FICHERO   la biblioteca adicional de traducción de \n"
+"                             mensajes puede ser especificada más de una vez\n"
+"  -D, --directory=DIRECTORIO añade el DIRECTORIO a la lista de\n"
+"                             búsqueda de ficheros de entrada\n"
+"  -e, --no-escape            no utiliza escapes C en la salida (por defecto)\n"
+"  -E, --escape               utiliza escapes C en la salida, sin caracteres\n"
+"                             extendidos\n"
+"      --force-po             escribe un fichero .po incluso si está vacío\n"
+"  -h, --help                 muestra esta ayuda y finaliza\n"
+"  -i, --indent               estilo de salida con sangrías\n"
+"  -o, --output-file=FICHERO  el resultado se escribe en FICHERO\n"
+"      --no-location          no escribe líneas '#: fichero:línea'\n"
+"      --add-location         escribe líneas '#: fichero:línea' (por defecto)\n"
+"      --strict               estilo de salida Uniforum estricto\n"
+"  -v, --verbose              incrementa el nivel de mensajes\n"
+"  -V, --version              informa de la versión y finaliza\n"
+"  -w, --width=NÚMERO         ajusta la anchura de la página de salida\n"
 
-#: src/xgettext.c:945
-#, c-format
-msgid "%s:%d: warning: keyword nested in keyword arg"
-msgstr "%s:%d: atención: palabra clave anidada en su propio argumento"
+#: src/xgettext.c:720
+msgid "standard input"
+msgstr "entrada estándar"
 
-#: src/xgettext.c:957
-#, c-format
-msgid "%s:%d: warning: keyword between outer keyword and its arg"
+#: src/xgettext.c:830
+msgid ""
+"Empty msgid.  It is reserved by GNU gettext:\n"
+"gettext(\"\") returns the header entry with\n"
+"meta information, not the empty string.\n"
 msgstr ""
-"%s:%d: atención: hay una palabra clave entre la palabra clave externa y su "
-"argumento"
 
-#: src/xgettext.c:1446
+#: src/xgettext.c:1099
 #, c-format
 msgid "language `%s' unknown"
 msgstr "lenguaje `%s' desconocido"
 
+#~ msgid "while creating hash table"
+#~ msgstr "mientras se creaba la tabla de `hash'"
+
+#, fuzzy
+#~ msgid "%s:%lu: warning: keyword nested in keyword arg"
+#~ msgstr "%s:%d: atención: palabra clave anidada en su propio argumento"
+
+#, fuzzy
+#~ msgid "%s:%lu: warning: keyword between outer keyword and its arg"
+#~ msgstr ""
+#~ "%s:%d: atención: hay una palabra clave entre la palabra clave externa y "
+#~ "su argumento"
+
+#~ msgid "while preparing output"
+#~ msgstr "mientras se preparaba la salida"
+
 #~ msgid "this message has no definition in the \"%s\" domain"
 #~ msgstr "este mensaje no tiene definición en el dominio \"%s\""
 
@@ -1839,10 +2535,14 @@ msgstr "lenguaje `%s' desconocido"
 #~ msgid ""
 #~ "Usage: %s [OPTION] INPUTFILE ...\n"
 #~ "Mandatory arguments to long options are mandatory for short options too.\n"
-#~ "  -d, --default-domain=NAME      use NAME.po for output (instead of messages.po)\n"
-#~ "  -D, --directory=DIRECTORY      add DIRECTORY to list for input files search\n"
-#~ "  -e, --no-escape                do not use C escapes in output (default)\n"
-#~ "  -E, --escape                   use C escapes in output, no extended chars\n"
+#~ "  -d, --default-domain=NAME      use NAME.po for output (instead of "
+#~ "messages.po)\n"
+#~ "  -D, --directory=DIRECTORY      add DIRECTORY to list for input files "
+#~ "search\n"
+#~ "  -e, --no-escape                do not use C escapes in output "
+#~ "(default)\n"
+#~ "  -E, --escape                   use C escapes in output, no extended "
+#~ "chars\n"
 #~ "  -f, --files-from=FILE          get list of input files from FILE\n"
 #~ "      --force-po                 write PO file even if empty\n"
 #~ "  -F, --sort-by-file             sort output by file location\n"
@@ -1851,18 +2551,24 @@ msgstr "lenguaje `%s' desconocido"
 #~ "Modo de empleo: %s [OPCIÓN] FICHERO ...\n"
 #~ "Los argumentos obligatorios para las opciones largas también son\n"
 #~ "obligatorios para las opciones cortas.\n"
-#~ "  -d, --default-domain=NOMBRE    utiliza NOMBRE.po para la salida (en vez\n"
+#~ "  -d, --default-domain=NOMBRE    utiliza NOMBRE.po para la salida (en "
+#~ "vez\n"
 #~ "                                 de messages.po)\n"
 #~ "  -D, --directory=DIRECTORIO     añade el DIRECTORIO a la lista de\n"
 #~ "                                 búsqueda de ficheros de entrada\n"
-#~ "  -e, --no-escape                no utiliza secuencias de escape tipo C en\n"
+#~ "  -e, --no-escape                no utiliza secuencias de escape tipo C "
+#~ "en\n"
 #~ "                                 la salida (opción por defecto)\n"
-#~ "  -E, --escape                   utiliza secuencias de escape tipo C en la\n"
+#~ "  -E, --escape                   utiliza secuencias de escape tipo C en "
+#~ "la\n"
 #~ "                                 salida, sin caracteres extendidos\n"
-#~ "  -f, --files-from=FICHERO       obtiene la lista de los ficheros de entrada\n"
+#~ "  -f, --files-from=FICHERO       obtiene la lista de los ficheros de "
+#~ "entrada\n"
 #~ "                                 de FICHERO\n"
-#~ "      --force-po                 escribe un fichero .po incluso si está vacío\n"
-#~ "  -F, --sort-by-file             ordena la salida por ubicación del fichero\n"
+#~ "      --force-po                 escribe un fichero .po incluso si está "
+#~ "vacío\n"
+#~ "  -F, --sort-by-file             ordena la salida por ubicación del "
+#~ "fichero\n"
 #~ "  -h, --help                     muestra esta ayuda y finaliza\n"
 
 # 19071996cb:   --omit-header    no escribe la cabecera para la entrada
@@ -1955,12 +2661,16 @@ msgstr "lenguaje `%s' desconocido"
 #~ "Generate binary message catalog from textual translation description.\n"
 #~ "\n"
 #~ "Mandatory arguments to long options are mandatory for short options too.\n"
-#~ "  -a, --alignment=NUMBER      align strings to NUMBER bytes (default: %d)\n"
-#~ "  -c, --check                 perform language dependent checks on strings\n"
-#~ "  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+#~ "  -a, --alignment=NUMBER      align strings to NUMBER bytes (default: %"
+#~ "d)\n"
+#~ "  -c, --check                 perform language dependent checks on "
+#~ "strings\n"
+#~ "  -D, --directory=DIRECTORY   add DIRECTORY to list for input files "
+#~ "search\n"
 #~ "  -f, --use-fuzzy             use fuzzy entries in output\n"
 #~ "  -h, --help                  display this help and exit\n"
-#~ "      --no-hash               binary file will not include the hash table\n"
+#~ "      --no-hash               binary file will not include the hash "
+#~ "table\n"
 #~ "  -o, --output-file=FILE      specify output file name as FILE\n"
 #~ "      --statistics            print statistics about translations\n"
 #~ "      --strict                enable strict Uniforum mode\n"
@@ -1986,17 +2696,22 @@ msgstr "lenguaje `%s' desconocido"
 #~ "                             búsqueda de ficheros de entrada\n"
 #~ "  -f, --use-fuzzy            utiliza líneas difusas en la salida\n"
 #~ "  -h, --help                 muestra esta ayuda y finaliza\n"
-#~ "      --no-hash              el fichero binario no incluirá la tabla de `hash'\n"
+#~ "      --no-hash              el fichero binario no incluirá la tabla de "
+#~ "`hash'\n"
 #~ "  -o, --output-file=FICHERO  indica que el nombre del fichero de salida\n"
 #~ "                             será FICHERO\n"
 #~ "      --statistics           muestra estadísticas sobre las traducciones\n"
 #~ "      --strict               habilita el modo estricto de Uniforum\n"
-#~ "  -v, --verbose              muestra las anomalías del fichero de entrada\n"
-#~ "  -V, --version              informa de la versión del programa y finaliza\n"
+#~ "  -v, --verbose              muestra las anomalías del fichero de "
+#~ "entrada\n"
+#~ "  -V, --version              informa de la versión del programa y "
+#~ "finaliza\n"
 #~ "\n"
-#~ "Si se pone un argumento superior a uno en la opción -v, se incrementa el nivel de detalle\n"
+#~ "Si se pone un argumento superior a uno en la opción -v, se incrementa el "
+#~ "nivel de detalle\n"
 #~ "\n"
-#~ "Si el fichero de entrada es -, se lee de la entrada estándar. Si el fichero\n"
+#~ "Si el fichero de entrada es -, se lee de la entrada estándar. Si el "
+#~ "fichero\n"
 #~ "de salida es -, el resultado se escribe en la salida estándar.\n"
 #~ "\n"
 
@@ -2024,7 +2739,8 @@ msgstr "lenguaje `%s' desconocido"
 #~ "\n"
 #~ "Convierte ficheros binarios .mo en ficheros .po estilo Uniforum.\n"
 #~ "Pueden procesarse ficheros .mo little-endian y big-endian.\n"
-#~ "Si no se da ningún fichero de entrada o es -, se lee de la entrada estándar.\n"
+#~ "Si no se da ningún fichero de entrada o es -, se lee de la entrada "
+#~ "estándar.\n"
 #~ "Por defecto el resultado se escribe en la salida estándar.\n"
 
 # Otra cosa: La línea del debug (la nueva) creo que es demasiado larga.
@@ -2041,14 +2757,20 @@ msgstr "lenguaje `%s' desconocido"
 #~ "  -c, --add-comments[=TAG]       place comment block with TAG (or those\n"
 #~ "                                 preceding keyword lines) in output file\n"
 #~ "  -C, --c++                      shorthand for --language=C++\n"
-#~ "      --debug                    more detailed formatstring recognision result\n"
-#~ "  -d, --default-domain=NAME      use NAME.po for output (instead of messages.po)\n"
-#~ "  -D, --directory=DIRECTORY      add DIRECTORY to list for input files search\n"
-#~ "  -e, --no-escape                do not use C escapes in output (default)\n"
-#~ "  -E, --escape                   use C escapes in output, no extended chars\n"
+#~ "      --debug                    more detailed formatstring recognision "
+#~ "result\n"
+#~ "  -d, --default-domain=NAME      use NAME.po for output (instead of "
+#~ "messages.po)\n"
+#~ "  -D, --directory=DIRECTORY      add DIRECTORY to list for input files "
+#~ "search\n"
+#~ "  -e, --no-escape                do not use C escapes in output "
+#~ "(default)\n"
+#~ "  -E, --escape                   use C escapes in output, no extended "
+#~ "chars\n"
 #~ "  -f, --files-from=FILE          get list of input files from FILE\n"
 #~ "      --force-po                 write PO file even if empty\n"
-#~ "      --foreign-user             omit FSF copyright in output for foreign user\n"
+#~ "      --foreign-user             omit FSF copyright in output for foreign "
+#~ "user\n"
 #~ "  -F, --sort-by-file             sort output by file location\n"
 #~ msgstr ""
 #~ "Modo de empleo: %s [OPCIÓN] FICHERO ...\n"
@@ -2062,45 +2784,63 @@ msgstr "lenguaje `%s' desconocido"
 #~ "                                 líneas de palabras clave) en el fichero\n"
 #~ "                                 de salida\n"
 #~ "  -C, --c++                      abreviatura de --language=C++\n"
-#~ "      --debug                    el resultado de la etapa de reconocimiento\n"
-#~ "                                 de las cadenas de formato se escribe en forma\n"
+#~ "      --debug                    el resultado de la etapa de "
+#~ "reconocimiento\n"
+#~ "                                 de las cadenas de formato se escribe en "
+#~ "forma\n"
 #~ "                                 detallada\n"
-#~ "  -d, --default-domain=NOMBRE    utiliza NOMBRE.po para la salida (en vez\n"
+#~ "  -d, --default-domain=NOMBRE    utiliza NOMBRE.po para la salida (en "
+#~ "vez\n"
 #~ "                                 de messages.po)\n"
 #~ "  -D, --directory=DIRECTORIO     añade el DIRECTORIO a la lista de\n"
 #~ "                                 búsqueda de ficheros de entrada\n"
-#~ "  -e, --no-escape                no utiliza secuencias de escape tipo C en\n"
+#~ "  -e, --no-escape                no utiliza secuencias de escape tipo C "
+#~ "en\n"
 #~ "                                 la salida (opción por defecto)\n"
-#~ "  -E, --escape                   utiliza secuencias de escape tipo C en la\n"
+#~ "  -E, --escape                   utiliza secuencias de escape tipo C en "
+#~ "la\n"
 #~ "                                 salida, sin caracteres extendidos\n"
-#~ "  -f, --files-from=FICHERO       obtiene la lista de los ficheros de entrada\n"
+#~ "  -f, --files-from=FICHERO       obtiene la lista de los ficheros de "
+#~ "entrada\n"
 #~ "                                 de FICHERO\n"
-#~ "      --force-po                 escribe un fichero .po incluso si está vacío\n"
-#~ "      --foreign-user             no muestra el copyright de FSF para usuarios\n"
+#~ "      --force-po                 escribe un fichero .po incluso si está "
+#~ "vacío\n"
+#~ "      --foreign-user             no muestra el copyright de FSF para "
+#~ "usuarios\n"
 #~ "                                 no ingleses\n"
-#~ "  -F, --sort-by-file             ordena la salida por ubicación del fichero\n"
+#~ "  -F, --sort-by-file             ordena la salida por ubicación del "
+#~ "fichero\n"
 
 #~ msgid ""
 #~ "  -h, --help                     display this help and exit\n"
 #~ "  -i, --indent                   write the .po file using indented style\n"
 #~ "  -j, --join-existing            join messages with existing file\n"
-#~ "  -k, --keyword[=WORD]           additonal keyword to be looked for (without\n"
+#~ "  -k, --keyword[=WORD]           additonal keyword to be looked for "
+#~ "(without\n"
 #~ "                                 WORD means not to use default keywords)\n"
-#~ "  -L, --language=NAME            recognise the specified language (C, C++, PO),\n"
-#~ "                                 otherwise is guessed from file extension\n"
-#~ "  -m, --msgstr-prefix[=STRING]   use STRING or \"\" as prefix for msgstr entries\n"
-#~ "  -M, --msgstr-suffix[=STRING]   use STRING or \"\" as suffix for msgstr entries\n"
+#~ "  -L, --language=NAME            recognise the specified language (C, C+"
+#~ "+, PO),\n"
+#~ "                                 otherwise is guessed from file "
+#~ "extension\n"
+#~ "  -m, --msgstr-prefix[=STRING]   use STRING or \"\" as prefix for msgstr "
+#~ "entries\n"
+#~ "  -M, --msgstr-suffix[=STRING]   use STRING or \"\" as suffix for msgstr "
+#~ "entries\n"
 #~ "      --no-location              do not write '#: filename:line' lines\n"
 #~ msgstr ""
 #~ "  -h, --help                     muestra esta ayuda y finaliza\n"
 #~ "  -i, --indent                   escribe el fichero .po utilizando el\n"
 #~ "                                 estilo de sangrías\n"
-#~ "  -j, --join-existing            une los mensajes con el fichero existente\n"
+#~ "  -j, --join-existing            une los mensajes con el fichero "
+#~ "existente\n"
 #~ "  -k, --keyword[=PALABRA]        busca palabras claves adicionales (sin\n"
-#~ "                                 PALABRA significa que no utilice las palabras\n"
+#~ "                                 PALABRA significa que no utilice las "
+#~ "palabras\n"
 #~ "                                 clave por defecto)\n"
-#~ "  -L, --language=NOMBRE          reconoce el lenguaje especificado (C, C++, PO),\n"
-#~ "                                 de otra forma, se supone por medio de la\n"
+#~ "  -L, --language=NOMBRE          reconoce el lenguaje especificado (C, C+"
+#~ "+, PO),\n"
+#~ "                                 de otra forma, se supone por medio de "
+#~ "la\n"
 #~ "                                 extensión del fichero\n"
 #~ "  -m, --msgstr-prefix[=CADENA]   usa CADENA o \"\" como prefijo para las\n"
 #~ "                                 entradas msgstr\n"
@@ -2117,12 +2857,17 @@ msgstr "lenguaje `%s' desconocido"
 # nos interese se haya salido de la/el terminal em+
 # Ok. mm+
 #~ msgid ""
-#~ "  -n, --add-location             generate '#: filename:line' lines (default)\n"
-#~ "      --omit-header              don't write header with `msgid \"\"' entry\n"
+#~ "  -n, --add-location             generate '#: filename:line' lines "
+#~ "(default)\n"
+#~ "      --omit-header              don't write header with `msgid \"\"' "
+#~ "entry\n"
 #~ "  -o, --output=FILE              write output to specified file\n"
-#~ "  -p, --output-dir=DIR           output files will be placed in directory DIR\n"
-#~ "  -s, --sort-output              generate sorted output and remove duplicates\n"
-#~ "      --strict                   write out strict Uniforum conforming .po file\n"
+#~ "  -p, --output-dir=DIR           output files will be placed in directory "
+#~ "DIR\n"
+#~ "  -s, --sort-output              generate sorted output and remove "
+#~ "duplicates\n"
+#~ "      --strict                   write out strict Uniforum conforming .po "
+#~ "file\n"
 #~ "  -T, --trigraphs                understand ANSI C trigraphs for input\n"
 #~ "  -V, --version                  output version information and exit\n"
 #~ "  -w, --width=NUMBER             set output page width\n"
@@ -2130,15 +2875,19 @@ msgstr "lenguaje `%s' desconocido"
 #~ "\n"
 #~ "If INPUTFILE is -, standard input is read.\n"
 #~ msgstr ""
-#~ "  -n, --add-location           genera líneas `#: fichero:línea' (por defecto)\n"
-#~ "      --omit-header            no escribe la cabecera con la entrada `msgid \"\"'\n"
+#~ "  -n, --add-location           genera líneas `#: fichero:línea' (por "
+#~ "defecto)\n"
+#~ "      --omit-header            no escribe la cabecera con la entrada "
+#~ "`msgid \"\"'\n"
 #~ "      --output=FICHERO         escribe la salida al FICHERO especificado\n"
 #~ "  -p, --output-dir=DIR         los ficheros de salida se pondrán en el\n"
 #~ "                               directorio DIR\n"
 #~ "  -s, --sort-output            genera la salida ordenada y elimina los\n"
 #~ "                               duplicados\n"
-#~ "      --strict                 escribe un fichero .po tipo Uniforum estricto\n"
-#~ "  -T, --trigraphs              entiende los trigrafos ANSI C en la entrada\n"
+#~ "      --strict                 escribe un fichero .po tipo Uniforum "
+#~ "estricto\n"
+#~ "  -T, --trigraphs              entiende los trigrafos ANSI C en la "
+#~ "entrada\n"
 #~ "  -V, --version                informa de la versión y finaliza\n"
 #~ "  -w, --width=NÚMERO           ajusta la anchura de la página de salida\n"
 #~ "  -x, --exclude-file=FICHERO   las entradas de FICHERO no se extraen\n"
index d8517385bdc8dee66072e2b1ac2abe79b544387c..cdfc7e0ee87b2ff4ec908b37d8c6687316dc1b28 100644 (file)
--- a/po/et.po
+++ b/po/et.po
@@ -4,7 +4,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: GNU gettext 0.10.37\n"
-"POT-Creation-Date: 2001-06-12 15:05+0200\n"
+"POT-Creation-Date: 2001-11-30 14:18+0100\n"
 "PO-Revision-Date: 2001-04-30 16:25+0200\n"
 "Last-Translator: Ivar Smolin <okul@linux.ee>\n"
 "Language-Team: Estonian <et@li.org>\n"
@@ -13,10 +13,57 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
+#: lib/argmatch.c:141
+#, c-format
+msgid "invalid argument `%s' for `%s'"
+msgstr ""
+
+#: lib/argmatch.c:142
+#, c-format
+msgid "ambiguous argument `%s' for `%s'"
+msgstr ""
+
+#: lib/argmatch.c:162
+msgid "Valid arguments are:"
+msgstr ""
+
+#: lib/copy-file.c:60 src/file-list.c:57 src/po-lex.c:732 src/read-mo.c:170
+#: src/xgettext.c:729 src/xgettext.c:742 src/xgettext.c:752
+#, c-format
+msgid "error while opening \"%s\" for reading"
+msgstr "viga faili \"%s\" avamisel (lugemiseks)"
+
+#: lib/copy-file.c:67
+#, fuzzy, c-format
+msgid "cannot open backup file \"%s\" for writing"
+msgstr "viga faili \"%s\" avamisel (kirjutamiseks)"
+
+#: lib/copy-file.c:80
+#, fuzzy, c-format
+msgid "error reading \"%s\""
+msgstr "viga \"%s\" lugemisel"
+
+#: lib/copy-file.c:86 lib/copy-file.c:90
+#, fuzzy, c-format
+msgid "error writing \"%s\""
+msgstr "viga faili \"%s\" kirjutamisel"
+
+#: lib/copy-file.c:92
+#, fuzzy, c-format
+msgid "error after reading \"%s\""
+msgstr "viga \"%s\" lugemisel"
+
 #: lib/error.c:115
 msgid "Unknown system error"
 msgstr "Tundmatu süsteemne viga"
 
+#: lib/execute.c:170 lib/execute.c:205 lib/pipe-bidi.c:156 lib/pipe-bidi.c:191
+#: lib/pipe-in.c:167 lib/pipe-in.c:202 lib/pipe-out.c:167 lib/pipe-out.c:202
+#: lib/wait-process.c:136
+#, c-format
+msgid "%s subprocess failed"
+msgstr ""
+
 #: lib/getopt.c:691
 #, c-format
 msgid "%s: option `%s' is ambiguous\n"
@@ -37,19 +84,16 @@ msgstr "%s: v
 msgid "%s: option `%s' requires an argument\n"
 msgstr "%s: võtme `%s' järel peab olema argument\n"
 
-#. --option
 #: lib/getopt.c:768
 #, c-format
 msgid "%s: unrecognized option `--%s'\n"
 msgstr "%s: tundmatu võti `--%s'\n"
 
-#. +option or -option
 #: lib/getopt.c:772
 #, c-format
 msgid "%s: unrecognized option `%c%s'\n"
 msgstr "%s: tundmatu võti `%c%s'\n"
 
-#. 1003.2 specifies the format of this message.
 #: lib/getopt.c:798
 #, c-format
 msgid "%s: illegal option -- %c\n"
@@ -60,7 +104,6 @@ msgstr "%s: lubamatu v
 msgid "%s: invalid option -- %c\n"
 msgstr "%s: vigane võti -- %c\n"
 
-#. 1003.2 specifies the format of this message.
 #: lib/getopt.c:831 lib/getopt.c:961
 #, c-format
 msgid "%s: option requires an argument -- %c\n"
@@ -76,36 +119,114 @@ msgstr "%s: v
 msgid "%s: option `-W %s' doesn't allow an argument\n"
 msgstr "%s: võtmel `-W %s' ei tohi olla argumente\n"
 
-#: lib/obstack.c:474 lib/xerror.c:69 lib/xmalloc.c:86
+#: lib/javacomp.c:465
+msgid "Java compiler not found, try installing gcj or set $JAVAC"
+msgstr ""
+
+#: lib/javaexec.c:404
+msgid "Java virtual machine not found, try installing gij or set $JAVA"
+msgstr ""
+
+#: lib/obstack.c:474 lib/xerror.c:75 lib/xmalloc.c:56
 msgid "memory exhausted"
 msgstr "mälu sai otsa"
 
-#: lib/pipe-bidi.c:101 lib/pipe-bidi.c:103 lib/pipe-in.c:117
-#: lib/pipe-out.c:117
+#: lib/pipe-bidi.c:119 lib/pipe-bidi.c:121 lib/pipe-in.c:136
+#: lib/pipe-out.c:136
 #, fuzzy
 msgid "cannot create pipe"
 msgstr "ei suuda luua väljundfaili \"%s\""
 
-#: lib/pipe-bidi.c:125 lib/pipe-bidi.c:142 lib/pipe-in.c:135 lib/pipe-in.c:155
-#: lib/pipe-out.c:135 lib/pipe-out.c:155
-#, c-format
-msgid "%s subprocess failed"
-msgstr ""
-
-#: lib/wait-process.c:109
+#: lib/wait-process.c:117
 #, c-format
 msgid "%s subprocess"
 msgstr ""
 
-#: lib/wait-process.c:117
+#: lib/wait-process.c:129
 #, c-format
 msgid "%s subprocess got fatal signal"
 msgstr ""
 
-#: src/gettext.c:144 src/msgcat.c:245 src/msgcmp.c:132 src/msgcomm.c:242
-#: src/msgconv.c:180 src/msgen.c:168 src/msgfmt.c:272 src/msggrep.c:276
-#: src/msgmerge.c:222 src/msgsed.c:242 src/msgunfmt.c:174 src/ngettext.c:124
-#: src/xgettext.c:386
+#: src/format-c.c:578 src/format-python.c:463
+#, fuzzy
+msgid "number of format specifications in 'msgid' and 'msgstr' does not match"
+msgstr "vormingukirjeldused `msgid' ja `msgstr' kirjetel ei ole sarnased"
+
+#: src/format-c.c:588 src/format-python.c:473
+#, fuzzy, c-format
+msgid ""
+"format specifications in 'msgid' and 'msgstr' for argument %u are not the "
+"same"
+msgstr "vormingukirjeldused argumendi %lu jaoks ei ole sarnased"
+
+#: src/format-java.c:652 src/format-pascal.c:396
+#, fuzzy, c-format
+msgid "a format specification for argument {%u} doesn't exist in 'msgid'"
+msgstr "vormingukirjeldused argumendi %lu jaoks ei ole sarnased"
+
+#: src/format-java.c:662 src/format-pascal.c:406
+#, fuzzy, c-format
+msgid "a format specification for argument {%u} doesn't exist in 'msgstr'"
+msgstr "vormingukirjeldused argumendi %lu jaoks ei ole sarnased"
+
+#: src/format-java.c:676 src/format-pascal.c:420
+#, fuzzy, c-format
+msgid ""
+"format specifications in 'msgid' and 'msgstr' for argument {%u} are not the "
+"same"
+msgstr "vormingukirjeldused argumendi %lu jaoks ei ole sarnased"
+
+#: src/format-lisp.c:3371
+#, fuzzy
+msgid "format specifications in 'msgid' and 'msgstr' are not equivalent"
+msgstr "vormingukirjeldused `msgid' ja `msgstr' kirjetel ei ole sarnased"
+
+#: src/format-python.c:391
+#, fuzzy
+msgid ""
+"format specifications in 'msgid' expect a mapping, those in 'msgstr' expect "
+"a tuple"
+msgstr "vormingukirjeldused `msgid' ja `msgstr' kirjetel ei ole sarnased"
+
+#: src/format-python.c:399
+#, fuzzy
+msgid ""
+"format specifications in 'msgid' expect a tuple, those in 'msgstr' expect a "
+"mapping"
+msgstr "vormingukirjeldused `msgid' ja `msgstr' kirjetel ei ole sarnased"
+
+#: src/format-python.c:422
+#, fuzzy, c-format
+msgid "a format specification for argument '%s' doesn't exist in 'msgid'"
+msgstr "vormingukirjeldused argumendi %lu jaoks ei ole sarnased"
+
+#: src/format-python.c:432
+#, fuzzy, c-format
+msgid "a format specification for argument '%s' doesn't exist in 'msgstr'"
+msgstr "vormingukirjeldused argumendi %lu jaoks ei ole sarnased"
+
+#: src/format-python.c:446
+#, fuzzy, c-format
+msgid ""
+"format specifications in 'msgid' and 'msgstr' for argument '%s' are not the "
+"same"
+msgstr "vormingukirjeldused argumendi %lu jaoks ei ole sarnased"
+
+#: src/format-ycp.c:137
+#, fuzzy, c-format
+msgid "a format specification for argument %u doesn't exist in 'msgstr'"
+msgstr "vormingukirjeldused argumendi %lu jaoks ei ole sarnased"
+
+#: src/format-ycp.c:138
+#, fuzzy, c-format
+msgid "a format specification for argument %u doesn't exist in 'msgid'"
+msgstr "vormingukirjeldused argumendi %lu jaoks ei ole sarnased"
+
+#: src/gettext.c:146 src/hostname.c:168 src/msgattrib.c:264 src/msgcat.c:229
+#: src/msgcmp.c:134 src/msgcomm.c:232 src/msgconv.c:182 src/msgen.c:171
+#: src/msgexec.c:240 src/msgfmt.c:333 src/msggrep.c:276 src/msginit.c:247
+#: src/msgmerge.c:252 src/msgunfmt.c:182 src/msguniq.c:207 src/ngettext.c:126
+#: src/xgettext.c:352
 #, c-format, no-wrap
 msgid ""
 "Copyright (C) %s Free Software Foundation, Inc.\n"
@@ -118,43 +239,45 @@ msgstr ""
 "TEATUD KINDLAKS EESMÄRGIKS. Üksikasjade suhtes vaata GNU Üldist Avalikku\n"
 "Litsentsi.\n"
 
-#: src/gettext.c:149 src/msgcat.c:250 src/msgcmp.c:137 src/msgcomm.c:247
-#: src/msgconv.c:185 src/msgen.c:173 src/msgfmt.c:277 src/msggrep.c:281
-#: src/msgmerge.c:227 src/msgsed.c:247 src/msgunfmt.c:179 src/ngettext.c:129
-#: src/xgettext.c:391
+#: src/gettext.c:151 src/hostname.c:173 src/msgattrib.c:269 src/msgcat.c:234
+#: src/msgcmp.c:139 src/msgcomm.c:237 src/msgconv.c:187 src/msgen.c:176
+#: src/msgexec.c:245 src/msgfmt.c:338 src/msggrep.c:281 src/msginit.c:252
+#: src/msgmerge.c:257 src/msgunfmt.c:187 src/msguniq.c:212 src/ngettext.c:131
+#: src/xgettext.c:357
 #, c-format
 msgid "Written by %s.\n"
 msgstr "Selle programmi on kirjutanud %s.\n"
 
-#: src/gettext.c:167 src/ngettext.c:141
+#: src/gettext.c:169 src/hostname.c:183 src/msginit.c:262 src/ngettext.c:143
 msgid "too many arguments"
 msgstr "liiga palju argumente"
 
-#: src/gettext.c:177 src/ngettext.c:153
+#: src/gettext.c:179 src/ngettext.c:155
 msgid "missing arguments"
 msgstr "argumendid on puudu"
 
-#: src/gettext.c:249 src/msgcat.c:297 src/msgcmp.c:169 src/msgcomm.c:312
-#: src/msgconv.c:234 src/msgen.c:219 src/msgfmt.c:384 src/msggrep.c:366
-#: src/msgmerge.c:273 src/msgsed.c:313 src/msgunfmt.c:219 src/ngettext.c:208
-#: src/xgettext.c:513
+#: src/gettext.c:251 src/hostname.c:197 src/msgattrib.c:322 src/msgcat.c:290
+#: src/msgcmp.c:171 src/msgcomm.c:306 src/msgconv.c:241 src/msgen.c:227
+#: src/msgexec.c:338 src/msgfmt.c:479 src/msggrep.c:371 src/msginit.c:338
+#: src/msgmerge.c:367 src/msgunfmt.c:262 src/msguniq.c:269 src/ngettext.c:210
+#: src/xgettext.c:499
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "Täiendava info saamiseks proovi `%s --help'.\n"
 
-#: src/gettext.c:254
+#: src/gettext.c:256
 #, c-format, no-wrap
 msgid ""
 "Usage: %s [OPTION] [[TEXTDOMAIN] MSGID]\n"
 "or:    %s [OPTION] -s [MSGID]...\n"
 msgstr ""
 
-#: src/gettext.c:260
+#: src/gettext.c:262
 #, no-wrap
 msgid "Display native language translation of a textual message.\n"
 msgstr ""
 
-#: src/gettext.c:264
+#: src/gettext.c:266
 #, fuzzy, no-wrap
 msgid ""
 "  -d, --domain=TEXTDOMAIN   retrieve translated messages from TEXTDOMAIN\n"
@@ -179,7 +302,7 @@ msgstr ""
 "                                määratud piirkonnas ja omavad identifikaatorit\n"
 "                                STRID\n"
 
-#: src/gettext.c:275
+#: src/gettext.c:277
 #, fuzzy, c-format, no-wrap
 msgid ""
 "If the TEXTDOMAIN parameter is not given, the domain is determined from the\n"
@@ -202,31 +325,176 @@ msgstr ""
 "found in the selected catalog are translated.!!!\n"
 "Standardne otsinukataloog: %s\n"
 
-#: src/gettext.c:285 src/msgcat.c:378 src/msgcmp.c:214 src/msgcomm.c:390
-#: src/msgconv.c:298 src/msgen.c:279 src/msgfmt.c:443 src/msggrep.c:445
-#: src/msgmerge.c:348 src/msgsed.c:379 src/msgunfmt.c:272 src/ngettext.c:241
-#: src/xgettext.c:604
-msgid "Report bugs to <bug-gnu-utils@gnu.org>.\n"
+#: src/gettext.c:288 src/hostname.c:227 src/msgattrib.c:402 src/msgcat.c:371
+#: src/msgcmp.c:216 src/msgcomm.c:384 src/msgconv.c:305 src/msgen.c:287
+#: src/msgexec.c:410 src/msgfmt.c:563 src/msggrep.c:457 src/msginit.c:389
+#: src/msgmerge.c:465 src/msgunfmt.c:331 src/msguniq.c:343 src/ngettext.c:244
+#: src/xgettext.c:591
+#, fuzzy
+msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
 msgstr "Vigadest teata aadressile <bug-gnu-utils@gnu.org>.\n"
 
-#: src/msgcat.c:233 src/msgcat.c:237 src/msgcomm.c:230 src/msgcomm.c:234
-#: src/msgconv.c:205 src/msgen.c:194 src/msggrep.c:301 src/msgmerge.c:248
-#: src/msgsed.c:270 src/xgettext.c:363 src/xgettext.c:367
+#: src/hostname.c:202 src/msginit.c:343
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION]\n"
+msgstr ""
+
+#: src/hostname.c:207
+#, no-wrap
+msgid "Print the machine's hostname.\n"
+msgstr ""
+
+#: src/hostname.c:212
+#, no-wrap
+msgid ""
+"Output format:\n"
+"  -s, --short           short host name\n"
+"  -f, --fqdn, --long    long host name, includes fully qualified domain name,\n"
+"                          and aliases\n"
+"  -i, --ip-address      addresses for the hostname\n"
+msgstr ""
+
+#: src/hostname.c:221 src/msgattrib.c:396 src/msgcmp.c:210 src/msgconv.c:299
+#: src/msgen.c:281 src/msgexec.c:404 src/msggrep.c:451 src/msginit.c:383
+#, no-wrap
+msgid ""
+"Informative output:\n"
+"  -h, --help                  display this help and exit\n"
+"  -V, --version               output version information and exit\n"
+msgstr ""
+
+#: src/hostname.c:242 src/hostname.c:249
+msgid "could not get host name"
+msgstr ""
+
+#: src/msgattrib.c:284 src/msgconv.c:202 src/msgexec.c:190 src/msggrep.c:296
+#: src/msginit.c:205 src/msguniq.c:227
+msgid "at most one input file allowed"
+msgstr ""
+
+#: src/msgattrib.c:290 src/msgattrib.c:294 src/msgcat.c:244 src/msgcat.c:248
+#: src/msgcomm.c:247 src/msgcomm.c:251 src/msgconv.c:208 src/msgconv.c:212
+#: src/msgen.c:198 src/msgen.c:202 src/msgexec.c:260 src/msgexec.c:264
+#: src/msgfmt.c:358 src/msggrep.c:302 src/msggrep.c:306 src/msgmerge.c:282
+#: src/msgmerge.c:303 src/msgmerge.c:307 src/msguniq.c:233 src/msguniq.c:237
+#: src/xgettext.c:367 src/xgettext.c:371
 #, c-format
 msgid "%s and %s are mutually exclusive"
 msgstr "%s ja %s on vastastikku välistavad"
 
-#: src/msgcat.c:270 src/msgcomm.c:278
+#: src/msgattrib.c:327 src/msgconv.c:246 src/msggrep.c:376 src/msguniq.c:274
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] [INPUTFILE]\n"
+msgstr ""
+
+#: src/msgattrib.c:332
+#, no-wrap
+msgid ""
+"Filters the messages of a translation catalog according to their attributes,\n"
+"and manipulates the attributes.\n"
+msgstr ""
+
+#: src/msgattrib.c:338 src/msgcat.c:313 src/msgcmp.c:191 src/msgcomm.c:328
+#: src/msgconv.c:256 src/msgen.c:245 src/msgexec.c:353 src/msgfmt.c:494
+#: src/msggrep.c:387 src/msginit.c:354 src/msgmerge.c:390 src/msgunfmt.c:277
+#: src/msguniq.c:291
+#, no-wrap
+msgid "Mandatory arguments to long options are mandatory for short options too.\n"
+msgstr ""
+
+#: src/msgattrib.c:343 src/msgconv.c:261 src/msggrep.c:392 src/msguniq.c:296
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  INPUTFILE                   input PO file\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"If no input file is given or if it is -, standard input is read.\n"
+msgstr ""
+
+#: src/msgattrib.c:351 src/msgconv.c:269 src/msgen.c:258 src/msgexec.c:366
+#: src/msggrep.c:400 src/msgmerge.c:412
+#, no-wrap
+msgid ""
+"Output file location:\n"
+"  -o, --output-file=FILE      write output to specified file\n"
+"The results are written to standard output if no output file is specified\n"
+"or if it is -.\n"
+msgstr ""
+
+#: src/msgattrib.c:359
+#, no-wrap
+msgid ""
+"Message selection:\n"
+"      --translated            keep translated, remove untranslated messages\n"
+"      --untranslated          keep untranslated, remove translated messages\n"
+"      --no-fuzzy              remove 'fuzzy' marked messages\n"
+"      --only-fuzzy            keep 'fuzzy' marked messages\n"
+"      --no-obsolete           remove obsolete #~ messages\n"
+"      --only-obsolete         keep obsolete #~ messages\n"
+msgstr ""
+
+#: src/msgattrib.c:370
+#, no-wrap
+msgid ""
+"Attribute manipulation:\n"
+"      --set-fuzzy             set all messages 'fuzzy'\n"
+"      --clear-fuzzy           set all messages non-'fuzzy'\n"
+"      --set-obsolete          set all messages obsolete\n"
+"      --clear-obsolete        set all messages non-obsolete\n"
+"      --fuzzy                 synonym for --only-fuzzy --clear-fuzzy\n"
+"      --obsolete              synonym for --only-obsolete --clear-obsolete\n"
+msgstr ""
+
+#: src/msgattrib.c:381
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
+"  -e, --no-escape             do not use C escapes in output (default)\n"
+"  -E, --escape                use C escapes in output, no extended chars\n"
+"      --force-po              write PO file even if empty\n"
+"  -i, --indent                write the .po file using indented style\n"
+"      --no-location           do not write '#: filename:line' lines\n"
+"  -n, --add-location          generate '#: filename:line' lines (default)\n"
+"      --strict                write out strict Uniforum conforming .po file\n"
+"  -w, --width=NUMBER          set output page width\n"
+"  -s, --sort-output           generate sorted output\n"
+"  -F, --sort-by-file          sort output by file location\n"
+msgstr ""
+"Kasutamine: %s [VÕTI] def.po ref.po\n"
+"Argumendid, mis on kohustuslikud pikkadele võtmetele, on kohustuslikud ka\n"
+"lühikesetele.\n"
+"  -C, --compendium=FAIL      lisatõlgete teek, neid võib esineda rohkem\n"
+"                             kui üks\n"
+"  -D, --directory=KATALOOG   lisab kataloogi sisendfailide otsinguteede\n"
+"                             nimekirja\n"
+"  -e, --no-escape            keelab C erimärkide kasutamise tulemuses\n"
+"                             (vaikimisi)\n"
+"  -E, --escape               määrab C erimärkide kasutamise tulemuses\n"
+"      --force-po             kirjutab PO faili ka siis, kui see on tühi\n"
+"  -h, --help                 väljastab käesoleva abiinfo ja lõpetab programmi\n"
+"                             töö\n"
+"  -i, --indent               kirjutab .po faili, kasutades taandridu\n"
+"  -o, --output-file=FAIL     määrab väljundfaili nime\n"
+"      --no-location          keelab '#: failinimi:reanumber' ridade\n"
+"                             kirjutamise\n"
+"  -n, --add-location         kirjutab ka '#: failinimi:reanumber' read\n"
+"                             (vaikimisi)\n"
+"      --strict               rakendab ranget Uniforum meetodit\n"
+"  -v, --verbose              suurendab väljastatava teabe hulka\n"
+"  -V, --version              väljastab versiooniinfo ja lõpetab programmi töö\n"
+"  -w, --width=NUMBER         määrab väljastatava lehekülje laiuse\n"
+
+#: src/msgcat.c:254 src/msgcomm.c:277
 #, c-format
 msgid "impossible selection criteria specified (%d < n < %d)"
 msgstr "lubamatu valikukriteeriumi kirjeldus (%d < n < %d)"
 
-#: src/msgcat.c:302 src/msgcomm.c:317 src/xgettext.c:518
+#: src/msgcat.c:295 src/msgcomm.c:311 src/xgettext.c:504
 #, c-format, no-wrap
 msgid "Usage: %s [OPTION] [INPUTFILE]...\n"
 msgstr ""
 
-#: src/msgcat.c:307
+#: src/msgcat.c:300
 #, fuzzy, no-wrap
 msgid ""
 "Concatenates and merges the specified PO files.\n"
@@ -254,14 +522,7 @@ msgstr ""
 "comments) jäetakse alles ainult esimesena kirjeldatud PO failist.\n"
 "Positsioonikirjeldused võetakse ja säilitatakse kõikidest PO failidest.\n"
 
-#: src/msgcat.c:320 src/msgcmp.c:189 src/msgcomm.c:334 src/msgconv.c:249
-#: src/msgen.c:237 src/msgfmt.c:399 src/msggrep.c:382 src/msgmerge.c:296
-#: src/msgsed.c:328 src/msgunfmt.c:234
-#, no-wrap
-msgid "Mandatory arguments to long options are mandatory for short options too.\n"
-msgstr ""
-
-#: src/msgcat.c:325 src/msgcomm.c:339 src/xgettext.c:534
+#: src/msgcat.c:318 src/msgcomm.c:333 src/xgettext.c:520
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -271,7 +532,7 @@ msgid ""
 "If input file is -, standard input is read.\n"
 msgstr ""
 
-#: src/msgcat.c:334 src/msgcomm.c:348
+#: src/msgcat.c:327 src/msgcomm.c:342 src/msguniq.c:304
 #, no-wrap
 msgid ""
 "Output file location:\n"
@@ -280,7 +541,7 @@ msgid ""
 "or if it is -.\n"
 msgstr ""
 
-#: src/msgcat.c:342 src/msgcomm.c:356
+#: src/msgcat.c:335
 #, fuzzy, no-wrap
 msgid ""
 "Message selection:\n"
@@ -288,7 +549,7 @@ msgid ""
 "                                 definitions, defaults to infinite if not\n"
 "                                 set\n"
 "  ->, --more-than=NUMBER         print messages with more than this many\n"
-"                                 definitions, defaults to 1 if not set\n"
+"                                 definitions, defaults to 0 if not set\n"
 "  -u, --unique                   shorthand for --less-than=2, requests\n"
 "                                 that only unique messages be printed\n"
 msgstr ""
@@ -307,7 +568,7 @@ msgstr ""
 "comments) jäetakse alles ainult esimesena kirjeldatud PO failist.\n"
 "Positsioonikirjeldused võetakse ja säilitatakse kõikidest PO failidest.\n"
 
-#: src/msgcat.c:354
+#: src/msgcat.c:347 src/msguniq.c:319
 #, fuzzy, no-wrap
 msgid ""
 "Output details:\n"
@@ -322,7 +583,7 @@ msgid ""
 "  -n, --add-location             generate '#: filename:line' lines (default)\n"
 "      --strict                   write out strict Uniforum conforming .po file\n"
 "  -w, --width=NUMBER             set output page width\n"
-"  -s, --sort-output              generate sorted output and remove duplicates\n"
+"  -s, --sort-output              generate sorted output\n"
 "  -F, --sort-by-file             sort output by file location\n"
 msgstr ""
 "Kasutamine: %s [VÕTI] def.po ref.po\n"
@@ -349,7 +610,7 @@ msgstr ""
 "  -V, --version              väljastab versiooniinfo ja lõpetab programmi töö\n"
 "  -w, --width=NUMBER         määrab väljastatava lehekülje laiuse\n"
 
-#: src/msgcat.c:372 src/msgcomm.c:384 src/xgettext.c:598
+#: src/msgcat.c:365 src/msgcomm.c:378 src/msguniq.c:337 src/xgettext.c:585
 #, no-wrap
 msgid ""
 "Informative output:\n"
@@ -357,75 +618,20 @@ msgid ""
 "  -V, --version                  output version information and exit\n"
 msgstr ""
 
-#: src/msgcat.c:403 src/msgcomm.c:415 src/msgunfmt.c:394 src/po-lex.c:85
-#: src/xget-lex.c:159 src/xget-lex.c:172 src/xget-lex.c:182 src/xgettext.c:629
-#, c-format
-msgid "error while opening \"%s\" for reading"
-msgstr "viga faili \"%s\" avamisel (lugemiseks)"
-
-#: src/msgcat.c:544 src/msgl-charset.c:82 src/msgl-iconv.c:292
-#, c-format
-msgid "present charset \"%s\" is not a portable encoding name"
-msgstr ""
-
-#: src/msgcat.c:552 src/msgl-iconv.c:300
-#, c-format
-msgid "two different charsets \"%s\" and \"%s\" in input file"
-msgstr ""
-
-#: src/msgcat.c:561
-#, c-format
-msgid ""
-"input file `%s' doesn't contain a header entry with a charset specification"
-msgstr ""
-
-#: src/msgcat.c:565
-#, c-format
-msgid ""
-"domain \"%s\" in input file `%s' doesn't contain a header entry with a "
-"charset specification"
-msgstr ""
-
-#: src/msgcat.c:719 src/msgl-iconv.c:370
-#, c-format
-msgid "target charset \"%s\" is not a portable encoding name."
-msgstr ""
-
-#: src/msgcat.c:752 src/msgcat.c:758 src/msgl-charset.c:87
-#: src/msgl-charset.c:122
-#, fuzzy
-msgid "warning: "
-msgstr "%s: hoiatus: "
-
-#: src/msgcat.c:753
-msgid ""
-"Input files contain messages in different encodings, UTF-8 among others.\n"
-"Converting the output to UTF-8.\n"
-msgstr ""
-
-#: src/msgcat.c:759
-#, c-format
-msgid ""
-"Input files contain messages in different encodings, %s and %s among "
-"others.\n"
-"Converting the output to UTF-8.\n"
-"To select a different output encoding, use the --to-code option.\n"
-msgstr ""
-
-#: src/msgcmp.c:148 src/msgmerge.c:238
+#: src/msgcmp.c:150 src/msgmerge.c:268
 msgid "no input files given"
 msgstr "sisendfailid on määramata"
 
-#: src/msgcmp.c:153 src/msgmerge.c:243
+#: src/msgcmp.c:155 src/msgmerge.c:273
 msgid "exactly 2 input files required"
 msgstr "vaja läheb täpselt kahte sisendfaili"
 
-#: src/msgcmp.c:174 src/msgmerge.c:278
+#: src/msgcmp.c:176 src/msgmerge.c:372
 #, c-format, no-wrap
 msgid "Usage: %s [OPTION] def.po ref.pot\n"
 msgstr ""
 
-#: src/msgcmp.c:179
+#: src/msgcmp.c:181
 #, fuzzy, no-wrap
 msgid ""
 "Compare two Uniforum style .po files to check that both contain the same\n"
@@ -451,7 +657,7 @@ msgstr ""
 "teated on tõlgitud. Kui täpseid vasteid ei suudeta leida, kasutatakse parema\n"
 "diagnoosi huvides määratlust 'kahtlane'.\n"
 
-#: src/msgcmp.c:194
+#: src/msgcmp.c:196
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -460,59 +666,50 @@ msgid ""
 "  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
 msgstr ""
 
-#: src/msgcmp.c:202 src/msgmerge.c:319
+#: src/msgcmp.c:204 src/msgmerge.c:436
 #, no-wrap
 msgid ""
 "Operation modifiers:\n"
 "  -m, --multi-domain          apply ref.pot to each of the domains in def.po\n"
 msgstr ""
 
-#: src/msgcmp.c:208 src/msgconv.c:292 src/msgen.c:273 src/msggrep.c:439
-#: src/msgsed.c:373
-#, no-wrap
-msgid ""
-"Informative output:\n"
-"  -h, --help                  display this help and exit\n"
-"  -V, --version               output version information and exit\n"
-msgstr ""
-
-#: src/msgcmp.c:251 src/msgmerge.c:426
+#: src/msgcmp.c:253 src/msgmerge.c:543
 msgid "this message is used but not defined..."
 msgstr "see teade on kasutusel, kuid kirjeldamata..."
 
-#: src/msgcmp.c:253 src/msgmerge.c:428
+#: src/msgcmp.c:255 src/msgmerge.c:545
 msgid "...but this definition is similar"
 msgstr "...kuid see kirjeldus on sarnane"
 
-#: src/msgcmp.c:258 src/msgmerge.c:455
+#: src/msgcmp.c:260 src/msgmerge.c:572
 #, c-format
 msgid "this message is used but not defined in %s"
 msgstr "see teade on kasutusel, kuid %s poolt kirjeldamata"
 
-#: src/msgcmp.c:330
+#: src/msgcmp.c:332
 msgid "warning: this message is not used"
 msgstr "hoiatus: see teade on kasutamata"
 
-#: src/msgcmp.c:337 src/po-lex.c:99
+#: src/msgcmp.c:339 src/po-lex.c:705
 #, c-format
 msgid "found %d fatal error"
 msgid_plural "found %d fatal errors"
 msgstr[0] "leitud %d tõsine viga"
 msgstr[1] "leitud %d tõsist viga"
 
-#: src/msgcmp.c:418 src/msgfmt.c:703 src/read-po.c:184 src/xgettext.c:1147
+#: src/msgcmp.c:420 src/msgfmt.c:1323 src/read-po.c:202 src/x-po.c:163
 msgid "duplicate message definition"
 msgstr "teade on kirjeldatud kaks korda"
 
-#: src/msgcmp.c:419 src/msgfmt.c:705 src/read-po.c:185 src/xgettext.c:1148
+#: src/msgcmp.c:421 src/msgfmt.c:1324 src/read-po.c:203 src/x-po.c:164
 msgid "...this is the location of the first definition"
 msgstr "...see on esimese kirjelduse asukoht"
 
-#: src/msgcomm.c:267
+#: src/msgcomm.c:266
 msgid "at least two files must be specified"
 msgstr "vähemalt kaks faili peab olema ette antud"
 
-#: src/msgcomm.c:322
+#: src/msgcomm.c:316
 #, fuzzy, no-wrap
 msgid ""
 "Find messages which are common to two or more of the specified PO files.\n"
@@ -539,28 +736,55 @@ msgstr ""
 "comments) jäetakse alles ainult esimesena kirjeldatud PO failist.\n"
 "Positsioonikirjeldused võetakse ja säilitatakse kõikidest PO failidest.\n"
 
-#: src/msgcomm.c:368
+#: src/msgcomm.c:350
 #, fuzzy, no-wrap
 msgid ""
-"Output details:\n"
-"  -e, --no-escape                do not use C escapes in output (default)\n"
-"  -E, --escape                   use C escapes in output, no extended chars\n"
-"      --force-po                 write PO file even if empty\n"
-"  -i, --indent                   write the .po file using indented style\n"
-"      --no-location              do not write '#: filename:line' lines\n"
-"  -n, --add-location             generate '#: filename:line' lines (default)\n"
-"      --strict                   write out strict Uniforum conforming .po file\n"
-"  -w, --width=NUMBER             set output page width\n"
-"  -s, --sort-output              generate sorted output and remove duplicates\n"
-"  -F, --sort-by-file             sort output by file location\n"
-"      --omit-header              don't write header with `msgid \"\"' entry\n"
+"Message selection:\n"
+"  -<, --less-than=NUMBER         print messages with less than this many\n"
+"                                 definitions, defaults to infinite if not\n"
+"                                 set\n"
+"  ->, --more-than=NUMBER         print messages with more than this many\n"
+"                                 definitions, defaults to 1 if not set\n"
+"  -u, --unique                   shorthand for --less-than=2, requests\n"
+"                                 that only unique messages be printed\n"
 msgstr ""
-"Kasutamine: %s [VÕTI] def.po ref.po\n"
-"Argumendid, mis on kohustuslikud pikkadele võtmetele, on kohustuslikud ka\n"
-"lühikesetele.\n"
-"  -C, --compendium=FAIL      lisatõlgete teek, neid võib esineda rohkem\n"
-"                             kui üks\n"
-"  -D, --directory=KATALOOG   lisab kataloogi sisendfailide otsinguteede\n"
+"  -V, --version               väljastab versiooniinfo ja lõpetab programmi töö\n"
+"  -w, --width=NUMBER          määrab väljastatava lehekülje laiuse\n"
+"  -<, --less-than=NUMBER      trükib stringid, mida esineb vähem kui NUMBER\n"
+"                              korda (vaikimisi piiramatult)\n"
+"  ->, --more-than=NUMBER      trükib stringid, mida esineb rohkem kui NUMBER\n"
+"                              korda (vaikimisi 1)\n"
+"\n"
+"Leiab stringid, mis esinevad kahes (või enamas) kirjeldatud PO failis.\n"
+"Kasutades --more-than võtit, on võimalik saavutada ainult enimkattuvate\n"
+"stringide väljastamine. Võtmega --less-than määratakse vähemkattuvate\n"
+"stringide väljastamine (--less-than=2 väljastab ainult unikaalsed stringid).\n"
+"Tõlked, kommentaarid ja stringi päritolu kirjeldavad kommentaarid (extract\n"
+"comments) jäetakse alles ainult esimesena kirjeldatud PO failist.\n"
+"Positsioonikirjeldused võetakse ja säilitatakse kõikidest PO failidest.\n"
+
+#: src/msgcomm.c:362
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
+"  -e, --no-escape                do not use C escapes in output (default)\n"
+"  -E, --escape                   use C escapes in output, no extended chars\n"
+"      --force-po                 write PO file even if empty\n"
+"  -i, --indent                   write the .po file using indented style\n"
+"      --no-location              do not write '#: filename:line' lines\n"
+"  -n, --add-location             generate '#: filename:line' lines (default)\n"
+"      --strict                   write out strict Uniforum conforming .po file\n"
+"  -w, --width=NUMBER             set output page width\n"
+"  -s, --sort-output              generate sorted output\n"
+"  -F, --sort-by-file             sort output by file location\n"
+"      --omit-header              don't write header with `msgid \"\"' entry\n"
+msgstr ""
+"Kasutamine: %s [VÕTI] def.po ref.po\n"
+"Argumendid, mis on kohustuslikud pikkadele võtmetele, on kohustuslikud ka\n"
+"lühikesetele.\n"
+"  -C, --compendium=FAIL      lisatõlgete teek, neid võib esineda rohkem\n"
+"                             kui üks\n"
+"  -D, --directory=KATALOOG   lisab kataloogi sisendfailide otsinguteede\n"
 "                             nimekirja\n"
 "  -e, --no-escape            keelab C erimärkide kasutamise tulemuses\n"
 "                             (vaikimisi)\n"
@@ -579,44 +803,12 @@ msgstr ""
 "  -V, --version              väljastab versiooniinfo ja lõpetab programmi töö\n"
 "  -w, --width=NUMBER         määrab väljastatava lehekülje laiuse\n"
 
-#: src/msgcomm.c:510 src/xgettext.c:676 src/xgettext.c:1093
-msgid "this file may not contain domain directives"
-msgstr "see fail ei tohi sisaldada domeeni direktiive"
-
-#: src/msgconv.c:200 src/msggrep.c:296 src/msgsed.c:262
-msgid "at most one input file allowed"
-msgstr ""
-
-#: src/msgconv.c:239 src/msggrep.c:371 src/msgsed.c:318
-#, c-format, no-wrap
-msgid "Usage: %s [OPTION] [INPUTFILE]\n"
-msgstr ""
-
-#: src/msgconv.c:244
+#: src/msgconv.c:251
 #, no-wrap
 msgid "Converts a translation catalog to a different character encoding.\n"
 msgstr ""
 
-#: src/msgconv.c:254 src/msggrep.c:387 src/msgsed.c:333
-#, no-wrap
-msgid ""
-"Input file location:\n"
-"  INPUTFILE                   input PO file\n"
-"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
-"If no input file is given or if it is -, standard input is read.\n"
-msgstr ""
-
-#: src/msgconv.c:262 src/msgen.c:250 src/msggrep.c:395 src/msgmerge.c:311
-#: src/msgsed.c:341
-#, no-wrap
-msgid ""
-"Output file location:\n"
-"  -o, --output-file=FILE      write output to specified file\n"
-"The results are written to standard output if no output file is specified\n"
-"or if it is -.\n"
-msgstr ""
-
-#: src/msgconv.c:270
+#: src/msgconv.c:277
 #, no-wrap
 msgid ""
 "Conversion target:\n"
@@ -624,7 +816,7 @@ msgid ""
 "The default encoding is the current locale's encoding.\n"
 msgstr ""
 
-#: src/msgconv.c:277 src/msgen.c:258 src/msgmerge.c:325
+#: src/msgconv.c:284 src/msgen.c:266 src/msgmerge.c:442
 #, fuzzy, no-wrap
 msgid ""
 "Output details:\n"
@@ -636,7 +828,7 @@ msgid ""
 "      --add-location          preserve '#: filename:line' lines (default)\n"
 "      --strict                strict Uniforum output style\n"
 "  -w, --width=NUMBER          set output page width\n"
-"  -s, --sort-output           generate sorted output and remove duplicates\n"
+"  -s, --sort-output           generate sorted output\n"
 "  -F, --sort-by-file          sort output by file location\n"
 msgstr ""
 "Kasutamine: %s [VÕTI] def.po ref.po\n"
@@ -663,21 +855,21 @@ msgstr ""
 "  -V, --version              väljastab versiooniinfo ja lõpetab programmi töö\n"
 "  -w, --width=NUMBER         määrab väljastatava lehekülje laiuse\n"
 
-#: src/msgen.c:184 src/msgfmt.c:288 src/xgettext.c:402
+#: src/msgen.c:187 src/msgfmt.c:349 src/xgettext.c:388
 msgid "no input file given"
 msgstr "sisendfail on määramata"
 
-#: src/msgen.c:189
+#: src/msgen.c:192
 #, fuzzy
 msgid "exactly one input file required"
 msgstr "vaja läheb täpselt kahte sisendfaili"
 
-#: src/msgen.c:224
+#: src/msgen.c:232
 #, c-format, no-wrap
 msgid "Usage: %s [OPTION] INPUTFILE\n"
 msgstr ""
 
-#: src/msgen.c:229
+#: src/msgen.c:237
 #, no-wrap
 msgid ""
 "Creates an English translation catalog.  The input file is the last\n"
@@ -686,7 +878,7 @@ msgid ""
 "identical to the msgid, and are marked fuzzy.\n"
 msgstr ""
 
-#: src/msgen.c:242
+#: src/msgen.c:250
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -695,43 +887,164 @@ msgid ""
 "If input file is -, standard input is read.\n"
 msgstr ""
 
-#: src/msgfmt.c:339
+#: src/msgexec.c:255
+#, fuzzy
+msgid "missing filter name"
+msgstr "argumendid on puudu"
+
+#: src/msgexec.c:279
+#, fuzzy
+msgid "at least one sed script must be specified"
+msgstr "vähemalt kaks faili peab olema ette antud"
+
+#: src/msgexec.c:343
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] FILTER [FILTER-OPTION]\n"
+msgstr ""
+
+#: src/msgexec.c:348
+#, no-wrap
+msgid "Applies a filter to all translations of a translation catalog.\n"
+msgstr ""
+
+#: src/msgexec.c:358
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  -i, --input=INPUTFILE       input PO file\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"If no input file is given or if it is -, standard input is read.\n"
+msgstr ""
+
+#: src/msgexec.c:374
+#, no-wrap
+msgid ""
+"The FILTER can be any program that reads a translation from standard input\n"
+"and writes a modified translation to standard output.\n"
+msgstr ""
+
+#: src/msgexec.c:380
+#, no-wrap
+msgid ""
+"Useful FILTER-OPTIONs when the FILTER is 'sed':\n"
+"  -e, --expression=SCRIPT     add SCRIPT to the commands to be executed\n"
+"  -f, --file=SCRIPTFILE       add the contents of SCRIPTFILE to the commands\n"
+"                                to be executed\n"
+"  -n, --quiet, --silent       suppress automatic printing of pattern space\n"
+msgstr ""
+
+#: src/msgexec.c:389
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
+"      --no-escape             do not use C escapes in output (default)\n"
+"  -E, --escape                use C escapes in output, no extended chars\n"
+"      --force-po              write PO file even if empty\n"
+"      --indent                indented output style\n"
+"      --no-location           suppress '#: filename:line' lines\n"
+"      --add-location          preserve '#: filename:line' lines (default)\n"
+"      --strict                strict Uniforum output style\n"
+"  -w, --width=NUMBER          set output page width\n"
+"  -s, --sort-output           generate sorted output\n"
+"  -F, --sort-by-file          sort output by file location\n"
+msgstr ""
+"Kasutamine: %s [VÕTI] def.po ref.po\n"
+"Argumendid, mis on kohustuslikud pikkadele võtmetele, on kohustuslikud ka\n"
+"lühikesetele.\n"
+"  -C, --compendium=FAIL      lisatõlgete teek, neid võib esineda rohkem\n"
+"                             kui üks\n"
+"  -D, --directory=KATALOOG   lisab kataloogi sisendfailide otsinguteede\n"
+"                             nimekirja\n"
+"  -e, --no-escape            keelab C erimärkide kasutamise tulemuses\n"
+"                             (vaikimisi)\n"
+"  -E, --escape               määrab C erimärkide kasutamise tulemuses\n"
+"      --force-po             kirjutab PO faili ka siis, kui see on tühi\n"
+"  -h, --help                 väljastab käesoleva abiinfo ja lõpetab programmi\n"
+"                             töö\n"
+"  -i, --indent               kirjutab .po faili, kasutades taandridu\n"
+"  -o, --output-file=FAIL     määrab väljundfaili nime\n"
+"      --no-location          keelab '#: failinimi:reanumber' ridade\n"
+"                             kirjutamise\n"
+"  -n, --add-location         kirjutab ka '#: failinimi:reanumber' read\n"
+"                             (vaikimisi)\n"
+"      --strict               rakendab ranget Uniforum meetodit\n"
+"  -v, --verbose              suurendab väljastatava teabe hulka\n"
+"  -V, --version              väljastab versiooniinfo ja lõpetab programmi töö\n"
+"  -w, --width=NUMBER         määrab väljastatava lehekülje laiuse\n"
+
+#: src/msgexec.c:546
 #, c-format
-msgid "error while opening \"%s\" for writing"
-msgstr "viga faili \"%s\" avamisel (kirjutamiseks)"
+msgid "cannot set up nonblocking I/O to %s subprocess"
+msgstr ""
+
+#: src/msgexec.c:574
+#, c-format
+msgid "communication with %s subprocess failed"
+msgstr ""
+
+#: src/msgexec.c:594
+#, c-format
+msgid "write to %s subprocess failed"
+msgstr ""
+
+#: src/msgexec.c:625
+#, c-format
+msgid "read from %s subprocess failed"
+msgstr ""
+
+#: src/msgexec.c:641
+#, c-format
+msgid "%s subprocess terminated with exit code %d"
+msgstr ""
+
+#: src/msgfmt.c:303
+#, c-format
+msgid "the argument to %s should be a single punctuation character"
+msgstr ""
 
-#: src/msgfmt.c:357
+#: src/msgfmt.c:364
+#, c-format
+msgid "%s requires a \"-d directory\" specification"
+msgstr ""
+
+#: src/msgfmt.c:373 src/msgfmt.c:379 src/msgfmt.c:385 src/msgmerge.c:290
+#: src/msgmerge.c:296 src/msgunfmt.c:209 src/msgunfmt.c:215
+#, c-format
+msgid "%s is only valid with %s"
+msgstr ""
+
+#: src/msgfmt.c:452
 #, c-format
 msgid "%d translated message"
 msgid_plural "%d translated messages"
 msgstr[0] "%d tõlgitud teade"
 msgstr[1] "%d tõlgitud teadet"
 
-#: src/msgfmt.c:362
+#: src/msgfmt.c:457
 #, c-format
 msgid ", %d fuzzy translation"
 msgid_plural ", %d fuzzy translations"
 msgstr[0] ", %d kahtlane tõlge"
 msgstr[1] ", %d kahtlast tõlget"
 
-#: src/msgfmt.c:367
+#: src/msgfmt.c:462
 #, c-format
 msgid ", %d untranslated message"
 msgid_plural ", %d untranslated messages"
 msgstr[0] ", %d tõlkimata teade"
 msgstr[1] ", %d tõlkimata teadet"
 
-#: src/msgfmt.c:389
+#: src/msgfmt.c:484
 #, c-format, no-wrap
 msgid "Usage: %s [OPTION] filename.po ...\n"
 msgstr ""
 
-#: src/msgfmt.c:394
+#: src/msgfmt.c:489
 #, no-wrap
 msgid "Generate binary message catalog from textual translation description.\n"
 msgstr ""
 
-#: src/msgfmt.c:404
+#: src/msgfmt.c:499
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -740,7 +1053,15 @@ msgid ""
 "If input file is -, standard input is read.\n"
 msgstr ""
 
-#: src/msgfmt.c:412
+#: src/msgfmt.c:507
+#, no-wrap
+msgid ""
+"Operation mode:\n"
+"  -j, --java                  Java mode: generate a Java ResourceBundle class\n"
+"      --java2                 like --java, and assume Java2 (JDK 1.2 or higher)\n"
+msgstr ""
+
+#: src/msgfmt.c:514
 #, no-wrap
 msgid ""
 "Output file location:\n"
@@ -749,15 +1070,35 @@ msgid ""
 "If output file is -, output is written to standard output.\n"
 msgstr ""
 
-#: src/msgfmt.c:420
+#: src/msgfmt.c:522
+#, no-wrap
+msgid ""
+"Output file location in Java mode:\n"
+"  -r, --resource=RESOURCE     resource name\n"
+"  -l, --locale=LOCALE         locale name, either language or language_COUNTRY\n"
+"  -d DIRECTORY                base directory of classes directory hierarchy\n"
+"The class name is determined by appending the locale name to the resource name,\n"
+"separated with an underscore.  The -d option is mandatory.  The class is\n"
+"written under the specified directory.\n"
+msgstr ""
+
+#: src/msgfmt.c:533
 #, no-wrap
 msgid ""
 "Input file interpretation:\n"
-"  -c, --check                 perform language dependent checks on strings\n"
+"  -c, --check                 perform all the checks implied by\n"
+"                                --check-format, --check-header, --check-domain\n"
+"      --check-format          check language dependent format strings\n"
+"      --check-header          verify presence and contents of the header entry\n"
+"      --check-domain          check for conflicts between domain directives\n"
+"                                and the --output-file option\n"
+"  -C, --check-compatibility   check that GNU msgfmt behaves like X/Open msgfmt\n"
+"      --check-accelerators[=CHAR]  check presence of keyboard accelerators for\n"
+"                                menu items\n"
 "  -f, --use-fuzzy             use fuzzy entries in output\n"
 msgstr ""
 
-#: src/msgfmt.c:427
+#: src/msgfmt.c:548
 #, c-format, no-wrap
 msgid ""
 "Output details:\n"
@@ -765,83 +1106,80 @@ msgid ""
 "      --no-hash               binary file will not include the hash table\n"
 msgstr ""
 
-#: src/msgfmt.c:434
+#: src/msgfmt.c:555
 #, no-wrap
 msgid ""
 "Informative output:\n"
 "  -h, --help                  display this help and exit\n"
 "  -V, --version               output version information and exit\n"
 "      --statistics            print statistics about translations\n"
-"  -v, --verbose               list input file anomalies\n"
-"Giving the -v option more than once increases the verbosity level.\n"
+"  -v, --verbose               increase verbosity level\n"
 msgstr ""
 
-#: src/msgfmt.c:466
-msgid "while creating hash table"
-msgstr "paisktabeli loomise käigus"
+#: src/msgfmt.c:707
+msgid "plural expression can produce negative values"
+msgstr ""
 
-#: src/msgfmt.c:504
-#, fuzzy
-msgid "warning: PO file header missing, fuzzy, or invalid\n"
+#: src/msgfmt.c:720
+#, c-format
+msgid "nplurals = %lu but plural expression can produce values as large as %lu"
 msgstr ""
-"%s: hoiatus: PO faili päis puudub, on kahtlane või vigane\n"
-"%*s  hoiatus: charset conversion will not work"
 
-#: src/msgfmt.c:507
-#, fuzzy
-msgid "warning: charset conversion will not work\n"
+#: src/msgfmt.c:746
+msgid "plural expression can produce division by zero"
 msgstr ""
-"Kooditabel on päises kirjeldamata.\n"
-"Tõlgete teisendamine kasutaja kooditabelisse ei toimi.\n"
 
-#: src/msgfmt.c:531
-#, c-format
-msgid "domain name \"%s\" not suitable as file name"
-msgstr "domeeni nimi \"%s\" ei ole kasutatav failinimena"
+#: src/msgfmt.c:751
+msgid "plural expression can produce integer overflow"
+msgstr ""
 
-#: src/msgfmt.c:536
-#, c-format
-msgid "domain name \"%s\" not suitable as file name: will use prefix"
-msgstr "domeeni nimi \"%s\" ei ole kasutatav failinimena: kasutan eesliidet"
+#: src/msgfmt.c:756
+msgid ""
+"plural expression can produce arithmetic exceptions, possibly division by "
+"zero"
+msgstr ""
 
-#. We don't change the exit status here because this is really
-#. only an information.
-#: src/msgfmt.c:549
-#, c-format
-msgid "`domain %s' directive ignored"
-msgstr "ignoreerin `domain %s' direktiivi"
+#: src/msgfmt.c:830 src/msgfmt.c:841
+msgid "message catalog has plural form translations..."
+msgstr ""
 
-#: src/msgfmt.c:585
-msgid "empty `msgstr' entry ignored"
-msgstr "ignoreerin tühja `msgstr' kirjet"
+#: src/msgfmt.c:833
+msgid "...but header entry lacks a \"plural=EXPRESSION\" attribute"
+msgstr ""
 
-#: src/msgfmt.c:586
-msgid "fuzzy `msgstr' entry ignored"
-msgstr "ignoreerin kahtlast `msgstr' kirjet"
+#: src/msgfmt.c:844
+msgid "...but header entry lacks a \"nplurals=INTEGER\" attribute"
+msgstr ""
 
-#: src/msgfmt.c:629
-#, c-format
-msgid "headerfield `%s' missing in header"
-msgstr "päise kirjest on puudu väli `%s'"
+#: src/msgfmt.c:868
+#, fuzzy
+msgid "invalid nplurals value"
+msgstr "vigane juhtjada"
 
-#: src/msgfmt.c:632
-#, c-format
-msgid "header field `%s' should start at beginning of line"
-msgstr "päise kirjes peab väli `%s' algama rea algusest"
+#: src/msgfmt.c:881
+msgid "invalid plural expression"
+msgstr ""
 
-#: src/msgfmt.c:642
-msgid "some header fields still have the initial default value"
-msgstr "mõned päise kirjes olevad väljad sisaldavad ikka veel algseid väärtusi"
+#: src/msgfmt.c:899 src/msgfmt.c:912
+#, c-format
+msgid "nplurals = %lu..."
+msgstr ""
 
-#: src/msgfmt.c:653
+#: src/msgfmt.c:902
 #, c-format
-msgid "field `%s' still has initial default value"
-msgstr "väli `%s' sisaldab ikka veel algset väärtust"
+msgid "...but some messages have only %lu plural forms"
+msgstr ""
 
-#: src/msgfmt.c:745
+#: src/msgfmt.c:915
 #, c-format
-msgid "%s: warning: source file contains fuzzy translation"
-msgstr "%s: hoiatus: lähtefail sisaldab kahtlast tõlget"
+msgid "...but some messages have %lu plural forms"
+msgstr ""
+
+#: src/msgfmt.c:930
+msgid ""
+"message catalog has plural form translations, but lacks a header entry with "
+"\"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\""
+msgstr ""
 
 #: src/msgfmt.c:968
 msgid "`msgid' and `msgid_plural' entries do not both begin with '\\n'"
@@ -869,28 +1207,110 @@ msgstr "`msgid' ja `msgstr[%u]' kirjed ei l
 msgid "`msgid' and `msgstr' entries do not both end with '\\n'"
 msgstr "`msgid' ja `msgstr' kirjed ei lõppe sarnaselt märgiga '\\n'"
 
-#: src/msgfmt.c:1047
-msgid "number of format specifications in `msgid' and `msgstr' does not match"
-msgstr "vormingukirjeldused `msgid' ja `msgstr' kirjetel ei ole sarnased"
+#: src/msgfmt.c:1041
+msgid "plural handling is a GNU gettext extension"
+msgstr ""
 
-#: src/msgfmt.c:1066
+#: src/msgfmt.c:1088
 #, c-format
-msgid "format specifications for argument %lu are not the same"
-msgstr "vormingukirjeldused argumendi %lu jaoks ei ole sarnased"
+msgid "'msgstr' is not a valid %s format string, unlike 'msgid'"
+msgstr ""
+
+#: src/msgfmt.c:1122
+#, c-format
+msgid "msgstr lacks the keyboard accelerator mark '%c'"
+msgstr ""
+
+#: src/msgfmt.c:1130
+#, c-format
+msgid "msgstr has too many keyboard accelerator marks '%c'"
+msgstr ""
+
+#: src/msgfmt.c:1164
+#, c-format
+msgid "headerfield `%s' missing in header"
+msgstr "päise kirjest on puudu väli `%s'"
+
+#: src/msgfmt.c:1167
+#, c-format
+msgid "header field `%s' should start at beginning of line"
+msgstr "päise kirjes peab väli `%s' algama rea algusest"
+
+#: src/msgfmt.c:1176
+msgid "some header fields still have the initial default value"
+msgstr "mõned päise kirjes olevad väljad sisaldavad ikka veel algseid väärtusi"
+
+#: src/msgfmt.c:1187
+#, c-format
+msgid "field `%s' still has initial default value"
+msgstr "väli `%s' sisaldab ikka veel algset väärtust"
+
+#: src/msgfmt.c:1228
+#, fuzzy
+msgid "warning: PO file header missing or invalid\n"
+msgstr ""
+"%s: hoiatus: PO faili päis puudub, on kahtlane või vigane\n"
+"%*s  hoiatus: charset conversion will not work"
 
-#: src/msggrep.c:354
+#: src/msgfmt.c:1231
+#, fuzzy
+msgid "warning: charset conversion will not work\n"
+msgstr ""
+"Kooditabel on päises kirjeldamata.\n"
+"Tõlgete teisendamine kasutaja kooditabelisse ei toimi.\n"
+
+#: src/msgfmt.c:1241
+#, fuzzy
+msgid "warning: PO file header fuzzy\n"
+msgstr ""
+"%s: hoiatus: PO faili päis puudub, on kahtlane või vigane\n"
+"%*s  hoiatus: charset conversion will not work"
+
+#: src/msgfmt.c:1243
+msgid "warning: older versions of msgfmt will give an error on this\n"
+msgstr ""
+
+#: src/msgfmt.c:1268
+#, c-format
+msgid "domain name \"%s\" not suitable as file name"
+msgstr "domeeni nimi \"%s\" ei ole kasutatav failinimena"
+
+#: src/msgfmt.c:1273
+#, c-format
+msgid "domain name \"%s\" not suitable as file name: will use prefix"
+msgstr "domeeni nimi \"%s\" ei ole kasutatav failinimena: kasutan eesliidet"
+
+#: src/msgfmt.c:1284
+#, c-format
+msgid "`domain %s' directive ignored"
+msgstr "ignoreerin `domain %s' direktiivi"
+
+#: src/msgfmt.c:1356
+msgid "empty `msgstr' entry ignored"
+msgstr "ignoreerin tühja `msgstr' kirjet"
+
+#: src/msgfmt.c:1357
+msgid "fuzzy `msgstr' entry ignored"
+msgstr "ignoreerin kahtlast `msgstr' kirjet"
+
+#: src/msgfmt.c:1426
+#, c-format
+msgid "%s: warning: source file contains fuzzy translation"
+msgstr "%s: hoiatus: lähtefail sisaldab kahtlast tõlget"
+
+#: src/msggrep.c:359
 #, c-format
 msgid "option '%c' cannot be used before 'K' or 'T' has been specified"
 msgstr ""
 
-#: src/msggrep.c:376
+#: src/msggrep.c:381
 #, no-wrap
 msgid ""
 "Extracts all messages of a translation catalog that match a given pattern\n"
 "or belong to some given source files.\n"
 msgstr ""
 
-#: src/msggrep.c:403
+#: src/msggrep.c:408
 #, no-wrap
 msgid ""
 "Message selection:\n"
@@ -899,8 +1319,15 @@ msgid ""
 "or if it comes from one of the specified domains,\n"
 "or if -K is given and its key (msgid or msgid_plural) matches MSGID-PATTERN,\n"
 "or if -T is given and its translation (msgstr) matches MSGSTR-PATTERN.\n"
+"\n"
+"When more than one selection criterion is specified, the set of selected\n"
+"messages is the union of the selected messages of each criterion.\n"
+"\n"
+"MSGID-PATTERN or MSGSTR-PATTERN syntax:\n"
+"  [-E | -F] [-e PATTERN | -f FILE]...\n"
 "PATTERNs are basic regular expressions by default, or extended regular\n"
 "expressions if -E is given, or fixed strings if -F is given.\n"
+"\n"
 "  -N, --location=SOURCEFILE   select messages extracted from SOURCEFILE\n"
 "  -M, --domain=DOMAINNAME     select messages belonging to domain DOMAINNAME\n"
 "  -K, --msgid                 start of patterns for the msgid\n"
@@ -912,7 +1339,7 @@ msgid ""
 "  -i, --ignore-case           ignore case distinctions\n"
 msgstr ""
 
-#: src/msggrep.c:424
+#: src/msggrep.c:436
 #, fuzzy, no-wrap
 msgid ""
 "Output details:\n"
@@ -924,38 +1351,190 @@ msgid ""
 "      --add-location          preserve '#: filename:line' lines (default)\n"
 "      --strict                strict Uniforum output style\n"
 "  -w, --width=NUMBER          set output page width\n"
-"      --sort-output           generate sorted output and remove duplicates\n"
+"      --sort-output           generate sorted output\n"
 "      --sort-by-file          sort output by file location\n"
 msgstr ""
-"Kasutamine: %s [VÕTI] def.po ref.po\n"
-"Argumendid, mis on kohustuslikud pikkadele võtmetele, on kohustuslikud ka\n"
-"lühikesetele.\n"
-"  -C, --compendium=FAIL      lisatõlgete teek, neid võib esineda rohkem\n"
-"                             kui üks\n"
-"  -D, --directory=KATALOOG   lisab kataloogi sisendfailide otsinguteede\n"
-"                             nimekirja\n"
-"  -e, --no-escape            keelab C erimärkide kasutamise tulemuses\n"
-"                             (vaikimisi)\n"
-"  -E, --escape               määrab C erimärkide kasutamise tulemuses\n"
-"      --force-po             kirjutab PO faili ka siis, kui see on tühi\n"
-"  -h, --help                 väljastab käesoleva abiinfo ja lõpetab programmi\n"
-"                             töö\n"
-"  -i, --indent               kirjutab .po faili, kasutades taandridu\n"
-"  -o, --output-file=FAIL     määrab väljundfaili nime\n"
-"      --no-location          keelab '#: failinimi:reanumber' ridade\n"
-"                             kirjutamise\n"
-"  -n, --add-location         kirjutab ka '#: failinimi:reanumber' read\n"
-"                             (vaikimisi)\n"
-"      --strict               rakendab ranget Uniforum meetodit\n"
-"  -v, --verbose              suurendab väljastatava teabe hulka\n"
-"  -V, --version              väljastab versiooniinfo ja lõpetab programmi töö\n"
-"  -w, --width=NUMBER         määrab väljastatava lehekülje laiuse\n"
+"Kasutamine: %s [VÕTI] def.po ref.po\n"
+"Argumendid, mis on kohustuslikud pikkadele võtmetele, on kohustuslikud ka\n"
+"lühikesetele.\n"
+"  -C, --compendium=FAIL      lisatõlgete teek, neid võib esineda rohkem\n"
+"                             kui üks\n"
+"  -D, --directory=KATALOOG   lisab kataloogi sisendfailide otsinguteede\n"
+"                             nimekirja\n"
+"  -e, --no-escape            keelab C erimärkide kasutamise tulemuses\n"
+"                             (vaikimisi)\n"
+"  -E, --escape               määrab C erimärkide kasutamise tulemuses\n"
+"      --force-po             kirjutab PO faili ka siis, kui see on tühi\n"
+"  -h, --help                 väljastab käesoleva abiinfo ja lõpetab programmi\n"
+"                             töö\n"
+"  -i, --indent               kirjutab .po faili, kasutades taandridu\n"
+"  -o, --output-file=FAIL     määrab väljundfaili nime\n"
+"      --no-location          keelab '#: failinimi:reanumber' ridade\n"
+"                             kirjutamise\n"
+"  -n, --add-location         kirjutab ka '#: failinimi:reanumber' read\n"
+"                             (vaikimisi)\n"
+"      --strict               rakendab ranget Uniforum meetodit\n"
+"  -v, --verbose              suurendab väljastatava teabe hulka\n"
+"  -V, --version              väljastab versiooniinfo ja lõpetab programmi töö\n"
+"  -w, --width=NUMBER         määrab väljastatava lehekülje laiuse\n"
+
+#: src/msggrep.c:510
+msgid "write to grep subprocess failed"
+msgstr ""
+
+#: src/msginit.c:275
+msgid ""
+"You are in a language indifferent environment.  Please set\n"
+"your LANG environment variable, as described in the ABOUT-NLS\n"
+"file.  This is necessary so you can test your translations.\n"
+msgstr ""
+
+#: src/msginit.c:303
+#, c-format
+msgid ""
+"Output file %s already exists.\n"
+"Please specify the locale through the --locale option or\n"
+"the output .po file through the --output-file option.\n"
+msgstr ""
+
+#: src/msginit.c:326
+#, c-format
+msgid "Created %s.\n"
+msgstr ""
+
+#: src/msginit.c:348
+#, no-wrap
+msgid ""
+"Creates a new PO file, initializing the meta information with values from the\n"
+"user's environment.\n"
+msgstr ""
+
+#: src/msginit.c:359
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  -i, --input=INPUTFILE       input POT file\n"
+"If no input file is given, the current directory is searched for the POT file.\n"
+"If it is -, standard input is read.\n"
+msgstr ""
+
+#: src/msginit.c:367
+#, no-wrap
+msgid ""
+"Output file location:\n"
+"  -o, --output-file=FILE      write output to specified PO file\n"
+"If no output file is given, it depends on the --locale option or the user's\n"
+"locale setting.  If it is -, the results are written to standard output.\n"
+msgstr ""
+
+#: src/msginit.c:375
+#, no-wrap
+msgid ""
+"Output details:\n"
+"  -l, --locale=LL_CC          set target locale\n"
+"      --no-translator         assume the PO file is automatically generated\n"
+"  -w, --width=NUMBER          set output page width\n"
+msgstr ""
+
+#: src/msginit.c:426
+msgid ""
+"Found more than one .pot file.\n"
+"Please specify the input .pot file through the --input option.\n"
+msgstr ""
+
+#: src/msginit.c:434 src/msginit.c:439
+msgid "error reading current directory"
+msgstr ""
+
+#: src/msginit.c:447
+msgid ""
+"Found no .pot file in the current directory.\n"
+"Please specify the input .pot file through the --input option.\n"
+msgstr ""
+
+#: src/msginit.c:887 src/msginit.c:932 src/msginit.c:1070 src/msginit.c:1137
+#: src/read-java.c:80
+msgid "fdopen() failed"
+msgstr ""
+
+#: src/msginit.c:892 src/msginit.c:937 src/msginit.c:1075
+#, c-format
+msgid "%s subprocess I/O error"
+msgstr ""
+
+#: src/msginit.c:901 src/msginit.c:946 src/msginit.c:1084 src/msginit.c:1151
+#: src/read-java.c:90
+#, c-format
+msgid "%s subprocess failed with exit code %d"
+msgstr ""
+
+#: src/msginit.c:1060
+msgid ""
+"The new message catalog should contain your email address, so that users "
+"can\n"
+"give you feedback about the translations, and so that maintainers can "
+"contact\n"
+"you in case of unexpected technical problems.\n"
+msgstr ""
+
+#. TRANSLATORS: "English" needs to be replaced by your language.
+#. For example in it.po write "Traduzioni italiani ...",
+#. *not* "Traduzioni inglesi ...".
+#: src/msginit.c:1440
+#, c-format
+msgid "English translations for %s package"
+msgstr ""
+
+#: src/msgl-cat.c:173 src/msgl-charset.c:86 src/msgl-iconv.c:299
+#, c-format
+msgid "present charset \"%s\" is not a portable encoding name"
+msgstr ""
+
+#: src/msgl-cat.c:181 src/msgl-iconv.c:307
+#, c-format
+msgid "two different charsets \"%s\" and \"%s\" in input file"
+msgstr ""
+
+#: src/msgl-cat.c:194
+#, c-format
+msgid ""
+"input file `%s' doesn't contain a header entry with a charset specification"
+msgstr ""
+
+#: src/msgl-cat.c:198
+#, c-format
+msgid ""
+"domain \"%s\" in input file `%s' doesn't contain a header entry with a "
+"charset specification"
+msgstr ""
+
+#: src/msgl-cat.c:359 src/msgl-iconv.c:382
+#, c-format
+msgid "target charset \"%s\" is not a portable encoding name."
+msgstr ""
+
+#: src/msgl-cat.c:409 src/msgl-cat.c:415 src/msgl-charset.c:91
+#: src/msgl-charset.c:126 src/write-po.c:723 src/write-po.c:817
+#, fuzzy
+msgid "warning: "
+msgstr "%s: hoiatus: "
+
+#: src/msgl-cat.c:410
+msgid ""
+"Input files contain messages in different encodings, UTF-8 among others.\n"
+"Converting the output to UTF-8.\n"
+msgstr ""
 
-#: src/msggrep.c:498
-msgid "write to grep subprocess failed"
+#: src/msgl-cat.c:416
+#, c-format
+msgid ""
+"Input files contain messages in different encodings, %s and %s among "
+"others.\n"
+"Converting the output to UTF-8.\n"
+"To select a different output encoding, use the --to-code option.\n"
 msgstr ""
 
-#: src/msgl-charset.c:88
+#: src/msgl-charset.c:92
 #, c-format
 msgid ""
 "Locale charset \"%s\" is different from\n"
@@ -964,12 +1543,12 @@ msgid ""
 "Possible workarounds are:\n"
 msgstr ""
 
-#: src/msgl-charset.c:95
+#: src/msgl-charset.c:99
 #, c-format
 msgid "- Set LC_ALL to a locale with encoding %s.\n"
 msgstr ""
 
-#: src/msgl-charset.c:100
+#: src/msgl-charset.c:104
 #, c-format
 msgid ""
 "- Convert the translation catalog to %s using 'msgconv',\n"
@@ -977,7 +1556,7 @@ msgid ""
 "  then convert back to %s using 'msgconv'.\n"
 msgstr ""
 
-#: src/msgl-charset.c:109
+#: src/msgl-charset.c:113
 #, c-format
 msgid ""
 "- Set LC_ALL to a locale with encoding %s,\n"
@@ -986,7 +1565,7 @@ msgid ""
 "  then convert back to %s using 'msgconv'.\n"
 msgstr ""
 
-#: src/msgl-charset.c:123
+#: src/msgl-charset.c:127
 #, c-format
 msgid ""
 "Locale charset \"%s\" is not a portable encoding name.\n"
@@ -994,15 +1573,15 @@ msgid ""
 "A possible workaround is to set LC_ALL=C.\n"
 msgstr ""
 
-#: src/msgl-iconv.c:192 src/msgl-iconv.c:246
+#: src/msgl-iconv.c:200 src/msgl-iconv.c:254
 msgid "conversion failure"
 msgstr ""
 
-#: src/msgl-iconv.c:317
+#: src/msgl-iconv.c:328
 msgid "input file doesn't contain a header entry with a charset specification"
 msgstr ""
 
-#: src/msgl-iconv.c:334
+#: src/msgl-iconv.c:346
 #, fuzzy, c-format
 msgid ""
 "Cannot convert from \"%s\" to \"%s\". %s relies on iconv(), and iconv() does "
@@ -1011,7 +1590,7 @@ msgstr ""
 "Kooditabel \"%s\" ei ole toetatud. %s asendatakse,\n"
 "iconv() poolt ja iconv() ei toeta \"%s\".\n"
 
-#: src/msgl-iconv.c:350
+#: src/msgl-iconv.c:362
 #, fuzzy, c-format
 msgid ""
 "Cannot convert from \"%s\" to \"%s\". %s relies on iconv(). This version was "
@@ -1020,7 +1599,11 @@ msgstr ""
 "Kooditabel \"%s\" ei ole toetatud. %s asendatakse,\n"
 "iconv() poolt. See versioon tehakse ilma iconv() kasutamata.\n"
 
-#: src/msgmerge.c:283
+#: src/msgmerge.c:340
+msgid "backup type"
+msgstr ""
+
+#: src/msgmerge.c:377
 #, fuzzy, no-wrap
 msgid ""
 "Merges two Uniforum style .po files together.  The def.po file is an\n"
@@ -1047,7 +1630,7 @@ msgstr ""
 "kahtlased. Kui väljundfaili ei ole kirjeldatud, saadetakse tulemus\n"
 "standardväljunisse.\n"
 
-#: src/msgmerge.c:301
+#: src/msgmerge.c:395
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -1058,7 +1641,32 @@ msgid ""
 "                              may be specified more than once\n"
 msgstr ""
 
-#: src/msgmerge.c:340
+#: src/msgmerge.c:405
+#, no-wrap
+msgid ""
+"Operation mode:\n"
+"  -U, --update                update def.po,\n"
+"                              do nothing if def.po already up to date\n"
+msgstr ""
+
+#: src/msgmerge.c:420
+#, no-wrap
+msgid ""
+"Output file location in update mode:\n"
+"The result is written back to def.po.\n"
+"      --backup=CONTROL        make a backup of def.po\n"
+"      --suffix=SUFFIX         override the usual backup suffix\n"
+"The version control method may be selected via the --backup option or through\n"
+"the VERSION_CONTROL environment variable.  Here are the values:\n"
+"  none, off       never make backups (even if --backup is given)\n"
+"  numbered, t     make numbered backups\n"
+"  existing, nil   numbered if numbered backups exist, simple otherwise\n"
+"  simple, never   always make simple backups\n"
+"The backup suffix is `~', unless set with --suffix or the SIMPLE_BACKUP_SUFFIX\n"
+"environment variable.\n"
+msgstr ""
+
+#: src/msgmerge.c:457
 #, no-wrap
 msgid ""
 "Informative output:\n"
@@ -1068,7 +1676,17 @@ msgid ""
 "  -q, --quiet, --silent       suppress progress indicators\n"
 msgstr ""
 
-#: src/msgmerge.c:578
+#: src/msgmerge.c:625
+#, fuzzy
+msgid "this message should define plural forms"
+msgstr "see teade on kasutusel, kuid %s poolt kirjeldamata"
+
+#: src/msgmerge.c:648
+#, fuzzy
+msgid "this message should not define plural forms"
+msgstr "see teade on kasutusel, kuid %s poolt kirjeldamata"
+
+#: src/msgmerge.c:779
 #, c-format
 msgid ""
 "%sRead %ld old + %ld reference, merged %ld, fuzzied %ld, missing %ld, "
@@ -1077,101 +1695,33 @@ msgstr ""
 "%sLoetud %ld vana + %ld viidet, ühendatud %ld, kahtlaseid %ld, puuduvaid %"
 "ld, vananenuid %ld.\n"
 
-#: src/msgmerge.c:586
+#: src/msgmerge.c:787
 msgid " done.\n"
 msgstr " valmis.\n"
 
-#: src/msgsed.c:267
-#, fuzzy
-msgid "at least one sed script must be specified"
-msgstr "vähemalt kaks faili peab olema ette antud"
-
-#: src/msgsed.c:323
-#, no-wrap
-msgid "Applies a sed script to all translations of a translation catalog.\n"
-msgstr ""
-
-#: src/msgsed.c:349
-#, no-wrap
-msgid ""
-"Sed options:\n"
-"  -e, --expression=SCRIPT     add SCRIPT to the commands to be executed\n"
-"  -f, --file=SCRIPTFILE       add the contents of SCRIPTFILE to the commands\n"
-"                                to be executed\n"
-"  -n, --quiet, --silent       suppress automatic printing of pattern space\n"
-msgstr ""
-
-#: src/msgsed.c:358
-#, fuzzy, no-wrap
-msgid ""
-"Output details:\n"
-"      --no-escape             do not use C escapes in output (default)\n"
-"  -E, --escape                use C escapes in output, no extended chars\n"
-"      --force-po              write PO file even if empty\n"
-"  -i, --indent                indented output style\n"
-"      --no-location           suppress '#: filename:line' lines\n"
-"      --add-location          preserve '#: filename:line' lines (default)\n"
-"      --strict                strict Uniforum output style\n"
-"  -w, --width=NUMBER          set output page width\n"
-"  -s, --sort-output           generate sorted output and remove duplicates\n"
-"  -F, --sort-by-file          sort output by file location\n"
-msgstr ""
-"Kasutamine: %s [VÕTI] def.po ref.po\n"
-"Argumendid, mis on kohustuslikud pikkadele võtmetele, on kohustuslikud ka\n"
-"lühikesetele.\n"
-"  -C, --compendium=FAIL      lisatõlgete teek, neid võib esineda rohkem\n"
-"                             kui üks\n"
-"  -D, --directory=KATALOOG   lisab kataloogi sisendfailide otsinguteede\n"
-"                             nimekirja\n"
-"  -e, --no-escape            keelab C erimärkide kasutamise tulemuses\n"
-"                             (vaikimisi)\n"
-"  -E, --escape               määrab C erimärkide kasutamise tulemuses\n"
-"      --force-po             kirjutab PO faili ka siis, kui see on tühi\n"
-"  -h, --help                 väljastab käesoleva abiinfo ja lõpetab programmi\n"
-"                             töö\n"
-"  -i, --indent               kirjutab .po faili, kasutades taandridu\n"
-"  -o, --output-file=FAIL     määrab väljundfaili nime\n"
-"      --no-location          keelab '#: failinimi:reanumber' ridade\n"
-"                             kirjutamise\n"
-"  -n, --add-location         kirjutab ka '#: failinimi:reanumber' read\n"
-"                             (vaikimisi)\n"
-"      --strict               rakendab ranget Uniforum meetodit\n"
-"  -v, --verbose              suurendab väljastatava teabe hulka\n"
-"  -V, --version              väljastab versiooniinfo ja lõpetab programmi töö\n"
-"  -w, --width=NUMBER         määrab väljastatava lehekülje laiuse\n"
-
-#: src/msgsed.c:514
-msgid "cannot set up nonblocking I/O to sed subprocess"
-msgstr ""
-
-#: src/msgsed.c:542
-msgid "communication with sed subprocess failed"
-msgstr ""
-
-#: src/msgsed.c:562
-msgid "write to sed subprocess failed"
-msgstr ""
-
-#: src/msgsed.c:592
-msgid "read from sed subprocess failed"
-msgstr ""
-
-#: src/msgsed.c:608
-#, c-format
-msgid "sed subprocess terminated with exit code %d"
-msgstr ""
+#: src/msgunfmt.c:201
+#, fuzzy, c-format
+msgid "%s and explicit file names are mutually exclusive"
+msgstr "%s ja %s on vastastikku välistavad"
 
-#: src/msgunfmt.c:224
+#: src/msgunfmt.c:267
 #, c-format, no-wrap
 msgid "Usage: %s [OPTION] [FILE]...\n"
 msgstr ""
 
-#: src/msgunfmt.c:229
+#: src/msgunfmt.c:272
 #, no-wrap
 msgid "Convert binary message catalog to Uniforum style .po file.\n"
 msgstr ""
 
-#: src/msgunfmt.c:239
+#: src/msgunfmt.c:282
+#, no-wrap
+msgid ""
+"Operation mode:\n"
+"  -j, --java               Java mode: generate a Java ResourceBundle class\n"
+msgstr ""
+
+#: src/msgunfmt.c:288
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -1179,7 +1729,17 @@ msgid ""
 "If no input file is given or if it is -, standard input is read.\n"
 msgstr ""
 
-#: src/msgunfmt.c:246
+#: src/msgunfmt.c:295
+#, no-wrap
+msgid ""
+"Input file location in Java mode:\n"
+"  -r, --resource=RESOURCE  resource name\n"
+"  -l, --locale=LOCALE      locale name, either language or language_COUNTRY\n"
+"The class name is determined by appending the locale name to the resource name,\n"
+"separated with an underscore.  The class is located using the CLASSPATH.\n"
+msgstr ""
+
+#: src/msgunfmt.c:304
 #, no-wrap
 msgid ""
 "Output file location:\n"
@@ -1188,7 +1748,7 @@ msgid ""
 "or if it is -.\n"
 msgstr ""
 
-#: src/msgunfmt.c:254
+#: src/msgunfmt.c:312
 #, fuzzy, no-wrap
 msgid ""
 "Output details:\n"
@@ -1198,7 +1758,7 @@ msgid ""
 "  -i, --indent             write indented output style\n"
 "      --strict             write strict uniforum style\n"
 "  -w, --width=NUMBER       set output page width\n"
-"  -s, --sort-output        generate sorted output and remove duplicates\n"
+"  -s, --sort-output        generate sorted output\n"
 msgstr ""
 "Kasutamine: %s [VÕTI] [FAIL]...\n"
 "Argumendid, mis on kohustuslikud pikkadele võtmetele, on kohustuslikud ka\n"
@@ -1214,52 +1774,49 @@ msgstr ""
 "  -V, --version            väljastab versiooniinfo ja lõpetab programmi töö\n"
 "  -w, --width=NUMBER       määrab väljastatava lehekülje laiuse\n"
 
-#: src/msgunfmt.c:266
+#: src/msgunfmt.c:324
 #, no-wrap
 msgid ""
 "Informative output:\n"
 "  -h, --help               display this help and exit\n"
 "  -V, --version            output version information and exit\n"
+"  -v, --verbose            increase verbosity level\n"
 msgstr ""
 
-#: src/msgunfmt.c:294 src/msgunfmt.c:359 src/po-lex.c:213 src/xget-lex.c:245
-#, c-format
-msgid "error while reading \"%s\""
-msgstr "viga \"%s\" lugemisel"
-
-#: src/msgunfmt.c:295 src/msgunfmt.c:360
-#, c-format
-msgid "file \"%s\" truncated"
-msgstr "faili \"%s\" sai kärbitud"
-
-#: src/msgunfmt.c:326
-#, c-format
-msgid "seek \"%s\" offset %ld failed"
-msgstr "hüpe \"%s\" positsioonile %ld ebaõnnestus"
-
-#: src/msgunfmt.c:365
-#, c-format
-msgid "file \"%s\" contains a not NUL terminated string"
-msgstr "fail \"%s\" sisaldab stringi, mis ei lõpe koodiga NUL"
+#: src/msguniq.c:279
+#, no-wrap
+msgid ""
+"Unifies duplicate translations in a translation catalog.\n"
+"Finds duplicate translations of the same message ID.  Such duplicates are\n"
+"invalid input for other programs like msgfmt, msgmerge or msgcat.  By\n"
+"default, duplicates are merged together.  When using the --repeated option,\n"
+"only duplicates are output, and all other messages are discarded.  Comments\n"
+"and extracted comments will be cumulated, except that if --use-first is\n"
+"specified, they will be taken from the first translation.  File positions\n"
+"will be cumulated.  When using the --unique option, duplicates are discarded.\n"
+msgstr ""
 
-#: src/msgunfmt.c:410
-#, c-format
-msgid "file \"%s\" is not in GNU .mo format"
-msgstr "fail \"%s\" ei ole GNU .mo vormingus"
+#: src/msguniq.c:312
+#, no-wrap
+msgid ""
+"Message selection:\n"
+"  -d, --repeated                 print only duplicates\n"
+"  -u, --unique                   print only unique messages, discard duplicates\n"
+msgstr ""
 
-#: src/ngettext.c:213
+#: src/ngettext.c:215
 #, c-format, no-wrap
 msgid "Usage: %s [OPTION] [TEXTDOMAIN] MSGID MSGID-PLURAL COUNT\n"
 msgstr ""
 
-#: src/ngettext.c:218
+#: src/ngettext.c:220
 #, no-wrap
 msgid ""
 "Display native language translation of a textual message whose grammatical\n"
 "form depends on a number.\n"
 msgstr ""
 
-#: src/ngettext.c:223
+#: src/ngettext.c:225
 #, fuzzy, no-wrap
 msgid ""
 "  -d, --domain=TEXTDOMAIN   retrieve translated message from TEXTDOMAIN\n"
@@ -1285,7 +1842,7 @@ msgstr ""
 "  STRID STRID-MITMUS            tõlgib STRID (ainsus) / STRID-MITMUS (mitmus)\n"
 "  ARV                           valib ainsuse/mitmuse vormi sellele arvule\n"
 
-#: src/ngettext.c:234
+#: src/ngettext.c:236
 #, fuzzy, c-format, no-wrap
 msgid ""
 "If the TEXTDOMAIN parameter is not given, the domain is determined from the\n"
@@ -1301,17 +1858,17 @@ msgstr ""
 "lugeda keskkonnamuutujast TEXTDOMAINDIR.\n"
 "Standardne otsinukataloog: %s\n"
 
-#: src/open-po.c:64
+#: src/open-po.c:69
 msgid "<stdin>"
 msgstr "<stdin>"
 
-#: src/po-charset.c:145 src/po-charset.c:213 src/po-charset.c:239
-#: src/po-charset.c:265
+#: src/po-charset.c:172 src/po-charset.c:240 src/po-charset.c:268
+#: src/po-charset.c:294
 #, c-format
 msgid "%s: warning: "
 msgstr "%s: hoiatus: "
 
-#: src/po-charset.c:146
+#: src/po-charset.c:173
 #, c-format
 msgid ""
 "Charset \"%s\" is not a portable encoding name.\n"
@@ -1320,15 +1877,15 @@ msgstr ""
 "Kooditabel \"%s\" ei ole portaabel kodeerimise nimetus.\n"
 "Teadete tõlkimine kasutaja kooditabeli järgi võib mitte toimida.\n"
 
-#: src/po-charset.c:209 src/po-charset.c:237
+#: src/po-charset.c:236 src/po-charset.c:266
 msgid "Continuing anyway, expect parse errors."
 msgstr "Jätkan siiski, vaatamate parsimisvigadele."
 
-#: src/po-charset.c:211
+#: src/po-charset.c:238
 msgid "Continuing anyway."
 msgstr "Jätkan siiski."
 
-#: src/po-charset.c:214
+#: src/po-charset.c:241
 #, c-format
 msgid ""
 "Charset \"%s\" is not supported. %s relies on iconv(),\n"
@@ -1337,7 +1894,7 @@ msgstr ""
 "Kooditabel \"%s\" ei ole toetatud. %s asendatakse,\n"
 "iconv() poolt ja iconv() ei toeta \"%s\".\n"
 
-#: src/po-charset.c:223 src/po-charset.c:247
+#: src/po-charset.c:250 src/po-charset.c:276
 msgid ""
 "Installing GNU libiconv and then reinstalling GNU gettext\n"
 "would fix this problem.\n"
@@ -1346,12 +1903,12 @@ msgstr ""
 "GNU libiconv tarkvara ja peale seda teha uus paigaldus tarkvarapakile\n"
 "GNU gettext\n"
 
-#: src/po-charset.c:228 src/po-charset.c:251
+#: src/po-charset.c:255 src/po-charset.c:280
 #, c-format
 msgid "%s\n"
 msgstr "%s\n"
 
-#: src/po-charset.c:240
+#: src/po-charset.c:269
 #, c-format
 msgid ""
 "Charset \"%s\" is not supported. %s relies on iconv().\n"
@@ -1360,7 +1917,7 @@ msgstr ""
 "Kooditabel \"%s\" ei ole toetatud. %s asendatakse,\n"
 "iconv() poolt. See versioon tehakse ilma iconv() kasutamata.\n"
 
-#: src/po-charset.c:266
+#: src/po-charset.c:295
 msgid ""
 "Charset missing in header.\n"
 "Message conversion to user's charset will not work.\n"
@@ -1368,127 +1925,211 @@ msgstr ""
 "Kooditabel on päises kirjeldamata.\n"
 "Tõlgete teisendamine kasutaja kooditabelisse ei toimi.\n"
 
-#: po-gram-gen.y:88
+#: po-gram-gen.y:91
 msgid "inconsistent use of #~"
 msgstr "vastuoluline #~ kasutamine"
 
-#: po-gram-gen.y:178
+#: po-gram-gen.y:181
 msgid "missing `msgstr[]' section"
 msgstr "puudub `msgstr[]' sektsioon"
 
-#: po-gram-gen.y:186
+#: po-gram-gen.y:189
 msgid "missing `msgid_plural' section"
 msgstr "puudub `msgid_plural' sektsioon"
 
-#: po-gram-gen.y:193
+#: po-gram-gen.y:196
 msgid "missing `msgstr' section"
 msgstr "puudub `msgstr' sektsioon"
 
-#: po-gram-gen.y:238
+#: po-gram-gen.y:241
 msgid "first plural form has nonzero index"
 msgstr "esimene mitmuse vormi indeks erineb nullist"
 
-#: po-gram-gen.y:240
+#: po-gram-gen.y:243
 msgid "plural form has wrong index"
 msgstr "mitmuse vorm omab vale indeksit"
 
-#. CAUTION: If you change this macro, you must also make identical
-#. changes to the function of the same name in src/po-lex.c
-#: src/po-lex.c:152 src/po-lex.c:195 src/po-lex.h:77 src/po-lex.h:93
-#: src/po-lex.h:111 src/po-lex.h:127
+#: src/po-lex.h:91 src/po-lex.h:106 src/po-lex.h:126 src/po-lex.h:141
+#: src/po-lex.c:135 src/po-lex.c:176
 msgid "too many errors, aborting"
 msgstr "liiga palju vigu, katkestan töö"
 
-#: src/po-lex.c:271
+#: src/po-lex.c:545 src/write-po.c:331 src/write-po.c:421
+msgid "invalid multibyte sequence"
+msgstr "vigane multibait jada"
+
+#: src/po-lex.c:571
+#, fuzzy
+msgid "incomplete multibyte sequence at end of file"
+msgstr "vigane multibait jada"
+
+#: src/po-lex.c:581
+#, fuzzy
+msgid "incomplete multibyte sequence at end of line"
+msgstr "vigane multibait jada"
+
+#: src/po-lex.c:589
+msgid "iconv failure"
+msgstr ""
+
+#: src/po-lex.c:763 src/read-mo.c:70 src/read-mo.c:135 src/x-c.c:216
+#: src/x-rst.c:227 src/x-ycp.c:103
+#, c-format
+msgid "error while reading \"%s\""
+msgstr "viga \"%s\" lugemisel"
+
+#: src/po-lex.c:829
 #, c-format
 msgid "keyword \"%s\" unknown"
 msgstr "tundmatu võtmesõna: \"%s\""
 
-#: src/po-lex.c:374
+#: src/po-lex.c:939
 msgid "invalid control sequence"
 msgstr "vigane juhtjada"
 
-#: src/po-lex.c:477
+#: src/po-lex.c:1047
 msgid "end-of-file within string"
 msgstr "Ootamatu faili lõpp (fail lõppeb poole stringi pealt)"
 
-#: src/po-lex.c:482
+#: src/po-lex.c:1053
 msgid "end-of-line within string"
 msgstr "reavahetus asub stringi sees"
 
-#: src/po-lex.c:525 src/write-po.c:291 src/write-po.c:373
-msgid "invalid multibyte sequence"
-msgstr "vigane multibait jada"
+#: src/read-mo.c:71 src/read-mo.c:136
+#, c-format
+msgid "file \"%s\" truncated"
+msgstr "faili \"%s\" sai kärbitud"
+
+#: src/read-mo.c:102
+#, c-format
+msgid "seek \"%s\" offset %ld failed"
+msgstr "hüpe \"%s\" positsioonile %ld ebaõnnestus"
+
+#: src/read-mo.c:141
+#, c-format
+msgid "file \"%s\" contains a not NUL terminated string"
+msgstr "fail \"%s\" sisaldab stringi, mis ei lõpe koodiga NUL"
+
+#: src/read-mo.c:186
+#, c-format
+msgid "file \"%s\" is not in GNU .mo format"
+msgstr "fail \"%s\" ei ole GNU .mo vormingus"
+
+#: src/write-java.c:1108
+msgid "cannot find a temporary directory, try setting $TMPDIR"
+msgstr ""
+
+#: src/write-java.c:1118
+#, fuzzy, c-format
+msgid "cannot create a temporary directory using template \"%s\""
+msgstr "ei suuda luua väljundfaili \"%s\""
+
+#: src/write-java.c:1131
+#, c-format
+msgid "not a valid Java class name: %s"
+msgstr ""
+
+#: src/write-java.c:1188 src/write-java.c:1201
+#, c-format
+msgid "failed to create \"%s\""
+msgstr ""
+
+#: src/write-java.c:1209 src/write-mo.c:289 src/write-po.c:966
+#, c-format
+msgid "error while writing \"%s\" file"
+msgstr "viga faili \"%s\" kirjutamisel"
+
+#: src/write-java.c:1223
+msgid "compilation of Java class failed, please try --verbose or set $JAVAC"
+msgstr ""
+
+#: src/write-mo.c:277
+#, c-format
+msgid "error while opening \"%s\" for writing"
+msgstr "viga faili \"%s\" avamisel (kirjutamiseks)"
 
-#: src/write-po.c:322
+#: src/write-po.c:370
 #, c-format
 msgid ""
 "internationalized messages should not contain the `\\%c' escape sequence"
 msgstr "tõlgitud teated peaksid mitte sisaldama `\\%c' erimärgijada"
 
-#: src/write-po.c:816
+#: src/write-po.c:724 src/write-po.c:818
+#, c-format
+msgid ""
+"The following msgid contains non-ASCII characters.\n"
+"This will cause problems to translators who use a character encoding\n"
+"different from yours. Consider using a pure ASCII msgid instead.\n"
+"%s\n"
+msgstr ""
+
+#: src/write-po.c:885
 #, c-format
 msgid "cannot create output file \"%s\""
 msgstr "ei suuda luua väljundfaili \"%s\""
 
-#: src/write-po.c:823
+#: src/write-po.c:892
 #, no-c-format
 msgid "standard output"
 msgstr "standardväljund"
 
-#: src/write-po.c:893
-#, c-format
-msgid "error while writing \"%s\" file"
-msgstr "viga faili \"%s\" kirjutamisel"
-
-#: src/xget-lex.c:150
-msgid "standard input"
-msgstr "standardsisend"
-
-#: src/xget-lex.c:879
+#: src/x-c.c:858
 #, c-format
 msgid "%s:%d: warning: unterminated character constant"
 msgstr "%s:%d: lõpetamata sümbolkonstant"
 
-#: src/xget-lex.c:903
+#: src/x-c.c:882
 #, c-format
 msgid "%s:%d: warning: unterminated string literal"
 msgstr "%s:%d: hoiatus: lõpetamata string"
 
-#. We are about to construct the absolute path to the
-#. directory for the output files but asprintf failed.
-#: src/xgettext.c:325 src/xgettext.c:1368
-msgid "while preparing output"
-msgstr "väljundi ettevalmistamise käigus"
+#: src/x-po.c:106 src/xgettext.c:605
+msgid "this file may not contain domain directives"
+msgstr "see fail ei tohi sisaldada domeeni direktiive"
+
+#: src/x-rst.c:108
+#, c-format
+msgid "%s:%d: invalid string definition"
+msgstr ""
+
+#: src/x-rst.c:168
+#, c-format
+msgid "%s:%d: missing number after #"
+msgstr ""
+
+#: src/x-rst.c:203
+#, c-format
+msgid "%s:%d: invalid string expression"
+msgstr ""
 
-#: src/xgettext.c:371
+#: src/xgettext.c:375
 msgid "--join-existing cannot be used when output is written to stdout"
 msgstr ""
 "võtit `--join-existing' ei ole võimalik pruukida kui väljunit kirjutatakse "
 "standardväljundisse"
 
-#: src/xgettext.c:376
+#: src/xgettext.c:380
 msgid "xgettext cannot work without keywords to look for"
 msgstr "xgettext ei tööta ilma vajalike võtmesõnadeta"
 
-#: src/xgettext.c:482
+#: src/xgettext.c:468
 #, c-format
 msgid "warning: file `%s' extension `%s' is unknown; will try C"
 msgstr "hoiatus: faili `%s' laiend `%s' on tundmatu; proovin C vormingut"
 
-#: src/xgettext.c:523
+#: src/xgettext.c:509
 #, no-wrap
 msgid "Extract translatable strings from given input files.\n"
 msgstr ""
 
-#: src/xgettext.c:528
+#: src/xgettext.c:514
 #, no-wrap
 msgid ""
 "Mandatory arguments to long options are mandatory for short options too.\n"
 "Similarly for optional arguments.\n"
 msgstr ""
 
-#: src/xgettext.c:543
+#: src/xgettext.c:529
 #, no-wrap
 msgid ""
 "Output file location:\n"
@@ -1498,16 +2139,17 @@ msgid ""
 "If output file is -, output is written to standard output.\n"
 msgstr ""
 
-#: src/xgettext.c:552
+#: src/xgettext.c:538
 #, no-wrap
 msgid ""
 "Choice of input file language:\n"
-"  -L, --language=NAME            recognise the specified language (C, C++, PO)\n"
+"  -L, --language=NAME            recognise the specified language\n"
+"                                   (C, C++, ObjectiveC, PO, Java, YCP)\n"
 "  -C, --c++                      shorthand for --language=C++\n"
 "By default the language is guessed depending on the input file name extension.\n"
 msgstr ""
 
-#: src/xgettext.c:560
+#: src/xgettext.c:547
 #, no-wrap
 msgid ""
 "Operation mode:\n"
@@ -1517,7 +2159,7 @@ msgid ""
 "                                 preceding keyword lines) in output file\n"
 msgstr ""
 
-#: src/xgettext.c:569
+#: src/xgettext.c:556
 #, no-wrap
 msgid ""
 "Language=C/C++ specific options:\n"
@@ -1528,8 +2170,8 @@ msgid ""
 "      --debug                    more detailed formatstring recognition result\n"
 msgstr ""
 
-#: src/xgettext.c:579
-#, no-wrap
+#: src/xgettext.c:566
+#, fuzzy, no-wrap
 msgid ""
 "Output details:\n"
 "  -e, --no-escape                do not use C escapes in output (default)\n"
@@ -1540,29 +2182,63 @@ msgid ""
 "  -n, --add-location             generate '#: filename:line' lines (default)\n"
 "      --strict                   write out strict Uniforum conforming .po file\n"
 "  -w, --width=NUMBER             set output page width\n"
-"  -s, --sort-output              generate sorted output and remove duplicates\n"
+"  -s, --sort-output              generate sorted output\n"
 "  -F, --sort-by-file             sort output by file location\n"
 "      --omit-header              don't write header with `msgid \"\"' entry\n"
 "      --foreign-user             omit FSF copyright in output for foreign user\n"
 "  -m, --msgstr-prefix[=STRING]   use STRING or \"\" as prefix for msgstr entries\n"
 "  -M, --msgstr-suffix[=STRING]   use STRING or \"\" as suffix for msgstr entries\n"
 msgstr ""
+"Kasutamine: %s [VÕTI] def.po ref.po\n"
+"Argumendid, mis on kohustuslikud pikkadele võtmetele, on kohustuslikud ka\n"
+"lühikesetele.\n"
+"  -C, --compendium=FAIL      lisatõlgete teek, neid võib esineda rohkem\n"
+"                             kui üks\n"
+"  -D, --directory=KATALOOG   lisab kataloogi sisendfailide otsinguteede\n"
+"                             nimekirja\n"
+"  -e, --no-escape            keelab C erimärkide kasutamise tulemuses\n"
+"                             (vaikimisi)\n"
+"  -E, --escape               määrab C erimärkide kasutamise tulemuses\n"
+"      --force-po             kirjutab PO faili ka siis, kui see on tühi\n"
+"  -h, --help                 väljastab käesoleva abiinfo ja lõpetab programmi\n"
+"                             töö\n"
+"  -i, --indent               kirjutab .po faili, kasutades taandridu\n"
+"  -o, --output-file=FAIL     määrab väljundfaili nime\n"
+"      --no-location          keelab '#: failinimi:reanumber' ridade\n"
+"                             kirjutamise\n"
+"  -n, --add-location         kirjutab ka '#: failinimi:reanumber' read\n"
+"                             (vaikimisi)\n"
+"      --strict               rakendab ranget Uniforum meetodit\n"
+"  -v, --verbose              suurendab väljastatava teabe hulka\n"
+"  -V, --version              väljastab versiooniinfo ja lõpetab programmi töö\n"
+"  -w, --width=NUMBER         määrab väljastatava lehekülje laiuse\n"
 
-#: src/xgettext.c:945
-#, c-format
-msgid "%s:%d: warning: keyword nested in keyword arg"
-msgstr ""
+#: src/xgettext.c:720
+msgid "standard input"
+msgstr "standardsisend"
 
-#: src/xgettext.c:957
-#, c-format
-msgid "%s:%d: warning: keyword between outer keyword and its arg"
+#: src/xgettext.c:830
+msgid ""
+"Empty msgid.  It is reserved by GNU gettext:\n"
+"gettext(\"\") returns the header entry with\n"
+"meta information, not the empty string.\n"
 msgstr ""
 
-#: src/xgettext.c:1446
+#: src/xgettext.c:1099
 #, c-format
 msgid "language `%s' unknown"
 msgstr "tundmatu keel `%s'"
 
+#~ msgid "while creating hash table"
+#~ msgstr "paisktabeli loomise käigus"
+
+#, fuzzy
+#~ msgid "%s:%lu: warning: keyword nested in keyword arg"
+#~ msgstr "%s:%d: hoiatus: lõpetamata string"
+
+#~ msgid "while preparing output"
+#~ msgstr "väljundi ettevalmistamise käigus"
+
 #~ msgid "this message has no definition in the \"%s\" domain"
 #~ msgstr "see teade ei ole \"%s\" domeenis kirjeldatud"
 
index 1999bbf826d7871647448730d6e0c7bacff4a43c..7db7924a69d90c14359f21c9cb21f026effba1cd 100644 (file)
Binary files a/po/fr.gmo and b/po/fr.gmo differ
index 860830a6fcc65f641331fe914243313cbd91d42e..5af7cb6a3d091335838fcb8e676f618abd5978cb 100644 (file)
--- a/po/fr.po
+++ b/po/fr.po
@@ -7,7 +7,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: GNU gettext 0.11-pre1\n"
-"POT-Creation-Date: 2001-11-01 13:09+0100\n"
+"POT-Creation-Date: 2001-11-30 14:18+0100\n"
 "PO-Revision-Date: 2001-11-22 15:00-05:00\n"
 "Last-Translator: Michel Robitaille <robitail@IRO.UMontreal.CA>\n"
 "Language-Team: French <traduc@traduc.org>\n"
@@ -31,7 +31,7 @@ msgid "Valid arguments are:"
 msgstr "Les arguments valides sont:"
 
 #: lib/copy-file.c:60 src/file-list.c:57 src/po-lex.c:732 src/read-mo.c:170
-#: src/xgettext.c:737 src/xgettext.c:750 src/xgettext.c:760
+#: src/xgettext.c:729 src/xgettext.c:742 src/xgettext.c:752
 #, c-format
 msgid "error while opening \"%s\" for reading"
 msgstr "erreur lors de l'ouverture de « %s » en lecture"
@@ -126,7 +126,7 @@ msgstr "%s: l'option 
 msgid "Java compiler not found, try installing gcj or set $JAVAC"
 msgstr "Compilateur Java non repéré, essyer d'installer gcj ou définir $JAVAC"
 
-#: lib/javaexec.c:402
+#: lib/javaexec.c:404
 msgid "Java virtual machine not found, try installing gij or set $JAVA"
 msgstr ""
 "Machine virtuelle Java non repérée, essayer d'installer gij ou définir $JAVA"
@@ -186,7 +186,7 @@ msgstr ""
 "les spécifications de format entre « msgid » et « msgstr » pour l'argument {%"
 "u} ne sont pas les mêmes"
 
-#: src/format-lisp.c:3385
+#: src/format-lisp.c:3371
 msgid "format specifications in 'msgid' and 'msgstr' are not equivalent"
 msgstr ""
 "les spécifications de format entre « msgid » et « msgstr » ne sont pas "
@@ -229,23 +229,23 @@ msgstr ""
 "les spécifications de format de « msgid » et « msgstr » pour l'argument «%s» "
 "ne sont pas les mêmes"
 
-#: src/format-ycp.c:135
+#: src/format-ycp.c:137
 #, c-format
 msgid "a format specification for argument %u doesn't exist in 'msgstr'"
 msgstr ""
 "les spécifications de format pour l'argument %u n'existe pas dans « msgstr »"
 
-#: src/format-ycp.c:136
+#: src/format-ycp.c:138
 #, c-format
 msgid "a format specification for argument %u doesn't exist in 'msgid'"
 msgstr ""
 "les spécifications de format pour l'argument %u n'existe pas dans « msgid »"
 
 #: src/gettext.c:146 src/hostname.c:168 src/msgattrib.c:264 src/msgcat.c:229
-#: src/msgcmp.c:133 src/msgcomm.c:232 src/msgconv.c:182 src/msgen.c:171
-#: src/msgexec.c:240 src/msgfmt.c:312 src/msggrep.c:276 src/msginit.c:249
-#: src/msgmerge.c:249 src/msgunfmt.c:182 src/msguniq.c:207 src/ngettext.c:126
-#: src/xgettext.c:356
+#: src/msgcmp.c:134 src/msgcomm.c:232 src/msgconv.c:182 src/msgen.c:171
+#: src/msgexec.c:240 src/msgfmt.c:333 src/msggrep.c:276 src/msginit.c:247
+#: src/msgmerge.c:252 src/msgunfmt.c:182 src/msguniq.c:207 src/ngettext.c:126
+#: src/xgettext.c:352
 #, c-format, no-wrap
 msgid ""
 "Copyright (C) %s Free Software Foundation, Inc.\n"
@@ -258,15 +258,15 @@ msgstr ""
 "de QUALITÉ LOYALE ET MARCHANDE ou d'ADÉQUATION POUR UN BUT PARTICULIER.\n"
 
 #: src/gettext.c:151 src/hostname.c:173 src/msgattrib.c:269 src/msgcat.c:234
-#: src/msgcmp.c:138 src/msgcomm.c:237 src/msgconv.c:187 src/msgen.c:176
-#: src/msgexec.c:245 src/msgfmt.c:317 src/msggrep.c:281 src/msginit.c:254
-#: src/msgmerge.c:254 src/msgunfmt.c:187 src/msguniq.c:212 src/ngettext.c:131
-#: src/xgettext.c:361
+#: src/msgcmp.c:139 src/msgcomm.c:237 src/msgconv.c:187 src/msgen.c:176
+#: src/msgexec.c:245 src/msgfmt.c:338 src/msggrep.c:281 src/msginit.c:252
+#: src/msgmerge.c:257 src/msgunfmt.c:187 src/msguniq.c:212 src/ngettext.c:131
+#: src/xgettext.c:357
 #, c-format
 msgid "Written by %s.\n"
 msgstr "Écrit par %s.\n"
 
-#: src/gettext.c:169 src/hostname.c:183 src/msginit.c:264 src/ngettext.c:143
+#: src/gettext.c:169 src/hostname.c:183 src/msginit.c:262 src/ngettext.c:143
 msgid "too many arguments"
 msgstr "trop d'arguments"
 
@@ -275,10 +275,10 @@ msgid "missing arguments"
 msgstr "arguments manquants"
 
 #: src/gettext.c:251 src/hostname.c:197 src/msgattrib.c:322 src/msgcat.c:290
-#: src/msgcmp.c:170 src/msgcomm.c:306 src/msgconv.c:241 src/msgen.c:227
-#: src/msgexec.c:338 src/msgfmt.c:455 src/msggrep.c:371 src/msginit.c:340
-#: src/msgmerge.c:364 src/msgunfmt.c:262 src/msguniq.c:269 src/ngettext.c:210
-#: src/xgettext.c:507
+#: src/msgcmp.c:171 src/msgcomm.c:306 src/msgconv.c:241 src/msgen.c:227
+#: src/msgexec.c:338 src/msgfmt.c:479 src/msggrep.c:371 src/msginit.c:338
+#: src/msgmerge.c:367 src/msgunfmt.c:262 src/msguniq.c:269 src/ngettext.c:210
+#: src/xgettext.c:499
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "Pour plus d'information, essayer « %s --help ».\n"
@@ -339,14 +339,14 @@ msgstr ""
 "Répertoire standard de fouille: %s\n"
 
 #: src/gettext.c:288 src/hostname.c:227 src/msgattrib.c:402 src/msgcat.c:371
-#: src/msgcmp.c:215 src/msgcomm.c:384 src/msgconv.c:305 src/msgen.c:287
-#: src/msgexec.c:410 src/msgfmt.c:537 src/msggrep.c:457 src/msginit.c:391
-#: src/msgmerge.c:462 src/msgunfmt.c:331 src/msguniq.c:343 src/ngettext.c:244
-#: src/xgettext.c:599
+#: src/msgcmp.c:216 src/msgcomm.c:384 src/msgconv.c:305 src/msgen.c:287
+#: src/msgexec.c:410 src/msgfmt.c:563 src/msggrep.c:457 src/msginit.c:389
+#: src/msgmerge.c:465 src/msgunfmt.c:331 src/msguniq.c:343 src/ngettext.c:244
+#: src/xgettext.c:591
 msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
 msgstr "Rapportez tout problème fonctionnel à <bug-gnu-gettext@gnu.org>.\n"
 
-#: src/hostname.c:202 src/msginit.c:345
+#: src/hostname.c:202 src/msginit.c:343
 #, c-format, no-wrap
 msgid "Usage: %s [OPTION]\n"
 msgstr "Usage: %s [OPTION]\n"
@@ -371,8 +371,8 @@ msgstr ""
 "                          et les aliases\n"
 "  -i, --ip-address      addresses IP de la machine hôte\n"
 
-#: src/hostname.c:221 src/msgattrib.c:396 src/msgcmp.c:209 src/msgconv.c:299
-#: src/msgen.c:281 src/msgexec.c:404 src/msggrep.c:451
+#: src/hostname.c:221 src/msgattrib.c:396 src/msgcmp.c:210 src/msgconv.c:299
+#: src/msgen.c:281 src/msgexec.c:404 src/msggrep.c:451 src/msginit.c:383
 #, no-wrap
 msgid ""
 "Informative output:\n"
@@ -388,16 +388,16 @@ msgid "could not get host name"
 msgstr "ne peut obtenir le nom de l'hôte"
 
 #: src/msgattrib.c:284 src/msgconv.c:202 src/msgexec.c:190 src/msggrep.c:296
-#: src/msginit.c:207 src/msguniq.c:227
+#: src/msginit.c:205 src/msguniq.c:227
 msgid "at most one input file allowed"
 msgstr "au plus un fichier d'entrée est permis"
 
 #: src/msgattrib.c:290 src/msgattrib.c:294 src/msgcat.c:244 src/msgcat.c:248
 #: src/msgcomm.c:247 src/msgcomm.c:251 src/msgconv.c:208 src/msgconv.c:212
 #: src/msgen.c:198 src/msgen.c:202 src/msgexec.c:260 src/msgexec.c:264
-#: src/msgfmt.c:337 src/msggrep.c:302 src/msggrep.c:306 src/msgmerge.c:279
-#: src/msgmerge.c:300 src/msgmerge.c:304 src/msguniq.c:233 src/msguniq.c:237
-#: src/xgettext.c:375 src/xgettext.c:379
+#: src/msgfmt.c:358 src/msggrep.c:302 src/msggrep.c:306 src/msgmerge.c:282
+#: src/msgmerge.c:303 src/msgmerge.c:307 src/msguniq.c:233 src/msguniq.c:237
+#: src/xgettext.c:367 src/xgettext.c:371
 #, c-format
 msgid "%s and %s are mutually exclusive"
 msgstr "%s et %s s'excluent mutuellement"
@@ -416,9 +416,9 @@ msgstr ""
 "Filtrer les messages d'un catalogue de traduction selon leurs attributs\n"
 "et manipuler leurs attributs.\n"
 
-#: src/msgattrib.c:338 src/msgcat.c:313 src/msgcmp.c:190 src/msgcomm.c:328
-#: src/msgconv.c:256 src/msgen.c:245 src/msgexec.c:353 src/msgfmt.c:470
-#: src/msggrep.c:387 src/msginit.c:356 src/msgmerge.c:387 src/msgunfmt.c:277
+#: src/msgattrib.c:338 src/msgcat.c:313 src/msgcmp.c:191 src/msgcomm.c:328
+#: src/msgconv.c:256 src/msgen.c:245 src/msgexec.c:353 src/msgfmt.c:494
+#: src/msggrep.c:387 src/msginit.c:354 src/msgmerge.c:390 src/msgunfmt.c:277
 #: src/msguniq.c:291
 #, no-wrap
 msgid "Mandatory arguments to long options are mandatory for short options too.\n"
@@ -440,7 +440,7 @@ msgstr ""
 "Si aucun fichier d'entrée n'est fourni ou si -, lire de l'entrée standard.\n"
 
 #: src/msgattrib.c:351 src/msgconv.c:269 src/msgen.c:258 src/msgexec.c:366
-#: src/msggrep.c:400 src/msgmerge.c:409
+#: src/msggrep.c:400 src/msgmerge.c:412
 #, no-wrap
 msgid ""
 "Output file location:\n"
@@ -522,7 +522,7 @@ msgstr ""
 msgid "impossible selection criteria specified (%d < n < %d)"
 msgstr "Critère de sélection irréalisable (%d < N < %d)"
 
-#: src/msgcat.c:295 src/msgcomm.c:311 src/xgettext.c:512
+#: src/msgcat.c:295 src/msgcomm.c:311 src/xgettext.c:504
 #, c-format, no-wrap
 msgid "Usage: %s [OPTION] [INPUTFILE]...\n"
 msgstr "Usage: %s [OPTION] [FICHIER-D-ENTRÉE]...\n"
@@ -549,7 +549,7 @@ msgstr ""
 "proviennent du premier fichier PO où elles ont été définies.\n"
 "Les positions de tous les fichiers PO seront cumulées.\n"
 
-#: src/msgcat.c:318 src/msgcomm.c:333 src/xgettext.c:528
+#: src/msgcat.c:318 src/msgcomm.c:333 src/xgettext.c:520
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -627,7 +627,7 @@ msgstr ""
 "  -s, --sort-output           générer une sortie triée\n"
 "  -F, --sort-by-file          trier la sortie selon la localisation des fichiers\n"
 
-#: src/msgcat.c:365 src/msgcomm.c:378 src/msguniq.c:337 src/xgettext.c:593
+#: src/msgcat.c:365 src/msgcomm.c:378 src/msguniq.c:337 src/xgettext.c:585
 #, no-wrap
 msgid ""
 "Informative output:\n"
@@ -638,20 +638,20 @@ msgstr ""
 "  -h, --help                  fournir ce message d'aide, puis terminer\n"
 "  -V, --version               identifier le programme, puis terminer\n"
 
-#: src/msgcmp.c:149 src/msgmerge.c:265
+#: src/msgcmp.c:150 src/msgmerge.c:268
 msgid "no input files given"
 msgstr "aucun fichier en entrée"
 
-#: src/msgcmp.c:154 src/msgmerge.c:270
+#: src/msgcmp.c:155 src/msgmerge.c:273
 msgid "exactly 2 input files required"
 msgstr "exactement deux fichiers sont requis en entrée"
 
-#: src/msgcmp.c:175 src/msgmerge.c:369
+#: src/msgcmp.c:176 src/msgmerge.c:372
 #, c-format, no-wrap
 msgid "Usage: %s [OPTION] def.po ref.pot\n"
 msgstr "Usage: %s [OPTION] def.po ref.pot\n"
 
-#: src/msgcmp.c:180
+#: src/msgcmp.c:181
 #, no-wrap
 msgid ""
 "Compare two Uniforum style .po files to check that both contain the same\n"
@@ -669,7 +669,7 @@ msgstr ""
 "de votre programme.  Lorsqu'un appariement exact n'est pas possible,\n"
 "un appariement flou est utilisé pour un meilleur diagnostic.\n"
 
-#: src/msgcmp.c:195
+#: src/msgcmp.c:196
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -682,7 +682,7 @@ msgstr ""
 "  ref.pot                     références aux sources\n"
 "  -D, --directory=RÉPERTOIRE  ajouter le RÉPERTOIRE pour rechercher la liste des fichiers d'entrée\n"
 
-#: src/msgcmp.c:203 src/msgmerge.c:433
+#: src/msgcmp.c:204 src/msgmerge.c:436
 #, no-wrap
 msgid ""
 "Operation modifiers:\n"
@@ -691,35 +691,35 @@ msgstr ""
 "Modificateurs d'opération:\n"
 "  -m, --multi-domain          appliquer ref.pot à chaque domaine défini dans def.po\n"
 
-#: src/msgcmp.c:252 src/msgmerge.c:540
+#: src/msgcmp.c:253 src/msgmerge.c:543
 msgid "this message is used but not defined..."
 msgstr "ce message est utilisé mais n'est pas défini..."
 
-#: src/msgcmp.c:254 src/msgmerge.c:542
+#: src/msgcmp.c:255 src/msgmerge.c:545
 msgid "...but this definition is similar"
 msgstr "...mais cette définition est similaire"
 
-#: src/msgcmp.c:259 src/msgmerge.c:569
+#: src/msgcmp.c:260 src/msgmerge.c:572
 #, c-format
 msgid "this message is used but not defined in %s"
 msgstr "ce message est utilisé mais n'est pas défini dans « %s »"
 
-#: src/msgcmp.c:331
+#: src/msgcmp.c:332
 msgid "warning: this message is not used"
 msgstr "ATTENTION: ce message n'est pas utilisé"
 
-#: src/msgcmp.c:338 src/po-lex.c:705
+#: src/msgcmp.c:339 src/po-lex.c:705
 #, c-format
 msgid "found %d fatal error"
 msgid_plural "found %d fatal errors"
 msgstr[0] "%d erreur fatale"
 msgstr[1] "%d erreurs fatales"
 
-#: src/msgcmp.c:419 src/msgfmt.c:1298 src/read-po.c:198 src/x-po.c:163
+#: src/msgcmp.c:420 src/msgfmt.c:1323 src/read-po.c:202 src/x-po.c:163
 msgid "duplicate message definition"
 msgstr "message doublement défini"
 
-#: src/msgcmp.c:420 src/msgfmt.c:1300 src/read-po.c:199 src/x-po.c:164
+#: src/msgcmp.c:421 src/msgfmt.c:1324 src/read-po.c:203 src/x-po.c:164
 msgid "...this is the location of the first definition"
 msgstr "...voici l'endroit de la première définition"
 
@@ -810,7 +810,7 @@ msgstr ""
 "  -t, --to-code=NOM          NOM de l'encodage de sortie\n"
 "L'encodage par défaut se fait selon l'encodage locale.\n"
 
-#: src/msgconv.c:284 src/msgen.c:266 src/msgmerge.c:439
+#: src/msgconv.c:284 src/msgen.c:266 src/msgmerge.c:442
 #, no-wrap
 msgid ""
 "Output details:\n"
@@ -837,7 +837,7 @@ msgstr ""
 "  -s, --sort-output           générer une sortie triée\n"
 "  -F, --sort-by-file          trier la sortie selon la localisation des fichiers\n"
 
-#: src/msgen.c:187 src/msgfmt.c:328 src/xgettext.c:396
+#: src/msgen.c:187 src/msgfmt.c:349 src/xgettext.c:388
 msgid "no input file given"
 msgstr "aucun fichier d'entrée fourni"
 
@@ -985,49 +985,54 @@ msgstr "
 msgid "%s subprocess terminated with exit code %d"
 msgstr "fin d'exécution du sous-processus %s avec le code de terminaison %d"
 
-#: src/msgfmt.c:343
+#: src/msgfmt.c:303
+#, c-format
+msgid "the argument to %s should be a single punctuation character"
+msgstr ""
+
+#: src/msgfmt.c:364
 #, c-format
 msgid "%s requires a \"-d directory\" specification"
 msgstr "%s requiert une spécification de type \"-d directory\""
 
-#: src/msgfmt.c:352 src/msgfmt.c:358 src/msgfmt.c:364 src/msgmerge.c:287
-#: src/msgmerge.c:293 src/msgunfmt.c:209 src/msgunfmt.c:215
+#: src/msgfmt.c:373 src/msgfmt.c:379 src/msgfmt.c:385 src/msgmerge.c:290
+#: src/msgmerge.c:296 src/msgunfmt.c:209 src/msgunfmt.c:215
 #, c-format
 msgid "%s is only valid with %s"
 msgstr "%s est valable seulement avec %s"
 
-#: src/msgfmt.c:428
+#: src/msgfmt.c:452
 #, c-format
 msgid "%d translated message"
 msgid_plural "%d translated messages"
 msgstr[0] "%d message traduit"
 msgstr[1] "%d messages traduits"
 
-#: src/msgfmt.c:433
+#: src/msgfmt.c:457
 #, c-format
 msgid ", %d fuzzy translation"
 msgid_plural ", %d fuzzy translations"
 msgstr[0] ", %d traduction approximée"
 msgstr[1] ", %d traductions approximées"
 
-#: src/msgfmt.c:438
+#: src/msgfmt.c:462
 #, c-format
 msgid ", %d untranslated message"
 msgid_plural ", %d untranslated messages"
 msgstr[0] ", %d message non-traduit"
 msgstr[1] ", %d messages non-traduits"
 
-#: src/msgfmt.c:460
+#: src/msgfmt.c:484
 #, c-format, no-wrap
 msgid "Usage: %s [OPTION] filename.po ...\n"
 msgstr "Usage: %s [OPTION] nom-de-fichier.po ...\n"
 
-#: src/msgfmt.c:465
+#: src/msgfmt.c:489
 #, no-wrap
 msgid "Generate binary message catalog from textual translation description.\n"
 msgstr "Générer un catalogue binaire de messages à partir de la description des traductions textuelles.\n"
 
-#: src/msgfmt.c:475
+#: src/msgfmt.c:499
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -1040,7 +1045,7 @@ msgstr ""
 "  -D, --directory=RÉPERTOIRE  ajouter le RÉPERTOIRE pour la recherche des fichiers d'entrée\n"
 "Si aucun fichier d'entrée n'est fourni ou si -, lire de l'entrée standard.\n"
 
-#: src/msgfmt.c:483
+#: src/msgfmt.c:507
 #, no-wrap
 msgid ""
 "Operation mode:\n"
@@ -1051,7 +1056,7 @@ msgstr ""
 "  -j, --java                  mode Java: générer une classe ResourceBundle en Java\n"
 "      --java2                 identique à --java et assume Java2 (i.e. JDK 1.2 ou plus)\n"
 
-#: src/msgfmt.c:490
+#: src/msgfmt.c:514
 #, no-wrap
 msgid ""
 "Output file location:\n"
@@ -1064,7 +1069,7 @@ msgstr ""
 "      --strict                permettre le mode de conformité strict au mode Uniforum\n"
 "Si le fichier de sortie est -, la sortie est produite sur la sortie standard.\n"
 
-#: src/msgfmt.c:498
+#: src/msgfmt.c:522
 #, no-wrap
 msgid ""
 "Output file location in Java mode:\n"
@@ -1082,8 +1087,8 @@ msgstr ""
 "séparé par un souligné. L'option -d est obligatoire. La classe est produite\n"
 "dans le répertoire spécifié.\n"
 
-#: src/msgfmt.c:509
-#, no-wrap
+#: src/msgfmt.c:533
+#, fuzzy, no-wrap
 msgid ""
 "Input file interpretation:\n"
 "  -c, --check                 perform all the checks implied by\n"
@@ -1093,6 +1098,8 @@ msgid ""
 "      --check-domain          check for conflicts between domain directives\n"
 "                                and the --output-file option\n"
 "  -C, --check-compatibility   check that GNU msgfmt behaves like X/Open msgfmt\n"
+"      --check-accelerators[=CHAR]  check presence of keyboard accelerators for\n"
+"                                menu items\n"
 "  -f, --use-fuzzy             use fuzzy entries in output\n"
 msgstr ""
 "Interpértation du fichier d'entrée:\n"
@@ -1105,7 +1112,7 @@ msgstr ""
 "  -C, --check-compatibility   vérifier que GNU msgfmt se comporte comme X/Open msgfmt\n"
 "  -f, --use-fuzzy             utiliser les entrées floues pour la sortie\n"
 
-#: src/msgfmt.c:522
+#: src/msgfmt.c:548
 #, c-format, no-wrap
 msgid ""
 "Output details:\n"
@@ -1116,7 +1123,7 @@ msgstr ""
 "  -a, --alignment=NOMBRE      aligner les chaînes selon le NOMBRE d'octets (%d par défaut)\n"
 "      --no-hash               ne pas inclure la table de hachage dans le fichier binaire\n"
 
-#: src/msgfmt.c:529
+#: src/msgfmt.c:555
 #, no-wrap
 msgid ""
 "Informative output:\n"
@@ -1131,30 +1138,26 @@ msgstr ""
 "      --statistics            afficher les statistiques de traductions\n"
 "  -v, --verbose               diagnostiquer toute anomalie dans chaque FICHIER\n"
 
-#: src/msgfmt.c:579
-msgid "while creating hash table"
-msgstr "pendant la création de la table de dispersion"
-
-#: src/msgfmt.c:675
+#: src/msgfmt.c:707
 msgid "plural expression can produce negative values"
 msgstr "L'expression au pluriel peut produire des valeurs négatives."
 
-#: src/msgfmt.c:688
+#: src/msgfmt.c:720
 #, c-format
 msgid "nplurals = %lu but plural expression can produce values as large as %lu"
 msgstr ""
 "nplurals = %lu mais l'expression au pluriel peut produire des valeurs aussi "
 "grande que %lu"
 
-#: src/msgfmt.c:714
+#: src/msgfmt.c:746
 msgid "plural expression can produce division by zero"
 msgstr "L'expression au pluriel peut produire une division par zéro."
 
-#: src/msgfmt.c:719
+#: src/msgfmt.c:751
 msgid "plural expression can produce integer overflow"
 msgstr "L'expression au pluriel peut produire un débordement d'entier"
 
-#: src/msgfmt.c:724
+#: src/msgfmt.c:756
 msgid ""
 "plural expression can produce arithmetic exceptions, possibly division by "
 "zero"
@@ -1162,43 +1165,43 @@ msgstr ""
 "L'expression au pluriel peut produire une exception arithmétique, "
 "possiblement une division par zéro"
 
-#: src/msgfmt.c:798 src/msgfmt.c:809
+#: src/msgfmt.c:830 src/msgfmt.c:841
 msgid "message catalog has plural form translations..."
 msgstr ""
 "le catalogue de messages contient des formes de traduction au pluriel..."
 
-#: src/msgfmt.c:801
+#: src/msgfmt.c:833
 msgid "...but header entry lacks a \"plural=EXPRESSION\" attribute"
 msgstr "...mais l'attribut « plural=EXPRESSION » est absente de l'en-tête"
 
-#: src/msgfmt.c:812
+#: src/msgfmt.c:844
 msgid "...but header entry lacks a \"nplurals=INTEGER\" attribute"
 msgstr "...mais l'attribut « nplurals=ENTIER » est absent de l'en-tête"
 
-#: src/msgfmt.c:836
+#: src/msgfmt.c:868
 msgid "invalid nplurals value"
 msgstr "valeur nplurals invalide"
 
-#: src/msgfmt.c:849
+#: src/msgfmt.c:881
 msgid "invalid plural expression"
 msgstr "expression au pluriel invalide"
 
-#: src/msgfmt.c:867 src/msgfmt.c:880
+#: src/msgfmt.c:899 src/msgfmt.c:912
 #, c-format
 msgid "nplurals = %lu..."
 msgstr "nplurals = %lu..."
 
-#: src/msgfmt.c:870
+#: src/msgfmt.c:902
 #, c-format
 msgid "...but some messages have only %lu plural forms"
 msgstr "...mais quelques messages n'ont seulement que %lu formes au pluriel"
 
-#: src/msgfmt.c:883
+#: src/msgfmt.c:915
 #, c-format
 msgid "...but some messages have %lu plural forms"
 msgstr "...mais quelques messages ont %lu formes au pluriel"
 
-#: src/msgfmt.c:898
+#: src/msgfmt.c:930
 msgid ""
 "message catalog has plural form translations, but lacks a header entry with "
 "\"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\""
@@ -1206,95 +1209,116 @@ msgstr ""
 "le catalogue de messages contient des formes de traduction au pluriel, mais "
 "l'entrée \"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\" est manquante"
 
-#: src/msgfmt.c:936
+#: src/msgfmt.c:968
 msgid "`msgid' and `msgid_plural' entries do not both begin with '\\n'"
 msgstr "les chaînes « msgid » et « msgid_plural » débutent pas par « \\n »"
 
-#: src/msgfmt.c:946
+#: src/msgfmt.c:978
 #, c-format
 msgid "`msgid' and `msgstr[%u]' entries do not both begin with '\\n'"
 msgstr "les chaînes « msgid » et « msgstr[%u] » ne débutent pas par « \\n »"
 
-#: src/msgfmt.c:958
+#: src/msgfmt.c:990
 msgid "`msgid' and `msgstr' entries do not both begin with '\\n'"
 msgstr "les chaînes « msgid » et « msgstr » ne débutent pas par « \\n »"
 
-#: src/msgfmt.c:975
+#: src/msgfmt.c:1007
 msgid "`msgid' and `msgid_plural' entries do not both end with '\\n'"
 msgstr "les chaînes « msgid » et « msgid_plural » se terminent pas par « \\n »"
 
-#: src/msgfmt.c:985
+#: src/msgfmt.c:1017
 #, c-format
 msgid "`msgid' and `msgstr[%u]' entries do not both end with '\\n'"
 msgstr "les chaînes « msgid » ou « msgstr[%u] » se terminent pas par « \\n »"
 
-#: src/msgfmt.c:997
+#: src/msgfmt.c:1029
 msgid "`msgid' and `msgstr' entries do not both end with '\\n'"
 msgstr "les chaînes « msgid » et « msgstr » se terminent pas par « \\n »"
 
-#: src/msgfmt.c:1009
+#: src/msgfmt.c:1041
 msgid "plural handling is a GNU gettext extension"
 msgstr "le traitement des formes au pluriel est une extension de GNU gettext"
 
-#: src/msgfmt.c:1056
+#: src/msgfmt.c:1088
 #, c-format
 msgid "'msgstr' is not a valid %s format string, unlike 'msgid'"
 msgstr ""
 "« msgstr » n'a pas une chaîne ayant format %s valide, contrairement à « "
 "msgid »"
 
-#: src/msgfmt.c:1104
-msgid "warning: PO file header missing, fuzzy, or invalid\n"
+#: src/msgfmt.c:1122
+#, c-format
+msgid "msgstr lacks the keyboard accelerator mark '%c'"
+msgstr ""
+
+#: src/msgfmt.c:1130
+#, c-format
+msgid "msgstr has too many keyboard accelerator marks '%c'"
+msgstr ""
+
+#: src/msgfmt.c:1164
+#, c-format
+msgid "headerfield `%s' missing in header"
+msgstr "Le champ « %s » est absent de l'en-tête"
+
+#: src/msgfmt.c:1167
+#, c-format
+msgid "header field `%s' should start at beginning of line"
+msgstr "Le champ « %s » devrait s'appuyer au début de la ligne"
+
+#: src/msgfmt.c:1176
+msgid "some header fields still have the initial default value"
+msgstr "Quelques champs de l'en-tête ont toujours leur valeur initiale"
+
+#: src/msgfmt.c:1187
+#, c-format
+msgid "field `%s' still has initial default value"
+msgstr "Le champ « %s » a toujours sa valeur initiale"
+
+#: src/msgfmt.c:1228
+#, fuzzy
+msgid "warning: PO file header missing or invalid\n"
 msgstr ""
 "AVERTISSEMENT: l'en-tête du fichier PO est manquante, floue ou invalide\n"
 
-#: src/msgfmt.c:1107
+#: src/msgfmt.c:1231
 msgid "warning: charset conversion will not work\n"
 msgstr "AVERTISSEMENT: le conversion du charset ne fonctionnera pas\n"
 
-#: src/msgfmt.c:1131
+#: src/msgfmt.c:1241
+#, fuzzy
+msgid "warning: PO file header fuzzy\n"
+msgstr ""
+"AVERTISSEMENT: l'en-tête du fichier PO est manquante, floue ou invalide\n"
+
+#: src/msgfmt.c:1243
+msgid "warning: older versions of msgfmt will give an error on this\n"
+msgstr ""
+
+#: src/msgfmt.c:1268
 #, c-format
 msgid "domain name \"%s\" not suitable as file name"
 msgstr "« %s » n'est pas approprié comme nom de domaine"
 
-#: src/msgfmt.c:1136
+#: src/msgfmt.c:1273
 #, c-format
 msgid "domain name \"%s\" not suitable as file name: will use prefix"
 msgstr "domaine « %s » inadéquat comme nom de fichier: utilisera un préfixe"
 
-#: src/msgfmt.c:1147
+#: src/msgfmt.c:1284
 #, c-format
 msgid "`domain %s' directive ignored"
 msgstr "la directive « domain %s » sera ignorée"
 
-#: src/msgfmt.c:1182
+#: src/msgfmt.c:1356
 msgid "empty `msgstr' entry ignored"
 msgstr "chaîne « msgstr » vide, entrée ignorée"
 
-#: src/msgfmt.c:1183
+#: src/msgfmt.c:1357
 msgid "fuzzy `msgstr' entry ignored"
 msgstr "chaîne « msgstr » approximée, entrée ignorée"
 
-#: src/msgfmt.c:1226
-#, c-format
-msgid "headerfield `%s' missing in header"
-msgstr "Le champ « %s » est absent de l'en-tête"
-
-#: src/msgfmt.c:1229
-#, c-format
-msgid "header field `%s' should start at beginning of line"
-msgstr "Le champ « %s » devrait s'appuyer au début de la ligne"
-
-#: src/msgfmt.c:1239
-msgid "some header fields still have the initial default value"
-msgstr "Quelques champs de l'en-tête ont toujours leur valeur initiale"
-
-#: src/msgfmt.c:1250
-#, c-format
-msgid "field `%s' still has initial default value"
-msgstr "Le champ « %s » a toujours sa valeur initiale"
-
-#: src/msgfmt.c:1339
+#: src/msgfmt.c:1426
 #, c-format
 msgid "%s: warning: source file contains fuzzy translation"
 msgstr "%s: attention: certaines traductions sont approximatives"
@@ -1399,7 +1423,7 @@ msgstr ""
 msgid "write to grep subprocess failed"
 msgstr "indiquer le sous-processus grep a échoué"
 
-#: src/msginit.c:277
+#: src/msginit.c:275
 msgid ""
 "You are in a language indifferent environment.  Please set\n"
 "your LANG environment variable, as described in the ABOUT-NLS\n"
@@ -1409,7 +1433,7 @@ msgstr ""
 "définir votre variable d'environnement LANG, tel que décrit dans\n"
 "le fichier ABOUT-NLS. Cela est nécessaire afin de tester votre traduction.\n"
 
-#: src/msginit.c:305
+#: src/msginit.c:303
 #, c-format
 msgid ""
 "Output file %s already exists.\n"
@@ -1420,7 +1444,12 @@ msgstr ""
 "SVP définir la locale à l'aide de l'option --locale ou\n"
 "du fichier de sortie .po à l'aide de l'option --output-file.\n"
 
-#: src/msginit.c:350
+#: src/msginit.c:326
+#, c-format
+msgid "Created %s.\n"
+msgstr ""
+
+#: src/msginit.c:348
 #, no-wrap
 msgid ""
 "Creates a new PO file, initializing the meta information with values from the\n"
@@ -1429,7 +1458,7 @@ msgstr ""
 "Créer un nouveau fichier PO en initialisant la méta-information avec des valeurs\n"
 "provenant de l'environnement de l'usager.\n"
 
-#: src/msginit.c:361
+#: src/msginit.c:359
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -1442,7 +1471,7 @@ msgstr ""
 " -D, --directory=RÉPERTOIRE   ajouter le RÉPERTOIRE pour la recherche des fichiers d'entrée\n"
 "Si aucun fichier d'entrée n'est fourni ou si -, lire de l'entrée standard.\n"
 
-#: src/msginit.c:369
+#: src/msginit.c:367
 #, no-wrap
 msgid ""
 "Output file location:\n"
@@ -1456,31 +1485,19 @@ msgstr ""
 "--locale ou selon celle de l'usager. Si la sortie est -, les résultats sont écrits\n"
 "sur la sortie standard.\n"
 
-#: src/msginit.c:377
-#, no-wrap
+#: src/msginit.c:375
+#, fuzzy, no-wrap
 msgid ""
 "Output details:\n"
 "  -l, --locale=LL_CC          set target locale\n"
+"      --no-translator         assume the PO file is automatically generated\n"
 "  -w, --width=NUMBER          set output page width\n"
 msgstr ""
 "Détails de sortie:\n"
 "  -l, --locale=LL_CC          définir la locale cible\n"
 "  -w, --width=NOMBRE          initialiser la largeur de page\n"
 
-#: src/msginit.c:384
-#, no-wrap
-msgid ""
-"Informative output:\n"
-"  -h, --help                  display this help and exit\n"
-"  -V, --version               output version information and exit\n"
-"  -v, --verbose               increase verbosity level\n"
-msgstr ""
-"Sortie informative:\n"
-"  -h, --help                  fournir ce message d'aide, puis terminer\n"
-"  -V, --version               identifier le programme, puis terminer\n"
-"  -v, --verbose               diagnostiquer toute anomalie dans chaque FICHIER\n"
-
-#: src/msginit.c:428
+#: src/msginit.c:426
 msgid ""
 "Found more than one .pot file.\n"
 "Please specify the input .pot file through the --input option.\n"
@@ -1488,11 +1505,11 @@ msgstr ""
 "Plus d'un fichier .pot repérés.\n"
 "SVP spécifier le fichier d'entrée .pot à l'aide de l'option --input.\n"
 
-#: src/msginit.c:436 src/msginit.c:441
+#: src/msginit.c:434 src/msginit.c:439
 msgid "error reading current directory"
 msgstr "erreur de lecture du répertoire courant"
 
-#: src/msginit.c:449
+#: src/msginit.c:447
 msgid ""
 "Found no .pot file in the current directory.\n"
 "Please specify the input .pot file through the --input option.\n"
@@ -1500,23 +1517,23 @@ msgstr ""
 "Aucun fichier .pot dans le répertoire courant.\n"
 "SVP spécifier le fichier d'entrée .pot à l'aide de l'option --input.\n"
 
-#: src/msginit.c:861 src/msginit.c:906 src/msginit.c:1035 src/msginit.c:1098
+#: src/msginit.c:887 src/msginit.c:932 src/msginit.c:1070 src/msginit.c:1137
 #: src/read-java.c:80
 msgid "fdopen() failed"
 msgstr "échec de fdopen()"
 
-#: src/msginit.c:866 src/msginit.c:911 src/msginit.c:1040
+#: src/msginit.c:892 src/msginit.c:937 src/msginit.c:1075
 #, c-format
 msgid "%s subprocess I/O error"
 msgstr "Erreur d'E/S du sous-processus %s"
 
-#: src/msginit.c:875 src/msginit.c:920 src/msginit.c:1049 src/msginit.c:1112
+#: src/msginit.c:901 src/msginit.c:946 src/msginit.c:1084 src/msginit.c:1151
 #: src/read-java.c:90
 #, c-format
 msgid "%s subprocess failed with exit code %d"
 msgstr "échec du sous-processus %s avec le code de fin d'exécution %d"
 
-#: src/msginit.c:1025
+#: src/msginit.c:1060
 msgid ""
 "The new message catalog should contain your email address, so that users "
 "can\n"
@@ -1533,22 +1550,22 @@ msgstr ""
 #. TRANSLATORS: "English" needs to be replaced by your language.
 #. For example in it.po write "Traduzioni italiani ...",
 #. *not* "Traduzioni inglesi ...".
-#: src/msginit.c:1385
+#: src/msginit.c:1440
 #, c-format
 msgid "English translations for %s package"
 msgstr "Traduction anglaise du package %s"
 
-#: src/msgl-cat.c:172 src/msgl-charset.c:86 src/msgl-iconv.c:299
+#: src/msgl-cat.c:173 src/msgl-charset.c:86 src/msgl-iconv.c:299
 #, c-format
 msgid "present charset \"%s\" is not a portable encoding name"
 msgstr "le présent charset « %s » n'a pas un nom d'encodage portable"
 
-#: src/msgl-cat.c:180 src/msgl-iconv.c:307
+#: src/msgl-cat.c:181 src/msgl-iconv.c:307
 #, c-format
 msgid "two different charsets \"%s\" and \"%s\" in input file"
 msgstr "deux charsets différents « %s » et « %s » dans le fichier d'entrée"
 
-#: src/msgl-cat.c:193
+#: src/msgl-cat.c:194
 #, c-format
 msgid ""
 "input file `%s' doesn't contain a header entry with a charset specification"
@@ -1556,7 +1573,7 @@ msgstr ""
 "le fichier d'entrée « %s » ne contient pas d'en-tête ayant une spécification "
 "de charset"
 
-#: src/msgl-cat.c:197
+#: src/msgl-cat.c:198
 #, c-format
 msgid ""
 "domain \"%s\" in input file `%s' doesn't contain a header entry with a "
@@ -1565,17 +1582,17 @@ msgstr ""
 "Le domaine « %s » dans le fichier d'entrée `%s' ne contient pas d'en-tête "
 "avec la spécification d'un charset"
 
-#: src/msgl-cat.c:358 src/msgl-iconv.c:382
+#: src/msgl-cat.c:359 src/msgl-iconv.c:382
 #, c-format
 msgid "target charset \"%s\" is not a portable encoding name."
 msgstr "Le charset cible « %s » n'a pas un nom d'encodage portable."
 
-#: src/msgl-cat.c:408 src/msgl-cat.c:414 src/msgl-charset.c:91
+#: src/msgl-cat.c:409 src/msgl-cat.c:415 src/msgl-charset.c:91
 #: src/msgl-charset.c:126 src/write-po.c:723 src/write-po.c:817
 msgid "warning: "
 msgstr "AVERTISSEMENT: "
 
-#: src/msgl-cat.c:409
+#: src/msgl-cat.c:410
 msgid ""
 "Input files contain messages in different encodings, UTF-8 among others.\n"
 "Converting the output to UTF-8.\n"
@@ -1584,7 +1601,7 @@ msgstr ""
 "entre autres.\n"
 "Conversion de la sortie en UTF-8.\n"
 
-#: src/msgl-cat.c:415
+#: src/msgl-cat.c:416
 #, c-format
 msgid ""
 "Input files contain messages in different encodings, %s and %s among "
@@ -1679,11 +1696,11 @@ msgstr ""
 "Ne peut convertir de « %s » vers « %s ». %s s'appuie sur iconv(). Cette "
 "version a été compilée sans iconv()."
 
-#: src/msgmerge.c:337
+#: src/msgmerge.c:340
 msgid "backup type"
 msgstr "type d'archive"
 
-#: src/msgmerge.c:374
+#: src/msgmerge.c:377
 #, no-wrap
 msgid ""
 "Merges two Uniforum style .po files together.  The def.po file is an\n"
@@ -1708,7 +1725,7 @@ msgstr ""
 "exact n'est pas possible, un appariement flou permet de produire de\n"
 "meilleurs résultats. \n"
 
-#: src/msgmerge.c:392
+#: src/msgmerge.c:395
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -1725,7 +1742,7 @@ msgstr ""
 "  -C, --compendium=FICHIER    librairie additionnelle de messages traduits,\n"
 "                              peut-être spécifié plus d'une fois\n"
 
-#: src/msgmerge.c:402
+#: src/msgmerge.c:405
 #, no-wrap
 msgid ""
 "Operation mode:\n"
@@ -1736,7 +1753,7 @@ msgstr ""
 "  -U, --update                mettre à jour le fichier def.po,\n"
 "                              ne rien faire si le fichier def.po est déjà à jour\n"
 
-#: src/msgmerge.c:417
+#: src/msgmerge.c:420
 #, no-wrap
 msgid ""
 "Output file location in update mode:\n"
@@ -1766,7 +1783,7 @@ msgstr ""
 "Le suffixe d'archive est « ~ », à moins que défini à l'aide de --suffix ou par la variable\n"
 "d'environnement SIMPLE_BACKUP_SUFFIX\n"
 
-#: src/msgmerge.c:454
+#: src/msgmerge.c:457
 #, no-wrap
 msgid ""
 "Informative output:\n"
@@ -1781,7 +1798,17 @@ msgstr ""
 "  -v, --verbose               diagnostiquer toute anomalie dans chaque FICHIER\n"
 "  -q, --quiet, --silent       supprimer les indicateurs de progression\n"
 
-#: src/msgmerge.c:696
+#: src/msgmerge.c:625
+#, fuzzy
+msgid "this message should define plural forms"
+msgstr "...mais quelques messages n'ont seulement que %lu formes au pluriel"
+
+#: src/msgmerge.c:648
+#, fuzzy
+msgid "this message should not define plural forms"
+msgstr "ce message est utilisé mais n'est pas défini dans « %s »"
+
+#: src/msgmerge.c:779
 #, c-format
 msgid ""
 "%sRead %ld old + %ld reference, merged %ld, fuzzied %ld, missing %ld, "
@@ -1790,7 +1817,7 @@ msgstr ""
 "%slus %ld vieux + %ld références, %ld fusionnés, %ld flous, %ld manquants, %"
 "ld périmés.\n"
 
-#: src/msgmerge.c:704
+#: src/msgmerge.c:787
 msgid " done.\n"
 msgstr " terminé.\n"
 
@@ -2092,8 +2119,8 @@ msgstr "s
 msgid "iconv failure"
 msgstr "échec de iconv()"
 
-#: src/po-lex.c:763 src/read-mo.c:70 src/read-mo.c:135 src/x-c.c:213
-#: src/x-rst.c:227 src/x-ycp.c:102
+#: src/po-lex.c:763 src/read-mo.c:70 src/read-mo.c:135 src/x-c.c:216
+#: src/x-rst.c:227 src/x-ycp.c:103
 #, c-format
 msgid "error while reading \"%s\""
 msgstr "erreur lors de la lecture de « %s »"
@@ -2202,27 +2229,17 @@ msgstr "incapable de fabriquer le fichier 
 msgid "standard output"
 msgstr "sortie standard"
 
-#: src/x-c.c:843
+#: src/x-c.c:858
 #, c-format
 msgid "%s:%d: warning: unterminated character constant"
 msgstr "%s:%d: attention: constante caractère sans terminateur"
 
-#: src/x-c.c:867
+#: src/x-c.c:882
 #, c-format
 msgid "%s:%d: warning: unterminated string literal"
 msgstr "%s:%d: attention: constante chaîne sans terminateur"
 
-#: src/x-c.c:1269
-#, c-format
-msgid "%s:%lu: warning: keyword nested in keyword arg"
-msgstr "%s:%lu: attention: constante chaîne sans terminateur"
-
-#: src/x-c.c:1282
-#, c-format
-msgid "%s:%lu: warning: keyword between outer keyword and its arg"
-msgstr "%s:%lu: attention: mot clé entre entre le mot clé et ses arguments"
-
-#: src/x-po.c:106 src/xgettext.c:613
+#: src/x-po.c:106 src/xgettext.c:605
 msgid "this file may not contain domain directives"
 msgstr "ce fichier ne peut contenir des directives de domaine"
 
@@ -2241,26 +2258,26 @@ msgstr "%s:%d: nombre manquant apr
 msgid "%s:%d: invalid string expression"
 msgstr "%s:%d: expression de chaîne invalide"
 
-#: src/xgettext.c:383
+#: src/xgettext.c:375
 msgid "--join-existing cannot be used when output is written to stdout"
 msgstr "--join-existing interdit si production sur sortie standard"
 
-#: src/xgettext.c:388
+#: src/xgettext.c:380
 msgid "xgettext cannot work without keywords to look for"
 msgstr "xgettext ne peut fonctionner sans mot clé à rechercher"
 
-#: src/xgettext.c:476
+#: src/xgettext.c:468
 #, c-format
 msgid "warning: file `%s' extension `%s' is unknown; will try C"
 msgstr ""
 "attention: « %s » sans classification pour « %s », le langage C sera présumé"
 
-#: src/xgettext.c:517
+#: src/xgettext.c:509
 #, no-wrap
 msgid "Extract translatable strings from given input files.\n"
 msgstr "Extraire les chaînes traduisibles de fichiers d'entrée donnés.\n"
 
-#: src/xgettext.c:522
+#: src/xgettext.c:514
 #, no-wrap
 msgid ""
 "Mandatory arguments to long options are mandatory for short options too.\n"
@@ -2269,7 +2286,7 @@ msgstr ""
 "Les arguments obligatoires pour la forme longue des options sont aussi\n"
 "obligatoires pour les formes courtes qui leur correspondent.\n"
 
-#: src/xgettext.c:537
+#: src/xgettext.c:529
 #, no-wrap
 msgid ""
 "Output file location:\n"
@@ -2284,7 +2301,7 @@ msgstr ""
 "  -p, --output-dir=RÉPERTOIRE    placer les fichiers de sortie dans le RÉPERTOIRE\n"
 "Si la sortie est -, la sortie est écrite sur la sortie standard.\n"
 
-#: src/xgettext.c:546
+#: src/xgettext.c:538
 #, no-wrap
 msgid ""
 "Choice of input file language:\n"
@@ -2299,7 +2316,7 @@ msgstr ""
 "  -C, --c++                      identique à --language=C++\n"
 "Par défaut, le langage est deviné selon l'extension du nom du fichier.\n"
 
-#: src/xgettext.c:555
+#: src/xgettext.c:547
 #, no-wrap
 msgid ""
 "Operation mode:\n"
@@ -2314,7 +2331,7 @@ msgstr ""
 "  -c, --add-comments[=CLÉ]       sauver le commentaire précédent possédant CLÉ,\n"
 "                                 ou celui qui précède immédiatement le mot-clef\n"
 
-#: src/xgettext.c:564
+#: src/xgettext.c:556
 #, no-wrap
 msgid ""
 "Language=C/C++ specific options:\n"
@@ -2332,7 +2349,7 @@ msgstr ""
 "      --debug                    fournir plus de détails sur la reconnaissance\n"
 "                                 des chaînes de format\n"
 
-#: src/xgettext.c:574
+#: src/xgettext.c:566
 #, no-wrap
 msgid ""
 "Output details:\n"
@@ -2366,11 +2383,11 @@ msgstr ""
 "  -m, --msgstr-prefix[=CHAÎNE]   préfixer les msgstr's par CHAÎNE, sinon \\\"\\\"\n"
 "  -M, --msgstr-suffix[=CHAÎNE]   suffixer les msgstr's par CHAÎNE, sinon \\\"\\\"\n"
 
-#: src/xgettext.c:728
+#: src/xgettext.c:720
 msgid "standard input"
 msgstr "entrée standard"
 
-#: src/xgettext.c:838
+#: src/xgettext.c:830
 msgid ""
 "Empty msgid.  It is reserved by GNU gettext:\n"
 "gettext(\"\") returns the header entry with\n"
@@ -2380,11 +2397,32 @@ msgstr ""
 "GNU gettext: gettext(\"\") retourne l'en-tête\n"
 "avec la méta information, pas une chaîne vide.\n"
 
-#: src/xgettext.c:1107
+#: src/xgettext.c:1099
 #, c-format
 msgid "language `%s' unknown"
 msgstr "langage « %s » inconnu"
 
+#~ msgid "while creating hash table"
+#~ msgstr "pendant la création de la table de dispersion"
+
+#~ msgid ""
+#~ "Informative output:\n"
+#~ "  -h, --help                  display this help and exit\n"
+#~ "  -V, --version               output version information and exit\n"
+#~ "  -v, --verbose               increase verbosity level\n"
+#~ msgstr ""
+#~ "Sortie informative:\n"
+#~ "  -h, --help                  fournir ce message d'aide, puis terminer\n"
+#~ "  -V, --version               identifier le programme, puis terminer\n"
+#~ "  -v, --verbose               diagnostiquer toute anomalie dans chaque "
+#~ "FICHIER\n"
+
+#~ msgid "%s:%lu: warning: keyword nested in keyword arg"
+#~ msgstr "%s:%lu: attention: constante chaîne sans terminateur"
+
+#~ msgid "%s:%lu: warning: keyword between outer keyword and its arg"
+#~ msgstr "%s:%lu: attention: mot clé entre entre le mot clé et ses arguments"
+
 #~ msgid "this message has no definition in the \"%s\" domain"
 #~ msgstr "ce message n'a pas de définition dans le domaine « %s »"
 
index 9d53a8bed2af7c20f0e7ae1cedabc80f34a1f7fd..b95dd4f82432bfcb3c1a52b91ef6277132a624ff 100644 (file)
@@ -6,18 +6,65 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2001-04-18 22:38+0200\n"
+"POT-Creation-Date: 2001-11-30 14:18+0100\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=CHARSET\n"
-"Content-Transfer-Encoding: 8-bit\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: lib/argmatch.c:141
+#, c-format
+msgid "invalid argument `%s' for `%s'"
+msgstr ""
+
+#: lib/argmatch.c:142
+#, c-format
+msgid "ambiguous argument `%s' for `%s'"
+msgstr ""
+
+#: lib/argmatch.c:162
+msgid "Valid arguments are:"
+msgstr ""
+
+#: lib/copy-file.c:60 src/file-list.c:57 src/po-lex.c:732 src/read-mo.c:170
+#: src/xgettext.c:729 src/xgettext.c:742 src/xgettext.c:752
+#, c-format
+msgid "error while opening \"%s\" for reading"
+msgstr ""
+
+#: lib/copy-file.c:67
+#, c-format
+msgid "cannot open backup file \"%s\" for writing"
+msgstr ""
+
+#: lib/copy-file.c:80
+#, c-format
+msgid "error reading \"%s\""
+msgstr ""
+
+#: lib/copy-file.c:86 lib/copy-file.c:90
+#, c-format
+msgid "error writing \"%s\""
+msgstr ""
+
+#: lib/copy-file.c:92
+#, c-format
+msgid "error after reading \"%s\""
+msgstr ""
 
 #: lib/error.c:115
 msgid "Unknown system error"
 msgstr ""
 
+#: lib/execute.c:170 lib/execute.c:205 lib/pipe-bidi.c:156 lib/pipe-bidi.c:191
+#: lib/pipe-in.c:167 lib/pipe-in.c:202 lib/pipe-out.c:167 lib/pipe-out.c:202
+#: lib/wait-process.c:136
+#, c-format
+msgid "%s subprocess failed"
+msgstr ""
+
 #: lib/getopt.c:691
 #, c-format
 msgid "%s: option `%s' is ambiguous\n"
@@ -38,19 +85,16 @@ msgstr ""
 msgid "%s: option `%s' requires an argument\n"
 msgstr ""
 
-#. --option
 #: lib/getopt.c:768
 #, c-format
 msgid "%s: unrecognized option `--%s'\n"
 msgstr ""
 
-#. +option or -option
 #: lib/getopt.c:772
 #, c-format
 msgid "%s: unrecognized option `%c%s'\n"
 msgstr ""
 
-#. 1003.2 specifies the format of this message.
 #: lib/getopt.c:798
 #, c-format
 msgid "%s: illegal option -- %c\n"
@@ -61,7 +105,6 @@ msgstr ""
 msgid "%s: invalid option -- %c\n"
 msgstr ""
 
-#. 1003.2 specifies the format of this message.
 #: lib/getopt.c:831 lib/getopt.c:961
 #, c-format
 msgid "%s: option requires an argument -- %c\n"
@@ -77,13 +120,109 @@ msgstr ""
 msgid "%s: option `-W %s' doesn't allow an argument\n"
 msgstr ""
 
-#: lib/obstack.c:474 lib/xmalloc.c:86 src/po.c:308 src/po.c:381 src/po.c:389
-#: src/po.c:395 src/po.c:415 src/po.c:422 src/po.c:427 src/po.c:444
+#: lib/javacomp.c:465
+msgid "Java compiler not found, try installing gcj or set $JAVAC"
+msgstr ""
+
+#: lib/javaexec.c:404
+msgid "Java virtual machine not found, try installing gij or set $JAVA"
+msgstr ""
+
+#: lib/obstack.c:474 lib/xerror.c:75 lib/xmalloc.c:56
 msgid "memory exhausted"
 msgstr ""
 
-#: src/gettext.c:140 src/msgcmp.c:140 src/msgcomm.c:279 src/msgfmt.c:270
-#: src/msgmerge.c:255 src/msgunfmt.c:170 src/ngettext.c:120 src/xgettext.c:388
+#: lib/pipe-bidi.c:119 lib/pipe-bidi.c:121 lib/pipe-in.c:136
+#: lib/pipe-out.c:136
+msgid "cannot create pipe"
+msgstr ""
+
+#: lib/wait-process.c:117
+#, c-format
+msgid "%s subprocess"
+msgstr ""
+
+#: lib/wait-process.c:129
+#, c-format
+msgid "%s subprocess got fatal signal"
+msgstr ""
+
+#: src/format-c.c:578 src/format-python.c:463
+msgid "number of format specifications in 'msgid' and 'msgstr' does not match"
+msgstr ""
+
+#: src/format-c.c:588 src/format-python.c:473
+#, c-format
+msgid ""
+"format specifications in 'msgid' and 'msgstr' for argument %u are not the "
+"same"
+msgstr ""
+
+#: src/format-java.c:652 src/format-pascal.c:396
+#, c-format
+msgid "a format specification for argument {%u} doesn't exist in 'msgid'"
+msgstr ""
+
+#: src/format-java.c:662 src/format-pascal.c:406
+#, c-format
+msgid "a format specification for argument {%u} doesn't exist in 'msgstr'"
+msgstr ""
+
+#: src/format-java.c:676 src/format-pascal.c:420
+#, c-format
+msgid ""
+"format specifications in 'msgid' and 'msgstr' for argument {%u} are not the "
+"same"
+msgstr ""
+
+#: src/format-lisp.c:3371
+msgid "format specifications in 'msgid' and 'msgstr' are not equivalent"
+msgstr ""
+
+#: src/format-python.c:391
+msgid ""
+"format specifications in 'msgid' expect a mapping, those in 'msgstr' expect "
+"a tuple"
+msgstr ""
+
+#: src/format-python.c:399
+msgid ""
+"format specifications in 'msgid' expect a tuple, those in 'msgstr' expect a "
+"mapping"
+msgstr ""
+
+#: src/format-python.c:422
+#, c-format
+msgid "a format specification for argument '%s' doesn't exist in 'msgid'"
+msgstr ""
+
+#: src/format-python.c:432
+#, c-format
+msgid "a format specification for argument '%s' doesn't exist in 'msgstr'"
+msgstr ""
+
+#: src/format-python.c:446
+#, c-format
+msgid ""
+"format specifications in 'msgid' and 'msgstr' for argument '%s' are not the "
+"same"
+msgstr ""
+
+#: src/format-ycp.c:137
+#, c-format
+msgid "a format specification for argument %u doesn't exist in 'msgstr'"
+msgstr ""
+
+#: src/format-ycp.c:138
+#, c-format
+msgid "a format specification for argument %u doesn't exist in 'msgid'"
+msgstr ""
+
+#: src/gettext.c:146 src/hostname.c:168 src/msgattrib.c:264 src/msgcat.c:229
+#: src/msgcmp.c:134 src/msgcomm.c:232 src/msgconv.c:182 src/msgen.c:171
+#: src/msgexec.c:240 src/msgfmt.c:333 src/msggrep.c:276 src/msginit.c:247
+#: src/msgmerge.c:252 src/msgunfmt.c:182 src/msguniq.c:207 src/ngettext.c:126
+#: src/xgettext.c:352
 #, c-format, no-wrap
 msgid ""
 "Copyright (C) %s Free Software Foundation, Inc.\n"
@@ -91,30 +230,47 @@ msgid ""
 "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
 msgstr ""
 
-#: src/gettext.c:145 src/msgcmp.c:145 src/msgcomm.c:284 src/msgfmt.c:275
-#: src/msgmerge.c:260 src/msgunfmt.c:175 src/ngettext.c:125 src/xgettext.c:393
+#: src/gettext.c:151 src/hostname.c:173 src/msgattrib.c:269 src/msgcat.c:234
+#: src/msgcmp.c:139 src/msgcomm.c:237 src/msgconv.c:187 src/msgen.c:176
+#: src/msgexec.c:245 src/msgfmt.c:338 src/msggrep.c:281 src/msginit.c:252
+#: src/msgmerge.c:257 src/msgunfmt.c:187 src/msguniq.c:212 src/ngettext.c:131
+#: src/xgettext.c:357
 #, c-format
 msgid "Written by %s.\n"
 msgstr ""
 
-#: src/gettext.c:163 src/ngettext.c:137
+#: src/gettext.c:169 src/hostname.c:183 src/msginit.c:262 src/ngettext.c:143
 msgid "too many arguments"
 msgstr ""
 
-#: src/gettext.c:173 src/ngettext.c:149
+#: src/gettext.c:179 src/ngettext.c:155
 msgid "missing arguments"
 msgstr ""
 
-#: src/gettext.c:245 src/msgcmp.c:177 src/msgcomm.c:377 src/msgfmt.c:387
-#: src/msgmerge.c:315 src/msgunfmt.c:205 src/ngettext.c:204 src/xgettext.c:515
+#: src/gettext.c:251 src/hostname.c:197 src/msgattrib.c:322 src/msgcat.c:290
+#: src/msgcmp.c:171 src/msgcomm.c:306 src/msgconv.c:241 src/msgen.c:227
+#: src/msgexec.c:338 src/msgfmt.c:479 src/msggrep.c:371 src/msginit.c:338
+#: src/msgmerge.c:367 src/msgunfmt.c:262 src/msguniq.c:269 src/ngettext.c:210
+#: src/xgettext.c:499
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr ""
 
-#: src/gettext.c:250
+#: src/gettext.c:256
 #, c-format, no-wrap
 msgid ""
-"Usage: %s [OPTION] [[[TEXTDOMAIN] MSGID] | [-s [MSGID]...]]\n"
+"Usage: %s [OPTION] [[TEXTDOMAIN] MSGID]\n"
+"or:    %s [OPTION] -s [MSGID]...\n"
+msgstr ""
+
+#: src/gettext.c:262
+#, no-wrap
+msgid "Display native language translation of a textual message.\n"
+msgstr ""
+
+#: src/gettext.c:266
+#, no-wrap
+msgid ""
 "  -d, --domain=TEXTDOMAIN   retrieve translated messages from TEXTDOMAIN\n"
 "  -e                        enable expansion of some escape sequences\n"
 "  -E                        (ignored for compatibility)\n"
@@ -125,10 +281,9 @@ msgid ""
 "                            to MSGID from TEXTDOMAIN\n"
 msgstr ""
 
-#: src/gettext.c:262
+#: src/gettext.c:277
 #, c-format, no-wrap
 msgid ""
-"\n"
 "If the TEXTDOMAIN parameter is not given, the domain is determined from the\n"
 "environment variable TEXTDOMAIN.  If the message catalog is not found in the\n"
 "regular directory, another location can be specified with the environment\n"
@@ -139,410 +294,1242 @@ msgid ""
 "Standard search directory: %s\n"
 msgstr ""
 
-#: src/gettext.c:272 src/msgcmp.c:196 src/msgcomm.c:424 src/msgfmt.c:414
-#: src/msgmerge.c:350 src/msgunfmt.c:229 src/ngettext.c:228 src/xgettext.c:565
-msgid "Report bugs to <bug-gnu-utils@gnu.org>.\n"
+#: src/gettext.c:288 src/hostname.c:227 src/msgattrib.c:402 src/msgcat.c:371
+#: src/msgcmp.c:216 src/msgcomm.c:384 src/msgconv.c:305 src/msgen.c:287
+#: src/msgexec.c:410 src/msgfmt.c:563 src/msggrep.c:457 src/msginit.c:389
+#: src/msgmerge.c:465 src/msgunfmt.c:331 src/msguniq.c:343 src/ngettext.c:244
+#: src/xgettext.c:591
+msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
 msgstr ""
 
-#: src/msgcmp.c:156 src/msgmerge.c:271
-msgid "no input files given"
+#: src/hostname.c:202 src/msginit.c:343
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION]\n"
 msgstr ""
 
-#: src/msgcmp.c:161 src/msgmerge.c:276
-msgid "exactly 2 input files required"
+#: src/hostname.c:207
+#, no-wrap
+msgid "Print the machine's hostname.\n"
 msgstr ""
 
-#: src/msgcmp.c:182
-#, c-format, no-wrap
+#: src/hostname.c:212
+#, no-wrap
 msgid ""
-"Usage: %s [OPTION] def.po ref.po\n"
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"Output format:\n"
+"  -s, --short           short host name\n"
+"  -f, --fqdn, --long    long host name, includes fully qualified domain name,\n"
+"                          and aliases\n"
+"  -i, --ip-address      addresses for the hostname\n"
+msgstr ""
+
+#: src/hostname.c:221 src/msgattrib.c:396 src/msgcmp.c:210 src/msgconv.c:299
+#: src/msgen.c:281 src/msgexec.c:404 src/msggrep.c:451 src/msginit.c:383
+#, no-wrap
+msgid ""
+"Informative output:\n"
 "  -h, --help                  display this help and exit\n"
 "  -V, --version               output version information and exit\n"
-"\n"
-"Compare two Uniforum style .po files to check that both contain the same\n"
-"set of msgid strings.  The def.po file is an existing PO file with the\n"
-"old translations.  The ref.po file is the last created PO file\n"
-"(generally by xgettext).  This is useful for checking that you have\n"
-"translated each and every message in your program.  Where an exact match\n"
-"cannot be found, fuzzy matching is used to produce better diagnostics.\n"
 msgstr ""
 
-#: src/msgcmp.c:255 src/msgmerge.c:741
-msgid "this message is used but not defined..."
+#: src/hostname.c:242 src/hostname.c:249
+msgid "could not get host name"
 msgstr ""
 
-#: src/msgcmp.c:257 src/msgmerge.c:743
-msgid "...but this definition is similar"
+#: src/msgattrib.c:284 src/msgconv.c:202 src/msgexec.c:190 src/msggrep.c:296
+#: src/msginit.c:205 src/msguniq.c:227
+msgid "at most one input file allowed"
 msgstr ""
 
-#: src/msgcmp.c:263 src/msgmerge.c:770
+#: src/msgattrib.c:290 src/msgattrib.c:294 src/msgcat.c:244 src/msgcat.c:248
+#: src/msgcomm.c:247 src/msgcomm.c:251 src/msgconv.c:208 src/msgconv.c:212
+#: src/msgen.c:198 src/msgen.c:202 src/msgexec.c:260 src/msgexec.c:264
+#: src/msgfmt.c:358 src/msggrep.c:302 src/msggrep.c:306 src/msgmerge.c:282
+#: src/msgmerge.c:303 src/msgmerge.c:307 src/msguniq.c:233 src/msguniq.c:237
+#: src/xgettext.c:367 src/xgettext.c:371
 #, c-format
-msgid "this message is used but not defined in %s"
+msgid "%s and %s are mutually exclusive"
 msgstr ""
 
-#: src/msgcmp.c:277
-msgid "warning: this message is not used"
+#: src/msgattrib.c:327 src/msgconv.c:246 src/msggrep.c:376 src/msguniq.c:274
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] [INPUTFILE]\n"
 msgstr ""
 
-#: src/msgcmp.c:283 src/po-lex.c:103
-#, c-format
-msgid "found %d fatal error"
-msgid_plural "found %d fatal errors"
-msgstr[0] ""
-msgstr[1] ""
+#: src/msgattrib.c:332
+#, no-wrap
+msgid ""
+"Filters the messages of a translation catalog according to their attributes,\n"
+"and manipulates the attributes.\n"
+msgstr ""
 
-#: src/msgcmp.c:356 src/msgfmt.c:667 src/msgmerge.c:512 src/xgettext.c:1157
-msgid "duplicate message definition"
+#: src/msgattrib.c:338 src/msgcat.c:313 src/msgcmp.c:191 src/msgcomm.c:328
+#: src/msgconv.c:256 src/msgen.c:245 src/msgexec.c:353 src/msgfmt.c:494
+#: src/msggrep.c:387 src/msginit.c:354 src/msgmerge.c:390 src/msgunfmt.c:277
+#: src/msguniq.c:291
+#, no-wrap
+msgid "Mandatory arguments to long options are mandatory for short options too.\n"
 msgstr ""
 
-#: src/msgcmp.c:357 src/msgfmt.c:669 src/msgmerge.c:513 src/xgettext.c:1158
-msgid "...this is the location of the first definition"
+#: src/msgattrib.c:343 src/msgconv.c:261 src/msggrep.c:392 src/msguniq.c:296
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  INPUTFILE                   input PO file\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"If no input file is given or if it is -, standard input is read.\n"
 msgstr ""
 
-#: src/msgcmp.c:397 src/msgmerge.c:561
-#, c-format
-msgid "this message has no definition in the \"%s\" domain"
+#: src/msgattrib.c:351 src/msgconv.c:269 src/msgen.c:258 src/msgexec.c:366
+#: src/msggrep.c:400 src/msgmerge.c:412
+#, no-wrap
+msgid ""
+"Output file location:\n"
+"  -o, --output-file=FILE      write output to specified file\n"
+"The results are written to standard output if no output file is specified\n"
+"or if it is -.\n"
 msgstr ""
 
-#. We are about to construct the absolute path to the
-#. directory for the output files but asprintf failed.
-#: src/msgcomm.c:235 src/xgettext.c:327 src/xgettext.c:1353
-msgid "while preparing output"
+#: src/msgattrib.c:359
+#, no-wrap
+msgid ""
+"Message selection:\n"
+"      --translated            keep translated, remove untranslated messages\n"
+"      --untranslated          keep untranslated, remove translated messages\n"
+"      --no-fuzzy              remove 'fuzzy' marked messages\n"
+"      --only-fuzzy            keep 'fuzzy' marked messages\n"
+"      --no-obsolete           remove obsolete #~ messages\n"
+"      --only-obsolete         keep obsolete #~ messages\n"
 msgstr ""
 
-#: src/msgcomm.c:267 src/msgcomm.c:271 src/xgettext.c:365 src/xgettext.c:369
-#, c-format
-msgid "%s and %s are mutually exclusive"
+#: src/msgattrib.c:370
+#, no-wrap
+msgid ""
+"Attribute manipulation:\n"
+"      --set-fuzzy             set all messages 'fuzzy'\n"
+"      --clear-fuzzy           set all messages non-'fuzzy'\n"
+"      --set-obsolete          set all messages obsolete\n"
+"      --clear-obsolete        set all messages non-obsolete\n"
+"      --fuzzy                 synonym for --only-fuzzy --clear-fuzzy\n"
+"      --obsolete              synonym for --only-obsolete --clear-obsolete\n"
 msgstr ""
 
-#: src/msgcomm.c:323
-msgid "at least two files must be specified"
+#: src/msgattrib.c:381
+#, no-wrap
+msgid ""
+"Output details:\n"
+"  -e, --no-escape             do not use C escapes in output (default)\n"
+"  -E, --escape                use C escapes in output, no extended chars\n"
+"      --force-po              write PO file even if empty\n"
+"  -i, --indent                write the .po file using indented style\n"
+"      --no-location           do not write '#: filename:line' lines\n"
+"  -n, --add-location          generate '#: filename:line' lines (default)\n"
+"      --strict                write out strict Uniforum conforming .po file\n"
+"  -w, --width=NUMBER          set output page width\n"
+"  -s, --sort-output           generate sorted output\n"
+"  -F, --sort-by-file          sort output by file location\n"
 msgstr ""
 
-#: src/msgcomm.c:334
+#: src/msgcat.c:254 src/msgcomm.c:277
 #, c-format
 msgid "impossible selection criteria specified (%d < n < %d)"
 msgstr ""
 
-#: src/msgcomm.c:382
+#: src/msgcat.c:295 src/msgcomm.c:311 src/xgettext.c:504
 #, c-format, no-wrap
+msgid "Usage: %s [OPTION] [INPUTFILE]...\n"
+msgstr ""
+
+#: src/msgcat.c:300
+#, no-wrap
 msgid ""
-"Usage: %s [OPTION] INPUTFILE ...\n"
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"  -d, --default-domain=NAME      use NAME.po for output (instead of messages.po)\n"
-"  -D, --directory=DIRECTORY      add DIRECTORY to list for input files search\n"
-"  -e, --no-escape                do not use C escapes in output (default)\n"
-"  -E, --escape                   use C escapes in output, no extended chars\n"
+"Concatenates and merges the specified PO files.\n"
+"Find messages which are common to two or more of the specified PO files.\n"
+"By using the --more-than option, greater commonality may be requested\n"
+"before messages are printed.  Conversely, the --less-than option may be\n"
+"used to specify less commonality before messages are printed (i.e.\n"
+"--less-than=2 will only print the unique messages).  Translations,\n"
+"comments and extract comments will be cumulated, except that if --use-first\n"
+"is specified, they will be taken from the first PO file to define them.\n"
+"File positions from all PO files will be cumulated.\n"
+msgstr ""
+
+#: src/msgcat.c:318 src/msgcomm.c:333 src/xgettext.c:520
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  INPUTFILE ...                  input files\n"
 "  -f, --files-from=FILE          get list of input files from FILE\n"
-"      --force-po                 write PO file even if empty\n"
-"  -F, --sort-by-file             sort output by file location\n"
-"  -h, --help                     display this help and exit\n"
+"  -D, --directory=DIRECTORY      add DIRECTORY to list for input files search\n"
+"If input file is -, standard input is read.\n"
 msgstr ""
 
-#: src/msgcomm.c:394
+#: src/msgcat.c:327 src/msgcomm.c:342 src/msguniq.c:304
+#, no-wrap
 msgid ""
-"  -i, --indent                   write the .po file using indented style\n"
-"      --no-location              do not write '#: filename:line' lines\n"
-"  -n, --add-location             generate '#: filename:line' lines "
-"(default)\n"
-"      --omit-header              don't write header with `msgid \"\"' entry\n"
-"  -o, --output=FILE              write output to specified file\n"
-"  -p, --output-dir=DIR           output files will be placed in directory "
-"DIR\n"
-"  -s, --sort-output              generate sorted output and remove "
-"duplicates\n"
-"      --strict                   write out strict Uniforum conforming .po "
-"file\n"
-"  -T, --trigraphs                understand ANSI C trigraphs for input\n"
-"  -u, --unique                   shorthand for --less-than=2, requests\n"
-"                                 that only unique messages be printed\n"
+"Output file location:\n"
+"  -o, --output-file=FILE         write output to specified file\n"
+"The results are written to standard output if no output file is specified\n"
+"or if it is -.\n"
 msgstr ""
 
-#: src/msgcomm.c:407
+#: src/msgcat.c:335
+#, no-wrap
 msgid ""
-"  -V, --version                  output version information and exit\n"
-"  -w, --width=NUMBER             set output page width\n"
+"Message selection:\n"
 "  -<, --less-than=NUMBER         print messages with less than this many\n"
 "                                 definitions, defaults to infinite if not\n"
 "                                 set\n"
 "  ->, --more-than=NUMBER         print messages with more than this many\n"
-"                                 definitions, defaults to 1 if not set\n"
-"\n"
-"Find messages which are common to two or more of the specified PO files.\n"
-"By using the --more-than option, greater commonality may be requested\n"
-"before messages are printed.  Conversely, the --less-than option may be\n"
-"used to specify less commonality before messages are printed (i.e.\n"
-"--less-than=2 will only print the unique messages).  Translations,\n"
-"comments and extract comments will be preserved, but only from the first\n"
-"PO file to define them.  File positions from all PO files will be\n"
-"preserved.\n"
+"                                 definitions, defaults to 0 if not set\n"
+"  -u, --unique                   shorthand for --less-than=2, requests\n"
+"                                 that only unique messages be printed\n"
 msgstr ""
 
-#: src/msgcomm.c:458 src/msgunfmt.c:361 src/po-lex.c:86 src/xget-lex.c:157
-#: src/xget-lex.c:170 src/xget-lex.c:180 src/xgettext.c:599
-#, c-format
-msgid "error while opening \"%s\" for reading"
+#: src/msgcat.c:347 src/msguniq.c:319
+#, no-wrap
+msgid ""
+"Output details:\n"
+"  -t, --to-code=NAME             encoding for output\n"
+"      --use-first                use first available translation for each\n"
+"                                 message, don't merge several translations\n"
+"  -e, --no-escape                do not use C escapes in output (default)\n"
+"  -E, --escape                   use C escapes in output, no extended chars\n"
+"      --force-po                 write PO file even if empty\n"
+"  -i, --indent                   write the .po file using indented style\n"
+"      --no-location              do not write '#: filename:line' lines\n"
+"  -n, --add-location             generate '#: filename:line' lines (default)\n"
+"      --strict                   write out strict Uniforum conforming .po file\n"
+"  -w, --width=NUMBER             set output page width\n"
+"  -s, --sort-output              generate sorted output\n"
+"  -F, --sort-by-file             sort output by file location\n"
 msgstr ""
 
-#: src/msgcomm.c:539 src/xgettext.c:641 src/xgettext.c:1059
-msgid "this file may not contain domain directives"
+#: src/msgcat.c:365 src/msgcomm.c:378 src/msguniq.c:337 src/xgettext.c:585
+#, no-wrap
+msgid ""
+"Informative output:\n"
+"  -h, --help                     display this help and exit\n"
+"  -V, --version                  output version information and exit\n"
 msgstr ""
 
-#: src/msgfmt.c:286 src/xgettext.c:404
-msgid "no input file given"
+#: src/msgcmp.c:150 src/msgmerge.c:268
+msgid "no input files given"
 msgstr ""
 
-#: src/msgfmt.c:337
-#, c-format
-msgid "error while opening \"%s\" for writing"
+#: src/msgcmp.c:155 src/msgmerge.c:273
+msgid "exactly 2 input files required"
 msgstr ""
 
-#: src/msgfmt.c:360
-#, c-format
-msgid "%d translated message"
-msgid_plural "%d translated messages"
-msgstr[0] ""
-msgstr[1] ""
-
-#: src/msgfmt.c:365
-#, c-format
-msgid ", %d fuzzy translation"
-msgid_plural ", %d fuzzy translations"
-msgstr[0] ""
-msgstr[1] ""
-
-#: src/msgfmt.c:370
-#, c-format
-msgid ", %d untranslated message"
-msgid_plural ", %d untranslated messages"
-msgstr[0] ""
-msgstr[1] ""
-
-#: src/msgfmt.c:392
+#: src/msgcmp.c:176 src/msgmerge.c:372
 #, c-format, no-wrap
+msgid "Usage: %s [OPTION] def.po ref.pot\n"
+msgstr ""
+
+#: src/msgcmp.c:181
+#, no-wrap
 msgid ""
-"Usage: %s [OPTION] filename.po ...\n"
-"Generate binary message catalog from textual translation description.\n"
-"\n"
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"  -a, --alignment=NUMBER      align strings to NUMBER bytes (default: %d)\n"
-"  -c, --check                 perform language dependent checks on strings\n"
-"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
-"  -f, --use-fuzzy             use fuzzy entries in output\n"
-"  -h, --help                  display this help and exit\n"
-"      --no-hash               binary file will not include the hash table\n"
-"  -o, --output-file=FILE      specify output file name as FILE\n"
-"      --statistics            print statistics about translations\n"
-"      --strict                enable strict Uniforum mode\n"
-"  -v, --verbose               list input file anomalies\n"
-"  -V, --version               output version information and exit\n"
-"\n"
-"Giving the -v option more than once increases the verbosity level.\n"
-"\n"
-"If input file is -, standard input is read.  If output file is -,\n"
-"output is written to standard output.\n"
+"Compare two Uniforum style .po files to check that both contain the same\n"
+"set of msgid strings.  The def.po file is an existing PO file with the\n"
+"translations.  The ref.pot file is the last created PO file, or a PO Template\n"
+"file (generally created by xgettext).  This is useful for checking that\n"
+"you have translated each and every message in your program.  Where an exact\n"
+"match cannot be found, fuzzy matching is used to produce better diagnostics.\n"
 msgstr ""
 
-#: src/msgfmt.c:435
-msgid "while creating hash table"
+#: src/msgcmp.c:196
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  def.po                      translations\n"
+"  ref.pot                     references to the sources\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
 msgstr ""
 
-#: src/msgfmt.c:479
-#, c-format
+#: src/msgcmp.c:204 src/msgmerge.c:436
+#, no-wrap
 msgid ""
-"%s: warning: PO file header missing, fuzzy, or invalid\n"
-"%*s  warning: charset conversion will not work"
+"Operation modifiers:\n"
+"  -m, --multi-domain          apply ref.pot to each of the domains in def.po\n"
 msgstr ""
 
-#: src/msgfmt.c:503
-#, c-format
-msgid "domain name \"%s\" not suitable as file name"
+#: src/msgcmp.c:253 src/msgmerge.c:543
+msgid "this message is used but not defined..."
 msgstr ""
 
-#: src/msgfmt.c:508
-#, c-format
-msgid "domain name \"%s\" not suitable as file name: will use prefix"
+#: src/msgcmp.c:255 src/msgmerge.c:545
+msgid "...but this definition is similar"
 msgstr ""
 
-#. We don't change the exit status here because this is really
-#. only an information.
-#: src/msgfmt.c:521
+#: src/msgcmp.c:260 src/msgmerge.c:572
 #, c-format
-msgid "`domain %s' directive ignored"
+msgid "this message is used but not defined in %s"
 msgstr ""
 
-#: src/msgfmt.c:551
-msgid "empty `msgstr' entry ignored"
+#: src/msgcmp.c:332
+msgid "warning: this message is not used"
 msgstr ""
 
-#: src/msgfmt.c:552
-msgid "fuzzy `msgstr' entry ignored"
+#: src/msgcmp.c:339 src/po-lex.c:705
+#, c-format
+msgid "found %d fatal error"
+msgid_plural "found %d fatal errors"
+msgstr[0] ""
+msgstr[1] ""
+
+#: src/msgcmp.c:420 src/msgfmt.c:1323 src/read-po.c:202 src/x-po.c:163
+msgid "duplicate message definition"
+msgstr ""
+
+#: src/msgcmp.c:421 src/msgfmt.c:1324 src/read-po.c:203 src/x-po.c:164
+msgid "...this is the location of the first definition"
+msgstr ""
+
+#: src/msgcomm.c:266
+msgid "at least two files must be specified"
+msgstr ""
+
+#: src/msgcomm.c:316
+#, no-wrap
+msgid ""
+"Find messages which are common to two or more of the specified PO files.\n"
+"By using the --more-than option, greater commonality may be requested\n"
+"before messages are printed.  Conversely, the --less-than option may be\n"
+"used to specify less commonality before messages are printed (i.e.\n"
+"--less-than=2 will only print the unique messages).  Translations,\n"
+"comments and extract comments will be preserved, but only from the first\n"
+"PO file to define them.  File positions from all PO files will be\n"
+"cumulated.\n"
+msgstr ""
+
+#: src/msgcomm.c:350
+#, no-wrap
+msgid ""
+"Message selection:\n"
+"  -<, --less-than=NUMBER         print messages with less than this many\n"
+"                                 definitions, defaults to infinite if not\n"
+"                                 set\n"
+"  ->, --more-than=NUMBER         print messages with more than this many\n"
+"                                 definitions, defaults to 1 if not set\n"
+"  -u, --unique                   shorthand for --less-than=2, requests\n"
+"                                 that only unique messages be printed\n"
+msgstr ""
+
+#: src/msgcomm.c:362
+#, no-wrap
+msgid ""
+"Output details:\n"
+"  -e, --no-escape                do not use C escapes in output (default)\n"
+"  -E, --escape                   use C escapes in output, no extended chars\n"
+"      --force-po                 write PO file even if empty\n"
+"  -i, --indent                   write the .po file using indented style\n"
+"      --no-location              do not write '#: filename:line' lines\n"
+"  -n, --add-location             generate '#: filename:line' lines (default)\n"
+"      --strict                   write out strict Uniforum conforming .po file\n"
+"  -w, --width=NUMBER             set output page width\n"
+"  -s, --sort-output              generate sorted output\n"
+"  -F, --sort-by-file             sort output by file location\n"
+"      --omit-header              don't write header with `msgid \"\"' entry\n"
+msgstr ""
+
+#: src/msgconv.c:251
+#, no-wrap
+msgid "Converts a translation catalog to a different character encoding.\n"
+msgstr ""
+
+#: src/msgconv.c:277
+#, no-wrap
+msgid ""
+"Conversion target:\n"
+"  -t, --to-code=NAME          encoding for output\n"
+"The default encoding is the current locale's encoding.\n"
+msgstr ""
+
+#: src/msgconv.c:284 src/msgen.c:266 src/msgmerge.c:442
+#, no-wrap
+msgid ""
+"Output details:\n"
+"  -e, --no-escape             do not use C escapes in output (default)\n"
+"  -E, --escape                use C escapes in output, no extended chars\n"
+"      --force-po              write PO file even if empty\n"
+"  -i, --indent                indented output style\n"
+"      --no-location           suppress '#: filename:line' lines\n"
+"      --add-location          preserve '#: filename:line' lines (default)\n"
+"      --strict                strict Uniforum output style\n"
+"  -w, --width=NUMBER          set output page width\n"
+"  -s, --sort-output           generate sorted output\n"
+"  -F, --sort-by-file          sort output by file location\n"
+msgstr ""
+
+#: src/msgen.c:187 src/msgfmt.c:349 src/xgettext.c:388
+msgid "no input file given"
+msgstr ""
+
+#: src/msgen.c:192
+msgid "exactly one input file required"
+msgstr ""
+
+#: src/msgen.c:232
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] INPUTFILE\n"
+msgstr ""
+
+#: src/msgen.c:237
+#, no-wrap
+msgid ""
+"Creates an English translation catalog.  The input file is the last\n"
+"created English PO file, or a PO Template file (generally created by\n"
+"xgettext).  Untranslated entries are assigned a translation that is\n"
+"identical to the msgid, and are marked fuzzy.\n"
+msgstr ""
+
+#: src/msgen.c:250
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  INPUTFILE                   input PO or POT file\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"If input file is -, standard input is read.\n"
+msgstr ""
+
+#: src/msgexec.c:255
+msgid "missing filter name"
+msgstr ""
+
+#: src/msgexec.c:279
+msgid "at least one sed script must be specified"
+msgstr ""
+
+#: src/msgexec.c:343
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] FILTER [FILTER-OPTION]\n"
+msgstr ""
+
+#: src/msgexec.c:348
+#, no-wrap
+msgid "Applies a filter to all translations of a translation catalog.\n"
+msgstr ""
+
+#: src/msgexec.c:358
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  -i, --input=INPUTFILE       input PO file\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"If no input file is given or if it is -, standard input is read.\n"
+msgstr ""
+
+#: src/msgexec.c:374
+#, no-wrap
+msgid ""
+"The FILTER can be any program that reads a translation from standard input\n"
+"and writes a modified translation to standard output.\n"
+msgstr ""
+
+#: src/msgexec.c:380
+#, no-wrap
+msgid ""
+"Useful FILTER-OPTIONs when the FILTER is 'sed':\n"
+"  -e, --expression=SCRIPT     add SCRIPT to the commands to be executed\n"
+"  -f, --file=SCRIPTFILE       add the contents of SCRIPTFILE to the commands\n"
+"                                to be executed\n"
+"  -n, --quiet, --silent       suppress automatic printing of pattern space\n"
+msgstr ""
+
+#: src/msgexec.c:389
+#, no-wrap
+msgid ""
+"Output details:\n"
+"      --no-escape             do not use C escapes in output (default)\n"
+"  -E, --escape                use C escapes in output, no extended chars\n"
+"      --force-po              write PO file even if empty\n"
+"      --indent                indented output style\n"
+"      --no-location           suppress '#: filename:line' lines\n"
+"      --add-location          preserve '#: filename:line' lines (default)\n"
+"      --strict                strict Uniforum output style\n"
+"  -w, --width=NUMBER          set output page width\n"
+"  -s, --sort-output           generate sorted output\n"
+"  -F, --sort-by-file          sort output by file location\n"
+msgstr ""
+
+#: src/msgexec.c:546
+#, c-format
+msgid "cannot set up nonblocking I/O to %s subprocess"
+msgstr ""
+
+#: src/msgexec.c:574
+#, c-format
+msgid "communication with %s subprocess failed"
+msgstr ""
+
+#: src/msgexec.c:594
+#, c-format
+msgid "write to %s subprocess failed"
+msgstr ""
+
+#: src/msgexec.c:625
+#, c-format
+msgid "read from %s subprocess failed"
+msgstr ""
+
+#: src/msgexec.c:641
+#, c-format
+msgid "%s subprocess terminated with exit code %d"
+msgstr ""
+
+#: src/msgfmt.c:303
+#, c-format
+msgid "the argument to %s should be a single punctuation character"
+msgstr ""
+
+#: src/msgfmt.c:364
+#, c-format
+msgid "%s requires a \"-d directory\" specification"
+msgstr ""
+
+#: src/msgfmt.c:373 src/msgfmt.c:379 src/msgfmt.c:385 src/msgmerge.c:290
+#: src/msgmerge.c:296 src/msgunfmt.c:209 src/msgunfmt.c:215
+#, c-format
+msgid "%s is only valid with %s"
+msgstr ""
+
+#: src/msgfmt.c:452
+#, c-format
+msgid "%d translated message"
+msgid_plural "%d translated messages"
+msgstr[0] ""
+msgstr[1] ""
+
+#: src/msgfmt.c:457
+#, c-format
+msgid ", %d fuzzy translation"
+msgid_plural ", %d fuzzy translations"
+msgstr[0] ""
+msgstr[1] ""
+
+#: src/msgfmt.c:462
+#, c-format
+msgid ", %d untranslated message"
+msgid_plural ", %d untranslated messages"
+msgstr[0] ""
+msgstr[1] ""
+
+#: src/msgfmt.c:484
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] filename.po ...\n"
+msgstr ""
+
+#: src/msgfmt.c:489
+#, no-wrap
+msgid "Generate binary message catalog from textual translation description.\n"
+msgstr ""
+
+#: src/msgfmt.c:499
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  filename.po ...             input files\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"If input file is -, standard input is read.\n"
+msgstr ""
+
+#: src/msgfmt.c:507
+#, no-wrap
+msgid ""
+"Operation mode:\n"
+"  -j, --java                  Java mode: generate a Java ResourceBundle class\n"
+"      --java2                 like --java, and assume Java2 (JDK 1.2 or higher)\n"
+msgstr ""
+
+#: src/msgfmt.c:514
+#, no-wrap
+msgid ""
+"Output file location:\n"
+"  -o, --output-file=FILE      write output to specified file\n"
+"      --strict                enable strict Uniforum mode\n"
+"If output file is -, output is written to standard output.\n"
+msgstr ""
+
+#: src/msgfmt.c:522
+#, no-wrap
+msgid ""
+"Output file location in Java mode:\n"
+"  -r, --resource=RESOURCE     resource name\n"
+"  -l, --locale=LOCALE         locale name, either language or language_COUNTRY\n"
+"  -d DIRECTORY                base directory of classes directory hierarchy\n"
+"The class name is determined by appending the locale name to the resource name,\n"
+"separated with an underscore.  The -d option is mandatory.  The class is\n"
+"written under the specified directory.\n"
+msgstr ""
+
+#: src/msgfmt.c:533
+#, no-wrap
+msgid ""
+"Input file interpretation:\n"
+"  -c, --check                 perform all the checks implied by\n"
+"                                --check-format, --check-header, --check-domain\n"
+"      --check-format          check language dependent format strings\n"
+"      --check-header          verify presence and contents of the header entry\n"
+"      --check-domain          check for conflicts between domain directives\n"
+"                                and the --output-file option\n"
+"  -C, --check-compatibility   check that GNU msgfmt behaves like X/Open msgfmt\n"
+"      --check-accelerators[=CHAR]  check presence of keyboard accelerators for\n"
+"                                menu items\n"
+"  -f, --use-fuzzy             use fuzzy entries in output\n"
+msgstr ""
+
+#: src/msgfmt.c:548
+#, c-format, no-wrap
+msgid ""
+"Output details:\n"
+"  -a, --alignment=NUMBER      align strings to NUMBER bytes (default: %d)\n"
+"      --no-hash               binary file will not include the hash table\n"
+msgstr ""
+
+#: src/msgfmt.c:555
+#, no-wrap
+msgid ""
+"Informative output:\n"
+"  -h, --help                  display this help and exit\n"
+"  -V, --version               output version information and exit\n"
+"      --statistics            print statistics about translations\n"
+"  -v, --verbose               increase verbosity level\n"
+msgstr ""
+
+#: src/msgfmt.c:707
+msgid "plural expression can produce negative values"
+msgstr ""
+
+#: src/msgfmt.c:720
+#, c-format
+msgid "nplurals = %lu but plural expression can produce values as large as %lu"
+msgstr ""
+
+#: src/msgfmt.c:746
+msgid "plural expression can produce division by zero"
+msgstr ""
+
+#: src/msgfmt.c:751
+msgid "plural expression can produce integer overflow"
+msgstr ""
+
+#: src/msgfmt.c:756
+msgid ""
+"plural expression can produce arithmetic exceptions, possibly division by "
+"zero"
+msgstr ""
+
+#: src/msgfmt.c:830 src/msgfmt.c:841
+msgid "message catalog has plural form translations..."
+msgstr ""
+
+#: src/msgfmt.c:833
+msgid "...but header entry lacks a \"plural=EXPRESSION\" attribute"
+msgstr ""
+
+#: src/msgfmt.c:844
+msgid "...but header entry lacks a \"nplurals=INTEGER\" attribute"
+msgstr ""
+
+#: src/msgfmt.c:868
+msgid "invalid nplurals value"
+msgstr ""
+
+#: src/msgfmt.c:881
+msgid "invalid plural expression"
 msgstr ""
 
-#: src/msgfmt.c:594
+#: src/msgfmt.c:899 src/msgfmt.c:912
+#, c-format
+msgid "nplurals = %lu..."
+msgstr ""
+
+#: src/msgfmt.c:902
+#, c-format
+msgid "...but some messages have only %lu plural forms"
+msgstr ""
+
+#: src/msgfmt.c:915
+#, c-format
+msgid "...but some messages have %lu plural forms"
+msgstr ""
+
+#: src/msgfmt.c:930
+msgid ""
+"message catalog has plural form translations, but lacks a header entry with "
+"\"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\""
+msgstr ""
+
+#: src/msgfmt.c:968
+msgid "`msgid' and `msgid_plural' entries do not both begin with '\\n'"
+msgstr ""
+
+#: src/msgfmt.c:978
+#, c-format
+msgid "`msgid' and `msgstr[%u]' entries do not both begin with '\\n'"
+msgstr ""
+
+#: src/msgfmt.c:990
+msgid "`msgid' and `msgstr' entries do not both begin with '\\n'"
+msgstr ""
+
+#: src/msgfmt.c:1007
+msgid "`msgid' and `msgid_plural' entries do not both end with '\\n'"
+msgstr ""
+
+#: src/msgfmt.c:1017
+#, c-format
+msgid "`msgid' and `msgstr[%u]' entries do not both end with '\\n'"
+msgstr ""
+
+#: src/msgfmt.c:1029
+msgid "`msgid' and `msgstr' entries do not both end with '\\n'"
+msgstr ""
+
+#: src/msgfmt.c:1041
+msgid "plural handling is a GNU gettext extension"
+msgstr ""
+
+#: src/msgfmt.c:1088
+#, c-format
+msgid "'msgstr' is not a valid %s format string, unlike 'msgid'"
+msgstr ""
+
+#: src/msgfmt.c:1122
+#, c-format
+msgid "msgstr lacks the keyboard accelerator mark '%c'"
+msgstr ""
+
+#: src/msgfmt.c:1130
+#, c-format
+msgid "msgstr has too many keyboard accelerator marks '%c'"
+msgstr ""
+
+#: src/msgfmt.c:1164
 #, c-format
 msgid "headerfield `%s' missing in header"
 msgstr ""
 
-#: src/msgfmt.c:597
+#: src/msgfmt.c:1167
 #, c-format
 msgid "header field `%s' should start at beginning of line"
 msgstr ""
 
-#: src/msgfmt.c:607
-msgid "some header fields still have the initial default value"
+#: src/msgfmt.c:1176
+msgid "some header fields still have the initial default value"
+msgstr ""
+
+#: src/msgfmt.c:1187
+#, c-format
+msgid "field `%s' still has initial default value"
+msgstr ""
+
+#: src/msgfmt.c:1228
+msgid "warning: PO file header missing or invalid\n"
+msgstr ""
+
+#: src/msgfmt.c:1231
+msgid "warning: charset conversion will not work\n"
+msgstr ""
+
+#: src/msgfmt.c:1241
+msgid "warning: PO file header fuzzy\n"
+msgstr ""
+
+#: src/msgfmt.c:1243
+msgid "warning: older versions of msgfmt will give an error on this\n"
+msgstr ""
+
+#: src/msgfmt.c:1268
+#, c-format
+msgid "domain name \"%s\" not suitable as file name"
+msgstr ""
+
+#: src/msgfmt.c:1273
+#, c-format
+msgid "domain name \"%s\" not suitable as file name: will use prefix"
+msgstr ""
+
+#: src/msgfmt.c:1284
+#, c-format
+msgid "`domain %s' directive ignored"
+msgstr ""
+
+#: src/msgfmt.c:1356
+msgid "empty `msgstr' entry ignored"
+msgstr ""
+
+#: src/msgfmt.c:1357
+msgid "fuzzy `msgstr' entry ignored"
+msgstr ""
+
+#: src/msgfmt.c:1426
+#, c-format
+msgid "%s: warning: source file contains fuzzy translation"
+msgstr ""
+
+#: src/msggrep.c:359
+#, c-format
+msgid "option '%c' cannot be used before 'K' or 'T' has been specified"
+msgstr ""
+
+#: src/msggrep.c:381
+#, no-wrap
+msgid ""
+"Extracts all messages of a translation catalog that match a given pattern\n"
+"or belong to some given source files.\n"
+msgstr ""
+
+#: src/msggrep.c:408
+#, no-wrap
+msgid ""
+"Message selection:\n"
+"  [-N SOURCEFILE]... [-M DOMAINNAME]... [-K MSGID-PATTERN] [-T MSGSTR-PATTERN]\n"
+"A message is selected if it comes from one of the specified source files,\n"
+"or if it comes from one of the specified domains,\n"
+"or if -K is given and its key (msgid or msgid_plural) matches MSGID-PATTERN,\n"
+"or if -T is given and its translation (msgstr) matches MSGSTR-PATTERN.\n"
+"\n"
+"When more than one selection criterion is specified, the set of selected\n"
+"messages is the union of the selected messages of each criterion.\n"
+"\n"
+"MSGID-PATTERN or MSGSTR-PATTERN syntax:\n"
+"  [-E | -F] [-e PATTERN | -f FILE]...\n"
+"PATTERNs are basic regular expressions by default, or extended regular\n"
+"expressions if -E is given, or fixed strings if -F is given.\n"
+"\n"
+"  -N, --location=SOURCEFILE   select messages extracted from SOURCEFILE\n"
+"  -M, --domain=DOMAINNAME     select messages belonging to domain DOMAINNAME\n"
+"  -K, --msgid                 start of patterns for the msgid\n"
+"  -T, --msgstr                start of patterns for the msgstr\n"
+"  -E, --extended-regexp       PATTERN is an extended regular expression\n"
+"  -F, --fixed-strings         PATTERN is a set of newline-separated strings\n"
+"  -e, --regexp=PATTERN        use PATTERN as a regular expression\n"
+"  -f, --file=FILE             obtain PATTERN from FILE\n"
+"  -i, --ignore-case           ignore case distinctions\n"
+msgstr ""
+
+#: src/msggrep.c:436
+#, no-wrap
+msgid ""
+"Output details:\n"
+"      --no-escape             do not use C escapes in output (default)\n"
+"      --escape                use C escapes in output, no extended chars\n"
+"      --force-po              write PO file even if empty\n"
+"      --indent                indented output style\n"
+"      --no-location           suppress '#: filename:line' lines\n"
+"      --add-location          preserve '#: filename:line' lines (default)\n"
+"      --strict                strict Uniforum output style\n"
+"  -w, --width=NUMBER          set output page width\n"
+"      --sort-output           generate sorted output\n"
+"      --sort-by-file          sort output by file location\n"
+msgstr ""
+
+#: src/msggrep.c:510
+msgid "write to grep subprocess failed"
+msgstr ""
+
+#: src/msginit.c:275
+msgid ""
+"You are in a language indifferent environment.  Please set\n"
+"your LANG environment variable, as described in the ABOUT-NLS\n"
+"file.  This is necessary so you can test your translations.\n"
+msgstr ""
+
+#: src/msginit.c:303
+#, c-format
+msgid ""
+"Output file %s already exists.\n"
+"Please specify the locale through the --locale option or\n"
+"the output .po file through the --output-file option.\n"
+msgstr ""
+
+#: src/msginit.c:326
+#, c-format
+msgid "Created %s.\n"
+msgstr ""
+
+#: src/msginit.c:348
+#, no-wrap
+msgid ""
+"Creates a new PO file, initializing the meta information with values from the\n"
+"user's environment.\n"
+msgstr ""
+
+#: src/msginit.c:359
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  -i, --input=INPUTFILE       input POT file\n"
+"If no input file is given, the current directory is searched for the POT file.\n"
+"If it is -, standard input is read.\n"
+msgstr ""
+
+#: src/msginit.c:367
+#, no-wrap
+msgid ""
+"Output file location:\n"
+"  -o, --output-file=FILE      write output to specified PO file\n"
+"If no output file is given, it depends on the --locale option or the user's\n"
+"locale setting.  If it is -, the results are written to standard output.\n"
+msgstr ""
+
+#: src/msginit.c:375
+#, no-wrap
+msgid ""
+"Output details:\n"
+"  -l, --locale=LL_CC          set target locale\n"
+"      --no-translator         assume the PO file is automatically generated\n"
+"  -w, --width=NUMBER          set output page width\n"
+msgstr ""
+
+#: src/msginit.c:426
+msgid ""
+"Found more than one .pot file.\n"
+"Please specify the input .pot file through the --input option.\n"
+msgstr ""
+
+#: src/msginit.c:434 src/msginit.c:439
+msgid "error reading current directory"
+msgstr ""
+
+#: src/msginit.c:447
+msgid ""
+"Found no .pot file in the current directory.\n"
+"Please specify the input .pot file through the --input option.\n"
+msgstr ""
+
+#: src/msginit.c:887 src/msginit.c:932 src/msginit.c:1070 src/msginit.c:1137
+#: src/read-java.c:80
+msgid "fdopen() failed"
+msgstr ""
+
+#: src/msginit.c:892 src/msginit.c:937 src/msginit.c:1075
+#, c-format
+msgid "%s subprocess I/O error"
+msgstr ""
+
+#: src/msginit.c:901 src/msginit.c:946 src/msginit.c:1084 src/msginit.c:1151
+#: src/read-java.c:90
+#, c-format
+msgid "%s subprocess failed with exit code %d"
+msgstr ""
+
+#: src/msginit.c:1060
+msgid ""
+"The new message catalog should contain your email address, so that users "
+"can\n"
+"give you feedback about the translations, and so that maintainers can "
+"contact\n"
+"you in case of unexpected technical problems.\n"
+msgstr ""
+
+#. TRANSLATORS: "English" needs to be replaced by your language.
+#. For example in it.po write "Traduzioni italiani ...",
+#. *not* "Traduzioni inglesi ...".
+#: src/msginit.c:1440
+#, c-format
+msgid "English translations for %s package"
+msgstr ""
+
+#: src/msgl-cat.c:173 src/msgl-charset.c:86 src/msgl-iconv.c:299
+#, c-format
+msgid "present charset \"%s\" is not a portable encoding name"
+msgstr ""
+
+#: src/msgl-cat.c:181 src/msgl-iconv.c:307
+#, c-format
+msgid "two different charsets \"%s\" and \"%s\" in input file"
+msgstr ""
+
+#: src/msgl-cat.c:194
+#, c-format
+msgid ""
+"input file `%s' doesn't contain a header entry with a charset specification"
+msgstr ""
+
+#: src/msgl-cat.c:198
+#, c-format
+msgid ""
+"domain \"%s\" in input file `%s' doesn't contain a header entry with a "
+"charset specification"
+msgstr ""
+
+#: src/msgl-cat.c:359 src/msgl-iconv.c:382
+#, c-format
+msgid "target charset \"%s\" is not a portable encoding name."
+msgstr ""
+
+#: src/msgl-cat.c:409 src/msgl-cat.c:415 src/msgl-charset.c:91
+#: src/msgl-charset.c:126 src/write-po.c:723 src/write-po.c:817
+msgid "warning: "
+msgstr ""
+
+#: src/msgl-cat.c:410
+msgid ""
+"Input files contain messages in different encodings, UTF-8 among others.\n"
+"Converting the output to UTF-8.\n"
+msgstr ""
+
+#: src/msgl-cat.c:416
+#, c-format
+msgid ""
+"Input files contain messages in different encodings, %s and %s among "
+"others.\n"
+"Converting the output to UTF-8.\n"
+"To select a different output encoding, use the --to-code option.\n"
+msgstr ""
+
+#: src/msgl-charset.c:92
+#, c-format
+msgid ""
+"Locale charset \"%s\" is different from\n"
+"input file charset \"%s\".\n"
+"Output of '%s' might be incorrect.\n"
+"Possible workarounds are:\n"
+msgstr ""
+
+#: src/msgl-charset.c:99
+#, c-format
+msgid "- Set LC_ALL to a locale with encoding %s.\n"
+msgstr ""
+
+#: src/msgl-charset.c:104
+#, c-format
+msgid ""
+"- Convert the translation catalog to %s using 'msgconv',\n"
+"  then apply '%s',\n"
+"  then convert back to %s using 'msgconv'.\n"
+msgstr ""
+
+#: src/msgl-charset.c:113
+#, c-format
+msgid ""
+"- Set LC_ALL to a locale with encoding %s,\n"
+"  convert the translation catalog to %s using 'msgconv',\n"
+"  then apply '%s',\n"
+"  then convert back to %s using 'msgconv'.\n"
+msgstr ""
+
+#: src/msgl-charset.c:127
+#, c-format
+msgid ""
+"Locale charset \"%s\" is not a portable encoding name.\n"
+"Output of '%s' might be incorrect.\n"
+"A possible workaround is to set LC_ALL=C.\n"
+msgstr ""
+
+#: src/msgl-iconv.c:200 src/msgl-iconv.c:254
+msgid "conversion failure"
+msgstr ""
+
+#: src/msgl-iconv.c:328
+msgid "input file doesn't contain a header entry with a charset specification"
+msgstr ""
+
+#: src/msgl-iconv.c:346
+#, c-format
+msgid ""
+"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(), and iconv() does "
+"not support this conversion."
+msgstr ""
+
+#: src/msgl-iconv.c:362
+#, c-format
+msgid ""
+"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(). This version was "
+"built without iconv()."
+msgstr ""
+
+#: src/msgmerge.c:340
+msgid "backup type"
+msgstr ""
+
+#: src/msgmerge.c:377
+#, no-wrap
+msgid ""
+"Merges two Uniforum style .po files together.  The def.po file is an\n"
+"existing PO file with translations which will be taken over to the newly\n"
+"created file as long as they still match; comments will be preserved,\n"
+"but extracted comments and file positions will be discarded.  The ref.pot\n"
+"file is the last created PO file with up-to-date source references but\n"
+"old translations, or a PO Template file (generally created by xgettext);\n"
+"any translations or comments in the file will be discarded, however dot\n"
+"comments and file positions will be preserved.  Where an exact match\n"
+"cannot be found, fuzzy matching is used to produce better results.\n"
+msgstr ""
+
+#: src/msgmerge.c:395
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  def.po                      translations referring to old sources\n"
+"  ref.pot                     references to new sources\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"  -C, --compendium=FILE       additional library of message translations,\n"
+"                              may be specified more than once\n"
+msgstr ""
+
+#: src/msgmerge.c:405
+#, no-wrap
+msgid ""
+"Operation mode:\n"
+"  -U, --update                update def.po,\n"
+"                              do nothing if def.po already up to date\n"
 msgstr ""
 
-#: src/msgfmt.c:618
-#, c-format
-msgid "field `%s' still has initial default value"
+#: src/msgmerge.c:420
+#, no-wrap
+msgid ""
+"Output file location in update mode:\n"
+"The result is written back to def.po.\n"
+"      --backup=CONTROL        make a backup of def.po\n"
+"      --suffix=SUFFIX         override the usual backup suffix\n"
+"The version control method may be selected via the --backup option or through\n"
+"the VERSION_CONTROL environment variable.  Here are the values:\n"
+"  none, off       never make backups (even if --backup is given)\n"
+"  numbered, t     make numbered backups\n"
+"  existing, nil   numbered if numbered backups exist, simple otherwise\n"
+"  simple, never   always make simple backups\n"
+"The backup suffix is `~', unless set with --suffix or the SIMPLE_BACKUP_SUFFIX\n"
+"environment variable.\n"
+msgstr ""
+
+#: src/msgmerge.c:457
+#, no-wrap
+msgid ""
+"Informative output:\n"
+"  -h, --help                  display this help and exit\n"
+"  -V, --version               output version information and exit\n"
+"  -v, --verbose               increase verbosity level\n"
+"  -q, --quiet, --silent       suppress progress indicators\n"
 msgstr ""
 
-#: src/msgfmt.c:708
-#, c-format
-msgid "%s: warning: source file contains fuzzy translation"
+#: src/msgmerge.c:625
+msgid "this message should define plural forms"
 msgstr ""
 
-#: src/msgfmt.c:930
-msgid "`msgid' and `msgid_plural' entries do not both begin with '\\n'"
+#: src/msgmerge.c:648
+msgid "this message should not define plural forms"
 msgstr ""
 
-#: src/msgfmt.c:938
+#: src/msgmerge.c:779
 #, c-format
-msgid "`msgid' and `msgstr[%u]' entries do not both begin with '\\n'"
-msgstr ""
-
-#: src/msgfmt.c:948
-msgid "`msgid' and `msgstr' entries do not both begin with '\\n'"
+msgid ""
+"%sRead %ld old + %ld reference, merged %ld, fuzzied %ld, missing %ld, "
+"obsolete %ld.\n"
 msgstr ""
 
-#: src/msgfmt.c:963
-msgid "`msgid' and `msgid_plural' entries do not both end with '\\n'"
+#: src/msgmerge.c:787
+msgid " done.\n"
 msgstr ""
 
-#: src/msgfmt.c:971
+#: src/msgunfmt.c:201
 #, c-format
-msgid "`msgid' and `msgstr[%u]' entries do not both end with '\\n'"
-msgstr ""
-
-#: src/msgfmt.c:981
-msgid "`msgid' and `msgstr' entries do not both end with '\\n'"
+msgid "%s and explicit file names are mutually exclusive"
 msgstr ""
 
-#: src/msgfmt.c:997
-msgid "number of format specifications in `msgid' and `msgstr' does not match"
+#: src/msgunfmt.c:267
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] [FILE]...\n"
 msgstr ""
 
-#: src/msgfmt.c:1014
-#, c-format
-msgid "format specifications for argument %lu are not the same"
+#: src/msgunfmt.c:272
+#, no-wrap
+msgid "Convert binary message catalog to Uniforum style .po file.\n"
 msgstr ""
 
-#: src/msgmerge.c:320
-#, c-format, no-wrap
+#: src/msgunfmt.c:282
+#, no-wrap
 msgid ""
-"Usage: %s [OPTION] def.po ref.po\n"
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"  -C, --compendium=FILE       additional library of message translations,\n"
-"                              may be specified more than once\n"
-"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
-"  -e, --no-escape             do not use C escapes in output (default)\n"
-"  -E, --escape                use C escapes in output, no extended chars\n"
-"      --force-po              write PO file even if empty\n"
-"  -h, --help                  display this help and exit\n"
-"  -i, --indent                indented output style\n"
-"  -o, --output-file=FILE      result will be written to FILE\n"
-"      --no-location           suppress '#: filename:line' lines\n"
-"      --add-location          preserve '#: filename:line' lines (default)\n"
-"      --strict                strict Uniforum output style\n"
-"  -v, --verbose               increase verbosity level\n"
-"  -V, --version               output version information and exit\n"
-"  -w, --width=NUMBER          set output page width\n"
+"Operation mode:\n"
+"  -j, --java               Java mode: generate a Java ResourceBundle class\n"
 msgstr ""
 
-#: src/msgmerge.c:340
+#: src/msgunfmt.c:288
 #, no-wrap
 msgid ""
-"\n"
-"Merges two Uniforum style .po files together.  The def.po file is an\n"
-"existing PO file with the old translations which will be taken over to\n"
-"the newly created file as long as they still match; comments will be\n"
-"preserved, but extract comments and file positions will be discarded.\n"
-"The ref.po file is the last created PO file (generally by xgettext), any\n"
-"translations or comments in the file will be discarded, however dot\n"
-"comments and file positions will be preserved.  Where an exact match\n"
-"cannot be found, fuzzy matching is used to produce better results.  The\n"
-"results are written to stdout unless an output file is specified.\n"
+"Input file location:\n"
+"  FILE ...                 input .mo files\n"
+"If no input file is given or if it is -, standard input is read.\n"
 msgstr ""
 
-#: src/msgmerge.c:799
-#, c-format
+#: src/msgunfmt.c:295
+#, no-wrap
 msgid ""
-"%sRead %ld old + %ld reference, merged %ld, fuzzied %ld, missing %ld, "
-"obsolete %ld.\n"
+"Input file location in Java mode:\n"
+"  -r, --resource=RESOURCE  resource name\n"
+"  -l, --locale=LOCALE      locale name, either language or language_COUNTRY\n"
+"The class name is determined by appending the locale name to the resource name,\n"
+"separated with an underscore.  The class is located using the CLASSPATH.\n"
 msgstr ""
 
-#: src/msgmerge.c:806
-msgid " done.\n"
+#: src/msgunfmt.c:304
+#, no-wrap
+msgid ""
+"Output file location:\n"
+"  -o, --output-file=FILE   write output to specified file\n"
+"The results are written to standard output if no output file is specified\n"
+"or if it is -.\n"
 msgstr ""
 
-#: src/msgunfmt.c:210
-#, c-format, no-wrap
+#: src/msgunfmt.c:312
+#, no-wrap
 msgid ""
-"Usage: %s [OPTION] [FILE]...\n"
-"Mandatory arguments to long options are mandatory for short options too.\n"
+"Output details:\n"
 "  -e, --no-escape          do not use C escapes in output (default)\n"
 "  -E, --escape             use C escapes in output, no extended chars\n"
 "      --force-po           write PO file even if empty\n"
-"  -h, --help               display this help and exit\n"
 "  -i, --indent             write indented output style\n"
-"  -o, --output-file=FILE   write output into FILE instead of standard output\n"
 "      --strict             write strict uniforum style\n"
-"  -V, --version            output version information and exit\n"
 "  -w, --width=NUMBER       set output page width\n"
+"  -s, --sort-output        generate sorted output\n"
 msgstr ""
 
-#: src/msgunfmt.c:224
+#: src/msgunfmt.c:324
 #, no-wrap
 msgid ""
-"\n"
-"Convert binary .mo files to Uniforum style .po files.\n"
-"Both little-endian and big-endian .mo files are handled.\n"
-"If no input file is given or it is -, standard input is read.\n"
-"By default the output is written to standard output.\n"
-msgstr ""
-
-#: src/msgunfmt.c:261 src/msgunfmt.c:326 src/po-lex.c:216 src/xget-lex.c:243
-#, c-format
-msgid "error while reading \"%s\""
+"Informative output:\n"
+"  -h, --help               display this help and exit\n"
+"  -V, --version            output version information and exit\n"
+"  -v, --verbose            increase verbosity level\n"
 msgstr ""
 
-#: src/msgunfmt.c:262 src/msgunfmt.c:327
-#, c-format
-msgid "file \"%s\" truncated"
+#: src/msguniq.c:279
+#, no-wrap
+msgid ""
+"Unifies duplicate translations in a translation catalog.\n"
+"Finds duplicate translations of the same message ID.  Such duplicates are\n"
+"invalid input for other programs like msgfmt, msgmerge or msgcat.  By\n"
+"default, duplicates are merged together.  When using the --repeated option,\n"
+"only duplicates are output, and all other messages are discarded.  Comments\n"
+"and extracted comments will be cumulated, except that if --use-first is\n"
+"specified, they will be taken from the first translation.  File positions\n"
+"will be cumulated.  When using the --unique option, duplicates are discarded.\n"
 msgstr ""
 
-#: src/msgunfmt.c:293
-#, c-format
-msgid "seek \"%s\" offset %ld failed"
+#: src/msguniq.c:312
+#, no-wrap
+msgid ""
+"Message selection:\n"
+"  -d, --repeated                 print only duplicates\n"
+"  -u, --unique                   print only unique messages, discard duplicates\n"
 msgstr ""
 
-#: src/msgunfmt.c:332
-#, c-format
-msgid "file \"%s\" contains a not NUL terminated string"
+#: src/ngettext.c:215
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] [TEXTDOMAIN] MSGID MSGID-PLURAL COUNT\n"
 msgstr ""
 
-#: src/msgunfmt.c:377
-#, c-format
-msgid "file \"%s\" is not in GNU .mo format"
+#: src/ngettext.c:220
+#, no-wrap
+msgid ""
+"Display native language translation of a textual message whose grammatical\n"
+"form depends on a number.\n"
 msgstr ""
 
-#: src/ngettext.c:209
-#, c-format, no-wrap
+#: src/ngettext.c:225
+#, no-wrap
 msgid ""
-"Usage: %s [OPTION] [TEXTDOMAIN] MSGID MSGID-PLURAL COUNT\n"
 "  -d, --domain=TEXTDOMAIN   retrieve translated message from TEXTDOMAIN\n"
 "  -e                        enable expansion of some escape sequences\n"
 "  -E                        (ignored for compatibility)\n"
@@ -553,10 +1540,9 @@ msgid ""
 "  COUNT                     choose singular/plural form based on this value\n"
 msgstr ""
 
-#: src/ngettext.c:221
+#: src/ngettext.c:236
 #, c-format, no-wrap
 msgid ""
-"\n"
 "If the TEXTDOMAIN parameter is not given, the domain is determined from the\n"
 "environment variable TEXTDOMAIN.  If the message catalog is not found in the\n"
 "regular directory, another location can be specified with the environment\n"
@@ -564,226 +1550,335 @@ msgid ""
 "Standard search directory: %s\n"
 msgstr ""
 
-#: src/open-po.c:64
+#: src/open-po.c:69
 msgid "<stdin>"
 msgstr ""
 
-#: po-gram-gen.y:87
+#: src/po-charset.c:172 src/po-charset.c:240 src/po-charset.c:268
+#: src/po-charset.c:294
+#, c-format
+msgid "%s: warning: "
+msgstr ""
+
+#: src/po-charset.c:173
+#, c-format
+msgid ""
+"Charset \"%s\" is not a portable encoding name.\n"
+"Message conversion to user's charset might not work.\n"
+msgstr ""
+
+#: src/po-charset.c:236 src/po-charset.c:266
+msgid "Continuing anyway, expect parse errors."
+msgstr ""
+
+#: src/po-charset.c:238
+msgid "Continuing anyway."
+msgstr ""
+
+#: src/po-charset.c:241
+#, c-format
+msgid ""
+"Charset \"%s\" is not supported. %s relies on iconv(),\n"
+"and iconv() does not support \"%s\".\n"
+msgstr ""
+
+#: src/po-charset.c:250 src/po-charset.c:276
+msgid ""
+"Installing GNU libiconv and then reinstalling GNU gettext\n"
+"would fix this problem.\n"
+msgstr ""
+
+#: src/po-charset.c:255 src/po-charset.c:280
+#, c-format
+msgid "%s\n"
+msgstr ""
+
+#: src/po-charset.c:269
+#, c-format
+msgid ""
+"Charset \"%s\" is not supported. %s relies on iconv().\n"
+"This version was built without iconv().\n"
+msgstr ""
+
+#: src/po-charset.c:295
+msgid ""
+"Charset missing in header.\n"
+"Message conversion to user's charset will not work.\n"
+msgstr ""
+
+#: po-gram-gen.y:91
 msgid "inconsistent use of #~"
 msgstr ""
 
-#: po-gram-gen.y:168
+#: po-gram-gen.y:181
 msgid "missing `msgstr[]' section"
 msgstr ""
 
-#: po-gram-gen.y:176
+#: po-gram-gen.y:189
 msgid "missing `msgid_plural' section"
 msgstr ""
 
-#: po-gram-gen.y:183
+#: po-gram-gen.y:196
 msgid "missing `msgstr' section"
 msgstr ""
 
-#: po-gram-gen.y:228
+#: po-gram-gen.y:241
 msgid "first plural form has nonzero index"
 msgstr ""
 
-#: po-gram-gen.y:230
+#: po-gram-gen.y:243
 msgid "plural form has wrong index"
 msgstr ""
 
-#. CAUTION: If you change this macro, you must also make identical
-#. changes to the function of the same name in src/po-lex.c
-#: src/po-lex.c:159 src/po-lex.c:198 src/po-lex.h:85 src/po-lex.h:99
-#: src/po-lex.h:115 src/po-lex.h:129
+#: src/po-lex.h:91 src/po-lex.h:106 src/po-lex.h:126 src/po-lex.h:141
+#: src/po-lex.c:135 src/po-lex.c:176
 msgid "too many errors, aborting"
 msgstr ""
 
-#: src/po-lex.c:274
+#: src/po-lex.c:545 src/write-po.c:331 src/write-po.c:421
+msgid "invalid multibyte sequence"
+msgstr ""
+
+#: src/po-lex.c:571
+msgid "incomplete multibyte sequence at end of file"
+msgstr ""
+
+#: src/po-lex.c:581
+msgid "incomplete multibyte sequence at end of line"
+msgstr ""
+
+#: src/po-lex.c:589
+msgid "iconv failure"
+msgstr ""
+
+#: src/po-lex.c:763 src/read-mo.c:70 src/read-mo.c:135 src/x-c.c:216
+#: src/x-rst.c:227 src/x-ycp.c:103
+#, c-format
+msgid "error while reading \"%s\""
+msgstr ""
+
+#: src/po-lex.c:829
 #, c-format
 msgid "keyword \"%s\" unknown"
 msgstr ""
 
-#: src/po-lex.c:377
+#: src/po-lex.c:939
 msgid "invalid control sequence"
 msgstr ""
 
-#: src/po-lex.c:480
+#: src/po-lex.c:1047
 msgid "end-of-file within string"
 msgstr ""
 
-#: src/po-lex.c:485
+#: src/po-lex.c:1053
 msgid "end-of-line within string"
 msgstr ""
 
-#: src/po-lex.c:528 src/write-po.c:285 src/write-po.c:367
-msgid "invalid multibyte sequence"
+#: src/read-mo.c:71 src/read-mo.c:136
+#, c-format
+msgid "file \"%s\" truncated"
 msgstr ""
 
-#: src/po.c:302 src/po.c:374 src/po.c:409 src/po.c:439
+#: src/read-mo.c:102
 #, c-format
-msgid "%s: warning: "
+msgid "seek \"%s\" offset %ld failed"
 msgstr ""
 
-#: src/po.c:303
+#: src/read-mo.c:141
 #, c-format
-msgid ""
-"Charset \"%s\" is not a portable encoding name.\n"
-"Message conversion to user's charset might not work.\n"
+msgid "file \"%s\" contains a not NUL terminated string"
 msgstr ""
 
-#: src/po.c:370 src/po.c:405
-msgid "Continuing anyway, expect parse errors."
+#: src/read-mo.c:186
+#, c-format
+msgid "file \"%s\" is not in GNU .mo format"
 msgstr ""
 
-#: src/po.c:372
-msgid "Continuing anyway."
+#: src/write-java.c:1108
+msgid "cannot find a temporary directory, try setting $TMPDIR"
 msgstr ""
 
-#: src/po.c:375
+#: src/write-java.c:1118
 #, c-format
-msgid ""
-"Charset \"%s\" is not supported. %s relies on iconv(),\n"
-"and iconv() does not support \"%s\".\n"
+msgid "cannot create a temporary directory using template \"%s\""
 msgstr ""
 
-#: src/po.c:385 src/po.c:418
-msgid ""
-"Installing GNU libiconv and then reinstalling GNU gettext\n"
-"would fix this problem.\n"
+#: src/write-java.c:1131
+#, c-format
+msgid "not a valid Java class name: %s"
 msgstr ""
 
-#: src/po.c:393 src/po.c:425
+#: src/write-java.c:1188 src/write-java.c:1201
 #, c-format
-msgid "%s\n"
+msgid "failed to create \"%s\""
 msgstr ""
 
-#: src/po.c:410
+#: src/write-java.c:1209 src/write-mo.c:289 src/write-po.c:966
 #, c-format
-msgid ""
-"Charset \"%s\" is not supported. %s relies on iconv().\n"
-"This version was built without iconv().\n"
+msgid "error while writing \"%s\" file"
 msgstr ""
 
-#: src/po.c:440
-msgid ""
-"Charset missing in header.\n"
-"Message conversion to user's charset will not work.\n"
+#: src/write-java.c:1223
+msgid "compilation of Java class failed, please try --verbose or set $JAVAC"
+msgstr ""
+
+#: src/write-mo.c:277
+#, c-format
+msgid "error while opening \"%s\" for writing"
 msgstr ""
 
-#: src/write-po.c:316
+#: src/write-po.c:370
 #, c-format
 msgid ""
 "internationalized messages should not contain the `\\%c' escape sequence"
 msgstr ""
 
-#: src/write-po.c:857
+#: src/write-po.c:724 src/write-po.c:818
+#, c-format
+msgid ""
+"The following msgid contains non-ASCII characters.\n"
+"This will cause problems to translators who use a character encoding\n"
+"different from yours. Consider using a pure ASCII msgid instead.\n"
+"%s\n"
+msgstr ""
+
+#: src/write-po.c:885
 #, c-format
 msgid "cannot create output file \"%s\""
 msgstr ""
 
-#: src/write-po.c:864
+#: src/write-po.c:892
 #, no-c-format
 msgid "standard output"
 msgstr ""
 
-#: src/write-po.c:939
+#: src/x-c.c:858
 #, c-format
-msgid "error while writing \"%s\" file"
+msgid "%s:%d: warning: unterminated character constant"
 msgstr ""
 
-#: src/xget-lex.c:148
-msgid "standard input"
+#: src/x-c.c:882
+#, c-format
+msgid "%s:%d: warning: unterminated string literal"
+msgstr ""
+
+#: src/x-po.c:106 src/xgettext.c:605
+msgid "this file may not contain domain directives"
 msgstr ""
 
-#: src/xget-lex.c:876
+#: src/x-rst.c:108
 #, c-format
-msgid "%s:%d: warning: unterminated character constant"
+msgid "%s:%d: invalid string definition"
 msgstr ""
 
-#: src/xget-lex.c:898
+#: src/x-rst.c:168
 #, c-format
-msgid "%s:%d: warning: unterminated string literal"
+msgid "%s:%d: missing number after #"
 msgstr ""
 
-#: src/xgettext.c:373
+#: src/x-rst.c:203
+#, c-format
+msgid "%s:%d: invalid string expression"
+msgstr ""
+
+#: src/xgettext.c:375
 msgid "--join-existing cannot be used when output is written to stdout"
 msgstr ""
 
-#: src/xgettext.c:378
+#: src/xgettext.c:380
 msgid "xgettext cannot work without keywords to look for"
 msgstr ""
 
-#: src/xgettext.c:484
+#: src/xgettext.c:468
 #, c-format
 msgid "warning: file `%s' extension `%s' is unknown; will try C"
 msgstr ""
 
-#: src/xgettext.c:520
-#, c-format, no-wrap
+#: src/xgettext.c:509
+#, no-wrap
+msgid "Extract translatable strings from given input files.\n"
+msgstr ""
+
+#: src/xgettext.c:514
+#, no-wrap
 msgid ""
-"Usage: %s [OPTION] INPUTFILE ...\n"
-"Extract translatable string from given input files.\n"
-"\n"
 "Mandatory arguments to long options are mandatory for short options too.\n"
-"  -a, --extract-all              extract all strings\n"
-"  -c, --add-comments[=TAG]       place comment block with TAG (or those\n"
-"                                 preceding keyword lines) in output file\n"
-"  -C, --c++                      shorthand for --language=C++\n"
-"      --debug                    more detailed formatstring recognision result\n"
+"Similarly for optional arguments.\n"
+msgstr ""
+
+#: src/xgettext.c:529
+#, no-wrap
+msgid ""
+"Output file location:\n"
 "  -d, --default-domain=NAME      use NAME.po for output (instead of messages.po)\n"
-"  -D, --directory=DIRECTORY      add DIRECTORY to list for input files search\n"
-"  -e, --no-escape                do not use C escapes in output (default)\n"
-"  -E, --escape                   use C escapes in output, no extended chars\n"
-"  -f, --files-from=FILE          get list of input files from FILE\n"
-"      --force-po                 write PO file even if empty\n"
-"      --foreign-user             omit FSF copyright in output for foreign user\n"
-"  -F, --sort-by-file             sort output by file location\n"
+"  -o, --output=FILE              write output to specified file\n"
+"  -p, --output-dir=DIR           output files will be placed in directory DIR\n"
+"If output file is -, output is written to standard output.\n"
 msgstr ""
 
-#: src/xgettext.c:540
+#: src/xgettext.c:538
 #, no-wrap
 msgid ""
-"  -h, --help                     display this help and exit\n"
-"  -i, --indent                   write the .po file using indented style\n"
+"Choice of input file language:\n"
+"  -L, --language=NAME            recognise the specified language\n"
+"                                   (C, C++, ObjectiveC, PO, Java, YCP)\n"
+"  -C, --c++                      shorthand for --language=C++\n"
+"By default the language is guessed depending on the input file name extension.\n"
+msgstr ""
+
+#: src/xgettext.c:547
+#, no-wrap
+msgid ""
+"Operation mode:\n"
 "  -j, --join-existing            join messages with existing file\n"
-"  -k, --keyword[=WORD]           additonal keyword to be looked for (without\n"
+"  -x, --exclude-file=FILE.po     entries from FILE.po are not extracted\n"
+"  -c, --add-comments[=TAG]       place comment block with TAG (or those\n"
+"                                 preceding keyword lines) in output file\n"
+msgstr ""
+
+#: src/xgettext.c:556
+#, no-wrap
+msgid ""
+"Language=C/C++ specific options:\n"
+"  -a, --extract-all              extract all strings\n"
+"  -k, --keyword[=WORD]           additional keyword to be looked for (without\n"
 "                                 WORD means not to use default keywords)\n"
-"  -L, --language=NAME            recognise the specified language (C, C++, PO),\n"
-"                                 otherwise is guessed from file extension\n"
-"  -m, --msgstr-prefix[=STRING]   use STRING or \"\" as prefix for msgstr entries\n"
-"  -M, --msgstr-suffix[=STRING]   use STRING or \"\" as suffix for msgstr entries\n"
-"      --no-location              do not write '#: filename:line' lines\n"
+"  -T, --trigraphs                understand ANSI C trigraphs for input\n"
+"      --debug                    more detailed formatstring recognition result\n"
 msgstr ""
 
-#: src/xgettext.c:552
+#: src/xgettext.c:566
 #, no-wrap
 msgid ""
+"Output details:\n"
+"  -e, --no-escape                do not use C escapes in output (default)\n"
+"  -E, --escape                   use C escapes in output, no extended chars\n"
+"      --force-po                 write PO file even if empty\n"
+"  -i, --indent                   write the .po file using indented style\n"
+"      --no-location              do not write '#: filename:line' lines\n"
 "  -n, --add-location             generate '#: filename:line' lines (default)\n"
-"      --omit-header              don't write header with `msgid \"\"' entry\n"
-"  -o, --output=FILE              write output to specified file\n"
-"  -p, --output-dir=DIR           output files will be placed in directory DIR\n"
-"  -s, --sort-output              generate sorted output and remove duplicates\n"
 "      --strict                   write out strict Uniforum conforming .po file\n"
-"  -T, --trigraphs                understand ANSI C trigraphs for input\n"
-"  -V, --version                  output version information and exit\n"
 "  -w, --width=NUMBER             set output page width\n"
-"  -x, --exclude-file=FILE        entries from FILE are not extracted\n"
-"\n"
-"If INPUTFILE is -, standard input is read.\n"
+"  -s, --sort-output              generate sorted output\n"
+"  -F, --sort-by-file             sort output by file location\n"
+"      --omit-header              don't write header with `msgid \"\"' entry\n"
+"      --foreign-user             omit FSF copyright in output for foreign user\n"
+"  -m, --msgstr-prefix[=STRING]   use STRING or \"\" as prefix for msgstr entries\n"
+"  -M, --msgstr-suffix[=STRING]   use STRING or \"\" as suffix for msgstr entries\n"
 msgstr ""
 
-#: src/xgettext.c:914
-#, c-format
-msgid "%s:%d: warning: keyword nested in keyword arg"
+#: src/xgettext.c:720
+msgid "standard input"
 msgstr ""
 
-#: src/xgettext.c:924
-#, c-format
-msgid "%s:%d: warning: keyword between outer keyword and its arg"
+#: src/xgettext.c:830
+msgid ""
+"Empty msgid.  It is reserved by GNU gettext:\n"
+"gettext(\"\") returns the header entry with\n"
+"meta information, not the empty string.\n"
 msgstr ""
 
-#: src/xgettext.c:1420
+#: src/xgettext.c:1099
 #, c-format
 msgid "language `%s' unknown"
 msgstr ""
index f1f5e4aab231729da9ebf84cffaeb1d1126a1994..ba2e3608188426cd03496d64ccc8ac5dc4ca1cb9 100644 (file)
--- a/po/gl.po
+++ b/po/gl.po
@@ -10,7 +10,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: gettext 0.10.39\n"
-"POT-Creation-Date: 2001-06-12 15:05+0200\n"
+"POT-Creation-Date: 2001-11-30 14:18+0100\n"
 "PO-Revision-Date: 2001-07-28 17:00+0200\n"
 "Last-Translator: Jesús Bravo Álvarez <jba@pobox.com>\n"
 "Language-Team: Galician <gpul-traduccion@ceu.fi.udc.es>\n"
@@ -19,10 +19,57 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n!=1)\n"
 
+#: lib/argmatch.c:141
+#, c-format
+msgid "invalid argument `%s' for `%s'"
+msgstr ""
+
+#: lib/argmatch.c:142
+#, c-format
+msgid "ambiguous argument `%s' for `%s'"
+msgstr ""
+
+#: lib/argmatch.c:162
+msgid "Valid arguments are:"
+msgstr ""
+
+#: lib/copy-file.c:60 src/file-list.c:57 src/po-lex.c:732 src/read-mo.c:170
+#: src/xgettext.c:729 src/xgettext.c:742 src/xgettext.c:752
+#, c-format
+msgid "error while opening \"%s\" for reading"
+msgstr "erro ao abrir \"%s\" para lectura"
+
+#: lib/copy-file.c:67
+#, fuzzy, c-format
+msgid "cannot open backup file \"%s\" for writing"
+msgstr "erro ao abrir \"%s\" para escribir"
+
+#: lib/copy-file.c:80
+#, fuzzy, c-format
+msgid "error reading \"%s\""
+msgstr "erro ao ler \"%s\""
+
+#: lib/copy-file.c:86 lib/copy-file.c:90
+#, fuzzy, c-format
+msgid "error writing \"%s\""
+msgstr "erro ao escribi-lo ficheiro \"%s\""
+
+#: lib/copy-file.c:92
+#, fuzzy, c-format
+msgid "error after reading \"%s\""
+msgstr "erro ao ler \"%s\""
+
 #: lib/error.c:115
 msgid "Unknown system error"
 msgstr "Erro de sistema descoñecido"
 
+#: lib/execute.c:170 lib/execute.c:205 lib/pipe-bidi.c:156 lib/pipe-bidi.c:191
+#: lib/pipe-in.c:167 lib/pipe-in.c:202 lib/pipe-out.c:167 lib/pipe-out.c:202
+#: lib/wait-process.c:136
+#, c-format
+msgid "%s subprocess failed"
+msgstr ""
+
 #: lib/getopt.c:691
 #, c-format
 msgid "%s: option `%s' is ambiguous\n"
@@ -43,19 +90,16 @@ msgstr "%s: a opci
 msgid "%s: option `%s' requires an argument\n"
 msgstr "%s: a opción `%s' require un argumento\n"
 
-#. --option
 #: lib/getopt.c:768
 #, c-format
 msgid "%s: unrecognized option `--%s'\n"
 msgstr "%s: opción `--%s' descoñecida\n"
 
-#. +option or -option
 #: lib/getopt.c:772
 #, c-format
 msgid "%s: unrecognized option `%c%s'\n"
 msgstr "%s: opción `%c%s' descoñecida\n"
 
-#. 1003.2 specifies the format of this message.
 #: lib/getopt.c:798
 #, c-format
 msgid "%s: illegal option -- %c\n"
@@ -66,7 +110,6 @@ msgstr "%s: opci
 msgid "%s: invalid option -- %c\n"
 msgstr "%s: opción non válida -- %c\n"
 
-#. 1003.2 specifies the format of this message.
 #: lib/getopt.c:831 lib/getopt.c:961
 #, c-format
 msgid "%s: option requires an argument -- %c\n"
@@ -82,36 +125,118 @@ msgstr "%s: a opci
 msgid "%s: option `-W %s' doesn't allow an argument\n"
 msgstr "%s: a opción `-W %s' non permite ningún argumento\n"
 
-#: lib/obstack.c:474 lib/xerror.c:69 lib/xmalloc.c:86
+#: lib/javacomp.c:465
+msgid "Java compiler not found, try installing gcj or set $JAVAC"
+msgstr ""
+
+#: lib/javaexec.c:404
+msgid "Java virtual machine not found, try installing gij or set $JAVA"
+msgstr ""
+
+#: lib/obstack.c:474 lib/xerror.c:75 lib/xmalloc.c:56
 msgid "memory exhausted"
 msgstr "memoria esgotada"
 
-#: lib/pipe-bidi.c:101 lib/pipe-bidi.c:103 lib/pipe-in.c:117
-#: lib/pipe-out.c:117
+#: lib/pipe-bidi.c:119 lib/pipe-bidi.c:121 lib/pipe-in.c:136
+#: lib/pipe-out.c:136
 #, fuzzy
 msgid "cannot create pipe"
 msgstr "non se pode crea-lo ficheiro de saída \"%s\""
 
-#: lib/pipe-bidi.c:125 lib/pipe-bidi.c:142 lib/pipe-in.c:135 lib/pipe-in.c:155
-#: lib/pipe-out.c:135 lib/pipe-out.c:155
-#, c-format
-msgid "%s subprocess failed"
-msgstr ""
-
-#: lib/wait-process.c:109
+#: lib/wait-process.c:117
 #, c-format
 msgid "%s subprocess"
 msgstr ""
 
-#: lib/wait-process.c:117
+#: lib/wait-process.c:129
 #, c-format
 msgid "%s subprocess got fatal signal"
 msgstr ""
 
-#: src/gettext.c:144 src/msgcat.c:245 src/msgcmp.c:132 src/msgcomm.c:242
-#: src/msgconv.c:180 src/msgen.c:168 src/msgfmt.c:272 src/msggrep.c:276
-#: src/msgmerge.c:222 src/msgsed.c:242 src/msgunfmt.c:174 src/ngettext.c:124
-#: src/xgettext.c:386
+#: src/format-c.c:578 src/format-python.c:463
+#, fuzzy
+msgid "number of format specifications in 'msgid' and 'msgstr' does not match"
+msgstr ""
+"o número de especificacións de formato en `msgid' e `msgstr' non coincide"
+
+#: src/format-c.c:588 src/format-python.c:473
+#, fuzzy, c-format
+msgid ""
+"format specifications in 'msgid' and 'msgstr' for argument %u are not the "
+"same"
+msgstr "as especificacións de formato do argumento %lu non son as mesmas"
+
+#: src/format-java.c:652 src/format-pascal.c:396
+#, fuzzy, c-format
+msgid "a format specification for argument {%u} doesn't exist in 'msgid'"
+msgstr "as especificacións de formato do argumento %lu non son as mesmas"
+
+#: src/format-java.c:662 src/format-pascal.c:406
+#, fuzzy, c-format
+msgid "a format specification for argument {%u} doesn't exist in 'msgstr'"
+msgstr "as especificacións de formato do argumento %lu non son as mesmas"
+
+#: src/format-java.c:676 src/format-pascal.c:420
+#, fuzzy, c-format
+msgid ""
+"format specifications in 'msgid' and 'msgstr' for argument {%u} are not the "
+"same"
+msgstr "as especificacións de formato do argumento %lu non son as mesmas"
+
+#: src/format-lisp.c:3371
+#, fuzzy
+msgid "format specifications in 'msgid' and 'msgstr' are not equivalent"
+msgstr ""
+"o número de especificacións de formato en `msgid' e `msgstr' non coincide"
+
+#: src/format-python.c:391
+#, fuzzy
+msgid ""
+"format specifications in 'msgid' expect a mapping, those in 'msgstr' expect "
+"a tuple"
+msgstr ""
+"o número de especificacións de formato en `msgid' e `msgstr' non coincide"
+
+#: src/format-python.c:399
+#, fuzzy
+msgid ""
+"format specifications in 'msgid' expect a tuple, those in 'msgstr' expect a "
+"mapping"
+msgstr ""
+"o número de especificacións de formato en `msgid' e `msgstr' non coincide"
+
+#: src/format-python.c:422
+#, fuzzy, c-format
+msgid "a format specification for argument '%s' doesn't exist in 'msgid'"
+msgstr "as especificacións de formato do argumento %lu non son as mesmas"
+
+#: src/format-python.c:432
+#, fuzzy, c-format
+msgid "a format specification for argument '%s' doesn't exist in 'msgstr'"
+msgstr "as especificacións de formato do argumento %lu non son as mesmas"
+
+#: src/format-python.c:446
+#, fuzzy, c-format
+msgid ""
+"format specifications in 'msgid' and 'msgstr' for argument '%s' are not the "
+"same"
+msgstr "as especificacións de formato do argumento %lu non son as mesmas"
+
+#: src/format-ycp.c:137
+#, fuzzy, c-format
+msgid "a format specification for argument %u doesn't exist in 'msgstr'"
+msgstr "as especificacións de formato do argumento %lu non son as mesmas"
+
+#: src/format-ycp.c:138
+#, fuzzy, c-format
+msgid "a format specification for argument %u doesn't exist in 'msgid'"
+msgstr "as especificacións de formato do argumento %lu non son as mesmas"
+
+#: src/gettext.c:146 src/hostname.c:168 src/msgattrib.c:264 src/msgcat.c:229
+#: src/msgcmp.c:134 src/msgcomm.c:232 src/msgconv.c:182 src/msgen.c:171
+#: src/msgexec.c:240 src/msgfmt.c:333 src/msggrep.c:276 src/msginit.c:247
+#: src/msgmerge.c:252 src/msgunfmt.c:182 src/msguniq.c:207 src/ngettext.c:126
+#: src/xgettext.c:352
 #, c-format, no-wrap
 msgid ""
 "Copyright (C) %s Free Software Foundation, Inc.\n"
@@ -123,43 +248,45 @@ msgstr ""
 "ningunha garantía; nin sequera de COMERCIABILIDADE ou IDONEIDADE PARA UN\n"
 "FIN DETERMINADO.\n"
 
-#: src/gettext.c:149 src/msgcat.c:250 src/msgcmp.c:137 src/msgcomm.c:247
-#: src/msgconv.c:185 src/msgen.c:173 src/msgfmt.c:277 src/msggrep.c:281
-#: src/msgmerge.c:227 src/msgsed.c:247 src/msgunfmt.c:179 src/ngettext.c:129
-#: src/xgettext.c:391
+#: src/gettext.c:151 src/hostname.c:173 src/msgattrib.c:269 src/msgcat.c:234
+#: src/msgcmp.c:139 src/msgcomm.c:237 src/msgconv.c:187 src/msgen.c:176
+#: src/msgexec.c:245 src/msgfmt.c:338 src/msggrep.c:281 src/msginit.c:252
+#: src/msgmerge.c:257 src/msgunfmt.c:187 src/msguniq.c:212 src/ngettext.c:131
+#: src/xgettext.c:357
 #, c-format
 msgid "Written by %s.\n"
 msgstr "Escrito por %s.\n"
 
-#: src/gettext.c:167 src/ngettext.c:141
+#: src/gettext.c:169 src/hostname.c:183 src/msginit.c:262 src/ngettext.c:143
 msgid "too many arguments"
 msgstr "demasiados argumentos"
 
-#: src/gettext.c:177 src/ngettext.c:153
+#: src/gettext.c:179 src/ngettext.c:155
 msgid "missing arguments"
 msgstr "faltan argumentos"
 
-#: src/gettext.c:249 src/msgcat.c:297 src/msgcmp.c:169 src/msgcomm.c:312
-#: src/msgconv.c:234 src/msgen.c:219 src/msgfmt.c:384 src/msggrep.c:366
-#: src/msgmerge.c:273 src/msgsed.c:313 src/msgunfmt.c:219 src/ngettext.c:208
-#: src/xgettext.c:513
+#: src/gettext.c:251 src/hostname.c:197 src/msgattrib.c:322 src/msgcat.c:290
+#: src/msgcmp.c:171 src/msgcomm.c:306 src/msgconv.c:241 src/msgen.c:227
+#: src/msgexec.c:338 src/msgfmt.c:479 src/msggrep.c:371 src/msginit.c:338
+#: src/msgmerge.c:367 src/msgunfmt.c:262 src/msguniq.c:269 src/ngettext.c:210
+#: src/xgettext.c:499
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "Use `%s --help' para máis información.\n"
 
-#: src/gettext.c:254
+#: src/gettext.c:256
 #, c-format, no-wrap
 msgid ""
 "Usage: %s [OPTION] [[TEXTDOMAIN] MSGID]\n"
 "or:    %s [OPTION] -s [MSGID]...\n"
 msgstr ""
 
-#: src/gettext.c:260
+#: src/gettext.c:262
 #, no-wrap
 msgid "Display native language translation of a textual message.\n"
 msgstr ""
 
-#: src/gettext.c:264
+#: src/gettext.c:266
 #, fuzzy, no-wrap
 msgid ""
 "  -d, --domain=TEXTDOMAIN   retrieve translated messages from TEXTDOMAIN\n"
@@ -181,7 +308,7 @@ msgstr ""
 "  [DOMINIO] MSGID           obte-la mensaxe traducida correspondente a\n"
 "                            MSGID do DOMINIO\n"
 
-#: src/gettext.c:275
+#: src/gettext.c:277
 #, fuzzy, c-format, no-wrap
 msgid ""
 "If the TEXTDOMAIN parameter is not given, the domain is determined from the\n"
@@ -202,31 +329,174 @@ msgstr ""
 "que atopa no catálogo escollido.\n"
 "Directorio estándar de busca: %s\n"
 
-#: src/gettext.c:285 src/msgcat.c:378 src/msgcmp.c:214 src/msgcomm.c:390
-#: src/msgconv.c:298 src/msgen.c:279 src/msgfmt.c:443 src/msggrep.c:445
-#: src/msgmerge.c:348 src/msgsed.c:379 src/msgunfmt.c:272 src/ngettext.c:241
-#: src/xgettext.c:604
-msgid "Report bugs to <bug-gnu-utils@gnu.org>.\n"
+#: src/gettext.c:288 src/hostname.c:227 src/msgattrib.c:402 src/msgcat.c:371
+#: src/msgcmp.c:216 src/msgcomm.c:384 src/msgconv.c:305 src/msgen.c:287
+#: src/msgexec.c:410 src/msgfmt.c:563 src/msggrep.c:457 src/msginit.c:389
+#: src/msgmerge.c:465 src/msgunfmt.c:331 src/msguniq.c:343 src/ngettext.c:244
+#: src/xgettext.c:591
+#, fuzzy
+msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
 msgstr "Comunique os erros a <bug-gnu-utils@gnu.org>.\n"
 
-#: src/msgcat.c:233 src/msgcat.c:237 src/msgcomm.c:230 src/msgcomm.c:234
-#: src/msgconv.c:205 src/msgen.c:194 src/msggrep.c:301 src/msgmerge.c:248
-#: src/msgsed.c:270 src/xgettext.c:363 src/xgettext.c:367
+#: src/hostname.c:202 src/msginit.c:343
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION]\n"
+msgstr ""
+
+#: src/hostname.c:207
+#, no-wrap
+msgid "Print the machine's hostname.\n"
+msgstr ""
+
+#: src/hostname.c:212
+#, no-wrap
+msgid ""
+"Output format:\n"
+"  -s, --short           short host name\n"
+"  -f, --fqdn, --long    long host name, includes fully qualified domain name,\n"
+"                          and aliases\n"
+"  -i, --ip-address      addresses for the hostname\n"
+msgstr ""
+
+#: src/hostname.c:221 src/msgattrib.c:396 src/msgcmp.c:210 src/msgconv.c:299
+#: src/msgen.c:281 src/msgexec.c:404 src/msggrep.c:451 src/msginit.c:383
+#, no-wrap
+msgid ""
+"Informative output:\n"
+"  -h, --help                  display this help and exit\n"
+"  -V, --version               output version information and exit\n"
+msgstr ""
+
+#: src/hostname.c:242 src/hostname.c:249
+msgid "could not get host name"
+msgstr ""
+
+#: src/msgattrib.c:284 src/msgconv.c:202 src/msgexec.c:190 src/msggrep.c:296
+#: src/msginit.c:205 src/msguniq.c:227
+msgid "at most one input file allowed"
+msgstr ""
+
+#: src/msgattrib.c:290 src/msgattrib.c:294 src/msgcat.c:244 src/msgcat.c:248
+#: src/msgcomm.c:247 src/msgcomm.c:251 src/msgconv.c:208 src/msgconv.c:212
+#: src/msgen.c:198 src/msgen.c:202 src/msgexec.c:260 src/msgexec.c:264
+#: src/msgfmt.c:358 src/msggrep.c:302 src/msggrep.c:306 src/msgmerge.c:282
+#: src/msgmerge.c:303 src/msgmerge.c:307 src/msguniq.c:233 src/msguniq.c:237
+#: src/xgettext.c:367 src/xgettext.c:371
 #, c-format
 msgid "%s and %s are mutually exclusive"
 msgstr "%s e %s son mutuamente excluíntes"
 
-#: src/msgcat.c:270 src/msgcomm.c:278
+#: src/msgattrib.c:327 src/msgconv.c:246 src/msggrep.c:376 src/msguniq.c:274
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] [INPUTFILE]\n"
+msgstr ""
+
+#: src/msgattrib.c:332
+#, no-wrap
+msgid ""
+"Filters the messages of a translation catalog according to their attributes,\n"
+"and manipulates the attributes.\n"
+msgstr ""
+
+#: src/msgattrib.c:338 src/msgcat.c:313 src/msgcmp.c:191 src/msgcomm.c:328
+#: src/msgconv.c:256 src/msgen.c:245 src/msgexec.c:353 src/msgfmt.c:494
+#: src/msggrep.c:387 src/msginit.c:354 src/msgmerge.c:390 src/msgunfmt.c:277
+#: src/msguniq.c:291
+#, no-wrap
+msgid "Mandatory arguments to long options are mandatory for short options too.\n"
+msgstr ""
+
+#: src/msgattrib.c:343 src/msgconv.c:261 src/msggrep.c:392 src/msguniq.c:296
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  INPUTFILE                   input PO file\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"If no input file is given or if it is -, standard input is read.\n"
+msgstr ""
+
+#: src/msgattrib.c:351 src/msgconv.c:269 src/msgen.c:258 src/msgexec.c:366
+#: src/msggrep.c:400 src/msgmerge.c:412
+#, no-wrap
+msgid ""
+"Output file location:\n"
+"  -o, --output-file=FILE      write output to specified file\n"
+"The results are written to standard output if no output file is specified\n"
+"or if it is -.\n"
+msgstr ""
+
+#: src/msgattrib.c:359
+#, no-wrap
+msgid ""
+"Message selection:\n"
+"      --translated            keep translated, remove untranslated messages\n"
+"      --untranslated          keep untranslated, remove translated messages\n"
+"      --no-fuzzy              remove 'fuzzy' marked messages\n"
+"      --only-fuzzy            keep 'fuzzy' marked messages\n"
+"      --no-obsolete           remove obsolete #~ messages\n"
+"      --only-obsolete         keep obsolete #~ messages\n"
+msgstr ""
+
+#: src/msgattrib.c:370
+#, no-wrap
+msgid ""
+"Attribute manipulation:\n"
+"      --set-fuzzy             set all messages 'fuzzy'\n"
+"      --clear-fuzzy           set all messages non-'fuzzy'\n"
+"      --set-obsolete          set all messages obsolete\n"
+"      --clear-obsolete        set all messages non-obsolete\n"
+"      --fuzzy                 synonym for --only-fuzzy --clear-fuzzy\n"
+"      --obsolete              synonym for --only-obsolete --clear-obsolete\n"
+msgstr ""
+
+#: src/msgattrib.c:381
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
+"  -e, --no-escape             do not use C escapes in output (default)\n"
+"  -E, --escape                use C escapes in output, no extended chars\n"
+"      --force-po              write PO file even if empty\n"
+"  -i, --indent                write the .po file using indented style\n"
+"      --no-location           do not write '#: filename:line' lines\n"
+"  -n, --add-location          generate '#: filename:line' lines (default)\n"
+"      --strict                write out strict Uniforum conforming .po file\n"
+"  -w, --width=NUMBER          set output page width\n"
+"  -s, --sort-output           generate sorted output\n"
+"  -F, --sort-by-file          sort output by file location\n"
+msgstr ""
+"Uso: %s [OPCIÓN] def.po ref.po\n"
+"Os argumentos obrigatorios para as opcións longas son tamén obrigatorios\n"
+"para as opcións curtas.\n"
+"  -C, --compendium=FICHEIRO   biblioteca adicional de traduccións de mensaxes,\n"
+"                              pode ser indicada máis dunha vez\n"
+"  -D, --directory=DIRECTORIO  engadir DIRECTORIO á lista de busca de ficheiros\n"
+"                              de entrada\n"
+"  -e, --no-escape             non usar secuencias de escape de C na saída\n"
+"                              (opción por defecto)\n"
+"  -E, --escape                usar secuencias de escape de C na saída, sen\n"
+"                              caracteres estendidos\n"
+"      --force-po              escribi-lo ficheiro po aínda que estea baleiro\n"
+"  -h, --help                  amosar esta axuda e saír\n"
+"  -i, --indent                estilo de saída indentado\n"
+"  -o, --output-file=FICHEIRO  escribi-lo resultado en FICHEIRO\n"
+"      --no-location           suprimi-las liñas '#: ficheiro:liña'\n"
+"      --add-location          mante-las liñas '#: ficheiro:liña' (por omisión)\n"
+"      --strict                estilo de saída Uniforum estricto\n"
+"  -v, --verbose               incrementa-lo nivel de detalle\n"
+"  -V, --version               amosa-la información da versión e saír\n"
+"  -w, --width=NÚMERO          establece-la anchura da páxina de saída\n"
+
+#: src/msgcat.c:254 src/msgcomm.c:277
 #, c-format
 msgid "impossible selection criteria specified (%d < n < %d)"
 msgstr "o criterio de selección indicado é imposible (%d < n < %d)"
 
-#: src/msgcat.c:302 src/msgcomm.c:317 src/xgettext.c:518
+#: src/msgcat.c:295 src/msgcomm.c:311 src/xgettext.c:504
 #, c-format, no-wrap
 msgid "Usage: %s [OPTION] [INPUTFILE]...\n"
 msgstr ""
 
-#: src/msgcat.c:307
+#: src/msgcat.c:300
 #, fuzzy, no-wrap
 msgid ""
 "Concatenates and merges the specified PO files.\n"
@@ -256,14 +526,7 @@ msgstr ""
 "comentarios e comentarios de extracción mantéñense, pero só do primeiro\n"
 "ficheiro para definilos.  Mantéñense as posicións de tódolos ficheiros PO.\n"
 
-#: src/msgcat.c:320 src/msgcmp.c:189 src/msgcomm.c:334 src/msgconv.c:249
-#: src/msgen.c:237 src/msgfmt.c:399 src/msggrep.c:382 src/msgmerge.c:296
-#: src/msgsed.c:328 src/msgunfmt.c:234
-#, no-wrap
-msgid "Mandatory arguments to long options are mandatory for short options too.\n"
-msgstr ""
-
-#: src/msgcat.c:325 src/msgcomm.c:339 src/xgettext.c:534
+#: src/msgcat.c:318 src/msgcomm.c:333 src/xgettext.c:520
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -273,7 +536,7 @@ msgid ""
 "If input file is -, standard input is read.\n"
 msgstr ""
 
-#: src/msgcat.c:334 src/msgcomm.c:348
+#: src/msgcat.c:327 src/msgcomm.c:342 src/msguniq.c:304
 #, no-wrap
 msgid ""
 "Output file location:\n"
@@ -282,7 +545,7 @@ msgid ""
 "or if it is -.\n"
 msgstr ""
 
-#: src/msgcat.c:342 src/msgcomm.c:356
+#: src/msgcat.c:335
 #, fuzzy, no-wrap
 msgid ""
 "Message selection:\n"
@@ -290,7 +553,7 @@ msgid ""
 "                                 definitions, defaults to infinite if not\n"
 "                                 set\n"
 "  ->, --more-than=NUMBER         print messages with more than this many\n"
-"                                 definitions, defaults to 1 if not set\n"
+"                                 definitions, defaults to 0 if not set\n"
 "  -u, --unique                   shorthand for --less-than=2, requests\n"
 "                                 that only unique messages be printed\n"
 msgstr ""
@@ -311,7 +574,7 @@ msgstr ""
 "comentarios e comentarios de extracción mantéñense, pero só do primeiro\n"
 "ficheiro para definilos.  Mantéñense as posicións de tódolos ficheiros PO.\n"
 
-#: src/msgcat.c:354
+#: src/msgcat.c:347 src/msguniq.c:319
 #, fuzzy, no-wrap
 msgid ""
 "Output details:\n"
@@ -326,7 +589,7 @@ msgid ""
 "  -n, --add-location             generate '#: filename:line' lines (default)\n"
 "      --strict                   write out strict Uniforum conforming .po file\n"
 "  -w, --width=NUMBER             set output page width\n"
-"  -s, --sort-output              generate sorted output and remove duplicates\n"
+"  -s, --sort-output              generate sorted output\n"
 "  -F, --sort-by-file             sort output by file location\n"
 msgstr ""
 "Uso: %s [OPCIÓN] def.po ref.po\n"
@@ -351,7 +614,7 @@ msgstr ""
 "  -V, --version               amosa-la información da versión e saír\n"
 "  -w, --width=NÚMERO          establece-la anchura da páxina de saída\n"
 
-#: src/msgcat.c:372 src/msgcomm.c:384 src/xgettext.c:598
+#: src/msgcat.c:365 src/msgcomm.c:378 src/msguniq.c:337 src/xgettext.c:585
 #, no-wrap
 msgid ""
 "Informative output:\n"
@@ -359,75 +622,20 @@ msgid ""
 "  -V, --version                  output version information and exit\n"
 msgstr ""
 
-#: src/msgcat.c:403 src/msgcomm.c:415 src/msgunfmt.c:394 src/po-lex.c:85
-#: src/xget-lex.c:159 src/xget-lex.c:172 src/xget-lex.c:182 src/xgettext.c:629
-#, c-format
-msgid "error while opening \"%s\" for reading"
-msgstr "erro ao abrir \"%s\" para lectura"
-
-#: src/msgcat.c:544 src/msgl-charset.c:82 src/msgl-iconv.c:292
-#, c-format
-msgid "present charset \"%s\" is not a portable encoding name"
-msgstr ""
-
-#: src/msgcat.c:552 src/msgl-iconv.c:300
-#, c-format
-msgid "two different charsets \"%s\" and \"%s\" in input file"
-msgstr ""
-
-#: src/msgcat.c:561
-#, c-format
-msgid ""
-"input file `%s' doesn't contain a header entry with a charset specification"
-msgstr ""
-
-#: src/msgcat.c:565
-#, c-format
-msgid ""
-"domain \"%s\" in input file `%s' doesn't contain a header entry with a "
-"charset specification"
-msgstr ""
-
-#: src/msgcat.c:719 src/msgl-iconv.c:370
-#, c-format
-msgid "target charset \"%s\" is not a portable encoding name."
-msgstr ""
-
-#: src/msgcat.c:752 src/msgcat.c:758 src/msgl-charset.c:87
-#: src/msgl-charset.c:122
-#, fuzzy
-msgid "warning: "
-msgstr "%s: aviso: "
-
-#: src/msgcat.c:753
-msgid ""
-"Input files contain messages in different encodings, UTF-8 among others.\n"
-"Converting the output to UTF-8.\n"
-msgstr ""
-
-#: src/msgcat.c:759
-#, c-format
-msgid ""
-"Input files contain messages in different encodings, %s and %s among "
-"others.\n"
-"Converting the output to UTF-8.\n"
-"To select a different output encoding, use the --to-code option.\n"
-msgstr ""
-
-#: src/msgcmp.c:148 src/msgmerge.c:238
+#: src/msgcmp.c:150 src/msgmerge.c:268
 msgid "no input files given"
 msgstr "non se indicou ningún ficheiro de entrada"
 
-#: src/msgcmp.c:153 src/msgmerge.c:243
+#: src/msgcmp.c:155 src/msgmerge.c:273
 msgid "exactly 2 input files required"
 msgstr "precísanse exactamente dous ficheiros de entrada"
 
-#: src/msgcmp.c:174 src/msgmerge.c:278
+#: src/msgcmp.c:176 src/msgmerge.c:372
 #, c-format, no-wrap
 msgid "Usage: %s [OPTION] def.po ref.pot\n"
 msgstr ""
 
-#: src/msgcmp.c:179
+#: src/msgcmp.c:181
 #, fuzzy, no-wrap
 msgid ""
 "Compare two Uniforum style .po files to check that both contain the same\n"
@@ -453,7 +661,7 @@ msgstr ""
 "un emparellamento exacto, úsase coincidencia difusa, de xeito que se produza\n"
 "un mellor diagnóstico.\n"
 
-#: src/msgcmp.c:194
+#: src/msgcmp.c:196
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -462,59 +670,50 @@ msgid ""
 "  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
 msgstr ""
 
-#: src/msgcmp.c:202 src/msgmerge.c:319
+#: src/msgcmp.c:204 src/msgmerge.c:436
 #, no-wrap
 msgid ""
 "Operation modifiers:\n"
 "  -m, --multi-domain          apply ref.pot to each of the domains in def.po\n"
 msgstr ""
 
-#: src/msgcmp.c:208 src/msgconv.c:292 src/msgen.c:273 src/msggrep.c:439
-#: src/msgsed.c:373
-#, no-wrap
-msgid ""
-"Informative output:\n"
-"  -h, --help                  display this help and exit\n"
-"  -V, --version               output version information and exit\n"
-msgstr ""
-
-#: src/msgcmp.c:251 src/msgmerge.c:426
+#: src/msgcmp.c:253 src/msgmerge.c:543
 msgid "this message is used but not defined..."
 msgstr "esta mensaxe úsase mais non está definida..."
 
-#: src/msgcmp.c:253 src/msgmerge.c:428
+#: src/msgcmp.c:255 src/msgmerge.c:545
 msgid "...but this definition is similar"
 msgstr "...mais esta definición é semellante"
 
-#: src/msgcmp.c:258 src/msgmerge.c:455
+#: src/msgcmp.c:260 src/msgmerge.c:572
 #, c-format
 msgid "this message is used but not defined in %s"
 msgstr "esta mensaxe úsase mais non está definida en %s"
 
-#: src/msgcmp.c:330
+#: src/msgcmp.c:332
 msgid "warning: this message is not used"
 msgstr "aviso: esta mensaxe non se usa"
 
-#: src/msgcmp.c:337 src/po-lex.c:99
+#: src/msgcmp.c:339 src/po-lex.c:705
 #, c-format
 msgid "found %d fatal error"
 msgid_plural "found %d fatal errors"
 msgstr[0] "atopouse %d erro grave"
 msgstr[1] "atopáronse %d erros graves"
 
-#: src/msgcmp.c:418 src/msgfmt.c:703 src/read-po.c:184 src/xgettext.c:1147
+#: src/msgcmp.c:420 src/msgfmt.c:1323 src/read-po.c:202 src/x-po.c:163
 msgid "duplicate message definition"
 msgstr "definición de mensaxe duplicada"
 
-#: src/msgcmp.c:419 src/msgfmt.c:705 src/read-po.c:185 src/xgettext.c:1148
+#: src/msgcmp.c:421 src/msgfmt.c:1324 src/read-po.c:203 src/x-po.c:164
 msgid "...this is the location of the first definition"
 msgstr "...este é o lugar da primeira definición"
 
-#: src/msgcomm.c:267
+#: src/msgcomm.c:266
 msgid "at least two files must be specified"
 msgstr "téñense que indicar polo menos dous ficheiros"
 
-#: src/msgcomm.c:322
+#: src/msgcomm.c:316
 #, fuzzy, no-wrap
 msgid ""
 "Find messages which are common to two or more of the specified PO files.\n"
@@ -543,26 +742,55 @@ msgstr ""
 "comentarios e comentarios de extracción mantéñense, pero só do primeiro\n"
 "ficheiro para definilos.  Mantéñense as posicións de tódolos ficheiros PO.\n"
 
-#: src/msgcomm.c:368
+#: src/msgcomm.c:350
 #, fuzzy, no-wrap
 msgid ""
-"Output details:\n"
-"  -e, --no-escape                do not use C escapes in output (default)\n"
-"  -E, --escape                   use C escapes in output, no extended chars\n"
-"      --force-po                 write PO file even if empty\n"
-"  -i, --indent                   write the .po file using indented style\n"
-"      --no-location              do not write '#: filename:line' lines\n"
-"  -n, --add-location             generate '#: filename:line' lines (default)\n"
-"      --strict                   write out strict Uniforum conforming .po file\n"
-"  -w, --width=NUMBER             set output page width\n"
-"  -s, --sort-output              generate sorted output and remove duplicates\n"
-"  -F, --sort-by-file             sort output by file location\n"
-"      --omit-header              don't write header with `msgid \"\"' entry\n"
+"Message selection:\n"
+"  -<, --less-than=NUMBER         print messages with less than this many\n"
+"                                 definitions, defaults to infinite if not\n"
+"                                 set\n"
+"  ->, --more-than=NUMBER         print messages with more than this many\n"
+"                                 definitions, defaults to 1 if not set\n"
+"  -u, --unique                   shorthand for --less-than=2, requests\n"
+"                                 that only unique messages be printed\n"
 msgstr ""
-"Uso: %s [OPCIÓN] def.po ref.po\n"
-"Os argumentos obrigatorios para as opcións longas son tamén obrigatorios\n"
-"para as opcións curtas.\n"
-"  -C, --compendium=FICHEIRO   biblioteca adicional de traduccións de mensaxes,\n"
+"  -V, --version                  amosa-la información da versión e saír\n"
+"  -w, --width=NÚMERO             establece-la anchura da páxina de saída\n"
+"  -<, --less-than=NÚMERO         escribi-las mensaxes que teñan menos\n"
+"                                 deste número de definicións.  Se non se\n"
+"                                 indica, é infinito\n"
+"  ->, --more-than=NÚMERO         escribi-las mensaxes que teñan máis\n"
+"                                 deste número de definicións.  Se non se\n"
+"                                 indica, é 1\n"
+"\n"
+"Atopar mensaxes que son comúns a dous ou máis dos ficheiros PO indicados.\n"
+"Usando a opción --more-than, pódese requiri-la concorrencia en máis ficheiros\n"
+"antes de escribi-las mensaxes.  Do mesmo xeito, coa opción --less-than pódese\n"
+"requiri-la concorrencia en menos ficheiros antes de escribir-las mensaxes\n"
+"(i.e. --less-than=2 só escribe as mensaxes únicas).  As traduccións,\n"
+"comentarios e comentarios de extracción mantéñense, pero só do primeiro\n"
+"ficheiro para definilos.  Mantéñense as posicións de tódolos ficheiros PO.\n"
+
+#: src/msgcomm.c:362
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
+"  -e, --no-escape                do not use C escapes in output (default)\n"
+"  -E, --escape                   use C escapes in output, no extended chars\n"
+"      --force-po                 write PO file even if empty\n"
+"  -i, --indent                   write the .po file using indented style\n"
+"      --no-location              do not write '#: filename:line' lines\n"
+"  -n, --add-location             generate '#: filename:line' lines (default)\n"
+"      --strict                   write out strict Uniforum conforming .po file\n"
+"  -w, --width=NUMBER             set output page width\n"
+"  -s, --sort-output              generate sorted output\n"
+"  -F, --sort-by-file             sort output by file location\n"
+"      --omit-header              don't write header with `msgid \"\"' entry\n"
+msgstr ""
+"Uso: %s [OPCIÓN] def.po ref.po\n"
+"Os argumentos obrigatorios para as opcións longas son tamén obrigatorios\n"
+"para as opcións curtas.\n"
+"  -C, --compendium=FICHEIRO   biblioteca adicional de traduccións de mensaxes,\n"
 "                              pode ser indicada máis dunha vez\n"
 "  -D, --directory=DIRECTORIO  engadir DIRECTORIO á lista de busca de ficheiros\n"
 "                              de entrada\n"
@@ -581,44 +809,12 @@ msgstr ""
 "  -V, --version               amosa-la información da versión e saír\n"
 "  -w, --width=NÚMERO          establece-la anchura da páxina de saída\n"
 
-#: src/msgcomm.c:510 src/xgettext.c:676 src/xgettext.c:1093
-msgid "this file may not contain domain directives"
-msgstr "este ficheiro non pode conter directivas de dominio"
-
-#: src/msgconv.c:200 src/msggrep.c:296 src/msgsed.c:262
-msgid "at most one input file allowed"
-msgstr ""
-
-#: src/msgconv.c:239 src/msggrep.c:371 src/msgsed.c:318
-#, c-format, no-wrap
-msgid "Usage: %s [OPTION] [INPUTFILE]\n"
-msgstr ""
-
-#: src/msgconv.c:244
+#: src/msgconv.c:251
 #, no-wrap
 msgid "Converts a translation catalog to a different character encoding.\n"
 msgstr ""
 
-#: src/msgconv.c:254 src/msggrep.c:387 src/msgsed.c:333
-#, no-wrap
-msgid ""
-"Input file location:\n"
-"  INPUTFILE                   input PO file\n"
-"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
-"If no input file is given or if it is -, standard input is read.\n"
-msgstr ""
-
-#: src/msgconv.c:262 src/msgen.c:250 src/msggrep.c:395 src/msgmerge.c:311
-#: src/msgsed.c:341
-#, no-wrap
-msgid ""
-"Output file location:\n"
-"  -o, --output-file=FILE      write output to specified file\n"
-"The results are written to standard output if no output file is specified\n"
-"or if it is -.\n"
-msgstr ""
-
-#: src/msgconv.c:270
+#: src/msgconv.c:277
 #, no-wrap
 msgid ""
 "Conversion target:\n"
@@ -626,7 +822,7 @@ msgid ""
 "The default encoding is the current locale's encoding.\n"
 msgstr ""
 
-#: src/msgconv.c:277 src/msgen.c:258 src/msgmerge.c:325
+#: src/msgconv.c:284 src/msgen.c:266 src/msgmerge.c:442
 #, fuzzy, no-wrap
 msgid ""
 "Output details:\n"
@@ -638,7 +834,7 @@ msgid ""
 "      --add-location          preserve '#: filename:line' lines (default)\n"
 "      --strict                strict Uniforum output style\n"
 "  -w, --width=NUMBER          set output page width\n"
-"  -s, --sort-output           generate sorted output and remove duplicates\n"
+"  -s, --sort-output           generate sorted output\n"
 "  -F, --sort-by-file          sort output by file location\n"
 msgstr ""
 "Uso: %s [OPCIÓN] def.po ref.po\n"
@@ -663,21 +859,21 @@ msgstr ""
 "  -V, --version               amosa-la información da versión e saír\n"
 "  -w, --width=NÚMERO          establece-la anchura da páxina de saída\n"
 
-#: src/msgen.c:184 src/msgfmt.c:288 src/xgettext.c:402
+#: src/msgen.c:187 src/msgfmt.c:349 src/xgettext.c:388
 msgid "no input file given"
 msgstr "non se indicou ningún ficheiro de entrada"
 
-#: src/msgen.c:189
+#: src/msgen.c:192
 #, fuzzy
 msgid "exactly one input file required"
 msgstr "precísanse exactamente dous ficheiros de entrada"
 
-#: src/msgen.c:224
+#: src/msgen.c:232
 #, c-format, no-wrap
 msgid "Usage: %s [OPTION] INPUTFILE\n"
 msgstr ""
 
-#: src/msgen.c:229
+#: src/msgen.c:237
 #, no-wrap
 msgid ""
 "Creates an English translation catalog.  The input file is the last\n"
@@ -686,7 +882,7 @@ msgid ""
 "identical to the msgid, and are marked fuzzy.\n"
 msgstr ""
 
-#: src/msgen.c:242
+#: src/msgen.c:250
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -695,43 +891,162 @@ msgid ""
 "If input file is -, standard input is read.\n"
 msgstr ""
 
-#: src/msgfmt.c:339
+#: src/msgexec.c:255
+#, fuzzy
+msgid "missing filter name"
+msgstr "faltan argumentos"
+
+#: src/msgexec.c:279
+#, fuzzy
+msgid "at least one sed script must be specified"
+msgstr "téñense que indicar polo menos dous ficheiros"
+
+#: src/msgexec.c:343
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] FILTER [FILTER-OPTION]\n"
+msgstr ""
+
+#: src/msgexec.c:348
+#, no-wrap
+msgid "Applies a filter to all translations of a translation catalog.\n"
+msgstr ""
+
+#: src/msgexec.c:358
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  -i, --input=INPUTFILE       input PO file\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"If no input file is given or if it is -, standard input is read.\n"
+msgstr ""
+
+#: src/msgexec.c:374
+#, no-wrap
+msgid ""
+"The FILTER can be any program that reads a translation from standard input\n"
+"and writes a modified translation to standard output.\n"
+msgstr ""
+
+#: src/msgexec.c:380
+#, no-wrap
+msgid ""
+"Useful FILTER-OPTIONs when the FILTER is 'sed':\n"
+"  -e, --expression=SCRIPT     add SCRIPT to the commands to be executed\n"
+"  -f, --file=SCRIPTFILE       add the contents of SCRIPTFILE to the commands\n"
+"                                to be executed\n"
+"  -n, --quiet, --silent       suppress automatic printing of pattern space\n"
+msgstr ""
+
+#: src/msgexec.c:389
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
+"      --no-escape             do not use C escapes in output (default)\n"
+"  -E, --escape                use C escapes in output, no extended chars\n"
+"      --force-po              write PO file even if empty\n"
+"      --indent                indented output style\n"
+"      --no-location           suppress '#: filename:line' lines\n"
+"      --add-location          preserve '#: filename:line' lines (default)\n"
+"      --strict                strict Uniforum output style\n"
+"  -w, --width=NUMBER          set output page width\n"
+"  -s, --sort-output           generate sorted output\n"
+"  -F, --sort-by-file          sort output by file location\n"
+msgstr ""
+"Uso: %s [OPCIÓN] def.po ref.po\n"
+"Os argumentos obrigatorios para as opcións longas son tamén obrigatorios\n"
+"para as opcións curtas.\n"
+"  -C, --compendium=FICHEIRO   biblioteca adicional de traduccións de mensaxes,\n"
+"                              pode ser indicada máis dunha vez\n"
+"  -D, --directory=DIRECTORIO  engadir DIRECTORIO á lista de busca de ficheiros\n"
+"                              de entrada\n"
+"  -e, --no-escape             non usar secuencias de escape de C na saída\n"
+"                              (opción por defecto)\n"
+"  -E, --escape                usar secuencias de escape de C na saída, sen\n"
+"                              caracteres estendidos\n"
+"      --force-po              escribi-lo ficheiro po aínda que estea baleiro\n"
+"  -h, --help                  amosar esta axuda e saír\n"
+"  -i, --indent                estilo de saída indentado\n"
+"  -o, --output-file=FICHEIRO  escribi-lo resultado en FICHEIRO\n"
+"      --no-location           suprimi-las liñas '#: ficheiro:liña'\n"
+"      --add-location          mante-las liñas '#: ficheiro:liña' (por omisión)\n"
+"      --strict                estilo de saída Uniforum estricto\n"
+"  -v, --verbose               incrementa-lo nivel de detalle\n"
+"  -V, --version               amosa-la información da versión e saír\n"
+"  -w, --width=NÚMERO          establece-la anchura da páxina de saída\n"
+
+#: src/msgexec.c:546
 #, c-format
-msgid "error while opening \"%s\" for writing"
-msgstr "erro ao abrir \"%s\" para escribir"
+msgid "cannot set up nonblocking I/O to %s subprocess"
+msgstr ""
 
-#: src/msgfmt.c:357
+#: src/msgexec.c:574
+#, c-format
+msgid "communication with %s subprocess failed"
+msgstr ""
+
+#: src/msgexec.c:594
+#, c-format
+msgid "write to %s subprocess failed"
+msgstr ""
+
+#: src/msgexec.c:625
+#, c-format
+msgid "read from %s subprocess failed"
+msgstr ""
+
+#: src/msgexec.c:641
+#, c-format
+msgid "%s subprocess terminated with exit code %d"
+msgstr ""
+
+#: src/msgfmt.c:303
+#, c-format
+msgid "the argument to %s should be a single punctuation character"
+msgstr ""
+
+#: src/msgfmt.c:364
+#, c-format
+msgid "%s requires a \"-d directory\" specification"
+msgstr ""
+
+#: src/msgfmt.c:373 src/msgfmt.c:379 src/msgfmt.c:385 src/msgmerge.c:290
+#: src/msgmerge.c:296 src/msgunfmt.c:209 src/msgunfmt.c:215
+#, c-format
+msgid "%s is only valid with %s"
+msgstr ""
+
+#: src/msgfmt.c:452
 #, c-format
 msgid "%d translated message"
 msgid_plural "%d translated messages"
 msgstr[0] "%d mensaxe traducida"
 msgstr[1] "%d mensaxes traducidas"
 
-#: src/msgfmt.c:362
+#: src/msgfmt.c:457
 #, c-format
 msgid ", %d fuzzy translation"
 msgid_plural ", %d fuzzy translations"
 msgstr[0] ", %d traducción difusa"
 msgstr[1] ", %d traduccións difusas"
 
-#: src/msgfmt.c:367
+#: src/msgfmt.c:462
 #, c-format
 msgid ", %d untranslated message"
 msgid_plural ", %d untranslated messages"
 msgstr[0] ", %d mensaxe sen traducir"
 msgstr[1] ", %d mensaxes sen traducir"
 
-#: src/msgfmt.c:389
+#: src/msgfmt.c:484
 #, c-format, no-wrap
 msgid "Usage: %s [OPTION] filename.po ...\n"
 msgstr ""
 
-#: src/msgfmt.c:394
+#: src/msgfmt.c:489
 #, no-wrap
 msgid "Generate binary message catalog from textual translation description.\n"
 msgstr ""
 
-#: src/msgfmt.c:404
+#: src/msgfmt.c:499
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -740,7 +1055,15 @@ msgid ""
 "If input file is -, standard input is read.\n"
 msgstr ""
 
-#: src/msgfmt.c:412
+#: src/msgfmt.c:507
+#, no-wrap
+msgid ""
+"Operation mode:\n"
+"  -j, --java                  Java mode: generate a Java ResourceBundle class\n"
+"      --java2                 like --java, and assume Java2 (JDK 1.2 or higher)\n"
+msgstr ""
+
+#: src/msgfmt.c:514
 #, no-wrap
 msgid ""
 "Output file location:\n"
@@ -749,15 +1072,35 @@ msgid ""
 "If output file is -, output is written to standard output.\n"
 msgstr ""
 
-#: src/msgfmt.c:420
+#: src/msgfmt.c:522
+#, no-wrap
+msgid ""
+"Output file location in Java mode:\n"
+"  -r, --resource=RESOURCE     resource name\n"
+"  -l, --locale=LOCALE         locale name, either language or language_COUNTRY\n"
+"  -d DIRECTORY                base directory of classes directory hierarchy\n"
+"The class name is determined by appending the locale name to the resource name,\n"
+"separated with an underscore.  The -d option is mandatory.  The class is\n"
+"written under the specified directory.\n"
+msgstr ""
+
+#: src/msgfmt.c:533
 #, no-wrap
 msgid ""
 "Input file interpretation:\n"
-"  -c, --check                 perform language dependent checks on strings\n"
+"  -c, --check                 perform all the checks implied by\n"
+"                                --check-format, --check-header, --check-domain\n"
+"      --check-format          check language dependent format strings\n"
+"      --check-header          verify presence and contents of the header entry\n"
+"      --check-domain          check for conflicts between domain directives\n"
+"                                and the --output-file option\n"
+"  -C, --check-compatibility   check that GNU msgfmt behaves like X/Open msgfmt\n"
+"      --check-accelerators[=CHAR]  check presence of keyboard accelerators for\n"
+"                                menu items\n"
 "  -f, --use-fuzzy             use fuzzy entries in output\n"
 msgstr ""
 
-#: src/msgfmt.c:427
+#: src/msgfmt.c:548
 #, c-format, no-wrap
 msgid ""
 "Output details:\n"
@@ -765,85 +1108,80 @@ msgid ""
 "      --no-hash               binary file will not include the hash table\n"
 msgstr ""
 
-#: src/msgfmt.c:434
+#: src/msgfmt.c:555
 #, no-wrap
 msgid ""
 "Informative output:\n"
 "  -h, --help                  display this help and exit\n"
 "  -V, --version               output version information and exit\n"
 "      --statistics            print statistics about translations\n"
-"  -v, --verbose               list input file anomalies\n"
-"Giving the -v option more than once increases the verbosity level.\n"
+"  -v, --verbose               increase verbosity level\n"
 msgstr ""
 
-#: src/msgfmt.c:466
-msgid "while creating hash table"
-msgstr "ao crea-la táboa `hash'"
+#: src/msgfmt.c:707
+msgid "plural expression can produce negative values"
+msgstr ""
 
-#: src/msgfmt.c:504
-#, fuzzy
-msgid "warning: PO file header missing, fuzzy, or invalid\n"
+#: src/msgfmt.c:720
+#, c-format
+msgid "nplurals = %lu but plural expression can produce values as large as %lu"
 msgstr ""
-"%s: aviso: a cabeceira do ficheiro PO non existe, é 'fuzzy' ou é inválida\n"
-"%*s  aviso: a conversión de código de caracteres non vai funcionar"
 
-#: src/msgfmt.c:507
-#, fuzzy
-msgid "warning: charset conversion will not work\n"
+#: src/msgfmt.c:746
+msgid "plural expression can produce division by zero"
 msgstr ""
-"Falta o código de caracteres na cabeceira.\n"
-"A conversión da mensaxe ao código do usuario non vai funcionar.\n"
 
-#: src/msgfmt.c:531
-#, c-format
-msgid "domain name \"%s\" not suitable as file name"
-msgstr "o nome de dominio \"%s\" non é axeitado para nome de ficheiro"
+#: src/msgfmt.c:751
+msgid "plural expression can produce integer overflow"
+msgstr ""
 
-#: src/msgfmt.c:536
-#, c-format
-msgid "domain name \"%s\" not suitable as file name: will use prefix"
+#: src/msgfmt.c:756
+msgid ""
+"plural expression can produce arithmetic exceptions, possibly division by "
+"zero"
 msgstr ""
-"o nome de dominio \"%s\" non é axeitado como nome de ficheiro:\n"
-"empregarase un prefixo"
 
-#. We don't change the exit status here because this is really
-#. only an information.
-#: src/msgfmt.c:549
-#, c-format
-msgid "`domain %s' directive ignored"
-msgstr "directiva `domain %s' ignorada"
+#: src/msgfmt.c:830 src/msgfmt.c:841
+msgid "message catalog has plural form translations..."
+msgstr ""
 
-#: src/msgfmt.c:585
-msgid "empty `msgstr' entry ignored"
-msgstr "entrada `msgstr' baleira ignorada"
+#: src/msgfmt.c:833
+msgid "...but header entry lacks a \"plural=EXPRESSION\" attribute"
+msgstr ""
 
-#: src/msgfmt.c:586
-msgid "fuzzy `msgstr' entry ignored"
-msgstr "entrada `msgstr' difusa ignorada"
+#: src/msgfmt.c:844
+msgid "...but header entry lacks a \"nplurals=INTEGER\" attribute"
+msgstr ""
 
-#: src/msgfmt.c:629
-#, c-format
-msgid "headerfield `%s' missing in header"
-msgstr "falta o campo `%s' na cabeceira"
+#: src/msgfmt.c:868
+#, fuzzy
+msgid "invalid nplurals value"
+msgstr "secuencia de control ilegal"
 
-#: src/msgfmt.c:632
-#, c-format
-msgid "header field `%s' should start at beginning of line"
-msgstr "o campo `%s' da cabeceira tería que comezar ao principio da liña"
+#: src/msgfmt.c:881
+msgid "invalid plural expression"
+msgstr ""
 
-#: src/msgfmt.c:642
-msgid "some header fields still have the initial default value"
-msgstr "algúns campos da cabeceira aínda teñen o valor inicial por defecto"
+#: src/msgfmt.c:899 src/msgfmt.c:912
+#, c-format
+msgid "nplurals = %lu..."
+msgstr ""
 
-#: src/msgfmt.c:653
+#: src/msgfmt.c:902
 #, c-format
-msgid "field `%s' still has initial default value"
-msgstr "o campo `%s' aínda ten o valor inicial por defecto"
+msgid "...but some messages have only %lu plural forms"
+msgstr ""
 
-#: src/msgfmt.c:745
+#: src/msgfmt.c:915
 #, c-format
-msgid "%s: warning: source file contains fuzzy translation"
-msgstr "%s: aviso: o ficheiro fonte contén traduccións difusas"
+msgid "...but some messages have %lu plural forms"
+msgstr ""
+
+#: src/msgfmt.c:930
+msgid ""
+"message catalog has plural form translations, but lacks a header entry with "
+"\"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\""
+msgstr ""
 
 #: src/msgfmt.c:968
 msgid "`msgid' and `msgid_plural' entries do not both begin with '\\n'"
@@ -873,29 +1211,112 @@ msgstr "as entradas `msgid' e `msgstr[%u]' non rematan 
 msgid "`msgid' and `msgstr' entries do not both end with '\\n'"
 msgstr "as entradas `msgid' e `msgstr' non rematan ámbalas dúas con '\\n'"
 
-#: src/msgfmt.c:1047
-msgid "number of format specifications in `msgid' and `msgstr' does not match"
+#: src/msgfmt.c:1041
+msgid "plural handling is a GNU gettext extension"
 msgstr ""
-"o número de especificacións de formato en `msgid' e `msgstr' non coincide"
 
-#: src/msgfmt.c:1066
+#: src/msgfmt.c:1088
 #, c-format
-msgid "format specifications for argument %lu are not the same"
-msgstr "as especificacións de formato do argumento %lu non son as mesmas"
+msgid "'msgstr' is not a valid %s format string, unlike 'msgid'"
+msgstr ""
+
+#: src/msgfmt.c:1122
+#, c-format
+msgid "msgstr lacks the keyboard accelerator mark '%c'"
+msgstr ""
+
+#: src/msgfmt.c:1130
+#, c-format
+msgid "msgstr has too many keyboard accelerator marks '%c'"
+msgstr ""
+
+#: src/msgfmt.c:1164
+#, c-format
+msgid "headerfield `%s' missing in header"
+msgstr "falta o campo `%s' na cabeceira"
+
+#: src/msgfmt.c:1167
+#, c-format
+msgid "header field `%s' should start at beginning of line"
+msgstr "o campo `%s' da cabeceira tería que comezar ao principio da liña"
+
+#: src/msgfmt.c:1176
+msgid "some header fields still have the initial default value"
+msgstr "algúns campos da cabeceira aínda teñen o valor inicial por defecto"
+
+#: src/msgfmt.c:1187
+#, c-format
+msgid "field `%s' still has initial default value"
+msgstr "o campo `%s' aínda ten o valor inicial por defecto"
+
+#: src/msgfmt.c:1228
+#, fuzzy
+msgid "warning: PO file header missing or invalid\n"
+msgstr ""
+"%s: aviso: a cabeceira do ficheiro PO non existe, é 'fuzzy' ou é inválida\n"
+"%*s  aviso: a conversión de código de caracteres non vai funcionar"
+
+#: src/msgfmt.c:1231
+#, fuzzy
+msgid "warning: charset conversion will not work\n"
+msgstr ""
+"Falta o código de caracteres na cabeceira.\n"
+"A conversión da mensaxe ao código do usuario non vai funcionar.\n"
+
+#: src/msgfmt.c:1241
+#, fuzzy
+msgid "warning: PO file header fuzzy\n"
+msgstr ""
+"%s: aviso: a cabeceira do ficheiro PO non existe, é 'fuzzy' ou é inválida\n"
+"%*s  aviso: a conversión de código de caracteres non vai funcionar"
+
+#: src/msgfmt.c:1243
+msgid "warning: older versions of msgfmt will give an error on this\n"
+msgstr ""
+
+#: src/msgfmt.c:1268
+#, c-format
+msgid "domain name \"%s\" not suitable as file name"
+msgstr "o nome de dominio \"%s\" non é axeitado para nome de ficheiro"
+
+#: src/msgfmt.c:1273
+#, c-format
+msgid "domain name \"%s\" not suitable as file name: will use prefix"
+msgstr ""
+"o nome de dominio \"%s\" non é axeitado como nome de ficheiro:\n"
+"empregarase un prefixo"
+
+#: src/msgfmt.c:1284
+#, c-format
+msgid "`domain %s' directive ignored"
+msgstr "directiva `domain %s' ignorada"
+
+#: src/msgfmt.c:1356
+msgid "empty `msgstr' entry ignored"
+msgstr "entrada `msgstr' baleira ignorada"
+
+#: src/msgfmt.c:1357
+msgid "fuzzy `msgstr' entry ignored"
+msgstr "entrada `msgstr' difusa ignorada"
+
+#: src/msgfmt.c:1426
+#, c-format
+msgid "%s: warning: source file contains fuzzy translation"
+msgstr "%s: aviso: o ficheiro fonte contén traduccións difusas"
 
-#: src/msggrep.c:354
+#: src/msggrep.c:359
 #, c-format
 msgid "option '%c' cannot be used before 'K' or 'T' has been specified"
 msgstr ""
 
-#: src/msggrep.c:376
+#: src/msggrep.c:381
 #, no-wrap
 msgid ""
 "Extracts all messages of a translation catalog that match a given pattern\n"
 "or belong to some given source files.\n"
 msgstr ""
 
-#: src/msggrep.c:403
+#: src/msggrep.c:408
 #, no-wrap
 msgid ""
 "Message selection:\n"
@@ -904,8 +1325,15 @@ msgid ""
 "or if it comes from one of the specified domains,\n"
 "or if -K is given and its key (msgid or msgid_plural) matches MSGID-PATTERN,\n"
 "or if -T is given and its translation (msgstr) matches MSGSTR-PATTERN.\n"
+"\n"
+"When more than one selection criterion is specified, the set of selected\n"
+"messages is the union of the selected messages of each criterion.\n"
+"\n"
+"MSGID-PATTERN or MSGSTR-PATTERN syntax:\n"
+"  [-E | -F] [-e PATTERN | -f FILE]...\n"
 "PATTERNs are basic regular expressions by default, or extended regular\n"
 "expressions if -E is given, or fixed strings if -F is given.\n"
+"\n"
 "  -N, --location=SOURCEFILE   select messages extracted from SOURCEFILE\n"
 "  -M, --domain=DOMAINNAME     select messages belonging to domain DOMAINNAME\n"
 "  -K, --msgid                 start of patterns for the msgid\n"
@@ -917,7 +1345,7 @@ msgid ""
 "  -i, --ignore-case           ignore case distinctions\n"
 msgstr ""
 
-#: src/msggrep.c:424
+#: src/msggrep.c:436
 #, fuzzy, no-wrap
 msgid ""
 "Output details:\n"
@@ -929,7 +1357,7 @@ msgid ""
 "      --add-location          preserve '#: filename:line' lines (default)\n"
 "      --strict                strict Uniforum output style\n"
 "  -w, --width=NUMBER          set output page width\n"
-"      --sort-output           generate sorted output and remove duplicates\n"
+"      --sort-output           generate sorted output\n"
 "      --sort-by-file          sort output by file location\n"
 msgstr ""
 "Uso: %s [OPCIÓN] def.po ref.po\n"
@@ -954,11 +1382,163 @@ msgstr ""
 "  -V, --version               amosa-la información da versión e saír\n"
 "  -w, --width=NÚMERO          establece-la anchura da páxina de saída\n"
 
-#: src/msggrep.c:498
-msgid "write to grep subprocess failed"
+#: src/msggrep.c:510
+msgid "write to grep subprocess failed"
+msgstr ""
+
+#: src/msginit.c:275
+msgid ""
+"You are in a language indifferent environment.  Please set\n"
+"your LANG environment variable, as described in the ABOUT-NLS\n"
+"file.  This is necessary so you can test your translations.\n"
+msgstr ""
+
+#: src/msginit.c:303
+#, c-format
+msgid ""
+"Output file %s already exists.\n"
+"Please specify the locale through the --locale option or\n"
+"the output .po file through the --output-file option.\n"
+msgstr ""
+
+#: src/msginit.c:326
+#, c-format
+msgid "Created %s.\n"
+msgstr ""
+
+#: src/msginit.c:348
+#, no-wrap
+msgid ""
+"Creates a new PO file, initializing the meta information with values from the\n"
+"user's environment.\n"
+msgstr ""
+
+#: src/msginit.c:359
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  -i, --input=INPUTFILE       input POT file\n"
+"If no input file is given, the current directory is searched for the POT file.\n"
+"If it is -, standard input is read.\n"
+msgstr ""
+
+#: src/msginit.c:367
+#, no-wrap
+msgid ""
+"Output file location:\n"
+"  -o, --output-file=FILE      write output to specified PO file\n"
+"If no output file is given, it depends on the --locale option or the user's\n"
+"locale setting.  If it is -, the results are written to standard output.\n"
+msgstr ""
+
+#: src/msginit.c:375
+#, no-wrap
+msgid ""
+"Output details:\n"
+"  -l, --locale=LL_CC          set target locale\n"
+"      --no-translator         assume the PO file is automatically generated\n"
+"  -w, --width=NUMBER          set output page width\n"
+msgstr ""
+
+#: src/msginit.c:426
+msgid ""
+"Found more than one .pot file.\n"
+"Please specify the input .pot file through the --input option.\n"
+msgstr ""
+
+#: src/msginit.c:434 src/msginit.c:439
+msgid "error reading current directory"
+msgstr ""
+
+#: src/msginit.c:447
+msgid ""
+"Found no .pot file in the current directory.\n"
+"Please specify the input .pot file through the --input option.\n"
+msgstr ""
+
+#: src/msginit.c:887 src/msginit.c:932 src/msginit.c:1070 src/msginit.c:1137
+#: src/read-java.c:80
+msgid "fdopen() failed"
+msgstr ""
+
+#: src/msginit.c:892 src/msginit.c:937 src/msginit.c:1075
+#, c-format
+msgid "%s subprocess I/O error"
+msgstr ""
+
+#: src/msginit.c:901 src/msginit.c:946 src/msginit.c:1084 src/msginit.c:1151
+#: src/read-java.c:90
+#, c-format
+msgid "%s subprocess failed with exit code %d"
+msgstr ""
+
+#: src/msginit.c:1060
+msgid ""
+"The new message catalog should contain your email address, so that users "
+"can\n"
+"give you feedback about the translations, and so that maintainers can "
+"contact\n"
+"you in case of unexpected technical problems.\n"
+msgstr ""
+
+#. TRANSLATORS: "English" needs to be replaced by your language.
+#. For example in it.po write "Traduzioni italiani ...",
+#. *not* "Traduzioni inglesi ...".
+#: src/msginit.c:1440
+#, c-format
+msgid "English translations for %s package"
+msgstr ""
+
+#: src/msgl-cat.c:173 src/msgl-charset.c:86 src/msgl-iconv.c:299
+#, c-format
+msgid "present charset \"%s\" is not a portable encoding name"
+msgstr ""
+
+#: src/msgl-cat.c:181 src/msgl-iconv.c:307
+#, c-format
+msgid "two different charsets \"%s\" and \"%s\" in input file"
+msgstr ""
+
+#: src/msgl-cat.c:194
+#, c-format
+msgid ""
+"input file `%s' doesn't contain a header entry with a charset specification"
+msgstr ""
+
+#: src/msgl-cat.c:198
+#, c-format
+msgid ""
+"domain \"%s\" in input file `%s' doesn't contain a header entry with a "
+"charset specification"
+msgstr ""
+
+#: src/msgl-cat.c:359 src/msgl-iconv.c:382
+#, c-format
+msgid "target charset \"%s\" is not a portable encoding name."
+msgstr ""
+
+#: src/msgl-cat.c:409 src/msgl-cat.c:415 src/msgl-charset.c:91
+#: src/msgl-charset.c:126 src/write-po.c:723 src/write-po.c:817
+#, fuzzy
+msgid "warning: "
+msgstr "%s: aviso: "
+
+#: src/msgl-cat.c:410
+msgid ""
+"Input files contain messages in different encodings, UTF-8 among others.\n"
+"Converting the output to UTF-8.\n"
+msgstr ""
+
+#: src/msgl-cat.c:416
+#, c-format
+msgid ""
+"Input files contain messages in different encodings, %s and %s among "
+"others.\n"
+"Converting the output to UTF-8.\n"
+"To select a different output encoding, use the --to-code option.\n"
 msgstr ""
 
-#: src/msgl-charset.c:88
+#: src/msgl-charset.c:92
 #, c-format
 msgid ""
 "Locale charset \"%s\" is different from\n"
@@ -967,12 +1547,12 @@ msgid ""
 "Possible workarounds are:\n"
 msgstr ""
 
-#: src/msgl-charset.c:95
+#: src/msgl-charset.c:99
 #, c-format
 msgid "- Set LC_ALL to a locale with encoding %s.\n"
 msgstr ""
 
-#: src/msgl-charset.c:100
+#: src/msgl-charset.c:104
 #, c-format
 msgid ""
 "- Convert the translation catalog to %s using 'msgconv',\n"
@@ -980,7 +1560,7 @@ msgid ""
 "  then convert back to %s using 'msgconv'.\n"
 msgstr ""
 
-#: src/msgl-charset.c:109
+#: src/msgl-charset.c:113
 #, c-format
 msgid ""
 "- Set LC_ALL to a locale with encoding %s,\n"
@@ -989,7 +1569,7 @@ msgid ""
 "  then convert back to %s using 'msgconv'.\n"
 msgstr ""
 
-#: src/msgl-charset.c:123
+#: src/msgl-charset.c:127
 #, c-format
 msgid ""
 "Locale charset \"%s\" is not a portable encoding name.\n"
@@ -997,15 +1577,15 @@ msgid ""
 "A possible workaround is to set LC_ALL=C.\n"
 msgstr ""
 
-#: src/msgl-iconv.c:192 src/msgl-iconv.c:246
+#: src/msgl-iconv.c:200 src/msgl-iconv.c:254
 msgid "conversion failure"
 msgstr ""
 
-#: src/msgl-iconv.c:317
+#: src/msgl-iconv.c:328
 msgid "input file doesn't contain a header entry with a charset specification"
 msgstr ""
 
-#: src/msgl-iconv.c:334
+#: src/msgl-iconv.c:346
 #, fuzzy, c-format
 msgid ""
 "Cannot convert from \"%s\" to \"%s\". %s relies on iconv(), and iconv() does "
@@ -1014,7 +1594,7 @@ msgstr ""
 "O código de caracteres \"%s\" non está soportado. %s depende de\n"
 "iconv(), e iconv() non soporta \"%s\".\n"
 
-#: src/msgl-iconv.c:350
+#: src/msgl-iconv.c:362
 #, fuzzy, c-format
 msgid ""
 "Cannot convert from \"%s\" to \"%s\". %s relies on iconv(). This version was "
@@ -1023,8 +1603,12 @@ msgstr ""
 "O código de caracteres \"%s\" non está soportado. %s depende de iconv().\n"
 "Esta versión foi compilada sen iconv().\n"
 
+#: src/msgmerge.c:340
+msgid "backup type"
+msgstr ""
+
 # src/msgmerge.c:324
-#: src/msgmerge.c:283
+#: src/msgmerge.c:377
 #, fuzzy, no-wrap
 msgid ""
 "Merges two Uniforum style .po files together.  The def.po file is an\n"
@@ -1049,7 +1633,7 @@ msgstr ""
 "para producir mellores resultados.  Os resultados escríbense na saída\n"
 "estándar a menos que se indique un ficheiro de saída.\n"
 
-#: src/msgmerge.c:301
+#: src/msgmerge.c:395
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -1060,7 +1644,32 @@ msgid ""
 "                              may be specified more than once\n"
 msgstr ""
 
-#: src/msgmerge.c:340
+#: src/msgmerge.c:405
+#, no-wrap
+msgid ""
+"Operation mode:\n"
+"  -U, --update                update def.po,\n"
+"                              do nothing if def.po already up to date\n"
+msgstr ""
+
+#: src/msgmerge.c:420
+#, no-wrap
+msgid ""
+"Output file location in update mode:\n"
+"The result is written back to def.po.\n"
+"      --backup=CONTROL        make a backup of def.po\n"
+"      --suffix=SUFFIX         override the usual backup suffix\n"
+"The version control method may be selected via the --backup option or through\n"
+"the VERSION_CONTROL environment variable.  Here are the values:\n"
+"  none, off       never make backups (even if --backup is given)\n"
+"  numbered, t     make numbered backups\n"
+"  existing, nil   numbered if numbered backups exist, simple otherwise\n"
+"  simple, never   always make simple backups\n"
+"The backup suffix is `~', unless set with --suffix or the SIMPLE_BACKUP_SUFFIX\n"
+"environment variable.\n"
+msgstr ""
+
+#: src/msgmerge.c:457
 #, no-wrap
 msgid ""
 "Informative output:\n"
@@ -1070,7 +1679,17 @@ msgid ""
 "  -q, --quiet, --silent       suppress progress indicators\n"
 msgstr ""
 
-#: src/msgmerge.c:578
+#: src/msgmerge.c:625
+#, fuzzy
+msgid "this message should define plural forms"
+msgstr "esta mensaxe úsase mais non está definida en %s"
+
+#: src/msgmerge.c:648
+#, fuzzy
+msgid "this message should not define plural forms"
+msgstr "esta mensaxe úsase mais non está definida en %s"
+
+#: src/msgmerge.c:779
 #, c-format
 msgid ""
 "%sRead %ld old + %ld reference, merged %ld, fuzzied %ld, missing %ld, "
@@ -1079,99 +1698,33 @@ msgstr ""
 "%sLidas %ld antigas + %ld referencias, mesturadas %ld, difusas %ld, faltan %"
 "ld, obsoletas %ld.\n"
 
-#: src/msgmerge.c:586
+#: src/msgmerge.c:787
 msgid " done.\n"
 msgstr " rematado.\n"
 
-#: src/msgsed.c:267
-#, fuzzy
-msgid "at least one sed script must be specified"
-msgstr "téñense que indicar polo menos dous ficheiros"
-
-#: src/msgsed.c:323
-#, no-wrap
-msgid "Applies a sed script to all translations of a translation catalog.\n"
-msgstr ""
-
-#: src/msgsed.c:349
-#, no-wrap
-msgid ""
-"Sed options:\n"
-"  -e, --expression=SCRIPT     add SCRIPT to the commands to be executed\n"
-"  -f, --file=SCRIPTFILE       add the contents of SCRIPTFILE to the commands\n"
-"                                to be executed\n"
-"  -n, --quiet, --silent       suppress automatic printing of pattern space\n"
-msgstr ""
-
-#: src/msgsed.c:358
-#, fuzzy, no-wrap
-msgid ""
-"Output details:\n"
-"      --no-escape             do not use C escapes in output (default)\n"
-"  -E, --escape                use C escapes in output, no extended chars\n"
-"      --force-po              write PO file even if empty\n"
-"  -i, --indent                indented output style\n"
-"      --no-location           suppress '#: filename:line' lines\n"
-"      --add-location          preserve '#: filename:line' lines (default)\n"
-"      --strict                strict Uniforum output style\n"
-"  -w, --width=NUMBER          set output page width\n"
-"  -s, --sort-output           generate sorted output and remove duplicates\n"
-"  -F, --sort-by-file          sort output by file location\n"
-msgstr ""
-"Uso: %s [OPCIÓN] def.po ref.po\n"
-"Os argumentos obrigatorios para as opcións longas son tamén obrigatorios\n"
-"para as opcións curtas.\n"
-"  -C, --compendium=FICHEIRO   biblioteca adicional de traduccións de mensaxes,\n"
-"                              pode ser indicada máis dunha vez\n"
-"  -D, --directory=DIRECTORIO  engadir DIRECTORIO á lista de busca de ficheiros\n"
-"                              de entrada\n"
-"  -e, --no-escape             non usar secuencias de escape de C na saída\n"
-"                              (opción por defecto)\n"
-"  -E, --escape                usar secuencias de escape de C na saída, sen\n"
-"                              caracteres estendidos\n"
-"      --force-po              escribi-lo ficheiro po aínda que estea baleiro\n"
-"  -h, --help                  amosar esta axuda e saír\n"
-"  -i, --indent                estilo de saída indentado\n"
-"  -o, --output-file=FICHEIRO  escribi-lo resultado en FICHEIRO\n"
-"      --no-location           suprimi-las liñas '#: ficheiro:liña'\n"
-"      --add-location          mante-las liñas '#: ficheiro:liña' (por omisión)\n"
-"      --strict                estilo de saída Uniforum estricto\n"
-"  -v, --verbose               incrementa-lo nivel de detalle\n"
-"  -V, --version               amosa-la información da versión e saír\n"
-"  -w, --width=NÚMERO          establece-la anchura da páxina de saída\n"
-
-#: src/msgsed.c:514
-msgid "cannot set up nonblocking I/O to sed subprocess"
-msgstr ""
-
-#: src/msgsed.c:542
-msgid "communication with sed subprocess failed"
-msgstr ""
-
-#: src/msgsed.c:562
-msgid "write to sed subprocess failed"
-msgstr ""
-
-#: src/msgsed.c:592
-msgid "read from sed subprocess failed"
-msgstr ""
-
-#: src/msgsed.c:608
-#, c-format
-msgid "sed subprocess terminated with exit code %d"
-msgstr ""
+#: src/msgunfmt.c:201
+#, fuzzy, c-format
+msgid "%s and explicit file names are mutually exclusive"
+msgstr "%s e %s son mutuamente excluíntes"
 
-#: src/msgunfmt.c:224
+#: src/msgunfmt.c:267
 #, c-format, no-wrap
 msgid "Usage: %s [OPTION] [FILE]...\n"
 msgstr ""
 
-#: src/msgunfmt.c:229
+#: src/msgunfmt.c:272
 #, no-wrap
 msgid "Convert binary message catalog to Uniforum style .po file.\n"
 msgstr ""
 
-#: src/msgunfmt.c:239
+#: src/msgunfmt.c:282
+#, no-wrap
+msgid ""
+"Operation mode:\n"
+"  -j, --java               Java mode: generate a Java ResourceBundle class\n"
+msgstr ""
+
+#: src/msgunfmt.c:288
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -1179,7 +1732,17 @@ msgid ""
 "If no input file is given or if it is -, standard input is read.\n"
 msgstr ""
 
-#: src/msgunfmt.c:246
+#: src/msgunfmt.c:295
+#, no-wrap
+msgid ""
+"Input file location in Java mode:\n"
+"  -r, --resource=RESOURCE  resource name\n"
+"  -l, --locale=LOCALE      locale name, either language or language_COUNTRY\n"
+"The class name is determined by appending the locale name to the resource name,\n"
+"separated with an underscore.  The class is located using the CLASSPATH.\n"
+msgstr ""
+
+#: src/msgunfmt.c:304
 #, no-wrap
 msgid ""
 "Output file location:\n"
@@ -1188,7 +1751,7 @@ msgid ""
 "or if it is -.\n"
 msgstr ""
 
-#: src/msgunfmt.c:254
+#: src/msgunfmt.c:312
 #, fuzzy, no-wrap
 msgid ""
 "Output details:\n"
@@ -1198,7 +1761,7 @@ msgid ""
 "  -i, --indent             write indented output style\n"
 "      --strict             write strict uniforum style\n"
 "  -w, --width=NUMBER       set output page width\n"
-"  -s, --sort-output        generate sorted output and remove duplicates\n"
+"  -s, --sort-output        generate sorted output\n"
 msgstr ""
 "Uso: %s [OPCIÓN] [FICHEIRO]...\n"
 "Os argumentos obrigatorios para as opcións longas son tamén obrigatorios para\n"
@@ -1214,52 +1777,49 @@ msgstr ""
 "  -V, --version            amosa-la información da versión e saír\n"
 "  -w, --width=NÚMERO       establece-la anchura da páxina de saída\n"
 
-#: src/msgunfmt.c:266
+#: src/msgunfmt.c:324
 #, no-wrap
 msgid ""
 "Informative output:\n"
 "  -h, --help               display this help and exit\n"
 "  -V, --version            output version information and exit\n"
+"  -v, --verbose            increase verbosity level\n"
 msgstr ""
 
-#: src/msgunfmt.c:294 src/msgunfmt.c:359 src/po-lex.c:213 src/xget-lex.c:245
-#, c-format
-msgid "error while reading \"%s\""
-msgstr "erro ao ler \"%s\""
-
-#: src/msgunfmt.c:295 src/msgunfmt.c:360
-#, c-format
-msgid "file \"%s\" truncated"
-msgstr "ficheiro \"%s\" truncado"
-
-#: src/msgunfmt.c:326
-#, c-format
-msgid "seek \"%s\" offset %ld failed"
-msgstr "fallo ao desprazarse á posición %2$ld de \"%1$s\""
-
-#: src/msgunfmt.c:365
-#, c-format
-msgid "file \"%s\" contains a not NUL terminated string"
-msgstr "o ficheiro \"%s\" contén unha cadea non rematada en NUL"
+#: src/msguniq.c:279
+#, no-wrap
+msgid ""
+"Unifies duplicate translations in a translation catalog.\n"
+"Finds duplicate translations of the same message ID.  Such duplicates are\n"
+"invalid input for other programs like msgfmt, msgmerge or msgcat.  By\n"
+"default, duplicates are merged together.  When using the --repeated option,\n"
+"only duplicates are output, and all other messages are discarded.  Comments\n"
+"and extracted comments will be cumulated, except that if --use-first is\n"
+"specified, they will be taken from the first translation.  File positions\n"
+"will be cumulated.  When using the --unique option, duplicates are discarded.\n"
+msgstr ""
 
-#: src/msgunfmt.c:410
-#, c-format
-msgid "file \"%s\" is not in GNU .mo format"
-msgstr "o ficheiro \"%s\" non está no formato .mo de GNU"
+#: src/msguniq.c:312
+#, no-wrap
+msgid ""
+"Message selection:\n"
+"  -d, --repeated                 print only duplicates\n"
+"  -u, --unique                   print only unique messages, discard duplicates\n"
+msgstr ""
 
-#: src/ngettext.c:213
+#: src/ngettext.c:215
 #, c-format, no-wrap
 msgid "Usage: %s [OPTION] [TEXTDOMAIN] MSGID MSGID-PLURAL COUNT\n"
 msgstr ""
 
-#: src/ngettext.c:218
+#: src/ngettext.c:220
 #, no-wrap
 msgid ""
 "Display native language translation of a textual message whose grammatical\n"
 "form depends on a number.\n"
 msgstr ""
 
-#: src/ngettext.c:223
+#: src/ngettext.c:225
 #, fuzzy, no-wrap
 msgid ""
 "  -d, --domain=TEXTDOMAIN   retrieve translated message from TEXTDOMAIN\n"
@@ -1281,7 +1841,7 @@ msgstr ""
 "  MSGID MSGID-PLURAL        traducir MSGID (singular) / MSGID-PLURAL (plural)\n"
 "  CONTADOR                  escoller a forma singular/plural segundo este valor\n"
 
-#: src/ngettext.c:234
+#: src/ngettext.c:236
 #, fuzzy, c-format, no-wrap
 msgid ""
 "If the TEXTDOMAIN parameter is not given, the domain is determined from the\n"
@@ -1296,17 +1856,17 @@ msgstr ""
 "pódese especificar outro mediante a variable TEXTDOMAINDIR.\n"
 "Directorio estándar de busca: %s\n"
 
-#: src/open-po.c:64
+#: src/open-po.c:69
 msgid "<stdin>"
 msgstr "<stdin>"
 
-#: src/po-charset.c:145 src/po-charset.c:213 src/po-charset.c:239
-#: src/po-charset.c:265
+#: src/po-charset.c:172 src/po-charset.c:240 src/po-charset.c:268
+#: src/po-charset.c:294
 #, c-format
 msgid "%s: warning: "
 msgstr "%s: aviso: "
 
-#: src/po-charset.c:146
+#: src/po-charset.c:173
 #, c-format
 msgid ""
 "Charset \"%s\" is not a portable encoding name.\n"
@@ -1315,15 +1875,15 @@ msgstr ""
 "O código de caracteres \"%s\" non ten un nome portable.\n"
 "A conversión da mensaxe ao código do usuario podería non funcionar.\n"
 
-#: src/po-charset.c:209 src/po-charset.c:237
+#: src/po-charset.c:236 src/po-charset.c:266
 msgid "Continuing anyway, expect parse errors."
 msgstr "Continuando de calquera xeito, espere atopar erros de análise."
 
-#: src/po-charset.c:211
+#: src/po-charset.c:238
 msgid "Continuing anyway."
 msgstr "Continuando de calquera xeito."
 
-#: src/po-charset.c:214
+#: src/po-charset.c:241
 #, c-format
 msgid ""
 "Charset \"%s\" is not supported. %s relies on iconv(),\n"
@@ -1332,7 +1892,7 @@ msgstr ""
 "O código de caracteres \"%s\" non está soportado. %s depende de\n"
 "iconv(), e iconv() non soporta \"%s\".\n"
 
-#: src/po-charset.c:223 src/po-charset.c:247
+#: src/po-charset.c:250 src/po-charset.c:276
 msgid ""
 "Installing GNU libiconv and then reinstalling GNU gettext\n"
 "would fix this problem.\n"
@@ -1340,12 +1900,12 @@ msgstr ""
 "Se instala GNU libiconv e logo reinstala o GNU gettext\n"
 "podería arranxarse o problema.\n"
 
-#: src/po-charset.c:228 src/po-charset.c:251
+#: src/po-charset.c:255 src/po-charset.c:280
 #, c-format
 msgid "%s\n"
 msgstr "%s\n"
 
-#: src/po-charset.c:240
+#: src/po-charset.c:269
 #, c-format
 msgid ""
 "Charset \"%s\" is not supported. %s relies on iconv().\n"
@@ -1354,7 +1914,7 @@ msgstr ""
 "O código de caracteres \"%s\" non está soportado. %s depende de iconv().\n"
 "Esta versión foi compilada sen iconv().\n"
 
-#: src/po-charset.c:266
+#: src/po-charset.c:295
 msgid ""
 "Charset missing in header.\n"
 "Message conversion to user's charset will not work.\n"
@@ -1362,126 +1922,210 @@ msgstr ""
 "Falta o código de caracteres na cabeceira.\n"
 "A conversión da mensaxe ao código do usuario non vai funcionar.\n"
 
-#: po-gram-gen.y:88
+#: po-gram-gen.y:91
 msgid "inconsistent use of #~"
 msgstr "uso inconsistente de #~"
 
-#: po-gram-gen.y:178
+#: po-gram-gen.y:181
 msgid "missing `msgstr[]' section"
 msgstr "falta a sección `msgstr[]'"
 
-#: po-gram-gen.y:186
+#: po-gram-gen.y:189
 msgid "missing `msgid_plural' section"
 msgstr "falta a sección `msgid_plural'"
 
-#: po-gram-gen.y:193
+#: po-gram-gen.y:196
 msgid "missing `msgstr' section"
 msgstr "falta a sección `msgstr'"
 
-#: po-gram-gen.y:238
+#: po-gram-gen.y:241
 msgid "first plural form has nonzero index"
 msgstr "a primera forma do plural ten un índice distinto a cero"
 
-#: po-gram-gen.y:240
+#: po-gram-gen.y:243
 msgid "plural form has wrong index"
 msgstr "a forma do plural ten un índice erróneo"
 
-#. CAUTION: If you change this macro, you must also make identical
-#. changes to the function of the same name in src/po-lex.c
-#: src/po-lex.c:152 src/po-lex.c:195 src/po-lex.h:77 src/po-lex.h:93
-#: src/po-lex.h:111 src/po-lex.h:127
+#: src/po-lex.h:91 src/po-lex.h:106 src/po-lex.h:126 src/po-lex.h:141
+#: src/po-lex.c:135 src/po-lex.c:176
 msgid "too many errors, aborting"
 msgstr "demasiados erros, interrompendo"
 
-#: src/po-lex.c:271
+#: src/po-lex.c:545 src/write-po.c:331 src/write-po.c:421
+msgid "invalid multibyte sequence"
+msgstr "secuencia multibyte non válida"
+
+#: src/po-lex.c:571
+#, fuzzy
+msgid "incomplete multibyte sequence at end of file"
+msgstr "secuencia multibyte non válida"
+
+#: src/po-lex.c:581
+#, fuzzy
+msgid "incomplete multibyte sequence at end of line"
+msgstr "secuencia multibyte non válida"
+
+#: src/po-lex.c:589
+msgid "iconv failure"
+msgstr ""
+
+#: src/po-lex.c:763 src/read-mo.c:70 src/read-mo.c:135 src/x-c.c:216
+#: src/x-rst.c:227 src/x-ycp.c:103
+#, c-format
+msgid "error while reading \"%s\""
+msgstr "erro ao ler \"%s\""
+
+#: src/po-lex.c:829
 #, c-format
 msgid "keyword \"%s\" unknown"
 msgstr "palabra chave \"%s\" descoñecida"
 
-#: src/po-lex.c:374
+#: src/po-lex.c:939
 msgid "invalid control sequence"
 msgstr "secuencia de control ilegal"
 
-#: src/po-lex.c:477
+#: src/po-lex.c:1047
 msgid "end-of-file within string"
 msgstr "fin de ficheiro nunha cadea"
 
-#: src/po-lex.c:482
+#: src/po-lex.c:1053
 msgid "end-of-line within string"
 msgstr "fin de liña nunha cadea"
 
-#: src/po-lex.c:525 src/write-po.c:291 src/write-po.c:373
-msgid "invalid multibyte sequence"
-msgstr "secuencia multibyte non válida"
+#: src/read-mo.c:71 src/read-mo.c:136
+#, c-format
+msgid "file \"%s\" truncated"
+msgstr "ficheiro \"%s\" truncado"
+
+#: src/read-mo.c:102
+#, c-format
+msgid "seek \"%s\" offset %ld failed"
+msgstr "fallo ao desprazarse á posición %2$ld de \"%1$s\""
+
+#: src/read-mo.c:141
+#, c-format
+msgid "file \"%s\" contains a not NUL terminated string"
+msgstr "o ficheiro \"%s\" contén unha cadea non rematada en NUL"
+
+#: src/read-mo.c:186
+#, c-format
+msgid "file \"%s\" is not in GNU .mo format"
+msgstr "o ficheiro \"%s\" non está no formato .mo de GNU"
+
+#: src/write-java.c:1108
+msgid "cannot find a temporary directory, try setting $TMPDIR"
+msgstr ""
+
+#: src/write-java.c:1118
+#, fuzzy, c-format
+msgid "cannot create a temporary directory using template \"%s\""
+msgstr "non se pode crea-lo ficheiro de saída \"%s\""
+
+#: src/write-java.c:1131
+#, c-format
+msgid "not a valid Java class name: %s"
+msgstr ""
+
+#: src/write-java.c:1188 src/write-java.c:1201
+#, c-format
+msgid "failed to create \"%s\""
+msgstr ""
+
+#: src/write-java.c:1209 src/write-mo.c:289 src/write-po.c:966
+#, c-format
+msgid "error while writing \"%s\" file"
+msgstr "erro ao escribi-lo ficheiro \"%s\""
+
+#: src/write-java.c:1223
+msgid "compilation of Java class failed, please try --verbose or set $JAVAC"
+msgstr ""
+
+#: src/write-mo.c:277
+#, c-format
+msgid "error while opening \"%s\" for writing"
+msgstr "erro ao abrir \"%s\" para escribir"
 
-#: src/write-po.c:322
+#: src/write-po.c:370
 #, c-format
 msgid ""
 "internationalized messages should not contain the `\\%c' escape sequence"
 msgstr ""
 "as mensaxes internacionalizadas non deben conte-la secuencia de escape `\\%c'"
 
-#: src/write-po.c:816
+#: src/write-po.c:724 src/write-po.c:818
+#, c-format
+msgid ""
+"The following msgid contains non-ASCII characters.\n"
+"This will cause problems to translators who use a character encoding\n"
+"different from yours. Consider using a pure ASCII msgid instead.\n"
+"%s\n"
+msgstr ""
+
+#: src/write-po.c:885
 #, c-format
 msgid "cannot create output file \"%s\""
 msgstr "non se pode crea-lo ficheiro de saída \"%s\""
 
-#: src/write-po.c:823
+#: src/write-po.c:892
 #, no-c-format
 msgid "standard output"
 msgstr "saída estándar"
 
-#: src/write-po.c:893
-#, c-format
-msgid "error while writing \"%s\" file"
-msgstr "erro ao escribi-lo ficheiro \"%s\""
-
-#: src/xget-lex.c:150
-msgid "standard input"
-msgstr "entrada estándar"
-
-#: src/xget-lex.c:879
+#: src/x-c.c:858
 #, c-format
 msgid "%s:%d: warning: unterminated character constant"
 msgstr "%s:%d: aviso: constante de tipo carácter non rematada"
 
-#: src/xget-lex.c:903
+#: src/x-c.c:882
 #, c-format
 msgid "%s:%d: warning: unterminated string literal"
 msgstr "%s:%d: aviso: literal de cadea non rematada"
 
-#. We are about to construct the absolute path to the
-#. directory for the output files but asprintf failed.
-#: src/xgettext.c:325 src/xgettext.c:1368
-msgid "while preparing output"
-msgstr "ao preparar a saída"
+#: src/x-po.c:106 src/xgettext.c:605
+msgid "this file may not contain domain directives"
+msgstr "este ficheiro non pode conter directivas de dominio"
+
+#: src/x-rst.c:108
+#, c-format
+msgid "%s:%d: invalid string definition"
+msgstr ""
+
+#: src/x-rst.c:168
+#, c-format
+msgid "%s:%d: missing number after #"
+msgstr ""
+
+#: src/x-rst.c:203
+#, c-format
+msgid "%s:%d: invalid string expression"
+msgstr ""
 
-#: src/xgettext.c:371
+#: src/xgettext.c:375
 msgid "--join-existing cannot be used when output is written to stdout"
 msgstr "non se pode usar --join-existing cando a saída se escribe en stdout"
 
-#: src/xgettext.c:376
+#: src/xgettext.c:380
 msgid "xgettext cannot work without keywords to look for"
 msgstr "xgettext non funciona sen palabras chave polas que buscar"
 
-#: src/xgettext.c:482
+#: src/xgettext.c:468
 #, c-format
 msgid "warning: file `%s' extension `%s' is unknown; will try C"
 msgstr "aviso: o ficheiro `%s' coa extensión `%s' é descoñecido; tentaráse C"
 
-#: src/xgettext.c:523
+#: src/xgettext.c:509
 #, no-wrap
 msgid "Extract translatable strings from given input files.\n"
 msgstr ""
 
-#: src/xgettext.c:528
+#: src/xgettext.c:514
 #, no-wrap
 msgid ""
 "Mandatory arguments to long options are mandatory for short options too.\n"
 "Similarly for optional arguments.\n"
 msgstr ""
 
-#: src/xgettext.c:543
+#: src/xgettext.c:529
 #, no-wrap
 msgid ""
 "Output file location:\n"
@@ -1491,16 +2135,17 @@ msgid ""
 "If output file is -, output is written to standard output.\n"
 msgstr ""
 
-#: src/xgettext.c:552
+#: src/xgettext.c:538
 #, no-wrap
 msgid ""
 "Choice of input file language:\n"
-"  -L, --language=NAME            recognise the specified language (C, C++, PO)\n"
+"  -L, --language=NAME            recognise the specified language\n"
+"                                   (C, C++, ObjectiveC, PO, Java, YCP)\n"
 "  -C, --c++                      shorthand for --language=C++\n"
 "By default the language is guessed depending on the input file name extension.\n"
 msgstr ""
 
-#: src/xgettext.c:560
+#: src/xgettext.c:547
 #, no-wrap
 msgid ""
 "Operation mode:\n"
@@ -1510,7 +2155,7 @@ msgid ""
 "                                 preceding keyword lines) in output file\n"
 msgstr ""
 
-#: src/xgettext.c:569
+#: src/xgettext.c:556
 #, no-wrap
 msgid ""
 "Language=C/C++ specific options:\n"
@@ -1521,8 +2166,8 @@ msgid ""
 "      --debug                    more detailed formatstring recognition result\n"
 msgstr ""
 
-#: src/xgettext.c:579
-#, no-wrap
+#: src/xgettext.c:566
+#, fuzzy, no-wrap
 msgid ""
 "Output details:\n"
 "  -e, --no-escape                do not use C escapes in output (default)\n"
@@ -1533,59 +2178,106 @@ msgid ""
 "  -n, --add-location             generate '#: filename:line' lines (default)\n"
 "      --strict                   write out strict Uniforum conforming .po file\n"
 "  -w, --width=NUMBER             set output page width\n"
-"  -s, --sort-output              generate sorted output and remove duplicates\n"
+"  -s, --sort-output              generate sorted output\n"
 "  -F, --sort-by-file             sort output by file location\n"
 "      --omit-header              don't write header with `msgid \"\"' entry\n"
 "      --foreign-user             omit FSF copyright in output for foreign user\n"
 "  -m, --msgstr-prefix[=STRING]   use STRING or \"\" as prefix for msgstr entries\n"
 "  -M, --msgstr-suffix[=STRING]   use STRING or \"\" as suffix for msgstr entries\n"
 msgstr ""
+"Uso: %s [OPCIÓN] def.po ref.po\n"
+"Os argumentos obrigatorios para as opcións longas son tamén obrigatorios\n"
+"para as opcións curtas.\n"
+"  -C, --compendium=FICHEIRO   biblioteca adicional de traduccións de mensaxes,\n"
+"                              pode ser indicada máis dunha vez\n"
+"  -D, --directory=DIRECTORIO  engadir DIRECTORIO á lista de busca de ficheiros\n"
+"                              de entrada\n"
+"  -e, --no-escape             non usar secuencias de escape de C na saída\n"
+"                              (opción por defecto)\n"
+"  -E, --escape                usar secuencias de escape de C na saída, sen\n"
+"                              caracteres estendidos\n"
+"      --force-po              escribi-lo ficheiro po aínda que estea baleiro\n"
+"  -h, --help                  amosar esta axuda e saír\n"
+"  -i, --indent                estilo de saída indentado\n"
+"  -o, --output-file=FICHEIRO  escribi-lo resultado en FICHEIRO\n"
+"      --no-location           suprimi-las liñas '#: ficheiro:liña'\n"
+"      --add-location          mante-las liñas '#: ficheiro:liña' (por omisión)\n"
+"      --strict                estilo de saída Uniforum estricto\n"
+"  -v, --verbose               incrementa-lo nivel de detalle\n"
+"  -V, --version               amosa-la información da versión e saír\n"
+"  -w, --width=NÚMERO          establece-la anchura da páxina de saída\n"
 
-#: src/xgettext.c:945
-#, c-format
-msgid "%s:%d: warning: keyword nested in keyword arg"
-msgstr "%s:%d: aviso: palabra chave aniñada no argumento de palabra chave"
+#: src/xgettext.c:720
+msgid "standard input"
+msgstr "entrada estándar"
 
-#: src/xgettext.c:957
-#, c-format
-msgid "%s:%d: warning: keyword between outer keyword and its arg"
-msgstr "%s:%d: aviso: palabra chave entre a palabra externa e o seu argumento"
+#: src/xgettext.c:830
+msgid ""
+"Empty msgid.  It is reserved by GNU gettext:\n"
+"gettext(\"\") returns the header entry with\n"
+"meta information, not the empty string.\n"
+msgstr ""
 
-#: src/xgettext.c:1446
+#: src/xgettext.c:1099
 #, c-format
 msgid "language `%s' unknown"
 msgstr "linguaxe `%s' descoñecida"
 
+#~ msgid "while creating hash table"
+#~ msgstr "ao crea-la táboa `hash'"
+
+#, fuzzy
+#~ msgid "%s:%lu: warning: keyword nested in keyword arg"
+#~ msgstr "%s:%d: aviso: palabra chave aniñada no argumento de palabra chave"
+
+#, fuzzy
+#~ msgid "%s:%lu: warning: keyword between outer keyword and its arg"
+#~ msgstr ""
+#~ "%s:%d: aviso: palabra chave entre a palabra externa e o seu argumento"
+
+#~ msgid "while preparing output"
+#~ msgstr "ao preparar a saída"
+
 #~ msgid "this message has no definition in the \"%s\" domain"
 #~ msgstr "esta mensaxe non ten definición no dominio \"%s\""
 
 #~ msgid ""
 #~ "Usage: %s [OPTION] INPUTFILE ...\n"
 #~ "Mandatory arguments to long options are mandatory for short options too.\n"
-#~ "  -d, --default-domain=NAME      use NAME.po for output (instead of messages.po)\n"
-#~ "  -D, --directory=DIRECTORY      add DIRECTORY to list for input files search\n"
-#~ "  -e, --no-escape                do not use C escapes in output (default)\n"
-#~ "  -E, --escape                   use C escapes in output, no extended chars\n"
+#~ "  -d, --default-domain=NAME      use NAME.po for output (instead of "
+#~ "messages.po)\n"
+#~ "  -D, --directory=DIRECTORY      add DIRECTORY to list for input files "
+#~ "search\n"
+#~ "  -e, --no-escape                do not use C escapes in output "
+#~ "(default)\n"
+#~ "  -E, --escape                   use C escapes in output, no extended "
+#~ "chars\n"
 #~ "  -f, --files-from=FILE          get list of input files from FILE\n"
 #~ "      --force-po                 write PO file even if empty\n"
 #~ "  -F, --sort-by-file             sort output by file location\n"
 #~ "  -h, --help                     display this help and exit\n"
 #~ msgstr ""
 #~ "Uso: %s [OPCIÓN] FICHEIRO ...\n"
-#~ "Os argumentos obrigatorios para as opcións longas son tamén obrigatorios para\n"
+#~ "Os argumentos obrigatorios para as opcións longas son tamén obrigatorios "
+#~ "para\n"
 #~ "as opcións curtas.\n"
 #~ "  -d, --default-domain=NOME      usar NOME.po para a saída (en vez de\n"
 #~ "                                 messages.po)\n"
 #~ "  -D, --directory=DIRECTORIO     engadir DIRECTORIO á lista de busca de\n"
 #~ "                                 ficheiros de entrada\n"
-#~ "  -e, --no-escape                non usar secuencias de escape de C na saída\n"
+#~ "  -e, --no-escape                non usar secuencias de escape de C na "
+#~ "saída\n"
 #~ "                                 (opción por defecto)\n"
-#~ "  -E, --escape                   usar secuencias de escape de C na saída,\n"
+#~ "  -E, --escape                   usar secuencias de escape de C na "
+#~ "saída,\n"
 #~ "                                 sen caracteres estendidos\n"
-#~ "  -f, --files-from=FICHEIRO      obte-la lista de ficheiros de entrada do\n"
+#~ "  -f, --files-from=FICHEIRO      obte-la lista de ficheiros de entrada "
+#~ "do\n"
 #~ "                                 FICHEIRO\n"
-#~ "      --force-po                 escribi-lo ficheiro PO aínda que estea baleiro\n"
-#~ "  -F, --sort-by-file             ordena-la saída pola posición do ficheiro\n"
+#~ "      --force-po                 escribi-lo ficheiro PO aínda que estea "
+#~ "baleiro\n"
+#~ "  -F, --sort-by-file             ordena-la saída pola posición do "
+#~ "ficheiro\n"
 #~ "  -h, --help                     amosar esta axuda e saír\n"
 
 #~ msgid ""
@@ -1630,12 +2322,16 @@ msgstr "linguaxe `%s' desco
 #~ "Generate binary message catalog from textual translation description.\n"
 #~ "\n"
 #~ "Mandatory arguments to long options are mandatory for short options too.\n"
-#~ "  -a, --alignment=NUMBER      align strings to NUMBER bytes (default: %d)\n"
-#~ "  -c, --check                 perform language dependent checks on strings\n"
-#~ "  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+#~ "  -a, --alignment=NUMBER      align strings to NUMBER bytes (default: %"
+#~ "d)\n"
+#~ "  -c, --check                 perform language dependent checks on "
+#~ "strings\n"
+#~ "  -D, --directory=DIRECTORY   add DIRECTORY to list for input files "
+#~ "search\n"
 #~ "  -f, --use-fuzzy             use fuzzy entries in output\n"
 #~ "  -h, --help                  display this help and exit\n"
-#~ "      --no-hash               binary file will not include the hash table\n"
+#~ "      --no-hash               binary file will not include the hash "
+#~ "table\n"
 #~ "  -o, --output-file=FILE      specify output file name as FILE\n"
 #~ "      --statistics            print statistics about translations\n"
 #~ "      --strict                enable strict Uniforum mode\n"
@@ -1650,16 +2346,21 @@ msgstr "linguaxe `%s' desco
 #~ "Uso: %s [OPCIÓN] ficheiro.po ...\n"
 #~ "Xera un catálogo de mensaxes binario a partir da descripción textual da\n"
 #~ "traducción.\n"
-#~ "Os argumentos obrigatorios para as opcións longas son tamén obrigatorios para\n"
+#~ "Os argumentos obrigatorios para as opcións longas son tamén obrigatorios "
+#~ "para\n"
 #~ "as opcións curtas.\n"
-#~ "  -a, --alignment=NÚMERO      aliña-las cadeas a NÚMERO bytes (defecto: %d)\n"
-#~ "  -c, --check                 facer comprobacións dependentes da linguaxe\n"
+#~ "  -a, --alignment=NÚMERO      aliña-las cadeas a NÚMERO bytes (defecto: %"
+#~ "d)\n"
+#~ "  -c, --check                 facer comprobacións dependentes da "
+#~ "linguaxe\n"
 #~ "                              nas cadeas\n"
-#~ "  -D, --directory=DIRECTORIO  engadir DIRECTORIO á lista de busca de ficheiros\n"
+#~ "  -D, --directory=DIRECTORIO  engadir DIRECTORIO á lista de busca de "
+#~ "ficheiros\n"
 #~ "                              de entrada\n"
 #~ "  -f, --use-fuzzy             utiliza-las entradas fuzzy na saída\n"
 #~ "  -h, --help                  amosar esta axuda e saír\n"
-#~ "      --no-hash               non incluí-la tabla \"hash\" no ficheiro binario\n"
+#~ "      --no-hash               non incluí-la tabla \"hash\" no ficheiro "
+#~ "binario\n"
 #~ "  -o, --output-file=FICHEIRO  especifica-lo nome do ficheiro de saída\n"
 #~ "      --statictics            escribi-las estatísticas das traduccións\n"
 #~ "      --strict                emprega-lo modo Uniforum estricto\n"
@@ -1668,7 +2369,8 @@ msgstr "linguaxe `%s' desco
 #~ "\n"
 #~ "Empregando a opción -v máis dunha vez, o nivel de detalle increméntase.\n"
 #~ "\n"
-#~ "Se o ficheiro de entrada é -, lese da entrada estándar.  Se o ficheiro de saída\n"
+#~ "Se o ficheiro de entrada é -, lese da entrada estándar.  Se o ficheiro de "
+#~ "saída\n"
 #~ "é -, o resultado escríbese na saída estándar.\n"
 
 #~ msgid ""
@@ -1681,7 +2383,8 @@ msgstr "linguaxe `%s' desco
 #~ "\n"
 #~ "Converte ficheiros .mo binarios en ficheiros .po de estilo Uniforum.\n"
 #~ "Manéxanse ficheiros .po little-endian e big-endian.\n"
-#~ "Se non se indicou un ficheiro de entrada, ou é -, lese a entrada estándar\n"
+#~ "Se non se indicou un ficheiro de entrada, ou é -, lese a entrada "
+#~ "estándar\n"
 #~ "Por defecto a saída escríbese na saída estándar.\n"
 
 #~ msgid ""
@@ -1693,24 +2396,32 @@ msgstr "linguaxe `%s' desco
 #~ "  -c, --add-comments[=TAG]       place comment block with TAG (or those\n"
 #~ "                                 preceding keyword lines) in output file\n"
 #~ "  -C, --c++                      shorthand for --language=C++\n"
-#~ "      --debug                    more detailed formatstring recognision result\n"
-#~ "  -d, --default-domain=NAME      use NAME.po for output (instead of messages.po)\n"
-#~ "  -D, --directory=DIRECTORY      add DIRECTORY to list for input files search\n"
-#~ "  -e, --no-escape                do not use C escapes in output (default)\n"
-#~ "  -E, --escape                   use C escapes in output, no extended chars\n"
+#~ "      --debug                    more detailed formatstring recognision "
+#~ "result\n"
+#~ "  -d, --default-domain=NAME      use NAME.po for output (instead of "
+#~ "messages.po)\n"
+#~ "  -D, --directory=DIRECTORY      add DIRECTORY to list for input files "
+#~ "search\n"
+#~ "  -e, --no-escape                do not use C escapes in output "
+#~ "(default)\n"
+#~ "  -E, --escape                   use C escapes in output, no extended "
+#~ "chars\n"
 #~ "  -f, --files-from=FILE          get list of input files from FILE\n"
 #~ "      --force-po                 write PO file even if empty\n"
-#~ "      --foreign-user             omit FSF copyright in output for foreign user\n"
+#~ "      --foreign-user             omit FSF copyright in output for foreign "
+#~ "user\n"
 #~ "  -F, --sort-by-file             sort output by file location\n"
 #~ msgstr ""
 #~ "Uso: %s [OPCIÓN] FICHEIRO_ENTRADA ...\n"
 #~ "Extrae as cadeas traducibles dos ficheiros de entrada indicados.\n"
 #~ "\n"
-#~ "Os argumentos obrigatorios para as opcións longas son tamén obrigatorios para\n"
+#~ "Os argumentos obrigatorios para as opcións longas son tamén obrigatorios "
+#~ "para\n"
 #~ "as opcións curtas.\n"
 #~ "  -a, --extract-all              extraer tódalas cadeas\n"
 #~ "  -c, --add-comments[=ETIQUETA]  poñe-los bloques de comentarios con\n"
-#~ "                                 ETIQUETA (ou os que preceden ás liñas de\n"
+#~ "                                 ETIQUETA (ou os que preceden ás liñas "
+#~ "de\n"
 #~ "                                 palabras chave) no ficheiro de saída\n"
 #~ "  -C, --c++                      atallo para --language=C++\n"
 #~ "      --debug                    producir resultados máis detallados do\n"
@@ -1719,51 +2430,73 @@ msgstr "linguaxe `%s' desco
 #~ "                                 messages.po)\n"
 #~ "  -D, --directory=DIRECTORIO     engadir DIRECTORIO á lista de busca de\n"
 #~ "                                 ficheiros de entrada\n"
-#~ "  -e, --no-escape                non usar secuencias de escape de C na saída\n"
+#~ "  -e, --no-escape                non usar secuencias de escape de C na "
+#~ "saída\n"
 #~ "                                 (opción por defecto)\n"
-#~ "  -E, --escape                   usar secuencias de escape de C na saída, sen\n"
+#~ "  -E, --escape                   usar secuencias de escape de C na saída, "
+#~ "sen\n"
 #~ "                                 caracteres estendidos\n"
-#~ "  -f, --files-from=FICHEIRO      obte-la lista de ficheiros de entrada de\n"
+#~ "  -f, --files-from=FICHEIRO      obte-la lista de ficheiros de entrada "
+#~ "de\n"
 #~ "                                 FICHEIRO\n"
-#~ "      --force-po                 escribi-lo ficheiro PO aínda que estea baleiro\n"
+#~ "      --force-po                 escribi-lo ficheiro PO aínda que estea "
+#~ "baleiro\n"
 #~ "      --foreign-user             non amosa-lo copyright da FSF para os\n"
 #~ "                                 usuarios non ingleses\n"
-#~ "  -F, --sort-by-file             ordena-la saída pola localización do ficheiro\n"
+#~ "  -F, --sort-by-file             ordena-la saída pola localización do "
+#~ "ficheiro\n"
 
 #~ msgid ""
 #~ "  -h, --help                     display this help and exit\n"
 #~ "  -i, --indent                   write the .po file using indented style\n"
 #~ "  -j, --join-existing            join messages with existing file\n"
-#~ "  -k, --keyword[=WORD]           additonal keyword to be looked for (without\n"
+#~ "  -k, --keyword[=WORD]           additonal keyword to be looked for "
+#~ "(without\n"
 #~ "                                 WORD means not to use default keywords)\n"
-#~ "  -L, --language=NAME            recognise the specified language (C, C++, PO),\n"
-#~ "                                 otherwise is guessed from file extension\n"
-#~ "  -m, --msgstr-prefix[=STRING]   use STRING or \"\" as prefix for msgstr entries\n"
-#~ "  -M, --msgstr-suffix[=STRING]   use STRING or \"\" as suffix for msgstr entries\n"
+#~ "  -L, --language=NAME            recognise the specified language (C, C+"
+#~ "+, PO),\n"
+#~ "                                 otherwise is guessed from file "
+#~ "extension\n"
+#~ "  -m, --msgstr-prefix[=STRING]   use STRING or \"\" as prefix for msgstr "
+#~ "entries\n"
+#~ "  -M, --msgstr-suffix[=STRING]   use STRING or \"\" as suffix for msgstr "
+#~ "entries\n"
 #~ "      --no-location              do not write '#: filename:line' lines\n"
 #~ msgstr ""
 #~ "  -h, --help                     amosar esta axuda e saír\n"
-#~ "  -i, --indent                   escribi-lo ficheiro .po cun estilo indentado\n"
-#~ "  -j, --join-existing            mestura-las mensaxes co ficheiro existente\n"
-#~ "  -k, --keyword[=PALABRA]        buscar palabra chave adicional (sen PALABRA\n"
-#~ "                                 indica que non se usen as palabras chave\n"
+#~ "  -i, --indent                   escribi-lo ficheiro .po cun estilo "
+#~ "indentado\n"
+#~ "  -j, --join-existing            mestura-las mensaxes co ficheiro "
+#~ "existente\n"
+#~ "  -k, --keyword[=PALABRA]        buscar palabra chave adicional (sen "
+#~ "PALABRA\n"
+#~ "                                 indica que non se usen as palabras "
+#~ "chave\n"
 #~ "                                 por defecto)\n"
-#~ "  -L, --language=NOME            recoñece-la linguaxe indicada (C, C++, PO),\n"
-#~ "                                 doutro xeito adivíñase a partir da extensión\n"
+#~ "  -L, --language=NOME            recoñece-la linguaxe indicada (C, C++, "
+#~ "PO),\n"
+#~ "                                 doutro xeito adivíñase a partir da "
+#~ "extensión\n"
 #~ "                                 do ficheiro\n"
 #~ "  -m, --msgstr-prefix[=CADEA]    usar CADEA ou \"\" como prefixo para as\n"
 #~ "                                 entradas msgstr\n"
 #~ "  -M, --msgstr-suffix[=CADEA]    usar CADEA ou \"\" como sufixo para as\n"
 #~ "                                 entradas msgstr\n"
-#~ "      --no-location              non escribi-las liñas '#: ficheiro:liña'\n"
+#~ "      --no-location              non escribi-las liñas '#: ficheiro:"
+#~ "liña'\n"
 
 #~ msgid ""
-#~ "  -n, --add-location             generate '#: filename:line' lines (default)\n"
-#~ "      --omit-header              don't write header with `msgid \"\"' entry\n"
+#~ "  -n, --add-location             generate '#: filename:line' lines "
+#~ "(default)\n"
+#~ "      --omit-header              don't write header with `msgid \"\"' "
+#~ "entry\n"
 #~ "  -o, --output=FILE              write output to specified file\n"
-#~ "  -p, --output-dir=DIR           output files will be placed in directory DIR\n"
-#~ "  -s, --sort-output              generate sorted output and remove duplicates\n"
-#~ "      --strict                   write out strict Uniforum conforming .po file\n"
+#~ "  -p, --output-dir=DIR           output files will be placed in directory "
+#~ "DIR\n"
+#~ "  -s, --sort-output              generate sorted output and remove "
+#~ "duplicates\n"
+#~ "      --strict                   write out strict Uniforum conforming .po "
+#~ "file\n"
 #~ "  -T, --trigraphs                understand ANSI C trigraphs for input\n"
 #~ "  -V, --version                  output version information and exit\n"
 #~ "  -w, --width=NUMBER             set output page width\n"
@@ -1771,17 +2504,20 @@ msgstr "linguaxe `%s' desco
 #~ "\n"
 #~ "If INPUTFILE is -, standard input is read.\n"
 #~ msgstr ""
-#~ "  -n, --add-location             xera-las liñas '#: ficheiro:liña' (defecto)\n"
+#~ "  -n, --add-location             xera-las liñas '#: ficheiro:"
+#~ "liña' (defecto)\n"
 #~ "      --omit-header              non escribi-la cabeceira coa entrada\n"
 #~ "                                 `msgid \"\"'\n"
 #~ "  -o, --output=FICHEIRO          escribi-la saída no ficheiro indicado\n"
 #~ "  -p, --output-dir=DIRECTORIO    pó-los ficheiros de saída no DIRECTORIO\n"
 #~ "  -s, --sort-output              ordena-la saída e quita-los duplicados\n"
-#~ "      --strict                   escribi-lo ficheiro .po de tipo Uniforum\n"
+#~ "      --strict                   escribi-lo ficheiro .po de tipo "
+#~ "Uniforum\n"
 #~ "                                 estricto\n"
 #~ "  -T, --trigraphs                entende-los trigrafos ANSI C na entrada\n"
 #~ "  -V, --version                  amosa-la información da versión e saír\n"
 #~ "  -w, --width=NÚMERO             establece-la anchura da páxina de saída\n"
-#~ "  -x, --exclude-file=FICHEIRO    non extrae-las entradas indicadas en FICHEIRO\n"
+#~ "  -x, --exclude-file=FICHEIRO    non extrae-las entradas indicadas en "
+#~ "FICHEIRO\n"
 #~ "\n"
 #~ "Se o FICHEIRO_ENTRADA é -, lese a entrada estándar.\n"
index 0e0bfd3db220500de0b4fd394e6be8cbb22b27e1..96f98836347da493997cb10553e669944c124c85 100644 (file)
--- a/po/id.po
+++ b/po/id.po
@@ -5,7 +5,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: GNU gettext 0.10.35\n"
-"POT-Creation-Date: 2001-04-18 22:38+0200\n"
+"POT-Creation-Date: 2001-11-30 14:18+0100\n"
 "PO-Revision-Date: 1999-09-19 10:24+07:00\n"
 "Last-Translator: Tedi Heriyanto <tedi-h@usa.net>\n"
 "Language-Team: Indonesian <id@li.org>\n"
@@ -13,10 +13,57 @@ msgstr ""
 "Content-Type: text/plain; charset=iso-8859-1\n"
 "Content-Transfer-Encoding: 8bit\n"
 
+#: lib/argmatch.c:141
+#, c-format
+msgid "invalid argument `%s' for `%s'"
+msgstr ""
+
+#: lib/argmatch.c:142
+#, c-format
+msgid "ambiguous argument `%s' for `%s'"
+msgstr ""
+
+#: lib/argmatch.c:162
+msgid "Valid arguments are:"
+msgstr ""
+
+#: lib/copy-file.c:60 src/file-list.c:57 src/po-lex.c:732 src/read-mo.c:170
+#: src/xgettext.c:729 src/xgettext.c:742 src/xgettext.c:752
+#, c-format
+msgid "error while opening \"%s\" for reading"
+msgstr "kesalahan saat membuka \"%s\" untuk dibaca"
+
+#: lib/copy-file.c:67
+#, fuzzy, c-format
+msgid "cannot open backup file \"%s\" for writing"
+msgstr "kesalahan ketika membuka \"%s\" untuk ditulis"
+
+#: lib/copy-file.c:80
+#, fuzzy, c-format
+msgid "error reading \"%s\""
+msgstr "kesalahan ketika membaca \"%s\""
+
+#: lib/copy-file.c:86 lib/copy-file.c:90
+#, fuzzy, c-format
+msgid "error writing \"%s\""
+msgstr "kesalahan saat menulis file \"%s\""
+
+#: lib/copy-file.c:92
+#, fuzzy, c-format
+msgid "error after reading \"%s\""
+msgstr "kesalahan ketika membaca \"%s\""
+
 #: lib/error.c:115
 msgid "Unknown system error"
 msgstr "Kesalahan sistem tak dikenal"
 
+#: lib/execute.c:170 lib/execute.c:205 lib/pipe-bidi.c:156 lib/pipe-bidi.c:191
+#: lib/pipe-in.c:167 lib/pipe-in.c:202 lib/pipe-out.c:167 lib/pipe-out.c:202
+#: lib/wait-process.c:136
+#, c-format
+msgid "%s subprocess failed"
+msgstr ""
+
 #: lib/getopt.c:691
 #, c-format
 msgid "%s: option `%s' is ambiguous\n"
@@ -37,19 +84,16 @@ msgstr "%s: pilihan `%c%s' tidak membolehkan argumen\n"
 msgid "%s: option `%s' requires an argument\n"
 msgstr "pilihan %s: `%s' memerlukan sebuah argumen\n"
 
-#. --option
 #: lib/getopt.c:768
 #, c-format
 msgid "%s: unrecognized option `--%s'\n"
 msgstr "%s: pilihan tak dikenal `--%s'\n"
 
-#. +option or -option
 #: lib/getopt.c:772
 #, c-format
 msgid "%s: unrecognized option `%c%s'\n"
 msgstr "%s: pilihan tak dikenal `%c%s'\n"
 
-#. 1003.2 specifies the format of this message.
 #: lib/getopt.c:798
 #, c-format
 msgid "%s: illegal option -- %c\n"
@@ -60,7 +104,6 @@ msgstr "%s: pilihan ilegal -- %c\n"
 msgid "%s: invalid option -- %c\n"
 msgstr "%s: pilihan tidak valid -- %c\n"
 
-#. 1003.2 specifies the format of this message.
 #: lib/getopt.c:831 lib/getopt.c:961
 #, c-format
 msgid "%s: option requires an argument -- %c\n"
@@ -76,15 +119,116 @@ msgstr "%s: pilihan `-W %s' rancu\n"
 msgid "%s: option `-W %s' doesn't allow an argument\n"
 msgstr "%s: pilihan `-W %s' tidak membolehkan sebuah argumen\n"
 
-#: lib/obstack.c:474 lib/xmalloc.c:86 src/po.c:308 src/po.c:381 src/po.c:389
-#: src/po.c:395 src/po.c:415 src/po.c:422 src/po.c:427 src/po.c:444
+#: lib/javacomp.c:465
+msgid "Java compiler not found, try installing gcj or set $JAVAC"
+msgstr ""
+
+#: lib/javaexec.c:404
+msgid "Java virtual machine not found, try installing gij or set $JAVA"
+msgstr ""
+
+#: lib/obstack.c:474 lib/xerror.c:75 lib/xmalloc.c:56
 #, fuzzy
 msgid "memory exhausted"
 msgstr "Memori habis"
 
+#: lib/pipe-bidi.c:119 lib/pipe-bidi.c:121 lib/pipe-in.c:136
+#: lib/pipe-out.c:136
+#, fuzzy
+msgid "cannot create pipe"
+msgstr "tidak dapat membuat file output \"%s\""
+
+#: lib/wait-process.c:117
+#, c-format
+msgid "%s subprocess"
+msgstr ""
+
+#: lib/wait-process.c:129
+#, c-format
+msgid "%s subprocess got fatal signal"
+msgstr ""
+
+#: src/format-c.c:578 src/format-python.c:463
+#, fuzzy
+msgid "number of format specifications in 'msgid' and 'msgstr' does not match"
+msgstr "jumlah spesifikasi format dalam `msgid' dan `msgstr' tidak sesuai"
+
+#: src/format-c.c:588 src/format-python.c:473
+#, fuzzy, c-format
+msgid ""
+"format specifications in 'msgid' and 'msgstr' for argument %u are not the "
+"same"
+msgstr "spesifikasi format untuk argumen %u tidak sama"
+
+#: src/format-java.c:652 src/format-pascal.c:396
+#, fuzzy, c-format
+msgid "a format specification for argument {%u} doesn't exist in 'msgid'"
+msgstr "spesifikasi format untuk argumen %u tidak sama"
+
+#: src/format-java.c:662 src/format-pascal.c:406
+#, fuzzy, c-format
+msgid "a format specification for argument {%u} doesn't exist in 'msgstr'"
+msgstr "spesifikasi format untuk argumen %u tidak sama"
+
+#: src/format-java.c:676 src/format-pascal.c:420
+#, fuzzy, c-format
+msgid ""
+"format specifications in 'msgid' and 'msgstr' for argument {%u} are not the "
+"same"
+msgstr "spesifikasi format untuk argumen %u tidak sama"
+
+#: src/format-lisp.c:3371
+#, fuzzy
+msgid "format specifications in 'msgid' and 'msgstr' are not equivalent"
+msgstr "jumlah spesifikasi format dalam `msgid' dan `msgstr' tidak sesuai"
+
+#: src/format-python.c:391
+#, fuzzy
+msgid ""
+"format specifications in 'msgid' expect a mapping, those in 'msgstr' expect "
+"a tuple"
+msgstr "jumlah spesifikasi format dalam `msgid' dan `msgstr' tidak sesuai"
+
+#: src/format-python.c:399
+#, fuzzy
+msgid ""
+"format specifications in 'msgid' expect a tuple, those in 'msgstr' expect a "
+"mapping"
+msgstr "jumlah spesifikasi format dalam `msgid' dan `msgstr' tidak sesuai"
+
+#: src/format-python.c:422
+#, fuzzy, c-format
+msgid "a format specification for argument '%s' doesn't exist in 'msgid'"
+msgstr "spesifikasi format untuk argumen %u tidak sama"
+
+#: src/format-python.c:432
+#, fuzzy, c-format
+msgid "a format specification for argument '%s' doesn't exist in 'msgstr'"
+msgstr "spesifikasi format untuk argumen %u tidak sama"
+
+#: src/format-python.c:446
+#, fuzzy, c-format
+msgid ""
+"format specifications in 'msgid' and 'msgstr' for argument '%s' are not the "
+"same"
+msgstr "spesifikasi format untuk argumen %u tidak sama"
+
+#: src/format-ycp.c:137
+#, fuzzy, c-format
+msgid "a format specification for argument %u doesn't exist in 'msgstr'"
+msgstr "spesifikasi format untuk argumen %u tidak sama"
+
+#: src/format-ycp.c:138
+#, fuzzy, c-format
+msgid "a format specification for argument %u doesn't exist in 'msgid'"
+msgstr "spesifikasi format untuk argumen %u tidak sama"
+
 # )
-#: src/gettext.c:140 src/msgcmp.c:140 src/msgcomm.c:279 src/msgfmt.c:270
-#: src/msgmerge.c:255 src/msgunfmt.c:170 src/ngettext.c:120 src/xgettext.c:388
+#: src/gettext.c:146 src/hostname.c:168 src/msgattrib.c:264 src/msgcat.c:229
+#: src/msgcmp.c:134 src/msgcomm.c:232 src/msgconv.c:182 src/msgen.c:171
+#: src/msgexec.c:240 src/msgfmt.c:333 src/msggrep.c:276 src/msginit.c:247
+#: src/msgmerge.c:252 src/msgunfmt.c:182 src/msguniq.c:207 src/ngettext.c:126
+#: src/xgettext.c:352
 #, c-format, no-wrap
 msgid ""
 "Copyright (C) %s Free Software Foundation, Inc.\n"
@@ -95,30 +239,47 @@ msgstr ""
 "Ini adalah free software; lihat source untuk kondisi penyalinan. Tidak ada\n"
 "jaminan; bahkan untuk PENJUALAN atau KESESUAIAN UNTUK TUJUAN TERTENTU.\n"
 
-#: src/gettext.c:145 src/msgcmp.c:145 src/msgcomm.c:284 src/msgfmt.c:275
-#: src/msgmerge.c:260 src/msgunfmt.c:175 src/ngettext.c:125 src/xgettext.c:393
+#: src/gettext.c:151 src/hostname.c:173 src/msgattrib.c:269 src/msgcat.c:234
+#: src/msgcmp.c:139 src/msgcomm.c:237 src/msgconv.c:187 src/msgen.c:176
+#: src/msgexec.c:245 src/msgfmt.c:338 src/msggrep.c:281 src/msginit.c:252
+#: src/msgmerge.c:257 src/msgunfmt.c:187 src/msguniq.c:212 src/ngettext.c:131
+#: src/xgettext.c:357
 #, c-format
 msgid "Written by %s.\n"
 msgstr "Ditulis oleh %s.\n"
 
-#: src/gettext.c:163 src/ngettext.c:137
+#: src/gettext.c:169 src/hostname.c:183 src/msginit.c:262 src/ngettext.c:143
 msgid "too many arguments"
 msgstr "terlalu banyak argumen"
 
-#: src/gettext.c:173 src/ngettext.c:149
+#: src/gettext.c:179 src/ngettext.c:155
 msgid "missing arguments"
 msgstr "Argumen hilang"
 
-#: src/gettext.c:245 src/msgcmp.c:177 src/msgcomm.c:377 src/msgfmt.c:387
-#: src/msgmerge.c:315 src/msgunfmt.c:205 src/ngettext.c:204 src/xgettext.c:515
+#: src/gettext.c:251 src/hostname.c:197 src/msgattrib.c:322 src/msgcat.c:290
+#: src/msgcmp.c:171 src/msgcomm.c:306 src/msgconv.c:241 src/msgen.c:227
+#: src/msgexec.c:338 src/msgfmt.c:479 src/msggrep.c:371 src/msginit.c:338
+#: src/msgmerge.c:367 src/msgunfmt.c:262 src/msguniq.c:269 src/ngettext.c:210
+#: src/xgettext.c:499
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "Coba `%s --help' untuk informasi lebih jauh.\n"
 
-#: src/gettext.c:250
+#: src/gettext.c:256
 #, c-format, no-wrap
 msgid ""
-"Usage: %s [OPTION] [[[TEXTDOMAIN] MSGID] | [-s [MSGID]...]]\n"
+"Usage: %s [OPTION] [[TEXTDOMAIN] MSGID]\n"
+"or:    %s [OPTION] -s [MSGID]...\n"
+msgstr ""
+
+#: src/gettext.c:262
+#, no-wrap
+msgid "Display native language translation of a textual message.\n"
+msgstr ""
+
+#: src/gettext.c:266
+#, fuzzy, no-wrap
+msgid ""
 "  -d, --domain=TEXTDOMAIN   retrieve translated messages from TEXTDOMAIN\n"
 "  -e                        enable expansion of some escape sequences\n"
 "  -E                        (ignored for compatibility)\n"
@@ -138,10 +299,9 @@ msgstr ""
 "  [TEXTDOMAIN] MSGID        mengambil pesan terjemahan yang sesuai\n"
 "                            untuk MSGID dari TEXTDOMAIN\n"
 
-#: src/gettext.c:262
-#, c-format, no-wrap
+#: src/gettext.c:277
+#, fuzzy, c-format, no-wrap
 msgid ""
-"\n"
 "If the TEXTDOMAIN parameter is not given, the domain is determined from the\n"
 "environment variable TEXTDOMAIN.  If the message catalog is not found in the\n"
 "regular directory, another location can be specified with the environment\n"
@@ -161,179 +321,225 @@ msgstr ""
 "diterjemahkan.\n"
 "Direktori pencarian standar: %s\n"
 
-#: src/gettext.c:272 src/msgcmp.c:196 src/msgcomm.c:424 src/msgfmt.c:414
-#: src/msgmerge.c:350 src/msgunfmt.c:229 src/ngettext.c:228 src/xgettext.c:565
-msgid "Report bugs to <bug-gnu-utils@gnu.org>.\n"
+#: src/gettext.c:288 src/hostname.c:227 src/msgattrib.c:402 src/msgcat.c:371
+#: src/msgcmp.c:216 src/msgcomm.c:384 src/msgconv.c:305 src/msgen.c:287
+#: src/msgexec.c:410 src/msgfmt.c:563 src/msggrep.c:457 src/msginit.c:389
+#: src/msgmerge.c:465 src/msgunfmt.c:331 src/msguniq.c:343 src/ngettext.c:244
+#: src/xgettext.c:591
+#, fuzzy
+msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
 msgstr "Laporkan kesalahan ke <bug-gnu-utils@gnu.org>.\n"
 
-#: src/msgcmp.c:156 src/msgmerge.c:271
-msgid "no input files given"
-msgstr "tidak diberikan file input"
+#: src/hostname.c:202 src/msginit.c:343
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION]\n"
+msgstr ""
 
-#: src/msgcmp.c:161 src/msgmerge.c:276
-msgid "exactly 2 input files required"
-msgstr "dibutuhkan tepat 2 file input"
+#: src/hostname.c:207
+#, no-wrap
+msgid "Print the machine's hostname.\n"
+msgstr ""
 
-#: src/msgcmp.c:182
-#, c-format, no-wrap
+#: src/hostname.c:212
+#, no-wrap
 msgid ""
-"Usage: %s [OPTION] def.po ref.po\n"
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"Output format:\n"
+"  -s, --short           short host name\n"
+"  -f, --fqdn, --long    long host name, includes fully qualified domain name,\n"
+"                          and aliases\n"
+"  -i, --ip-address      addresses for the hostname\n"
+msgstr ""
+
+#: src/hostname.c:221 src/msgattrib.c:396 src/msgcmp.c:210 src/msgconv.c:299
+#: src/msgen.c:281 src/msgexec.c:404 src/msggrep.c:451 src/msginit.c:383
+#, no-wrap
+msgid ""
+"Informative output:\n"
 "  -h, --help                  display this help and exit\n"
 "  -V, --version               output version information and exit\n"
-"\n"
-"Compare two Uniforum style .po files to check that both contain the same\n"
-"set of msgid strings.  The def.po file is an existing PO file with the\n"
-"old translations.  The ref.po file is the last created PO file\n"
-"(generally by xgettext).  This is useful for checking that you have\n"
-"translated each and every message in your program.  Where an exact match\n"
-"cannot be found, fuzzy matching is used to produce better diagnostics.\n"
 msgstr ""
-"Pemakaian: %s [PILIHAN] def.po ref.po\n"
-"Argumen yang perlu untuk pilihan yang panjang juga diperlukan untuk pilihan pendek.\n"
-"  -D, --directory=DIRECTORY  tambah DIRECTORY ke daftar untuk pencarian\n"
-"                             file input\n"
-"  -h, --help                 tampilkan bantuan ini dan keluar\n"
-"  -V, --version              tampilkan informasi versi dan keluar\n"
-"\n"
-"Membandingkan dua gaya Uniforum file .po untuk memeriksa keduanya mengandung\n"
-"string msgid yang sama. File def.po adalah file PO terjemahan terdahulu. File\n"
-"ref.po adalah file PO terbaru (diciptakan biasanya oleh xgettext). Hal ini\n"
-"berguna untuk memeriksa bahwa anda telah menerjemahkan setiap pesan dalam\n"
-"program anda. Bilamana tidak ditemukan kecocokan yang tepat, digunakan fuzzy\n"
-"matching untuk menghasilkan diagnostik yang lebih baik.\n"
 
-#: src/msgcmp.c:255 src/msgmerge.c:741
-msgid "this message is used but not defined..."
-msgstr "pesan ini digunakan tapi tidak didefinisikan..."
+#: src/hostname.c:242 src/hostname.c:249
+msgid "could not get host name"
+msgstr ""
 
-#: src/msgcmp.c:257 src/msgmerge.c:743
-msgid "...but this definition is similar"
-msgstr "...tetapi definisi ini serupa"
+#: src/msgattrib.c:284 src/msgconv.c:202 src/msgexec.c:190 src/msggrep.c:296
+#: src/msginit.c:205 src/msguniq.c:227
+msgid "at most one input file allowed"
+msgstr ""
 
-#: src/msgcmp.c:263 src/msgmerge.c:770
+#: src/msgattrib.c:290 src/msgattrib.c:294 src/msgcat.c:244 src/msgcat.c:248
+#: src/msgcomm.c:247 src/msgcomm.c:251 src/msgconv.c:208 src/msgconv.c:212
+#: src/msgen.c:198 src/msgen.c:202 src/msgexec.c:260 src/msgexec.c:264
+#: src/msgfmt.c:358 src/msggrep.c:302 src/msggrep.c:306 src/msgmerge.c:282
+#: src/msgmerge.c:303 src/msgmerge.c:307 src/msguniq.c:233 src/msguniq.c:237
+#: src/xgettext.c:367 src/xgettext.c:371
 #, c-format
-msgid "this message is used but not defined in %s"
-msgstr "pesan ini digunakan tapi tidak didefinisikan dalam %s"
+msgid "%s and %s are mutually exclusive"
+msgstr "%s dan %s adalah mutually exclusive"
 
-#: src/msgcmp.c:277
-msgid "warning: this message is not used"
-msgstr "peringatan: pesan ini tidak digunakan"
+#: src/msgattrib.c:327 src/msgconv.c:246 src/msggrep.c:376 src/msguniq.c:274
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] [INPUTFILE]\n"
+msgstr ""
 
-#: src/msgcmp.c:283 src/po-lex.c:103
-#, fuzzy, c-format
-msgid "found %d fatal error"
-msgid_plural "found %d fatal errors"
-msgstr[0] "ditemukan %d kesalahan fatal"
+#: src/msgattrib.c:332
+#, no-wrap
+msgid ""
+"Filters the messages of a translation catalog according to their attributes,\n"
+"and manipulates the attributes.\n"
+msgstr ""
 
-#: src/msgcmp.c:356 src/msgfmt.c:667 src/msgmerge.c:512 src/xgettext.c:1157
-msgid "duplicate message definition"
-msgstr "definisi pesan ganda"
+#: src/msgattrib.c:338 src/msgcat.c:313 src/msgcmp.c:191 src/msgcomm.c:328
+#: src/msgconv.c:256 src/msgen.c:245 src/msgexec.c:353 src/msgfmt.c:494
+#: src/msggrep.c:387 src/msginit.c:354 src/msgmerge.c:390 src/msgunfmt.c:277
+#: src/msguniq.c:291
+#, no-wrap
+msgid "Mandatory arguments to long options are mandatory for short options too.\n"
+msgstr ""
 
-#: src/msgcmp.c:357 src/msgfmt.c:669 src/msgmerge.c:513 src/xgettext.c:1158
-msgid "...this is the location of the first definition"
-msgstr "...ini adalah lokasi definisi pertama"
+#: src/msgattrib.c:343 src/msgconv.c:261 src/msggrep.c:392 src/msguniq.c:296
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  INPUTFILE                   input PO file\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"If no input file is given or if it is -, standard input is read.\n"
+msgstr ""
 
-#: src/msgcmp.c:397 src/msgmerge.c:561
-#, c-format
-msgid "this message has no definition in the \"%s\" domain"
-msgstr "pesan ini tidak memiliki definisi dalam domain \"%s\""
+#: src/msgattrib.c:351 src/msgconv.c:269 src/msgen.c:258 src/msgexec.c:366
+#: src/msggrep.c:400 src/msgmerge.c:412
+#, no-wrap
+msgid ""
+"Output file location:\n"
+"  -o, --output-file=FILE      write output to specified file\n"
+"The results are written to standard output if no output file is specified\n"
+"or if it is -.\n"
+msgstr ""
 
-#. We are about to construct the absolute path to the
-#. directory for the output files but asprintf failed.
-#: src/msgcomm.c:235 src/xgettext.c:327 src/xgettext.c:1353
-msgid "while preparing output"
-msgstr "ketika mempersiapkan output"
+#: src/msgattrib.c:359
+#, no-wrap
+msgid ""
+"Message selection:\n"
+"      --translated            keep translated, remove untranslated messages\n"
+"      --untranslated          keep untranslated, remove translated messages\n"
+"      --no-fuzzy              remove 'fuzzy' marked messages\n"
+"      --only-fuzzy            keep 'fuzzy' marked messages\n"
+"      --no-obsolete           remove obsolete #~ messages\n"
+"      --only-obsolete         keep obsolete #~ messages\n"
+msgstr ""
 
-#: src/msgcomm.c:267 src/msgcomm.c:271 src/xgettext.c:365 src/xgettext.c:369
-#, c-format
-msgid "%s and %s are mutually exclusive"
-msgstr "%s dan %s adalah mutually exclusive"
+#: src/msgattrib.c:370
+#, no-wrap
+msgid ""
+"Attribute manipulation:\n"
+"      --set-fuzzy             set all messages 'fuzzy'\n"
+"      --clear-fuzzy           set all messages non-'fuzzy'\n"
+"      --set-obsolete          set all messages obsolete\n"
+"      --clear-obsolete        set all messages non-obsolete\n"
+"      --fuzzy                 synonym for --only-fuzzy --clear-fuzzy\n"
+"      --obsolete              synonym for --only-obsolete --clear-obsolete\n"
+msgstr ""
 
-#: src/msgcomm.c:323
-msgid "at least two files must be specified"
-msgstr "paling tidak dua file harus dispesifikasikan"
+#: src/msgattrib.c:381
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
+"  -e, --no-escape             do not use C escapes in output (default)\n"
+"  -E, --escape                use C escapes in output, no extended chars\n"
+"      --force-po              write PO file even if empty\n"
+"  -i, --indent                write the .po file using indented style\n"
+"      --no-location           do not write '#: filename:line' lines\n"
+"  -n, --add-location          generate '#: filename:line' lines (default)\n"
+"      --strict                write out strict Uniforum conforming .po file\n"
+"  -w, --width=NUMBER          set output page width\n"
+"  -s, --sort-output           generate sorted output\n"
+"  -F, --sort-by-file          sort output by file location\n"
+msgstr ""
+"Pemakaian: %s [PILIHAN] def.po ref.po\n"
+"Argumen yang perlu untuk pilihan panjang juga diperlukan untuk pilihan pendek.\n"
+"  -D, --directory=DIRECTORY  tambah DIRECTORY ke daftar untuk cari input file\n"
+"  -e, --no-escape            jangan gunakan escape C dalam output (baku)\n"
+"  -E, --escape               gunakan escape C dalam output, tanpa ekst. kar.\n"
+"      --force-po             tulis file PO bahkan bila kosong\n"
+"  -h, --help                 tampilkan bantuan ini dan keluar\n"
+"  -i, --indent               gaya output terindentasi\n"
+"  -o, --output-file=FILE     hasil ditulis ke FILE\n"
+"      --no-location          hapus baris '#: filename:line'\n"
+"      --add-location         simpan baris '#: filename:line' (baku)\n"
+"      --strict               gaya output strict Uniforum\n"
+"  -v, --verbose              tingkatkan level verbositas\n"
+"  -V, --version              tampilkan informasi versi dan keluar\n"
+"  -w, --width=NUMBER         set lebar halaman output\n"
 
-#: src/msgcomm.c:334
+#: src/msgcat.c:254 src/msgcomm.c:277
 #, c-format
 msgid "impossible selection criteria specified (%d < n < %d)"
 msgstr "digunakan kriteria pemilihan yang tidak mungkin (%d < n < %d)"
 
-#: src/msgcomm.c:382
+#: src/msgcat.c:295 src/msgcomm.c:311 src/xgettext.c:504
 #, c-format, no-wrap
+msgid "Usage: %s [OPTION] [INPUTFILE]...\n"
+msgstr ""
+
+#: src/msgcat.c:300
+#, fuzzy, no-wrap
 msgid ""
-"Usage: %s [OPTION] INPUTFILE ...\n"
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"  -d, --default-domain=NAME      use NAME.po for output (instead of messages.po)\n"
-"  -D, --directory=DIRECTORY      add DIRECTORY to list for input files search\n"
-"  -e, --no-escape                do not use C escapes in output (default)\n"
-"  -E, --escape                   use C escapes in output, no extended chars\n"
+"Concatenates and merges the specified PO files.\n"
+"Find messages which are common to two or more of the specified PO files.\n"
+"By using the --more-than option, greater commonality may be requested\n"
+"before messages are printed.  Conversely, the --less-than option may be\n"
+"used to specify less commonality before messages are printed (i.e.\n"
+"--less-than=2 will only print the unique messages).  Translations,\n"
+"comments and extract comments will be cumulated, except that if --use-first\n"
+"is specified, they will be taken from the first PO file to define them.\n"
+"File positions from all PO files will be cumulated.\n"
+msgstr ""
+"  -V, --version            tampilkan versi informasi dan keluar\n"
+"  -w, --width=NUMBER       set lebar halaman output\n"
+"  -<, --less-than=NUMBER   cetak pesan dengan definisi kurang dari ini,\n"
+"                           baku adalah infinit jika tidak diset\n"
+"  ->, --more-than=NUMBER   cetak pesan dengan definisi lebih dari ini,\n"
+"                           baku adalah 1 jika tidak diset\n"
+"\n"
+"Temukan pesan yang umum di antara dua/lebih file PO yang dispesifikasikan.\n"
+"Dengan menggunakan pilihan --more-than, kesamaan umum dapat diminta sebelum\n"
+"pesan dicetak. Sebaliknya, pilihan --less-than dapat digunakan untuk \n"
+"menspesifikasikan kesamaan yang kurang sebelum pesan dicetak (misal \n"
+"--less-than=2 akan mencetak pesan-pesan unik). Terjemahan, komentar dan\n"
+"komentar ekstraksi akan dijaga, tetapi hanya dari file PO pertama yang\n"
+"mendefinisikan mereka. Posisi file dari seluruh file PO akan dijaga.\n"
+
+#: src/msgcat.c:318 src/msgcomm.c:333 src/xgettext.c:520
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  INPUTFILE ...                  input files\n"
 "  -f, --files-from=FILE          get list of input files from FILE\n"
-"      --force-po                 write PO file even if empty\n"
-"  -F, --sort-by-file             sort output by file location\n"
-"  -h, --help                     display this help and exit\n"
+"  -D, --directory=DIRECTORY      add DIRECTORY to list for input files search\n"
+"If input file is -, standard input is read.\n"
 msgstr ""
-"Pemakaian: %s [PILIHAN] INPUTFILE ...\n"
-"Argumen yang wajib untuk pilihan panjang juga wajib untuk pilihan pendek.\n"
-" -d, --default-domain=NAME  gunakan NAME.po sebagai output (selain messages.po)\n"
-" -D, --directory=DIRECTORY  tambah DIRECTORY ke daftar untuk cari file input\n"
-" -e, --no-escape            jangan gunakan escape C dalam output (baku)\n"
-" -E, --escape               gunakan escape C dalam output, tanpa ekst. kar.\n"
-" -f, --files-from=FILE      ambil daftar file input dari FILE\n"
-"     --force-po             tulis file PO bahkan bila kosong\n"
-" -F, --sort-by-file         sort output berdasar lokasi file\n"
-" -h, --help                 tampilkan bantuan ini dan keluar\n"
 
-#: src/msgcomm.c:394
+#: src/msgcat.c:327 src/msgcomm.c:342 src/msguniq.c:304
+#, no-wrap
 msgid ""
-"  -i, --indent                   write the .po file using indented style\n"
-"      --no-location              do not write '#: filename:line' lines\n"
-"  -n, --add-location             generate '#: filename:line' lines "
-"(default)\n"
-"      --omit-header              don't write header with `msgid \"\"' entry\n"
-"  -o, --output=FILE              write output to specified file\n"
-"  -p, --output-dir=DIR           output files will be placed in directory "
-"DIR\n"
-"  -s, --sort-output              generate sorted output and remove "
-"duplicates\n"
-"      --strict                   write out strict Uniforum conforming .po "
-"file\n"
-"  -T, --trigraphs                understand ANSI C trigraphs for input\n"
-"  -u, --unique                   shorthand for --less-than=2, requests\n"
-"                                 that only unique messages be printed\n"
+"Output file location:\n"
+"  -o, --output-file=FILE         write output to specified file\n"
+"The results are written to standard output if no output file is specified\n"
+"or if it is -.\n"
 msgstr ""
-"  -i, --indent           tulis file .po menggunakan gaya indented\n"
-"      --no-location      jangan tulis baris '#: filename:line'\n"
-"  -n, --add-location     buat baris '#: filename:line' (baku)\n"
-"      --omit-header      jangan tulis header dengan masukan `msgid'\n"
-"  -o, --output=FILE      tulis output ke file yang diberikan\n"
-"  -p, --output-dir=DIR   file output akan diletakkan dalam direktori DIR\n"
-"  -s, --sort-output      buat output dalam bentuk terurut dan hapus "
-"duplikat\n"
-"      --strict           tulis file .po dalam bentuk Uniforum yang strict\n"
-"  -T, --trigraphs        kenali trigraph ANSI C sebagai input\n"
-"  -u, --unique           singkatan untuk --less-than=2, minta\n"
-"                         hanya pesan yang unik yang dicetak\n"
-
-#: src/msgcomm.c:407
+
+#: src/msgcat.c:335
+#, fuzzy, no-wrap
 msgid ""
-"  -V, --version                  output version information and exit\n"
-"  -w, --width=NUMBER             set output page width\n"
+"Message selection:\n"
 "  -<, --less-than=NUMBER         print messages with less than this many\n"
 "                                 definitions, defaults to infinite if not\n"
 "                                 set\n"
 "  ->, --more-than=NUMBER         print messages with more than this many\n"
-"                                 definitions, defaults to 1 if not set\n"
-"\n"
-"Find messages which are common to two or more of the specified PO files.\n"
-"By using the --more-than option, greater commonality may be requested\n"
-"before messages are printed.  Conversely, the --less-than option may be\n"
-"used to specify less commonality before messages are printed (i.e.\n"
-"--less-than=2 will only print the unique messages).  Translations,\n"
-"comments and extract comments will be preserved, but only from the first\n"
-"PO file to define them.  File positions from all PO files will be\n"
-"preserved.\n"
+"                                 definitions, defaults to 0 if not set\n"
+"  -u, --unique                   shorthand for --less-than=2, requests\n"
+"                                 that only unique messages be printed\n"
 msgstr ""
 "  -V, --version            tampilkan versi informasi dan keluar\n"
 "  -w, --width=NUMBER       set lebar halaman output\n"
@@ -350,206 +556,747 @@ msgstr ""
 "komentar ekstraksi akan dijaga, tetapi hanya dari file PO pertama yang\n"
 "mendefinisikan mereka. Posisi file dari seluruh file PO akan dijaga.\n"
 
-#: src/msgcomm.c:458 src/msgunfmt.c:361 src/po-lex.c:86 src/xget-lex.c:157
-#: src/xget-lex.c:170 src/xget-lex.c:180 src/xgettext.c:599
-#, c-format
-msgid "error while opening \"%s\" for reading"
-msgstr "kesalahan saat membuka \"%s\" untuk dibaca"
+#: src/msgcat.c:347 src/msguniq.c:319
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
+"  -t, --to-code=NAME             encoding for output\n"
+"      --use-first                use first available translation for each\n"
+"                                 message, don't merge several translations\n"
+"  -e, --no-escape                do not use C escapes in output (default)\n"
+"  -E, --escape                   use C escapes in output, no extended chars\n"
+"      --force-po                 write PO file even if empty\n"
+"  -i, --indent                   write the .po file using indented style\n"
+"      --no-location              do not write '#: filename:line' lines\n"
+"  -n, --add-location             generate '#: filename:line' lines (default)\n"
+"      --strict                   write out strict Uniforum conforming .po file\n"
+"  -w, --width=NUMBER             set output page width\n"
+"  -s, --sort-output              generate sorted output\n"
+"  -F, --sort-by-file             sort output by file location\n"
+msgstr ""
+"Pemakaian: %s [PILIHAN] def.po ref.po\n"
+"Argumen yang perlu untuk pilihan panjang juga diperlukan untuk pilihan pendek.\n"
+"  -D, --directory=DIRECTORY  tambah DIRECTORY ke daftar untuk cari input file\n"
+"  -e, --no-escape            jangan gunakan escape C dalam output (baku)\n"
+"  -E, --escape               gunakan escape C dalam output, tanpa ekst. kar.\n"
+"      --force-po             tulis file PO bahkan bila kosong\n"
+"  -h, --help                 tampilkan bantuan ini dan keluar\n"
+"  -i, --indent               gaya output terindentasi\n"
+"  -o, --output-file=FILE     hasil ditulis ke FILE\n"
+"      --no-location          hapus baris '#: filename:line'\n"
+"      --add-location         simpan baris '#: filename:line' (baku)\n"
+"      --strict               gaya output strict Uniforum\n"
+"  -v, --verbose              tingkatkan level verbositas\n"
+"  -V, --version              tampilkan informasi versi dan keluar\n"
+"  -w, --width=NUMBER         set lebar halaman output\n"
 
-#: src/msgcomm.c:539 src/xgettext.c:641 src/xgettext.c:1059
-msgid "this file may not contain domain directives"
-msgstr "file ini tidak boleh mengandung direktiv domain"
+#: src/msgcat.c:365 src/msgcomm.c:378 src/msguniq.c:337 src/xgettext.c:585
+#, no-wrap
+msgid ""
+"Informative output:\n"
+"  -h, --help                     display this help and exit\n"
+"  -V, --version                  output version information and exit\n"
+msgstr ""
+
+#: src/msgcmp.c:150 src/msgmerge.c:268
+msgid "no input files given"
+msgstr "tidak diberikan file input"
+
+#: src/msgcmp.c:155 src/msgmerge.c:273
+msgid "exactly 2 input files required"
+msgstr "dibutuhkan tepat 2 file input"
+
+#: src/msgcmp.c:176 src/msgmerge.c:372
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] def.po ref.pot\n"
+msgstr ""
+
+#: src/msgcmp.c:181
+#, fuzzy, no-wrap
+msgid ""
+"Compare two Uniforum style .po files to check that both contain the same\n"
+"set of msgid strings.  The def.po file is an existing PO file with the\n"
+"translations.  The ref.pot file is the last created PO file, or a PO Template\n"
+"file (generally created by xgettext).  This is useful for checking that\n"
+"you have translated each and every message in your program.  Where an exact\n"
+"match cannot be found, fuzzy matching is used to produce better diagnostics.\n"
+msgstr ""
+"Pemakaian: %s [PILIHAN] def.po ref.po\n"
+"Argumen yang perlu untuk pilihan yang panjang juga diperlukan untuk pilihan pendek.\n"
+"  -D, --directory=DIRECTORY  tambah DIRECTORY ke daftar untuk pencarian\n"
+"                             file input\n"
+"  -h, --help                 tampilkan bantuan ini dan keluar\n"
+"  -V, --version              tampilkan informasi versi dan keluar\n"
+"\n"
+"Membandingkan dua gaya Uniforum file .po untuk memeriksa keduanya mengandung\n"
+"string msgid yang sama. File def.po adalah file PO terjemahan terdahulu. File\n"
+"ref.po adalah file PO terbaru (diciptakan biasanya oleh xgettext). Hal ini\n"
+"berguna untuk memeriksa bahwa anda telah menerjemahkan setiap pesan dalam\n"
+"program anda. Bilamana tidak ditemukan kecocokan yang tepat, digunakan fuzzy\n"
+"matching untuk menghasilkan diagnostik yang lebih baik.\n"
+
+#: src/msgcmp.c:196
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  def.po                      translations\n"
+"  ref.pot                     references to the sources\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+msgstr ""
+
+#: src/msgcmp.c:204 src/msgmerge.c:436
+#, no-wrap
+msgid ""
+"Operation modifiers:\n"
+"  -m, --multi-domain          apply ref.pot to each of the domains in def.po\n"
+msgstr ""
+
+#: src/msgcmp.c:253 src/msgmerge.c:543
+msgid "this message is used but not defined..."
+msgstr "pesan ini digunakan tapi tidak didefinisikan..."
+
+#: src/msgcmp.c:255 src/msgmerge.c:545
+msgid "...but this definition is similar"
+msgstr "...tetapi definisi ini serupa"
+
+#: src/msgcmp.c:260 src/msgmerge.c:572
+#, c-format
+msgid "this message is used but not defined in %s"
+msgstr "pesan ini digunakan tapi tidak didefinisikan dalam %s"
+
+#: src/msgcmp.c:332
+msgid "warning: this message is not used"
+msgstr "peringatan: pesan ini tidak digunakan"
+
+#: src/msgcmp.c:339 src/po-lex.c:705
+#, fuzzy, c-format
+msgid "found %d fatal error"
+msgid_plural "found %d fatal errors"
+msgstr[0] "ditemukan %d kesalahan fatal"
+
+#: src/msgcmp.c:420 src/msgfmt.c:1323 src/read-po.c:202 src/x-po.c:163
+msgid "duplicate message definition"
+msgstr "definisi pesan ganda"
+
+#: src/msgcmp.c:421 src/msgfmt.c:1324 src/read-po.c:203 src/x-po.c:164
+msgid "...this is the location of the first definition"
+msgstr "...ini adalah lokasi definisi pertama"
+
+#: src/msgcomm.c:266
+msgid "at least two files must be specified"
+msgstr "paling tidak dua file harus dispesifikasikan"
+
+#: src/msgcomm.c:316
+#, fuzzy, no-wrap
+msgid ""
+"Find messages which are common to two or more of the specified PO files.\n"
+"By using the --more-than option, greater commonality may be requested\n"
+"before messages are printed.  Conversely, the --less-than option may be\n"
+"used to specify less commonality before messages are printed (i.e.\n"
+"--less-than=2 will only print the unique messages).  Translations,\n"
+"comments and extract comments will be preserved, but only from the first\n"
+"PO file to define them.  File positions from all PO files will be\n"
+"cumulated.\n"
+msgstr ""
+"  -V, --version            tampilkan versi informasi dan keluar\n"
+"  -w, --width=NUMBER       set lebar halaman output\n"
+"  -<, --less-than=NUMBER   cetak pesan dengan definisi kurang dari ini,\n"
+"                           baku adalah infinit jika tidak diset\n"
+"  ->, --more-than=NUMBER   cetak pesan dengan definisi lebih dari ini,\n"
+"                           baku adalah 1 jika tidak diset\n"
+"\n"
+"Temukan pesan yang umum di antara dua/lebih file PO yang dispesifikasikan.\n"
+"Dengan menggunakan pilihan --more-than, kesamaan umum dapat diminta sebelum\n"
+"pesan dicetak. Sebaliknya, pilihan --less-than dapat digunakan untuk \n"
+"menspesifikasikan kesamaan yang kurang sebelum pesan dicetak (misal \n"
+"--less-than=2 akan mencetak pesan-pesan unik). Terjemahan, komentar dan\n"
+"komentar ekstraksi akan dijaga, tetapi hanya dari file PO pertama yang\n"
+"mendefinisikan mereka. Posisi file dari seluruh file PO akan dijaga.\n"
 
-#: src/msgfmt.c:286 src/xgettext.c:404
+#: src/msgcomm.c:350
+#, fuzzy, no-wrap
+msgid ""
+"Message selection:\n"
+"  -<, --less-than=NUMBER         print messages with less than this many\n"
+"                                 definitions, defaults to infinite if not\n"
+"                                 set\n"
+"  ->, --more-than=NUMBER         print messages with more than this many\n"
+"                                 definitions, defaults to 1 if not set\n"
+"  -u, --unique                   shorthand for --less-than=2, requests\n"
+"                                 that only unique messages be printed\n"
+msgstr ""
+"  -V, --version            tampilkan versi informasi dan keluar\n"
+"  -w, --width=NUMBER       set lebar halaman output\n"
+"  -<, --less-than=NUMBER   cetak pesan dengan definisi kurang dari ini,\n"
+"                           baku adalah infinit jika tidak diset\n"
+"  ->, --more-than=NUMBER   cetak pesan dengan definisi lebih dari ini,\n"
+"                           baku adalah 1 jika tidak diset\n"
+"\n"
+"Temukan pesan yang umum di antara dua/lebih file PO yang dispesifikasikan.\n"
+"Dengan menggunakan pilihan --more-than, kesamaan umum dapat diminta sebelum\n"
+"pesan dicetak. Sebaliknya, pilihan --less-than dapat digunakan untuk \n"
+"menspesifikasikan kesamaan yang kurang sebelum pesan dicetak (misal \n"
+"--less-than=2 akan mencetak pesan-pesan unik). Terjemahan, komentar dan\n"
+"komentar ekstraksi akan dijaga, tetapi hanya dari file PO pertama yang\n"
+"mendefinisikan mereka. Posisi file dari seluruh file PO akan dijaga.\n"
+
+#: src/msgcomm.c:362
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
+"  -e, --no-escape                do not use C escapes in output (default)\n"
+"  -E, --escape                   use C escapes in output, no extended chars\n"
+"      --force-po                 write PO file even if empty\n"
+"  -i, --indent                   write the .po file using indented style\n"
+"      --no-location              do not write '#: filename:line' lines\n"
+"  -n, --add-location             generate '#: filename:line' lines (default)\n"
+"      --strict                   write out strict Uniforum conforming .po file\n"
+"  -w, --width=NUMBER             set output page width\n"
+"  -s, --sort-output              generate sorted output\n"
+"  -F, --sort-by-file             sort output by file location\n"
+"      --omit-header              don't write header with `msgid \"\"' entry\n"
+msgstr ""
+"Pemakaian: %s [PILIHAN] def.po ref.po\n"
+"Argumen yang perlu untuk pilihan panjang juga diperlukan untuk pilihan pendek.\n"
+"  -D, --directory=DIRECTORY  tambah DIRECTORY ke daftar untuk cari input file\n"
+"  -e, --no-escape            jangan gunakan escape C dalam output (baku)\n"
+"  -E, --escape               gunakan escape C dalam output, tanpa ekst. kar.\n"
+"      --force-po             tulis file PO bahkan bila kosong\n"
+"  -h, --help                 tampilkan bantuan ini dan keluar\n"
+"  -i, --indent               gaya output terindentasi\n"
+"  -o, --output-file=FILE     hasil ditulis ke FILE\n"
+"      --no-location          hapus baris '#: filename:line'\n"
+"      --add-location         simpan baris '#: filename:line' (baku)\n"
+"      --strict               gaya output strict Uniforum\n"
+"  -v, --verbose              tingkatkan level verbositas\n"
+"  -V, --version              tampilkan informasi versi dan keluar\n"
+"  -w, --width=NUMBER         set lebar halaman output\n"
+
+#: src/msgconv.c:251
+#, no-wrap
+msgid "Converts a translation catalog to a different character encoding.\n"
+msgstr ""
+
+#: src/msgconv.c:277
+#, no-wrap
+msgid ""
+"Conversion target:\n"
+"  -t, --to-code=NAME          encoding for output\n"
+"The default encoding is the current locale's encoding.\n"
+msgstr ""
+
+#: src/msgconv.c:284 src/msgen.c:266 src/msgmerge.c:442
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
+"  -e, --no-escape             do not use C escapes in output (default)\n"
+"  -E, --escape                use C escapes in output, no extended chars\n"
+"      --force-po              write PO file even if empty\n"
+"  -i, --indent                indented output style\n"
+"      --no-location           suppress '#: filename:line' lines\n"
+"      --add-location          preserve '#: filename:line' lines (default)\n"
+"      --strict                strict Uniforum output style\n"
+"  -w, --width=NUMBER          set output page width\n"
+"  -s, --sort-output           generate sorted output\n"
+"  -F, --sort-by-file          sort output by file location\n"
+msgstr ""
+"Pemakaian: %s [PILIHAN] def.po ref.po\n"
+"Argumen yang perlu untuk pilihan panjang juga diperlukan untuk pilihan pendek.\n"
+"  -D, --directory=DIRECTORY  tambah DIRECTORY ke daftar untuk cari input file\n"
+"  -e, --no-escape            jangan gunakan escape C dalam output (baku)\n"
+"  -E, --escape               gunakan escape C dalam output, tanpa ekst. kar.\n"
+"      --force-po             tulis file PO bahkan bila kosong\n"
+"  -h, --help                 tampilkan bantuan ini dan keluar\n"
+"  -i, --indent               gaya output terindentasi\n"
+"  -o, --output-file=FILE     hasil ditulis ke FILE\n"
+"      --no-location          hapus baris '#: filename:line'\n"
+"      --add-location         simpan baris '#: filename:line' (baku)\n"
+"      --strict               gaya output strict Uniforum\n"
+"  -v, --verbose              tingkatkan level verbositas\n"
+"  -V, --version              tampilkan informasi versi dan keluar\n"
+"  -w, --width=NUMBER         set lebar halaman output\n"
+
+#: src/msgen.c:187 src/msgfmt.c:349 src/xgettext.c:388
 msgid "no input file given"
 msgstr "tidak diberikan file input"
 
-#: src/msgfmt.c:337
+#: src/msgen.c:192
+#, fuzzy
+msgid "exactly one input file required"
+msgstr "dibutuhkan tepat 2 file input"
+
+#: src/msgen.c:232
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] INPUTFILE\n"
+msgstr ""
+
+#: src/msgen.c:237
+#, no-wrap
+msgid ""
+"Creates an English translation catalog.  The input file is the last\n"
+"created English PO file, or a PO Template file (generally created by\n"
+"xgettext).  Untranslated entries are assigned a translation that is\n"
+"identical to the msgid, and are marked fuzzy.\n"
+msgstr ""
+
+#: src/msgen.c:250
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  INPUTFILE                   input PO or POT file\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"If input file is -, standard input is read.\n"
+msgstr ""
+
+#: src/msgexec.c:255
+#, fuzzy
+msgid "missing filter name"
+msgstr "Argumen hilang"
+
+#: src/msgexec.c:279
+#, fuzzy
+msgid "at least one sed script must be specified"
+msgstr "paling tidak dua file harus dispesifikasikan"
+
+#: src/msgexec.c:343
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] FILTER [FILTER-OPTION]\n"
+msgstr ""
+
+#: src/msgexec.c:348
+#, no-wrap
+msgid "Applies a filter to all translations of a translation catalog.\n"
+msgstr ""
+
+#: src/msgexec.c:358
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  -i, --input=INPUTFILE       input PO file\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"If no input file is given or if it is -, standard input is read.\n"
+msgstr ""
+
+#: src/msgexec.c:374
+#, no-wrap
+msgid ""
+"The FILTER can be any program that reads a translation from standard input\n"
+"and writes a modified translation to standard output.\n"
+msgstr ""
+
+#: src/msgexec.c:380
+#, no-wrap
+msgid ""
+"Useful FILTER-OPTIONs when the FILTER is 'sed':\n"
+"  -e, --expression=SCRIPT     add SCRIPT to the commands to be executed\n"
+"  -f, --file=SCRIPTFILE       add the contents of SCRIPTFILE to the commands\n"
+"                                to be executed\n"
+"  -n, --quiet, --silent       suppress automatic printing of pattern space\n"
+msgstr ""
+
+#: src/msgexec.c:389
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
+"      --no-escape             do not use C escapes in output (default)\n"
+"  -E, --escape                use C escapes in output, no extended chars\n"
+"      --force-po              write PO file even if empty\n"
+"      --indent                indented output style\n"
+"      --no-location           suppress '#: filename:line' lines\n"
+"      --add-location          preserve '#: filename:line' lines (default)\n"
+"      --strict                strict Uniforum output style\n"
+"  -w, --width=NUMBER          set output page width\n"
+"  -s, --sort-output           generate sorted output\n"
+"  -F, --sort-by-file          sort output by file location\n"
+msgstr ""
+"Pemakaian: %s [PILIHAN] def.po ref.po\n"
+"Argumen yang perlu untuk pilihan panjang juga diperlukan untuk pilihan pendek.\n"
+"  -D, --directory=DIRECTORY  tambah DIRECTORY ke daftar untuk cari input file\n"
+"  -e, --no-escape            jangan gunakan escape C dalam output (baku)\n"
+"  -E, --escape               gunakan escape C dalam output, tanpa ekst. kar.\n"
+"      --force-po             tulis file PO bahkan bila kosong\n"
+"  -h, --help                 tampilkan bantuan ini dan keluar\n"
+"  -i, --indent               gaya output terindentasi\n"
+"  -o, --output-file=FILE     hasil ditulis ke FILE\n"
+"      --no-location          hapus baris '#: filename:line'\n"
+"      --add-location         simpan baris '#: filename:line' (baku)\n"
+"      --strict               gaya output strict Uniforum\n"
+"  -v, --verbose              tingkatkan level verbositas\n"
+"  -V, --version              tampilkan informasi versi dan keluar\n"
+"  -w, --width=NUMBER         set lebar halaman output\n"
+
+#: src/msgexec.c:546
 #, c-format
-msgid "error while opening \"%s\" for writing"
-msgstr "kesalahan ketika membuka \"%s\" untuk ditulis"
+msgid "cannot set up nonblocking I/O to %s subprocess"
+msgstr ""
 
-#: src/msgfmt.c:360
+#: src/msgexec.c:574
+#, c-format
+msgid "communication with %s subprocess failed"
+msgstr ""
+
+#: src/msgexec.c:594
+#, c-format
+msgid "write to %s subprocess failed"
+msgstr ""
+
+#: src/msgexec.c:625
+#, c-format
+msgid "read from %s subprocess failed"
+msgstr ""
+
+#: src/msgexec.c:641
+#, c-format
+msgid "%s subprocess terminated with exit code %d"
+msgstr ""
+
+#: src/msgfmt.c:303
+#, c-format
+msgid "the argument to %s should be a single punctuation character"
+msgstr ""
+
+#: src/msgfmt.c:364
+#, c-format
+msgid "%s requires a \"-d directory\" specification"
+msgstr ""
+
+#: src/msgfmt.c:373 src/msgfmt.c:379 src/msgfmt.c:385 src/msgmerge.c:290
+#: src/msgmerge.c:296 src/msgunfmt.c:209 src/msgunfmt.c:215
+#, c-format
+msgid "%s is only valid with %s"
+msgstr ""
+
+#: src/msgfmt.c:452
 #, fuzzy, c-format
 msgid "%d translated message"
 msgid_plural "%d translated messages"
 msgstr[0] "%d pesan diterjemahkan"
 
-#: src/msgfmt.c:365
+#: src/msgfmt.c:457
 #, fuzzy, c-format
 msgid ", %d fuzzy translation"
 msgid_plural ", %d fuzzy translations"
 msgstr[0] ", %d terjemahan fuzzy"
 
-#: src/msgfmt.c:370
+#: src/msgfmt.c:462
 #, fuzzy, c-format
 msgid ", %d untranslated message"
 msgid_plural ", %d untranslated messages"
 msgstr[0] ", %d pesan belum diterjemahkan"
 
-#: src/msgfmt.c:392
+#: src/msgfmt.c:484
 #, c-format, no-wrap
+msgid "Usage: %s [OPTION] filename.po ...\n"
+msgstr ""
+
+#: src/msgfmt.c:489
+#, no-wrap
+msgid "Generate binary message catalog from textual translation description.\n"
+msgstr ""
+
+#: src/msgfmt.c:499
+#, no-wrap
 msgid ""
-"Usage: %s [OPTION] filename.po ...\n"
-"Generate binary message catalog from textual translation description.\n"
-"\n"
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"  -a, --alignment=NUMBER      align strings to NUMBER bytes (default: %d)\n"
-"  -c, --check                 perform language dependent checks on strings\n"
+"Input file location:\n"
+"  filename.po ...             input files\n"
 "  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"If input file is -, standard input is read.\n"
+msgstr ""
+
+#: src/msgfmt.c:507
+#, no-wrap
+msgid ""
+"Operation mode:\n"
+"  -j, --java                  Java mode: generate a Java ResourceBundle class\n"
+"      --java2                 like --java, and assume Java2 (JDK 1.2 or higher)\n"
+msgstr ""
+
+#: src/msgfmt.c:514
+#, no-wrap
+msgid ""
+"Output file location:\n"
+"  -o, --output-file=FILE      write output to specified file\n"
+"      --strict                enable strict Uniforum mode\n"
+"If output file is -, output is written to standard output.\n"
+msgstr ""
+
+#: src/msgfmt.c:522
+#, no-wrap
+msgid ""
+"Output file location in Java mode:\n"
+"  -r, --resource=RESOURCE     resource name\n"
+"  -l, --locale=LOCALE         locale name, either language or language_COUNTRY\n"
+"  -d DIRECTORY                base directory of classes directory hierarchy\n"
+"The class name is determined by appending the locale name to the resource name,\n"
+"separated with an underscore.  The -d option is mandatory.  The class is\n"
+"written under the specified directory.\n"
+msgstr ""
+
+#: src/msgfmt.c:533
+#, no-wrap
+msgid ""
+"Input file interpretation:\n"
+"  -c, --check                 perform all the checks implied by\n"
+"                                --check-format, --check-header, --check-domain\n"
+"      --check-format          check language dependent format strings\n"
+"      --check-header          verify presence and contents of the header entry\n"
+"      --check-domain          check for conflicts between domain directives\n"
+"                                and the --output-file option\n"
+"  -C, --check-compatibility   check that GNU msgfmt behaves like X/Open msgfmt\n"
+"      --check-accelerators[=CHAR]  check presence of keyboard accelerators for\n"
+"                                menu items\n"
 "  -f, --use-fuzzy             use fuzzy entries in output\n"
-"  -h, --help                  display this help and exit\n"
+msgstr ""
+
+#: src/msgfmt.c:548
+#, c-format, no-wrap
+msgid ""
+"Output details:\n"
+"  -a, --alignment=NUMBER      align strings to NUMBER bytes (default: %d)\n"
 "      --no-hash               binary file will not include the hash table\n"
-"  -o, --output-file=FILE      specify output file name as FILE\n"
-"      --statistics            print statistics about translations\n"
-"      --strict                enable strict Uniforum mode\n"
-"  -v, --verbose               list input file anomalies\n"
+msgstr ""
+
+#: src/msgfmt.c:555
+#, no-wrap
+msgid ""
+"Informative output:\n"
+"  -h, --help                  display this help and exit\n"
 "  -V, --version               output version information and exit\n"
-"\n"
-"Giving the -v option more than once increases the verbosity level.\n"
-"\n"
-"If input file is -, standard input is read.  If output file is -,\n"
-"output is written to standard output.\n"
+"      --statistics            print statistics about translations\n"
+"  -v, --verbose               increase verbosity level\n"
 msgstr ""
-"Pemakaian: %s [PILIHAN] namafile.po ...\n"
-"Membuat katalog pesan biner dari deskripsi terjemahan tekstual.\n"
-"\n"
-"Argumen yang perlu untuk pilihan panjang juga perlu untuk pilihan pendek.\n"
-"  -a, --alignment=NUMBER     ratakan string menjadi NUMBER byte (baku %d)\n"
-"  -c, --check                periksa ketergantungan bahasa pada string\n"
-"  -D, --directory=DIRECTORY  tambah DIRECTORY ke daftar untuk cari input file\n"
-"  -f, --use-fuzzy            gunakan masukkan fuzzy dalam output\n"
-"  -h, --help                 tampilkan bantuan ini dan keluar\n"
-"      --no-hash              file biner tidak akan mencakup tabel hash\n"
-"  -o, --output-file=FILE     file output dengan nama FILE\n"
-"      --statistics           cetak statistik tentang penerjemahan\n"
-"      --strict               mode strict Uniforum\n"
-"  -v, --verbose              tampilkan anomali file input\n"
-"  -V, --version              tampilkan informasi versi dan keluar\n"
-"\n"
-"Memberikan pilihan -v lebih dari satu meningkatkan level verbosity.\n"
-"\n"
-"Jika file input adalah -, dibaca dari stdin. Jika file output adalah -,\n"
-"output ditulis ke stdout.\n"
 
-#: src/msgfmt.c:435
-msgid "while creating hash table"
-msgstr "sementara membuat tabel hash"
+#: src/msgfmt.c:707
+msgid "plural expression can produce negative values"
+msgstr ""
+
+#: src/msgfmt.c:720
+#, c-format
+msgid "nplurals = %lu but plural expression can produce values as large as %lu"
+msgstr ""
+
+#: src/msgfmt.c:746
+msgid "plural expression can produce division by zero"
+msgstr ""
+
+#: src/msgfmt.c:751
+msgid "plural expression can produce integer overflow"
+msgstr ""
+
+#: src/msgfmt.c:756
+msgid ""
+"plural expression can produce arithmetic exceptions, possibly division by "
+"zero"
+msgstr ""
+
+#: src/msgfmt.c:830 src/msgfmt.c:841
+msgid "message catalog has plural form translations..."
+msgstr ""
+
+#: src/msgfmt.c:833
+msgid "...but header entry lacks a \"plural=EXPRESSION\" attribute"
+msgstr ""
+
+#: src/msgfmt.c:844
+msgid "...but header entry lacks a \"nplurals=INTEGER\" attribute"
+msgstr ""
+
+#: src/msgfmt.c:868
+#, fuzzy
+msgid "invalid nplurals value"
+msgstr "urutan kendali ilegal"
+
+#: src/msgfmt.c:881
+msgid "invalid plural expression"
+msgstr ""
+
+#: src/msgfmt.c:899 src/msgfmt.c:912
+#, c-format
+msgid "nplurals = %lu..."
+msgstr ""
+
+#: src/msgfmt.c:902
+#, c-format
+msgid "...but some messages have only %lu plural forms"
+msgstr ""
+
+#: src/msgfmt.c:915
+#, c-format
+msgid "...but some messages have %lu plural forms"
+msgstr ""
+
+#: src/msgfmt.c:930
+msgid ""
+"message catalog has plural form translations, but lacks a header entry with "
+"\"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\""
+msgstr ""
+
+#: src/msgfmt.c:968
+#, fuzzy
+msgid "`msgid' and `msgid_plural' entries do not both begin with '\\n'"
+msgstr "masukan `msgid' dan `msgstr' tidak dimulai dengan '\\n'"
+
+#: src/msgfmt.c:978
+#, fuzzy, c-format
+msgid "`msgid' and `msgstr[%u]' entries do not both begin with '\\n'"
+msgstr "masukan `msgid' dan `msgstr' tidak dimulai dengan '\\n'"
+
+#: src/msgfmt.c:990
+msgid "`msgid' and `msgstr' entries do not both begin with '\\n'"
+msgstr "masukan `msgid' dan `msgstr' tidak dimulai dengan '\\n'"
+
+#: src/msgfmt.c:1007
+#, fuzzy
+msgid "`msgid' and `msgid_plural' entries do not both end with '\\n'"
+msgstr "masukan `msgid' dan `msgstr' tidak diakhiri dengan '\\n'"
+
+#: src/msgfmt.c:1017
+#, fuzzy, c-format
+msgid "`msgid' and `msgstr[%u]' entries do not both end with '\\n'"
+msgstr "masukan `msgid' dan `msgstr' tidak diakhiri dengan '\\n'"
+
+#: src/msgfmt.c:1029
+msgid "`msgid' and `msgstr' entries do not both end with '\\n'"
+msgstr "masukan `msgid' dan `msgstr' tidak diakhiri dengan '\\n'"
 
-#: src/msgfmt.c:479
-#, c-format
-msgid ""
-"%s: warning: PO file header missing, fuzzy, or invalid\n"
-"%*s  warning: charset conversion will not work"
+#: src/msgfmt.c:1041
+msgid "plural handling is a GNU gettext extension"
 msgstr ""
 
-#: src/msgfmt.c:503
+#: src/msgfmt.c:1088
 #, c-format
-msgid "domain name \"%s\" not suitable as file name"
-msgstr "nama domain \"%s\" tidak sesuai dengan nama file"
+msgid "'msgstr' is not a valid %s format string, unlike 'msgid'"
+msgstr ""
 
-#: src/msgfmt.c:508
+#: src/msgfmt.c:1122
 #, c-format
-msgid "domain name \"%s\" not suitable as file name: will use prefix"
+msgid "msgstr lacks the keyboard accelerator mark '%c'"
 msgstr ""
-"nama domain \"%s\" tidak sesuai dengan nama file: akan menggunakan prefix"
 
-#. We don't change the exit status here because this is really
-#. only an information.
-#: src/msgfmt.c:521
+#: src/msgfmt.c:1130
 #, c-format
-msgid "`domain %s' directive ignored"
-msgstr "direktiv `domain %s' diabaikan"
-
-#: src/msgfmt.c:551
-msgid "empty `msgstr' entry ignored"
-msgstr "masukan `msgstr' kosong diabaikan"
-
-#: src/msgfmt.c:552
-msgid "fuzzy `msgstr' entry ignored"
-msgstr "masukan fuzzy `msgstr' diabaikan"
+msgid "msgstr has too many keyboard accelerator marks '%c'"
+msgstr ""
 
-#: src/msgfmt.c:594
+#: src/msgfmt.c:1164
 #, c-format
 msgid "headerfield `%s' missing in header"
 msgstr "headerfield `%s' tidak ada dalam header"
 
-#: src/msgfmt.c:597
+#: src/msgfmt.c:1167
 #, c-format
 msgid "header field `%s' should start at beginning of line"
 msgstr "header field `%s' harus dimulai di awal baris"
 
-#: src/msgfmt.c:607
+#: src/msgfmt.c:1176
 msgid "some header fields still have the initial default value"
 msgstr "beberapa field header masih memiliki nilai baku awal"
 
-#: src/msgfmt.c:618
+#: src/msgfmt.c:1187
 #, c-format
 msgid "field `%s' still has initial default value"
 msgstr "field `%s' masih memiliki nilai baku awal"
 
-#: src/msgfmt.c:708
+#: src/msgfmt.c:1228
+msgid "warning: PO file header missing or invalid\n"
+msgstr ""
+
+#: src/msgfmt.c:1231
+msgid "warning: charset conversion will not work\n"
+msgstr ""
+
+#: src/msgfmt.c:1241
+msgid "warning: PO file header fuzzy\n"
+msgstr ""
+
+#: src/msgfmt.c:1243
+msgid "warning: older versions of msgfmt will give an error on this\n"
+msgstr ""
+
+#: src/msgfmt.c:1268
 #, c-format
-msgid "%s: warning: source file contains fuzzy translation"
-msgstr "%s: peringatan: file source mengandung terjemahan fuzzy"
+msgid "domain name \"%s\" not suitable as file name"
+msgstr "nama domain \"%s\" tidak sesuai dengan nama file"
 
-#: src/msgfmt.c:930
-#, fuzzy
-msgid "`msgid' and `msgid_plural' entries do not both begin with '\\n'"
-msgstr "masukan `msgid' dan `msgstr' tidak dimulai dengan '\\n'"
+#: src/msgfmt.c:1273
+#, c-format
+msgid "domain name \"%s\" not suitable as file name: will use prefix"
+msgstr ""
+"nama domain \"%s\" tidak sesuai dengan nama file: akan menggunakan prefix"
 
-#: src/msgfmt.c:938
-#, fuzzy, c-format
-msgid "`msgid' and `msgstr[%u]' entries do not both begin with '\\n'"
-msgstr "masukan `msgid' dan `msgstr' tidak dimulai dengan '\\n'"
+#: src/msgfmt.c:1284
+#, c-format
+msgid "`domain %s' directive ignored"
+msgstr "direktiv `domain %s' diabaikan"
 
-#: src/msgfmt.c:948
-msgid "`msgid' and `msgstr' entries do not both begin with '\\n'"
-msgstr "masukan `msgid' dan `msgstr' tidak dimulai dengan '\\n'"
+#: src/msgfmt.c:1356
+msgid "empty `msgstr' entry ignored"
+msgstr "masukan `msgstr' kosong diabaikan"
 
-#: src/msgfmt.c:963
-#, fuzzy
-msgid "`msgid' and `msgid_plural' entries do not both end with '\\n'"
-msgstr "masukan `msgid' dan `msgstr' tidak diakhiri dengan '\\n'"
+#: src/msgfmt.c:1357
+msgid "fuzzy `msgstr' entry ignored"
+msgstr "masukan fuzzy `msgstr' diabaikan"
 
-#: src/msgfmt.c:971
-#, fuzzy, c-format
-msgid "`msgid' and `msgstr[%u]' entries do not both end with '\\n'"
-msgstr "masukan `msgid' dan `msgstr' tidak diakhiri dengan '\\n'"
+#: src/msgfmt.c:1426
+#, c-format
+msgid "%s: warning: source file contains fuzzy translation"
+msgstr "%s: peringatan: file source mengandung terjemahan fuzzy"
 
-#: src/msgfmt.c:981
-msgid "`msgid' and `msgstr' entries do not both end with '\\n'"
-msgstr "masukan `msgid' dan `msgstr' tidak diakhiri dengan '\\n'"
+#: src/msggrep.c:359
+#, c-format
+msgid "option '%c' cannot be used before 'K' or 'T' has been specified"
+msgstr ""
 
-#: src/msgfmt.c:997
-msgid "number of format specifications in `msgid' and `msgstr' does not match"
-msgstr "jumlah spesifikasi format dalam `msgid' dan `msgstr' tidak sesuai"
+#: src/msggrep.c:381
+#, no-wrap
+msgid ""
+"Extracts all messages of a translation catalog that match a given pattern\n"
+"or belong to some given source files.\n"
+msgstr ""
 
-#: src/msgfmt.c:1014
-#, fuzzy, c-format
-msgid "format specifications for argument %lu are not the same"
-msgstr "spesifikasi format untuk argumen %u tidak sama"
+#: src/msggrep.c:408
+#, no-wrap
+msgid ""
+"Message selection:\n"
+"  [-N SOURCEFILE]... [-M DOMAINNAME]... [-K MSGID-PATTERN] [-T MSGSTR-PATTERN]\n"
+"A message is selected if it comes from one of the specified source files,\n"
+"or if it comes from one of the specified domains,\n"
+"or if -K is given and its key (msgid or msgid_plural) matches MSGID-PATTERN,\n"
+"or if -T is given and its translation (msgstr) matches MSGSTR-PATTERN.\n"
+"\n"
+"When more than one selection criterion is specified, the set of selected\n"
+"messages is the union of the selected messages of each criterion.\n"
+"\n"
+"MSGID-PATTERN or MSGSTR-PATTERN syntax:\n"
+"  [-E | -F] [-e PATTERN | -f FILE]...\n"
+"PATTERNs are basic regular expressions by default, or extended regular\n"
+"expressions if -E is given, or fixed strings if -F is given.\n"
+"\n"
+"  -N, --location=SOURCEFILE   select messages extracted from SOURCEFILE\n"
+"  -M, --domain=DOMAINNAME     select messages belonging to domain DOMAINNAME\n"
+"  -K, --msgid                 start of patterns for the msgid\n"
+"  -T, --msgstr                start of patterns for the msgstr\n"
+"  -E, --extended-regexp       PATTERN is an extended regular expression\n"
+"  -F, --fixed-strings         PATTERN is a set of newline-separated strings\n"
+"  -e, --regexp=PATTERN        use PATTERN as a regular expression\n"
+"  -f, --file=FILE             obtain PATTERN from FILE\n"
+"  -i, --ignore-case           ignore case distinctions\n"
+msgstr ""
 
-#: src/msgmerge.c:320
-#, fuzzy, c-format, no-wrap
+#: src/msggrep.c:436
+#, fuzzy, no-wrap
 msgid ""
-"Usage: %s [OPTION] def.po ref.po\n"
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"  -C, --compendium=FILE       additional library of message translations,\n"
-"                              may be specified more than once\n"
-"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
-"  -e, --no-escape             do not use C escapes in output (default)\n"
-"  -E, --escape                use C escapes in output, no extended chars\n"
+"Output details:\n"
+"      --no-escape             do not use C escapes in output (default)\n"
+"      --escape                use C escapes in output, no extended chars\n"
 "      --force-po              write PO file even if empty\n"
-"  -h, --help                  display this help and exit\n"
-"  -i, --indent                indented output style\n"
-"  -o, --output-file=FILE      result will be written to FILE\n"
+"      --indent                indented output style\n"
 "      --no-location           suppress '#: filename:line' lines\n"
 "      --add-location          preserve '#: filename:line' lines (default)\n"
 "      --strict                strict Uniforum output style\n"
-"  -v, --verbose               increase verbosity level\n"
-"  -V, --version               output version information and exit\n"
 "  -w, --width=NUMBER          set output page width\n"
+"      --sort-output           generate sorted output\n"
+"      --sort-by-file          sort output by file location\n"
 msgstr ""
 "Pemakaian: %s [PILIHAN] def.po ref.po\n"
 "Argumen yang perlu untuk pilihan panjang juga diperlukan untuk pilihan pendek.\n"
@@ -567,19 +1314,238 @@ msgstr ""
 "  -V, --version              tampilkan informasi versi dan keluar\n"
 "  -w, --width=NUMBER         set lebar halaman output\n"
 
-#: src/msgmerge.c:340
+#: src/msggrep.c:510
+msgid "write to grep subprocess failed"
+msgstr ""
+
+#: src/msginit.c:275
+msgid ""
+"You are in a language indifferent environment.  Please set\n"
+"your LANG environment variable, as described in the ABOUT-NLS\n"
+"file.  This is necessary so you can test your translations.\n"
+msgstr ""
+
+#: src/msginit.c:303
+#, c-format
+msgid ""
+"Output file %s already exists.\n"
+"Please specify the locale through the --locale option or\n"
+"the output .po file through the --output-file option.\n"
+msgstr ""
+
+#: src/msginit.c:326
+#, c-format
+msgid "Created %s.\n"
+msgstr ""
+
+#: src/msginit.c:348
 #, no-wrap
 msgid ""
-"\n"
+"Creates a new PO file, initializing the meta information with values from the\n"
+"user's environment.\n"
+msgstr ""
+
+#: src/msginit.c:359
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  -i, --input=INPUTFILE       input POT file\n"
+"If no input file is given, the current directory is searched for the POT file.\n"
+"If it is -, standard input is read.\n"
+msgstr ""
+
+#: src/msginit.c:367
+#, no-wrap
+msgid ""
+"Output file location:\n"
+"  -o, --output-file=FILE      write output to specified PO file\n"
+"If no output file is given, it depends on the --locale option or the user's\n"
+"locale setting.  If it is -, the results are written to standard output.\n"
+msgstr ""
+
+#: src/msginit.c:375
+#, no-wrap
+msgid ""
+"Output details:\n"
+"  -l, --locale=LL_CC          set target locale\n"
+"      --no-translator         assume the PO file is automatically generated\n"
+"  -w, --width=NUMBER          set output page width\n"
+msgstr ""
+
+#: src/msginit.c:426
+msgid ""
+"Found more than one .pot file.\n"
+"Please specify the input .pot file through the --input option.\n"
+msgstr ""
+
+#: src/msginit.c:434 src/msginit.c:439
+msgid "error reading current directory"
+msgstr ""
+
+#: src/msginit.c:447
+msgid ""
+"Found no .pot file in the current directory.\n"
+"Please specify the input .pot file through the --input option.\n"
+msgstr ""
+
+#: src/msginit.c:887 src/msginit.c:932 src/msginit.c:1070 src/msginit.c:1137
+#: src/read-java.c:80
+msgid "fdopen() failed"
+msgstr ""
+
+#: src/msginit.c:892 src/msginit.c:937 src/msginit.c:1075
+#, c-format
+msgid "%s subprocess I/O error"
+msgstr ""
+
+#: src/msginit.c:901 src/msginit.c:946 src/msginit.c:1084 src/msginit.c:1151
+#: src/read-java.c:90
+#, c-format
+msgid "%s subprocess failed with exit code %d"
+msgstr ""
+
+#: src/msginit.c:1060
+msgid ""
+"The new message catalog should contain your email address, so that users "
+"can\n"
+"give you feedback about the translations, and so that maintainers can "
+"contact\n"
+"you in case of unexpected technical problems.\n"
+msgstr ""
+
+#. TRANSLATORS: "English" needs to be replaced by your language.
+#. For example in it.po write "Traduzioni italiani ...",
+#. *not* "Traduzioni inglesi ...".
+#: src/msginit.c:1440
+#, c-format
+msgid "English translations for %s package"
+msgstr ""
+
+#: src/msgl-cat.c:173 src/msgl-charset.c:86 src/msgl-iconv.c:299
+#, c-format
+msgid "present charset \"%s\" is not a portable encoding name"
+msgstr ""
+
+#: src/msgl-cat.c:181 src/msgl-iconv.c:307
+#, c-format
+msgid "two different charsets \"%s\" and \"%s\" in input file"
+msgstr ""
+
+#: src/msgl-cat.c:194
+#, c-format
+msgid ""
+"input file `%s' doesn't contain a header entry with a charset specification"
+msgstr ""
+
+#: src/msgl-cat.c:198
+#, c-format
+msgid ""
+"domain \"%s\" in input file `%s' doesn't contain a header entry with a "
+"charset specification"
+msgstr ""
+
+#: src/msgl-cat.c:359 src/msgl-iconv.c:382
+#, c-format
+msgid "target charset \"%s\" is not a portable encoding name."
+msgstr ""
+
+#: src/msgl-cat.c:409 src/msgl-cat.c:415 src/msgl-charset.c:91
+#: src/msgl-charset.c:126 src/write-po.c:723 src/write-po.c:817
+msgid "warning: "
+msgstr ""
+
+#: src/msgl-cat.c:410
+msgid ""
+"Input files contain messages in different encodings, UTF-8 among others.\n"
+"Converting the output to UTF-8.\n"
+msgstr ""
+
+#: src/msgl-cat.c:416
+#, c-format
+msgid ""
+"Input files contain messages in different encodings, %s and %s among "
+"others.\n"
+"Converting the output to UTF-8.\n"
+"To select a different output encoding, use the --to-code option.\n"
+msgstr ""
+
+#: src/msgl-charset.c:92
+#, c-format
+msgid ""
+"Locale charset \"%s\" is different from\n"
+"input file charset \"%s\".\n"
+"Output of '%s' might be incorrect.\n"
+"Possible workarounds are:\n"
+msgstr ""
+
+#: src/msgl-charset.c:99
+#, c-format
+msgid "- Set LC_ALL to a locale with encoding %s.\n"
+msgstr ""
+
+#: src/msgl-charset.c:104
+#, c-format
+msgid ""
+"- Convert the translation catalog to %s using 'msgconv',\n"
+"  then apply '%s',\n"
+"  then convert back to %s using 'msgconv'.\n"
+msgstr ""
+
+#: src/msgl-charset.c:113
+#, c-format
+msgid ""
+"- Set LC_ALL to a locale with encoding %s,\n"
+"  convert the translation catalog to %s using 'msgconv',\n"
+"  then apply '%s',\n"
+"  then convert back to %s using 'msgconv'.\n"
+msgstr ""
+
+#: src/msgl-charset.c:127
+#, c-format
+msgid ""
+"Locale charset \"%s\" is not a portable encoding name.\n"
+"Output of '%s' might be incorrect.\n"
+"A possible workaround is to set LC_ALL=C.\n"
+msgstr ""
+
+#: src/msgl-iconv.c:200 src/msgl-iconv.c:254
+msgid "conversion failure"
+msgstr ""
+
+#: src/msgl-iconv.c:328
+msgid "input file doesn't contain a header entry with a charset specification"
+msgstr ""
+
+#: src/msgl-iconv.c:346
+#, c-format
+msgid ""
+"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(), and iconv() does "
+"not support this conversion."
+msgstr ""
+
+#: src/msgl-iconv.c:362
+#, c-format
+msgid ""
+"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(). This version was "
+"built without iconv()."
+msgstr ""
+
+#: src/msgmerge.c:340
+msgid "backup type"
+msgstr ""
+
+#: src/msgmerge.c:377
+#, fuzzy, no-wrap
+msgid ""
 "Merges two Uniforum style .po files together.  The def.po file is an\n"
-"existing PO file with the old translations which will be taken over to\n"
-"the newly created file as long as they still match; comments will be\n"
-"preserved, but extract comments and file positions will be discarded.\n"
-"The ref.po file is the last created PO file (generally by xgettext), any\n"
-"translations or comments in the file will be discarded, however dot\n"
+"existing PO file with translations which will be taken over to the newly\n"
+"created file as long as they still match; comments will be preserved,\n"
+"but extracted comments and file positions will be discarded.  The ref.pot\n"
+"file is the last created PO file with up-to-date source references but\n"
+"old translations, or a PO Template file (generally created by xgettext);\n"
+"any translations or comments in the file will be discarded, however dot\n"
 "comments and file positions will be preserved.  Where an exact match\n"
-"cannot be found, fuzzy matching is used to produce better results.  The\n"
-"results are written to stdout unless an output file is specified.\n"
+"cannot be found, fuzzy matching is used to produce better results.\n"
 msgstr ""
 "\n"
 "Gabungkan dua file .po bergaya Uniforum. File def.po adalah file PO dengan\n"
@@ -591,7 +1557,63 @@ msgstr ""
 "digunakan fuzzy matching untuk memberi hasil yang lebih baik. Hasilnya ditulis\n"
 "ke stdout kecuali diberikan sebuah output file.\n"
 
-#: src/msgmerge.c:799
+#: src/msgmerge.c:395
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  def.po                      translations referring to old sources\n"
+"  ref.pot                     references to new sources\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"  -C, --compendium=FILE       additional library of message translations,\n"
+"                              may be specified more than once\n"
+msgstr ""
+
+#: src/msgmerge.c:405
+#, no-wrap
+msgid ""
+"Operation mode:\n"
+"  -U, --update                update def.po,\n"
+"                              do nothing if def.po already up to date\n"
+msgstr ""
+
+#: src/msgmerge.c:420
+#, no-wrap
+msgid ""
+"Output file location in update mode:\n"
+"The result is written back to def.po.\n"
+"      --backup=CONTROL        make a backup of def.po\n"
+"      --suffix=SUFFIX         override the usual backup suffix\n"
+"The version control method may be selected via the --backup option or through\n"
+"the VERSION_CONTROL environment variable.  Here are the values:\n"
+"  none, off       never make backups (even if --backup is given)\n"
+"  numbered, t     make numbered backups\n"
+"  existing, nil   numbered if numbered backups exist, simple otherwise\n"
+"  simple, never   always make simple backups\n"
+"The backup suffix is `~', unless set with --suffix or the SIMPLE_BACKUP_SUFFIX\n"
+"environment variable.\n"
+msgstr ""
+
+#: src/msgmerge.c:457
+#, no-wrap
+msgid ""
+"Informative output:\n"
+"  -h, --help                  display this help and exit\n"
+"  -V, --version               output version information and exit\n"
+"  -v, --verbose               increase verbosity level\n"
+"  -q, --quiet, --silent       suppress progress indicators\n"
+msgstr ""
+
+#: src/msgmerge.c:625
+#, fuzzy
+msgid "this message should define plural forms"
+msgstr "pesan ini digunakan tapi tidak didefinisikan dalam %s"
+
+#: src/msgmerge.c:648
+#, fuzzy
+msgid "this message should not define plural forms"
+msgstr "pesan ini digunakan tapi tidak didefinisikan dalam %s"
+
+#: src/msgmerge.c:779
 #, fuzzy, c-format
 msgid ""
 "%sRead %ld old + %ld reference, merged %ld, fuzzied %ld, missing %ld, "
@@ -600,24 +1622,70 @@ msgstr ""
 "%sMembaca %d lama + %d referensi, digabung %d, fuzzy %d, hilang %d, kuno %"
 "d.\n"
 
-#: src/msgmerge.c:806
+#: src/msgmerge.c:787
 msgid " done.\n"
 msgstr " selesai.\n"
 
-#: src/msgunfmt.c:210
+#: src/msgunfmt.c:201
+#, fuzzy, c-format
+msgid "%s and explicit file names are mutually exclusive"
+msgstr "%s dan %s adalah mutually exclusive"
+
+#: src/msgunfmt.c:267
 #, c-format, no-wrap
+msgid "Usage: %s [OPTION] [FILE]...\n"
+msgstr ""
+
+#: src/msgunfmt.c:272
+#, no-wrap
+msgid "Convert binary message catalog to Uniforum style .po file.\n"
+msgstr ""
+
+#: src/msgunfmt.c:282
+#, no-wrap
+msgid ""
+"Operation mode:\n"
+"  -j, --java               Java mode: generate a Java ResourceBundle class\n"
+msgstr ""
+
+#: src/msgunfmt.c:288
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  FILE ...                 input .mo files\n"
+"If no input file is given or if it is -, standard input is read.\n"
+msgstr ""
+
+#: src/msgunfmt.c:295
+#, no-wrap
+msgid ""
+"Input file location in Java mode:\n"
+"  -r, --resource=RESOURCE  resource name\n"
+"  -l, --locale=LOCALE      locale name, either language or language_COUNTRY\n"
+"The class name is determined by appending the locale name to the resource name,\n"
+"separated with an underscore.  The class is located using the CLASSPATH.\n"
+msgstr ""
+
+#: src/msgunfmt.c:304
+#, no-wrap
+msgid ""
+"Output file location:\n"
+"  -o, --output-file=FILE   write output to specified file\n"
+"The results are written to standard output if no output file is specified\n"
+"or if it is -.\n"
+msgstr ""
+
+#: src/msgunfmt.c:312
+#, fuzzy, no-wrap
 msgid ""
-"Usage: %s [OPTION] [FILE]...\n"
-"Mandatory arguments to long options are mandatory for short options too.\n"
+"Output details:\n"
 "  -e, --no-escape          do not use C escapes in output (default)\n"
 "  -E, --escape             use C escapes in output, no extended chars\n"
 "      --force-po           write PO file even if empty\n"
-"  -h, --help               display this help and exit\n"
 "  -i, --indent             write indented output style\n"
-"  -o, --output-file=FILE   write output into FILE instead of standard output\n"
 "      --strict             write strict uniforum style\n"
-"  -V, --version            output version information and exit\n"
 "  -w, --width=NUMBER       set output page width\n"
+"  -s, --sort-output        generate sorted output\n"
 msgstr ""
 "Pemakaian: %s [PILIHAN] [FILE]...\n"
 "Argumen wajib untuk pilihan panjang juga wajib untuk pilihan pendek.\n"
@@ -631,50 +1699,51 @@ msgstr ""
 "  -V, --version           tampilkan informasi versi dan keluar\n"
 "  -w, --width=NUMBER      set lebar halaman output\n"
 
-#: src/msgunfmt.c:224
+#: src/msgunfmt.c:324
 #, no-wrap
 msgid ""
-"\n"
-"Convert binary .mo files to Uniforum style .po files.\n"
-"Both little-endian and big-endian .mo files are handled.\n"
-"If no input file is given or it is -, standard input is read.\n"
-"By default the output is written to standard output.\n"
+"Informative output:\n"
+"  -h, --help               display this help and exit\n"
+"  -V, --version            output version information and exit\n"
+"  -v, --verbose            increase verbosity level\n"
 msgstr ""
-"\n"
-"Konversi file biner .mo ke file .po bergaya Uniforum.\n"
-"File .mo little-endian dan big-endian ditangani.\n"
-"Jika tidak ada file input atau -, dibaca dari stdin.\n"
-"Secara baku output ditulis ke stdout.\n"
-
-#: src/msgunfmt.c:261 src/msgunfmt.c:326 src/po-lex.c:216 src/xget-lex.c:243
-#, c-format
-msgid "error while reading \"%s\""
-msgstr "kesalahan ketika membaca \"%s\""
 
-#: src/msgunfmt.c:262 src/msgunfmt.c:327
-#, c-format
-msgid "file \"%s\" truncated"
-msgstr "file \"%s\" terpotong"
+#: src/msguniq.c:279
+#, no-wrap
+msgid ""
+"Unifies duplicate translations in a translation catalog.\n"
+"Finds duplicate translations of the same message ID.  Such duplicates are\n"
+"invalid input for other programs like msgfmt, msgmerge or msgcat.  By\n"
+"default, duplicates are merged together.  When using the --repeated option,\n"
+"only duplicates are output, and all other messages are discarded.  Comments\n"
+"and extracted comments will be cumulated, except that if --use-first is\n"
+"specified, they will be taken from the first translation.  File positions\n"
+"will be cumulated.  When using the --unique option, duplicates are discarded.\n"
+msgstr ""
 
-#: src/msgunfmt.c:293
-#, c-format
-msgid "seek \"%s\" offset %ld failed"
-msgstr "gagal mencari \"%s\" offset %ld"
+#: src/msguniq.c:312
+#, no-wrap
+msgid ""
+"Message selection:\n"
+"  -d, --repeated                 print only duplicates\n"
+"  -u, --unique                   print only unique messages, discard duplicates\n"
+msgstr ""
 
-#: src/msgunfmt.c:332
-#, fuzzy, c-format
-msgid "file \"%s\" contains a not NUL terminated string"
-msgstr "file \"%s\" bukan dalam format GNU .mo"
+#: src/ngettext.c:215
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] [TEXTDOMAIN] MSGID MSGID-PLURAL COUNT\n"
+msgstr ""
 
-#: src/msgunfmt.c:377
-#, c-format
-msgid "file \"%s\" is not in GNU .mo format"
-msgstr "file \"%s\" bukan dalam format GNU .mo"
+#: src/ngettext.c:220
+#, no-wrap
+msgid ""
+"Display native language translation of a textual message whose grammatical\n"
+"form depends on a number.\n"
+msgstr ""
 
-#: src/ngettext.c:209
-#, fuzzy, c-format, no-wrap
+#: src/ngettext.c:225
+#, fuzzy, no-wrap
 msgid ""
-"Usage: %s [OPTION] [TEXTDOMAIN] MSGID MSGID-PLURAL COUNT\n"
 "  -d, --domain=TEXTDOMAIN   retrieve translated message from TEXTDOMAIN\n"
 "  -e                        enable expansion of some escape sequences\n"
 "  -E                        (ignored for compatibility)\n"
@@ -694,10 +1763,9 @@ msgstr ""
 "  [TEXTDOMAIN] MSGID        mengambil pesan terjemahan yang sesuai\n"
 "                            untuk MSGID dari TEXTDOMAIN\n"
 
-#: src/ngettext.c:221
+#: src/ngettext.c:236
 #, fuzzy, c-format, no-wrap
 msgid ""
-"\n"
 "If the TEXTDOMAIN parameter is not given, the domain is determined from the\n"
 "environment variable TEXTDOMAIN.  If the message catalog is not found in the\n"
 "regular directory, another location can be specified with the environment\n"
@@ -714,274 +1782,615 @@ msgstr ""
 "diterjemahkan.\n"
 "Direktori pencarian standar: %s\n"
 
-#: src/open-po.c:64
+#: src/open-po.c:69
 msgid "<stdin>"
 msgstr ""
 
-#: po-gram-gen.y:87
+#: src/po-charset.c:172 src/po-charset.c:240 src/po-charset.c:268
+#: src/po-charset.c:294
+#, c-format
+msgid "%s: warning: "
+msgstr ""
+
+#: src/po-charset.c:173
+#, c-format
+msgid ""
+"Charset \"%s\" is not a portable encoding name.\n"
+"Message conversion to user's charset might not work.\n"
+msgstr ""
+
+#: src/po-charset.c:236 src/po-charset.c:266
+msgid "Continuing anyway, expect parse errors."
+msgstr ""
+
+#: src/po-charset.c:238
+msgid "Continuing anyway."
+msgstr ""
+
+#: src/po-charset.c:241
+#, c-format
+msgid ""
+"Charset \"%s\" is not supported. %s relies on iconv(),\n"
+"and iconv() does not support \"%s\".\n"
+msgstr ""
+
+#: src/po-charset.c:250 src/po-charset.c:276
+msgid ""
+"Installing GNU libiconv and then reinstalling GNU gettext\n"
+"would fix this problem.\n"
+msgstr ""
+
+#: src/po-charset.c:255 src/po-charset.c:280
+#, c-format
+msgid "%s\n"
+msgstr ""
+
+#: src/po-charset.c:269
+#, c-format
+msgid ""
+"Charset \"%s\" is not supported. %s relies on iconv().\n"
+"This version was built without iconv().\n"
+msgstr ""
+
+#: src/po-charset.c:295
+msgid ""
+"Charset missing in header.\n"
+"Message conversion to user's charset will not work.\n"
+msgstr ""
+
+#: po-gram-gen.y:91
 msgid "inconsistent use of #~"
 msgstr ""
 
-#: po-gram-gen.y:168
+#: po-gram-gen.y:181
 #, fuzzy
 msgid "missing `msgstr[]' section"
 msgstr "bagian `msgstr' hilang"
 
-#: po-gram-gen.y:176
+#: po-gram-gen.y:189
 #, fuzzy
 msgid "missing `msgid_plural' section"
 msgstr "bagian `msgstr' hilang"
 
-#: po-gram-gen.y:183
+#: po-gram-gen.y:196
 msgid "missing `msgstr' section"
 msgstr "bagian `msgstr' hilang"
 
-#: po-gram-gen.y:228
+#: po-gram-gen.y:241
 msgid "first plural form has nonzero index"
 msgstr ""
 
-#: po-gram-gen.y:230
+#: po-gram-gen.y:243
 msgid "plural form has wrong index"
 msgstr ""
 
-#. CAUTION: If you change this macro, you must also make identical
-#. changes to the function of the same name in src/po-lex.c
-#: src/po-lex.c:159 src/po-lex.c:198 src/po-lex.h:85 src/po-lex.h:99
-#: src/po-lex.h:115 src/po-lex.h:129
+#: src/po-lex.h:91 src/po-lex.h:106 src/po-lex.h:126 src/po-lex.h:141
+#: src/po-lex.c:135 src/po-lex.c:176
 msgid "too many errors, aborting"
 msgstr "terlalu banyak kesalahan, dibatalkan"
 
-#: src/po-lex.c:274
+#: src/po-lex.c:545 src/write-po.c:331 src/write-po.c:421
+msgid "invalid multibyte sequence"
+msgstr ""
+
+#: src/po-lex.c:571
+msgid "incomplete multibyte sequence at end of file"
+msgstr ""
+
+#: src/po-lex.c:581
+msgid "incomplete multibyte sequence at end of line"
+msgstr ""
+
+#: src/po-lex.c:589
+msgid "iconv failure"
+msgstr ""
+
+#: src/po-lex.c:763 src/read-mo.c:70 src/read-mo.c:135 src/x-c.c:216
+#: src/x-rst.c:227 src/x-ycp.c:103
+#, c-format
+msgid "error while reading \"%s\""
+msgstr "kesalahan ketika membaca \"%s\""
+
+#: src/po-lex.c:829
 #, c-format
 msgid "keyword \"%s\" unknown"
 msgstr "kata kunci \"%s\" tidak dikenal"
 
-#: src/po-lex.c:377
+#: src/po-lex.c:939
 #, fuzzy
 msgid "invalid control sequence"
 msgstr "urutan kendali ilegal"
 
-#: src/po-lex.c:480
+#: src/po-lex.c:1047
 msgid "end-of-file within string"
 msgstr "end-of-file dalam string"
 
-#: src/po-lex.c:485
+#: src/po-lex.c:1053
 msgid "end-of-line within string"
 msgstr "end-of-line dalam string"
 
-#: src/po-lex.c:528 src/write-po.c:285 src/write-po.c:367
-msgid "invalid multibyte sequence"
-msgstr ""
+#: src/read-mo.c:71 src/read-mo.c:136
+#, c-format
+msgid "file \"%s\" truncated"
+msgstr "file \"%s\" terpotong"
 
-#: src/po.c:302 src/po.c:374 src/po.c:409 src/po.c:439
+#: src/read-mo.c:102
 #, c-format
-msgid "%s: warning: "
-msgstr ""
+msgid "seek \"%s\" offset %ld failed"
+msgstr "gagal mencari \"%s\" offset %ld"
+
+#: src/read-mo.c:141
+#, fuzzy, c-format
+msgid "file \"%s\" contains a not NUL terminated string"
+msgstr "file \"%s\" bukan dalam format GNU .mo"
 
-#: src/po.c:303
+#: src/read-mo.c:186
 #, c-format
-msgid ""
-"Charset \"%s\" is not a portable encoding name.\n"
-"Message conversion to user's charset might not work.\n"
-msgstr ""
+msgid "file \"%s\" is not in GNU .mo format"
+msgstr "file \"%s\" bukan dalam format GNU .mo"
 
-#: src/po.c:370 src/po.c:405
-msgid "Continuing anyway, expect parse errors."
+#: src/write-java.c:1108
+msgid "cannot find a temporary directory, try setting $TMPDIR"
 msgstr ""
 
-#: src/po.c:372
-msgid "Continuing anyway."
-msgstr ""
+#: src/write-java.c:1118
+#, fuzzy, c-format
+msgid "cannot create a temporary directory using template \"%s\""
+msgstr "tidak dapat membuat file output \"%s\""
 
-#: src/po.c:375
+#: src/write-java.c:1131
 #, c-format
-msgid ""
-"Charset \"%s\" is not supported. %s relies on iconv(),\n"
-"and iconv() does not support \"%s\".\n"
-msgstr ""
-
-#: src/po.c:385 src/po.c:418
-msgid ""
-"Installing GNU libiconv and then reinstalling GNU gettext\n"
-"would fix this problem.\n"
+msgid "not a valid Java class name: %s"
 msgstr ""
 
-#: src/po.c:393 src/po.c:425
+#: src/write-java.c:1188 src/write-java.c:1201
 #, c-format
-msgid "%s\n"
+msgid "failed to create \"%s\""
 msgstr ""
 
-#: src/po.c:410
+#: src/write-java.c:1209 src/write-mo.c:289 src/write-po.c:966
 #, c-format
-msgid ""
-"Charset \"%s\" is not supported. %s relies on iconv().\n"
-"This version was built without iconv().\n"
-msgstr ""
+msgid "error while writing \"%s\" file"
+msgstr "kesalahan saat menulis file \"%s\""
 
-#: src/po.c:440
-msgid ""
-"Charset missing in header.\n"
-"Message conversion to user's charset will not work.\n"
+#: src/write-java.c:1223
+msgid "compilation of Java class failed, please try --verbose or set $JAVAC"
 msgstr ""
 
-#: src/write-po.c:316
+#: src/write-mo.c:277
+#, c-format
+msgid "error while opening \"%s\" for writing"
+msgstr "kesalahan ketika membuka \"%s\" untuk ditulis"
+
+#: src/write-po.c:370
 #, c-format
 msgid ""
 "internationalized messages should not contain the `\\%c' escape sequence"
 msgstr "Pesan internasionalisasi tidak boleh mengandung escape sequence `\\%c'"
 
-#: src/write-po.c:857
+#: src/write-po.c:724 src/write-po.c:818
+#, c-format
+msgid ""
+"The following msgid contains non-ASCII characters.\n"
+"This will cause problems to translators who use a character encoding\n"
+"different from yours. Consider using a pure ASCII msgid instead.\n"
+"%s\n"
+msgstr ""
+
+#: src/write-po.c:885
 #, c-format
 msgid "cannot create output file \"%s\""
 msgstr "tidak dapat membuat file output \"%s\""
 
-#: src/write-po.c:864
+#: src/write-po.c:892
 #, no-c-format
 msgid "standard output"
 msgstr "standard output"
 
-#: src/write-po.c:939
-#, c-format
-msgid "error while writing \"%s\" file"
-msgstr "kesalahan saat menulis file \"%s\""
-
-#: src/xget-lex.c:148
-msgid "standard input"
-msgstr "standard input"
-
-#: src/xget-lex.c:876
+#: src/x-c.c:858
 #, c-format
 msgid "%s:%d: warning: unterminated character constant"
 msgstr "%s:%d: peringatan: karakter konstan yang unterminated"
 
-#: src/xget-lex.c:898
+#: src/x-c.c:882
 #, c-format
 msgid "%s:%d: warning: unterminated string literal"
 msgstr "%s:%d: peringatan: string literal yang unterminated"
 
-#: src/xgettext.c:373
+#: src/x-po.c:106 src/xgettext.c:605
+msgid "this file may not contain domain directives"
+msgstr "file ini tidak boleh mengandung direktiv domain"
+
+#: src/x-rst.c:108
+#, c-format
+msgid "%s:%d: invalid string definition"
+msgstr ""
+
+#: src/x-rst.c:168
+#, c-format
+msgid "%s:%d: missing number after #"
+msgstr ""
+
+#: src/x-rst.c:203
+#, c-format
+msgid "%s:%d: invalid string expression"
+msgstr ""
+
+#: src/xgettext.c:375
 msgid "--join-existing cannot be used when output is written to stdout"
 msgstr "--join-existing tidak dapat digunakan ketika output ditulis ke stdout"
 
-#: src/xgettext.c:378
+#: src/xgettext.c:380
 msgid "xgettext cannot work without keywords to look for"
 msgstr ""
 
-#: src/xgettext.c:484
+#: src/xgettext.c:468
 #, c-format
 msgid "warning: file `%s' extension `%s' is unknown; will try C"
 msgstr "peringatan: file `%s' ekstensi `%s' tidak dikenal; dicoba C"
 
-#: src/xgettext.c:520
-#, c-format, no-wrap
+#: src/xgettext.c:509
+#, no-wrap
+msgid "Extract translatable strings from given input files.\n"
+msgstr ""
+
+#: src/xgettext.c:514
+#, no-wrap
 msgid ""
-"Usage: %s [OPTION] INPUTFILE ...\n"
-"Extract translatable string from given input files.\n"
-"\n"
 "Mandatory arguments to long options are mandatory for short options too.\n"
-"  -a, --extract-all              extract all strings\n"
-"  -c, --add-comments[=TAG]       place comment block with TAG (or those\n"
-"                                 preceding keyword lines) in output file\n"
-"  -C, --c++                      shorthand for --language=C++\n"
-"      --debug                    more detailed formatstring recognision result\n"
+"Similarly for optional arguments.\n"
+msgstr ""
+
+#: src/xgettext.c:529
+#, no-wrap
+msgid ""
+"Output file location:\n"
 "  -d, --default-domain=NAME      use NAME.po for output (instead of messages.po)\n"
-"  -D, --directory=DIRECTORY      add DIRECTORY to list for input files search\n"
-"  -e, --no-escape                do not use C escapes in output (default)\n"
-"  -E, --escape                   use C escapes in output, no extended chars\n"
-"  -f, --files-from=FILE          get list of input files from FILE\n"
-"      --force-po                 write PO file even if empty\n"
-"      --foreign-user             omit FSF copyright in output for foreign user\n"
-"  -F, --sort-by-file             sort output by file location\n"
+"  -o, --output=FILE              write output to specified file\n"
+"  -p, --output-dir=DIR           output files will be placed in directory DIR\n"
+"If output file is -, output is written to standard output.\n"
 msgstr ""
-"Pemakaian: %s [PILIHAN] INPUTFILE ...\n"
-"Mengekstrak string yang dapat diterjemahkan dari file input.\n"
-"\n"
-"Argumen wajib untuk pilihan panjang juga wajib untuk pilihan pendek.\n"
-"  -a, --extract-all          ekstraksi seluruh string\n"
-"  -c, --add-comment[=TAG]    letakkan blok komentar dengan TAG (atau baris \n"
-"                             kata kunci sebelumnya) dalam file output\n"
-"  -C, --c++                  singkatan untuk --language=C++\n"
-"      --debug                hasil pengenalan formatstring yang lebih detil\n"
-"  -d, --default-domain=NAME  gunakan NAME.po sebagai output\n"
-"  -D, --directory=DIRECTORY  tambah DIRECTORY ke daftar untuk cari file input\n"
-"  -e, --no-escape            jangan gunakan escape C dalam output (baku)\n"
-"  -E, --escape               gunakan escape C dalam output, tanpa ekst. kar.\n"
-"  -f, --files-from=FILE      ambil daftar input file dari FILE\n"
-"      --force-po             tulis file PO bahkan bila kosong\n"
-"      --foreign-user         hilangkan copyright FSF dalam output untuk user asing\n"
-"  -F, --sort-by-file         urutkan output berdasar lokasi file\n"
 
-#: src/xgettext.c:540
-#, fuzzy, no-wrap
+#: src/xgettext.c:538
+#, no-wrap
 msgid ""
-"  -h, --help                     display this help and exit\n"
-"  -i, --indent                   write the .po file using indented style\n"
+"Choice of input file language:\n"
+"  -L, --language=NAME            recognise the specified language\n"
+"                                   (C, C++, ObjectiveC, PO, Java, YCP)\n"
+"  -C, --c++                      shorthand for --language=C++\n"
+"By default the language is guessed depending on the input file name extension.\n"
+msgstr ""
+
+#: src/xgettext.c:547
+#, no-wrap
+msgid ""
+"Operation mode:\n"
 "  -j, --join-existing            join messages with existing file\n"
-"  -k, --keyword[=WORD]           additonal keyword to be looked for (without\n"
-"                                 WORD means not to use default keywords)\n"
-"  -L, --language=NAME            recognise the specified language (C, C++, PO),\n"
-"                                 otherwise is guessed from file extension\n"
-"  -m, --msgstr-prefix[=STRING]   use STRING or \"\" as prefix for msgstr entries\n"
-"  -M, --msgstr-suffix[=STRING]   use STRING or \"\" as suffix for msgstr entries\n"
-"      --no-location              do not write '#: filename:line' lines\n"
+"  -x, --exclude-file=FILE.po     entries from FILE.po are not extracted\n"
+"  -c, --add-comments[=TAG]       place comment block with TAG (or those\n"
+"                                 preceding keyword lines) in output file\n"
 msgstr ""
-" -h, --help                    tampilkan bantuan ini dan keluar\n"
-" -i, --indent                  tulis file .po dengan gaya terindentasi\n"
-" -j, --join-existing           gabung pesan dengan file yang telah ada\n"
-" -k, --keyword[=WORD]          keyword tambahan untuk dicari (tanpa WORD \n"
-"                               berarti tidak menggunakan keyword baku)\n"
-" -l,--string-limit=NUMBER      set batasan string ke NUMBER bukan %u\n"
-" -L,--language=NAME            kenali bahasa tertentu (C, C++, PO), selain itu \n"
-"                               duga dari ekstensi file\n"
-" -m, --msgstr-prefix[=STRING]  gunakan STRING atau \"\\\" sebagai prefix untuk\n"
-"                               masukan msgstr\n"
-" -M, --msgstr-suffix[=STRING]  gunakan STRING atau \"\\\" sebagai suffix untuk\n"
-"                               masukan msgstr\n"
-"     --no-location             jangan gunakan baris '#: filename:line'\n"
 
-#: src/xgettext.c:552
+#: src/xgettext.c:556
 #, no-wrap
 msgid ""
+"Language=C/C++ specific options:\n"
+"  -a, --extract-all              extract all strings\n"
+"  -k, --keyword[=WORD]           additional keyword to be looked for (without\n"
+"                                 WORD means not to use default keywords)\n"
+"  -T, --trigraphs                understand ANSI C trigraphs for input\n"
+"      --debug                    more detailed formatstring recognition result\n"
+msgstr ""
+
+#: src/xgettext.c:566
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
+"  -e, --no-escape                do not use C escapes in output (default)\n"
+"  -E, --escape                   use C escapes in output, no extended chars\n"
+"      --force-po                 write PO file even if empty\n"
+"  -i, --indent                   write the .po file using indented style\n"
+"      --no-location              do not write '#: filename:line' lines\n"
 "  -n, --add-location             generate '#: filename:line' lines (default)\n"
-"      --omit-header              don't write header with `msgid \"\"' entry\n"
-"  -o, --output=FILE              write output to specified file\n"
-"  -p, --output-dir=DIR           output files will be placed in directory DIR\n"
-"  -s, --sort-output              generate sorted output and remove duplicates\n"
 "      --strict                   write out strict Uniforum conforming .po file\n"
-"  -T, --trigraphs                understand ANSI C trigraphs for input\n"
-"  -V, --version                  output version information and exit\n"
 "  -w, --width=NUMBER             set output page width\n"
-"  -x, --exclude-file=FILE        entries from FILE are not extracted\n"
-"\n"
-"If INPUTFILE is -, standard input is read.\n"
-msgstr ""
-"  -n, --add-location         ciptakan baris '#: filename:line' (baku)\n"
-"      --omit-header          jangan tulis header dengan masukan `msgid'\n"
-"  -o, --output=FILE          tulis output ke FILE\n"
-"  -p, --output-dir=DIR       file output ditaruh di direktori DIR\n"
-"  -s, --sort-output          buat output terurut dan hapus duplikat\n"
-"      --strict               tulis file .po strict Uniforum\n"
-"  -T, --trigraphs            kenali trigraph ANSI C sebagai input\n"
+"  -s, --sort-output              generate sorted output\n"
+"  -F, --sort-by-file             sort output by file location\n"
+"      --omit-header              don't write header with `msgid \"\"' entry\n"
+"      --foreign-user             omit FSF copyright in output for foreign user\n"
+"  -m, --msgstr-prefix[=STRING]   use STRING or \"\" as prefix for msgstr entries\n"
+"  -M, --msgstr-suffix[=STRING]   use STRING or \"\" as suffix for msgstr entries\n"
+msgstr ""
+"Pemakaian: %s [PILIHAN] def.po ref.po\n"
+"Argumen yang perlu untuk pilihan panjang juga diperlukan untuk pilihan pendek.\n"
+"  -D, --directory=DIRECTORY  tambah DIRECTORY ke daftar untuk cari input file\n"
+"  -e, --no-escape            jangan gunakan escape C dalam output (baku)\n"
+"  -E, --escape               gunakan escape C dalam output, tanpa ekst. kar.\n"
+"      --force-po             tulis file PO bahkan bila kosong\n"
+"  -h, --help                 tampilkan bantuan ini dan keluar\n"
+"  -i, --indent               gaya output terindentasi\n"
+"  -o, --output-file=FILE     hasil ditulis ke FILE\n"
+"      --no-location          hapus baris '#: filename:line'\n"
+"      --add-location         simpan baris '#: filename:line' (baku)\n"
+"      --strict               gaya output strict Uniforum\n"
+"  -v, --verbose              tingkatkan level verbositas\n"
 "  -V, --version              tampilkan informasi versi dan keluar\n"
-"  -w, --width=NUMBER         set lebar output halaman\n"
-"  -x, --exclude-file=FILE    masukan dari FILE tidak diekstraksi\n"
-"\n"
-"Jika INPUTFILE adalah -, dibaca standar input.\n"
+"  -w, --width=NUMBER         set lebar halaman output\n"
 
-#: src/xgettext.c:914
-#, fuzzy, c-format
-msgid "%s:%d: warning: keyword nested in keyword arg"
-msgstr "%s:%d: peringatan: string literal yang unterminated"
+#: src/xgettext.c:720
+msgid "standard input"
+msgstr "standard input"
 
-#: src/xgettext.c:924
-#, c-format
-msgid "%s:%d: warning: keyword between outer keyword and its arg"
+#: src/xgettext.c:830
+msgid ""
+"Empty msgid.  It is reserved by GNU gettext:\n"
+"gettext(\"\") returns the header entry with\n"
+"meta information, not the empty string.\n"
 msgstr ""
 
-#: src/xgettext.c:1420
+#: src/xgettext.c:1099
 #, c-format
 msgid "language `%s' unknown"
 msgstr "bahasa `%s' tidak dikenal"
 
+#~ msgid "while creating hash table"
+#~ msgstr "sementara membuat tabel hash"
+
+#, fuzzy
+#~ msgid "%s:%lu: warning: keyword nested in keyword arg"
+#~ msgstr "%s:%d: peringatan: string literal yang unterminated"
+
+#, fuzzy
+#~ msgid "%s:%lu: warning: keyword between outer keyword and its arg"
+#~ msgstr "%s:%d: peringatan: string literal yang unterminated"
+
+#~ msgid "while preparing output"
+#~ msgstr "ketika mempersiapkan output"
+
+#~ msgid "this message has no definition in the \"%s\" domain"
+#~ msgstr "pesan ini tidak memiliki definisi dalam domain \"%s\""
+
+#~ msgid ""
+#~ "Usage: %s [OPTION] INPUTFILE ...\n"
+#~ "Mandatory arguments to long options are mandatory for short options too.\n"
+#~ "  -d, --default-domain=NAME      use NAME.po for output (instead of "
+#~ "messages.po)\n"
+#~ "  -D, --directory=DIRECTORY      add DIRECTORY to list for input files "
+#~ "search\n"
+#~ "  -e, --no-escape                do not use C escapes in output "
+#~ "(default)\n"
+#~ "  -E, --escape                   use C escapes in output, no extended "
+#~ "chars\n"
+#~ "  -f, --files-from=FILE          get list of input files from FILE\n"
+#~ "      --force-po                 write PO file even if empty\n"
+#~ "  -F, --sort-by-file             sort output by file location\n"
+#~ "  -h, --help                     display this help and exit\n"
+#~ msgstr ""
+#~ "Pemakaian: %s [PILIHAN] INPUTFILE ...\n"
+#~ "Argumen yang wajib untuk pilihan panjang juga wajib untuk pilihan "
+#~ "pendek.\n"
+#~ " -d, --default-domain=NAME  gunakan NAME.po sebagai output (selain "
+#~ "messages.po)\n"
+#~ " -D, --directory=DIRECTORY  tambah DIRECTORY ke daftar untuk cari file "
+#~ "input\n"
+#~ " -e, --no-escape            jangan gunakan escape C dalam output (baku)\n"
+#~ " -E, --escape               gunakan escape C dalam output, tanpa ekst. "
+#~ "kar.\n"
+#~ " -f, --files-from=FILE      ambil daftar file input dari FILE\n"
+#~ "     --force-po             tulis file PO bahkan bila kosong\n"
+#~ " -F, --sort-by-file         sort output berdasar lokasi file\n"
+#~ " -h, --help                 tampilkan bantuan ini dan keluar\n"
+
+#~ msgid ""
+#~ "  -i, --indent                   write the .po file using indented style\n"
+#~ "      --no-location              do not write '#: filename:line' lines\n"
+#~ "  -n, --add-location             generate '#: filename:line' lines "
+#~ "(default)\n"
+#~ "      --omit-header              don't write header with `msgid \"\"' "
+#~ "entry\n"
+#~ "  -o, --output=FILE              write output to specified file\n"
+#~ "  -p, --output-dir=DIR           output files will be placed in directory "
+#~ "DIR\n"
+#~ "  -s, --sort-output              generate sorted output and remove "
+#~ "duplicates\n"
+#~ "      --strict                   write out strict Uniforum conforming .po "
+#~ "file\n"
+#~ "  -T, --trigraphs                understand ANSI C trigraphs for input\n"
+#~ "  -u, --unique                   shorthand for --less-than=2, requests\n"
+#~ "                                 that only unique messages be printed\n"
+#~ msgstr ""
+#~ "  -i, --indent           tulis file .po menggunakan gaya indented\n"
+#~ "      --no-location      jangan tulis baris '#: filename:line'\n"
+#~ "  -n, --add-location     buat baris '#: filename:line' (baku)\n"
+#~ "      --omit-header      jangan tulis header dengan masukan `msgid'\n"
+#~ "  -o, --output=FILE      tulis output ke file yang diberikan\n"
+#~ "  -p, --output-dir=DIR   file output akan diletakkan dalam direktori DIR\n"
+#~ "  -s, --sort-output      buat output dalam bentuk terurut dan hapus "
+#~ "duplikat\n"
+#~ "      --strict           tulis file .po dalam bentuk Uniforum yang "
+#~ "strict\n"
+#~ "  -T, --trigraphs        kenali trigraph ANSI C sebagai input\n"
+#~ "  -u, --unique           singkatan untuk --less-than=2, minta\n"
+#~ "                         hanya pesan yang unik yang dicetak\n"
+
+#~ msgid ""
+#~ "Usage: %s [OPTION] filename.po ...\n"
+#~ "Generate binary message catalog from textual translation description.\n"
+#~ "\n"
+#~ "Mandatory arguments to long options are mandatory for short options too.\n"
+#~ "  -a, --alignment=NUMBER      align strings to NUMBER bytes (default: %"
+#~ "d)\n"
+#~ "  -c, --check                 perform language dependent checks on "
+#~ "strings\n"
+#~ "  -D, --directory=DIRECTORY   add DIRECTORY to list for input files "
+#~ "search\n"
+#~ "  -f, --use-fuzzy             use fuzzy entries in output\n"
+#~ "  -h, --help                  display this help and exit\n"
+#~ "      --no-hash               binary file will not include the hash "
+#~ "table\n"
+#~ "  -o, --output-file=FILE      specify output file name as FILE\n"
+#~ "      --statistics            print statistics about translations\n"
+#~ "      --strict                enable strict Uniforum mode\n"
+#~ "  -v, --verbose               list input file anomalies\n"
+#~ "  -V, --version               output version information and exit\n"
+#~ "\n"
+#~ "Giving the -v option more than once increases the verbosity level.\n"
+#~ "\n"
+#~ "If input file is -, standard input is read.  If output file is -,\n"
+#~ "output is written to standard output.\n"
+#~ msgstr ""
+#~ "Pemakaian: %s [PILIHAN] namafile.po ...\n"
+#~ "Membuat katalog pesan biner dari deskripsi terjemahan tekstual.\n"
+#~ "\n"
+#~ "Argumen yang perlu untuk pilihan panjang juga perlu untuk pilihan "
+#~ "pendek.\n"
+#~ "  -a, --alignment=NUMBER     ratakan string menjadi NUMBER byte (baku %"
+#~ "d)\n"
+#~ "  -c, --check                periksa ketergantungan bahasa pada string\n"
+#~ "  -D, --directory=DIRECTORY  tambah DIRECTORY ke daftar untuk cari input "
+#~ "file\n"
+#~ "  -f, --use-fuzzy            gunakan masukkan fuzzy dalam output\n"
+#~ "  -h, --help                 tampilkan bantuan ini dan keluar\n"
+#~ "      --no-hash              file biner tidak akan mencakup tabel hash\n"
+#~ "  -o, --output-file=FILE     file output dengan nama FILE\n"
+#~ "      --statistics           cetak statistik tentang penerjemahan\n"
+#~ "      --strict               mode strict Uniforum\n"
+#~ "  -v, --verbose              tampilkan anomali file input\n"
+#~ "  -V, --version              tampilkan informasi versi dan keluar\n"
+#~ "\n"
+#~ "Memberikan pilihan -v lebih dari satu meningkatkan level verbosity.\n"
+#~ "\n"
+#~ "Jika file input adalah -, dibaca dari stdin. Jika file output adalah -,\n"
+#~ "output ditulis ke stdout.\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "Convert binary .mo files to Uniforum style .po files.\n"
+#~ "Both little-endian and big-endian .mo files are handled.\n"
+#~ "If no input file is given or it is -, standard input is read.\n"
+#~ "By default the output is written to standard output.\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Konversi file biner .mo ke file .po bergaya Uniforum.\n"
+#~ "File .mo little-endian dan big-endian ditangani.\n"
+#~ "Jika tidak ada file input atau -, dibaca dari stdin.\n"
+#~ "Secara baku output ditulis ke stdout.\n"
+
+#~ msgid ""
+#~ "Usage: %s [OPTION] INPUTFILE ...\n"
+#~ "Extract translatable string from given input files.\n"
+#~ "\n"
+#~ "Mandatory arguments to long options are mandatory for short options too.\n"
+#~ "  -a, --extract-all              extract all strings\n"
+#~ "  -c, --add-comments[=TAG]       place comment block with TAG (or those\n"
+#~ "                                 preceding keyword lines) in output file\n"
+#~ "  -C, --c++                      shorthand for --language=C++\n"
+#~ "      --debug                    more detailed formatstring recognision "
+#~ "result\n"
+#~ "  -d, --default-domain=NAME      use NAME.po for output (instead of "
+#~ "messages.po)\n"
+#~ "  -D, --directory=DIRECTORY      add DIRECTORY to list for input files "
+#~ "search\n"
+#~ "  -e, --no-escape                do not use C escapes in output "
+#~ "(default)\n"
+#~ "  -E, --escape                   use C escapes in output, no extended "
+#~ "chars\n"
+#~ "  -f, --files-from=FILE          get list of input files from FILE\n"
+#~ "      --force-po                 write PO file even if empty\n"
+#~ "      --foreign-user             omit FSF copyright in output for foreign "
+#~ "user\n"
+#~ "  -F, --sort-by-file             sort output by file location\n"
+#~ msgstr ""
+#~ "Pemakaian: %s [PILIHAN] INPUTFILE ...\n"
+#~ "Mengekstrak string yang dapat diterjemahkan dari file input.\n"
+#~ "\n"
+#~ "Argumen wajib untuk pilihan panjang juga wajib untuk pilihan pendek.\n"
+#~ "  -a, --extract-all          ekstraksi seluruh string\n"
+#~ "  -c, --add-comment[=TAG]    letakkan blok komentar dengan TAG (atau "
+#~ "baris \n"
+#~ "                             kata kunci sebelumnya) dalam file output\n"
+#~ "  -C, --c++                  singkatan untuk --language=C++\n"
+#~ "      --debug                hasil pengenalan formatstring yang lebih "
+#~ "detil\n"
+#~ "  -d, --default-domain=NAME  gunakan NAME.po sebagai output\n"
+#~ "  -D, --directory=DIRECTORY  tambah DIRECTORY ke daftar untuk cari file "
+#~ "input\n"
+#~ "  -e, --no-escape            jangan gunakan escape C dalam output (baku)\n"
+#~ "  -E, --escape               gunakan escape C dalam output, tanpa ekst. "
+#~ "kar.\n"
+#~ "  -f, --files-from=FILE      ambil daftar input file dari FILE\n"
+#~ "      --force-po             tulis file PO bahkan bila kosong\n"
+#~ "      --foreign-user         hilangkan copyright FSF dalam output untuk "
+#~ "user asing\n"
+#~ "  -F, --sort-by-file         urutkan output berdasar lokasi file\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "  -h, --help                     display this help and exit\n"
+#~ "  -i, --indent                   write the .po file using indented style\n"
+#~ "  -j, --join-existing            join messages with existing file\n"
+#~ "  -k, --keyword[=WORD]           additonal keyword to be looked for "
+#~ "(without\n"
+#~ "                                 WORD means not to use default keywords)\n"
+#~ "  -L, --language=NAME            recognise the specified language (C, C+"
+#~ "+, PO),\n"
+#~ "                                 otherwise is guessed from file "
+#~ "extension\n"
+#~ "  -m, --msgstr-prefix[=STRING]   use STRING or \"\" as prefix for msgstr "
+#~ "entries\n"
+#~ "  -M, --msgstr-suffix[=STRING]   use STRING or \"\" as suffix for msgstr "
+#~ "entries\n"
+#~ "      --no-location              do not write '#: filename:line' lines\n"
+#~ msgstr ""
+#~ " -h, --help                    tampilkan bantuan ini dan keluar\n"
+#~ " -i, --indent                  tulis file .po dengan gaya terindentasi\n"
+#~ " -j, --join-existing           gabung pesan dengan file yang telah ada\n"
+#~ " -k, --keyword[=WORD]          keyword tambahan untuk dicari (tanpa "
+#~ "WORD \n"
+#~ "                               berarti tidak menggunakan keyword baku)\n"
+#~ " -l,--string-limit=NUMBER      set batasan string ke NUMBER bukan %u\n"
+#~ " -L,--language=NAME            kenali bahasa tertentu (C, C++, PO), "
+#~ "selain itu \n"
+#~ "                               duga dari ekstensi file\n"
+#~ " -m, --msgstr-prefix[=STRING]  gunakan STRING atau \"\\\" sebagai prefix "
+#~ "untuk\n"
+#~ "                               masukan msgstr\n"
+#~ " -M, --msgstr-suffix[=STRING]  gunakan STRING atau \"\\\" sebagai suffix "
+#~ "untuk\n"
+#~ "                               masukan msgstr\n"
+#~ "     --no-location             jangan gunakan baris '#: filename:line'\n"
+
+#~ msgid ""
+#~ "  -n, --add-location             generate '#: filename:line' lines "
+#~ "(default)\n"
+#~ "      --omit-header              don't write header with `msgid \"\"' "
+#~ "entry\n"
+#~ "  -o, --output=FILE              write output to specified file\n"
+#~ "  -p, --output-dir=DIR           output files will be placed in directory "
+#~ "DIR\n"
+#~ "  -s, --sort-output              generate sorted output and remove "
+#~ "duplicates\n"
+#~ "      --strict                   write out strict Uniforum conforming .po "
+#~ "file\n"
+#~ "  -T, --trigraphs                understand ANSI C trigraphs for input\n"
+#~ "  -V, --version                  output version information and exit\n"
+#~ "  -w, --width=NUMBER             set output page width\n"
+#~ "  -x, --exclude-file=FILE        entries from FILE are not extracted\n"
+#~ "\n"
+#~ "If INPUTFILE is -, standard input is read.\n"
+#~ msgstr ""
+#~ "  -n, --add-location         ciptakan baris '#: filename:line' (baku)\n"
+#~ "      --omit-header          jangan tulis header dengan masukan `msgid'\n"
+#~ "  -o, --output=FILE          tulis output ke FILE\n"
+#~ "  -p, --output-dir=DIR       file output ditaruh di direktori DIR\n"
+#~ "  -s, --sort-output          buat output terurut dan hapus duplikat\n"
+#~ "      --strict               tulis file .po strict Uniforum\n"
+#~ "  -T, --trigraphs            kenali trigraph ANSI C sebagai input\n"
+#~ "  -V, --version              tampilkan informasi versi dan keluar\n"
+#~ "  -w, --width=NUMBER         set lebar output halaman\n"
+#~ "  -x, --exclude-file=FILE    masukan dari FILE tidak diekstraksi\n"
+#~ "\n"
+#~ "Jika INPUTFILE adalah -, dibaca standar input.\n"
+
 #~ msgid "%s: warning: no header entry found"
 #~ msgstr "%s: peringatan: tidak ditemukan masukan header"
index ccf5329a35e9770a78a0999d0035a4b53bfed4c5..1d31b5b53e5596ac03ea429542db5e6a81f34eac 100644 (file)
--- a/po/it.po
+++ b/po/it.po
@@ -5,19 +5,66 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: GNU gettext 0.10.35\n"
-"POT-Creation-Date: 2001-04-18 22:38+0200\n"
+"POT-Creation-Date: 2001-11-30 14:18+0100\n"
 "PO-Revision-Date: 2000-02-17 15:30+01:00\n"
 "Last-Translator: Giovanni Bortolozzo <borto@pluto.linux.it>\n"
 "Language-Team: Italian <it@li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=ISO-8859-1\n"
-"Content-Transfer-Encoding: 8-bit\n"
+"Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
+#: lib/argmatch.c:141
+#, c-format
+msgid "invalid argument `%s' for `%s'"
+msgstr ""
+
+#: lib/argmatch.c:142
+#, c-format
+msgid "ambiguous argument `%s' for `%s'"
+msgstr ""
+
+#: lib/argmatch.c:162
+msgid "Valid arguments are:"
+msgstr ""
+
+#: lib/copy-file.c:60 src/file-list.c:57 src/po-lex.c:732 src/read-mo.c:170
+#: src/xgettext.c:729 src/xgettext.c:742 src/xgettext.c:752
+#, c-format
+msgid "error while opening \"%s\" for reading"
+msgstr "errore durante l'apertura in lettura di \"%s\""
+
+#: lib/copy-file.c:67
+#, fuzzy, c-format
+msgid "cannot open backup file \"%s\" for writing"
+msgstr "errore durante l'apertura in scrittura di \"%s\""
+
+#: lib/copy-file.c:80
+#, fuzzy, c-format
+msgid "error reading \"%s\""
+msgstr "errore durante la lettura di \"%s\""
+
+#: lib/copy-file.c:86 lib/copy-file.c:90
+#, fuzzy, c-format
+msgid "error writing \"%s\""
+msgstr "errore durante la scrittura del file \"%s\""
+
+#: lib/copy-file.c:92
+#, fuzzy, c-format
+msgid "error after reading \"%s\""
+msgstr "errore durante la lettura di \"%s\""
+
 #: lib/error.c:115
 msgid "Unknown system error"
 msgstr "Errore di sistema sconosciuto"
 
+#: lib/execute.c:170 lib/execute.c:205 lib/pipe-bidi.c:156 lib/pipe-bidi.c:191
+#: lib/pipe-in.c:167 lib/pipe-in.c:202 lib/pipe-out.c:167 lib/pipe-out.c:202
+#: lib/wait-process.c:136
+#, c-format
+msgid "%s subprocess failed"
+msgstr ""
+
 #: lib/getopt.c:691
 #, c-format
 msgid "%s: option `%s' is ambiguous\n"
@@ -38,19 +85,16 @@ msgstr "%s: l'opzione `%c%s' non ammette un argomento\n"
 msgid "%s: option `%s' requires an argument\n"
 msgstr "%s: l'opzione `%s' richiede un argomento\n"
 
-#. --option
 #: lib/getopt.c:768
 #, c-format
 msgid "%s: unrecognized option `--%s'\n"
 msgstr "%s: opzione `--%s' non riconosciuta\n"
 
-#. +option or -option
 #: lib/getopt.c:772
 #, c-format
 msgid "%s: unrecognized option `%c%s'\n"
 msgstr "%s: opzione `%c%s' non riconosciuta\n"
 
-#. 1003.2 specifies the format of this message.
 #: lib/getopt.c:798
 #, c-format
 msgid "%s: illegal option -- %c\n"
@@ -61,7 +105,6 @@ msgstr "%s: opzione illegale -- %c\n"
 msgid "%s: invalid option -- %c\n"
 msgstr "%s: opzione non valida -- %c\n"
 
-#. 1003.2 specifies the format of this message.
 #: lib/getopt.c:831 lib/getopt.c:961
 #, c-format
 msgid "%s: option requires an argument -- %c\n"
@@ -77,14 +120,119 @@ msgstr "%s: l'opzione `-W %s' 
 msgid "%s: option `-W %s' doesn't allow an argument\n"
 msgstr "%s: l'opzione `-W %s' non ammette un argomento\n"
 
-#: lib/obstack.c:474 lib/xmalloc.c:86 src/po.c:308 src/po.c:381 src/po.c:389
-#: src/po.c:395 src/po.c:415 src/po.c:422 src/po.c:427 src/po.c:444
+#: lib/javacomp.c:465
+msgid "Java compiler not found, try installing gcj or set $JAVAC"
+msgstr ""
+
+#: lib/javaexec.c:404
+msgid "Java virtual machine not found, try installing gij or set $JAVA"
+msgstr ""
+
+#: lib/obstack.c:474 lib/xerror.c:75 lib/xmalloc.c:56
 #, fuzzy
 msgid "memory exhausted"
 msgstr "Memoria esaurita"
 
-#: src/gettext.c:140 src/msgcmp.c:140 src/msgcomm.c:279 src/msgfmt.c:270
-#: src/msgmerge.c:255 src/msgunfmt.c:170 src/ngettext.c:120 src/xgettext.c:388
+#: lib/pipe-bidi.c:119 lib/pipe-bidi.c:121 lib/pipe-in.c:136
+#: lib/pipe-out.c:136
+#, fuzzy
+msgid "cannot create pipe"
+msgstr "impossibile creare il file d'uscita \"%s\""
+
+#: lib/wait-process.c:117
+#, c-format
+msgid "%s subprocess"
+msgstr ""
+
+#: lib/wait-process.c:129
+#, c-format
+msgid "%s subprocess got fatal signal"
+msgstr ""
+
+#: src/format-c.c:578 src/format-python.c:463
+#, fuzzy
+msgid "number of format specifications in 'msgid' and 'msgstr' does not match"
+msgstr ""
+"il numero di specifiche di formato in `msgid' e `msgstr' non corrispondono"
+
+#: src/format-c.c:588 src/format-python.c:473
+#, fuzzy, c-format
+msgid ""
+"format specifications in 'msgid' and 'msgstr' for argument %u are not the "
+"same"
+msgstr "le specifiche di formato per l'argomento %u non sono le stesse"
+
+#: src/format-java.c:652 src/format-pascal.c:396
+#, fuzzy, c-format
+msgid "a format specification for argument {%u} doesn't exist in 'msgid'"
+msgstr "le specifiche di formato per l'argomento %u non sono le stesse"
+
+#: src/format-java.c:662 src/format-pascal.c:406
+#, fuzzy, c-format
+msgid "a format specification for argument {%u} doesn't exist in 'msgstr'"
+msgstr "le specifiche di formato per l'argomento %u non sono le stesse"
+
+#: src/format-java.c:676 src/format-pascal.c:420
+#, fuzzy, c-format
+msgid ""
+"format specifications in 'msgid' and 'msgstr' for argument {%u} are not the "
+"same"
+msgstr "le specifiche di formato per l'argomento %u non sono le stesse"
+
+#: src/format-lisp.c:3371
+#, fuzzy
+msgid "format specifications in 'msgid' and 'msgstr' are not equivalent"
+msgstr ""
+"il numero di specifiche di formato in `msgid' e `msgstr' non corrispondono"
+
+#: src/format-python.c:391
+#, fuzzy
+msgid ""
+"format specifications in 'msgid' expect a mapping, those in 'msgstr' expect "
+"a tuple"
+msgstr ""
+"il numero di specifiche di formato in `msgid' e `msgstr' non corrispondono"
+
+#: src/format-python.c:399
+#, fuzzy
+msgid ""
+"format specifications in 'msgid' expect a tuple, those in 'msgstr' expect a "
+"mapping"
+msgstr ""
+"il numero di specifiche di formato in `msgid' e `msgstr' non corrispondono"
+
+#: src/format-python.c:422
+#, fuzzy, c-format
+msgid "a format specification for argument '%s' doesn't exist in 'msgid'"
+msgstr "le specifiche di formato per l'argomento %u non sono le stesse"
+
+#: src/format-python.c:432
+#, fuzzy, c-format
+msgid "a format specification for argument '%s' doesn't exist in 'msgstr'"
+msgstr "le specifiche di formato per l'argomento %u non sono le stesse"
+
+#: src/format-python.c:446
+#, fuzzy, c-format
+msgid ""
+"format specifications in 'msgid' and 'msgstr' for argument '%s' are not the "
+"same"
+msgstr "le specifiche di formato per l'argomento %u non sono le stesse"
+
+#: src/format-ycp.c:137
+#, fuzzy, c-format
+msgid "a format specification for argument %u doesn't exist in 'msgstr'"
+msgstr "le specifiche di formato per l'argomento %u non sono le stesse"
+
+#: src/format-ycp.c:138
+#, fuzzy, c-format
+msgid "a format specification for argument %u doesn't exist in 'msgid'"
+msgstr "le specifiche di formato per l'argomento %u non sono le stesse"
+
+#: src/gettext.c:146 src/hostname.c:168 src/msgattrib.c:264 src/msgcat.c:229
+#: src/msgcmp.c:134 src/msgcomm.c:232 src/msgconv.c:182 src/msgen.c:171
+#: src/msgexec.c:240 src/msgfmt.c:333 src/msggrep.c:276 src/msginit.c:247
+#: src/msgmerge.c:252 src/msgunfmt.c:182 src/msguniq.c:207 src/ngettext.c:126
+#: src/xgettext.c:352
 #, c-format, no-wrap
 msgid ""
 "Copyright (C) %s Free Software Foundation, Inc.\n"
@@ -96,30 +244,47 @@ msgstr ""
 "NON c'è nessuna garanzia; neppure di COMMERCIABILITÀ o di IDONEITÀ AD UN\n"
 "PARTICOLARE SCOPO.\n"
 
-#: src/gettext.c:145 src/msgcmp.c:145 src/msgcomm.c:284 src/msgfmt.c:275
-#: src/msgmerge.c:260 src/msgunfmt.c:175 src/ngettext.c:125 src/xgettext.c:393
+#: src/gettext.c:151 src/hostname.c:173 src/msgattrib.c:269 src/msgcat.c:234
+#: src/msgcmp.c:139 src/msgcomm.c:237 src/msgconv.c:187 src/msgen.c:176
+#: src/msgexec.c:245 src/msgfmt.c:338 src/msggrep.c:281 src/msginit.c:252
+#: src/msgmerge.c:257 src/msgunfmt.c:187 src/msguniq.c:212 src/ngettext.c:131
+#: src/xgettext.c:357
 #, c-format
 msgid "Written by %s.\n"
 msgstr "Scritto da %s.\n"
 
-#: src/gettext.c:163 src/ngettext.c:137
+#: src/gettext.c:169 src/hostname.c:183 src/msginit.c:262 src/ngettext.c:143
 msgid "too many arguments"
 msgstr "troppi argomenti"
 
-#: src/gettext.c:173 src/ngettext.c:149
+#: src/gettext.c:179 src/ngettext.c:155
 msgid "missing arguments"
 msgstr "mancano degli argomenti"
 
-#: src/gettext.c:245 src/msgcmp.c:177 src/msgcomm.c:377 src/msgfmt.c:387
-#: src/msgmerge.c:315 src/msgunfmt.c:205 src/ngettext.c:204 src/xgettext.c:515
+#: src/gettext.c:251 src/hostname.c:197 src/msgattrib.c:322 src/msgcat.c:290
+#: src/msgcmp.c:171 src/msgcomm.c:306 src/msgconv.c:241 src/msgen.c:227
+#: src/msgexec.c:338 src/msgfmt.c:479 src/msggrep.c:371 src/msginit.c:338
+#: src/msgmerge.c:367 src/msgunfmt.c:262 src/msguniq.c:269 src/ngettext.c:210
+#: src/xgettext.c:499
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "Usare `%s --help' per ulteriori informazioni.\n"
 
-#: src/gettext.c:250
+#: src/gettext.c:256
 #, c-format, no-wrap
 msgid ""
-"Usage: %s [OPTION] [[[TEXTDOMAIN] MSGID] | [-s [MSGID]...]]\n"
+"Usage: %s [OPTION] [[TEXTDOMAIN] MSGID]\n"
+"or:    %s [OPTION] -s [MSGID]...\n"
+msgstr ""
+
+#: src/gettext.c:262
+#, no-wrap
+msgid "Display native language translation of a textual message.\n"
+msgstr ""
+
+#: src/gettext.c:266
+#, fuzzy, no-wrap
+msgid ""
 "  -d, --domain=TEXTDOMAIN   retrieve translated messages from TEXTDOMAIN\n"
 "  -e                        enable expansion of some escape sequences\n"
 "  -E                        (ignored for compatibility)\n"
@@ -140,10 +305,9 @@ msgstr ""
 "  [DOMINIOTESTO] MSGID       recupera da DOMINIOTESTO i messaggi tradotti\n"
 "                             corrispondenti a MSGID\n"
 
-#: src/gettext.c:262
-#, c-format, no-wrap
+#: src/gettext.c:277
+#, fuzzy, c-format, no-wrap
 msgid ""
-"\n"
 "If the TEXTDOMAIN parameter is not given, the domain is determined from the\n"
 "environment variable TEXTDOMAIN.  If the message catalog is not found in the\n"
 "regular directory, another location can be specified with the environment\n"
@@ -163,423 +327,1014 @@ msgstr ""
 "catalogo selezionato.\n"
 "Directory di ricerca standard: %s\n"
 
-#: src/gettext.c:272 src/msgcmp.c:196 src/msgcomm.c:424 src/msgfmt.c:414
-#: src/msgmerge.c:350 src/msgunfmt.c:229 src/ngettext.c:228 src/xgettext.c:565
-msgid "Report bugs to <bug-gnu-utils@gnu.org>.\n"
+#: src/gettext.c:288 src/hostname.c:227 src/msgattrib.c:402 src/msgcat.c:371
+#: src/msgcmp.c:216 src/msgcomm.c:384 src/msgconv.c:305 src/msgen.c:287
+#: src/msgexec.c:410 src/msgfmt.c:563 src/msggrep.c:457 src/msginit.c:389
+#: src/msgmerge.c:465 src/msgunfmt.c:331 src/msguniq.c:343 src/ngettext.c:244
+#: src/xgettext.c:591
+#, fuzzy
+msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
 msgstr "Segnalare i bug a <bug-gnu-utils@gnu.org>.\n"
 
-#: src/msgcmp.c:156 src/msgmerge.c:271
-msgid "no input files given"
-msgstr "non sono specificati file d'ingresso"
+#: src/hostname.c:202 src/msginit.c:343
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION]\n"
+msgstr ""
 
-#: src/msgcmp.c:161 src/msgmerge.c:276
-msgid "exactly 2 input files required"
-msgstr "sono richiesti esattamente 2 file d'ingresso"
+#: src/hostname.c:207
+#, no-wrap
+msgid "Print the machine's hostname.\n"
+msgstr ""
 
-#: src/msgcmp.c:182
-#, c-format, no-wrap
+#: src/hostname.c:212
+#, no-wrap
 msgid ""
-"Usage: %s [OPTION] def.po ref.po\n"
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"Output format:\n"
+"  -s, --short           short host name\n"
+"  -f, --fqdn, --long    long host name, includes fully qualified domain name,\n"
+"                          and aliases\n"
+"  -i, --ip-address      addresses for the hostname\n"
+msgstr ""
+
+#: src/hostname.c:221 src/msgattrib.c:396 src/msgcmp.c:210 src/msgconv.c:299
+#: src/msgen.c:281 src/msgexec.c:404 src/msggrep.c:451 src/msginit.c:383
+#, no-wrap
+msgid ""
+"Informative output:\n"
 "  -h, --help                  display this help and exit\n"
 "  -V, --version               output version information and exit\n"
-"\n"
-"Compare two Uniforum style .po files to check that both contain the same\n"
-"set of msgid strings.  The def.po file is an existing PO file with the\n"
-"old translations.  The ref.po file is the last created PO file\n"
-"(generally by xgettext).  This is useful for checking that you have\n"
-"translated each and every message in your program.  Where an exact match\n"
-"cannot be found, fuzzy matching is used to produce better diagnostics.\n"
 msgstr ""
-"Uso: %s [OPZIONE] def.po ref.po\n"
-"Gli argomenti obbligatori per le opzioni lunghe lo sono anche per quelle corte.\n"
-"  -D, --directory=DIRECTORY   aggiunge DIRECTORY alla lista di ricerca dei\n"
-"                              file d'ingresso\n"
-"  -h, --help                  mostra questo aiuto ed esce\n"
-"  -V, --version               mostra informazioni sulla versione ed esce\n"
-"\n"
-"Confronta due file .po in stile Uniforum per verificare che entrambi\n"
-"contengano lo stesso insieme di stringhe msgid.  Il file def.po è un file PO\n"
-"già esistente che contiene le vecchie traduzioni.  Il file ref.po è un file\n"
-"PO più recente (creato generalmente con xgettext). È utile per verificare\n"
-"che sia stato tradotto ognuno dei messaggi del proprio programma.  Quando\n"
-"non è possibile trovare una corrispondenza esatta, sono usate le\n"
-"corrispondenze approssimative (fuzzy) per produrre diagnostiche migliori.\n"
 
-#: src/msgcmp.c:255 src/msgmerge.c:741
-msgid "this message is used but not defined..."
-msgstr "questo messaggio è usato ma non definito..."
+#: src/hostname.c:242 src/hostname.c:249
+msgid "could not get host name"
+msgstr ""
 
-#: src/msgcmp.c:257 src/msgmerge.c:743
-msgid "...but this definition is similar"
-msgstr "...ma questa definizione è simile"
+#: src/msgattrib.c:284 src/msgconv.c:202 src/msgexec.c:190 src/msggrep.c:296
+#: src/msginit.c:205 src/msguniq.c:227
+msgid "at most one input file allowed"
+msgstr ""
 
-#: src/msgcmp.c:263 src/msgmerge.c:770
+#: src/msgattrib.c:290 src/msgattrib.c:294 src/msgcat.c:244 src/msgcat.c:248
+#: src/msgcomm.c:247 src/msgcomm.c:251 src/msgconv.c:208 src/msgconv.c:212
+#: src/msgen.c:198 src/msgen.c:202 src/msgexec.c:260 src/msgexec.c:264
+#: src/msgfmt.c:358 src/msggrep.c:302 src/msggrep.c:306 src/msgmerge.c:282
+#: src/msgmerge.c:303 src/msgmerge.c:307 src/msguniq.c:233 src/msguniq.c:237
+#: src/xgettext.c:367 src/xgettext.c:371
 #, c-format
-msgid "this message is used but not defined in %s"
-msgstr "questo messaggio è usato ma non è definito in %s"
+msgid "%s and %s are mutually exclusive"
+msgstr "%s e %s sono mutuamente esclusive"
 
-#: src/msgcmp.c:277
-msgid "warning: this message is not used"
-msgstr "attenzione: questo messaggio non è usato"
+#: src/msgattrib.c:327 src/msgconv.c:246 src/msggrep.c:376 src/msguniq.c:274
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] [INPUTFILE]\n"
+msgstr ""
 
-#: src/msgcmp.c:283 src/po-lex.c:103
-#, fuzzy, c-format
-msgid "found %d fatal error"
-msgid_plural "found %d fatal errors"
-msgstr[0] "trovati %d errori fatali"
+#: src/msgattrib.c:332
+#, no-wrap
+msgid ""
+"Filters the messages of a translation catalog according to their attributes,\n"
+"and manipulates the attributes.\n"
+msgstr ""
 
-#: src/msgcmp.c:356 src/msgfmt.c:667 src/msgmerge.c:512 src/xgettext.c:1157
-msgid "duplicate message definition"
-msgstr "definizione del messaggio duplicata"
+#: src/msgattrib.c:338 src/msgcat.c:313 src/msgcmp.c:191 src/msgcomm.c:328
+#: src/msgconv.c:256 src/msgen.c:245 src/msgexec.c:353 src/msgfmt.c:494
+#: src/msggrep.c:387 src/msginit.c:354 src/msgmerge.c:390 src/msgunfmt.c:277
+#: src/msguniq.c:291
+#, no-wrap
+msgid "Mandatory arguments to long options are mandatory for short options too.\n"
+msgstr ""
 
-#: src/msgcmp.c:357 src/msgfmt.c:669 src/msgmerge.c:513 src/xgettext.c:1158
-msgid "...this is the location of the first definition"
-msgstr "...questa è la posizione della prima definizione"
+#: src/msgattrib.c:343 src/msgconv.c:261 src/msggrep.c:392 src/msguniq.c:296
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  INPUTFILE                   input PO file\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"If no input file is given or if it is -, standard input is read.\n"
+msgstr ""
 
-#: src/msgcmp.c:397 src/msgmerge.c:561
-#, c-format
-msgid "this message has no definition in the \"%s\" domain"
-msgstr "questo messaggio non ha definizione nel dominio \"%s\""
+#: src/msgattrib.c:351 src/msgconv.c:269 src/msgen.c:258 src/msgexec.c:366
+#: src/msggrep.c:400 src/msgmerge.c:412
+#, no-wrap
+msgid ""
+"Output file location:\n"
+"  -o, --output-file=FILE      write output to specified file\n"
+"The results are written to standard output if no output file is specified\n"
+"or if it is -.\n"
+msgstr ""
 
-#. We are about to construct the absolute path to the
-#. directory for the output files but asprintf failed.
-#: src/msgcomm.c:235 src/xgettext.c:327 src/xgettext.c:1353
-msgid "while preparing output"
-msgstr "durante la preparazione dell'output"
+#: src/msgattrib.c:359
+#, no-wrap
+msgid ""
+"Message selection:\n"
+"      --translated            keep translated, remove untranslated messages\n"
+"      --untranslated          keep untranslated, remove translated messages\n"
+"      --no-fuzzy              remove 'fuzzy' marked messages\n"
+"      --only-fuzzy            keep 'fuzzy' marked messages\n"
+"      --no-obsolete           remove obsolete #~ messages\n"
+"      --only-obsolete         keep obsolete #~ messages\n"
+msgstr ""
 
-#: src/msgcomm.c:267 src/msgcomm.c:271 src/xgettext.c:365 src/xgettext.c:369
-#, c-format
-msgid "%s and %s are mutually exclusive"
-msgstr "%s e %s sono mutuamente esclusive"
+#: src/msgattrib.c:370
+#, no-wrap
+msgid ""
+"Attribute manipulation:\n"
+"      --set-fuzzy             set all messages 'fuzzy'\n"
+"      --clear-fuzzy           set all messages non-'fuzzy'\n"
+"      --set-obsolete          set all messages obsolete\n"
+"      --clear-obsolete        set all messages non-obsolete\n"
+"      --fuzzy                 synonym for --only-fuzzy --clear-fuzzy\n"
+"      --obsolete              synonym for --only-obsolete --clear-obsolete\n"
+msgstr ""
 
-#: src/msgcomm.c:323
-msgid "at least two files must be specified"
-msgstr "devono essere specificati almeno due file"
+#: src/msgattrib.c:381
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
+"  -e, --no-escape             do not use C escapes in output (default)\n"
+"  -E, --escape                use C escapes in output, no extended chars\n"
+"      --force-po              write PO file even if empty\n"
+"  -i, --indent                write the .po file using indented style\n"
+"      --no-location           do not write '#: filename:line' lines\n"
+"  -n, --add-location          generate '#: filename:line' lines (default)\n"
+"      --strict                write out strict Uniforum conforming .po file\n"
+"  -w, --width=NUMBER          set output page width\n"
+"  -s, --sort-output           generate sorted output\n"
+"  -F, --sort-by-file          sort output by file location\n"
+msgstr ""
+"Uso: %s [OPZIONE] def.po ref.po\n"
+"Gli argomenti obbligatori per le opzioni lunghe lo sono anche per quelle corte.\n"
+"  -D, --directory=DIRECTORY   aggiunge DIRECTORY alla lista per la ricerca\n"
+"                              dei file d'ingresso\n"
+"  -e, --no-escape             non usa le sequenze di escape del C nell'output\n"
+"                              (predefinito)\n"
+"  -E, --escape                usa le le sequenze di escape del C nell'output,\n"
+"                              niente caratteri estesi\n"
+"      --force-po              scrive il file PO anche se vuoto\n"
+"  -h, --help                  mostra questo aiuto ed esce\n"
+"  -i, --indent                stile di uscita indentato\n"
+"  -o, --output-file=FILE      il risultato sarà scritto su FILE\n"
+"      --no-location           sopprime le righe '#: nomefile:riga'\n"
+"      --add-location          conserva le righe '#: nomefile:riga'\n"
+"                              (predefinito)\n"
+"      --strict                stile d'uscita Uniforum rigoroso\n"
+"  -v, --verbose               incrementa il livello di verbosità\n"
+"  -V, --version               mostra informazioni sulla versione ed esce\n"
+"  -w, --width=NUMERO          imposta la larghezza della pagina d'uscita\n"
 
-#: src/msgcomm.c:334
+#: src/msgcat.c:254 src/msgcomm.c:277
 #, c-format
 msgid "impossible selection criteria specified (%d < n < %d)"
 msgstr "il criterio di selezione specificato è impossibile (%d < n < %d)"
 
-#: src/msgcomm.c:382
+#: src/msgcat.c:295 src/msgcomm.c:311 src/xgettext.c:504
 #, c-format, no-wrap
-msgid ""
-"Usage: %s [OPTION] INPUTFILE ...\n"
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"  -d, --default-domain=NAME      use NAME.po for output (instead of messages.po)\n"
-"  -D, --directory=DIRECTORY      add DIRECTORY to list for input files search\n"
-"  -e, --no-escape                do not use C escapes in output (default)\n"
-"  -E, --escape                   use C escapes in output, no extended chars\n"
-"  -f, --files-from=FILE          get list of input files from FILE\n"
-"      --force-po                 write PO file even if empty\n"
-"  -F, --sort-by-file             sort output by file location\n"
-"  -h, --help                     display this help and exit\n"
-msgstr ""
-"Uso: %s [OPZIONE] INPUTFILE ...\n"
-"Gli argomenti obbligatori per le opzioni lunghe lo sono pure per quelle corte.\n"
-"  -d, --default-domain=NOME      usa NOME.po per l'output (invece di\n"
-"                                 messages.po)\n"
-"  -D, --directory=DIRECTORY      aggiunge DIRECTORY all'elenco di ricerca dei\n"
-"                                 file d'ingresso\n"
-"  -e, --no-escape                non usa le sequenze di escape del C\n"
-"                                 nell'output (predefinito)\n"
-"  -E, --escape                   usa le sequenze di escape del C nell'output,\n"
-"                                 nessun carattere esteso\n"
-"  -f, --files-from=FILE          ottiene l'elenco dei file di input da FILE\n"
-"      --force-po                 scrive il file PO anche se vuoto\n"
-"  -F, --sort-by-file             ordina l'output per posizione nel file\n"
-"  -h, --help                     mostra questo aiuto ed esce\n"
-
-#: src/msgcomm.c:394
-msgid ""
-"  -i, --indent                   write the .po file using indented style\n"
-"      --no-location              do not write '#: filename:line' lines\n"
-"  -n, --add-location             generate '#: filename:line' lines "
-"(default)\n"
-"      --omit-header              don't write header with `msgid \"\"' entry\n"
-"  -o, --output=FILE              write output to specified file\n"
-"  -p, --output-dir=DIR           output files will be placed in directory "
-"DIR\n"
-"  -s, --sort-output              generate sorted output and remove "
-"duplicates\n"
-"      --strict                   write out strict Uniforum conforming .po "
-"file\n"
-"  -T, --trigraphs                understand ANSI C trigraphs for input\n"
-"  -u, --unique                   shorthand for --less-than=2, requests\n"
-"                                 that only unique messages be printed\n"
+msgid "Usage: %s [OPTION] [INPUTFILE]...\n"
 msgstr ""
-"  -i, --indent                   scrive il file .po usando lo stile "
-"indentato\n"
-"      --no-location              non scrive le righe '#: nomefile:riga'\n"
-"  -n, --add-location             genera le righe '#: nomefile:riga'\n"
-"                                 (predefinito)\n"
-"      --omit-header              non scrive le intestazioni con voci `msgid "
-"\"\"'\n"
-"  -o, --output=FILE              scrive l'output nel file specificato\n"
-"  -p, --output-dir=DIR           i file di output saranno messi nella\n"
-"                                 directory DIR\n"
-"  -s, --sort-output              genera un output ordinato e rimuove "
-"duplicati\n"
-"      --strict                   genera un .po conforme allo Uniforum "
-"rigoroso\n"
-"  -T, --trigraphs                interpreta i trigrammi ANSI C in input\n"
-"  -u, --unique                   abbreviazione per --less-than=2, richiede "
-"che\n"
-"                                 siano mostrati solo i messaggi unici\n"
-
-#: src/msgcomm.c:407
+
+#: src/msgcat.c:300
+#, fuzzy, no-wrap
 msgid ""
-"  -V, --version                  output version information and exit\n"
-"  -w, --width=NUMBER             set output page width\n"
-"  -<, --less-than=NUMBER         print messages with less than this many\n"
-"                                 definitions, defaults to infinite if not\n"
-"                                 set\n"
-"  ->, --more-than=NUMBER         print messages with more than this many\n"
-"                                 definitions, defaults to 1 if not set\n"
-"\n"
+"Concatenates and merges the specified PO files.\n"
 "Find messages which are common to two or more of the specified PO files.\n"
 "By using the --more-than option, greater commonality may be requested\n"
 "before messages are printed.  Conversely, the --less-than option may be\n"
 "used to specify less commonality before messages are printed (i.e.\n"
 "--less-than=2 will only print the unique messages).  Translations,\n"
-"comments and extract comments will be preserved, but only from the first\n"
-"PO file to define them.  File positions from all PO files will be\n"
-"preserved.\n"
+"comments and extract comments will be cumulated, except that if --use-first\n"
+"is specified, they will be taken from the first PO file to define them.\n"
+"File positions from all PO files will be cumulated.\n"
 msgstr ""
 "  -V, --version                  mostra informazioni sulla versione ed esce\n"
-"  -w, --width=NUMERO             imposta la larghezza della pagina di "
-"output\n"
-"  -<, --less-than=NUMERO         mostra i messaggi con meno di questo NUMERO "
-"di\n"
+"  -w, --width=NUMERO             imposta la larghezza della pagina di output\n"
+"  -<, --less-than=NUMERO         mostra i messaggi con meno di questo NUMERO di\n"
 "                                 definizioni, per default infinito se non\n"
 "                                 specificato\n"
-"  ->, --more-than=NUMERO         mostra i messaggi con più di questo NUMERO "
-"di\n"
-"                                 definizioni, per default 1 se non "
-"specificato\n"
+"  ->, --more-than=NUMERO         mostra i messaggi con più di questo NUMERO di\n"
+"                                 definizioni, per default 1 se non specificato\n"
 "\n"
-"Trova i messaggi comuni a due o più dei file PO specificati. Usando "
-"l'opzione\n"
+"Trova i messaggi comuni a due o più dei file PO specificati. Usando l'opzione\n"
 "--more-than potrebbe essere necessaria una elevata similitudine prima che\n"
 "possa essere mostrato qualche messaggio.  Viceversa, l'opzione --less-than\n"
-"può essere usata per specificare la minima similitudine necessaria prima "
-"che\n"
+"può essere usata per specificare la minima similitudine necessaria prima che\n"
 "venga stampato un messaggio (i.e. --less-than=2 mostrerà solo i messaggi\n"
-"unici).  Saranno conservate traduzioni, commenti e commenti di estrazione "
-"ma\n"
-"solamente dal primo file PO che li definisce.  Saranno conservate le "
-"posizioni\n"
+"unici).  Saranno conservate traduzioni, commenti e commenti di estrazione ma\n"
+"solamente dal primo file PO che li definisce.  Saranno conservate le posizioni\n"
 "nei file di tutti i file PO.\n"
 
-#: src/msgcomm.c:458 src/msgunfmt.c:361 src/po-lex.c:86 src/xget-lex.c:157
-#: src/xget-lex.c:170 src/xget-lex.c:180 src/xgettext.c:599
-#, c-format
-msgid "error while opening \"%s\" for reading"
-msgstr "errore durante l'apertura in lettura di \"%s\""
-
-#: src/msgcomm.c:539 src/xgettext.c:641 src/xgettext.c:1059
-msgid "this file may not contain domain directives"
-msgstr "questo file potrebbe non contenere direttive di dominio"
+#: src/msgcat.c:318 src/msgcomm.c:333 src/xgettext.c:520
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  INPUTFILE ...                  input files\n"
+"  -f, --files-from=FILE          get list of input files from FILE\n"
+"  -D, --directory=DIRECTORY      add DIRECTORY to list for input files search\n"
+"If input file is -, standard input is read.\n"
+msgstr ""
 
-#: src/msgfmt.c:286 src/xgettext.c:404
-msgid "no input file given"
-msgstr "non è specificato nessun file d'ingresso"
+#: src/msgcat.c:327 src/msgcomm.c:342 src/msguniq.c:304
+#, no-wrap
+msgid ""
+"Output file location:\n"
+"  -o, --output-file=FILE         write output to specified file\n"
+"The results are written to standard output if no output file is specified\n"
+"or if it is -.\n"
+msgstr ""
 
-#: src/msgfmt.c:337
-#, c-format
-msgid "error while opening \"%s\" for writing"
-msgstr "errore durante l'apertura in scrittura di \"%s\""
+#: src/msgcat.c:335
+#, fuzzy, no-wrap
+msgid ""
+"Message selection:\n"
+"  -<, --less-than=NUMBER         print messages with less than this many\n"
+"                                 definitions, defaults to infinite if not\n"
+"                                 set\n"
+"  ->, --more-than=NUMBER         print messages with more than this many\n"
+"                                 definitions, defaults to 0 if not set\n"
+"  -u, --unique                   shorthand for --less-than=2, requests\n"
+"                                 that only unique messages be printed\n"
+msgstr ""
+"  -V, --version                  mostra informazioni sulla versione ed esce\n"
+"  -w, --width=NUMERO             imposta la larghezza della pagina di output\n"
+"  -<, --less-than=NUMERO         mostra i messaggi con meno di questo NUMERO di\n"
+"                                 definizioni, per default infinito se non\n"
+"                                 specificato\n"
+"  ->, --more-than=NUMERO         mostra i messaggi con più di questo NUMERO di\n"
+"                                 definizioni, per default 1 se non specificato\n"
+"\n"
+"Trova i messaggi comuni a due o più dei file PO specificati. Usando l'opzione\n"
+"--more-than potrebbe essere necessaria una elevata similitudine prima che\n"
+"possa essere mostrato qualche messaggio.  Viceversa, l'opzione --less-than\n"
+"può essere usata per specificare la minima similitudine necessaria prima che\n"
+"venga stampato un messaggio (i.e. --less-than=2 mostrerà solo i messaggi\n"
+"unici).  Saranno conservate traduzioni, commenti e commenti di estrazione ma\n"
+"solamente dal primo file PO che li definisce.  Saranno conservate le posizioni\n"
+"nei file di tutti i file PO.\n"
+
+#: src/msgcat.c:347 src/msguniq.c:319
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
+"  -t, --to-code=NAME             encoding for output\n"
+"      --use-first                use first available translation for each\n"
+"                                 message, don't merge several translations\n"
+"  -e, --no-escape                do not use C escapes in output (default)\n"
+"  -E, --escape                   use C escapes in output, no extended chars\n"
+"      --force-po                 write PO file even if empty\n"
+"  -i, --indent                   write the .po file using indented style\n"
+"      --no-location              do not write '#: filename:line' lines\n"
+"  -n, --add-location             generate '#: filename:line' lines (default)\n"
+"      --strict                   write out strict Uniforum conforming .po file\n"
+"  -w, --width=NUMBER             set output page width\n"
+"  -s, --sort-output              generate sorted output\n"
+"  -F, --sort-by-file             sort output by file location\n"
+msgstr ""
+"Uso: %s [OPZIONE] def.po ref.po\n"
+"Gli argomenti obbligatori per le opzioni lunghe lo sono anche per quelle corte.\n"
+"  -D, --directory=DIRECTORY   aggiunge DIRECTORY alla lista per la ricerca\n"
+"                              dei file d'ingresso\n"
+"  -e, --no-escape             non usa le sequenze di escape del C nell'output\n"
+"                              (predefinito)\n"
+"  -E, --escape                usa le le sequenze di escape del C nell'output,\n"
+"                              niente caratteri estesi\n"
+"      --force-po              scrive il file PO anche se vuoto\n"
+"  -h, --help                  mostra questo aiuto ed esce\n"
+"  -i, --indent                stile di uscita indentato\n"
+"  -o, --output-file=FILE      il risultato sarà scritto su FILE\n"
+"      --no-location           sopprime le righe '#: nomefile:riga'\n"
+"      --add-location          conserva le righe '#: nomefile:riga'\n"
+"                              (predefinito)\n"
+"      --strict                stile d'uscita Uniforum rigoroso\n"
+"  -v, --verbose               incrementa il livello di verbosità\n"
+"  -V, --version               mostra informazioni sulla versione ed esce\n"
+"  -w, --width=NUMERO          imposta la larghezza della pagina d'uscita\n"
+
+#: src/msgcat.c:365 src/msgcomm.c:378 src/msguniq.c:337 src/xgettext.c:585
+#, no-wrap
+msgid ""
+"Informative output:\n"
+"  -h, --help                     display this help and exit\n"
+"  -V, --version                  output version information and exit\n"
+msgstr ""
+
+#: src/msgcmp.c:150 src/msgmerge.c:268
+msgid "no input files given"
+msgstr "non sono specificati file d'ingresso"
+
+#: src/msgcmp.c:155 src/msgmerge.c:273
+msgid "exactly 2 input files required"
+msgstr "sono richiesti esattamente 2 file d'ingresso"
+
+#: src/msgcmp.c:176 src/msgmerge.c:372
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] def.po ref.pot\n"
+msgstr ""
+
+#: src/msgcmp.c:181
+#, fuzzy, no-wrap
+msgid ""
+"Compare two Uniforum style .po files to check that both contain the same\n"
+"set of msgid strings.  The def.po file is an existing PO file with the\n"
+"translations.  The ref.pot file is the last created PO file, or a PO Template\n"
+"file (generally created by xgettext).  This is useful for checking that\n"
+"you have translated each and every message in your program.  Where an exact\n"
+"match cannot be found, fuzzy matching is used to produce better diagnostics.\n"
+msgstr ""
+"Uso: %s [OPZIONE] def.po ref.po\n"
+"Gli argomenti obbligatori per le opzioni lunghe lo sono anche per quelle corte.\n"
+"  -D, --directory=DIRECTORY   aggiunge DIRECTORY alla lista di ricerca dei\n"
+"                              file d'ingresso\n"
+"  -h, --help                  mostra questo aiuto ed esce\n"
+"  -V, --version               mostra informazioni sulla versione ed esce\n"
+"\n"
+"Confronta due file .po in stile Uniforum per verificare che entrambi\n"
+"contengano lo stesso insieme di stringhe msgid.  Il file def.po è un file PO\n"
+"già esistente che contiene le vecchie traduzioni.  Il file ref.po è un file\n"
+"PO più recente (creato generalmente con xgettext). È utile per verificare\n"
+"che sia stato tradotto ognuno dei messaggi del proprio programma.  Quando\n"
+"non è possibile trovare una corrispondenza esatta, sono usate le\n"
+"corrispondenze approssimative (fuzzy) per produrre diagnostiche migliori.\n"
+
+#: src/msgcmp.c:196
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  def.po                      translations\n"
+"  ref.pot                     references to the sources\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+msgstr ""
 
-#: src/msgfmt.c:360
+#: src/msgcmp.c:204 src/msgmerge.c:436
+#, no-wrap
+msgid ""
+"Operation modifiers:\n"
+"  -m, --multi-domain          apply ref.pot to each of the domains in def.po\n"
+msgstr ""
+
+#: src/msgcmp.c:253 src/msgmerge.c:543
+msgid "this message is used but not defined..."
+msgstr "questo messaggio è usato ma non definito..."
+
+#: src/msgcmp.c:255 src/msgmerge.c:545
+msgid "...but this definition is similar"
+msgstr "...ma questa definizione è simile"
+
+#: src/msgcmp.c:260 src/msgmerge.c:572
+#, c-format
+msgid "this message is used but not defined in %s"
+msgstr "questo messaggio è usato ma non è definito in %s"
+
+#: src/msgcmp.c:332
+msgid "warning: this message is not used"
+msgstr "attenzione: questo messaggio non è usato"
+
+#: src/msgcmp.c:339 src/po-lex.c:705
+#, fuzzy, c-format
+msgid "found %d fatal error"
+msgid_plural "found %d fatal errors"
+msgstr[0] "trovati %d errori fatali"
+
+#: src/msgcmp.c:420 src/msgfmt.c:1323 src/read-po.c:202 src/x-po.c:163
+msgid "duplicate message definition"
+msgstr "definizione del messaggio duplicata"
+
+#: src/msgcmp.c:421 src/msgfmt.c:1324 src/read-po.c:203 src/x-po.c:164
+msgid "...this is the location of the first definition"
+msgstr "...questa è la posizione della prima definizione"
+
+#: src/msgcomm.c:266
+msgid "at least two files must be specified"
+msgstr "devono essere specificati almeno due file"
+
+#: src/msgcomm.c:316
+#, fuzzy, no-wrap
+msgid ""
+"Find messages which are common to two or more of the specified PO files.\n"
+"By using the --more-than option, greater commonality may be requested\n"
+"before messages are printed.  Conversely, the --less-than option may be\n"
+"used to specify less commonality before messages are printed (i.e.\n"
+"--less-than=2 will only print the unique messages).  Translations,\n"
+"comments and extract comments will be preserved, but only from the first\n"
+"PO file to define them.  File positions from all PO files will be\n"
+"cumulated.\n"
+msgstr ""
+"  -V, --version                  mostra informazioni sulla versione ed esce\n"
+"  -w, --width=NUMERO             imposta la larghezza della pagina di output\n"
+"  -<, --less-than=NUMERO         mostra i messaggi con meno di questo NUMERO di\n"
+"                                 definizioni, per default infinito se non\n"
+"                                 specificato\n"
+"  ->, --more-than=NUMERO         mostra i messaggi con più di questo NUMERO di\n"
+"                                 definizioni, per default 1 se non specificato\n"
+"\n"
+"Trova i messaggi comuni a due o più dei file PO specificati. Usando l'opzione\n"
+"--more-than potrebbe essere necessaria una elevata similitudine prima che\n"
+"possa essere mostrato qualche messaggio.  Viceversa, l'opzione --less-than\n"
+"può essere usata per specificare la minima similitudine necessaria prima che\n"
+"venga stampato un messaggio (i.e. --less-than=2 mostrerà solo i messaggi\n"
+"unici).  Saranno conservate traduzioni, commenti e commenti di estrazione ma\n"
+"solamente dal primo file PO che li definisce.  Saranno conservate le posizioni\n"
+"nei file di tutti i file PO.\n"
+
+#: src/msgcomm.c:350
+#, fuzzy, no-wrap
+msgid ""
+"Message selection:\n"
+"  -<, --less-than=NUMBER         print messages with less than this many\n"
+"                                 definitions, defaults to infinite if not\n"
+"                                 set\n"
+"  ->, --more-than=NUMBER         print messages with more than this many\n"
+"                                 definitions, defaults to 1 if not set\n"
+"  -u, --unique                   shorthand for --less-than=2, requests\n"
+"                                 that only unique messages be printed\n"
+msgstr ""
+"  -V, --version                  mostra informazioni sulla versione ed esce\n"
+"  -w, --width=NUMERO             imposta la larghezza della pagina di output\n"
+"  -<, --less-than=NUMERO         mostra i messaggi con meno di questo NUMERO di\n"
+"                                 definizioni, per default infinito se non\n"
+"                                 specificato\n"
+"  ->, --more-than=NUMERO         mostra i messaggi con più di questo NUMERO di\n"
+"                                 definizioni, per default 1 se non specificato\n"
+"\n"
+"Trova i messaggi comuni a due o più dei file PO specificati. Usando l'opzione\n"
+"--more-than potrebbe essere necessaria una elevata similitudine prima che\n"
+"possa essere mostrato qualche messaggio.  Viceversa, l'opzione --less-than\n"
+"può essere usata per specificare la minima similitudine necessaria prima che\n"
+"venga stampato un messaggio (i.e. --less-than=2 mostrerà solo i messaggi\n"
+"unici).  Saranno conservate traduzioni, commenti e commenti di estrazione ma\n"
+"solamente dal primo file PO che li definisce.  Saranno conservate le posizioni\n"
+"nei file di tutti i file PO.\n"
+
+#: src/msgcomm.c:362
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
+"  -e, --no-escape                do not use C escapes in output (default)\n"
+"  -E, --escape                   use C escapes in output, no extended chars\n"
+"      --force-po                 write PO file even if empty\n"
+"  -i, --indent                   write the .po file using indented style\n"
+"      --no-location              do not write '#: filename:line' lines\n"
+"  -n, --add-location             generate '#: filename:line' lines (default)\n"
+"      --strict                   write out strict Uniforum conforming .po file\n"
+"  -w, --width=NUMBER             set output page width\n"
+"  -s, --sort-output              generate sorted output\n"
+"  -F, --sort-by-file             sort output by file location\n"
+"      --omit-header              don't write header with `msgid \"\"' entry\n"
+msgstr ""
+"Uso: %s [OPZIONE] def.po ref.po\n"
+"Gli argomenti obbligatori per le opzioni lunghe lo sono anche per quelle corte.\n"
+"  -D, --directory=DIRECTORY   aggiunge DIRECTORY alla lista per la ricerca\n"
+"                              dei file d'ingresso\n"
+"  -e, --no-escape             non usa le sequenze di escape del C nell'output\n"
+"                              (predefinito)\n"
+"  -E, --escape                usa le le sequenze di escape del C nell'output,\n"
+"                              niente caratteri estesi\n"
+"      --force-po              scrive il file PO anche se vuoto\n"
+"  -h, --help                  mostra questo aiuto ed esce\n"
+"  -i, --indent                stile di uscita indentato\n"
+"  -o, --output-file=FILE      il risultato sarà scritto su FILE\n"
+"      --no-location           sopprime le righe '#: nomefile:riga'\n"
+"      --add-location          conserva le righe '#: nomefile:riga'\n"
+"                              (predefinito)\n"
+"      --strict                stile d'uscita Uniforum rigoroso\n"
+"  -v, --verbose               incrementa il livello di verbosità\n"
+"  -V, --version               mostra informazioni sulla versione ed esce\n"
+"  -w, --width=NUMERO          imposta la larghezza della pagina d'uscita\n"
+
+#: src/msgconv.c:251
+#, no-wrap
+msgid "Converts a translation catalog to a different character encoding.\n"
+msgstr ""
+
+#: src/msgconv.c:277
+#, no-wrap
+msgid ""
+"Conversion target:\n"
+"  -t, --to-code=NAME          encoding for output\n"
+"The default encoding is the current locale's encoding.\n"
+msgstr ""
+
+#: src/msgconv.c:284 src/msgen.c:266 src/msgmerge.c:442
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
+"  -e, --no-escape             do not use C escapes in output (default)\n"
+"  -E, --escape                use C escapes in output, no extended chars\n"
+"      --force-po              write PO file even if empty\n"
+"  -i, --indent                indented output style\n"
+"      --no-location           suppress '#: filename:line' lines\n"
+"      --add-location          preserve '#: filename:line' lines (default)\n"
+"      --strict                strict Uniforum output style\n"
+"  -w, --width=NUMBER          set output page width\n"
+"  -s, --sort-output           generate sorted output\n"
+"  -F, --sort-by-file          sort output by file location\n"
+msgstr ""
+"Uso: %s [OPZIONE] def.po ref.po\n"
+"Gli argomenti obbligatori per le opzioni lunghe lo sono anche per quelle corte.\n"
+"  -D, --directory=DIRECTORY   aggiunge DIRECTORY alla lista per la ricerca\n"
+"                              dei file d'ingresso\n"
+"  -e, --no-escape             non usa le sequenze di escape del C nell'output\n"
+"                              (predefinito)\n"
+"  -E, --escape                usa le le sequenze di escape del C nell'output,\n"
+"                              niente caratteri estesi\n"
+"      --force-po              scrive il file PO anche se vuoto\n"
+"  -h, --help                  mostra questo aiuto ed esce\n"
+"  -i, --indent                stile di uscita indentato\n"
+"  -o, --output-file=FILE      il risultato sarà scritto su FILE\n"
+"      --no-location           sopprime le righe '#: nomefile:riga'\n"
+"      --add-location          conserva le righe '#: nomefile:riga'\n"
+"                              (predefinito)\n"
+"      --strict                stile d'uscita Uniforum rigoroso\n"
+"  -v, --verbose               incrementa il livello di verbosità\n"
+"  -V, --version               mostra informazioni sulla versione ed esce\n"
+"  -w, --width=NUMERO          imposta la larghezza della pagina d'uscita\n"
+
+#: src/msgen.c:187 src/msgfmt.c:349 src/xgettext.c:388
+msgid "no input file given"
+msgstr "non è specificato nessun file d'ingresso"
+
+#: src/msgen.c:192
+#, fuzzy
+msgid "exactly one input file required"
+msgstr "sono richiesti esattamente 2 file d'ingresso"
+
+#: src/msgen.c:232
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] INPUTFILE\n"
+msgstr ""
+
+#: src/msgen.c:237
+#, no-wrap
+msgid ""
+"Creates an English translation catalog.  The input file is the last\n"
+"created English PO file, or a PO Template file (generally created by\n"
+"xgettext).  Untranslated entries are assigned a translation that is\n"
+"identical to the msgid, and are marked fuzzy.\n"
+msgstr ""
+
+#: src/msgen.c:250
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  INPUTFILE                   input PO or POT file\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"If input file is -, standard input is read.\n"
+msgstr ""
+
+#: src/msgexec.c:255
+#, fuzzy
+msgid "missing filter name"
+msgstr "mancano degli argomenti"
+
+#: src/msgexec.c:279
+#, fuzzy
+msgid "at least one sed script must be specified"
+msgstr "devono essere specificati almeno due file"
+
+#: src/msgexec.c:343
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] FILTER [FILTER-OPTION]\n"
+msgstr ""
+
+#: src/msgexec.c:348
+#, no-wrap
+msgid "Applies a filter to all translations of a translation catalog.\n"
+msgstr ""
+
+#: src/msgexec.c:358
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  -i, --input=INPUTFILE       input PO file\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"If no input file is given or if it is -, standard input is read.\n"
+msgstr ""
+
+#: src/msgexec.c:374
+#, no-wrap
+msgid ""
+"The FILTER can be any program that reads a translation from standard input\n"
+"and writes a modified translation to standard output.\n"
+msgstr ""
+
+#: src/msgexec.c:380
+#, no-wrap
+msgid ""
+"Useful FILTER-OPTIONs when the FILTER is 'sed':\n"
+"  -e, --expression=SCRIPT     add SCRIPT to the commands to be executed\n"
+"  -f, --file=SCRIPTFILE       add the contents of SCRIPTFILE to the commands\n"
+"                                to be executed\n"
+"  -n, --quiet, --silent       suppress automatic printing of pattern space\n"
+msgstr ""
+
+#: src/msgexec.c:389
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
+"      --no-escape             do not use C escapes in output (default)\n"
+"  -E, --escape                use C escapes in output, no extended chars\n"
+"      --force-po              write PO file even if empty\n"
+"      --indent                indented output style\n"
+"      --no-location           suppress '#: filename:line' lines\n"
+"      --add-location          preserve '#: filename:line' lines (default)\n"
+"      --strict                strict Uniforum output style\n"
+"  -w, --width=NUMBER          set output page width\n"
+"  -s, --sort-output           generate sorted output\n"
+"  -F, --sort-by-file          sort output by file location\n"
+msgstr ""
+"Uso: %s [OPZIONE] def.po ref.po\n"
+"Gli argomenti obbligatori per le opzioni lunghe lo sono anche per quelle corte.\n"
+"  -D, --directory=DIRECTORY   aggiunge DIRECTORY alla lista per la ricerca\n"
+"                              dei file d'ingresso\n"
+"  -e, --no-escape             non usa le sequenze di escape del C nell'output\n"
+"                              (predefinito)\n"
+"  -E, --escape                usa le le sequenze di escape del C nell'output,\n"
+"                              niente caratteri estesi\n"
+"      --force-po              scrive il file PO anche se vuoto\n"
+"  -h, --help                  mostra questo aiuto ed esce\n"
+"  -i, --indent                stile di uscita indentato\n"
+"  -o, --output-file=FILE      il risultato sarà scritto su FILE\n"
+"      --no-location           sopprime le righe '#: nomefile:riga'\n"
+"      --add-location          conserva le righe '#: nomefile:riga'\n"
+"                              (predefinito)\n"
+"      --strict                stile d'uscita Uniforum rigoroso\n"
+"  -v, --verbose               incrementa il livello di verbosità\n"
+"  -V, --version               mostra informazioni sulla versione ed esce\n"
+"  -w, --width=NUMERO          imposta la larghezza della pagina d'uscita\n"
+
+#: src/msgexec.c:546
+#, c-format
+msgid "cannot set up nonblocking I/O to %s subprocess"
+msgstr ""
+
+#: src/msgexec.c:574
+#, c-format
+msgid "communication with %s subprocess failed"
+msgstr ""
+
+#: src/msgexec.c:594
+#, c-format
+msgid "write to %s subprocess failed"
+msgstr ""
+
+#: src/msgexec.c:625
+#, c-format
+msgid "read from %s subprocess failed"
+msgstr ""
+
+#: src/msgexec.c:641
+#, c-format
+msgid "%s subprocess terminated with exit code %d"
+msgstr ""
+
+#: src/msgfmt.c:303
+#, c-format
+msgid "the argument to %s should be a single punctuation character"
+msgstr ""
+
+#: src/msgfmt.c:364
+#, c-format
+msgid "%s requires a \"-d directory\" specification"
+msgstr ""
+
+#: src/msgfmt.c:373 src/msgfmt.c:379 src/msgfmt.c:385 src/msgmerge.c:290
+#: src/msgmerge.c:296 src/msgunfmt.c:209 src/msgunfmt.c:215
+#, c-format
+msgid "%s is only valid with %s"
+msgstr ""
+
+#: src/msgfmt.c:452
 #, fuzzy, c-format
 msgid "%d translated message"
 msgid_plural "%d translated messages"
 msgstr[0] "%d messaggi tradotti"
 
-#: src/msgfmt.c:365
+#: src/msgfmt.c:457
 #, fuzzy, c-format
 msgid ", %d fuzzy translation"
 msgid_plural ", %d fuzzy translations"
 msgstr[0] ", %d traduzioni approssimative"
 
-#: src/msgfmt.c:370
+#: src/msgfmt.c:462
 #, fuzzy, c-format
 msgid ", %d untranslated message"
 msgid_plural ", %d untranslated messages"
 msgstr[0] ", %d messaggi non tradotti"
 
-#: src/msgfmt.c:392
+#: src/msgfmt.c:484
 #, c-format, no-wrap
+msgid "Usage: %s [OPTION] filename.po ...\n"
+msgstr ""
+
+#: src/msgfmt.c:489
+#, no-wrap
+msgid "Generate binary message catalog from textual translation description.\n"
+msgstr ""
+
+#: src/msgfmt.c:499
+#, no-wrap
 msgid ""
-"Usage: %s [OPTION] filename.po ...\n"
-"Generate binary message catalog from textual translation description.\n"
-"\n"
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"  -a, --alignment=NUMBER      align strings to NUMBER bytes (default: %d)\n"
-"  -c, --check                 perform language dependent checks on strings\n"
+"Input file location:\n"
+"  filename.po ...             input files\n"
 "  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"If input file is -, standard input is read.\n"
+msgstr ""
+
+#: src/msgfmt.c:507
+#, no-wrap
+msgid ""
+"Operation mode:\n"
+"  -j, --java                  Java mode: generate a Java ResourceBundle class\n"
+"      --java2                 like --java, and assume Java2 (JDK 1.2 or higher)\n"
+msgstr ""
+
+#: src/msgfmt.c:514
+#, no-wrap
+msgid ""
+"Output file location:\n"
+"  -o, --output-file=FILE      write output to specified file\n"
+"      --strict                enable strict Uniforum mode\n"
+"If output file is -, output is written to standard output.\n"
+msgstr ""
+
+#: src/msgfmt.c:522
+#, no-wrap
+msgid ""
+"Output file location in Java mode:\n"
+"  -r, --resource=RESOURCE     resource name\n"
+"  -l, --locale=LOCALE         locale name, either language or language_COUNTRY\n"
+"  -d DIRECTORY                base directory of classes directory hierarchy\n"
+"The class name is determined by appending the locale name to the resource name,\n"
+"separated with an underscore.  The -d option is mandatory.  The class is\n"
+"written under the specified directory.\n"
+msgstr ""
+
+#: src/msgfmt.c:533
+#, no-wrap
+msgid ""
+"Input file interpretation:\n"
+"  -c, --check                 perform all the checks implied by\n"
+"                                --check-format, --check-header, --check-domain\n"
+"      --check-format          check language dependent format strings\n"
+"      --check-header          verify presence and contents of the header entry\n"
+"      --check-domain          check for conflicts between domain directives\n"
+"                                and the --output-file option\n"
+"  -C, --check-compatibility   check that GNU msgfmt behaves like X/Open msgfmt\n"
+"      --check-accelerators[=CHAR]  check presence of keyboard accelerators for\n"
+"                                menu items\n"
 "  -f, --use-fuzzy             use fuzzy entries in output\n"
-"  -h, --help                  display this help and exit\n"
+msgstr ""
+
+#: src/msgfmt.c:548
+#, c-format, no-wrap
+msgid ""
+"Output details:\n"
+"  -a, --alignment=NUMBER      align strings to NUMBER bytes (default: %d)\n"
 "      --no-hash               binary file will not include the hash table\n"
-"  -o, --output-file=FILE      specify output file name as FILE\n"
-"      --statistics            print statistics about translations\n"
-"      --strict                enable strict Uniforum mode\n"
-"  -v, --verbose               list input file anomalies\n"
+msgstr ""
+
+#: src/msgfmt.c:555
+#, no-wrap
+msgid ""
+"Informative output:\n"
+"  -h, --help                  display this help and exit\n"
 "  -V, --version               output version information and exit\n"
-"\n"
-"Giving the -v option more than once increases the verbosity level.\n"
-"\n"
-"If input file is -, standard input is read.  If output file is -,\n"
-"output is written to standard output.\n"
+"      --statistics            print statistics about translations\n"
+"  -v, --verbose               increase verbosity level\n"
 msgstr ""
-"Uso: %s [OPZIONE] nomefile.po ...\n"
-"Genera il catalogo binario dei messaggi dalla descrizione testuale della\n"
-"traduzione.\n"
-"\n"
-"Gli argomenti obbligatori per le opzioni lunghe lo sono anche per quelle corte.\n"
-"  -a, --alignment=NUMERO      allinea le stringhe a NUMERO byte (default: %d)\n"
-"  -c, --check                 effettua sulle stringhe una verifica dipendente\n"
-"                              dalla lingua\n"
-"  -D, --directory=DIRECTORY   aggiunge DIRECTORY alla lista di ricerca dei \n"
-"                              file d'ingresso\n"
-"  -f, --use-fuzzy             usa le voci approssimative nell'uscita\n"
-"  -h, --help                  mostra questo aiuto ed esce\n"
-"      --no-hash               il file binario non conterrà la tabella di hash\n"
-"  -o, --output-file=FILE      specifica FILE come nome del file d'uscita\n"
-"      --statistics            mostra le statistiche sulle traduzioni\n"
-"      --strict                abilita la modalità Uniforum rigorosa\n"
-"  -v, --verbose               elenca le anomalie del file d'ingresso\n"
-"  -V, --version               mostra informazioni sulla versione ed esce\n"
-"\n"
-"Dando più volte l'opzione -v si incrementa il livello di verbosità.\n"
-"\n"
-"Se il file d'ingresso è -, legge lo standard input.  Se il file d'uscita \n"
-"è -, scrive l'output sullo standard output.\n"
 
-#: src/msgfmt.c:435
-msgid "while creating hash table"
-msgstr "durante la creazione della tabella hash"
+#: src/msgfmt.c:707
+msgid "plural expression can produce negative values"
+msgstr ""
 
-#: src/msgfmt.c:479
+#: src/msgfmt.c:720
 #, c-format
+msgid "nplurals = %lu but plural expression can produce values as large as %lu"
+msgstr ""
+
+#: src/msgfmt.c:746
+msgid "plural expression can produce division by zero"
+msgstr ""
+
+#: src/msgfmt.c:751
+msgid "plural expression can produce integer overflow"
+msgstr ""
+
+#: src/msgfmt.c:756
 msgid ""
-"%s: warning: PO file header missing, fuzzy, or invalid\n"
-"%*s  warning: charset conversion will not work"
+"plural expression can produce arithmetic exceptions, possibly division by "
+"zero"
+msgstr ""
+
+#: src/msgfmt.c:830 src/msgfmt.c:841
+msgid "message catalog has plural form translations..."
+msgstr ""
+
+#: src/msgfmt.c:833
+msgid "...but header entry lacks a \"plural=EXPRESSION\" attribute"
 msgstr ""
 
-#: src/msgfmt.c:503
+#: src/msgfmt.c:844
+msgid "...but header entry lacks a \"nplurals=INTEGER\" attribute"
+msgstr ""
+
+#: src/msgfmt.c:868
+#, fuzzy
+msgid "invalid nplurals value"
+msgstr "sequenza di controllo illegale"
+
+#: src/msgfmt.c:881
+msgid "invalid plural expression"
+msgstr ""
+
+#: src/msgfmt.c:899 src/msgfmt.c:912
 #, c-format
-msgid "domain name \"%s\" not suitable as file name"
-msgstr "il nome di dominio \"%s\" non è adatto come nome di file"
+msgid "nplurals = %lu..."
+msgstr ""
+
+#: src/msgfmt.c:902
+#, c-format
+msgid "...but some messages have only %lu plural forms"
+msgstr ""
+
+#: src/msgfmt.c:915
+#, c-format
+msgid "...but some messages have %lu plural forms"
+msgstr ""
+
+#: src/msgfmt.c:930
+msgid ""
+"message catalog has plural form translations, but lacks a header entry with "
+"\"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\""
+msgstr ""
+
+#: src/msgfmt.c:968
+#, fuzzy
+msgid "`msgid' and `msgid_plural' entries do not both begin with '\\n'"
+msgstr "le voci `msgid' e `msgstr' non cominciano entrambe con `\\n'"
+
+#: src/msgfmt.c:978
+#, fuzzy, c-format
+msgid "`msgid' and `msgstr[%u]' entries do not both begin with '\\n'"
+msgstr "le voci `msgid' e `msgstr' non cominciano entrambe con `\\n'"
+
+#: src/msgfmt.c:990
+msgid "`msgid' and `msgstr' entries do not both begin with '\\n'"
+msgstr "le voci `msgid' e `msgstr' non cominciano entrambe con `\\n'"
+
+#: src/msgfmt.c:1007
+#, fuzzy
+msgid "`msgid' and `msgid_plural' entries do not both end with '\\n'"
+msgstr "le voci `msgid' e `msgstr' non finiscono entrambe con `\\n'"
+
+#: src/msgfmt.c:1017
+#, fuzzy, c-format
+msgid "`msgid' and `msgstr[%u]' entries do not both end with '\\n'"
+msgstr "le voci `msgid' e `msgstr' non finiscono entrambe con `\\n'"
+
+#: src/msgfmt.c:1029
+msgid "`msgid' and `msgstr' entries do not both end with '\\n'"
+msgstr "le voci `msgid' e `msgstr' non finiscono entrambe con `\\n'"
+
+#: src/msgfmt.c:1041
+msgid "plural handling is a GNU gettext extension"
+msgstr ""
 
-#: src/msgfmt.c:508
+#: src/msgfmt.c:1088
 #, c-format
-msgid "domain name \"%s\" not suitable as file name: will use prefix"
+msgid "'msgstr' is not a valid %s format string, unlike 'msgid'"
 msgstr ""
-"il nome di dominio \"%s\" non è adatto come nome di file: sarà usato\n"
-"un prefisso"
 
-#. We don't change the exit status here because this is really
-#. only an information.
-#: src/msgfmt.c:521
+#: src/msgfmt.c:1122
 #, c-format
-msgid "`domain %s' directive ignored"
-msgstr "`domain %s' direttiva ignorata"
-
-#: src/msgfmt.c:551
-msgid "empty `msgstr' entry ignored"
-msgstr "ignorata la voce `msgstr' vuota"
+msgid "msgstr lacks the keyboard accelerator mark '%c'"
+msgstr ""
 
-#: src/msgfmt.c:552
-msgid "fuzzy `msgstr' entry ignored"
-msgstr "ignorata la voce `msgstr' approssimativa"
+#: src/msgfmt.c:1130
+#, c-format
+msgid "msgstr has too many keyboard accelerator marks '%c'"
+msgstr ""
 
-#: src/msgfmt.c:594
+#: src/msgfmt.c:1164
 #, c-format
 msgid "headerfield `%s' missing in header"
 msgstr "nell'intestazione manca il campo `%s'"
 
-#: src/msgfmt.c:597
+#: src/msgfmt.c:1167
 #, c-format
 msgid "header field `%s' should start at beginning of line"
 msgstr ""
 "il campo `%s' dell'intestazione dovrebbe cominciare all'inizio della riga"
 
-#: src/msgfmt.c:607
+#: src/msgfmt.c:1176
 msgid "some header fields still have the initial default value"
 msgstr ""
 "alcuni campi dell'intestazione sono ancora al valore iniziale predefinito"
 
-#: src/msgfmt.c:618
+#: src/msgfmt.c:1187
 #, c-format
 msgid "field `%s' still has initial default value"
 msgstr "il campo `%s' ha ancora il valore iniziale predefinito"
 
-#: src/msgfmt.c:708
+#: src/msgfmt.c:1228
+msgid "warning: PO file header missing or invalid\n"
+msgstr ""
+
+#: src/msgfmt.c:1231
+msgid "warning: charset conversion will not work\n"
+msgstr ""
+
+#: src/msgfmt.c:1241
+msgid "warning: PO file header fuzzy\n"
+msgstr ""
+
+#: src/msgfmt.c:1243
+msgid "warning: older versions of msgfmt will give an error on this\n"
+msgstr ""
+
+#: src/msgfmt.c:1268
 #, c-format
-msgid "%s: warning: source file contains fuzzy translation"
-msgstr "%s: attenzione: il file sorgente contiene traduzioni approssimative"
+msgid "domain name \"%s\" not suitable as file name"
+msgstr "il nome di dominio \"%s\" non è adatto come nome di file"
 
-#: src/msgfmt.c:930
-#, fuzzy
-msgid "`msgid' and `msgid_plural' entries do not both begin with '\\n'"
-msgstr "le voci `msgid' e `msgstr' non cominciano entrambe con `\\n'"
+#: src/msgfmt.c:1273
+#, c-format
+msgid "domain name \"%s\" not suitable as file name: will use prefix"
+msgstr ""
+"il nome di dominio \"%s\" non è adatto come nome di file: sarà usato\n"
+"un prefisso"
 
-#: src/msgfmt.c:938
-#, fuzzy, c-format
-msgid "`msgid' and `msgstr[%u]' entries do not both begin with '\\n'"
-msgstr "le voci `msgid' e `msgstr' non cominciano entrambe con `\\n'"
+#: src/msgfmt.c:1284
+#, c-format
+msgid "`domain %s' directive ignored"
+msgstr "`domain %s' direttiva ignorata"
 
-#: src/msgfmt.c:948
-msgid "`msgid' and `msgstr' entries do not both begin with '\\n'"
-msgstr "le voci `msgid' e `msgstr' non cominciano entrambe con `\\n'"
+#: src/msgfmt.c:1356
+msgid "empty `msgstr' entry ignored"
+msgstr "ignorata la voce `msgstr' vuota"
 
-#: src/msgfmt.c:963
-#, fuzzy
-msgid "`msgid' and `msgid_plural' entries do not both end with '\\n'"
-msgstr "le voci `msgid' e `msgstr' non finiscono entrambe con `\\n'"
+#: src/msgfmt.c:1357
+msgid "fuzzy `msgstr' entry ignored"
+msgstr "ignorata la voce `msgstr' approssimativa"
 
-#: src/msgfmt.c:971
-#, fuzzy, c-format
-msgid "`msgid' and `msgstr[%u]' entries do not both end with '\\n'"
-msgstr "le voci `msgid' e `msgstr' non finiscono entrambe con `\\n'"
+#: src/msgfmt.c:1426
+#, c-format
+msgid "%s: warning: source file contains fuzzy translation"
+msgstr "%s: attenzione: il file sorgente contiene traduzioni approssimative"
 
-#: src/msgfmt.c:981
-msgid "`msgid' and `msgstr' entries do not both end with '\\n'"
-msgstr "le voci `msgid' e `msgstr' non finiscono entrambe con `\\n'"
+#: src/msggrep.c:359
+#, c-format
+msgid "option '%c' cannot be used before 'K' or 'T' has been specified"
+msgstr ""
 
-#: src/msgfmt.c:997
-msgid "number of format specifications in `msgid' and `msgstr' does not match"
+#: src/msggrep.c:381
+#, no-wrap
+msgid ""
+"Extracts all messages of a translation catalog that match a given pattern\n"
+"or belong to some given source files.\n"
 msgstr ""
-"il numero di specifiche di formato in `msgid' e `msgstr' non corrispondono"
 
-#: src/msgfmt.c:1014
-#, fuzzy, c-format
-msgid "format specifications for argument %lu are not the same"
-msgstr "le specifiche di formato per l'argomento %u non sono le stesse"
+#: src/msggrep.c:408
+#, no-wrap
+msgid ""
+"Message selection:\n"
+"  [-N SOURCEFILE]... [-M DOMAINNAME]... [-K MSGID-PATTERN] [-T MSGSTR-PATTERN]\n"
+"A message is selected if it comes from one of the specified source files,\n"
+"or if it comes from one of the specified domains,\n"
+"or if -K is given and its key (msgid or msgid_plural) matches MSGID-PATTERN,\n"
+"or if -T is given and its translation (msgstr) matches MSGSTR-PATTERN.\n"
+"\n"
+"When more than one selection criterion is specified, the set of selected\n"
+"messages is the union of the selected messages of each criterion.\n"
+"\n"
+"MSGID-PATTERN or MSGSTR-PATTERN syntax:\n"
+"  [-E | -F] [-e PATTERN | -f FILE]...\n"
+"PATTERNs are basic regular expressions by default, or extended regular\n"
+"expressions if -E is given, or fixed strings if -F is given.\n"
+"\n"
+"  -N, --location=SOURCEFILE   select messages extracted from SOURCEFILE\n"
+"  -M, --domain=DOMAINNAME     select messages belonging to domain DOMAINNAME\n"
+"  -K, --msgid                 start of patterns for the msgid\n"
+"  -T, --msgstr                start of patterns for the msgstr\n"
+"  -E, --extended-regexp       PATTERN is an extended regular expression\n"
+"  -F, --fixed-strings         PATTERN is a set of newline-separated strings\n"
+"  -e, --regexp=PATTERN        use PATTERN as a regular expression\n"
+"  -f, --file=FILE             obtain PATTERN from FILE\n"
+"  -i, --ignore-case           ignore case distinctions\n"
+msgstr ""
 
-#: src/msgmerge.c:320
-#, fuzzy, c-format, no-wrap
+#: src/msggrep.c:436
+#, fuzzy, no-wrap
 msgid ""
-"Usage: %s [OPTION] def.po ref.po\n"
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"  -C, --compendium=FILE       additional library of message translations,\n"
-"                              may be specified more than once\n"
-"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
-"  -e, --no-escape             do not use C escapes in output (default)\n"
-"  -E, --escape                use C escapes in output, no extended chars\n"
+"Output details:\n"
+"      --no-escape             do not use C escapes in output (default)\n"
+"      --escape                use C escapes in output, no extended chars\n"
 "      --force-po              write PO file even if empty\n"
-"  -h, --help                  display this help and exit\n"
-"  -i, --indent                indented output style\n"
-"  -o, --output-file=FILE      result will be written to FILE\n"
+"      --indent                indented output style\n"
 "      --no-location           suppress '#: filename:line' lines\n"
 "      --add-location          preserve '#: filename:line' lines (default)\n"
 "      --strict                strict Uniforum output style\n"
-"  -v, --verbose               increase verbosity level\n"
-"  -V, --version               output version information and exit\n"
 "  -w, --width=NUMBER          set output page width\n"
+"      --sort-output           generate sorted output\n"
+"      --sort-by-file          sort output by file location\n"
 msgstr ""
 "Uso: %s [OPZIONE] def.po ref.po\n"
 "Gli argomenti obbligatori per le opzioni lunghe lo sono anche per quelle corte.\n"
@@ -601,19 +1356,238 @@ msgstr ""
 "  -V, --version               mostra informazioni sulla versione ed esce\n"
 "  -w, --width=NUMERO          imposta la larghezza della pagina d'uscita\n"
 
-#: src/msgmerge.c:340
+#: src/msggrep.c:510
+msgid "write to grep subprocess failed"
+msgstr ""
+
+#: src/msginit.c:275
+msgid ""
+"You are in a language indifferent environment.  Please set\n"
+"your LANG environment variable, as described in the ABOUT-NLS\n"
+"file.  This is necessary so you can test your translations.\n"
+msgstr ""
+
+#: src/msginit.c:303
+#, c-format
+msgid ""
+"Output file %s already exists.\n"
+"Please specify the locale through the --locale option or\n"
+"the output .po file through the --output-file option.\n"
+msgstr ""
+
+#: src/msginit.c:326
+#, c-format
+msgid "Created %s.\n"
+msgstr ""
+
+#: src/msginit.c:348
 #, no-wrap
 msgid ""
-"\n"
+"Creates a new PO file, initializing the meta information with values from the\n"
+"user's environment.\n"
+msgstr ""
+
+#: src/msginit.c:359
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  -i, --input=INPUTFILE       input POT file\n"
+"If no input file is given, the current directory is searched for the POT file.\n"
+"If it is -, standard input is read.\n"
+msgstr ""
+
+#: src/msginit.c:367
+#, no-wrap
+msgid ""
+"Output file location:\n"
+"  -o, --output-file=FILE      write output to specified PO file\n"
+"If no output file is given, it depends on the --locale option or the user's\n"
+"locale setting.  If it is -, the results are written to standard output.\n"
+msgstr ""
+
+#: src/msginit.c:375
+#, no-wrap
+msgid ""
+"Output details:\n"
+"  -l, --locale=LL_CC          set target locale\n"
+"      --no-translator         assume the PO file is automatically generated\n"
+"  -w, --width=NUMBER          set output page width\n"
+msgstr ""
+
+#: src/msginit.c:426
+msgid ""
+"Found more than one .pot file.\n"
+"Please specify the input .pot file through the --input option.\n"
+msgstr ""
+
+#: src/msginit.c:434 src/msginit.c:439
+msgid "error reading current directory"
+msgstr ""
+
+#: src/msginit.c:447
+msgid ""
+"Found no .pot file in the current directory.\n"
+"Please specify the input .pot file through the --input option.\n"
+msgstr ""
+
+#: src/msginit.c:887 src/msginit.c:932 src/msginit.c:1070 src/msginit.c:1137
+#: src/read-java.c:80
+msgid "fdopen() failed"
+msgstr ""
+
+#: src/msginit.c:892 src/msginit.c:937 src/msginit.c:1075
+#, c-format
+msgid "%s subprocess I/O error"
+msgstr ""
+
+#: src/msginit.c:901 src/msginit.c:946 src/msginit.c:1084 src/msginit.c:1151
+#: src/read-java.c:90
+#, c-format
+msgid "%s subprocess failed with exit code %d"
+msgstr ""
+
+#: src/msginit.c:1060
+msgid ""
+"The new message catalog should contain your email address, so that users "
+"can\n"
+"give you feedback about the translations, and so that maintainers can "
+"contact\n"
+"you in case of unexpected technical problems.\n"
+msgstr ""
+
+#. TRANSLATORS: "English" needs to be replaced by your language.
+#. For example in it.po write "Traduzioni italiani ...",
+#. *not* "Traduzioni inglesi ...".
+#: src/msginit.c:1440
+#, c-format
+msgid "English translations for %s package"
+msgstr ""
+
+#: src/msgl-cat.c:173 src/msgl-charset.c:86 src/msgl-iconv.c:299
+#, c-format
+msgid "present charset \"%s\" is not a portable encoding name"
+msgstr ""
+
+#: src/msgl-cat.c:181 src/msgl-iconv.c:307
+#, c-format
+msgid "two different charsets \"%s\" and \"%s\" in input file"
+msgstr ""
+
+#: src/msgl-cat.c:194
+#, c-format
+msgid ""
+"input file `%s' doesn't contain a header entry with a charset specification"
+msgstr ""
+
+#: src/msgl-cat.c:198
+#, c-format
+msgid ""
+"domain \"%s\" in input file `%s' doesn't contain a header entry with a "
+"charset specification"
+msgstr ""
+
+#: src/msgl-cat.c:359 src/msgl-iconv.c:382
+#, c-format
+msgid "target charset \"%s\" is not a portable encoding name."
+msgstr ""
+
+#: src/msgl-cat.c:409 src/msgl-cat.c:415 src/msgl-charset.c:91
+#: src/msgl-charset.c:126 src/write-po.c:723 src/write-po.c:817
+msgid "warning: "
+msgstr ""
+
+#: src/msgl-cat.c:410
+msgid ""
+"Input files contain messages in different encodings, UTF-8 among others.\n"
+"Converting the output to UTF-8.\n"
+msgstr ""
+
+#: src/msgl-cat.c:416
+#, c-format
+msgid ""
+"Input files contain messages in different encodings, %s and %s among "
+"others.\n"
+"Converting the output to UTF-8.\n"
+"To select a different output encoding, use the --to-code option.\n"
+msgstr ""
+
+#: src/msgl-charset.c:92
+#, c-format
+msgid ""
+"Locale charset \"%s\" is different from\n"
+"input file charset \"%s\".\n"
+"Output of '%s' might be incorrect.\n"
+"Possible workarounds are:\n"
+msgstr ""
+
+#: src/msgl-charset.c:99
+#, c-format
+msgid "- Set LC_ALL to a locale with encoding %s.\n"
+msgstr ""
+
+#: src/msgl-charset.c:104
+#, c-format
+msgid ""
+"- Convert the translation catalog to %s using 'msgconv',\n"
+"  then apply '%s',\n"
+"  then convert back to %s using 'msgconv'.\n"
+msgstr ""
+
+#: src/msgl-charset.c:113
+#, c-format
+msgid ""
+"- Set LC_ALL to a locale with encoding %s,\n"
+"  convert the translation catalog to %s using 'msgconv',\n"
+"  then apply '%s',\n"
+"  then convert back to %s using 'msgconv'.\n"
+msgstr ""
+
+#: src/msgl-charset.c:127
+#, c-format
+msgid ""
+"Locale charset \"%s\" is not a portable encoding name.\n"
+"Output of '%s' might be incorrect.\n"
+"A possible workaround is to set LC_ALL=C.\n"
+msgstr ""
+
+#: src/msgl-iconv.c:200 src/msgl-iconv.c:254
+msgid "conversion failure"
+msgstr ""
+
+#: src/msgl-iconv.c:328
+msgid "input file doesn't contain a header entry with a charset specification"
+msgstr ""
+
+#: src/msgl-iconv.c:346
+#, c-format
+msgid ""
+"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(), and iconv() does "
+"not support this conversion."
+msgstr ""
+
+#: src/msgl-iconv.c:362
+#, c-format
+msgid ""
+"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(). This version was "
+"built without iconv()."
+msgstr ""
+
+#: src/msgmerge.c:340
+msgid "backup type"
+msgstr ""
+
+#: src/msgmerge.c:377
+#, fuzzy, no-wrap
+msgid ""
 "Merges two Uniforum style .po files together.  The def.po file is an\n"
-"existing PO file with the old translations which will be taken over to\n"
-"the newly created file as long as they still match; comments will be\n"
-"preserved, but extract comments and file positions will be discarded.\n"
-"The ref.po file is the last created PO file (generally by xgettext), any\n"
-"translations or comments in the file will be discarded, however dot\n"
+"existing PO file with translations which will be taken over to the newly\n"
+"created file as long as they still match; comments will be preserved,\n"
+"but extracted comments and file positions will be discarded.  The ref.pot\n"
+"file is the last created PO file with up-to-date source references but\n"
+"old translations, or a PO Template file (generally created by xgettext);\n"
+"any translations or comments in the file will be discarded, however dot\n"
 "comments and file positions will be preserved.  Where an exact match\n"
-"cannot be found, fuzzy matching is used to produce better results.  The\n"
-"results are written to stdout unless an output file is specified.\n"
+"cannot be found, fuzzy matching is used to produce better results.\n"
 msgstr ""
 "\n"
 "Fonde assieme due file .po in stile Uniforum.  Il file def.po è un file PO\n"
@@ -627,7 +1601,63 @@ msgstr ""
 "approssimativa (fuzzy) per ottenere risultati migliori. I risultati sono\n"
 "scritti su stdout a meno che non sia specificato un file d'uscita.\n"
 
-#: src/msgmerge.c:799
+#: src/msgmerge.c:395
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  def.po                      translations referring to old sources\n"
+"  ref.pot                     references to new sources\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"  -C, --compendium=FILE       additional library of message translations,\n"
+"                              may be specified more than once\n"
+msgstr ""
+
+#: src/msgmerge.c:405
+#, no-wrap
+msgid ""
+"Operation mode:\n"
+"  -U, --update                update def.po,\n"
+"                              do nothing if def.po already up to date\n"
+msgstr ""
+
+#: src/msgmerge.c:420
+#, no-wrap
+msgid ""
+"Output file location in update mode:\n"
+"The result is written back to def.po.\n"
+"      --backup=CONTROL        make a backup of def.po\n"
+"      --suffix=SUFFIX         override the usual backup suffix\n"
+"The version control method may be selected via the --backup option or through\n"
+"the VERSION_CONTROL environment variable.  Here are the values:\n"
+"  none, off       never make backups (even if --backup is given)\n"
+"  numbered, t     make numbered backups\n"
+"  existing, nil   numbered if numbered backups exist, simple otherwise\n"
+"  simple, never   always make simple backups\n"
+"The backup suffix is `~', unless set with --suffix or the SIMPLE_BACKUP_SUFFIX\n"
+"environment variable.\n"
+msgstr ""
+
+#: src/msgmerge.c:457
+#, no-wrap
+msgid ""
+"Informative output:\n"
+"  -h, --help                  display this help and exit\n"
+"  -V, --version               output version information and exit\n"
+"  -v, --verbose               increase verbosity level\n"
+"  -q, --quiet, --silent       suppress progress indicators\n"
+msgstr ""
+
+#: src/msgmerge.c:625
+#, fuzzy
+msgid "this message should define plural forms"
+msgstr "questo messaggio è usato ma non è definito in %s"
+
+#: src/msgmerge.c:648
+#, fuzzy
+msgid "this message should not define plural forms"
+msgstr "questo messaggio è usato ma non è definito in %s"
+
+#: src/msgmerge.c:779
 #, fuzzy, c-format
 msgid ""
 "%sRead %ld old + %ld reference, merged %ld, fuzzied %ld, missing %ld, "
@@ -636,24 +1666,70 @@ msgstr ""
 "%sLetti %d vecchi + %d riferimenti, fusi %d, fuzzy %d, persi %d, obsoleti %"
 "d.\n"
 
-#: src/msgmerge.c:806
+#: src/msgmerge.c:787
 msgid " done.\n"
 msgstr " fatto.\n"
 
-#: src/msgunfmt.c:210
+#: src/msgunfmt.c:201
+#, fuzzy, c-format
+msgid "%s and explicit file names are mutually exclusive"
+msgstr "%s e %s sono mutuamente esclusive"
+
+#: src/msgunfmt.c:267
 #, c-format, no-wrap
+msgid "Usage: %s [OPTION] [FILE]...\n"
+msgstr ""
+
+#: src/msgunfmt.c:272
+#, no-wrap
+msgid "Convert binary message catalog to Uniforum style .po file.\n"
+msgstr ""
+
+#: src/msgunfmt.c:282
+#, no-wrap
 msgid ""
-"Usage: %s [OPTION] [FILE]...\n"
-"Mandatory arguments to long options are mandatory for short options too.\n"
+"Operation mode:\n"
+"  -j, --java               Java mode: generate a Java ResourceBundle class\n"
+msgstr ""
+
+#: src/msgunfmt.c:288
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  FILE ...                 input .mo files\n"
+"If no input file is given or if it is -, standard input is read.\n"
+msgstr ""
+
+#: src/msgunfmt.c:295
+#, no-wrap
+msgid ""
+"Input file location in Java mode:\n"
+"  -r, --resource=RESOURCE  resource name\n"
+"  -l, --locale=LOCALE      locale name, either language or language_COUNTRY\n"
+"The class name is determined by appending the locale name to the resource name,\n"
+"separated with an underscore.  The class is located using the CLASSPATH.\n"
+msgstr ""
+
+#: src/msgunfmt.c:304
+#, no-wrap
+msgid ""
+"Output file location:\n"
+"  -o, --output-file=FILE   write output to specified file\n"
+"The results are written to standard output if no output file is specified\n"
+"or if it is -.\n"
+msgstr ""
+
+#: src/msgunfmt.c:312
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
 "  -e, --no-escape          do not use C escapes in output (default)\n"
 "  -E, --escape             use C escapes in output, no extended chars\n"
 "      --force-po           write PO file even if empty\n"
-"  -h, --help               display this help and exit\n"
 "  -i, --indent             write indented output style\n"
-"  -o, --output-file=FILE   write output into FILE instead of standard output\n"
 "      --strict             write strict uniforum style\n"
-"  -V, --version            output version information and exit\n"
 "  -w, --width=NUMBER       set output page width\n"
+"  -s, --sort-output        generate sorted output\n"
 msgstr ""
 "Uso: %s [OPZIONE] [FILE]...\n"
 "Gli argomenti obbligatori per le opzioni lunghe lo sono anche per quelle corte.\n"
@@ -670,50 +1746,51 @@ msgstr ""
 "  -V, --version            mostra informazioni sulla versione ed esce\n"
 "  -w, --width=NUMERO       imposta la larghezza della pagina d'uscita\n"
 
-#: src/msgunfmt.c:224
+#: src/msgunfmt.c:324
+#, no-wrap
+msgid ""
+"Informative output:\n"
+"  -h, --help               display this help and exit\n"
+"  -V, --version            output version information and exit\n"
+"  -v, --verbose            increase verbosity level\n"
+msgstr ""
+
+#: src/msguniq.c:279
 #, no-wrap
 msgid ""
-"\n"
-"Convert binary .mo files to Uniforum style .po files.\n"
-"Both little-endian and big-endian .mo files are handled.\n"
-"If no input file is given or it is -, standard input is read.\n"
-"By default the output is written to standard output.\n"
+"Unifies duplicate translations in a translation catalog.\n"
+"Finds duplicate translations of the same message ID.  Such duplicates are\n"
+"invalid input for other programs like msgfmt, msgmerge or msgcat.  By\n"
+"default, duplicates are merged together.  When using the --repeated option,\n"
+"only duplicates are output, and all other messages are discarded.  Comments\n"
+"and extracted comments will be cumulated, except that if --use-first is\n"
+"specified, they will be taken from the first translation.  File positions\n"
+"will be cumulated.  When using the --unique option, duplicates are discarded.\n"
 msgstr ""
-"\n"
-"Converte i file binari .mo nei file .po in stile Uniforum.\n"
-"Gestisce i file .mo sia in little-endian che in big-endian.\n"
-"Se il file d'ingresso è - o non è specificato, legge lo standard input.\n"
-"Se non specificato altrimenti, scrive l'output sullo standard output.\n"
-
-#: src/msgunfmt.c:261 src/msgunfmt.c:326 src/po-lex.c:216 src/xget-lex.c:243
-#, c-format
-msgid "error while reading \"%s\""
-msgstr "errore durante la lettura di \"%s\""
 
-#: src/msgunfmt.c:262 src/msgunfmt.c:327
-#, c-format
-msgid "file \"%s\" truncated"
-msgstr "file \"%s\" troncato"
-
-#: src/msgunfmt.c:293
-#, c-format
-msgid "seek \"%s\" offset %ld failed"
-msgstr "fallita ricerca di \"%s\" con offset %ld"
+#: src/msguniq.c:312
+#, no-wrap
+msgid ""
+"Message selection:\n"
+"  -d, --repeated                 print only duplicates\n"
+"  -u, --unique                   print only unique messages, discard duplicates\n"
+msgstr ""
 
-#: src/msgunfmt.c:332
-#, fuzzy, c-format
-msgid "file \"%s\" contains a not NUL terminated string"
-msgstr "il file \"%s\" non è nel formato GNU .mo"
+#: src/ngettext.c:215
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] [TEXTDOMAIN] MSGID MSGID-PLURAL COUNT\n"
+msgstr ""
 
-#: src/msgunfmt.c:377
-#, c-format
-msgid "file \"%s\" is not in GNU .mo format"
-msgstr "il file \"%s\" non è nel formato GNU .mo"
+#: src/ngettext.c:220
+#, no-wrap
+msgid ""
+"Display native language translation of a textual message whose grammatical\n"
+"form depends on a number.\n"
+msgstr ""
 
-#: src/ngettext.c:209
-#, fuzzy, c-format, no-wrap
+#: src/ngettext.c:225
+#, fuzzy, no-wrap
 msgid ""
-"Usage: %s [OPTION] [TEXTDOMAIN] MSGID MSGID-PLURAL COUNT\n"
 "  -d, --domain=TEXTDOMAIN   retrieve translated message from TEXTDOMAIN\n"
 "  -e                        enable expansion of some escape sequences\n"
 "  -E                        (ignored for compatibility)\n"
@@ -734,10 +1811,9 @@ msgstr ""
 "  [DOMINIOTESTO] MSGID       recupera da DOMINIOTESTO i messaggi tradotti\n"
 "                             corrispondenti a MSGID\n"
 
-#: src/ngettext.c:221
+#: src/ngettext.c:236
 #, fuzzy, c-format, no-wrap
 msgid ""
-"\n"
 "If the TEXTDOMAIN parameter is not given, the domain is determined from the\n"
 "environment variable TEXTDOMAIN.  If the message catalog is not found in the\n"
 "regular directory, another location can be specified with the environment\n"
@@ -754,117 +1830,187 @@ msgstr ""
 "catalogo selezionato.\n"
 "Directory di ricerca standard: %s\n"
 
-#: src/open-po.c:64
+#: src/open-po.c:69
 msgid "<stdin>"
 msgstr ""
 
-#: po-gram-gen.y:87
+#: src/po-charset.c:172 src/po-charset.c:240 src/po-charset.c:268
+#: src/po-charset.c:294
+#, c-format
+msgid "%s: warning: "
+msgstr ""
+
+#: src/po-charset.c:173
+#, c-format
+msgid ""
+"Charset \"%s\" is not a portable encoding name.\n"
+"Message conversion to user's charset might not work.\n"
+msgstr ""
+
+#: src/po-charset.c:236 src/po-charset.c:266
+msgid "Continuing anyway, expect parse errors."
+msgstr ""
+
+#: src/po-charset.c:238
+msgid "Continuing anyway."
+msgstr ""
+
+#: src/po-charset.c:241
+#, c-format
+msgid ""
+"Charset \"%s\" is not supported. %s relies on iconv(),\n"
+"and iconv() does not support \"%s\".\n"
+msgstr ""
+
+#: src/po-charset.c:250 src/po-charset.c:276
+msgid ""
+"Installing GNU libiconv and then reinstalling GNU gettext\n"
+"would fix this problem.\n"
+msgstr ""
+
+#: src/po-charset.c:255 src/po-charset.c:280
+#, c-format
+msgid "%s\n"
+msgstr ""
+
+#: src/po-charset.c:269
+#, c-format
+msgid ""
+"Charset \"%s\" is not supported. %s relies on iconv().\n"
+"This version was built without iconv().\n"
+msgstr ""
+
+#: src/po-charset.c:295
+msgid ""
+"Charset missing in header.\n"
+"Message conversion to user's charset will not work.\n"
+msgstr ""
+
+#: po-gram-gen.y:91
 msgid "inconsistent use of #~"
 msgstr ""
 
-#: po-gram-gen.y:168
+#: po-gram-gen.y:181
 #, fuzzy
 msgid "missing `msgstr[]' section"
 msgstr "manca la sezione `msgstr'"
 
-#: po-gram-gen.y:176
+#: po-gram-gen.y:189
 #, fuzzy
 msgid "missing `msgid_plural' section"
 msgstr "manca la sezione `msgstr'"
 
-#: po-gram-gen.y:183
+#: po-gram-gen.y:196
 msgid "missing `msgstr' section"
 msgstr "manca la sezione `msgstr'"
 
-#: po-gram-gen.y:228
+#: po-gram-gen.y:241
 msgid "first plural form has nonzero index"
 msgstr ""
 
-#: po-gram-gen.y:230
+#: po-gram-gen.y:243
 msgid "plural form has wrong index"
 msgstr ""
 
-#. CAUTION: If you change this macro, you must also make identical
-#. changes to the function of the same name in src/po-lex.c
-#: src/po-lex.c:159 src/po-lex.c:198 src/po-lex.h:85 src/po-lex.h:99
-#: src/po-lex.h:115 src/po-lex.h:129
+#: src/po-lex.h:91 src/po-lex.h:106 src/po-lex.h:126 src/po-lex.h:141
+#: src/po-lex.c:135 src/po-lex.c:176
 msgid "too many errors, aborting"
 msgstr "troppi errori, annullato"
 
-#: src/po-lex.c:274
+#: src/po-lex.c:545 src/write-po.c:331 src/write-po.c:421
+msgid "invalid multibyte sequence"
+msgstr ""
+
+#: src/po-lex.c:571
+msgid "incomplete multibyte sequence at end of file"
+msgstr ""
+
+#: src/po-lex.c:581
+msgid "incomplete multibyte sequence at end of line"
+msgstr ""
+
+#: src/po-lex.c:589
+msgid "iconv failure"
+msgstr ""
+
+#: src/po-lex.c:763 src/read-mo.c:70 src/read-mo.c:135 src/x-c.c:216
+#: src/x-rst.c:227 src/x-ycp.c:103
+#, c-format
+msgid "error while reading \"%s\""
+msgstr "errore durante la lettura di \"%s\""
+
+#: src/po-lex.c:829
 #, c-format
 msgid "keyword \"%s\" unknown"
 msgstr "la parola chiave \"%s\" è sconoscita"
 
-#: src/po-lex.c:377
+#: src/po-lex.c:939
 #, fuzzy
 msgid "invalid control sequence"
 msgstr "sequenza di controllo illegale"
 
-#: src/po-lex.c:480
+#: src/po-lex.c:1047
 msgid "end-of-file within string"
 msgstr "end-of-file all'interno di una stringa"
 
-#: src/po-lex.c:485
+#: src/po-lex.c:1053
 msgid "end-of-line within string"
 msgstr "end-of-line all'interno di una stringa"
 
-#: src/po-lex.c:528 src/write-po.c:285 src/write-po.c:367
-msgid "invalid multibyte sequence"
-msgstr ""
+#: src/read-mo.c:71 src/read-mo.c:136
+#, c-format
+msgid "file \"%s\" truncated"
+msgstr "file \"%s\" troncato"
 
-#: src/po.c:302 src/po.c:374 src/po.c:409 src/po.c:439
+#: src/read-mo.c:102
 #, c-format
-msgid "%s: warning: "
-msgstr ""
+msgid "seek \"%s\" offset %ld failed"
+msgstr "fallita ricerca di \"%s\" con offset %ld"
 
-#: src/po.c:303
+#: src/read-mo.c:141
+#, fuzzy, c-format
+msgid "file \"%s\" contains a not NUL terminated string"
+msgstr "il file \"%s\" non è nel formato GNU .mo"
+
+#: src/read-mo.c:186
 #, c-format
-msgid ""
-"Charset \"%s\" is not a portable encoding name.\n"
-"Message conversion to user's charset might not work.\n"
-msgstr ""
+msgid "file \"%s\" is not in GNU .mo format"
+msgstr "il file \"%s\" non è nel formato GNU .mo"
 
-#: src/po.c:370 src/po.c:405
-msgid "Continuing anyway, expect parse errors."
+#: src/write-java.c:1108
+msgid "cannot find a temporary directory, try setting $TMPDIR"
 msgstr ""
 
-#: src/po.c:372
-msgid "Continuing anyway."
-msgstr ""
+#: src/write-java.c:1118
+#, fuzzy, c-format
+msgid "cannot create a temporary directory using template \"%s\""
+msgstr "impossibile creare il file d'uscita \"%s\""
 
-#: src/po.c:375
+#: src/write-java.c:1131
 #, c-format
-msgid ""
-"Charset \"%s\" is not supported. %s relies on iconv(),\n"
-"and iconv() does not support \"%s\".\n"
-msgstr ""
-
-#: src/po.c:385 src/po.c:418
-msgid ""
-"Installing GNU libiconv and then reinstalling GNU gettext\n"
-"would fix this problem.\n"
+msgid "not a valid Java class name: %s"
 msgstr ""
 
-#: src/po.c:393 src/po.c:425
+#: src/write-java.c:1188 src/write-java.c:1201
 #, c-format
-msgid "%s\n"
+msgid "failed to create \"%s\""
 msgstr ""
 
-#: src/po.c:410
+#: src/write-java.c:1209 src/write-mo.c:289 src/write-po.c:966
 #, c-format
-msgid ""
-"Charset \"%s\" is not supported. %s relies on iconv().\n"
-"This version was built without iconv().\n"
-msgstr ""
+msgid "error while writing \"%s\" file"
+msgstr "errore durante la scrittura del file \"%s\""
 
-#: src/po.c:440
-msgid ""
-"Charset missing in header.\n"
-"Message conversion to user's charset will not work.\n"
+#: src/write-java.c:1223
+msgid "compilation of Java class failed, please try --verbose or set $JAVAC"
 msgstr ""
 
-#: src/write-po.c:316
+#: src/write-mo.c:277
+#, c-format
+msgid "error while opening \"%s\" for writing"
+msgstr "errore durante l'apertura in scrittura di \"%s\""
+
+#: src/write-po.c:370
 #, c-format
 msgid ""
 "internationalized messages should not contain the `\\%c' escape sequence"
@@ -872,173 +2018,473 @@ msgstr ""
 "i messaggi internazionalizzati non devono contenere la sequenza di escape `\\"
 "%c'"
 
-#: src/write-po.c:857
+#: src/write-po.c:724 src/write-po.c:818
+#, c-format
+msgid ""
+"The following msgid contains non-ASCII characters.\n"
+"This will cause problems to translators who use a character encoding\n"
+"different from yours. Consider using a pure ASCII msgid instead.\n"
+"%s\n"
+msgstr ""
+
+#: src/write-po.c:885
 #, c-format
 msgid "cannot create output file \"%s\""
 msgstr "impossibile creare il file d'uscita \"%s\""
 
-#: src/write-po.c:864
+#: src/write-po.c:892
 #, no-c-format
 msgid "standard output"
 msgstr "standard output"
 
-#: src/write-po.c:939
-#, c-format
-msgid "error while writing \"%s\" file"
-msgstr "errore durante la scrittura del file \"%s\""
-
-#: src/xget-lex.c:148
-msgid "standard input"
-msgstr "standard input"
-
-#: src/xget-lex.c:876
+#: src/x-c.c:858
 #, c-format
 msgid "%s:%d: warning: unterminated character constant"
 msgstr "%s:%d: attenzione: costante carattere non terminata"
 
-#: src/xget-lex.c:898
+#: src/x-c.c:882
 #, c-format
 msgid "%s:%d: warning: unterminated string literal"
 msgstr "%s:%d: attenzione: letterale stringa non terminato"
 
-#: src/xgettext.c:373
+#: src/x-po.c:106 src/xgettext.c:605
+msgid "this file may not contain domain directives"
+msgstr "questo file potrebbe non contenere direttive di dominio"
+
+#: src/x-rst.c:108
+#, c-format
+msgid "%s:%d: invalid string definition"
+msgstr ""
+
+#: src/x-rst.c:168
+#, c-format
+msgid "%s:%d: missing number after #"
+msgstr ""
+
+#: src/x-rst.c:203
+#, c-format
+msgid "%s:%d: invalid string expression"
+msgstr ""
+
+#: src/xgettext.c:375
 msgid "--join-existing cannot be used when output is written to stdout"
 msgstr ""
 "--join-existing non può essere usato quando l'output è scritto su stdout"
 
-#: src/xgettext.c:378
+#: src/xgettext.c:380
 msgid "xgettext cannot work without keywords to look for"
 msgstr ""
 
-#: src/xgettext.c:484
+#: src/xgettext.c:468
 #, c-format
 msgid "warning: file `%s' extension `%s' is unknown; will try C"
 msgstr "attenzione: il file `%s' ha estensione `%s' sconosciuta: proverò con C"
 
-#: src/xgettext.c:520
-#, c-format, no-wrap
+#: src/xgettext.c:509
+#, no-wrap
+msgid "Extract translatable strings from given input files.\n"
+msgstr ""
+
+#: src/xgettext.c:514
+#, no-wrap
 msgid ""
-"Usage: %s [OPTION] INPUTFILE ...\n"
-"Extract translatable string from given input files.\n"
-"\n"
 "Mandatory arguments to long options are mandatory for short options too.\n"
-"  -a, --extract-all              extract all strings\n"
-"  -c, --add-comments[=TAG]       place comment block with TAG (or those\n"
-"                                 preceding keyword lines) in output file\n"
-"  -C, --c++                      shorthand for --language=C++\n"
-"      --debug                    more detailed formatstring recognision result\n"
+"Similarly for optional arguments.\n"
+msgstr ""
+
+#: src/xgettext.c:529
+#, no-wrap
+msgid ""
+"Output file location:\n"
 "  -d, --default-domain=NAME      use NAME.po for output (instead of messages.po)\n"
-"  -D, --directory=DIRECTORY      add DIRECTORY to list for input files search\n"
-"  -e, --no-escape                do not use C escapes in output (default)\n"
-"  -E, --escape                   use C escapes in output, no extended chars\n"
-"  -f, --files-from=FILE          get list of input files from FILE\n"
-"      --force-po                 write PO file even if empty\n"
-"      --foreign-user             omit FSF copyright in output for foreign user\n"
-"  -F, --sort-by-file             sort output by file location\n"
+"  -o, --output=FILE              write output to specified file\n"
+"  -p, --output-dir=DIR           output files will be placed in directory DIR\n"
+"If output file is -, output is written to standard output.\n"
 msgstr ""
-"Uso: %s [OPZIONE] INPUTFILE ...\n"
-"Estrae le stringhe traducibili dai file d'ingresso specificati.\n"
-"\n"
-"Gli argomenti obbligatori per le opzioni lunghe lo sono anche per quelle corte.\n"
-"  -a, --extract-all              estrae tutte le stringhe\n"
-"  -c, --add-comments[=TAG]       aggiunge nel file d'uscita i blocchi commento\n"
-"                                 con TAG (e quelli che precedono righe di\n"
-"                                 parole chiave)\n"
-"  -C, --c++                      abbreviazione per --language=C++\n"
-"      --debug                    risultati più dettagliati del riconoscimento\n"
-"                                 delle stringhe formato\n"
-"  -d, --default-domain=NOME      usa NOME.po per l'uscita (invece di\n"
-"                                 messages.po)\n"
-"  -D, --directory=DIRECTORY      aggiunge DIRECTORY alla lista di ricerca dei\n"
-"                                 file d'ingresso\n"
-"  -e, --no-escape                non usa le sequenze di escape del C\n"
-"                                 nell'uscita (predefinito)\n"
-"  -E, --escape                   usa le sequenze di escape del C nell'uscita,\n"
-"                                 niente caratteri estesi\n"
-"  -f, --files-from=FILE          legge la lista dei file d'ingresso da FILE\n"
-"      --force-po                 scrive il file PO anche se vuoto\n"
-"      --foreign-user             omette il copyright FSF nell'uscita per gli\n"
-"                                 utenti stranieri\n"
-"  -F, --sort-by-file             ordina l'uscita per posizione nel file\n"
-
-#: src/xgettext.c:540
-#, fuzzy, no-wrap
+
+#: src/xgettext.c:538
+#, no-wrap
 msgid ""
-"  -h, --help                     display this help and exit\n"
-"  -i, --indent                   write the .po file using indented style\n"
+"Choice of input file language:\n"
+"  -L, --language=NAME            recognise the specified language\n"
+"                                   (C, C++, ObjectiveC, PO, Java, YCP)\n"
+"  -C, --c++                      shorthand for --language=C++\n"
+"By default the language is guessed depending on the input file name extension.\n"
+msgstr ""
+
+#: src/xgettext.c:547
+#, no-wrap
+msgid ""
+"Operation mode:\n"
 "  -j, --join-existing            join messages with existing file\n"
-"  -k, --keyword[=WORD]           additonal keyword to be looked for (without\n"
-"                                 WORD means not to use default keywords)\n"
-"  -L, --language=NAME            recognise the specified language (C, C++, PO),\n"
-"                                 otherwise is guessed from file extension\n"
-"  -m, --msgstr-prefix[=STRING]   use STRING or \"\" as prefix for msgstr entries\n"
-"  -M, --msgstr-suffix[=STRING]   use STRING or \"\" as suffix for msgstr entries\n"
-"      --no-location              do not write '#: filename:line' lines\n"
+"  -x, --exclude-file=FILE.po     entries from FILE.po are not extracted\n"
+"  -c, --add-comments[=TAG]       place comment block with TAG (or those\n"
+"                                 preceding keyword lines) in output file\n"
 msgstr ""
-"  -h, --help                     mostra questo aiuto ed esce\n"
-"  -i, --indent                   scrive il file .po usando lo stile indentato\n"
-"  -j, --join-existing            unisce i messaggi con il file esistente\n"
-"  -k, --keyword[=PAROLA]         parola chiave aggiuntiva da cercare (senza\n"
-"                                 PAROLA indica di non usare le parole chiave\n"
-"                                 predefinite)\n"
-"  -l, --string-limit=NUMERO      imposta la lunghezza limite delle stringhe a\n"
-"                                 NUMERO invece che a %u\n"
-"  -L, --language=NOME            riconosce il linguaggio specificato (C, C++,\n"
-"                                 PO), altrimenti lo intuisce dall'estensione\n"
-"                                 del file\n"
-"  -m, --msgstr-prefix[=STRINGA]  usa STRINGA o \"\" come prefisso per le\n"
-"                                 voci msgstr\n"
-"  -M, --msgstr-suffix[=STRINGA]  una STRINGA o \"\" come suffisso per le\n"
-"                                 voci msgstr\n"
-"      --no-location              non scrive le righe '#: nomefile:riga'\n"
-
-#: src/xgettext.c:552
+
+#: src/xgettext.c:556
 #, no-wrap
 msgid ""
+"Language=C/C++ specific options:\n"
+"  -a, --extract-all              extract all strings\n"
+"  -k, --keyword[=WORD]           additional keyword to be looked for (without\n"
+"                                 WORD means not to use default keywords)\n"
+"  -T, --trigraphs                understand ANSI C trigraphs for input\n"
+"      --debug                    more detailed formatstring recognition result\n"
+msgstr ""
+
+#: src/xgettext.c:566
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
+"  -e, --no-escape                do not use C escapes in output (default)\n"
+"  -E, --escape                   use C escapes in output, no extended chars\n"
+"      --force-po                 write PO file even if empty\n"
+"  -i, --indent                   write the .po file using indented style\n"
+"      --no-location              do not write '#: filename:line' lines\n"
 "  -n, --add-location             generate '#: filename:line' lines (default)\n"
-"      --omit-header              don't write header with `msgid \"\"' entry\n"
-"  -o, --output=FILE              write output to specified file\n"
-"  -p, --output-dir=DIR           output files will be placed in directory DIR\n"
-"  -s, --sort-output              generate sorted output and remove duplicates\n"
 "      --strict                   write out strict Uniforum conforming .po file\n"
-"  -T, --trigraphs                understand ANSI C trigraphs for input\n"
-"  -V, --version                  output version information and exit\n"
 "  -w, --width=NUMBER             set output page width\n"
-"  -x, --exclude-file=FILE        entries from FILE are not extracted\n"
-"\n"
-"If INPUTFILE is -, standard input is read.\n"
-msgstr ""
-"  -n, --add-location             genera le righe '#: nomefile:riga'\n"
-"                                 (predefinito)\n"
-"      --omit-header              non scrive l'intestazione con la voce\n"
-"                                 `msgid \"\"'\n"
-"  -o, --output=FILE              scrive l'uscita nel file specificato\n"
-"  -p, --output-dir=DIR           i file d'uscita saranno messi nella\n"
-"                                 directory DIR\n"
-"  -s, --sort-output              genera un'uscita ordinata e rimuove i doppioni\n"
-"      --strict                   scrive un file .po conforme all'Uniforum\n"
-"                                 rigoroso\n"
-"  -T, --trigraphs                comprende i trigrammi dell'ANSI C nell'ingresso\n"
-"  -V, --version                  mostra informazioni sulla versione ed esce\n"
-"  -w, --width=NUMERO             imposta la larghezza della pagina d'uscita\n"
-"  -x, --exclude-file=FILE        non estrae le voci da FILE\n"
-"\n"
-"Se INPUTFILE è -, è letto lo standard input.\n"
+"  -s, --sort-output              generate sorted output\n"
+"  -F, --sort-by-file             sort output by file location\n"
+"      --omit-header              don't write header with `msgid \"\"' entry\n"
+"      --foreign-user             omit FSF copyright in output for foreign user\n"
+"  -m, --msgstr-prefix[=STRING]   use STRING or \"\" as prefix for msgstr entries\n"
+"  -M, --msgstr-suffix[=STRING]   use STRING or \"\" as suffix for msgstr entries\n"
+msgstr ""
+"Uso: %s [OPZIONE] def.po ref.po\n"
+"Gli argomenti obbligatori per le opzioni lunghe lo sono anche per quelle corte.\n"
+"  -D, --directory=DIRECTORY   aggiunge DIRECTORY alla lista per la ricerca\n"
+"                              dei file d'ingresso\n"
+"  -e, --no-escape             non usa le sequenze di escape del C nell'output\n"
+"                              (predefinito)\n"
+"  -E, --escape                usa le le sequenze di escape del C nell'output,\n"
+"                              niente caratteri estesi\n"
+"      --force-po              scrive il file PO anche se vuoto\n"
+"  -h, --help                  mostra questo aiuto ed esce\n"
+"  -i, --indent                stile di uscita indentato\n"
+"  -o, --output-file=FILE      il risultato sarà scritto su FILE\n"
+"      --no-location           sopprime le righe '#: nomefile:riga'\n"
+"      --add-location          conserva le righe '#: nomefile:riga'\n"
+"                              (predefinito)\n"
+"      --strict                stile d'uscita Uniforum rigoroso\n"
+"  -v, --verbose               incrementa il livello di verbosità\n"
+"  -V, --version               mostra informazioni sulla versione ed esce\n"
+"  -w, --width=NUMERO          imposta la larghezza della pagina d'uscita\n"
 
-#: src/xgettext.c:914
-#, fuzzy, c-format
-msgid "%s:%d: warning: keyword nested in keyword arg"
-msgstr "%s:%d: attenzione: letterale stringa non terminato"
+#: src/xgettext.c:720
+msgid "standard input"
+msgstr "standard input"
 
-#: src/xgettext.c:924
-#, c-format
-msgid "%s:%d: warning: keyword between outer keyword and its arg"
+#: src/xgettext.c:830
+msgid ""
+"Empty msgid.  It is reserved by GNU gettext:\n"
+"gettext(\"\") returns the header entry with\n"
+"meta information, not the empty string.\n"
 msgstr ""
 
-#: src/xgettext.c:1420
+#: src/xgettext.c:1099
 #, c-format
 msgid "language `%s' unknown"
 msgstr "linguaggio `%s' sconosciuto"
 
+#~ msgid "while creating hash table"
+#~ msgstr "durante la creazione della tabella hash"
+
+#, fuzzy
+#~ msgid "%s:%lu: warning: keyword nested in keyword arg"
+#~ msgstr "%s:%d: attenzione: letterale stringa non terminato"
+
+#, fuzzy
+#~ msgid "%s:%lu: warning: keyword between outer keyword and its arg"
+#~ msgstr "%s:%d: attenzione: letterale stringa non terminato"
+
+#~ msgid "while preparing output"
+#~ msgstr "durante la preparazione dell'output"
+
+#~ msgid "this message has no definition in the \"%s\" domain"
+#~ msgstr "questo messaggio non ha definizione nel dominio \"%s\""
+
+#~ msgid ""
+#~ "Usage: %s [OPTION] INPUTFILE ...\n"
+#~ "Mandatory arguments to long options are mandatory for short options too.\n"
+#~ "  -d, --default-domain=NAME      use NAME.po for output (instead of "
+#~ "messages.po)\n"
+#~ "  -D, --directory=DIRECTORY      add DIRECTORY to list for input files "
+#~ "search\n"
+#~ "  -e, --no-escape                do not use C escapes in output "
+#~ "(default)\n"
+#~ "  -E, --escape                   use C escapes in output, no extended "
+#~ "chars\n"
+#~ "  -f, --files-from=FILE          get list of input files from FILE\n"
+#~ "      --force-po                 write PO file even if empty\n"
+#~ "  -F, --sort-by-file             sort output by file location\n"
+#~ "  -h, --help                     display this help and exit\n"
+#~ msgstr ""
+#~ "Uso: %s [OPZIONE] INPUTFILE ...\n"
+#~ "Gli argomenti obbligatori per le opzioni lunghe lo sono pure per quelle "
+#~ "corte.\n"
+#~ "  -d, --default-domain=NOME      usa NOME.po per l'output (invece di\n"
+#~ "                                 messages.po)\n"
+#~ "  -D, --directory=DIRECTORY      aggiunge DIRECTORY all'elenco di ricerca "
+#~ "dei\n"
+#~ "                                 file d'ingresso\n"
+#~ "  -e, --no-escape                non usa le sequenze di escape del C\n"
+#~ "                                 nell'output (predefinito)\n"
+#~ "  -E, --escape                   usa le sequenze di escape del C "
+#~ "nell'output,\n"
+#~ "                                 nessun carattere esteso\n"
+#~ "  -f, --files-from=FILE          ottiene l'elenco dei file di input da "
+#~ "FILE\n"
+#~ "      --force-po                 scrive il file PO anche se vuoto\n"
+#~ "  -F, --sort-by-file             ordina l'output per posizione nel file\n"
+#~ "  -h, --help                     mostra questo aiuto ed esce\n"
+
+#~ msgid ""
+#~ "  -i, --indent                   write the .po file using indented style\n"
+#~ "      --no-location              do not write '#: filename:line' lines\n"
+#~ "  -n, --add-location             generate '#: filename:line' lines "
+#~ "(default)\n"
+#~ "      --omit-header              don't write header with `msgid \"\"' "
+#~ "entry\n"
+#~ "  -o, --output=FILE              write output to specified file\n"
+#~ "  -p, --output-dir=DIR           output files will be placed in directory "
+#~ "DIR\n"
+#~ "  -s, --sort-output              generate sorted output and remove "
+#~ "duplicates\n"
+#~ "      --strict                   write out strict Uniforum conforming .po "
+#~ "file\n"
+#~ "  -T, --trigraphs                understand ANSI C trigraphs for input\n"
+#~ "  -u, --unique                   shorthand for --less-than=2, requests\n"
+#~ "                                 that only unique messages be printed\n"
+#~ msgstr ""
+#~ "  -i, --indent                   scrive il file .po usando lo stile "
+#~ "indentato\n"
+#~ "      --no-location              non scrive le righe '#: nomefile:riga'\n"
+#~ "  -n, --add-location             genera le righe '#: nomefile:riga'\n"
+#~ "                                 (predefinito)\n"
+#~ "      --omit-header              non scrive le intestazioni con voci "
+#~ "`msgid \"\"'\n"
+#~ "  -o, --output=FILE              scrive l'output nel file specificato\n"
+#~ "  -p, --output-dir=DIR           i file di output saranno messi nella\n"
+#~ "                                 directory DIR\n"
+#~ "  -s, --sort-output              genera un output ordinato e rimuove "
+#~ "duplicati\n"
+#~ "      --strict                   genera un .po conforme allo Uniforum "
+#~ "rigoroso\n"
+#~ "  -T, --trigraphs                interpreta i trigrammi ANSI C in input\n"
+#~ "  -u, --unique                   abbreviazione per --less-than=2, "
+#~ "richiede che\n"
+#~ "                                 siano mostrati solo i messaggi unici\n"
+
+#~ msgid ""
+#~ "Usage: %s [OPTION] filename.po ...\n"
+#~ "Generate binary message catalog from textual translation description.\n"
+#~ "\n"
+#~ "Mandatory arguments to long options are mandatory for short options too.\n"
+#~ "  -a, --alignment=NUMBER      align strings to NUMBER bytes (default: %"
+#~ "d)\n"
+#~ "  -c, --check                 perform language dependent checks on "
+#~ "strings\n"
+#~ "  -D, --directory=DIRECTORY   add DIRECTORY to list for input files "
+#~ "search\n"
+#~ "  -f, --use-fuzzy             use fuzzy entries in output\n"
+#~ "  -h, --help                  display this help and exit\n"
+#~ "      --no-hash               binary file will not include the hash "
+#~ "table\n"
+#~ "  -o, --output-file=FILE      specify output file name as FILE\n"
+#~ "      --statistics            print statistics about translations\n"
+#~ "      --strict                enable strict Uniforum mode\n"
+#~ "  -v, --verbose               list input file anomalies\n"
+#~ "  -V, --version               output version information and exit\n"
+#~ "\n"
+#~ "Giving the -v option more than once increases the verbosity level.\n"
+#~ "\n"
+#~ "If input file is -, standard input is read.  If output file is -,\n"
+#~ "output is written to standard output.\n"
+#~ msgstr ""
+#~ "Uso: %s [OPZIONE] nomefile.po ...\n"
+#~ "Genera il catalogo binario dei messaggi dalla descrizione testuale della\n"
+#~ "traduzione.\n"
+#~ "\n"
+#~ "Gli argomenti obbligatori per le opzioni lunghe lo sono anche per quelle "
+#~ "corte.\n"
+#~ "  -a, --alignment=NUMERO      allinea le stringhe a NUMERO byte (default: "
+#~ "%d)\n"
+#~ "  -c, --check                 effettua sulle stringhe una verifica "
+#~ "dipendente\n"
+#~ "                              dalla lingua\n"
+#~ "  -D, --directory=DIRECTORY   aggiunge DIRECTORY alla lista di ricerca "
+#~ "dei \n"
+#~ "                              file d'ingresso\n"
+#~ "  -f, --use-fuzzy             usa le voci approssimative nell'uscita\n"
+#~ "  -h, --help                  mostra questo aiuto ed esce\n"
+#~ "      --no-hash               il file binario non conterrà la tabella di "
+#~ "hash\n"
+#~ "  -o, --output-file=FILE      specifica FILE come nome del file d'uscita\n"
+#~ "      --statistics            mostra le statistiche sulle traduzioni\n"
+#~ "      --strict                abilita la modalità Uniforum rigorosa\n"
+#~ "  -v, --verbose               elenca le anomalie del file d'ingresso\n"
+#~ "  -V, --version               mostra informazioni sulla versione ed esce\n"
+#~ "\n"
+#~ "Dando più volte l'opzione -v si incrementa il livello di verbosità.\n"
+#~ "\n"
+#~ "Se il file d'ingresso è -, legge lo standard input.  Se il file "
+#~ "d'uscita \n"
+#~ "è -, scrive l'output sullo standard output.\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "Convert binary .mo files to Uniforum style .po files.\n"
+#~ "Both little-endian and big-endian .mo files are handled.\n"
+#~ "If no input file is given or it is -, standard input is read.\n"
+#~ "By default the output is written to standard output.\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Converte i file binari .mo nei file .po in stile Uniforum.\n"
+#~ "Gestisce i file .mo sia in little-endian che in big-endian.\n"
+#~ "Se il file d'ingresso è - o non è specificato, legge lo standard input.\n"
+#~ "Se non specificato altrimenti, scrive l'output sullo standard output.\n"
+
+#~ msgid ""
+#~ "Usage: %s [OPTION] INPUTFILE ...\n"
+#~ "Extract translatable string from given input files.\n"
+#~ "\n"
+#~ "Mandatory arguments to long options are mandatory for short options too.\n"
+#~ "  -a, --extract-all              extract all strings\n"
+#~ "  -c, --add-comments[=TAG]       place comment block with TAG (or those\n"
+#~ "                                 preceding keyword lines) in output file\n"
+#~ "  -C, --c++                      shorthand for --language=C++\n"
+#~ "      --debug                    more detailed formatstring recognision "
+#~ "result\n"
+#~ "  -d, --default-domain=NAME      use NAME.po for output (instead of "
+#~ "messages.po)\n"
+#~ "  -D, --directory=DIRECTORY      add DIRECTORY to list for input files "
+#~ "search\n"
+#~ "  -e, --no-escape                do not use C escapes in output "
+#~ "(default)\n"
+#~ "  -E, --escape                   use C escapes in output, no extended "
+#~ "chars\n"
+#~ "  -f, --files-from=FILE          get list of input files from FILE\n"
+#~ "      --force-po                 write PO file even if empty\n"
+#~ "      --foreign-user             omit FSF copyright in output for foreign "
+#~ "user\n"
+#~ "  -F, --sort-by-file             sort output by file location\n"
+#~ msgstr ""
+#~ "Uso: %s [OPZIONE] INPUTFILE ...\n"
+#~ "Estrae le stringhe traducibili dai file d'ingresso specificati.\n"
+#~ "\n"
+#~ "Gli argomenti obbligatori per le opzioni lunghe lo sono anche per quelle "
+#~ "corte.\n"
+#~ "  -a, --extract-all              estrae tutte le stringhe\n"
+#~ "  -c, --add-comments[=TAG]       aggiunge nel file d'uscita i blocchi "
+#~ "commento\n"
+#~ "                                 con TAG (e quelli che precedono righe "
+#~ "di\n"
+#~ "                                 parole chiave)\n"
+#~ "  -C, --c++                      abbreviazione per --language=C++\n"
+#~ "      --debug                    risultati più dettagliati del "
+#~ "riconoscimento\n"
+#~ "                                 delle stringhe formato\n"
+#~ "  -d, --default-domain=NOME      usa NOME.po per l'uscita (invece di\n"
+#~ "                                 messages.po)\n"
+#~ "  -D, --directory=DIRECTORY      aggiunge DIRECTORY alla lista di ricerca "
+#~ "dei\n"
+#~ "                                 file d'ingresso\n"
+#~ "  -e, --no-escape                non usa le sequenze di escape del C\n"
+#~ "                                 nell'uscita (predefinito)\n"
+#~ "  -E, --escape                   usa le sequenze di escape del C "
+#~ "nell'uscita,\n"
+#~ "                                 niente caratteri estesi\n"
+#~ "  -f, --files-from=FILE          legge la lista dei file d'ingresso da "
+#~ "FILE\n"
+#~ "      --force-po                 scrive il file PO anche se vuoto\n"
+#~ "      --foreign-user             omette il copyright FSF nell'uscita per "
+#~ "gli\n"
+#~ "                                 utenti stranieri\n"
+#~ "  -F, --sort-by-file             ordina l'uscita per posizione nel file\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "  -h, --help                     display this help and exit\n"
+#~ "  -i, --indent                   write the .po file using indented style\n"
+#~ "  -j, --join-existing            join messages with existing file\n"
+#~ "  -k, --keyword[=WORD]           additonal keyword to be looked for "
+#~ "(without\n"
+#~ "                                 WORD means not to use default keywords)\n"
+#~ "  -L, --language=NAME            recognise the specified language (C, C+"
+#~ "+, PO),\n"
+#~ "                                 otherwise is guessed from file "
+#~ "extension\n"
+#~ "  -m, --msgstr-prefix[=STRING]   use STRING or \"\" as prefix for msgstr "
+#~ "entries\n"
+#~ "  -M, --msgstr-suffix[=STRING]   use STRING or \"\" as suffix for msgstr "
+#~ "entries\n"
+#~ "      --no-location              do not write '#: filename:line' lines\n"
+#~ msgstr ""
+#~ "  -h, --help                     mostra questo aiuto ed esce\n"
+#~ "  -i, --indent                   scrive il file .po usando lo stile "
+#~ "indentato\n"
+#~ "  -j, --join-existing            unisce i messaggi con il file esistente\n"
+#~ "  -k, --keyword[=PAROLA]         parola chiave aggiuntiva da cercare "
+#~ "(senza\n"
+#~ "                                 PAROLA indica di non usare le parole "
+#~ "chiave\n"
+#~ "                                 predefinite)\n"
+#~ "  -l, --string-limit=NUMERO      imposta la lunghezza limite delle "
+#~ "stringhe a\n"
+#~ "                                 NUMERO invece che a %u\n"
+#~ "  -L, --language=NOME            riconosce il linguaggio specificato (C, C"
+#~ "++,\n"
+#~ "                                 PO), altrimenti lo intuisce "
+#~ "dall'estensione\n"
+#~ "                                 del file\n"
+#~ "  -m, --msgstr-prefix[=STRINGA]  usa STRINGA o \"\" come prefisso per le\n"
+#~ "                                 voci msgstr\n"
+#~ "  -M, --msgstr-suffix[=STRINGA]  una STRINGA o \"\" come suffisso per le\n"
+#~ "                                 voci msgstr\n"
+#~ "      --no-location              non scrive le righe '#: nomefile:riga'\n"
+
+#~ msgid ""
+#~ "  -n, --add-location             generate '#: filename:line' lines "
+#~ "(default)\n"
+#~ "      --omit-header              don't write header with `msgid \"\"' "
+#~ "entry\n"
+#~ "  -o, --output=FILE              write output to specified file\n"
+#~ "  -p, --output-dir=DIR           output files will be placed in directory "
+#~ "DIR\n"
+#~ "  -s, --sort-output              generate sorted output and remove "
+#~ "duplicates\n"
+#~ "      --strict                   write out strict Uniforum conforming .po "
+#~ "file\n"
+#~ "  -T, --trigraphs                understand ANSI C trigraphs for input\n"
+#~ "  -V, --version                  output version information and exit\n"
+#~ "  -w, --width=NUMBER             set output page width\n"
+#~ "  -x, --exclude-file=FILE        entries from FILE are not extracted\n"
+#~ "\n"
+#~ "If INPUTFILE is -, standard input is read.\n"
+#~ msgstr ""
+#~ "  -n, --add-location             genera le righe '#: nomefile:riga'\n"
+#~ "                                 (predefinito)\n"
+#~ "      --omit-header              non scrive l'intestazione con la voce\n"
+#~ "                                 `msgid \"\"'\n"
+#~ "  -o, --output=FILE              scrive l'uscita nel file specificato\n"
+#~ "  -p, --output-dir=DIR           i file d'uscita saranno messi nella\n"
+#~ "                                 directory DIR\n"
+#~ "  -s, --sort-output              genera un'uscita ordinata e rimuove i "
+#~ "doppioni\n"
+#~ "      --strict                   scrive un file .po conforme "
+#~ "all'Uniforum\n"
+#~ "                                 rigoroso\n"
+#~ "  -T, --trigraphs                comprende i trigrammi dell'ANSI C "
+#~ "nell'ingresso\n"
+#~ "  -V, --version                  mostra informazioni sulla versione ed "
+#~ "esce\n"
+#~ "  -w, --width=NUMERO             imposta la larghezza della pagina "
+#~ "d'uscita\n"
+#~ "  -x, --exclude-file=FILE        non estrae le voci da FILE\n"
+#~ "\n"
+#~ "Se INPUTFILE è -, è letto lo standard input.\n"
+
 #~ msgid "%s: warning: no header entry found"
 #~ msgstr "%s: attenzione: non è stata trovata la voce di intestazione"
index ab799858be6b65e4bc1a9fe5e3fb218fe51d803f..4d1b8b0cafe3f015a272d96619e83869349f36b8 100644 (file)
Binary files a/po/ja.gmo and b/po/ja.gmo differ
index af8f40d51777e718cc158dfb2b87cc850007a601..a3e70944e071315960c3e367fea2431c910363b0 100644 (file)
--- a/po/ja.po
+++ b/po/ja.po
@@ -5,7 +5,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: GNU gettext 0.10.35\n"
-"POT-Creation-Date: 2001-06-12 15:05+0200\n"
+"POT-Creation-Date: 2001-11-30 14:18+0100\n"
 "PO-Revision-Date: 1999-09-24 23:45+09:00\n"
 "Last-Translator: JUN SAWATAISHI <jsawa@attglobal.net>\n"
 "Language-Team: \n"
@@ -14,10 +14,57 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
 
+#: lib/argmatch.c:141
+#, c-format
+msgid "invalid argument `%s' for `%s'"
+msgstr ""
+
+#: lib/argmatch.c:142
+#, c-format
+msgid "ambiguous argument `%s' for `%s'"
+msgstr ""
+
+#: lib/argmatch.c:162
+msgid "Valid arguments are:"
+msgstr ""
+
+#: lib/copy-file.c:60 src/file-list.c:57 src/po-lex.c:732 src/read-mo.c:170
+#: src/xgettext.c:729 src/xgettext.c:742 src/xgettext.c:752
+#, c-format
+msgid "error while opening \"%s\" for reading"
+msgstr "\"%s\" \82Ì\83I\81[\83v\83\93\82Å\83G\83\89\81["
+
+#: lib/copy-file.c:67
+#, fuzzy, c-format
+msgid "cannot open backup file \"%s\" for writing"
+msgstr "\"%s\" \82Ì\83I\81[\83v\83\93\82Å\83G\83\89\81["
+
+#: lib/copy-file.c:80
+#, fuzzy, c-format
+msgid "error reading \"%s\""
+msgstr " \"%s\" \82ð\93Ç\82Ý\8d\9e\82Þ\8dÛ\82É\83G\83\89\81["
+
+#: lib/copy-file.c:86 lib/copy-file.c:90
+#, fuzzy, c-format
+msgid "error writing \"%s\""
+msgstr "\83t\83@\83C\83\8b \"%s\" \82Ì\8f\91\82«\8d\9e\82Ý\83G\83\89\81["
+
+#: lib/copy-file.c:92
+#, fuzzy, c-format
+msgid "error after reading \"%s\""
+msgstr " \"%s\" \82ð\93Ç\82Ý\8d\9e\82Þ\8dÛ\82É\83G\83\89\81["
+
 #: lib/error.c:115
 msgid "Unknown system error"
 msgstr "\94F\8e¯\82³\82ê\82È\82¢\83V\83X\83e\83\80\83G\83\89\81["
 
+#: lib/execute.c:170 lib/execute.c:205 lib/pipe-bidi.c:156 lib/pipe-bidi.c:191
+#: lib/pipe-in.c:167 lib/pipe-in.c:202 lib/pipe-out.c:167 lib/pipe-out.c:202
+#: lib/wait-process.c:136
+#, c-format
+msgid "%s subprocess failed"
+msgstr ""
+
 #: lib/getopt.c:691
 #, c-format
 msgid "%s: option `%s' is ambiguous\n"
@@ -38,19 +85,16 @@ msgstr "%s: 
 msgid "%s: option `%s' requires an argument\n"
 msgstr "%s: \83I\83v\83V\83\87\83\93 %s \82Í\88ø\90\94\82ð\95K\97v\82Æ\82µ\82Ü\82·\n"
 
-#. --option
 #: lib/getopt.c:768
 #, c-format
 msgid "%s: unrecognized option `--%s'\n"
 msgstr "%s: \94F\8e¯\82³\82ê\82È\82¢\83I\83v\83V\83\87\83\93 -- %s\n"
 
-#. +option or -option
 #: lib/getopt.c:772
 #, c-format
 msgid "%s: unrecognized option `%c%s'\n"
 msgstr "%s: \94F\8e¯\82³\82ê\82È\82¢\83I\83v\83V\83\87\83\93 -- %c%s\n"
 
-#. 1003.2 specifies the format of this message.
 #: lib/getopt.c:798
 #, c-format
 msgid "%s: illegal option -- %c\n"
@@ -61,7 +105,6 @@ msgstr "%s: 
 msgid "%s: invalid option -- %c\n"
 msgstr "%s: \95s\90³\82È\83I\83v\83V\83\87\83\93 -- %c\n"
 
-#. 1003.2 specifies the format of this message.
 #: lib/getopt.c:831 lib/getopt.c:961
 #, c-format
 msgid "%s: option requires an argument -- %c\n"
@@ -77,36 +120,114 @@ msgstr "%s: 
 msgid "%s: option `-W %s' doesn't allow an argument\n"
 msgstr "%s: \83I\83v\83V\83\87\83\93 -W %s \82Í\88ø\90\94\82ð\82Æ\82è\82Ü\82¹\82ñ\n"
 
-#: lib/obstack.c:474 lib/xerror.c:69 lib/xmalloc.c:86
+#: lib/javacomp.c:465
+msgid "Java compiler not found, try installing gcj or set $JAVAC"
+msgstr ""
+
+#: lib/javaexec.c:404
+msgid "Java virtual machine not found, try installing gij or set $JAVA"
+msgstr ""
+
+#: lib/obstack.c:474 lib/xerror.c:75 lib/xmalloc.c:56
 msgid "memory exhausted"
 msgstr "\83\81\83\82\83\8a\81[\82ª\8cÍ\8a\89\82µ\82Ü\82µ\82½"
 
-#: lib/pipe-bidi.c:101 lib/pipe-bidi.c:103 lib/pipe-in.c:117
-#: lib/pipe-out.c:117
+#: lib/pipe-bidi.c:119 lib/pipe-bidi.c:121 lib/pipe-in.c:136
+#: lib/pipe-out.c:136
 #, fuzzy
 msgid "cannot create pipe"
 msgstr "\8fo\97Í\83t\83@\83C\83\8b \"%s\"\82ð\8dì\90¬\82Å\82«\82È\82¢"
 
-#: lib/pipe-bidi.c:125 lib/pipe-bidi.c:142 lib/pipe-in.c:135 lib/pipe-in.c:155
-#: lib/pipe-out.c:135 lib/pipe-out.c:155
-#, c-format
-msgid "%s subprocess failed"
-msgstr ""
-
-#: lib/wait-process.c:109
+#: lib/wait-process.c:117
 #, c-format
 msgid "%s subprocess"
 msgstr ""
 
-#: lib/wait-process.c:117
+#: lib/wait-process.c:129
 #, c-format
 msgid "%s subprocess got fatal signal"
 msgstr ""
 
-#: src/gettext.c:144 src/msgcat.c:245 src/msgcmp.c:132 src/msgcomm.c:242
-#: src/msgconv.c:180 src/msgen.c:168 src/msgfmt.c:272 src/msggrep.c:276
-#: src/msgmerge.c:222 src/msgsed.c:242 src/msgunfmt.c:174 src/ngettext.c:124
-#: src/xgettext.c:386
+#: src/format-c.c:578 src/format-python.c:463
+#, fuzzy
+msgid "number of format specifications in 'msgid' and 'msgstr' does not match"
+msgstr "`msgid'\82Æ`msgstr'\82Ì\83t\83H\81[\83}\83b\83g\97l\8e®\82ª\8d\87\92v\82µ\82Ü\82¹\82ñ"
+
+#: src/format-c.c:588 src/format-python.c:473
+#, fuzzy, c-format
+msgid ""
+"format specifications in 'msgid' and 'msgstr' for argument %u are not the "
+"same"
+msgstr "\88ø\90\94 %u \82É\91Î\82·\82é\83t\83H\81[\83}\83b\83g\97l\8e®\82ª\88Ù\82È\82è\82Ü\82·"
+
+#: src/format-java.c:652 src/format-pascal.c:396
+#, fuzzy, c-format
+msgid "a format specification for argument {%u} doesn't exist in 'msgid'"
+msgstr "\88ø\90\94 %u \82É\91Î\82·\82é\83t\83H\81[\83}\83b\83g\97l\8e®\82ª\88Ù\82È\82è\82Ü\82·"
+
+#: src/format-java.c:662 src/format-pascal.c:406
+#, fuzzy, c-format
+msgid "a format specification for argument {%u} doesn't exist in 'msgstr'"
+msgstr "\88ø\90\94 %u \82É\91Î\82·\82é\83t\83H\81[\83}\83b\83g\97l\8e®\82ª\88Ù\82È\82è\82Ü\82·"
+
+#: src/format-java.c:676 src/format-pascal.c:420
+#, fuzzy, c-format
+msgid ""
+"format specifications in 'msgid' and 'msgstr' for argument {%u} are not the "
+"same"
+msgstr "\88ø\90\94 %u \82É\91Î\82·\82é\83t\83H\81[\83}\83b\83g\97l\8e®\82ª\88Ù\82È\82è\82Ü\82·"
+
+#: src/format-lisp.c:3371
+#, fuzzy
+msgid "format specifications in 'msgid' and 'msgstr' are not equivalent"
+msgstr "`msgid'\82Æ`msgstr'\82Ì\83t\83H\81[\83}\83b\83g\97l\8e®\82ª\8d\87\92v\82µ\82Ü\82¹\82ñ"
+
+#: src/format-python.c:391
+#, fuzzy
+msgid ""
+"format specifications in 'msgid' expect a mapping, those in 'msgstr' expect "
+"a tuple"
+msgstr "`msgid'\82Æ`msgstr'\82Ì\83t\83H\81[\83}\83b\83g\97l\8e®\82ª\8d\87\92v\82µ\82Ü\82¹\82ñ"
+
+#: src/format-python.c:399
+#, fuzzy
+msgid ""
+"format specifications in 'msgid' expect a tuple, those in 'msgstr' expect a "
+"mapping"
+msgstr "`msgid'\82Æ`msgstr'\82Ì\83t\83H\81[\83}\83b\83g\97l\8e®\82ª\8d\87\92v\82µ\82Ü\82¹\82ñ"
+
+#: src/format-python.c:422
+#, fuzzy, c-format
+msgid "a format specification for argument '%s' doesn't exist in 'msgid'"
+msgstr "\88ø\90\94 %u \82É\91Î\82·\82é\83t\83H\81[\83}\83b\83g\97l\8e®\82ª\88Ù\82È\82è\82Ü\82·"
+
+#: src/format-python.c:432
+#, fuzzy, c-format
+msgid "a format specification for argument '%s' doesn't exist in 'msgstr'"
+msgstr "\88ø\90\94 %u \82É\91Î\82·\82é\83t\83H\81[\83}\83b\83g\97l\8e®\82ª\88Ù\82È\82è\82Ü\82·"
+
+#: src/format-python.c:446
+#, fuzzy, c-format
+msgid ""
+"format specifications in 'msgid' and 'msgstr' for argument '%s' are not the "
+"same"
+msgstr "\88ø\90\94 %u \82É\91Î\82·\82é\83t\83H\81[\83}\83b\83g\97l\8e®\82ª\88Ù\82È\82è\82Ü\82·"
+
+#: src/format-ycp.c:137
+#, fuzzy, c-format
+msgid "a format specification for argument %u doesn't exist in 'msgstr'"
+msgstr "\88ø\90\94 %u \82É\91Î\82·\82é\83t\83H\81[\83}\83b\83g\97l\8e®\82ª\88Ù\82È\82è\82Ü\82·"
+
+#: src/format-ycp.c:138
+#, fuzzy, c-format
+msgid "a format specification for argument %u doesn't exist in 'msgid'"
+msgstr "\88ø\90\94 %u \82É\91Î\82·\82é\83t\83H\81[\83}\83b\83g\97l\8e®\82ª\88Ù\82È\82è\82Ü\82·"
+
+#: src/gettext.c:146 src/hostname.c:168 src/msgattrib.c:264 src/msgcat.c:229
+#: src/msgcmp.c:134 src/msgcomm.c:232 src/msgconv.c:182 src/msgen.c:171
+#: src/msgexec.c:240 src/msgfmt.c:333 src/msggrep.c:276 src/msginit.c:247
+#: src/msgmerge.c:252 src/msgunfmt.c:182 src/msguniq.c:207 src/ngettext.c:126
+#: src/xgettext.c:352
 #, c-format, no-wrap
 msgid ""
 "Copyright (C) %s Free Software Foundation, Inc.\n"
@@ -117,43 +238,45 @@ msgstr ""
 "\82±\82ê\82Í\83t\83\8a\81[\83\\83t\83g\83E\83G\83A\82Å\82·\81B\83R\83s\81[\82Ì\8fð\8c\8f\82É\82Â\82¢\82Ä\82Í\83\\81[\83X\82ð\8eQ\8fÆ\82Ì\82±\82Æ\n"
 "\82±\82Ì\83\\83t\83g\83E\83G\83A\82É\82Í\91S\82­\95Û\8fØ\82ª\82 \82è\82Ü\82¹\82ñ.\n"
 
-#: src/gettext.c:149 src/msgcat.c:250 src/msgcmp.c:137 src/msgcomm.c:247
-#: src/msgconv.c:185 src/msgen.c:173 src/msgfmt.c:277 src/msggrep.c:281
-#: src/msgmerge.c:227 src/msgsed.c:247 src/msgunfmt.c:179 src/ngettext.c:129
-#: src/xgettext.c:391
+#: src/gettext.c:151 src/hostname.c:173 src/msgattrib.c:269 src/msgcat.c:234
+#: src/msgcmp.c:139 src/msgcomm.c:237 src/msgconv.c:187 src/msgen.c:176
+#: src/msgexec.c:245 src/msgfmt.c:338 src/msggrep.c:281 src/msginit.c:252
+#: src/msgmerge.c:257 src/msgunfmt.c:187 src/msguniq.c:212 src/ngettext.c:131
+#: src/xgettext.c:357
 #, c-format
 msgid "Written by %s.\n"
 msgstr "%s \82É\82æ\82Á\82Ä\8f\91\82©\82ê\82Ü\82µ\82½\81B\n"
 
-#: src/gettext.c:167 src/ngettext.c:141
+#: src/gettext.c:169 src/hostname.c:183 src/msginit.c:262 src/ngettext.c:143
 msgid "too many arguments"
 msgstr "\88ø\90\94\82ª\91½\82·\82¬\82Ü\82·"
 
-#: src/gettext.c:177 src/ngettext.c:153
+#: src/gettext.c:179 src/ngettext.c:155
 msgid "missing arguments"
 msgstr "\88ø\90\94\82ª\8c\87\94@"
 
-#: src/gettext.c:249 src/msgcat.c:297 src/msgcmp.c:169 src/msgcomm.c:312
-#: src/msgconv.c:234 src/msgen.c:219 src/msgfmt.c:384 src/msggrep.c:366
-#: src/msgmerge.c:273 src/msgsed.c:313 src/msgunfmt.c:219 src/ngettext.c:208
-#: src/xgettext.c:513
+#: src/gettext.c:251 src/hostname.c:197 src/msgattrib.c:322 src/msgcat.c:290
+#: src/msgcmp.c:171 src/msgcomm.c:306 src/msgconv.c:241 src/msgen.c:227
+#: src/msgexec.c:338 src/msgfmt.c:479 src/msggrep.c:371 src/msginit.c:338
+#: src/msgmerge.c:367 src/msgunfmt.c:262 src/msguniq.c:269 src/ngettext.c:210
+#: src/xgettext.c:499
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "%s --help \82Å\82æ\82è\91½\82­\82Ì\8fî\95ñ\82ª\95\\8e¦\82³\82ê\82Ü\82·\n"
 
-#: src/gettext.c:254
+#: src/gettext.c:256
 #, c-format, no-wrap
 msgid ""
 "Usage: %s [OPTION] [[TEXTDOMAIN] MSGID]\n"
 "or:    %s [OPTION] -s [MSGID]...\n"
 msgstr ""
 
-#: src/gettext.c:260
+#: src/gettext.c:262
 #, no-wrap
 msgid "Display native language translation of a textual message.\n"
 msgstr ""
 
-#: src/gettext.c:264
+#: src/gettext.c:266
 #, fuzzy, no-wrap
 msgid ""
 "  -d, --domain=TEXTDOMAIN   retrieve translated messages from TEXTDOMAIN\n"
@@ -175,7 +298,7 @@ msgstr ""
 "  [TEXTDOMAIN] MSGID     MSGID \82É\8e¦\82³\82ê\82é\96|\96ó\82³\82ê\82½\83\81\83b\83Z\81[\83W\82ð\n"
 "                         TEXTDOMAIN \82©\82ç\93¾\82é\n"
 
-#: src/gettext.c:275
+#: src/gettext.c:277
 #, fuzzy, c-format, no-wrap
 msgid ""
 "If the TEXTDOMAIN parameter is not given, the domain is determined from the\n"
@@ -197,31 +320,169 @@ msgstr ""
 "\83\81\83b\83Z\81[\83W\82Í\96|\96ó\82³\82ê\82Ä\82¢\82é\n"
 "\8c\9f\8dõ\83f\83B\83\8c\83N\83g\83\8a: %s\n"
 
-#: src/gettext.c:285 src/msgcat.c:378 src/msgcmp.c:214 src/msgcomm.c:390
-#: src/msgconv.c:298 src/msgen.c:279 src/msgfmt.c:443 src/msggrep.c:445
-#: src/msgmerge.c:348 src/msgsed.c:379 src/msgunfmt.c:272 src/ngettext.c:241
-#: src/xgettext.c:604
-msgid "Report bugs to <bug-gnu-utils@gnu.org>.\n"
+#: src/gettext.c:288 src/hostname.c:227 src/msgattrib.c:402 src/msgcat.c:371
+#: src/msgcmp.c:216 src/msgcomm.c:384 src/msgconv.c:305 src/msgen.c:287
+#: src/msgexec.c:410 src/msgfmt.c:563 src/msggrep.c:457 src/msginit.c:389
+#: src/msgmerge.c:465 src/msgunfmt.c:331 src/msguniq.c:343 src/ngettext.c:244
+#: src/xgettext.c:591
+#, fuzzy
+msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
 msgstr "\83o\83O\83\8c\83|\81[\83g\82Í <bug-gnu-utils@gnu.org> \82Ü\82Å.\n"
 
-#: src/msgcat.c:233 src/msgcat.c:237 src/msgcomm.c:230 src/msgcomm.c:234
-#: src/msgconv.c:205 src/msgen.c:194 src/msggrep.c:301 src/msgmerge.c:248
-#: src/msgsed.c:270 src/xgettext.c:363 src/xgettext.c:367
+#: src/hostname.c:202 src/msginit.c:343
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION]\n"
+msgstr ""
+
+#: src/hostname.c:207
+#, no-wrap
+msgid "Print the machine's hostname.\n"
+msgstr ""
+
+#: src/hostname.c:212
+#, no-wrap
+msgid ""
+"Output format:\n"
+"  -s, --short           short host name\n"
+"  -f, --fqdn, --long    long host name, includes fully qualified domain name,\n"
+"                          and aliases\n"
+"  -i, --ip-address      addresses for the hostname\n"
+msgstr ""
+
+#: src/hostname.c:221 src/msgattrib.c:396 src/msgcmp.c:210 src/msgconv.c:299
+#: src/msgen.c:281 src/msgexec.c:404 src/msggrep.c:451 src/msginit.c:383
+#, no-wrap
+msgid ""
+"Informative output:\n"
+"  -h, --help                  display this help and exit\n"
+"  -V, --version               output version information and exit\n"
+msgstr ""
+
+#: src/hostname.c:242 src/hostname.c:249
+msgid "could not get host name"
+msgstr ""
+
+#: src/msgattrib.c:284 src/msgconv.c:202 src/msgexec.c:190 src/msggrep.c:296
+#: src/msginit.c:205 src/msguniq.c:227
+msgid "at most one input file allowed"
+msgstr ""
+
+#: src/msgattrib.c:290 src/msgattrib.c:294 src/msgcat.c:244 src/msgcat.c:248
+#: src/msgcomm.c:247 src/msgcomm.c:251 src/msgconv.c:208 src/msgconv.c:212
+#: src/msgen.c:198 src/msgen.c:202 src/msgexec.c:260 src/msgexec.c:264
+#: src/msgfmt.c:358 src/msggrep.c:302 src/msggrep.c:306 src/msgmerge.c:282
+#: src/msgmerge.c:303 src/msgmerge.c:307 src/msguniq.c:233 src/msguniq.c:237
+#: src/xgettext.c:367 src/xgettext.c:371
 #, c-format
 msgid "%s and %s are mutually exclusive"
 msgstr "%s \82Æ %s \82Í\8cÝ\82¢\82É\94r\91¼\93I\82Å\82·"
 
-#: src/msgcat.c:270 src/msgcomm.c:278
+#: src/msgattrib.c:327 src/msgconv.c:246 src/msggrep.c:376 src/msguniq.c:274
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] [INPUTFILE]\n"
+msgstr ""
+
+#: src/msgattrib.c:332
+#, no-wrap
+msgid ""
+"Filters the messages of a translation catalog according to their attributes,\n"
+"and manipulates the attributes.\n"
+msgstr ""
+
+#: src/msgattrib.c:338 src/msgcat.c:313 src/msgcmp.c:191 src/msgcomm.c:328
+#: src/msgconv.c:256 src/msgen.c:245 src/msgexec.c:353 src/msgfmt.c:494
+#: src/msggrep.c:387 src/msginit.c:354 src/msgmerge.c:390 src/msgunfmt.c:277
+#: src/msguniq.c:291
+#, no-wrap
+msgid "Mandatory arguments to long options are mandatory for short options too.\n"
+msgstr ""
+
+#: src/msgattrib.c:343 src/msgconv.c:261 src/msggrep.c:392 src/msguniq.c:296
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  INPUTFILE                   input PO file\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"If no input file is given or if it is -, standard input is read.\n"
+msgstr ""
+
+#: src/msgattrib.c:351 src/msgconv.c:269 src/msgen.c:258 src/msgexec.c:366
+#: src/msggrep.c:400 src/msgmerge.c:412
+#, no-wrap
+msgid ""
+"Output file location:\n"
+"  -o, --output-file=FILE      write output to specified file\n"
+"The results are written to standard output if no output file is specified\n"
+"or if it is -.\n"
+msgstr ""
+
+#: src/msgattrib.c:359
+#, no-wrap
+msgid ""
+"Message selection:\n"
+"      --translated            keep translated, remove untranslated messages\n"
+"      --untranslated          keep untranslated, remove translated messages\n"
+"      --no-fuzzy              remove 'fuzzy' marked messages\n"
+"      --only-fuzzy            keep 'fuzzy' marked messages\n"
+"      --no-obsolete           remove obsolete #~ messages\n"
+"      --only-obsolete         keep obsolete #~ messages\n"
+msgstr ""
+
+#: src/msgattrib.c:370
+#, no-wrap
+msgid ""
+"Attribute manipulation:\n"
+"      --set-fuzzy             set all messages 'fuzzy'\n"
+"      --clear-fuzzy           set all messages non-'fuzzy'\n"
+"      --set-obsolete          set all messages obsolete\n"
+"      --clear-obsolete        set all messages non-obsolete\n"
+"      --fuzzy                 synonym for --only-fuzzy --clear-fuzzy\n"
+"      --obsolete              synonym for --only-obsolete --clear-obsolete\n"
+msgstr ""
+
+#: src/msgattrib.c:381
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
+"  -e, --no-escape             do not use C escapes in output (default)\n"
+"  -E, --escape                use C escapes in output, no extended chars\n"
+"      --force-po              write PO file even if empty\n"
+"  -i, --indent                write the .po file using indented style\n"
+"      --no-location           do not write '#: filename:line' lines\n"
+"  -n, --add-location          generate '#: filename:line' lines (default)\n"
+"      --strict                write out strict Uniforum conforming .po file\n"
+"  -w, --width=NUMBER          set output page width\n"
+"  -s, --sort-output           generate sorted output\n"
+"  -F, --sort-by-file          sort output by file location\n"
+msgstr ""
+"\8eg\97p\96@: %s [\83I\83v\83V\83\87\83\93] def.po ref.po\n"
+"\92·\82¢\83I\83v\83V\83\87\83\93\82É\95K\90{\82Ì\88ø\90\94\82Í\92Z\82¢\83I\83v\83V\83\87\83\93\82É\82à\93¯\97l\82É\95K\97v\82Å\82·\81B\n"
+"  -C, --compendium=FILE         \83\81\83b\83Z\81[\83W\92\8a\8fo\83\89\83C\83u\83\89\83\8a\82Ì\92Ç\89Á\81i\95¡\90\94\8ew\92è\89Â\94\\81j\n"
+"  -D, --directory=DIR           \93ü\97Í\83t\83@\83C\83\8b\82Ì\8c\9f\8dõ\83p\83X\82É DIR \82ð\92Ç\89Á \n"
+"  -e, --no-escape               \83G\83X\83P\81[\83v\83L\83\83\83\89\83N\83^\82ð\8fo\97Í\82µ\82È\82¢\81i\83f\83t\83H\83\8b\83g\81j\n"
+"  -E, --escape                  \83G\83X\83P\81[\83v\83L\83\83\83\89\83N\83^\82Í\82»\82Ì\82Ü\82Ü\8fo\97Í\82³\82ê\82é\n"
+"      --force-po                PO \83t\83@\83C\83\8b\82ª\8bó\82Å\82à\8f\91\82«\8d\9e\82Þ\n"
+"  -h, --help                    \82±\82Ì\83w\83\8b\83v\83\81\83b\83Z\81[\83W\82ð\8fo\97Í\82µ\82Ä\8fI\97¹\n"
+"  -i, --indent                  \83C\83\93\83f\83\93\83g\82µ\82Ä\8fo\97Í\82·\82é\n"
+"  -o, --output-file=FILE        FILE \82É\8fo\97Í\82·\82é\n"
+"      --no-location             '#:\83t\83@\83C\83\8b\96¼:\8ds\94Ô\8d\86'\82Ì\8ds\82ð\8fo\97Í\82µ\82È\82¢\n"
+"      --add-location            '#:\83t\83@\83C\83\8b\96¼:\8ds\94Ô\8d\86'\82Ì\8ds\82ð\8fo\97Í\82·\82é(\83f\83t\83H\83\8b\83g)\n"
+"      --strict                  \82¢\82í\82ä\82é'Uniform\8fo\97Í\97l\8e®'\82É\8cµ\8ai\82É\8f]\82¤\n"
+"  -v, --verbose                 \8fç\92·\93x\82ð\82 \82°\82é\n"
+"  -V, --version                 \83\94\83@\81[\83W\83\87\83\93\8fî\95ñ\82ð\95\\8e¦\82µ\82Ä\8fI\97¹\n"
+"  -w, --width=NUMBER            \83y\81[\83W\95\9d\82Ì\90Ý\92è\n"
+
+#: src/msgcat.c:254 src/msgcomm.c:277
 #, c-format
 msgid "impossible selection criteria specified (%d < n < %d)"
 msgstr "\91I\91ð\8aî\8f\80\82ª\95s\90³\82Å\82· (%d < n < %d)"
 
-#: src/msgcat.c:302 src/msgcomm.c:317 src/xgettext.c:518
+#: src/msgcat.c:295 src/msgcomm.c:311 src/xgettext.c:504
 #, c-format, no-wrap
 msgid "Usage: %s [OPTION] [INPUTFILE]...\n"
 msgstr ""
 
-#: src/msgcat.c:307
+#: src/msgcat.c:300
 #, fuzzy, no-wrap
 msgid ""
 "Concatenates and merges the specified PO files.\n"
@@ -248,14 +509,7 @@ msgstr ""
 "\8fo\97Í\82³\82ê\82é\82æ\82¤\82É\90Ý\92è\82Å\82«\82Ü\82·\81B(\97á: --less-than=2 \82Å\83\86\83j\81[\83N\82È\83\81\83b\83Z\81[\n"
 "\83W\82Ì\82Ý\82ð\8fo\97Í\82µ\82Ü\82·)\n"
 
-#: src/msgcat.c:320 src/msgcmp.c:189 src/msgcomm.c:334 src/msgconv.c:249
-#: src/msgen.c:237 src/msgfmt.c:399 src/msggrep.c:382 src/msgmerge.c:296
-#: src/msgsed.c:328 src/msgunfmt.c:234
-#, no-wrap
-msgid "Mandatory arguments to long options are mandatory for short options too.\n"
-msgstr ""
-
-#: src/msgcat.c:325 src/msgcomm.c:339 src/xgettext.c:534
+#: src/msgcat.c:318 src/msgcomm.c:333 src/xgettext.c:520
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -265,7 +519,7 @@ msgid ""
 "If input file is -, standard input is read.\n"
 msgstr ""
 
-#: src/msgcat.c:334 src/msgcomm.c:348
+#: src/msgcat.c:327 src/msgcomm.c:342 src/msguniq.c:304
 #, no-wrap
 msgid ""
 "Output file location:\n"
@@ -274,7 +528,7 @@ msgid ""
 "or if it is -.\n"
 msgstr ""
 
-#: src/msgcat.c:342 src/msgcomm.c:356
+#: src/msgcat.c:335
 #, fuzzy, no-wrap
 msgid ""
 "Message selection:\n"
@@ -282,7 +536,7 @@ msgid ""
 "                                 definitions, defaults to infinite if not\n"
 "                                 set\n"
 "  ->, --more-than=NUMBER         print messages with more than this many\n"
-"                                 definitions, defaults to 1 if not set\n"
+"                                 definitions, defaults to 0 if not set\n"
 "  -u, --unique                   shorthand for --less-than=2, requests\n"
 "                                 that only unique messages be printed\n"
 msgstr ""
@@ -300,7 +554,7 @@ msgstr ""
 "\8fo\97Í\82³\82ê\82é\82æ\82¤\82É\90Ý\92è\82Å\82«\82Ü\82·\81B(\97á: --less-than=2 \82Å\83\86\83j\81[\83N\82È\83\81\83b\83Z\81[\n"
 "\83W\82Ì\82Ý\82ð\8fo\97Í\82µ\82Ü\82·)\n"
 
-#: src/msgcat.c:354
+#: src/msgcat.c:347 src/msguniq.c:319
 #, fuzzy, no-wrap
 msgid ""
 "Output details:\n"
@@ -315,7 +569,7 @@ msgid ""
 "  -n, --add-location             generate '#: filename:line' lines (default)\n"
 "      --strict                   write out strict Uniforum conforming .po file\n"
 "  -w, --width=NUMBER             set output page width\n"
-"  -s, --sort-output              generate sorted output and remove duplicates\n"
+"  -s, --sort-output              generate sorted output\n"
 "  -F, --sort-by-file             sort output by file location\n"
 msgstr ""
 "\8eg\97p\96@: %s [\83I\83v\83V\83\87\83\93] def.po ref.po\n"
@@ -335,7 +589,7 @@ msgstr ""
 "  -V, --version                 \83\94\83@\81[\83W\83\87\83\93\8fî\95ñ\82ð\95\\8e¦\82µ\82Ä\8fI\97¹\n"
 "  -w, --width=NUMBER            \83y\81[\83W\95\9d\82Ì\90Ý\92è\n"
 
-#: src/msgcat.c:372 src/msgcomm.c:384 src/xgettext.c:598
+#: src/msgcat.c:365 src/msgcomm.c:378 src/msguniq.c:337 src/xgettext.c:585
 #, no-wrap
 msgid ""
 "Informative output:\n"
@@ -343,74 +597,20 @@ msgid ""
 "  -V, --version                  output version information and exit\n"
 msgstr ""
 
-#: src/msgcat.c:403 src/msgcomm.c:415 src/msgunfmt.c:394 src/po-lex.c:85
-#: src/xget-lex.c:159 src/xget-lex.c:172 src/xget-lex.c:182 src/xgettext.c:629
-#, c-format
-msgid "error while opening \"%s\" for reading"
-msgstr "\"%s\" \82Ì\83I\81[\83v\83\93\82Å\83G\83\89\81["
-
-#: src/msgcat.c:544 src/msgl-charset.c:82 src/msgl-iconv.c:292
-#, c-format
-msgid "present charset \"%s\" is not a portable encoding name"
-msgstr ""
-
-#: src/msgcat.c:552 src/msgl-iconv.c:300
-#, c-format
-msgid "two different charsets \"%s\" and \"%s\" in input file"
-msgstr ""
-
-#: src/msgcat.c:561
-#, c-format
-msgid ""
-"input file `%s' doesn't contain a header entry with a charset specification"
-msgstr ""
-
-#: src/msgcat.c:565
-#, c-format
-msgid ""
-"domain \"%s\" in input file `%s' doesn't contain a header entry with a "
-"charset specification"
-msgstr ""
-
-#: src/msgcat.c:719 src/msgl-iconv.c:370
-#, c-format
-msgid "target charset \"%s\" is not a portable encoding name."
-msgstr ""
-
-#: src/msgcat.c:752 src/msgcat.c:758 src/msgl-charset.c:87
-#: src/msgl-charset.c:122
-msgid "warning: "
-msgstr ""
-
-#: src/msgcat.c:753
-msgid ""
-"Input files contain messages in different encodings, UTF-8 among others.\n"
-"Converting the output to UTF-8.\n"
-msgstr ""
-
-#: src/msgcat.c:759
-#, c-format
-msgid ""
-"Input files contain messages in different encodings, %s and %s among "
-"others.\n"
-"Converting the output to UTF-8.\n"
-"To select a different output encoding, use the --to-code option.\n"
-msgstr ""
-
-#: src/msgcmp.c:148 src/msgmerge.c:238
+#: src/msgcmp.c:150 src/msgmerge.c:268
 msgid "no input files given"
 msgstr "\93ü\97Í\83t\83@\83C\83\8b\82ª\97^\82¦\82ç\82ê\82Ä\82¢\82Ü\82¹\82ñ"
 
-#: src/msgcmp.c:153 src/msgmerge.c:243
+#: src/msgcmp.c:155 src/msgmerge.c:273
 msgid "exactly 2 input files required"
 msgstr "2\82Â\82Ì\93ü\97Í\83t\83@\83C\83\8b\82ª\95K\97v"
 
-#: src/msgcmp.c:174 src/msgmerge.c:278
+#: src/msgcmp.c:176 src/msgmerge.c:372
 #, c-format, no-wrap
 msgid "Usage: %s [OPTION] def.po ref.pot\n"
 msgstr ""
 
-#: src/msgcmp.c:179
+#: src/msgcmp.c:181
 #, fuzzy, no-wrap
 msgid ""
 "Compare two Uniforum style .po files to check that both contain the same\n"
@@ -434,7 +634,7 @@ msgstr ""
 "\97L\97p\82Å\82·\81B\90³\8am\82É\83}\83b\83`\82µ\82È\82¢\8fê\8d\87\82Í\82 \82¢\82Ü\82¢\82È\88ê\92v\96@\82ª\97p\82¢\82ç\82ê\82Ä\81A\82æ\82è\n"
 "\8fÚ\82µ\82¢\90f\92f\8c\8b\89Ê\82ª\93¾\82ç\82ê\82Ü\82·\81B\n"
 
-#: src/msgcmp.c:194
+#: src/msgcmp.c:196
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -443,58 +643,49 @@ msgid ""
 "  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
 msgstr ""
 
-#: src/msgcmp.c:202 src/msgmerge.c:319
+#: src/msgcmp.c:204 src/msgmerge.c:436
 #, no-wrap
 msgid ""
 "Operation modifiers:\n"
 "  -m, --multi-domain          apply ref.pot to each of the domains in def.po\n"
 msgstr ""
 
-#: src/msgcmp.c:208 src/msgconv.c:292 src/msgen.c:273 src/msggrep.c:439
-#: src/msgsed.c:373
-#, no-wrap
-msgid ""
-"Informative output:\n"
-"  -h, --help                  display this help and exit\n"
-"  -V, --version               output version information and exit\n"
-msgstr ""
-
-#: src/msgcmp.c:251 src/msgmerge.c:426
+#: src/msgcmp.c:253 src/msgmerge.c:543
 msgid "this message is used but not defined..."
 msgstr "\82±\82Ì\83\81\83b\83Z\81[\83W\82Í\8eg\97p\82³\82ê\82Ä\82Ü\82·\82ª\92è\8b`\82³\82ê\82Ü\82¹\82ñ..."
 
-#: src/msgcmp.c:253 src/msgmerge.c:428
+#: src/msgcmp.c:255 src/msgmerge.c:545
 msgid "...but this definition is similar"
 msgstr "...\82±\82Ì\92è\8b`\82Í\8e\9f\82Ì\82à\82Ì\82Æ\93¯\82¶.."
 
-#: src/msgcmp.c:258 src/msgmerge.c:455
+#: src/msgcmp.c:260 src/msgmerge.c:572
 #, c-format
 msgid "this message is used but not defined in %s"
 msgstr "\82±\82Ì\83\81\83b\83Z\81[\83W\82Í\8eg\97p\82³\82ê\82Ä\82Ü\82·\82ª %s \82Å\92è\8b`\82³\82ê\82Ä\82Ü\82¹\82ñ"
 
-#: src/msgcmp.c:330
+#: src/msgcmp.c:332
 msgid "warning: this message is not used"
 msgstr "\8cx\8d\90\82±\82Ì\83\81\83b\83Z\81[\83W\82Í\8eg\82í\82ê\82Ü\82¹\82ñ"
 
-#: src/msgcmp.c:337 src/po-lex.c:99
+#: src/msgcmp.c:339 src/po-lex.c:705
 #, fuzzy, c-format
 msgid "found %d fatal error"
 msgid_plural "found %d fatal errors"
 msgstr[0] "\92v\96½\93I\82È\83G\83\89\81[\82Ì\90\94\82Í %d \82Å\82·"
 
-#: src/msgcmp.c:418 src/msgfmt.c:703 src/read-po.c:184 src/xgettext.c:1147
+#: src/msgcmp.c:420 src/msgfmt.c:1323 src/read-po.c:202 src/x-po.c:163
 msgid "duplicate message definition"
 msgstr "\83\81\83b\83Z\81[\83W\82Ì\92è\8b`\82ª\8fd\95¡\82µ\82Ä\82¢\82Ü\82·"
 
-#: src/msgcmp.c:419 src/msgfmt.c:705 src/read-po.c:185 src/xgettext.c:1148
+#: src/msgcmp.c:421 src/msgfmt.c:1324 src/read-po.c:203 src/x-po.c:164
 msgid "...this is the location of the first definition"
 msgstr "...\82±\82ê\82Í\8dÅ\8f\89\82É\92è\8b`\82³\82ê\82½\82Æ\82±\82ë\82Å\82·"
 
-#: src/msgcomm.c:267
+#: src/msgcomm.c:266
 msgid "at least two files must be specified"
 msgstr "\8f­\82È\82­\82Æ\82à\93ñ\82Â\82Ì\83t\83@\83C\83\8b\82ð\8ew\92è\82µ\82Ä\89º\82³\82¢"
 
-#: src/msgcomm.c:322
+#: src/msgcomm.c:316
 #, fuzzy, no-wrap
 msgid ""
 "Find messages which are common to two or more of the specified PO files.\n"
@@ -520,7 +711,33 @@ msgstr ""
 "\8fo\97Í\82³\82ê\82é\82æ\82¤\82É\90Ý\92è\82Å\82«\82Ü\82·\81B(\97á: --less-than=2 \82Å\83\86\83j\81[\83N\82È\83\81\83b\83Z\81[\n"
 "\83W\82Ì\82Ý\82ð\8fo\97Í\82µ\82Ü\82·)\n"
 
-#: src/msgcomm.c:368
+#: src/msgcomm.c:350
+#, fuzzy, no-wrap
+msgid ""
+"Message selection:\n"
+"  -<, --less-than=NUMBER         print messages with less than this many\n"
+"                                 definitions, defaults to infinite if not\n"
+"                                 set\n"
+"  ->, --more-than=NUMBER         print messages with more than this many\n"
+"                                 definitions, defaults to 1 if not set\n"
+"  -u, --unique                   shorthand for --less-than=2, requests\n"
+"                                 that only unique messages be printed\n"
+msgstr ""
+"  -V, --version                   \83\94\83@\81[\83W\83\87\83\93\8fî\95ñ\82ð\95\\8e¦\82µ\82Ä\8fI\97¹\n"
+"  -w, --width=NUMBER              \83y\81[\83W\95\9d\82ð NUMBER \82Æ\90Ý\92è\82·\82é\n"
+"  -<, --less-than=NUMBER          NUMBER \8cÂ\82æ\82è\8f­\82È\82¢\83t\83@\83C\83\8b\82Å\8b¤\92Ê\82·\82é\n"
+"                                  \83\81\83b\83Z\81[\83W\82Ì\82Ý\8fo\97Í\82·\82é(\83f\83t\83H\83\8b\83g: \96³\90§\8cÀ)\n"
+"  ->, --more-than=NUMBER          NUMBER \8cÂ\82æ\82è\91½\82¢\83t\83@\83C\83\8b\82Å\8b¤\92Ê\82·\82é\n"
+"                                  \83\81\83b\83Z\81[\83W\82Ì\82Ý\8fo\97Í\82·\82é(\83f\83t\83H\83\8b\83g: 1)\n"
+"\n"
+"  \95¡\90\94\82Ì PO \83t\83@\83C\83\8b\82É\8b¤\92Ê\82·\82é\83\81\83b\83Z\81[\83W\82ð\8c\9f\8dõ\82µ\82Ü\82·\81B\n"
+"  --more-than \83I\83v\83V\83\87\83\93\82É\82æ\82è\81A\8b¤\92Ê\82·\82é\83\81\83b\83Z\81[\83W\82Ì\90\94\82ª\88ê\92è\88È\8fã\82Ì\n"
+"\8e\9e\82É\82Ì\82Ý\8fo\97Í\82·\82é\82æ\82¤\82É\82Å\82«\82Ü\82·\81B\n"
+"  \8bt\82É\81A--less-than \83I\83v\83V\83\87\83\93\82É\82æ\82è\8b¤\92Ê\90«\82Ì\92ö\93x\82ª\88ê\92è\88È\89º\82Ì\8e\9e\82É\82Ì\82Ý\n"
+"\8fo\97Í\82³\82ê\82é\82æ\82¤\82É\90Ý\92è\82Å\82«\82Ü\82·\81B(\97á: --less-than=2 \82Å\83\86\83j\81[\83N\82È\83\81\83b\83Z\81[\n"
+"\83W\82Ì\82Ý\82ð\8fo\97Í\82µ\82Ü\82·)\n"
+
+#: src/msgcomm.c:362
 #, fuzzy, no-wrap
 msgid ""
 "Output details:\n"
@@ -532,7 +749,7 @@ msgid ""
 "  -n, --add-location             generate '#: filename:line' lines (default)\n"
 "      --strict                   write out strict Uniforum conforming .po file\n"
 "  -w, --width=NUMBER             set output page width\n"
-"  -s, --sort-output              generate sorted output and remove duplicates\n"
+"  -s, --sort-output              generate sorted output\n"
 "  -F, --sort-by-file             sort output by file location\n"
 "      --omit-header              don't write header with `msgid \"\"' entry\n"
 msgstr ""
@@ -553,44 +770,12 @@ msgstr ""
 "  -V, --version                 \83\94\83@\81[\83W\83\87\83\93\8fî\95ñ\82ð\95\\8e¦\82µ\82Ä\8fI\97¹\n"
 "  -w, --width=NUMBER            \83y\81[\83W\95\9d\82Ì\90Ý\92è\n"
 
-#: src/msgcomm.c:510 src/xgettext.c:676 src/xgettext.c:1093
-msgid "this file may not contain domain directives"
-msgstr "\82±\82Ì\83t\83@\83C\83\8b\82É\82Í domain \96½\97ß\82ª\82 \82è\82Ü\82¹\82ñ"
-
-#: src/msgconv.c:200 src/msggrep.c:296 src/msgsed.c:262
-msgid "at most one input file allowed"
+#: src/msgconv.c:251
+#, no-wrap
+msgid "Converts a translation catalog to a different character encoding.\n"
 msgstr ""
 
-#: src/msgconv.c:239 src/msggrep.c:371 src/msgsed.c:318
-#, c-format, no-wrap
-msgid "Usage: %s [OPTION] [INPUTFILE]\n"
-msgstr ""
-
-#: src/msgconv.c:244
-#, no-wrap
-msgid "Converts a translation catalog to a different character encoding.\n"
-msgstr ""
-
-#: src/msgconv.c:254 src/msggrep.c:387 src/msgsed.c:333
-#, no-wrap
-msgid ""
-"Input file location:\n"
-"  INPUTFILE                   input PO file\n"
-"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
-"If no input file is given or if it is -, standard input is read.\n"
-msgstr ""
-
-#: src/msgconv.c:262 src/msgen.c:250 src/msggrep.c:395 src/msgmerge.c:311
-#: src/msgsed.c:341
-#, no-wrap
-msgid ""
-"Output file location:\n"
-"  -o, --output-file=FILE      write output to specified file\n"
-"The results are written to standard output if no output file is specified\n"
-"or if it is -.\n"
-msgstr ""
-
-#: src/msgconv.c:270
+#: src/msgconv.c:277
 #, no-wrap
 msgid ""
 "Conversion target:\n"
@@ -598,7 +783,7 @@ msgid ""
 "The default encoding is the current locale's encoding.\n"
 msgstr ""
 
-#: src/msgconv.c:277 src/msgen.c:258 src/msgmerge.c:325
+#: src/msgconv.c:284 src/msgen.c:266 src/msgmerge.c:442
 #, fuzzy, no-wrap
 msgid ""
 "Output details:\n"
@@ -610,7 +795,7 @@ msgid ""
 "      --add-location          preserve '#: filename:line' lines (default)\n"
 "      --strict                strict Uniforum output style\n"
 "  -w, --width=NUMBER          set output page width\n"
-"  -s, --sort-output           generate sorted output and remove duplicates\n"
+"  -s, --sort-output           generate sorted output\n"
 "  -F, --sort-by-file          sort output by file location\n"
 msgstr ""
 "\8eg\97p\96@: %s [\83I\83v\83V\83\87\83\93] def.po ref.po\n"
@@ -630,21 +815,21 @@ msgstr ""
 "  -V, --version                 \83\94\83@\81[\83W\83\87\83\93\8fî\95ñ\82ð\95\\8e¦\82µ\82Ä\8fI\97¹\n"
 "  -w, --width=NUMBER            \83y\81[\83W\95\9d\82Ì\90Ý\92è\n"
 
-#: src/msgen.c:184 src/msgfmt.c:288 src/xgettext.c:402
+#: src/msgen.c:187 src/msgfmt.c:349 src/xgettext.c:388
 msgid "no input file given"
 msgstr "\93ü\97Í\83t\83@\83C\83\8b\82ª\8ew\92è\82³\82ê\82Ä\82Ü\82¹\82ñ"
 
-#: src/msgen.c:189
+#: src/msgen.c:192
 #, fuzzy
 msgid "exactly one input file required"
 msgstr "2\82Â\82Ì\93ü\97Í\83t\83@\83C\83\8b\82ª\95K\97v"
 
-#: src/msgen.c:224
+#: src/msgen.c:232
 #, c-format, no-wrap
 msgid "Usage: %s [OPTION] INPUTFILE\n"
 msgstr ""
 
-#: src/msgen.c:229
+#: src/msgen.c:237
 #, no-wrap
 msgid ""
 "Creates an English translation catalog.  The input file is the last\n"
@@ -653,7 +838,7 @@ msgid ""
 "identical to the msgid, and are marked fuzzy.\n"
 msgstr ""
 
-#: src/msgen.c:242
+#: src/msgen.c:250
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -662,40 +847,154 @@ msgid ""
 "If input file is -, standard input is read.\n"
 msgstr ""
 
-#: src/msgfmt.c:339
+#: src/msgexec.c:255
+#, fuzzy
+msgid "missing filter name"
+msgstr "\88ø\90\94\82ª\8c\87\94@"
+
+#: src/msgexec.c:279
+#, fuzzy
+msgid "at least one sed script must be specified"
+msgstr "\8f­\82È\82­\82Æ\82à\93ñ\82Â\82Ì\83t\83@\83C\83\8b\82ð\8ew\92è\82µ\82Ä\89º\82³\82¢"
+
+#: src/msgexec.c:343
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] FILTER [FILTER-OPTION]\n"
+msgstr ""
+
+#: src/msgexec.c:348
+#, no-wrap
+msgid "Applies a filter to all translations of a translation catalog.\n"
+msgstr ""
+
+#: src/msgexec.c:358
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  -i, --input=INPUTFILE       input PO file\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"If no input file is given or if it is -, standard input is read.\n"
+msgstr ""
+
+#: src/msgexec.c:374
+#, no-wrap
+msgid ""
+"The FILTER can be any program that reads a translation from standard input\n"
+"and writes a modified translation to standard output.\n"
+msgstr ""
+
+#: src/msgexec.c:380
+#, no-wrap
+msgid ""
+"Useful FILTER-OPTIONs when the FILTER is 'sed':\n"
+"  -e, --expression=SCRIPT     add SCRIPT to the commands to be executed\n"
+"  -f, --file=SCRIPTFILE       add the contents of SCRIPTFILE to the commands\n"
+"                                to be executed\n"
+"  -n, --quiet, --silent       suppress automatic printing of pattern space\n"
+msgstr ""
+
+#: src/msgexec.c:389
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
+"      --no-escape             do not use C escapes in output (default)\n"
+"  -E, --escape                use C escapes in output, no extended chars\n"
+"      --force-po              write PO file even if empty\n"
+"      --indent                indented output style\n"
+"      --no-location           suppress '#: filename:line' lines\n"
+"      --add-location          preserve '#: filename:line' lines (default)\n"
+"      --strict                strict Uniforum output style\n"
+"  -w, --width=NUMBER          set output page width\n"
+"  -s, --sort-output           generate sorted output\n"
+"  -F, --sort-by-file          sort output by file location\n"
+msgstr ""
+"\8eg\97p\96@: %s [\83I\83v\83V\83\87\83\93] def.po ref.po\n"
+"\92·\82¢\83I\83v\83V\83\87\83\93\82É\95K\90{\82Ì\88ø\90\94\82Í\92Z\82¢\83I\83v\83V\83\87\83\93\82É\82à\93¯\97l\82É\95K\97v\82Å\82·\81B\n"
+"  -C, --compendium=FILE         \83\81\83b\83Z\81[\83W\92\8a\8fo\83\89\83C\83u\83\89\83\8a\82Ì\92Ç\89Á\81i\95¡\90\94\8ew\92è\89Â\94\\81j\n"
+"  -D, --directory=DIR           \93ü\97Í\83t\83@\83C\83\8b\82Ì\8c\9f\8dõ\83p\83X\82É DIR \82ð\92Ç\89Á \n"
+"  -e, --no-escape               \83G\83X\83P\81[\83v\83L\83\83\83\89\83N\83^\82ð\8fo\97Í\82µ\82È\82¢\81i\83f\83t\83H\83\8b\83g\81j\n"
+"  -E, --escape                  \83G\83X\83P\81[\83v\83L\83\83\83\89\83N\83^\82Í\82»\82Ì\82Ü\82Ü\8fo\97Í\82³\82ê\82é\n"
+"      --force-po                PO \83t\83@\83C\83\8b\82ª\8bó\82Å\82à\8f\91\82«\8d\9e\82Þ\n"
+"  -h, --help                    \82±\82Ì\83w\83\8b\83v\83\81\83b\83Z\81[\83W\82ð\8fo\97Í\82µ\82Ä\8fI\97¹\n"
+"  -i, --indent                  \83C\83\93\83f\83\93\83g\82µ\82Ä\8fo\97Í\82·\82é\n"
+"  -o, --output-file=FILE        FILE \82É\8fo\97Í\82·\82é\n"
+"      --no-location             '#:\83t\83@\83C\83\8b\96¼:\8ds\94Ô\8d\86'\82Ì\8ds\82ð\8fo\97Í\82µ\82È\82¢\n"
+"      --add-location            '#:\83t\83@\83C\83\8b\96¼:\8ds\94Ô\8d\86'\82Ì\8ds\82ð\8fo\97Í\82·\82é(\83f\83t\83H\83\8b\83g)\n"
+"      --strict                  \82¢\82í\82ä\82é'Uniform\8fo\97Í\97l\8e®'\82É\8cµ\8ai\82É\8f]\82¤\n"
+"  -v, --verbose                 \8fç\92·\93x\82ð\82 \82°\82é\n"
+"  -V, --version                 \83\94\83@\81[\83W\83\87\83\93\8fî\95ñ\82ð\95\\8e¦\82µ\82Ä\8fI\97¹\n"
+"  -w, --width=NUMBER            \83y\81[\83W\95\9d\82Ì\90Ý\92è\n"
+
+#: src/msgexec.c:546
 #, c-format
-msgid "error while opening \"%s\" for writing"
-msgstr "\"%s\" \82Ì\83I\81[\83v\83\93\82Å\83G\83\89\81["
+msgid "cannot set up nonblocking I/O to %s subprocess"
+msgstr ""
+
+#: src/msgexec.c:574
+#, c-format
+msgid "communication with %s subprocess failed"
+msgstr ""
+
+#: src/msgexec.c:594
+#, c-format
+msgid "write to %s subprocess failed"
+msgstr ""
+
+#: src/msgexec.c:625
+#, c-format
+msgid "read from %s subprocess failed"
+msgstr ""
+
+#: src/msgexec.c:641
+#, c-format
+msgid "%s subprocess terminated with exit code %d"
+msgstr ""
+
+#: src/msgfmt.c:303
+#, c-format
+msgid "the argument to %s should be a single punctuation character"
+msgstr ""
+
+#: src/msgfmt.c:364
+#, c-format
+msgid "%s requires a \"-d directory\" specification"
+msgstr ""
+
+#: src/msgfmt.c:373 src/msgfmt.c:379 src/msgfmt.c:385 src/msgmerge.c:290
+#: src/msgmerge.c:296 src/msgunfmt.c:209 src/msgunfmt.c:215
+#, c-format
+msgid "%s is only valid with %s"
+msgstr ""
 
-#: src/msgfmt.c:357
+#: src/msgfmt.c:452
 #, fuzzy, c-format
 msgid "%d translated message"
 msgid_plural "%d translated messages"
 msgstr[0] "%d \8cÂ\82Ì\96|\96ó\82³\82ê\82½\83\81\83b\83Z\81[\83W"
 
-#: src/msgfmt.c:362
+#: src/msgfmt.c:457
 #, fuzzy, c-format
 msgid ", %d fuzzy translation"
 msgid_plural ", %d fuzzy translations"
 msgstr[0] ", %d \8cÂ\82Ì\9eB\96\86\82È\96|\96ó"
 
-#: src/msgfmt.c:367
+#: src/msgfmt.c:462
 #, fuzzy, c-format
 msgid ", %d untranslated message"
 msgid_plural ", %d untranslated messages"
 msgstr[0] ", %d \8cÂ\82Ì\96|\96ó\82³\82ê\82È\82¢\83\81\83b\83Z\81[\83W"
 
-#: src/msgfmt.c:389
+#: src/msgfmt.c:484
 #, c-format, no-wrap
 msgid "Usage: %s [OPTION] filename.po ...\n"
 msgstr ""
 
-#: src/msgfmt.c:394
+#: src/msgfmt.c:489
 #, no-wrap
 msgid "Generate binary message catalog from textual translation description.\n"
 msgstr ""
 
-#: src/msgfmt.c:404
+#: src/msgfmt.c:499
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -704,7 +1003,15 @@ msgid ""
 "If input file is -, standard input is read.\n"
 msgstr ""
 
-#: src/msgfmt.c:412
+#: src/msgfmt.c:507
+#, no-wrap
+msgid ""
+"Operation mode:\n"
+"  -j, --java                  Java mode: generate a Java ResourceBundle class\n"
+"      --java2                 like --java, and assume Java2 (JDK 1.2 or higher)\n"
+msgstr ""
+
+#: src/msgfmt.c:514
 #, no-wrap
 msgid ""
 "Output file location:\n"
@@ -713,15 +1020,35 @@ msgid ""
 "If output file is -, output is written to standard output.\n"
 msgstr ""
 
-#: src/msgfmt.c:420
+#: src/msgfmt.c:522
+#, no-wrap
+msgid ""
+"Output file location in Java mode:\n"
+"  -r, --resource=RESOURCE     resource name\n"
+"  -l, --locale=LOCALE         locale name, either language or language_COUNTRY\n"
+"  -d DIRECTORY                base directory of classes directory hierarchy\n"
+"The class name is determined by appending the locale name to the resource name,\n"
+"separated with an underscore.  The -d option is mandatory.  The class is\n"
+"written under the specified directory.\n"
+msgstr ""
+
+#: src/msgfmt.c:533
 #, no-wrap
 msgid ""
 "Input file interpretation:\n"
-"  -c, --check                 perform language dependent checks on strings\n"
+"  -c, --check                 perform all the checks implied by\n"
+"                                --check-format, --check-header, --check-domain\n"
+"      --check-format          check language dependent format strings\n"
+"      --check-header          verify presence and contents of the header entry\n"
+"      --check-domain          check for conflicts between domain directives\n"
+"                                and the --output-file option\n"
+"  -C, --check-compatibility   check that GNU msgfmt behaves like X/Open msgfmt\n"
+"      --check-accelerators[=CHAR]  check presence of keyboard accelerators for\n"
+"                                menu items\n"
 "  -f, --use-fuzzy             use fuzzy entries in output\n"
 msgstr ""
 
-#: src/msgfmt.c:427
+#: src/msgfmt.c:548
 #, c-format, no-wrap
 msgid ""
 "Output details:\n"
@@ -729,83 +1056,80 @@ msgid ""
 "      --no-hash               binary file will not include the hash table\n"
 msgstr ""
 
-#: src/msgfmt.c:434
+#: src/msgfmt.c:555
 #, no-wrap
 msgid ""
 "Informative output:\n"
 "  -h, --help                  display this help and exit\n"
 "  -V, --version               output version information and exit\n"
 "      --statistics            print statistics about translations\n"
-"  -v, --verbose               list input file anomalies\n"
-"Giving the -v option more than once increases the verbosity level.\n"
+"  -v, --verbose               increase verbosity level\n"
 msgstr ""
 
-#: src/msgfmt.c:466
-msgid "while creating hash table"
-msgstr "\83n\83b\83V\83\85\83e\81[\83u\83\8b\82ð\8dì\90¬\82·\82é\8dÛ\82É"
+#: src/msgfmt.c:707
+msgid "plural expression can produce negative values"
+msgstr ""
 
-#: src/msgfmt.c:504
-#, fuzzy
-msgid "warning: PO file header missing, fuzzy, or invalid\n"
+#: src/msgfmt.c:720
+#, c-format
+msgid "nplurals = %lu but plural expression can produce values as large as %lu"
 msgstr ""
-"%s: \8cx\8d\90: PO \83t\83@\83C\83\8b\82Ì\83w\83b\83_\82ª\82È\82¢\82©\81A\9eB\96\86\82©\81A\82 \82é\82¢\82Í\96³\8cø\82Å\82·\n"
-"%*s  \8cx\8d\90\95\8e\9a\83Z\83b\83g\82Ì\95Ï\8a·\82ª\82Å\82«\82Ü\82¹\82ñ"
 
-#: src/msgfmt.c:507
-#, fuzzy
-msgid "warning: charset conversion will not work\n"
+#: src/msgfmt.c:746
+msgid "plural expression can produce division by zero"
 msgstr ""
-"%s: \8cx\8d\90\83w\83b\83_\82É\95\8e\9a\83Z\83b\83g\82Ì\8bL\8fq\82ª\82 \82è\82Ü\82¹\82ñ\n"
-"%*s \8cx\8d\90\95\8e\9a\83Z\83b\83g\82Ì\95Ï\8a·\82Í\82Å\82«\82È\82¢\82Å\82µ\82å\82¤"
 
-#: src/msgfmt.c:531
-#, c-format
-msgid "domain name \"%s\" not suitable as file name"
-msgstr "domain \96¼ \"%s\" \82Í\83t\83@\83C\83\8b\96¼\82Æ\82µ\82Ä\93K\90Ø\82Å\82 \82è\82Ü\82¹\82ñ"
+#: src/msgfmt.c:751
+msgid "plural expression can produce integer overflow"
+msgstr ""
 
-#: src/msgfmt.c:536
-#, c-format
-msgid "domain name \"%s\" not suitable as file name: will use prefix"
-msgstr "domain \96¼ \"%s\" \82Í\83t\83@\83C\83\8b\96¼\82Æ\82µ\82Ä\93K\90Ø\82Å\82 \82è\82Ü\82¹\82ñ: prefix \82ð\97p\82¢\82Ü\82·"
+#: src/msgfmt.c:756
+msgid ""
+"plural expression can produce arithmetic exceptions, possibly division by "
+"zero"
+msgstr ""
 
-#. We don't change the exit status here because this is really
-#. only an information.
-#: src/msgfmt.c:549
-#, fuzzy, c-format
-msgid "`domain %s' directive ignored"
-msgstr "`domain %s'\82Í\96³\8e\8b\82³\82ê\82Ü\82µ\82½"
+#: src/msgfmt.c:830 src/msgfmt.c:841
+msgid "message catalog has plural form translations..."
+msgstr ""
 
-#: src/msgfmt.c:585
-msgid "empty `msgstr' entry ignored"
-msgstr "\8bó\82Ì`msgstr'\83G\83\93\83g\83\8a\82Í\96³\8e\8b\82³\82ê\82Ü\82µ\82½"
+#: src/msgfmt.c:833
+msgid "...but header entry lacks a \"plural=EXPRESSION\" attribute"
+msgstr ""
 
-#: src/msgfmt.c:586
-msgid "fuzzy `msgstr' entry ignored"
-msgstr "\9eB\96\86\82È`msgstr'\83G\83\93\83g\83\8a\82Í\96³\8e\8b\82³\82ê\82Ü\82µ\82½"
+#: src/msgfmt.c:844
+msgid "...but header entry lacks a \"nplurals=INTEGER\" attribute"
+msgstr ""
 
-#: src/msgfmt.c:629
-#, c-format
-msgid "headerfield `%s' missing in header"
-msgstr "\83w\83b\83_\81[\83t\83B\81[\83\8b\83h`%s'\82ª\82 \82è\82Ü\82¹\82ñ"
+#: src/msgfmt.c:868
+#, fuzzy
+msgid "invalid nplurals value"
+msgstr "\95s\90³\82È\83R\83\93\83g\83\8d\81[\83\8b\83V\81[\83P\83\93\83X\82ª\8c\9f\8fo\82³\82ê\82Ü\82µ\82½"
 
-#: src/msgfmt.c:632
-#, c-format
-msgid "header field `%s' should start at beginning of line"
-msgstr "\83w\83b\83_\81[\83t\83B\81[\83\8b\83h`%s'\82ð\8ds\82Ì\90æ\93ª\82©\82ç\8en\82ß\82Ä\82­\82¾\82³\82¢"
+#: src/msgfmt.c:881
+msgid "invalid plural expression"
+msgstr ""
 
-#: src/msgfmt.c:642
-msgid "some header fields still have the initial default value"
-msgstr "\83w\83b\83_\83t\83B\81[\83\8b\83h\82Ì\92\86\82É\8f\89\8aú\92l\82Ì\82Ü\82Ü\82Ì\82à\82Ì\82ª\82 \82è\82Ü\82·"
+#: src/msgfmt.c:899 src/msgfmt.c:912
+#, c-format
+msgid "nplurals = %lu..."
+msgstr ""
 
-#: src/msgfmt.c:653
+#: src/msgfmt.c:902
 #, c-format
-msgid "field `%s' still has initial default value"
-msgstr "\83t\83B\81[\83\8b\83h %s \82Í\96¢\82¾\82É\8f\89\8aú\92l\82Ì\82Ü\82Ü\82Å\82·"
+msgid "...but some messages have only %lu plural forms"
+msgstr ""
 
-#: src/msgfmt.c:745
+#: src/msgfmt.c:915
 #, c-format
-msgid "%s: warning: source file contains fuzzy translation"
-msgstr "%s: \8cx\8d\90\83\\81[\83X\83t\83@\83C\83\8b\82É\9eB\96\86\82È\96|\96ó\82ª\82 \82è\82Ü\82·"
+msgid "...but some messages have %lu plural forms"
+msgstr ""
+
+#: src/msgfmt.c:930
+msgid ""
+"message catalog has plural form translations, but lacks a header entry with "
+"\"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\""
+msgstr ""
 
 #: src/msgfmt.c:968
 msgid "`msgid' and `msgid_plural' entries do not both begin with '\\n'"
@@ -834,28 +1158,110 @@ msgstr "`msgid' 
 msgid "`msgid' and `msgstr' entries do not both end with '\\n'"
 msgstr "`msgid' \82Æ `msgstr' \82Ì\91o\95û\82ð \\n \82Å\8fI\97¹\82³\82¹\82Ä\89º\82³\82¢"
 
-#: src/msgfmt.c:1047
-msgid "number of format specifications in `msgid' and `msgstr' does not match"
-msgstr "`msgid'\82Æ`msgstr'\82Ì\83t\83H\81[\83}\83b\83g\97l\8e®\82ª\8d\87\92v\82µ\82Ü\82¹\82ñ"
+#: src/msgfmt.c:1041
+msgid "plural handling is a GNU gettext extension"
+msgstr ""
 
-#: src/msgfmt.c:1066
+#: src/msgfmt.c:1088
+#, c-format
+msgid "'msgstr' is not a valid %s format string, unlike 'msgid'"
+msgstr ""
+
+#: src/msgfmt.c:1122
+#, c-format
+msgid "msgstr lacks the keyboard accelerator mark '%c'"
+msgstr ""
+
+#: src/msgfmt.c:1130
+#, c-format
+msgid "msgstr has too many keyboard accelerator marks '%c'"
+msgstr ""
+
+#: src/msgfmt.c:1164
+#, c-format
+msgid "headerfield `%s' missing in header"
+msgstr "\83w\83b\83_\81[\83t\83B\81[\83\8b\83h`%s'\82ª\82 \82è\82Ü\82¹\82ñ"
+
+#: src/msgfmt.c:1167
+#, c-format
+msgid "header field `%s' should start at beginning of line"
+msgstr "\83w\83b\83_\81[\83t\83B\81[\83\8b\83h`%s'\82ð\8ds\82Ì\90æ\93ª\82©\82ç\8en\82ß\82Ä\82­\82¾\82³\82¢"
+
+#: src/msgfmt.c:1176
+msgid "some header fields still have the initial default value"
+msgstr "\83w\83b\83_\83t\83B\81[\83\8b\83h\82Ì\92\86\82É\8f\89\8aú\92l\82Ì\82Ü\82Ü\82Ì\82à\82Ì\82ª\82 \82è\82Ü\82·"
+
+#: src/msgfmt.c:1187
+#, c-format
+msgid "field `%s' still has initial default value"
+msgstr "\83t\83B\81[\83\8b\83h %s \82Í\96¢\82¾\82É\8f\89\8aú\92l\82Ì\82Ü\82Ü\82Å\82·"
+
+#: src/msgfmt.c:1228
+#, fuzzy
+msgid "warning: PO file header missing or invalid\n"
+msgstr ""
+"%s: \8cx\8d\90: PO \83t\83@\83C\83\8b\82Ì\83w\83b\83_\82ª\82È\82¢\82©\81A\9eB\96\86\82©\81A\82 \82é\82¢\82Í\96³\8cø\82Å\82·\n"
+"%*s  \8cx\8d\90\95\8e\9a\83Z\83b\83g\82Ì\95Ï\8a·\82ª\82Å\82«\82Ü\82¹\82ñ"
+
+#: src/msgfmt.c:1231
+#, fuzzy
+msgid "warning: charset conversion will not work\n"
+msgstr ""
+"%s: \8cx\8d\90\83w\83b\83_\82É\95\8e\9a\83Z\83b\83g\82Ì\8bL\8fq\82ª\82 \82è\82Ü\82¹\82ñ\n"
+"%*s \8cx\8d\90\95\8e\9a\83Z\83b\83g\82Ì\95Ï\8a·\82Í\82Å\82«\82È\82¢\82Å\82µ\82å\82¤"
+
+#: src/msgfmt.c:1241
+#, fuzzy
+msgid "warning: PO file header fuzzy\n"
+msgstr ""
+"%s: \8cx\8d\90: PO \83t\83@\83C\83\8b\82Ì\83w\83b\83_\82ª\82È\82¢\82©\81A\9eB\96\86\82©\81A\82 \82é\82¢\82Í\96³\8cø\82Å\82·\n"
+"%*s  \8cx\8d\90\95\8e\9a\83Z\83b\83g\82Ì\95Ï\8a·\82ª\82Å\82«\82Ü\82¹\82ñ"
+
+#: src/msgfmt.c:1243
+msgid "warning: older versions of msgfmt will give an error on this\n"
+msgstr ""
+
+#: src/msgfmt.c:1268
+#, c-format
+msgid "domain name \"%s\" not suitable as file name"
+msgstr "domain \96¼ \"%s\" \82Í\83t\83@\83C\83\8b\96¼\82Æ\82µ\82Ä\93K\90Ø\82Å\82 \82è\82Ü\82¹\82ñ"
+
+#: src/msgfmt.c:1273
+#, c-format
+msgid "domain name \"%s\" not suitable as file name: will use prefix"
+msgstr "domain \96¼ \"%s\" \82Í\83t\83@\83C\83\8b\96¼\82Æ\82µ\82Ä\93K\90Ø\82Å\82 \82è\82Ü\82¹\82ñ: prefix \82ð\97p\82¢\82Ü\82·"
+
+#: src/msgfmt.c:1284
 #, fuzzy, c-format
-msgid "format specifications for argument %lu are not the same"
-msgstr "\88ø\90\94 %u \82É\91Î\82·\82é\83t\83H\81[\83}\83b\83g\97l\8e®\82ª\88Ù\82È\82è\82Ü\82·"
+msgid "`domain %s' directive ignored"
+msgstr "`domain %s'\82Í\96³\8e\8b\82³\82ê\82Ü\82µ\82½"
+
+#: src/msgfmt.c:1356
+msgid "empty `msgstr' entry ignored"
+msgstr "\8bó\82Ì`msgstr'\83G\83\93\83g\83\8a\82Í\96³\8e\8b\82³\82ê\82Ü\82µ\82½"
+
+#: src/msgfmt.c:1357
+msgid "fuzzy `msgstr' entry ignored"
+msgstr "\9eB\96\86\82È`msgstr'\83G\83\93\83g\83\8a\82Í\96³\8e\8b\82³\82ê\82Ü\82µ\82½"
 
-#: src/msggrep.c:354
+#: src/msgfmt.c:1426
+#, c-format
+msgid "%s: warning: source file contains fuzzy translation"
+msgstr "%s: \8cx\8d\90\83\\81[\83X\83t\83@\83C\83\8b\82É\9eB\96\86\82È\96|\96ó\82ª\82 \82è\82Ü\82·"
+
+#: src/msggrep.c:359
 #, c-format
 msgid "option '%c' cannot be used before 'K' or 'T' has been specified"
 msgstr ""
 
-#: src/msggrep.c:376
+#: src/msggrep.c:381
 #, no-wrap
 msgid ""
 "Extracts all messages of a translation catalog that match a given pattern\n"
 "or belong to some given source files.\n"
 msgstr ""
 
-#: src/msggrep.c:403
+#: src/msggrep.c:408
 #, no-wrap
 msgid ""
 "Message selection:\n"
@@ -864,8 +1270,15 @@ msgid ""
 "or if it comes from one of the specified domains,\n"
 "or if -K is given and its key (msgid or msgid_plural) matches MSGID-PATTERN,\n"
 "or if -T is given and its translation (msgstr) matches MSGSTR-PATTERN.\n"
+"\n"
+"When more than one selection criterion is specified, the set of selected\n"
+"messages is the union of the selected messages of each criterion.\n"
+"\n"
+"MSGID-PATTERN or MSGSTR-PATTERN syntax:\n"
+"  [-E | -F] [-e PATTERN | -f FILE]...\n"
 "PATTERNs are basic regular expressions by default, or extended regular\n"
 "expressions if -E is given, or fixed strings if -F is given.\n"
+"\n"
 "  -N, --location=SOURCEFILE   select messages extracted from SOURCEFILE\n"
 "  -M, --domain=DOMAINNAME     select messages belonging to domain DOMAINNAME\n"
 "  -K, --msgid                 start of patterns for the msgid\n"
@@ -877,43 +1290,194 @@ msgid ""
 "  -i, --ignore-case           ignore case distinctions\n"
 msgstr ""
 
-#: src/msggrep.c:424
-#, fuzzy, no-wrap
+#: src/msggrep.c:436
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
+"      --no-escape             do not use C escapes in output (default)\n"
+"      --escape                use C escapes in output, no extended chars\n"
+"      --force-po              write PO file even if empty\n"
+"      --indent                indented output style\n"
+"      --no-location           suppress '#: filename:line' lines\n"
+"      --add-location          preserve '#: filename:line' lines (default)\n"
+"      --strict                strict Uniforum output style\n"
+"  -w, --width=NUMBER          set output page width\n"
+"      --sort-output           generate sorted output\n"
+"      --sort-by-file          sort output by file location\n"
+msgstr ""
+"\8eg\97p\96@: %s [\83I\83v\83V\83\87\83\93] def.po ref.po\n"
+"\92·\82¢\83I\83v\83V\83\87\83\93\82É\95K\90{\82Ì\88ø\90\94\82Í\92Z\82¢\83I\83v\83V\83\87\83\93\82É\82à\93¯\97l\82É\95K\97v\82Å\82·\81B\n"
+"  -C, --compendium=FILE         \83\81\83b\83Z\81[\83W\92\8a\8fo\83\89\83C\83u\83\89\83\8a\82Ì\92Ç\89Á\81i\95¡\90\94\8ew\92è\89Â\94\\81j\n"
+"  -D, --directory=DIR           \93ü\97Í\83t\83@\83C\83\8b\82Ì\8c\9f\8dõ\83p\83X\82É DIR \82ð\92Ç\89Á \n"
+"  -e, --no-escape               \83G\83X\83P\81[\83v\83L\83\83\83\89\83N\83^\82ð\8fo\97Í\82µ\82È\82¢\81i\83f\83t\83H\83\8b\83g\81j\n"
+"  -E, --escape                  \83G\83X\83P\81[\83v\83L\83\83\83\89\83N\83^\82Í\82»\82Ì\82Ü\82Ü\8fo\97Í\82³\82ê\82é\n"
+"      --force-po                PO \83t\83@\83C\83\8b\82ª\8bó\82Å\82à\8f\91\82«\8d\9e\82Þ\n"
+"  -h, --help                    \82±\82Ì\83w\83\8b\83v\83\81\83b\83Z\81[\83W\82ð\8fo\97Í\82µ\82Ä\8fI\97¹\n"
+"  -i, --indent                  \83C\83\93\83f\83\93\83g\82µ\82Ä\8fo\97Í\82·\82é\n"
+"  -o, --output-file=FILE        FILE \82É\8fo\97Í\82·\82é\n"
+"      --no-location             '#:\83t\83@\83C\83\8b\96¼:\8ds\94Ô\8d\86'\82Ì\8ds\82ð\8fo\97Í\82µ\82È\82¢\n"
+"      --add-location            '#:\83t\83@\83C\83\8b\96¼:\8ds\94Ô\8d\86'\82Ì\8ds\82ð\8fo\97Í\82·\82é(\83f\83t\83H\83\8b\83g)\n"
+"      --strict                  \82¢\82í\82ä\82é'Uniform\8fo\97Í\97l\8e®'\82É\8cµ\8ai\82É\8f]\82¤\n"
+"  -v, --verbose                 \8fç\92·\93x\82ð\82 \82°\82é\n"
+"  -V, --version                 \83\94\83@\81[\83W\83\87\83\93\8fî\95ñ\82ð\95\\8e¦\82µ\82Ä\8fI\97¹\n"
+"  -w, --width=NUMBER            \83y\81[\83W\95\9d\82Ì\90Ý\92è\n"
+
+#: src/msggrep.c:510
+msgid "write to grep subprocess failed"
+msgstr ""
+
+#: src/msginit.c:275
+msgid ""
+"You are in a language indifferent environment.  Please set\n"
+"your LANG environment variable, as described in the ABOUT-NLS\n"
+"file.  This is necessary so you can test your translations.\n"
+msgstr ""
+
+#: src/msginit.c:303
+#, c-format
+msgid ""
+"Output file %s already exists.\n"
+"Please specify the locale through the --locale option or\n"
+"the output .po file through the --output-file option.\n"
+msgstr ""
+
+#: src/msginit.c:326
+#, c-format
+msgid "Created %s.\n"
+msgstr ""
+
+#: src/msginit.c:348
+#, no-wrap
+msgid ""
+"Creates a new PO file, initializing the meta information with values from the\n"
+"user's environment.\n"
+msgstr ""
+
+#: src/msginit.c:359
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  -i, --input=INPUTFILE       input POT file\n"
+"If no input file is given, the current directory is searched for the POT file.\n"
+"If it is -, standard input is read.\n"
+msgstr ""
+
+#: src/msginit.c:367
+#, no-wrap
+msgid ""
+"Output file location:\n"
+"  -o, --output-file=FILE      write output to specified PO file\n"
+"If no output file is given, it depends on the --locale option or the user's\n"
+"locale setting.  If it is -, the results are written to standard output.\n"
+msgstr ""
+
+#: src/msginit.c:375
+#, no-wrap
+msgid ""
+"Output details:\n"
+"  -l, --locale=LL_CC          set target locale\n"
+"      --no-translator         assume the PO file is automatically generated\n"
+"  -w, --width=NUMBER          set output page width\n"
+msgstr ""
+
+#: src/msginit.c:426
+msgid ""
+"Found more than one .pot file.\n"
+"Please specify the input .pot file through the --input option.\n"
+msgstr ""
+
+#: src/msginit.c:434 src/msginit.c:439
+msgid "error reading current directory"
+msgstr ""
+
+#: src/msginit.c:447
+msgid ""
+"Found no .pot file in the current directory.\n"
+"Please specify the input .pot file through the --input option.\n"
+msgstr ""
+
+#: src/msginit.c:887 src/msginit.c:932 src/msginit.c:1070 src/msginit.c:1137
+#: src/read-java.c:80
+msgid "fdopen() failed"
+msgstr ""
+
+#: src/msginit.c:892 src/msginit.c:937 src/msginit.c:1075
+#, c-format
+msgid "%s subprocess I/O error"
+msgstr ""
+
+#: src/msginit.c:901 src/msginit.c:946 src/msginit.c:1084 src/msginit.c:1151
+#: src/read-java.c:90
+#, c-format
+msgid "%s subprocess failed with exit code %d"
+msgstr ""
+
+#: src/msginit.c:1060
+msgid ""
+"The new message catalog should contain your email address, so that users "
+"can\n"
+"give you feedback about the translations, and so that maintainers can "
+"contact\n"
+"you in case of unexpected technical problems.\n"
+msgstr ""
+
+#. TRANSLATORS: "English" needs to be replaced by your language.
+#. For example in it.po write "Traduzioni italiani ...",
+#. *not* "Traduzioni inglesi ...".
+#: src/msginit.c:1440
+#, c-format
+msgid "English translations for %s package"
+msgstr ""
+
+#: src/msgl-cat.c:173 src/msgl-charset.c:86 src/msgl-iconv.c:299
+#, c-format
+msgid "present charset \"%s\" is not a portable encoding name"
+msgstr ""
+
+#: src/msgl-cat.c:181 src/msgl-iconv.c:307
+#, c-format
+msgid "two different charsets \"%s\" and \"%s\" in input file"
+msgstr ""
+
+#: src/msgl-cat.c:194
+#, c-format
+msgid ""
+"input file `%s' doesn't contain a header entry with a charset specification"
+msgstr ""
+
+#: src/msgl-cat.c:198
+#, c-format
+msgid ""
+"domain \"%s\" in input file `%s' doesn't contain a header entry with a "
+"charset specification"
+msgstr ""
+
+#: src/msgl-cat.c:359 src/msgl-iconv.c:382
+#, c-format
+msgid "target charset \"%s\" is not a portable encoding name."
+msgstr ""
+
+#: src/msgl-cat.c:409 src/msgl-cat.c:415 src/msgl-charset.c:91
+#: src/msgl-charset.c:126 src/write-po.c:723 src/write-po.c:817
+msgid "warning: "
+msgstr ""
+
+#: src/msgl-cat.c:410
 msgid ""
-"Output details:\n"
-"      --no-escape             do not use C escapes in output (default)\n"
-"      --escape                use C escapes in output, no extended chars\n"
-"      --force-po              write PO file even if empty\n"
-"      --indent                indented output style\n"
-"      --no-location           suppress '#: filename:line' lines\n"
-"      --add-location          preserve '#: filename:line' lines (default)\n"
-"      --strict                strict Uniforum output style\n"
-"  -w, --width=NUMBER          set output page width\n"
-"      --sort-output           generate sorted output and remove duplicates\n"
-"      --sort-by-file          sort output by file location\n"
+"Input files contain messages in different encodings, UTF-8 among others.\n"
+"Converting the output to UTF-8.\n"
 msgstr ""
-"\8eg\97p\96@: %s [\83I\83v\83V\83\87\83\93] def.po ref.po\n"
-"\92·\82¢\83I\83v\83V\83\87\83\93\82É\95K\90{\82Ì\88ø\90\94\82Í\92Z\82¢\83I\83v\83V\83\87\83\93\82É\82à\93¯\97l\82É\95K\97v\82Å\82·\81B\n"
-"  -C, --compendium=FILE         \83\81\83b\83Z\81[\83W\92\8a\8fo\83\89\83C\83u\83\89\83\8a\82Ì\92Ç\89Á\81i\95¡\90\94\8ew\92è\89Â\94\\81j\n"
-"  -D, --directory=DIR           \93ü\97Í\83t\83@\83C\83\8b\82Ì\8c\9f\8dõ\83p\83X\82É DIR \82ð\92Ç\89Á \n"
-"  -e, --no-escape               \83G\83X\83P\81[\83v\83L\83\83\83\89\83N\83^\82ð\8fo\97Í\82µ\82È\82¢\81i\83f\83t\83H\83\8b\83g\81j\n"
-"  -E, --escape                  \83G\83X\83P\81[\83v\83L\83\83\83\89\83N\83^\82Í\82»\82Ì\82Ü\82Ü\8fo\97Í\82³\82ê\82é\n"
-"      --force-po                PO \83t\83@\83C\83\8b\82ª\8bó\82Å\82à\8f\91\82«\8d\9e\82Þ\n"
-"  -h, --help                    \82±\82Ì\83w\83\8b\83v\83\81\83b\83Z\81[\83W\82ð\8fo\97Í\82µ\82Ä\8fI\97¹\n"
-"  -i, --indent                  \83C\83\93\83f\83\93\83g\82µ\82Ä\8fo\97Í\82·\82é\n"
-"  -o, --output-file=FILE        FILE \82É\8fo\97Í\82·\82é\n"
-"      --no-location             '#:\83t\83@\83C\83\8b\96¼:\8ds\94Ô\8d\86'\82Ì\8ds\82ð\8fo\97Í\82µ\82È\82¢\n"
-"      --add-location            '#:\83t\83@\83C\83\8b\96¼:\8ds\94Ô\8d\86'\82Ì\8ds\82ð\8fo\97Í\82·\82é(\83f\83t\83H\83\8b\83g)\n"
-"      --strict                  \82¢\82í\82ä\82é'Uniform\8fo\97Í\97l\8e®'\82É\8cµ\8ai\82É\8f]\82¤\n"
-"  -v, --verbose                 \8fç\92·\93x\82ð\82 \82°\82é\n"
-"  -V, --version                 \83\94\83@\81[\83W\83\87\83\93\8fî\95ñ\82ð\95\\8e¦\82µ\82Ä\8fI\97¹\n"
-"  -w, --width=NUMBER            \83y\81[\83W\95\9d\82Ì\90Ý\92è\n"
 
-#: src/msggrep.c:498
-msgid "write to grep subprocess failed"
+#: src/msgl-cat.c:416
+#, c-format
+msgid ""
+"Input files contain messages in different encodings, %s and %s among "
+"others.\n"
+"Converting the output to UTF-8.\n"
+"To select a different output encoding, use the --to-code option.\n"
 msgstr ""
 
-#: src/msgl-charset.c:88
+#: src/msgl-charset.c:92
 #, c-format
 msgid ""
 "Locale charset \"%s\" is different from\n"
@@ -922,12 +1486,12 @@ msgid ""
 "Possible workarounds are:\n"
 msgstr ""
 
-#: src/msgl-charset.c:95
+#: src/msgl-charset.c:99
 #, c-format
 msgid "- Set LC_ALL to a locale with encoding %s.\n"
 msgstr ""
 
-#: src/msgl-charset.c:100
+#: src/msgl-charset.c:104
 #, c-format
 msgid ""
 "- Convert the translation catalog to %s using 'msgconv',\n"
@@ -935,7 +1499,7 @@ msgid ""
 "  then convert back to %s using 'msgconv'.\n"
 msgstr ""
 
-#: src/msgl-charset.c:109
+#: src/msgl-charset.c:113
 #, c-format
 msgid ""
 "- Set LC_ALL to a locale with encoding %s,\n"
@@ -944,7 +1508,7 @@ msgid ""
 "  then convert back to %s using 'msgconv'.\n"
 msgstr ""
 
-#: src/msgl-charset.c:123
+#: src/msgl-charset.c:127
 #, c-format
 msgid ""
 "Locale charset \"%s\" is not a portable encoding name.\n"
@@ -952,29 +1516,33 @@ msgid ""
 "A possible workaround is to set LC_ALL=C.\n"
 msgstr ""
 
-#: src/msgl-iconv.c:192 src/msgl-iconv.c:246
+#: src/msgl-iconv.c:200 src/msgl-iconv.c:254
 msgid "conversion failure"
 msgstr ""
 
-#: src/msgl-iconv.c:317
+#: src/msgl-iconv.c:328
 msgid "input file doesn't contain a header entry with a charset specification"
 msgstr ""
 
-#: src/msgl-iconv.c:334
+#: src/msgl-iconv.c:346
 #, c-format
 msgid ""
 "Cannot convert from \"%s\" to \"%s\". %s relies on iconv(), and iconv() does "
 "not support this conversion."
 msgstr ""
 
-#: src/msgl-iconv.c:350
+#: src/msgl-iconv.c:362
 #, c-format
 msgid ""
 "Cannot convert from \"%s\" to \"%s\". %s relies on iconv(). This version was "
 "built without iconv()."
 msgstr ""
 
-#: src/msgmerge.c:283
+#: src/msgmerge.c:340
+msgid "backup type"
+msgstr ""
+
+#: src/msgmerge.c:377
 #, fuzzy, no-wrap
 msgid ""
 "Merges two Uniforum style .po files together.  The def.po file is an\n"
@@ -996,7 +1564,7 @@ msgstr ""
 "  \90³\8am\82È\88ê\92v\82ª\82È\82¢\82Æ\82±\82ë\82Å\82Í\81A\82æ\82è\91Ã\93\96\82È\8c\8b\89Ê\82ð\93¾\82é\82½\82ß\82É\9eB\96\86\82È\88ê\92v\95û\96@\82ª\8dÌ\97p\n"
 "\82³\82ê\82é\81B\8c\8b\89Ê\82Í\83t\83@\83C\83\8b\8ew\92è\82ª\82È\82¢\8cÀ\82è\95W\8f\80\8fo\97Í\82É\8f\91\82«\8fo\82³\82ê\82é\81B\n"
 
-#: src/msgmerge.c:301
+#: src/msgmerge.c:395
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -1007,7 +1575,32 @@ msgid ""
 "                              may be specified more than once\n"
 msgstr ""
 
-#: src/msgmerge.c:340
+#: src/msgmerge.c:405
+#, no-wrap
+msgid ""
+"Operation mode:\n"
+"  -U, --update                update def.po,\n"
+"                              do nothing if def.po already up to date\n"
+msgstr ""
+
+#: src/msgmerge.c:420
+#, no-wrap
+msgid ""
+"Output file location in update mode:\n"
+"The result is written back to def.po.\n"
+"      --backup=CONTROL        make a backup of def.po\n"
+"      --suffix=SUFFIX         override the usual backup suffix\n"
+"The version control method may be selected via the --backup option or through\n"
+"the VERSION_CONTROL environment variable.  Here are the values:\n"
+"  none, off       never make backups (even if --backup is given)\n"
+"  numbered, t     make numbered backups\n"
+"  existing, nil   numbered if numbered backups exist, simple otherwise\n"
+"  simple, never   always make simple backups\n"
+"The backup suffix is `~', unless set with --suffix or the SIMPLE_BACKUP_SUFFIX\n"
+"environment variable.\n"
+msgstr ""
+
+#: src/msgmerge.c:457
 #, no-wrap
 msgid ""
 "Informative output:\n"
@@ -1017,101 +1610,50 @@ msgid ""
 "  -q, --quiet, --silent       suppress progress indicators\n"
 msgstr ""
 
-#: src/msgmerge.c:578
+#: src/msgmerge.c:625
+#, fuzzy
+msgid "this message should define plural forms"
+msgstr "\82±\82Ì\83\81\83b\83Z\81[\83W\82Í\8eg\97p\82³\82ê\82Ä\82Ü\82·\82ª %s \82Å\92è\8b`\82³\82ê\82Ä\82Ü\82¹\82ñ"
+
+#: src/msgmerge.c:648
+#, fuzzy
+msgid "this message should not define plural forms"
+msgstr "\82±\82Ì\83\81\83b\83Z\81[\83W\82Í\8eg\97p\82³\82ê\82Ä\82Ü\82·\82ª %s \82Å\92è\8b`\82³\82ê\82Ä\82Ü\82¹\82ñ"
+
+#: src/msgmerge.c:779
 #, fuzzy, c-format
 msgid ""
 "%sRead %ld old + %ld reference, merged %ld, fuzzied %ld, missing %ld, "
 "obsolete %ld.\n"
 msgstr "%s:  \8aù\91¶ %d + \8eQ\8fÆ %d, \97Z\8d\87 %d, \9eB\96\86 %d, \8c\87\94@ %d, \94ñ\8dÌ\97p %d.\n"
 
-#: src/msgmerge.c:586
+#: src/msgmerge.c:787
 msgid " done.\n"
 msgstr " \8a®\97¹\82µ\82Ü\82µ\82½\n"
 
-#: src/msgsed.c:267
-#, fuzzy
-msgid "at least one sed script must be specified"
-msgstr "\8f­\82È\82­\82Æ\82à\93ñ\82Â\82Ì\83t\83@\83C\83\8b\82ð\8ew\92è\82µ\82Ä\89º\82³\82¢"
-
-#: src/msgsed.c:323
-#, no-wrap
-msgid "Applies a sed script to all translations of a translation catalog.\n"
-msgstr ""
-
-#: src/msgsed.c:349
-#, no-wrap
-msgid ""
-"Sed options:\n"
-"  -e, --expression=SCRIPT     add SCRIPT to the commands to be executed\n"
-"  -f, --file=SCRIPTFILE       add the contents of SCRIPTFILE to the commands\n"
-"                                to be executed\n"
-"  -n, --quiet, --silent       suppress automatic printing of pattern space\n"
-msgstr ""
-
-#: src/msgsed.c:358
-#, fuzzy, no-wrap
-msgid ""
-"Output details:\n"
-"      --no-escape             do not use C escapes in output (default)\n"
-"  -E, --escape                use C escapes in output, no extended chars\n"
-"      --force-po              write PO file even if empty\n"
-"  -i, --indent                indented output style\n"
-"      --no-location           suppress '#: filename:line' lines\n"
-"      --add-location          preserve '#: filename:line' lines (default)\n"
-"      --strict                strict Uniforum output style\n"
-"  -w, --width=NUMBER          set output page width\n"
-"  -s, --sort-output           generate sorted output and remove duplicates\n"
-"  -F, --sort-by-file          sort output by file location\n"
-msgstr ""
-"\8eg\97p\96@: %s [\83I\83v\83V\83\87\83\93] def.po ref.po\n"
-"\92·\82¢\83I\83v\83V\83\87\83\93\82É\95K\90{\82Ì\88ø\90\94\82Í\92Z\82¢\83I\83v\83V\83\87\83\93\82É\82à\93¯\97l\82É\95K\97v\82Å\82·\81B\n"
-"  -C, --compendium=FILE         \83\81\83b\83Z\81[\83W\92\8a\8fo\83\89\83C\83u\83\89\83\8a\82Ì\92Ç\89Á\81i\95¡\90\94\8ew\92è\89Â\94\\81j\n"
-"  -D, --directory=DIR           \93ü\97Í\83t\83@\83C\83\8b\82Ì\8c\9f\8dõ\83p\83X\82É DIR \82ð\92Ç\89Á \n"
-"  -e, --no-escape               \83G\83X\83P\81[\83v\83L\83\83\83\89\83N\83^\82ð\8fo\97Í\82µ\82È\82¢\81i\83f\83t\83H\83\8b\83g\81j\n"
-"  -E, --escape                  \83G\83X\83P\81[\83v\83L\83\83\83\89\83N\83^\82Í\82»\82Ì\82Ü\82Ü\8fo\97Í\82³\82ê\82é\n"
-"      --force-po                PO \83t\83@\83C\83\8b\82ª\8bó\82Å\82à\8f\91\82«\8d\9e\82Þ\n"
-"  -h, --help                    \82±\82Ì\83w\83\8b\83v\83\81\83b\83Z\81[\83W\82ð\8fo\97Í\82µ\82Ä\8fI\97¹\n"
-"  -i, --indent                  \83C\83\93\83f\83\93\83g\82µ\82Ä\8fo\97Í\82·\82é\n"
-"  -o, --output-file=FILE        FILE \82É\8fo\97Í\82·\82é\n"
-"      --no-location             '#:\83t\83@\83C\83\8b\96¼:\8ds\94Ô\8d\86'\82Ì\8ds\82ð\8fo\97Í\82µ\82È\82¢\n"
-"      --add-location            '#:\83t\83@\83C\83\8b\96¼:\8ds\94Ô\8d\86'\82Ì\8ds\82ð\8fo\97Í\82·\82é(\83f\83t\83H\83\8b\83g)\n"
-"      --strict                  \82¢\82í\82ä\82é'Uniform\8fo\97Í\97l\8e®'\82É\8cµ\8ai\82É\8f]\82¤\n"
-"  -v, --verbose                 \8fç\92·\93x\82ð\82 \82°\82é\n"
-"  -V, --version                 \83\94\83@\81[\83W\83\87\83\93\8fî\95ñ\82ð\95\\8e¦\82µ\82Ä\8fI\97¹\n"
-"  -w, --width=NUMBER            \83y\81[\83W\95\9d\82Ì\90Ý\92è\n"
-
-#: src/msgsed.c:514
-msgid "cannot set up nonblocking I/O to sed subprocess"
-msgstr ""
-
-#: src/msgsed.c:542
-msgid "communication with sed subprocess failed"
-msgstr ""
-
-#: src/msgsed.c:562
-msgid "write to sed subprocess failed"
-msgstr ""
-
-#: src/msgsed.c:592
-msgid "read from sed subprocess failed"
-msgstr ""
-
-#: src/msgsed.c:608
-#, c-format
-msgid "sed subprocess terminated with exit code %d"
-msgstr ""
+#: src/msgunfmt.c:201
+#, fuzzy, c-format
+msgid "%s and explicit file names are mutually exclusive"
+msgstr "%s \82Æ %s \82Í\8cÝ\82¢\82É\94r\91¼\93I\82Å\82·"
 
-#: src/msgunfmt.c:224
+#: src/msgunfmt.c:267
 #, c-format, no-wrap
 msgid "Usage: %s [OPTION] [FILE]...\n"
 msgstr ""
 
-#: src/msgunfmt.c:229
+#: src/msgunfmt.c:272
 #, no-wrap
 msgid "Convert binary message catalog to Uniforum style .po file.\n"
 msgstr ""
 
-#: src/msgunfmt.c:239
+#: src/msgunfmt.c:282
+#, no-wrap
+msgid ""
+"Operation mode:\n"
+"  -j, --java               Java mode: generate a Java ResourceBundle class\n"
+msgstr ""
+
+#: src/msgunfmt.c:288
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -1119,7 +1661,17 @@ msgid ""
 "If no input file is given or if it is -, standard input is read.\n"
 msgstr ""
 
-#: src/msgunfmt.c:246
+#: src/msgunfmt.c:295
+#, no-wrap
+msgid ""
+"Input file location in Java mode:\n"
+"  -r, --resource=RESOURCE  resource name\n"
+"  -l, --locale=LOCALE      locale name, either language or language_COUNTRY\n"
+"The class name is determined by appending the locale name to the resource name,\n"
+"separated with an underscore.  The class is located using the CLASSPATH.\n"
+msgstr ""
+
+#: src/msgunfmt.c:304
 #, no-wrap
 msgid ""
 "Output file location:\n"
@@ -1128,7 +1680,7 @@ msgid ""
 "or if it is -.\n"
 msgstr ""
 
-#: src/msgunfmt.c:254
+#: src/msgunfmt.c:312
 #, fuzzy, no-wrap
 msgid ""
 "Output details:\n"
@@ -1138,7 +1690,7 @@ msgid ""
 "  -i, --indent             write indented output style\n"
 "      --strict             write strict uniforum style\n"
 "  -w, --width=NUMBER       set output page width\n"
-"  -s, --sort-output        generate sorted output and remove duplicates\n"
+"  -s, --sort-output        generate sorted output\n"
 msgstr ""
 "\8eg\97p\96@: %s [\83I\83v\83V\83\87\83\93] [MO \83t\83@\83C\83\8b]... \n"
 "\92·\82¢\83I\83v\83V\83\87\83\93\82É\95K\90{\82Ì\88ø\90\94\82Í\92Z\82¢\83I\83v\83V\83\87\83\93\82É\82à\93¯\97l\82É\95K\97v\82Å\82·\81B\n"
@@ -1153,52 +1705,49 @@ msgstr ""
 "  -V, --version             \83\94\83@\81[\83W\83\87\83\93\8fî\95ñ\82ð\95\\8e¦\82µ\82Ä\8fI\97¹\n"
 "  -w, --width=NUMBER        \8fo\97Í\82Ì\83y\81[\83W\95\9d\82ð\90Ý\92è\82·\82é\n"
 
-#: src/msgunfmt.c:266
+#: src/msgunfmt.c:324
 #, no-wrap
 msgid ""
 "Informative output:\n"
 "  -h, --help               display this help and exit\n"
 "  -V, --version            output version information and exit\n"
+"  -v, --verbose            increase verbosity level\n"
 msgstr ""
 
-#: src/msgunfmt.c:294 src/msgunfmt.c:359 src/po-lex.c:213 src/xget-lex.c:245
-#, c-format
-msgid "error while reading \"%s\""
-msgstr " \"%s\" \82ð\93Ç\82Ý\8d\9e\82Þ\8dÛ\82É\83G\83\89\81["
-
-#: src/msgunfmt.c:295 src/msgunfmt.c:360
-#, c-format
-msgid "file \"%s\" truncated"
-msgstr "\83t\83@\83C\83\8b \"%s\" \82Í\90Ø\8bl\82ß\82ç\82ê\82Ü\82µ\82½"
-
-#: src/msgunfmt.c:326
-#, c-format
-msgid "seek \"%s\" offset %ld failed"
-msgstr "\"%s\" \82Ì\83I\83t\83Z\83b\83g\88Ê\92u %ld \82Ì\93Ç\82Ý\8d\9e\82Ý\82É\8e¸\94s\82µ\82Ü\82µ\82½"
-
-#: src/msgunfmt.c:365
-#, c-format
-msgid "file \"%s\" contains a not NUL terminated string"
-msgstr "\83t\83@\83C\83\8b\"%s\" \82Í\83k\83\8b\95\8e\9a\82Å\8fI\97¹\82µ\82È\82¢\95\8e\9a\97ñ\82ð\8aÜ\82ñ\82Å\82¢\82Ü\82·"
+#: src/msguniq.c:279
+#, no-wrap
+msgid ""
+"Unifies duplicate translations in a translation catalog.\n"
+"Finds duplicate translations of the same message ID.  Such duplicates are\n"
+"invalid input for other programs like msgfmt, msgmerge or msgcat.  By\n"
+"default, duplicates are merged together.  When using the --repeated option,\n"
+"only duplicates are output, and all other messages are discarded.  Comments\n"
+"and extracted comments will be cumulated, except that if --use-first is\n"
+"specified, they will be taken from the first translation.  File positions\n"
+"will be cumulated.  When using the --unique option, duplicates are discarded.\n"
+msgstr ""
 
-#: src/msgunfmt.c:410
-#, c-format
-msgid "file \"%s\" is not in GNU .mo format"
-msgstr "\83t\83@\83C\83\8b\"%s\" \82Í GNU \82Ì MO \8c`\8e®\82Å\82 \82è\82Ü\82¹\82ñ"
+#: src/msguniq.c:312
+#, no-wrap
+msgid ""
+"Message selection:\n"
+"  -d, --repeated                 print only duplicates\n"
+"  -u, --unique                   print only unique messages, discard duplicates\n"
+msgstr ""
 
-#: src/ngettext.c:213
+#: src/ngettext.c:215
 #, c-format, no-wrap
 msgid "Usage: %s [OPTION] [TEXTDOMAIN] MSGID MSGID-PLURAL COUNT\n"
 msgstr ""
 
-#: src/ngettext.c:218
+#: src/ngettext.c:220
 #, no-wrap
 msgid ""
 "Display native language translation of a textual message whose grammatical\n"
 "form depends on a number.\n"
 msgstr ""
 
-#: src/ngettext.c:223
+#: src/ngettext.c:225
 #, fuzzy, no-wrap
 msgid ""
 "  -d, --domain=TEXTDOMAIN   retrieve translated message from TEXTDOMAIN\n"
@@ -1220,7 +1769,7 @@ msgstr ""
 "  [TEXTDOMAIN] MSGID     MSGID \82É\8e¦\82³\82ê\82é\96|\96ó\82³\82ê\82½\83\81\83b\83Z\81[\83W\82ð\n"
 "                         TEXTDOMAIN \82©\82ç\93¾\82é\n"
 
-#: src/ngettext.c:234
+#: src/ngettext.c:236
 #, fuzzy, c-format, no-wrap
 msgid ""
 "If the TEXTDOMAIN parameter is not given, the domain is determined from the\n"
@@ -1239,17 +1788,17 @@ msgstr ""
 "\83\81\83b\83Z\81[\83W\82Í\96|\96ó\82³\82ê\82Ä\82¢\82é\n"
 "\8c\9f\8dõ\83f\83B\83\8c\83N\83g\83\8a: %s\n"
 
-#: src/open-po.c:64
+#: src/open-po.c:69
 msgid "<stdin>"
 msgstr ""
 
-#: src/po-charset.c:145 src/po-charset.c:213 src/po-charset.c:239
-#: src/po-charset.c:265
+#: src/po-charset.c:172 src/po-charset.c:240 src/po-charset.c:268
+#: src/po-charset.c:294
 #, c-format
 msgid "%s: warning: "
 msgstr ""
 
-#: src/po-charset.c:146
+#: src/po-charset.c:173
 #, fuzzy, c-format
 msgid ""
 "Charset \"%s\" is not a portable encoding name.\n"
@@ -1258,40 +1807,40 @@ msgstr ""
 "%s: \8cx\8d\90\95\8e\9a\83Z\83b\83g\"%s\"\82Í\89Â\94À\90«\82Ì\82È\82¢\83G\83\93\83R\81[\83f\83B\83\93\83O\96¼\82Å\82·\n"
 "%*s  \8cx\8d\90\95\8e\9a\83Z\83b\83g\95Ï\8a·\82Í\82Å\82«\82È\82¢\82©\82à\92m\82ê\82Ü\82¹\82ñ"
 
-#: src/po-charset.c:209 src/po-charset.c:237
+#: src/po-charset.c:236 src/po-charset.c:266
 msgid "Continuing anyway, expect parse errors."
 msgstr ""
 
-#: src/po-charset.c:211
+#: src/po-charset.c:238
 msgid "Continuing anyway."
 msgstr ""
 
-#: src/po-charset.c:214
+#: src/po-charset.c:241
 #, c-format
 msgid ""
 "Charset \"%s\" is not supported. %s relies on iconv(),\n"
 "and iconv() does not support \"%s\".\n"
 msgstr ""
 
-#: src/po-charset.c:223 src/po-charset.c:247
+#: src/po-charset.c:250 src/po-charset.c:276
 msgid ""
 "Installing GNU libiconv and then reinstalling GNU gettext\n"
 "would fix this problem.\n"
 msgstr ""
 
-#: src/po-charset.c:228 src/po-charset.c:251
+#: src/po-charset.c:255 src/po-charset.c:280
 #, c-format
 msgid "%s\n"
 msgstr ""
 
-#: src/po-charset.c:240
+#: src/po-charset.c:269
 #, c-format
 msgid ""
 "Charset \"%s\" is not supported. %s relies on iconv().\n"
 "This version was built without iconv().\n"
 msgstr ""
 
-#: src/po-charset.c:266
+#: src/po-charset.c:295
 #, fuzzy
 msgid ""
 "Charset missing in header.\n"
@@ -1300,127 +1849,211 @@ msgstr ""
 "%s: \8cx\8d\90\83w\83b\83_\82É\95\8e\9a\83Z\83b\83g\82Ì\8bL\8fq\82ª\82 \82è\82Ü\82¹\82ñ\n"
 "%*s \8cx\8d\90\95\8e\9a\83Z\83b\83g\82Ì\95Ï\8a·\82Í\82Å\82«\82È\82¢\82Å\82µ\82å\82¤"
 
-#: po-gram-gen.y:88
+#: po-gram-gen.y:91
 msgid "inconsistent use of #~"
 msgstr ""
 
-#: po-gram-gen.y:178
+#: po-gram-gen.y:181
 msgid "missing `msgstr[]' section"
 msgstr "`msgstr[]' \82Ì\8d\80\96Ú\82ª\8c\87\94@\82µ\82Ä\82¢\82Ü\82·"
 
-#: po-gram-gen.y:186
+#: po-gram-gen.y:189
 msgid "missing `msgid_plural' section"
 msgstr " msgid_plural \82Ì\8d\80\96Ú\82ª\8c\87\94@\82µ\82Ä\82¢\82Ü\82·"
 
-#: po-gram-gen.y:193
+#: po-gram-gen.y:196
 msgid "missing `msgstr' section"
 msgstr " msgstr \82Ì\8d\80\96Ú\82ª\8c\87\94@\82µ\82Ä\82¢\82Ü\82·"
 
-#: po-gram-gen.y:238
+#: po-gram-gen.y:241
 msgid "first plural form has nonzero index"
 msgstr ""
 
-#: po-gram-gen.y:240
+#: po-gram-gen.y:243
 msgid "plural form has wrong index"
 msgstr ""
 
-#. CAUTION: If you change this macro, you must also make identical
-#. changes to the function of the same name in src/po-lex.c
-#: src/po-lex.c:152 src/po-lex.c:195 src/po-lex.h:77 src/po-lex.h:93
-#: src/po-lex.h:111 src/po-lex.h:127
+#: src/po-lex.h:91 src/po-lex.h:106 src/po-lex.h:126 src/po-lex.h:141
+#: src/po-lex.c:135 src/po-lex.c:176
 msgid "too many errors, aborting"
 msgstr "\83G\83\89\81[\82ª\91½\82·\82¬\82é\82½\82ß\8eÀ\8ds\82ð\92\86\8e~\82µ\82Ü\82µ\82½"
 
-#: src/po-lex.c:271
+#: src/po-lex.c:545 src/write-po.c:331 src/write-po.c:421
+#, fuzzy
+msgid "invalid multibyte sequence"
+msgstr "\95s\90³\82È\83R\83\93\83g\83\8d\81[\83\8b\83V\81[\83P\83\93\83X\82ª\8c\9f\8fo\82³\82ê\82Ü\82µ\82½"
+
+#: src/po-lex.c:571
+#, fuzzy
+msgid "incomplete multibyte sequence at end of file"
+msgstr "\95s\90³\82È\83R\83\93\83g\83\8d\81[\83\8b\83V\81[\83P\83\93\83X\82ª\8c\9f\8fo\82³\82ê\82Ü\82µ\82½"
+
+#: src/po-lex.c:581
+#, fuzzy
+msgid "incomplete multibyte sequence at end of line"
+msgstr "\95s\90³\82È\83R\83\93\83g\83\8d\81[\83\8b\83V\81[\83P\83\93\83X\82ª\8c\9f\8fo\82³\82ê\82Ü\82µ\82½"
+
+#: src/po-lex.c:589
+msgid "iconv failure"
+msgstr ""
+
+#: src/po-lex.c:763 src/read-mo.c:70 src/read-mo.c:135 src/x-c.c:216
+#: src/x-rst.c:227 src/x-ycp.c:103
+#, c-format
+msgid "error while reading \"%s\""
+msgstr " \"%s\" \82ð\93Ç\82Ý\8d\9e\82Þ\8dÛ\82É\83G\83\89\81["
+
+#: src/po-lex.c:829
 #, c-format
 msgid "keyword \"%s\" unknown"
 msgstr "\83L\81[\83\8f\81[\83h \"%s\" \82ð\94F\8e¯\82Å\82«\82Ü\82¹\82ñ"
 
-#: src/po-lex.c:374
+#: src/po-lex.c:939
 msgid "invalid control sequence"
 msgstr "\95s\90³\82È\83R\83\93\83g\83\8d\81[\83\8b\83V\81[\83P\83\93\83X\82ª\8c\9f\8fo\82³\82ê\82Ü\82µ\82½"
 
-#: src/po-lex.c:477
+#: src/po-lex.c:1047
 msgid "end-of-file within string"
 msgstr "\95\8e\9a\97ñ\82Ì\92\86\93r\82Å\83t\83@\83C\83\8b\82ª\8fI\97¹\82µ\82Ü\82µ\82½"
 
-#: src/po-lex.c:482
+#: src/po-lex.c:1053
 msgid "end-of-line within string"
 msgstr "\95\8e\9a\97ñ\82Ì\92\86\82Å\89ü\8ds\82µ\82Ä\82¢\82Ü\82·"
 
-#: src/po-lex.c:525 src/write-po.c:291 src/write-po.c:373
-#, fuzzy
-msgid "invalid multibyte sequence"
-msgstr "\95s\90³\82È\83R\83\93\83g\83\8d\81[\83\8b\83V\81[\83P\83\93\83X\82ª\8c\9f\8fo\82³\82ê\82Ü\82µ\82½"
+#: src/read-mo.c:71 src/read-mo.c:136
+#, c-format
+msgid "file \"%s\" truncated"
+msgstr "\83t\83@\83C\83\8b \"%s\" \82Í\90Ø\8bl\82ß\82ç\82ê\82Ü\82µ\82½"
+
+#: src/read-mo.c:102
+#, c-format
+msgid "seek \"%s\" offset %ld failed"
+msgstr "\"%s\" \82Ì\83I\83t\83Z\83b\83g\88Ê\92u %ld \82Ì\93Ç\82Ý\8d\9e\82Ý\82É\8e¸\94s\82µ\82Ü\82µ\82½"
+
+#: src/read-mo.c:141
+#, c-format
+msgid "file \"%s\" contains a not NUL terminated string"
+msgstr "\83t\83@\83C\83\8b\"%s\" \82Í\83k\83\8b\95\8e\9a\82Å\8fI\97¹\82µ\82È\82¢\95\8e\9a\97ñ\82ð\8aÜ\82ñ\82Å\82¢\82Ü\82·"
+
+#: src/read-mo.c:186
+#, c-format
+msgid "file \"%s\" is not in GNU .mo format"
+msgstr "\83t\83@\83C\83\8b\"%s\" \82Í GNU \82Ì MO \8c`\8e®\82Å\82 \82è\82Ü\82¹\82ñ"
+
+#: src/write-java.c:1108
+msgid "cannot find a temporary directory, try setting $TMPDIR"
+msgstr ""
+
+#: src/write-java.c:1118
+#, fuzzy, c-format
+msgid "cannot create a temporary directory using template \"%s\""
+msgstr "\8fo\97Í\83t\83@\83C\83\8b \"%s\"\82ð\8dì\90¬\82Å\82«\82È\82¢"
+
+#: src/write-java.c:1131
+#, c-format
+msgid "not a valid Java class name: %s"
+msgstr ""
+
+#: src/write-java.c:1188 src/write-java.c:1201
+#, c-format
+msgid "failed to create \"%s\""
+msgstr ""
+
+#: src/write-java.c:1209 src/write-mo.c:289 src/write-po.c:966
+#, c-format
+msgid "error while writing \"%s\" file"
+msgstr "\83t\83@\83C\83\8b \"%s\" \82Ì\8f\91\82«\8d\9e\82Ý\83G\83\89\81["
+
+#: src/write-java.c:1223
+msgid "compilation of Java class failed, please try --verbose or set $JAVAC"
+msgstr ""
 
-#: src/write-po.c:322
+#: src/write-mo.c:277
+#, c-format
+msgid "error while opening \"%s\" for writing"
+msgstr "\"%s\" \82Ì\83I\81[\83v\83\93\82Å\83G\83\89\81["
+
+#: src/write-po.c:370
 #, c-format
 msgid ""
 "internationalized messages should not contain the `\\%c' escape sequence"
 msgstr ""
 "\8d\91\8dÛ\89»\82³\82ê\82½\83\81\83b\83Z\81[\83W\82Í\83G\83X\83P\81[\83v\83V\81[\83P\83\93\83X`\\%c'\82ð\82Ó\82­\82ñ\82Å\82Í\82È\82è\82Ü\82¹\82ñ "
 
-#: src/write-po.c:816
+#: src/write-po.c:724 src/write-po.c:818
+#, c-format
+msgid ""
+"The following msgid contains non-ASCII characters.\n"
+"This will cause problems to translators who use a character encoding\n"
+"different from yours. Consider using a pure ASCII msgid instead.\n"
+"%s\n"
+msgstr ""
+
+#: src/write-po.c:885
 #, c-format
 msgid "cannot create output file \"%s\""
 msgstr "\8fo\97Í\83t\83@\83C\83\8b \"%s\"\82ð\8dì\90¬\82Å\82«\82È\82¢"
 
-#: src/write-po.c:823
+#: src/write-po.c:892
 #, no-c-format
 msgid "standard output"
 msgstr "\95W\8f\80\8fo\97Í"
 
-#: src/write-po.c:893
-#, c-format
-msgid "error while writing \"%s\" file"
-msgstr "\83t\83@\83C\83\8b \"%s\" \82Ì\8f\91\82«\8d\9e\82Ý\83G\83\89\81["
-
-#: src/xget-lex.c:150
-msgid "standard input"
-msgstr "\95W\8f\80\93ü\97Í"
-
-#: src/xget-lex.c:879
+#: src/x-c.c:858
 #, c-format
 msgid "%s:%d: warning: unterminated character constant"
 msgstr "%s:%d: \8cx\8d\90\95\8e\9a\97ñ\92è\90\94\82ª\8a®\8c\8b\82µ\82Ä\82¢\82Ü\82¹\82ñ"
 
-#: src/xget-lex.c:903
+#: src/x-c.c:882
 #, c-format
 msgid "%s:%d: warning: unterminated string literal"
 msgstr "%s:%d: \8cx\8d\90\95\8e\9a\97ñ\82ª\8a®\8c\8b\82µ\82Ä\82¢\82Ü\82¹\82ñ"
 
-#. We are about to construct the absolute path to the
-#. directory for the output files but asprintf failed.
-#: src/xgettext.c:325 src/xgettext.c:1368
-msgid "while preparing output"
-msgstr "\8fo\97Í\82Ì\8f\80\94õ\92\86\82É"
+#: src/x-po.c:106 src/xgettext.c:605
+msgid "this file may not contain domain directives"
+msgstr "\82±\82Ì\83t\83@\83C\83\8b\82É\82Í domain \96½\97ß\82ª\82 \82è\82Ü\82¹\82ñ"
+
+#: src/x-rst.c:108
+#, c-format
+msgid "%s:%d: invalid string definition"
+msgstr ""
+
+#: src/x-rst.c:168
+#, c-format
+msgid "%s:%d: missing number after #"
+msgstr ""
+
+#: src/x-rst.c:203
+#, c-format
+msgid "%s:%d: invalid string expression"
+msgstr ""
 
-#: src/xgettext.c:371
+#: src/xgettext.c:375
 msgid "--join-existing cannot be used when output is written to stdout"
 msgstr "--join-existing \82Í\95W\8f\80\8fo\97Í\82É\8fo\97Í\82·\82é\8e\9e\82É\97p\82¢\82é\82±\82Æ\82Í\82Å\82«\82Ü\82¹\82ñ"
 
-#: src/xgettext.c:376
+#: src/xgettext.c:380
 msgid "xgettext cannot work without keywords to look for"
 msgstr "\8c\9f\8dõ\82·\82×\82«\83L\81[\83\8f\81[\83h\82È\82µ\82Å\82Í xgettext \82Í\8b@\94\\82µ\82Ü\82¹\82ñ"
 
-#: src/xgettext.c:482
+#: src/xgettext.c:468
 #, c-format
 msgid "warning: file `%s' extension `%s' is unknown; will try C"
 msgstr "\8cx\8d\90\83t\83@\83C\83\8b`%s'\82Ì\8ag\92£\8eq`%s'\82ð\94F\8e¯\82Å\82«\82Ü\82¹\82ñ; C \82Æ\82Ý\82È\82µ\82Ü\82·"
 
-#: src/xgettext.c:523
+#: src/xgettext.c:509
 #, no-wrap
 msgid "Extract translatable strings from given input files.\n"
 msgstr ""
 
-#: src/xgettext.c:528
+#: src/xgettext.c:514
 #, no-wrap
 msgid ""
 "Mandatory arguments to long options are mandatory for short options too.\n"
 "Similarly for optional arguments.\n"
 msgstr ""
 
-#: src/xgettext.c:543
+#: src/xgettext.c:529
 #, no-wrap
 msgid ""
 "Output file location:\n"
@@ -1430,16 +2063,17 @@ msgid ""
 "If output file is -, output is written to standard output.\n"
 msgstr ""
 
-#: src/xgettext.c:552
+#: src/xgettext.c:538
 #, no-wrap
 msgid ""
 "Choice of input file language:\n"
-"  -L, --language=NAME            recognise the specified language (C, C++, PO)\n"
+"  -L, --language=NAME            recognise the specified language\n"
+"                                   (C, C++, ObjectiveC, PO, Java, YCP)\n"
 "  -C, --c++                      shorthand for --language=C++\n"
 "By default the language is guessed depending on the input file name extension.\n"
 msgstr ""
 
-#: src/xgettext.c:560
+#: src/xgettext.c:547
 #, no-wrap
 msgid ""
 "Operation mode:\n"
@@ -1449,7 +2083,7 @@ msgid ""
 "                                 preceding keyword lines) in output file\n"
 msgstr ""
 
-#: src/xgettext.c:569
+#: src/xgettext.c:556
 #, no-wrap
 msgid ""
 "Language=C/C++ specific options:\n"
@@ -1460,8 +2094,8 @@ msgid ""
 "      --debug                    more detailed formatstring recognition result\n"
 msgstr ""
 
-#: src/xgettext.c:579
-#, no-wrap
+#: src/xgettext.c:566
+#, fuzzy, no-wrap
 msgid ""
 "Output details:\n"
 "  -e, --no-escape                do not use C escapes in output (default)\n"
@@ -1472,29 +2106,60 @@ msgid ""
 "  -n, --add-location             generate '#: filename:line' lines (default)\n"
 "      --strict                   write out strict Uniforum conforming .po file\n"
 "  -w, --width=NUMBER             set output page width\n"
-"  -s, --sort-output              generate sorted output and remove duplicates\n"
+"  -s, --sort-output              generate sorted output\n"
 "  -F, --sort-by-file             sort output by file location\n"
 "      --omit-header              don't write header with `msgid \"\"' entry\n"
 "      --foreign-user             omit FSF copyright in output for foreign user\n"
 "  -m, --msgstr-prefix[=STRING]   use STRING or \"\" as prefix for msgstr entries\n"
 "  -M, --msgstr-suffix[=STRING]   use STRING or \"\" as suffix for msgstr entries\n"
 msgstr ""
+"\8eg\97p\96@: %s [\83I\83v\83V\83\87\83\93] def.po ref.po\n"
+"\92·\82¢\83I\83v\83V\83\87\83\93\82É\95K\90{\82Ì\88ø\90\94\82Í\92Z\82¢\83I\83v\83V\83\87\83\93\82É\82à\93¯\97l\82É\95K\97v\82Å\82·\81B\n"
+"  -C, --compendium=FILE         \83\81\83b\83Z\81[\83W\92\8a\8fo\83\89\83C\83u\83\89\83\8a\82Ì\92Ç\89Á\81i\95¡\90\94\8ew\92è\89Â\94\\81j\n"
+"  -D, --directory=DIR           \93ü\97Í\83t\83@\83C\83\8b\82Ì\8c\9f\8dõ\83p\83X\82É DIR \82ð\92Ç\89Á \n"
+"  -e, --no-escape               \83G\83X\83P\81[\83v\83L\83\83\83\89\83N\83^\82ð\8fo\97Í\82µ\82È\82¢\81i\83f\83t\83H\83\8b\83g\81j\n"
+"  -E, --escape                  \83G\83X\83P\81[\83v\83L\83\83\83\89\83N\83^\82Í\82»\82Ì\82Ü\82Ü\8fo\97Í\82³\82ê\82é\n"
+"      --force-po                PO \83t\83@\83C\83\8b\82ª\8bó\82Å\82à\8f\91\82«\8d\9e\82Þ\n"
+"  -h, --help                    \82±\82Ì\83w\83\8b\83v\83\81\83b\83Z\81[\83W\82ð\8fo\97Í\82µ\82Ä\8fI\97¹\n"
+"  -i, --indent                  \83C\83\93\83f\83\93\83g\82µ\82Ä\8fo\97Í\82·\82é\n"
+"  -o, --output-file=FILE        FILE \82É\8fo\97Í\82·\82é\n"
+"      --no-location             '#:\83t\83@\83C\83\8b\96¼:\8ds\94Ô\8d\86'\82Ì\8ds\82ð\8fo\97Í\82µ\82È\82¢\n"
+"      --add-location            '#:\83t\83@\83C\83\8b\96¼:\8ds\94Ô\8d\86'\82Ì\8ds\82ð\8fo\97Í\82·\82é(\83f\83t\83H\83\8b\83g)\n"
+"      --strict                  \82¢\82í\82ä\82é'Uniform\8fo\97Í\97l\8e®'\82É\8cµ\8ai\82É\8f]\82¤\n"
+"  -v, --verbose                 \8fç\92·\93x\82ð\82 \82°\82é\n"
+"  -V, --version                 \83\94\83@\81[\83W\83\87\83\93\8fî\95ñ\82ð\95\\8e¦\82µ\82Ä\8fI\97¹\n"
+"  -w, --width=NUMBER            \83y\81[\83W\95\9d\82Ì\90Ý\92è\n"
 
-#: src/xgettext.c:945
-#, c-format
-msgid "%s:%d: warning: keyword nested in keyword arg"
-msgstr "%s:%d: \8cx\8d\90\83L\81[\83\8f\81[\83h\88ø\90\94\82Å\83L\81[\83\8f\81[\83h\82ª\83l\83X\83g\82µ\82Ä\82¢\82Ü\82·"
+#: src/xgettext.c:720
+msgid "standard input"
+msgstr "\95W\8f\80\93ü\97Í"
 
-#: src/xgettext.c:957
-#, c-format
-msgid "%s:%d: warning: keyword between outer keyword and its arg"
-msgstr "%s:%d: \8cx\8d\90\8aO\95\94\83L\81[\83\8f\81[\83h\82Æ\82»\82Ì\88ø\90\94\82Ì\8aÔ\82É\83L\81[\83\8f\81[\83h\82ª\82 \82è\82Ü\82·"
+#: src/xgettext.c:830
+msgid ""
+"Empty msgid.  It is reserved by GNU gettext:\n"
+"gettext(\"\") returns the header entry with\n"
+"meta information, not the empty string.\n"
+msgstr ""
 
-#: src/xgettext.c:1446
+#: src/xgettext.c:1099
 #, c-format
 msgid "language `%s' unknown"
 msgstr "\8c¾\8cê %s \82ð\94F\8e¯\82Å\82«\82Ü\82¹\82ñ"
 
+#~ msgid "while creating hash table"
+#~ msgstr "\83n\83b\83V\83\85\83e\81[\83u\83\8b\82ð\8dì\90¬\82·\82é\8dÛ\82É"
+
+#, fuzzy
+#~ msgid "%s:%lu: warning: keyword nested in keyword arg"
+#~ msgstr "%s:%d: \8cx\8d\90\83L\81[\83\8f\81[\83h\88ø\90\94\82Å\83L\81[\83\8f\81[\83h\82ª\83l\83X\83g\82µ\82Ä\82¢\82Ü\82·"
+
+#, fuzzy
+#~ msgid "%s:%lu: warning: keyword between outer keyword and its arg"
+#~ msgstr "%s:%d: \8cx\8d\90\8aO\95\94\83L\81[\83\8f\81[\83h\82Æ\82»\82Ì\88ø\90\94\82Ì\8aÔ\82É\83L\81[\83\8f\81[\83h\82ª\82 \82è\82Ü\82·"
+
+#~ msgid "while preparing output"
+#~ msgstr "\8fo\97Í\82Ì\8f\80\94õ\92\86\82É"
+
 #~ msgid "this message has no definition in the \"%s\" domain"
 #~ msgstr "\82±\82Ì\83\81\83b\83Z\81[\83W\82Í \"%s\" domain \82Ì\92\86\82Å\92è\8b`\82³\82ê\82Ä\82Ü\82¹\82ñ"
 
index 497b41eb687f21d9c4429200cad9ea354e6d829c..3fd747583c326dee936a86b978cd2b219d17aea3 100644 (file)
Binary files a/po/ko.gmo and b/po/ko.gmo differ
index fd684a72c57b6746c2cc4fe29e92da0118193ae7..95011055cac522c939bbd3b9d70d2f97d3858eea 100644 (file)
--- a/po/ko.po
+++ b/po/ko.po
@@ -5,19 +5,66 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: GNU gettext 0.10.38\n"
-"POT-Creation-Date: 2001-05-30 23:23+0200\n"
+"POT-Creation-Date: 2001-11-30 14:18+0100\n"
 "PO-Revision-Date: 2001-05-28 00:43+0900\n"
 "Last-Translator: Changwoo Ryu <cwryu@debian.org>\n"
 "Language-Team: Korean <ko@li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=EUC-KR\n"
-"Content-Transfer-Encoding: 8-bit\n"
+"Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
 
+#: lib/argmatch.c:141
+#, c-format
+msgid "invalid argument `%s' for `%s'"
+msgstr ""
+
+#: lib/argmatch.c:142
+#, c-format
+msgid "ambiguous argument `%s' for `%s'"
+msgstr ""
+
+#: lib/argmatch.c:162
+msgid "Valid arguments are:"
+msgstr ""
+
+#: lib/copy-file.c:60 src/file-list.c:57 src/po-lex.c:732 src/read-mo.c:170
+#: src/xgettext.c:729 src/xgettext.c:742 src/xgettext.c:752
+#, c-format
+msgid "error while opening \"%s\" for reading"
+msgstr "Àбâ À§ÇØ \"%s\"À» ¿©´Â µ¿¾È ¿À·ù ¹ß»ý"
+
+#: lib/copy-file.c:67
+#, fuzzy, c-format
+msgid "cannot open backup file \"%s\" for writing"
+msgstr "¾²±â À§ÇØ \"%s\"À» ¿©´Â µ¿¾È ¿À·ù ¹ß»ý"
+
+#: lib/copy-file.c:80
+#, fuzzy, c-format
+msgid "error reading \"%s\""
+msgstr "\"%s\"À» Àд µ¿¾È ¿À·ù ¹ß»ý"
+
+#: lib/copy-file.c:86 lib/copy-file.c:90
+#, fuzzy, c-format
+msgid "error writing \"%s\""
+msgstr "\"%s\" ÆÄÀÏÀ» ¾²´Â µ¿¾È ¿À·ù ¹ß»ý"
+
+#: lib/copy-file.c:92
+#, fuzzy, c-format
+msgid "error after reading \"%s\""
+msgstr "\"%s\"À» Àд µ¿¾È ¿À·ù ¹ß»ý"
+
 #: lib/error.c:115
 msgid "Unknown system error"
 msgstr "¾Ë ¼ö ¾ø´Â ½Ã½ºÅÛ ¿À·ù"
 
+#: lib/execute.c:170 lib/execute.c:205 lib/pipe-bidi.c:156 lib/pipe-bidi.c:191
+#: lib/pipe-in.c:167 lib/pipe-in.c:202 lib/pipe-out.c:167 lib/pipe-out.c:202
+#: lib/wait-process.c:136
+#, c-format
+msgid "%s subprocess failed"
+msgstr ""
+
 #: lib/getopt.c:691
 #, c-format
 msgid "%s: option `%s' is ambiguous\n"
@@ -38,19 +85,16 @@ msgstr "%s: `%c%s' 
 msgid "%s: option `%s' requires an argument\n"
 msgstr "%s: `%s' ¿É¼ÇÀº Àμö°¡ ÇÊ¿äÇÕ´Ï´Ù\n"
 
-#. --option
 #: lib/getopt.c:768
 #, c-format
 msgid "%s: unrecognized option `--%s'\n"
 msgstr "%s: ÀνÄÇÒ ¼ö ¾ø´Â ¿É¼Ç `--%s'\n"
 
-#. +option or -option
 #: lib/getopt.c:772
 #, c-format
 msgid "%s: unrecognized option `%c%s'\n"
 msgstr "%s: ÀνÄÇÒ ¼ö ¾ø´Â ¿É¼Ç `%c%s'\n"
 
-#. 1003.2 specifies the format of this message.
 #: lib/getopt.c:798
 #, c-format
 msgid "%s: illegal option -- %c\n"
@@ -61,7 +105,6 @@ msgstr "%s: 
 msgid "%s: invalid option -- %c\n"
 msgstr "%s: ºÎÀûÀýÇÑ ¿É¼Ç -- %c\n"
 
-#. 1003.2 specifies the format of this message.
 #: lib/getopt.c:831 lib/getopt.c:961
 #, c-format
 msgid "%s: option requires an argument -- %c\n"
@@ -77,12 +120,114 @@ msgstr "%s: `-W %s'
 msgid "%s: option `-W %s' doesn't allow an argument\n"
 msgstr "%s: `-W %s' ¿É¼ÇÀº Àμö¸¦ Çã¿ëÇÏÁö ¾Ê½À´Ï´Ù\n"
 
-#: lib/obstack.c:474 lib/xerror.c:69 lib/xmalloc.c:86
+#: lib/javacomp.c:465
+msgid "Java compiler not found, try installing gcj or set $JAVAC"
+msgstr ""
+
+#: lib/javaexec.c:404
+msgid "Java virtual machine not found, try installing gij or set $JAVA"
+msgstr ""
+
+#: lib/obstack.c:474 lib/xerror.c:75 lib/xmalloc.c:56
 msgid "memory exhausted"
 msgstr "¸Þ¸ð¸®°¡ ¹Ù´Ú³µ½À´Ï´Ù"
 
-#: src/gettext.c:143 src/msgcmp.c:138 src/msgcomm.c:275 src/msgfmt.c:268
-#: src/msgmerge.c:199 src/msgunfmt.c:172 src/ngettext.c:123 src/xgettext.c:387
+#: lib/pipe-bidi.c:119 lib/pipe-bidi.c:121 lib/pipe-in.c:136
+#: lib/pipe-out.c:136
+#, fuzzy
+msgid "cannot create pipe"
+msgstr "Ãâ·Â ÆÄÀÏ \"%s\"À» ¸¸µé ¼ö ¾ø½À´Ï´Ù"
+
+#: lib/wait-process.c:117
+#, c-format
+msgid "%s subprocess"
+msgstr ""
+
+#: lib/wait-process.c:129
+#, c-format
+msgid "%s subprocess got fatal signal"
+msgstr ""
+
+#: src/format-c.c:578 src/format-python.c:463
+#, fuzzy
+msgid "number of format specifications in 'msgid' and 'msgstr' does not match"
+msgstr "`msgid'¿Í `msgstr'¿¡ ¾²ÀΠ¼­½Ä ÁöÁ¤ÀÚÀÇ °³¼ö°¡ ÀÏÄ¡ÇÏÁö ¾Ê½À´Ï´Ù"
+
+#: src/format-c.c:588 src/format-python.c:473
+#, fuzzy, c-format
+msgid ""
+"format specifications in 'msgid' and 'msgstr' for argument %u are not the "
+"same"
+msgstr "Àμö %lu¿¡ ´ëÇÑ ¼­½Ä ÁöÁ¤ÀÌ °°Áö ¾Ê½À´Ï´Ù"
+
+#: src/format-java.c:652 src/format-pascal.c:396
+#, fuzzy, c-format
+msgid "a format specification for argument {%u} doesn't exist in 'msgid'"
+msgstr "Àμö %lu¿¡ ´ëÇÑ ¼­½Ä ÁöÁ¤ÀÌ °°Áö ¾Ê½À´Ï´Ù"
+
+#: src/format-java.c:662 src/format-pascal.c:406
+#, fuzzy, c-format
+msgid "a format specification for argument {%u} doesn't exist in 'msgstr'"
+msgstr "Àμö %lu¿¡ ´ëÇÑ ¼­½Ä ÁöÁ¤ÀÌ °°Áö ¾Ê½À´Ï´Ù"
+
+#: src/format-java.c:676 src/format-pascal.c:420
+#, fuzzy, c-format
+msgid ""
+"format specifications in 'msgid' and 'msgstr' for argument {%u} are not the "
+"same"
+msgstr "Àμö %lu¿¡ ´ëÇÑ ¼­½Ä ÁöÁ¤ÀÌ °°Áö ¾Ê½À´Ï´Ù"
+
+#: src/format-lisp.c:3371
+#, fuzzy
+msgid "format specifications in 'msgid' and 'msgstr' are not equivalent"
+msgstr "`msgid'¿Í `msgstr'¿¡ ¾²ÀΠ¼­½Ä ÁöÁ¤ÀÚÀÇ °³¼ö°¡ ÀÏÄ¡ÇÏÁö ¾Ê½À´Ï´Ù"
+
+#: src/format-python.c:391
+#, fuzzy
+msgid ""
+"format specifications in 'msgid' expect a mapping, those in 'msgstr' expect "
+"a tuple"
+msgstr "`msgid'¿Í `msgstr'¿¡ ¾²ÀΠ¼­½Ä ÁöÁ¤ÀÚÀÇ °³¼ö°¡ ÀÏÄ¡ÇÏÁö ¾Ê½À´Ï´Ù"
+
+#: src/format-python.c:399
+#, fuzzy
+msgid ""
+"format specifications in 'msgid' expect a tuple, those in 'msgstr' expect a "
+"mapping"
+msgstr "`msgid'¿Í `msgstr'¿¡ ¾²ÀΠ¼­½Ä ÁöÁ¤ÀÚÀÇ °³¼ö°¡ ÀÏÄ¡ÇÏÁö ¾Ê½À´Ï´Ù"
+
+#: src/format-python.c:422
+#, fuzzy, c-format
+msgid "a format specification for argument '%s' doesn't exist in 'msgid'"
+msgstr "Àμö %lu¿¡ ´ëÇÑ ¼­½Ä ÁöÁ¤ÀÌ °°Áö ¾Ê½À´Ï´Ù"
+
+#: src/format-python.c:432
+#, fuzzy, c-format
+msgid "a format specification for argument '%s' doesn't exist in 'msgstr'"
+msgstr "Àμö %lu¿¡ ´ëÇÑ ¼­½Ä ÁöÁ¤ÀÌ °°Áö ¾Ê½À´Ï´Ù"
+
+#: src/format-python.c:446
+#, fuzzy, c-format
+msgid ""
+"format specifications in 'msgid' and 'msgstr' for argument '%s' are not the "
+"same"
+msgstr "Àμö %lu¿¡ ´ëÇÑ ¼­½Ä ÁöÁ¤ÀÌ °°Áö ¾Ê½À´Ï´Ù"
+
+#: src/format-ycp.c:137
+#, fuzzy, c-format
+msgid "a format specification for argument %u doesn't exist in 'msgstr'"
+msgstr "Àμö %lu¿¡ ´ëÇÑ ¼­½Ä ÁöÁ¤ÀÌ °°Áö ¾Ê½À´Ï´Ù"
+
+#: src/format-ycp.c:138
+#, fuzzy, c-format
+msgid "a format specification for argument %u doesn't exist in 'msgid'"
+msgstr "Àμö %lu¿¡ ´ëÇÑ ¼­½Ä ÁöÁ¤ÀÌ °°Áö ¾Ê½À´Ï´Ù"
+
+#: src/gettext.c:146 src/hostname.c:168 src/msgattrib.c:264 src/msgcat.c:229
+#: src/msgcmp.c:134 src/msgcomm.c:232 src/msgconv.c:182 src/msgen.c:171
+#: src/msgexec.c:240 src/msgfmt.c:333 src/msggrep.c:276 src/msginit.c:247
+#: src/msgmerge.c:252 src/msgunfmt.c:182 src/msguniq.c:207 src/ngettext.c:126
+#: src/xgettext.c:352
 #, c-format, no-wrap
 msgid ""
 "Copyright (C) %s Free Software Foundation, Inc.\n"
@@ -93,39 +238,45 @@ msgstr ""
 "ÀÌ ÇÁ·Î±×·¥Àº °ø°³ ¼ÒÇÁÆ®¿þ¾îÀÔ´Ï´Ù.  º¹»ç Á¶°ÇÀº ¼Ò½º¸¦ ÂüÁ¶ÇϽʽÿÀ. »óǰ¼º\n"
 "À̳ª Æ¯Á¤ ¸ñÀû¿¡ ´ëÇÑ ÀûÇÕ¼ºÀ» ºñ·ÔÇÏ¿©, ¾î¶°ÇÑ º¸Áõµµ ÇÏÁö ¾Ê½À´Ï´Ù.\n"
 
-#: src/gettext.c:148 src/msgcmp.c:143 src/msgcomm.c:280 src/msgfmt.c:273
-#: src/msgmerge.c:204 src/msgunfmt.c:177 src/ngettext.c:128 src/xgettext.c:392
+#: src/gettext.c:151 src/hostname.c:173 src/msgattrib.c:269 src/msgcat.c:234
+#: src/msgcmp.c:139 src/msgcomm.c:237 src/msgconv.c:187 src/msgen.c:176
+#: src/msgexec.c:245 src/msgfmt.c:338 src/msggrep.c:281 src/msginit.c:252
+#: src/msgmerge.c:257 src/msgunfmt.c:187 src/msguniq.c:212 src/ngettext.c:131
+#: src/xgettext.c:357
 #, c-format
 msgid "Written by %s.\n"
 msgstr "%s°¡ ¸¸µé¾ú½À´Ï´Ù.\n"
 
-#: src/gettext.c:166 src/ngettext.c:140
+#: src/gettext.c:169 src/hostname.c:183 src/msginit.c:262 src/ngettext.c:143
 msgid "too many arguments"
 msgstr "Àμö°¡ ³Ê¹« ¸¹À½"
 
-#: src/gettext.c:176 src/ngettext.c:152
+#: src/gettext.c:179 src/ngettext.c:155
 msgid "missing arguments"
 msgstr "Àμö°¡ ºüÁ³À½"
 
-#: src/gettext.c:248 src/msgcmp.c:175 src/msgcomm.c:373 src/msgfmt.c:385
-#: src/msgmerge.c:263 src/msgunfmt.c:211 src/ngettext.c:207 src/xgettext.c:514
+#: src/gettext.c:251 src/hostname.c:197 src/msgattrib.c:322 src/msgcat.c:290
+#: src/msgcmp.c:171 src/msgcomm.c:306 src/msgconv.c:241 src/msgen.c:227
+#: src/msgexec.c:338 src/msgfmt.c:479 src/msggrep.c:371 src/msginit.c:338
+#: src/msgmerge.c:367 src/msgunfmt.c:262 src/msguniq.c:269 src/ngettext.c:210
+#: src/xgettext.c:499
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "´õ ¸¹Àº Á¤º¸¸¦ º¸·Á¸é `%s --help' ÇϽʽÿÀ\n"
 
-#: src/gettext.c:253
+#: src/gettext.c:256
 #, c-format, no-wrap
 msgid ""
 "Usage: %s [OPTION] [[TEXTDOMAIN] MSGID]\n"
 "or:    %s [OPTION] -s [MSGID]...\n"
 msgstr ""
 
-#: src/gettext.c:259
+#: src/gettext.c:262
 #, no-wrap
 msgid "Display native language translation of a textual message.\n"
 msgstr ""
 
-#: src/gettext.c:263
+#: src/gettext.c:266
 #, fuzzy, no-wrap
 msgid ""
 "  -d, --domain=TEXTDOMAIN   retrieve translated messages from TEXTDOMAIN\n"
@@ -147,7 +298,7 @@ msgstr ""
 "  [TEXTDOMAIN] MSGID        MSGID¿¡ ´ëÀÀÇϴ ¹ø¿ªµÈ ¸Þ½ÃÁö¸¦ TEXTDOMAIN¿¡¼­\n"
 "                            ºÒ·¯¿É´Ï´Ù\n"
 
-#: src/gettext.c:274
+#: src/gettext.c:277
 #, fuzzy, c-format, no-wrap
 msgid ""
 "If the TEXTDOMAIN parameter is not given, the domain is determined from the\n"
@@ -168,63 +319,37 @@ msgstr ""
 "Ãâ·ÂµË´Ï´Ù.\n"
 "±âº» Å½»ö µð·ºÅ丮: %s\n"
 
-#: src/gettext.c:284 src/msgcmp.c:214 src/msgcomm.c:452 src/msgfmt.c:444
-#: src/msgmerge.c:332 src/msgunfmt.c:264 src/ngettext.c:240 src/xgettext.c:605
-msgid "Report bugs to <bug-gnu-utils@gnu.org>.\n"
+#: src/gettext.c:288 src/hostname.c:227 src/msgattrib.c:402 src/msgcat.c:371
+#: src/msgcmp.c:216 src/msgcomm.c:384 src/msgconv.c:305 src/msgen.c:287
+#: src/msgexec.c:410 src/msgfmt.c:563 src/msggrep.c:457 src/msginit.c:389
+#: src/msgmerge.c:465 src/msgunfmt.c:331 src/msguniq.c:343 src/ngettext.c:244
+#: src/xgettext.c:591
+#, fuzzy
+msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
 msgstr "<bug-gnu-utils@gnu.org>·Î ¹®Á¦Á¡À» º¸°íÇϽʽÿÀ.\n"
 
-#: src/msgcmp.c:154 src/msgmerge.c:215
-msgid "no input files given"
-msgstr "ÀԷ ÆÄÀÏÀÌ ÁÖ¾îÁöÁö ¾Ê¾Ò½À´Ï´Ù"
-
-#: src/msgcmp.c:159 src/msgmerge.c:220
-msgid "exactly 2 input files required"
-msgstr "Á¤È®È÷ 2°³ÀÇ ÀԷ ÆÄÀÏÀÌ ÇÊ¿äÇÕ´Ï´Ù"
-
-#: src/msgcmp.c:180 src/msgmerge.c:268
+#: src/hostname.c:202 src/msginit.c:343
 #, c-format, no-wrap
-msgid "Usage: %s [OPTION] def.po ref.pot\n"
-msgstr ""
-
-#: src/msgcmp.c:185
-#, fuzzy, no-wrap
-msgid ""
-"Compare two Uniforum style .po files to check that both contain the same\n"
-"set of msgid strings.  The def.po file is an existing PO file with the\n"
-"translations.  The ref.pot file is the last created PO file, or a PO Template\n"
-"file (generally created by xgettext).  This is useful for checking that\n"
-"you have translated each and every message in your program.  Where an exact\n"
-"match cannot be found, fuzzy matching is used to produce better diagnostics.\n"
+msgid "Usage: %s [OPTION]\n"
 msgstr ""
-"»ç¿ë¹ý: %s [¿É¼Ç] def.po ref.po\n"
-"±ä ¿É¼Ç¿¡ ºÎ°¡µÇ´Â Àμö´Â ÂªÀº ¿É¼Ç¿¡µµ Àû¿ëµË´Ï´Ù.\n"
-"  -D, --directory=DIRECTORY   ÀԷ ÆÄÀϠŽ»ö ¸í´Ü¿¡ DIRECTORY¸¦ Ãß°¡ÇÕ´Ï´Ù\n"
-"  -h, --help                  ÀÌ µµ¿ò¸»À» º¸¿©ÁÖ°í Á¾·áÇÕ´Ï´Ù\n"
-"  -V, --version               ¹öÀü Á¤º¸¸¦ Ãâ·ÂÇϰí Á¾·áÇÕ´Ï´Ù\n"
-"\n"
-"°°Àº ³»¿ëÀÇ msgid ¹®ÀÚ¿­À» Æ÷ÇÔÇϰí ÀÖ´ÂÁö È®ÀÎÇϱâ À§ÇØ Uniforum\n"
-"ÇüÅÂÀÇ µÎ .po ÆÄÀÏÀ» ºñ±³ÇÕ´Ï´Ù.  def.po ÆÄÀÏÀº À̹̠Á¸ÀçÇϴ ÆÄÀÏÀ̸ç\n"
-"¿¹Àü¿¡ ¹ø¿ªµÈ ¸Þ½ÃÁö¸¦ ´ã°í ÀÖ½À´Ï´Ù.  ref.po ÆÄÀÏÀº ÃÖ±Ù¿¡ ¸¸µé¾îÁø\n"
-"PO ÆÄÀÏÀÔ´Ï´Ù(ÀϹÝÀûÀ¸·Î xgettext¿¡ ÀÇÇØ).  À̰ÍÀº ÇÁ·Î±×·¥ ³»¿¡ ÀÖ´Â\n"
-"°¢°¢ÀÇ ¸Þ½ÃÁö¸¦ ¹ø¿ªÇß´ÂÁö È®ÀÎÇÒ ¶§ À¯¿ëÇÕ´Ï´Ù.  Á¤È®ÇѠ¦À» Ã£Áö ¸øÇÒ\n"
-"°æ¿ì, º¸´Ù ³ªÀº °á°ú¸¦ ¾ò±â À§ÇØ ÆÛÁö ¸ÅĪÀÌ »ç¿ëµË´Ï´Ù.\n"
 
-#: src/msgcmp.c:195 src/msgcomm.c:395 src/msgfmt.c:400 src/msgmerge.c:286
-#: src/msgunfmt.c:226
+#: src/hostname.c:207
 #, no-wrap
-msgid "Mandatory arguments to long options are mandatory for short options too.\n"
+msgid "Print the machine's hostname.\n"
 msgstr ""
 
-#: src/msgcmp.c:200
+#: src/hostname.c:212
 #, no-wrap
 msgid ""
-"Input file location:\n"
-"  def.po                      translations\n"
-"  ref.pot                     references to the sources\n"
-"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"Output format:\n"
+"  -s, --short           short host name\n"
+"  -f, --fqdn, --long    long host name, includes fully qualified domain name,\n"
+"                          and aliases\n"
+"  -i, --ip-address      addresses for the hostname\n"
 msgstr ""
 
-#: src/msgcmp.c:208
+#: src/hostname.c:221 src/msgattrib.c:396 src/msgcmp.c:210 src/msgconv.c:299
+#: src/msgen.c:281 src/msgexec.c:404 src/msggrep.c:451 src/msginit.c:383
 #, no-wrap
 msgid ""
 "Informative output:\n"
@@ -232,79 +357,143 @@ msgid ""
 "  -V, --version               output version information and exit\n"
 msgstr ""
 
-#: src/msgcmp.c:263 src/msgmerge.c:414
-msgid "this message is used but not defined..."
-msgstr "ÀÌ ¸Þ½ÃÁö´Â »ç¿ëµÇÁö¸¸ Á¤ÀǵÇÁö ¾Ê¾Ò½À´Ï´Ù..."
+#: src/hostname.c:242 src/hostname.c:249
+msgid "could not get host name"
+msgstr ""
 
-#: src/msgcmp.c:265 src/msgmerge.c:416
-msgid "...but this definition is similar"
-msgstr "...ÇÏÁö¸¸ ÀÌ Á¤ÀǴ À¯»çÇÕ´Ï´Ù"
+#: src/msgattrib.c:284 src/msgconv.c:202 src/msgexec.c:190 src/msggrep.c:296
+#: src/msginit.c:205 src/msguniq.c:227
+msgid "at most one input file allowed"
+msgstr ""
 
-#: src/msgcmp.c:271 src/msgmerge.c:443
+#: src/msgattrib.c:290 src/msgattrib.c:294 src/msgcat.c:244 src/msgcat.c:248
+#: src/msgcomm.c:247 src/msgcomm.c:251 src/msgconv.c:208 src/msgconv.c:212
+#: src/msgen.c:198 src/msgen.c:202 src/msgexec.c:260 src/msgexec.c:264
+#: src/msgfmt.c:358 src/msggrep.c:302 src/msggrep.c:306 src/msgmerge.c:282
+#: src/msgmerge.c:303 src/msgmerge.c:307 src/msguniq.c:233 src/msguniq.c:237
+#: src/xgettext.c:367 src/xgettext.c:371
 #, c-format
-msgid "this message is used but not defined in %s"
-msgstr "ÀÌ ¸Þ½ÃÁö´Â »ç¿ëµÇÁö¸¸ %s¿¡¼­ Á¤ÀǵÇÁö ¾Ê¾Ò½À´Ï´Ù"
+msgid "%s and %s are mutually exclusive"
+msgstr "%s¿Í %s´Â ¼­·Î ¹èŸÀûÀÔ´Ï´Ù"
 
-#: src/msgcmp.c:285
-msgid "warning: this message is not used"
-msgstr "°æ°í: ÀÌ ¸Þ½ÃÁö´Â »ç¿ëµÇÁö ¾Ê½À´Ï´Ù"
+#: src/msgattrib.c:327 src/msgconv.c:246 src/msggrep.c:376 src/msguniq.c:274
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] [INPUTFILE]\n"
+msgstr ""
 
-#: src/msgcmp.c:291 src/po-lex.c:98
-#, c-format
-msgid "found %d fatal error"
-msgid_plural "found %d fatal errors"
-msgstr[0] "%d°³ÀÇ Ä¡¸íÀûÀΠ¿À·ù¸¦ Ã£¾Ò½À´Ï´Ù"
+#: src/msgattrib.c:332
+#, no-wrap
+msgid ""
+"Filters the messages of a translation catalog according to their attributes,\n"
+"and manipulates the attributes.\n"
+msgstr ""
 
-#: src/msgcmp.c:365 src/msgfmt.c:699 src/read-po.c:237 src/xgettext.c:1199
-msgid "duplicate message definition"
-msgstr "Áߺ¹µÈ ¸Þ½ÃÁö Á¤ÀÇ"
+#: src/msgattrib.c:338 src/msgcat.c:313 src/msgcmp.c:191 src/msgcomm.c:328
+#: src/msgconv.c:256 src/msgen.c:245 src/msgexec.c:353 src/msgfmt.c:494
+#: src/msggrep.c:387 src/msginit.c:354 src/msgmerge.c:390 src/msgunfmt.c:277
+#: src/msguniq.c:291
+#, no-wrap
+msgid "Mandatory arguments to long options are mandatory for short options too.\n"
+msgstr ""
 
-#: src/msgcmp.c:366 src/msgfmt.c:701 src/read-po.c:238 src/xgettext.c:1200
-msgid "...this is the location of the first definition"
-msgstr "...¿©±â´Â Ã¹¹øÂ° Á¤ÀÇÀÇ À§Ä¡ÀÔ´Ï´Ù"
+#: src/msgattrib.c:343 src/msgconv.c:261 src/msggrep.c:392 src/msguniq.c:296
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  INPUTFILE                   input PO file\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"If no input file is given or if it is -, standard input is read.\n"
+msgstr ""
 
-#: src/msgcmp.c:406 src/read-po.c:286
-#, c-format
-msgid "this message has no definition in the \"%s\" domain"
-msgstr "ÀÌ ¸Þ½ÃÁö´Â \"%s\" ¿µ¿ª¿¡ Á¤Àǰ¡ ¾ø½À´Ï´Ù"
+#: src/msgattrib.c:351 src/msgconv.c:269 src/msgen.c:258 src/msgexec.c:366
+#: src/msggrep.c:400 src/msgmerge.c:412
+#, no-wrap
+msgid ""
+"Output file location:\n"
+"  -o, --output-file=FILE      write output to specified file\n"
+"The results are written to standard output if no output file is specified\n"
+"or if it is -.\n"
+msgstr ""
 
-#. We are about to construct the absolute path to the
-#. directory for the output files but asprintf failed.
-#: src/msgcomm.c:231 src/xgettext.c:326 src/xgettext.c:1395
-msgid "while preparing output"
-msgstr "Ãâ·ÂÀ» ÁغñÇϴ µ¿¾È"
+#: src/msgattrib.c:359
+#, no-wrap
+msgid ""
+"Message selection:\n"
+"      --translated            keep translated, remove untranslated messages\n"
+"      --untranslated          keep untranslated, remove translated messages\n"
+"      --no-fuzzy              remove 'fuzzy' marked messages\n"
+"      --only-fuzzy            keep 'fuzzy' marked messages\n"
+"      --no-obsolete           remove obsolete #~ messages\n"
+"      --only-obsolete         keep obsolete #~ messages\n"
+msgstr ""
 
-#: src/msgcomm.c:263 src/msgcomm.c:267 src/msgmerge.c:225 src/xgettext.c:364
-#: src/xgettext.c:368
-#, c-format
-msgid "%s and %s are mutually exclusive"
-msgstr "%s¿Í %s´Â ¼­·Î ¹èŸÀûÀÔ´Ï´Ù"
+#: src/msgattrib.c:370
+#, no-wrap
+msgid ""
+"Attribute manipulation:\n"
+"      --set-fuzzy             set all messages 'fuzzy'\n"
+"      --clear-fuzzy           set all messages non-'fuzzy'\n"
+"      --set-obsolete          set all messages obsolete\n"
+"      --clear-obsolete        set all messages non-obsolete\n"
+"      --fuzzy                 synonym for --only-fuzzy --clear-fuzzy\n"
+"      --obsolete              synonym for --only-obsolete --clear-obsolete\n"
+msgstr ""
 
-#: src/msgcomm.c:319
-msgid "at least two files must be specified"
-msgstr "ÃÖ¼ÒÇÑ µÎ °³ÀÇ ÆÄÀÏÀ» ÁöÁ¤ÇؾߠÇÕ´Ï´Ù"
+#: src/msgattrib.c:381
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
+"  -e, --no-escape             do not use C escapes in output (default)\n"
+"  -E, --escape                use C escapes in output, no extended chars\n"
+"      --force-po              write PO file even if empty\n"
+"  -i, --indent                write the .po file using indented style\n"
+"      --no-location           do not write '#: filename:line' lines\n"
+"  -n, --add-location          generate '#: filename:line' lines (default)\n"
+"      --strict                write out strict Uniforum conforming .po file\n"
+"  -w, --width=NUMBER          set output page width\n"
+"  -s, --sort-output           generate sorted output\n"
+"  -F, --sort-by-file          sort output by file location\n"
+msgstr ""
+"»ç¿ë¹ý: %s [¿É¼Ç] def.po ref.po\n"
+"±ä ¿É¼Ç¿¡ ºÎ°¡µÇ´Â Àμö´Â ÂªÀº ¿É¼Ç¿¡µµ Àû¿ëµË´Ï´Ù.\n"
+"  -C, --compendium=<ÆÄÀÏ>    ¸Þ¼¼Áö ¹ø¿ª ¶óÀ̺귯¸®¸¦ Ãß°¡ÇÕ´Ï´Ù.\n"
+"                             ÇÑ ¹ø ÀÌ»ó Ãß°¡ÇÒ ¼ö ÀÖ½À´Ï´Ù.\n"
+"  -D, --directory=<µð·ºÅ丮> ÀԷ ÆÄÀϠŽ»ö ¸í´Ü¿¡ <µð·ºÅ丮>¸¦ Ãß°¡ÇÕ´Ï´Ù\n"
+"  -e, --no-escape            Ãâ·Â¿¡ C À̽ºÄÉÀÌÇÁ ¹®ÀÚ¸¦ ¾²Áö ¾Ê½À´Ï´Ù (³»Á¤°ª)\n"
+"  -E, --escape               Ãâ·Â¿¡ C À̽ºÄÉÀÌÇÁ ¹®ÀÚ¸¦ ¾²°í, È®Àå ¹®Àڴ ¾²Áö ¾Ê½À´Ï´Ù\n"
+"      --force-po             ºñ¾úÀ»Áö¶óµµ PO ÆÄÀÏ¿¡ ¾¹´Ï´Ù\n"
+"  -h, --help                 ÀÌ µµ¿ò¸»À» º¸¿©ÁÖ°í ³¡³³´Ï´Ù\n"
+"  -i, --indent               µé¿©¾²±âµÈ Ãâ·Â ÇüÅÂ\n"
+"  -o, --output-file=<ÆÄÀÏ>   °á°ú°¡ <ÆÄÀÏ>¿¡ ¾²¿©Áöµµ·Ï ÇÕ´Ï´Ù\n"
+"      --no-location          `#: filename:line' ÇàÀ» ¾²Áö ¾Ê½À´Ï´Ù\n"
+"      --add-location         `#: filename:line' ÇàÀ» º¸Á¸ÇÕ´Ï´Ù (³»Á¤°ª)\n"
+"      --strict               ¾ö°ÝÇÑ Uniforum Ãâ·Â ÇüÅÂ\n"
+"  -v, --verbose              ÀÚ¼¼ÇѠǥ½Ã µî±ÞÀ» ³ôÀÔ´Ï´Ù\n"
+"  -V, --version              ¹öÀü Á¤º¸¸¦ Ãâ·ÂÇÏ°í ³¡³³´Ï´Ù\n"
+"  -w, --width=NUMBER         Ãâ·Â ÆäÀÌÁöÀÇ ÆøÀ» ¼³Á¤ÇÕ´Ï´Ù\n"
 
-#: src/msgcomm.c:330
+#: src/msgcat.c:254 src/msgcomm.c:277
 #, c-format
 msgid "impossible selection criteria specified (%d < n < %d)"
 msgstr "ºÒ°¡´ÉÇÑ ¼±ÅàÁ¶°ÇÀ» ÁöÁ¤ÇÏ¿´½À´Ï´Ù (%d < n < %d)"
 
-#: src/msgcomm.c:378 src/xgettext.c:519
+#: src/msgcat.c:295 src/msgcomm.c:311 src/xgettext.c:504
 #, c-format, no-wrap
 msgid "Usage: %s [OPTION] [INPUTFILE]...\n"
 msgstr ""
 
-#: src/msgcomm.c:383
+#: src/msgcat.c:300
 #, fuzzy, no-wrap
 msgid ""
+"Concatenates and merges the specified PO files.\n"
 "Find messages which are common to two or more of the specified PO files.\n"
 "By using the --more-than option, greater commonality may be requested\n"
 "before messages are printed.  Conversely, the --less-than option may be\n"
 "used to specify less commonality before messages are printed (i.e.\n"
 "--less-than=2 will only print the unique messages).  Translations,\n"
-"comments and extract comments will be preserved, but only from the first\n"
-"PO file to define them.  File positions from all PO files will be\n"
-"cumulated.\n"
+"comments and extract comments will be cumulated, except that if --use-first\n"
+"is specified, they will be taken from the first PO file to define them.\n"
+"File positions from all PO files will be cumulated.\n"
 msgstr ""
 "  -V, --version                  ¹öÀü Á¤º¸¸¦ Ãâ·ÂÇÏ°í ³¡³³´Ï´Ù\n"
 "  -w, --width=<¼ýÀÚ>             Ãâ·Â ÆäÀÌÁöÀÇ ÆøÀ» ÁöÁ¤ÇÕ´Ï´Ù\n"
@@ -323,7 +512,7 @@ msgstr ""
 "°Í¸¸ÀÌ À¯ÁöµË´Ï´Ù.  ¸ðµç PO ÆÄÀÏ¿¡ µé¾î Àִ ÆÄÀÏ À§Ä¡´Â ±×´ë·Î À¯ÁöµÉ\n"
 "°ÍÀÔ´Ï´Ù.\n"
 
-#: src/msgcomm.c:400 src/xgettext.c:535
+#: src/msgcat.c:318 src/msgcomm.c:333 src/xgettext.c:520
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -333,17 +522,16 @@ msgid ""
 "If input file is -, standard input is read.\n"
 msgstr ""
 
-#: src/msgcomm.c:409 src/xgettext.c:544
+#: src/msgcat.c:327 src/msgcomm.c:342 src/msguniq.c:304
 #, no-wrap
 msgid ""
 "Output file location:\n"
-"  -d, --default-domain=NAME      use NAME.po for output (instead of messages.po)\n"
-"  -o, --output=FILE              write output to specified file\n"
-"  -p, --output-dir=DIR           output files will be placed in directory DIR\n"
-"If output file is -, output is written to standard output.\n"
+"  -o, --output-file=FILE         write output to specified file\n"
+"The results are written to standard output if no output file is specified\n"
+"or if it is -.\n"
 msgstr ""
 
-#: src/msgcomm.c:418
+#: src/msgcat.c:335
 #, fuzzy, no-wrap
 msgid ""
 "Message selection:\n"
@@ -351,7 +539,7 @@ msgid ""
 "                                 definitions, defaults to infinite if not\n"
 "                                 set\n"
 "  ->, --more-than=NUMBER         print messages with more than this many\n"
-"                                 definitions, defaults to 1 if not set\n"
+"                                 definitions, defaults to 0 if not set\n"
 "  -u, --unique                   shorthand for --less-than=2, requests\n"
 "                                 that only unique messages be printed\n"
 msgstr ""
@@ -372,10 +560,13 @@ msgstr ""
 "°Í¸¸ÀÌ À¯ÁöµË´Ï´Ù.  ¸ðµç PO ÆÄÀÏ¿¡ µé¾î Àִ ÆÄÀÏ À§Ä¡´Â ±×´ë·Î À¯ÁöµÉ\n"
 "°ÍÀÔ´Ï´Ù.\n"
 
-#: src/msgcomm.c:430
+#: src/msgcat.c:347 src/msguniq.c:319
 #, fuzzy, no-wrap
 msgid ""
 "Output details:\n"
+"  -t, --to-code=NAME             encoding for output\n"
+"      --use-first                use first available translation for each\n"
+"                                 message, don't merge several translations\n"
 "  -e, --no-escape                do not use C escapes in output (default)\n"
 "  -E, --escape                   use C escapes in output, no extended chars\n"
 "      --force-po                 write PO file even if empty\n"
@@ -384,9 +575,8 @@ msgid ""
 "  -n, --add-location             generate '#: filename:line' lines (default)\n"
 "      --strict                   write out strict Uniforum conforming .po file\n"
 "  -w, --width=NUMBER             set output page width\n"
-"  -s, --sort-output              generate sorted output and remove duplicates\n"
+"  -s, --sort-output              generate sorted output\n"
 "  -F, --sort-by-file             sort output by file location\n"
-"      --omit-header              don't write header with `msgid \"\"' entry\n"
 msgstr ""
 "»ç¿ë¹ý: %s [¿É¼Ç] def.po ref.po\n"
 "±ä ¿É¼Ç¿¡ ºÎ°¡µÇ´Â Àμö´Â ÂªÀº ¿É¼Ç¿¡µµ Àû¿ëµË´Ï´Ù.\n"
@@ -406,7 +596,7 @@ msgstr ""
 "  -V, --version              ¹öÀü Á¤º¸¸¦ Ãâ·ÂÇÏ°í ³¡³³´Ï´Ù\n"
 "  -w, --width=NUMBER         Ãâ·Â ÆäÀÌÁöÀÇ ÆøÀ» ¼³Á¤ÇÕ´Ï´Ù\n"
 
-#: src/msgcomm.c:446 src/xgettext.c:599
+#: src/msgcat.c:365 src/msgcomm.c:378 src/msguniq.c:337 src/xgettext.c:585
 #, no-wrap
 msgid ""
 "Informative output:\n"
@@ -414,80 +604,466 @@ msgid ""
 "  -V, --version                  output version information and exit\n"
 msgstr ""
 
-#: src/msgcomm.c:477 src/msgunfmt.c:386 src/po-lex.c:84 src/xget-lex.c:158
-#: src/xget-lex.c:171 src/xget-lex.c:181 src/xgettext.c:630
-#, c-format
-msgid "error while opening \"%s\" for reading"
-msgstr "Àбâ À§ÇØ \"%s\"À» ¿©´Â µ¿¾È ¿À·ù ¹ß»ý"
-
-#: src/msgcomm.c:563 src/xgettext.c:677 src/xgettext.c:1100
-msgid "this file may not contain domain directives"
-msgstr "ÀÌ ÆÄÀÏÀº ¿µ¿ª Áö½ÃÀÚ¸¦ Æ÷ÇÔÇϰí ÀÖÁö ¾ÊÀ» ¼öµµ ÀÖ½À´Ï´Ù"
-
-#: src/msgfmt.c:284 src/xgettext.c:403
-msgid "no input file given"
+#: src/msgcmp.c:150 src/msgmerge.c:268
+msgid "no input files given"
 msgstr "ÀԷ ÆÄÀÏÀÌ ÁÖ¾îÁöÁö ¾Ê¾Ò½À´Ï´Ù"
 
-#: src/msgfmt.c:335
-#, c-format
-msgid "error while opening \"%s\" for writing"
-msgstr "¾²±â À§ÇØ \"%s\"À» ¿©´Â µ¿¾È ¿À·ù ¹ß»ý"
-
-#: src/msgfmt.c:358
-#, c-format
-msgid "%d translated message"
-msgid_plural "%d translated messages"
-msgstr[0] "¹ø¿ªµÈ ¸Þ½ÃÁö %d°³"
-
-#: src/msgfmt.c:363
-#, c-format
-msgid ", %d fuzzy translation"
-msgid_plural ", %d fuzzy translations"
-msgstr[0] ", ÆÛÁö ¹ø¿ª¹® %d°³"
-
-#: src/msgfmt.c:368
-#, c-format
-msgid ", %d untranslated message"
-msgid_plural ", %d untranslated messages"
-msgstr[0] ", ¹ø¿ªµÇÁö ¾ÊÀº ¸Þ½ÃÁö %d°³"
+#: src/msgcmp.c:155 src/msgmerge.c:273
+msgid "exactly 2 input files required"
+msgstr "Á¤È®È÷ 2°³ÀÇ ÀԷ ÆÄÀÏÀÌ ÇÊ¿äÇÕ´Ï´Ù"
 
-#: src/msgfmt.c:390
+#: src/msgcmp.c:176 src/msgmerge.c:372
 #, c-format, no-wrap
-msgid "Usage: %s [OPTION] filename.po ...\n"
+msgid "Usage: %s [OPTION] def.po ref.pot\n"
 msgstr ""
 
-#: src/msgfmt.c:395
-#, no-wrap
-msgid "Generate binary message catalog from textual translation description.\n"
+#: src/msgcmp.c:181
+#, fuzzy, no-wrap
+msgid ""
+"Compare two Uniforum style .po files to check that both contain the same\n"
+"set of msgid strings.  The def.po file is an existing PO file with the\n"
+"translations.  The ref.pot file is the last created PO file, or a PO Template\n"
+"file (generally created by xgettext).  This is useful for checking that\n"
+"you have translated each and every message in your program.  Where an exact\n"
+"match cannot be found, fuzzy matching is used to produce better diagnostics.\n"
 msgstr ""
+"»ç¿ë¹ý: %s [¿É¼Ç] def.po ref.po\n"
+"±ä ¿É¼Ç¿¡ ºÎ°¡µÇ´Â Àμö´Â ÂªÀº ¿É¼Ç¿¡µµ Àû¿ëµË´Ï´Ù.\n"
+"  -D, --directory=DIRECTORY   ÀԷ ÆÄÀϠŽ»ö ¸í´Ü¿¡ DIRECTORY¸¦ Ãß°¡ÇÕ´Ï´Ù\n"
+"  -h, --help                  ÀÌ µµ¿ò¸»À» º¸¿©ÁÖ°í Á¾·áÇÕ´Ï´Ù\n"
+"  -V, --version               ¹öÀü Á¤º¸¸¦ Ãâ·ÂÇϰí Á¾·áÇÕ´Ï´Ù\n"
+"\n"
+"°°Àº ³»¿ëÀÇ msgid ¹®ÀÚ¿­À» Æ÷ÇÔÇϰí ÀÖ´ÂÁö È®ÀÎÇϱâ À§ÇØ Uniforum\n"
+"ÇüÅÂÀÇ µÎ .po ÆÄÀÏÀ» ºñ±³ÇÕ´Ï´Ù.  def.po ÆÄÀÏÀº À̹̠Á¸ÀçÇϴ ÆÄÀÏÀ̸ç\n"
+"¿¹Àü¿¡ ¹ø¿ªµÈ ¸Þ½ÃÁö¸¦ ´ã°í ÀÖ½À´Ï´Ù.  ref.po ÆÄÀÏÀº ÃÖ±Ù¿¡ ¸¸µé¾îÁø\n"
+"PO ÆÄÀÏÀÔ´Ï´Ù(ÀϹÝÀûÀ¸·Î xgettext¿¡ ÀÇÇØ).  À̰ÍÀº ÇÁ·Î±×·¥ ³»¿¡ ÀÖ´Â\n"
+"°¢°¢ÀÇ ¸Þ½ÃÁö¸¦ ¹ø¿ªÇß´ÂÁö È®ÀÎÇÒ ¶§ À¯¿ëÇÕ´Ï´Ù.  Á¤È®ÇѠ¦À» Ã£Áö ¸øÇÒ\n"
+"°æ¿ì, º¸´Ù ³ªÀº °á°ú¸¦ ¾ò±â À§ÇØ ÆÛÁö ¸ÅĪÀÌ »ç¿ëµË´Ï´Ù.\n"
 
-#: src/msgfmt.c:405
+#: src/msgcmp.c:196
 #, no-wrap
 msgid ""
 "Input file location:\n"
-"  filename.po ...             input files\n"
+"  def.po                      translations\n"
+"  ref.pot                     references to the sources\n"
 "  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
-"If input file is -, standard input is read.\n"
 msgstr ""
 
-#: src/msgfmt.c:413
+#: src/msgcmp.c:204 src/msgmerge.c:436
 #, no-wrap
 msgid ""
-"Output file location:\n"
-"  -o, --output-file=FILE      write output to specified file\n"
+"Operation modifiers:\n"
+"  -m, --multi-domain          apply ref.pot to each of the domains in def.po\n"
+msgstr ""
+
+#: src/msgcmp.c:253 src/msgmerge.c:543
+msgid "this message is used but not defined..."
+msgstr "ÀÌ ¸Þ½ÃÁö´Â »ç¿ëµÇÁö¸¸ Á¤ÀǵÇÁö ¾Ê¾Ò½À´Ï´Ù..."
+
+#: src/msgcmp.c:255 src/msgmerge.c:545
+msgid "...but this definition is similar"
+msgstr "...ÇÏÁö¸¸ ÀÌ Á¤ÀǴ À¯»çÇÕ´Ï´Ù"
+
+#: src/msgcmp.c:260 src/msgmerge.c:572
+#, c-format
+msgid "this message is used but not defined in %s"
+msgstr "ÀÌ ¸Þ½ÃÁö´Â »ç¿ëµÇÁö¸¸ %s¿¡¼­ Á¤ÀǵÇÁö ¾Ê¾Ò½À´Ï´Ù"
+
+#: src/msgcmp.c:332
+msgid "warning: this message is not used"
+msgstr "°æ°í: ÀÌ ¸Þ½ÃÁö´Â »ç¿ëµÇÁö ¾Ê½À´Ï´Ù"
+
+#: src/msgcmp.c:339 src/po-lex.c:705
+#, c-format
+msgid "found %d fatal error"
+msgid_plural "found %d fatal errors"
+msgstr[0] "%d°³ÀÇ Ä¡¸íÀûÀΠ¿À·ù¸¦ Ã£¾Ò½À´Ï´Ù"
+
+#: src/msgcmp.c:420 src/msgfmt.c:1323 src/read-po.c:202 src/x-po.c:163
+msgid "duplicate message definition"
+msgstr "Áߺ¹µÈ ¸Þ½ÃÁö Á¤ÀÇ"
+
+#: src/msgcmp.c:421 src/msgfmt.c:1324 src/read-po.c:203 src/x-po.c:164
+msgid "...this is the location of the first definition"
+msgstr "...¿©±â´Â Ã¹¹øÂ° Á¤ÀÇÀÇ À§Ä¡ÀÔ´Ï´Ù"
+
+#: src/msgcomm.c:266
+msgid "at least two files must be specified"
+msgstr "ÃÖ¼ÒÇÑ µÎ °³ÀÇ ÆÄÀÏÀ» ÁöÁ¤ÇؾߠÇÕ´Ï´Ù"
+
+#: src/msgcomm.c:316
+#, fuzzy, no-wrap
+msgid ""
+"Find messages which are common to two or more of the specified PO files.\n"
+"By using the --more-than option, greater commonality may be requested\n"
+"before messages are printed.  Conversely, the --less-than option may be\n"
+"used to specify less commonality before messages are printed (i.e.\n"
+"--less-than=2 will only print the unique messages).  Translations,\n"
+"comments and extract comments will be preserved, but only from the first\n"
+"PO file to define them.  File positions from all PO files will be\n"
+"cumulated.\n"
+msgstr ""
+"  -V, --version                  ¹öÀü Á¤º¸¸¦ Ãâ·ÂÇÏ°í ³¡³³´Ï´Ù\n"
+"  -w, --width=<¼ýÀÚ>             Ãâ·Â ÆäÀÌÁöÀÇ ÆøÀ» ÁöÁ¤ÇÕ´Ï´Ù\n"
+"  -<, --less-than=<¼ýÀÚ>         ÁöÁ¤ÇÑ °Íº¸´Ù ÀûÀº ¸Þ¼¼Áö¸¸À» Ãâ·ÂÇÕ´Ï´Ù.\n"
+"                                 ÀÌ ¿É¼ÇÀÌ ¾øÀ» °æ¿ì¿¡ ±âº»°ªÀº \n"
+"                                 ¹«ÇÑ´ëÀÔ´Ï´Ù.\n"
+"  ->, --more-than=<¼ýÀÚ>         ÁöÁ¤ÇÑ °Íº¸´Ù ¸¹Àº ¸Þ¼¼Áö¸¸À» Ãâ·ÂÇÕ´Ï´Ù.\n"
+"                                 ÀÌ ¿É¼ÇÀÌ ¾øÀ» °æ¿ì¿¡ ±âº»°ªÀº 1ÀÔ´Ï´Ù.\n"
+"\n"
+"µÎ °³ È¤Àº ±× ÀÌ»óÀÇ PO ÆÄÀÏ¿¡¼­ °øÅëÀûÀ¸·Î µé¾î Àִ ¸Þ¼¼Áö¸¦\n"
+"ã½À´Ï´Ù.  --more-than ¿É¼ÇÀ» »ç¿ëÇϸ頴õ °øÅëÀûÀΠ¸Þ¼¼ÁöµéÀÌ Ãâ·ÂµÉ\n"
+"°ÍÀÔ´Ï´Ù.  ±× ¹Ý´ë·Î, --less-than ¿É¼ÇÀº ´õ °øÅëÀûÀÌÁö ¾ÊÀº ¸Þ¼¼ÁöµéÀÌ\n"
+"Ãâ·ÂµÇ°Ô µË´Ï´Ù (¿¹¸¦ µé¾î --less-thanÀº À¯ÀÏÇÑ ¸Þ¼¼Áö¸¸À»\n"
+"Ãâ·ÂÇÕ´Ï´Ù).  ¹ø¿ª¹®, ÁÖ¼®¹®°ú ¼Ò½º¿¡¼­ ÃßÃâµÈ ÁÖ¼®¹®Àº ±×´ë·Î À¯ÁöµÉ\n"
+"°ÍÀÌÁö¸¸, ¿ÀÁ÷ ±×°ÍÀÌ µé¾î Àִ °¡Àå Ã¹ ¹øÂ° PO ÆÄÀÏ¿¡ µé¾î ÀÖ´Â\n"
+"°Í¸¸ÀÌ À¯ÁöµË´Ï´Ù.  ¸ðµç PO ÆÄÀÏ¿¡ µé¾î Àִ ÆÄÀÏ À§Ä¡´Â ±×´ë·Î À¯ÁöµÉ\n"
+"°ÍÀÔ´Ï´Ù.\n"
+
+#: src/msgcomm.c:350
+#, fuzzy, no-wrap
+msgid ""
+"Message selection:\n"
+"  -<, --less-than=NUMBER         print messages with less than this many\n"
+"                                 definitions, defaults to infinite if not\n"
+"                                 set\n"
+"  ->, --more-than=NUMBER         print messages with more than this many\n"
+"                                 definitions, defaults to 1 if not set\n"
+"  -u, --unique                   shorthand for --less-than=2, requests\n"
+"                                 that only unique messages be printed\n"
+msgstr ""
+"  -V, --version                  ¹öÀü Á¤º¸¸¦ Ãâ·ÂÇÏ°í ³¡³³´Ï´Ù\n"
+"  -w, --width=<¼ýÀÚ>             Ãâ·Â ÆäÀÌÁöÀÇ ÆøÀ» ÁöÁ¤ÇÕ´Ï´Ù\n"
+"  -<, --less-than=<¼ýÀÚ>         ÁöÁ¤ÇÑ °Íº¸´Ù ÀûÀº ¸Þ¼¼Áö¸¸À» Ãâ·ÂÇÕ´Ï´Ù.\n"
+"                                 ÀÌ ¿É¼ÇÀÌ ¾øÀ» °æ¿ì¿¡ ±âº»°ªÀº \n"
+"                                 ¹«ÇÑ´ëÀÔ´Ï´Ù.\n"
+"  ->, --more-than=<¼ýÀÚ>         ÁöÁ¤ÇÑ °Íº¸´Ù ¸¹Àº ¸Þ¼¼Áö¸¸À» Ãâ·ÂÇÕ´Ï´Ù.\n"
+"                                 ÀÌ ¿É¼ÇÀÌ ¾øÀ» °æ¿ì¿¡ ±âº»°ªÀº 1ÀÔ´Ï´Ù.\n"
+"\n"
+"µÎ °³ È¤Àº ±× ÀÌ»óÀÇ PO ÆÄÀÏ¿¡¼­ °øÅëÀûÀ¸·Î µé¾î Àִ ¸Þ¼¼Áö¸¦\n"
+"ã½À´Ï´Ù.  --more-than ¿É¼ÇÀ» »ç¿ëÇϸ頴õ °øÅëÀûÀΠ¸Þ¼¼ÁöµéÀÌ Ãâ·ÂµÉ\n"
+"°ÍÀÔ´Ï´Ù.  ±× ¹Ý´ë·Î, --less-than ¿É¼ÇÀº ´õ °øÅëÀûÀÌÁö ¾ÊÀº ¸Þ¼¼ÁöµéÀÌ\n"
+"Ãâ·ÂµÇ°Ô µË´Ï´Ù (¿¹¸¦ µé¾î --less-thanÀº À¯ÀÏÇÑ ¸Þ¼¼Áö¸¸À»\n"
+"Ãâ·ÂÇÕ´Ï´Ù).  ¹ø¿ª¹®, ÁÖ¼®¹®°ú ¼Ò½º¿¡¼­ ÃßÃâµÈ ÁÖ¼®¹®Àº ±×´ë·Î À¯ÁöµÉ\n"
+"°ÍÀÌÁö¸¸, ¿ÀÁ÷ ±×°ÍÀÌ µé¾î Àִ °¡Àå Ã¹ ¹øÂ° PO ÆÄÀÏ¿¡ µé¾î ÀÖ´Â\n"
+"°Í¸¸ÀÌ À¯ÁöµË´Ï´Ù.  ¸ðµç PO ÆÄÀÏ¿¡ µé¾î Àִ ÆÄÀÏ À§Ä¡´Â ±×´ë·Î À¯ÁöµÉ\n"
+"°ÍÀÔ´Ï´Ù.\n"
+
+#: src/msgcomm.c:362
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
+"  -e, --no-escape                do not use C escapes in output (default)\n"
+"  -E, --escape                   use C escapes in output, no extended chars\n"
+"      --force-po                 write PO file even if empty\n"
+"  -i, --indent                   write the .po file using indented style\n"
+"      --no-location              do not write '#: filename:line' lines\n"
+"  -n, --add-location             generate '#: filename:line' lines (default)\n"
+"      --strict                   write out strict Uniforum conforming .po file\n"
+"  -w, --width=NUMBER             set output page width\n"
+"  -s, --sort-output              generate sorted output\n"
+"  -F, --sort-by-file             sort output by file location\n"
+"      --omit-header              don't write header with `msgid \"\"' entry\n"
+msgstr ""
+"»ç¿ë¹ý: %s [¿É¼Ç] def.po ref.po\n"
+"±ä ¿É¼Ç¿¡ ºÎ°¡µÇ´Â Àμö´Â ÂªÀº ¿É¼Ç¿¡µµ Àû¿ëµË´Ï´Ù.\n"
+"  -C, --compendium=<ÆÄÀÏ>    ¸Þ¼¼Áö ¹ø¿ª ¶óÀ̺귯¸®¸¦ Ãß°¡ÇÕ´Ï´Ù.\n"
+"                             ÇÑ ¹ø ÀÌ»ó Ãß°¡ÇÒ ¼ö ÀÖ½À´Ï´Ù.\n"
+"  -D, --directory=<µð·ºÅ丮> ÀԷ ÆÄÀϠŽ»ö ¸í´Ü¿¡ <µð·ºÅ丮>¸¦ Ãß°¡ÇÕ´Ï´Ù\n"
+"  -e, --no-escape            Ãâ·Â¿¡ C À̽ºÄÉÀÌÇÁ ¹®ÀÚ¸¦ ¾²Áö ¾Ê½À´Ï´Ù (³»Á¤°ª)\n"
+"  -E, --escape               Ãâ·Â¿¡ C À̽ºÄÉÀÌÇÁ ¹®ÀÚ¸¦ ¾²°í, È®Àå ¹®Àڴ ¾²Áö ¾Ê½À´Ï´Ù\n"
+"      --force-po             ºñ¾úÀ»Áö¶óµµ PO ÆÄÀÏ¿¡ ¾¹´Ï´Ù\n"
+"  -h, --help                 ÀÌ µµ¿ò¸»À» º¸¿©ÁÖ°í ³¡³³´Ï´Ù\n"
+"  -i, --indent               µé¿©¾²±âµÈ Ãâ·Â ÇüÅÂ\n"
+"  -o, --output-file=<ÆÄÀÏ>   °á°ú°¡ <ÆÄÀÏ>¿¡ ¾²¿©Áöµµ·Ï ÇÕ´Ï´Ù\n"
+"      --no-location          `#: filename:line' ÇàÀ» ¾²Áö ¾Ê½À´Ï´Ù\n"
+"      --add-location         `#: filename:line' ÇàÀ» º¸Á¸ÇÕ´Ï´Ù (³»Á¤°ª)\n"
+"      --strict               ¾ö°ÝÇÑ Uniforum Ãâ·Â ÇüÅÂ\n"
+"  -v, --verbose              ÀÚ¼¼ÇѠǥ½Ã µî±ÞÀ» ³ôÀÔ´Ï´Ù\n"
+"  -V, --version              ¹öÀü Á¤º¸¸¦ Ãâ·ÂÇÏ°í ³¡³³´Ï´Ù\n"
+"  -w, --width=NUMBER         Ãâ·Â ÆäÀÌÁöÀÇ ÆøÀ» ¼³Á¤ÇÕ´Ï´Ù\n"
+
+#: src/msgconv.c:251
+#, no-wrap
+msgid "Converts a translation catalog to a different character encoding.\n"
+msgstr ""
+
+#: src/msgconv.c:277
+#, no-wrap
+msgid ""
+"Conversion target:\n"
+"  -t, --to-code=NAME          encoding for output\n"
+"The default encoding is the current locale's encoding.\n"
+msgstr ""
+
+#: src/msgconv.c:284 src/msgen.c:266 src/msgmerge.c:442
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
+"  -e, --no-escape             do not use C escapes in output (default)\n"
+"  -E, --escape                use C escapes in output, no extended chars\n"
+"      --force-po              write PO file even if empty\n"
+"  -i, --indent                indented output style\n"
+"      --no-location           suppress '#: filename:line' lines\n"
+"      --add-location          preserve '#: filename:line' lines (default)\n"
+"      --strict                strict Uniforum output style\n"
+"  -w, --width=NUMBER          set output page width\n"
+"  -s, --sort-output           generate sorted output\n"
+"  -F, --sort-by-file          sort output by file location\n"
+msgstr ""
+"»ç¿ë¹ý: %s [¿É¼Ç] def.po ref.po\n"
+"±ä ¿É¼Ç¿¡ ºÎ°¡µÇ´Â Àμö´Â ÂªÀº ¿É¼Ç¿¡µµ Àû¿ëµË´Ï´Ù.\n"
+"  -C, --compendium=<ÆÄÀÏ>    ¸Þ¼¼Áö ¹ø¿ª ¶óÀ̺귯¸®¸¦ Ãß°¡ÇÕ´Ï´Ù.\n"
+"                             ÇÑ ¹ø ÀÌ»ó Ãß°¡ÇÒ ¼ö ÀÖ½À´Ï´Ù.\n"
+"  -D, --directory=<µð·ºÅ丮> ÀԷ ÆÄÀϠŽ»ö ¸í´Ü¿¡ <µð·ºÅ丮>¸¦ Ãß°¡ÇÕ´Ï´Ù\n"
+"  -e, --no-escape            Ãâ·Â¿¡ C À̽ºÄÉÀÌÇÁ ¹®ÀÚ¸¦ ¾²Áö ¾Ê½À´Ï´Ù (³»Á¤°ª)\n"
+"  -E, --escape               Ãâ·Â¿¡ C À̽ºÄÉÀÌÇÁ ¹®ÀÚ¸¦ ¾²°í, È®Àå ¹®Àڴ ¾²Áö ¾Ê½À´Ï´Ù\n"
+"      --force-po             ºñ¾úÀ»Áö¶óµµ PO ÆÄÀÏ¿¡ ¾¹´Ï´Ù\n"
+"  -h, --help                 ÀÌ µµ¿ò¸»À» º¸¿©ÁÖ°í ³¡³³´Ï´Ù\n"
+"  -i, --indent               µé¿©¾²±âµÈ Ãâ·Â ÇüÅÂ\n"
+"  -o, --output-file=<ÆÄÀÏ>   °á°ú°¡ <ÆÄÀÏ>¿¡ ¾²¿©Áöµµ·Ï ÇÕ´Ï´Ù\n"
+"      --no-location          `#: filename:line' ÇàÀ» ¾²Áö ¾Ê½À´Ï´Ù\n"
+"      --add-location         `#: filename:line' ÇàÀ» º¸Á¸ÇÕ´Ï´Ù (³»Á¤°ª)\n"
+"      --strict               ¾ö°ÝÇÑ Uniforum Ãâ·Â ÇüÅÂ\n"
+"  -v, --verbose              ÀÚ¼¼ÇѠǥ½Ã µî±ÞÀ» ³ôÀÔ´Ï´Ù\n"
+"  -V, --version              ¹öÀü Á¤º¸¸¦ Ãâ·ÂÇÏ°í ³¡³³´Ï´Ù\n"
+"  -w, --width=NUMBER         Ãâ·Â ÆäÀÌÁöÀÇ ÆøÀ» ¼³Á¤ÇÕ´Ï´Ù\n"
+
+#: src/msgen.c:187 src/msgfmt.c:349 src/xgettext.c:388
+msgid "no input file given"
+msgstr "ÀԷ ÆÄÀÏÀÌ ÁÖ¾îÁöÁö ¾Ê¾Ò½À´Ï´Ù"
+
+#: src/msgen.c:192
+#, fuzzy
+msgid "exactly one input file required"
+msgstr "Á¤È®È÷ 2°³ÀÇ ÀԷ ÆÄÀÏÀÌ ÇÊ¿äÇÕ´Ï´Ù"
+
+#: src/msgen.c:232
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] INPUTFILE\n"
+msgstr ""
+
+#: src/msgen.c:237
+#, no-wrap
+msgid ""
+"Creates an English translation catalog.  The input file is the last\n"
+"created English PO file, or a PO Template file (generally created by\n"
+"xgettext).  Untranslated entries are assigned a translation that is\n"
+"identical to the msgid, and are marked fuzzy.\n"
+msgstr ""
+
+#: src/msgen.c:250
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  INPUTFILE                   input PO or POT file\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"If input file is -, standard input is read.\n"
+msgstr ""
+
+#: src/msgexec.c:255
+#, fuzzy
+msgid "missing filter name"
+msgstr "Àμö°¡ ºüÁ³À½"
+
+#: src/msgexec.c:279
+#, fuzzy
+msgid "at least one sed script must be specified"
+msgstr "ÃÖ¼ÒÇÑ µÎ °³ÀÇ ÆÄÀÏÀ» ÁöÁ¤ÇؾߠÇÕ´Ï´Ù"
+
+#: src/msgexec.c:343
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] FILTER [FILTER-OPTION]\n"
+msgstr ""
+
+#: src/msgexec.c:348
+#, no-wrap
+msgid "Applies a filter to all translations of a translation catalog.\n"
+msgstr ""
+
+#: src/msgexec.c:358
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  -i, --input=INPUTFILE       input PO file\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"If no input file is given or if it is -, standard input is read.\n"
+msgstr ""
+
+#: src/msgexec.c:374
+#, no-wrap
+msgid ""
+"The FILTER can be any program that reads a translation from standard input\n"
+"and writes a modified translation to standard output.\n"
+msgstr ""
+
+#: src/msgexec.c:380
+#, no-wrap
+msgid ""
+"Useful FILTER-OPTIONs when the FILTER is 'sed':\n"
+"  -e, --expression=SCRIPT     add SCRIPT to the commands to be executed\n"
+"  -f, --file=SCRIPTFILE       add the contents of SCRIPTFILE to the commands\n"
+"                                to be executed\n"
+"  -n, --quiet, --silent       suppress automatic printing of pattern space\n"
+msgstr ""
+
+#: src/msgexec.c:389
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
+"      --no-escape             do not use C escapes in output (default)\n"
+"  -E, --escape                use C escapes in output, no extended chars\n"
+"      --force-po              write PO file even if empty\n"
+"      --indent                indented output style\n"
+"      --no-location           suppress '#: filename:line' lines\n"
+"      --add-location          preserve '#: filename:line' lines (default)\n"
+"      --strict                strict Uniforum output style\n"
+"  -w, --width=NUMBER          set output page width\n"
+"  -s, --sort-output           generate sorted output\n"
+"  -F, --sort-by-file          sort output by file location\n"
+msgstr ""
+"»ç¿ë¹ý: %s [¿É¼Ç] def.po ref.po\n"
+"±ä ¿É¼Ç¿¡ ºÎ°¡µÇ´Â Àμö´Â ÂªÀº ¿É¼Ç¿¡µµ Àû¿ëµË´Ï´Ù.\n"
+"  -C, --compendium=<ÆÄÀÏ>    ¸Þ¼¼Áö ¹ø¿ª ¶óÀ̺귯¸®¸¦ Ãß°¡ÇÕ´Ï´Ù.\n"
+"                             ÇÑ ¹ø ÀÌ»ó Ãß°¡ÇÒ ¼ö ÀÖ½À´Ï´Ù.\n"
+"  -D, --directory=<µð·ºÅ丮> ÀԷ ÆÄÀϠŽ»ö ¸í´Ü¿¡ <µð·ºÅ丮>¸¦ Ãß°¡ÇÕ´Ï´Ù\n"
+"  -e, --no-escape            Ãâ·Â¿¡ C À̽ºÄÉÀÌÇÁ ¹®ÀÚ¸¦ ¾²Áö ¾Ê½À´Ï´Ù (³»Á¤°ª)\n"
+"  -E, --escape               Ãâ·Â¿¡ C À̽ºÄÉÀÌÇÁ ¹®ÀÚ¸¦ ¾²°í, È®Àå ¹®Àڴ ¾²Áö ¾Ê½À´Ï´Ù\n"
+"      --force-po             ºñ¾úÀ»Áö¶óµµ PO ÆÄÀÏ¿¡ ¾¹´Ï´Ù\n"
+"  -h, --help                 ÀÌ µµ¿ò¸»À» º¸¿©ÁÖ°í ³¡³³´Ï´Ù\n"
+"  -i, --indent               µé¿©¾²±âµÈ Ãâ·Â ÇüÅÂ\n"
+"  -o, --output-file=<ÆÄÀÏ>   °á°ú°¡ <ÆÄÀÏ>¿¡ ¾²¿©Áöµµ·Ï ÇÕ´Ï´Ù\n"
+"      --no-location          `#: filename:line' ÇàÀ» ¾²Áö ¾Ê½À´Ï´Ù\n"
+"      --add-location         `#: filename:line' ÇàÀ» º¸Á¸ÇÕ´Ï´Ù (³»Á¤°ª)\n"
+"      --strict               ¾ö°ÝÇÑ Uniforum Ãâ·Â ÇüÅÂ\n"
+"  -v, --verbose              ÀÚ¼¼ÇѠǥ½Ã µî±ÞÀ» ³ôÀÔ´Ï´Ù\n"
+"  -V, --version              ¹öÀü Á¤º¸¸¦ Ãâ·ÂÇÏ°í ³¡³³´Ï´Ù\n"
+"  -w, --width=NUMBER         Ãâ·Â ÆäÀÌÁöÀÇ ÆøÀ» ¼³Á¤ÇÕ´Ï´Ù\n"
+
+#: src/msgexec.c:546
+#, c-format
+msgid "cannot set up nonblocking I/O to %s subprocess"
+msgstr ""
+
+#: src/msgexec.c:574
+#, c-format
+msgid "communication with %s subprocess failed"
+msgstr ""
+
+#: src/msgexec.c:594
+#, c-format
+msgid "write to %s subprocess failed"
+msgstr ""
+
+#: src/msgexec.c:625
+#, c-format
+msgid "read from %s subprocess failed"
+msgstr ""
+
+#: src/msgexec.c:641
+#, c-format
+msgid "%s subprocess terminated with exit code %d"
+msgstr ""
+
+#: src/msgfmt.c:303
+#, c-format
+msgid "the argument to %s should be a single punctuation character"
+msgstr ""
+
+#: src/msgfmt.c:364
+#, c-format
+msgid "%s requires a \"-d directory\" specification"
+msgstr ""
+
+#: src/msgfmt.c:373 src/msgfmt.c:379 src/msgfmt.c:385 src/msgmerge.c:290
+#: src/msgmerge.c:296 src/msgunfmt.c:209 src/msgunfmt.c:215
+#, c-format
+msgid "%s is only valid with %s"
+msgstr ""
+
+#: src/msgfmt.c:452
+#, c-format
+msgid "%d translated message"
+msgid_plural "%d translated messages"
+msgstr[0] "¹ø¿ªµÈ ¸Þ½ÃÁö %d°³"
+
+#: src/msgfmt.c:457
+#, c-format
+msgid ", %d fuzzy translation"
+msgid_plural ", %d fuzzy translations"
+msgstr[0] ", ÆÛÁö ¹ø¿ª¹® %d°³"
+
+#: src/msgfmt.c:462
+#, c-format
+msgid ", %d untranslated message"
+msgid_plural ", %d untranslated messages"
+msgstr[0] ", ¹ø¿ªµÇÁö ¾ÊÀº ¸Þ½ÃÁö %d°³"
+
+#: src/msgfmt.c:484
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] filename.po ...\n"
+msgstr ""
+
+#: src/msgfmt.c:489
+#, no-wrap
+msgid "Generate binary message catalog from textual translation description.\n"
+msgstr ""
+
+#: src/msgfmt.c:499
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  filename.po ...             input files\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"If input file is -, standard input is read.\n"
+msgstr ""
+
+#: src/msgfmt.c:507
+#, no-wrap
+msgid ""
+"Operation mode:\n"
+"  -j, --java                  Java mode: generate a Java ResourceBundle class\n"
+"      --java2                 like --java, and assume Java2 (JDK 1.2 or higher)\n"
+msgstr ""
+
+#: src/msgfmt.c:514
+#, no-wrap
+msgid ""
+"Output file location:\n"
+"  -o, --output-file=FILE      write output to specified file\n"
 "      --strict                enable strict Uniforum mode\n"
 "If output file is -, output is written to standard output.\n"
 msgstr ""
 
-#: src/msgfmt.c:421
+#: src/msgfmt.c:522
+#, no-wrap
+msgid ""
+"Output file location in Java mode:\n"
+"  -r, --resource=RESOURCE     resource name\n"
+"  -l, --locale=LOCALE         locale name, either language or language_COUNTRY\n"
+"  -d DIRECTORY                base directory of classes directory hierarchy\n"
+"The class name is determined by appending the locale name to the resource name,\n"
+"separated with an underscore.  The -d option is mandatory.  The class is\n"
+"written under the specified directory.\n"
+msgstr ""
+
+#: src/msgfmt.c:533
 #, no-wrap
 msgid ""
 "Input file interpretation:\n"
-"  -c, --check                 perform language dependent checks on strings\n"
+"  -c, --check                 perform all the checks implied by\n"
+"                                --check-format, --check-header, --check-domain\n"
+"      --check-format          check language dependent format strings\n"
+"      --check-header          verify presence and contents of the header entry\n"
+"      --check-domain          check for conflicts between domain directives\n"
+"                                and the --output-file option\n"
+"  -C, --check-compatibility   check that GNU msgfmt behaves like X/Open msgfmt\n"
+"      --check-accelerators[=CHAR]  check presence of keyboard accelerators for\n"
+"                                menu items\n"
 "  -f, --use-fuzzy             use fuzzy entries in output\n"
 msgstr ""
 
-#: src/msgfmt.c:428
+#: src/msgfmt.c:548
 #, c-format, no-wrap
 msgid ""
 "Output details:\n"
@@ -495,122 +1071,500 @@ msgid ""
 "      --no-hash               binary file will not include the hash table\n"
 msgstr ""
 
-#: src/msgfmt.c:435
+#: src/msgfmt.c:555
 #, no-wrap
 msgid ""
 "Informative output:\n"
 "  -h, --help                  display this help and exit\n"
 "  -V, --version               output version information and exit\n"
 "      --statistics            print statistics about translations\n"
-"  -v, --verbose               list input file anomalies\n"
-"Giving the -v option more than once increases the verbosity level.\n"
+"  -v, --verbose               increase verbosity level\n"
+msgstr ""
+
+#: src/msgfmt.c:707
+msgid "plural expression can produce negative values"
+msgstr ""
+
+#: src/msgfmt.c:720
+#, c-format
+msgid "nplurals = %lu but plural expression can produce values as large as %lu"
+msgstr ""
+
+#: src/msgfmt.c:746
+msgid "plural expression can produce division by zero"
+msgstr ""
+
+#: src/msgfmt.c:751
+msgid "plural expression can produce integer overflow"
+msgstr ""
+
+#: src/msgfmt.c:756
+msgid ""
+"plural expression can produce arithmetic exceptions, possibly division by "
+"zero"
+msgstr ""
+
+#: src/msgfmt.c:830 src/msgfmt.c:841
+msgid "message catalog has plural form translations..."
+msgstr ""
+
+#: src/msgfmt.c:833
+msgid "...but header entry lacks a \"plural=EXPRESSION\" attribute"
+msgstr ""
+
+#: src/msgfmt.c:844
+msgid "...but header entry lacks a \"nplurals=INTEGER\" attribute"
+msgstr ""
+
+#: src/msgfmt.c:868
+#, fuzzy
+msgid "invalid nplurals value"
+msgstr "À߸øµÈ Á¦¾î ¼ø¼­¿­"
+
+#: src/msgfmt.c:881
+msgid "invalid plural expression"
+msgstr ""
+
+#: src/msgfmt.c:899 src/msgfmt.c:912
+#, c-format
+msgid "nplurals = %lu..."
+msgstr ""
+
+#: src/msgfmt.c:902
+#, c-format
+msgid "...but some messages have only %lu plural forms"
+msgstr ""
+
+#: src/msgfmt.c:915
+#, c-format
+msgid "...but some messages have %lu plural forms"
+msgstr ""
+
+#: src/msgfmt.c:930
+msgid ""
+"message catalog has plural form translations, but lacks a header entry with "
+"\"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\""
+msgstr ""
+
+#: src/msgfmt.c:968
+msgid "`msgid' and `msgid_plural' entries do not both begin with '\\n'"
+msgstr "`msgid'¿Í `msgstr_plural' Ç׸ñÀÌ ¸ðµÎ '\\n'À¸·Î ½ÃÀÛÇÏÁö ¾Ê½À´Ï´Ù"
+
+#: src/msgfmt.c:978
+#, c-format
+msgid "`msgid' and `msgstr[%u]' entries do not both begin with '\\n'"
+msgstr "`msgid'¿Í `msgstr[%u]' Ç׸ñÀÌ ¸ðµÎ '\\n'À¸·Î ½ÃÀÛÇÏÁö ¾Ê½À´Ï´Ù"
+
+#: src/msgfmt.c:990
+msgid "`msgid' and `msgstr' entries do not both begin with '\\n'"
+msgstr "`msgid'¿Í `msgstr' Ç׸ñÀÌ ¸ðµÎ '\\n'À¸·Î ½ÃÀÛÇÏÁö ¾Ê½À´Ï´Ù"
+
+#: src/msgfmt.c:1007
+msgid "`msgid' and `msgid_plural' entries do not both end with '\\n'"
+msgstr "`msgid'¿Í `msgid_plural' Ç׸ñÀÌ ¸ðµÎ '\\n'À¸·Î ³¡³ªÁö ¾Ê½À´Ï´Ù"
+
+#: src/msgfmt.c:1017
+#, c-format
+msgid "`msgid' and `msgstr[%u]' entries do not both end with '\\n'"
+msgstr "`msgid'¿Í `msgstr[%u]' Ç׸ñÀÌ ¸ðµÎ '\\n'À¸·Î ³¡³ªÁö ¾Ê½À´Ï´Ù"
+
+#: src/msgfmt.c:1029
+msgid "`msgid' and `msgstr' entries do not both end with '\\n'"
+msgstr "`msgid'¿Í `msgstr' Ç׸ñÀÌ ¸ðµÎ '\\n'À¸·Î ³¡³ªÁö ¾Ê½À´Ï´Ù"
+
+#: src/msgfmt.c:1041
+msgid "plural handling is a GNU gettext extension"
+msgstr ""
+
+#: src/msgfmt.c:1088
+#, c-format
+msgid "'msgstr' is not a valid %s format string, unlike 'msgid'"
+msgstr ""
+
+#: src/msgfmt.c:1122
+#, c-format
+msgid "msgstr lacks the keyboard accelerator mark '%c'"
+msgstr ""
+
+#: src/msgfmt.c:1130
+#, c-format
+msgid "msgstr has too many keyboard accelerator marks '%c'"
 msgstr ""
 
-#: src/msgfmt.c:465
-msgid "while creating hash table"
-msgstr "ÇØ½¬ Å×À̺íÀ» ¸¸µå´Â µ¿¾È"
+#: src/msgfmt.c:1164
+#, c-format
+msgid "headerfield `%s' missing in header"
+msgstr "Çì´õ¿¡ Çì´õÇʵå `%s'°¡ ºüÁ³À½"
+
+#: src/msgfmt.c:1167
+#, c-format
+msgid "header field `%s' should start at beginning of line"
+msgstr "Çì´õ Çʵå `%s'´Â ÇàÀǠóÀ½ºÎÅÍ ½ÃÀÛÇØ¾ß ÇÕ´Ï´Ù"
+
+#: src/msgfmt.c:1176
+msgid "some header fields still have the initial default value"
+msgstr "¸î¸î Çì´õ Çʵ尡 ¾ÆÁ÷µµ ÃʱâÀÇ ³»Á¤°ªÀ» °¡Áö°í ÀÖ½À´Ï´Ù"
+
+#: src/msgfmt.c:1187
+#, c-format
+msgid "field `%s' still has initial default value"
+msgstr "`%s' Çʵ尡 ¾ÆÁ÷µµ ÃʱâÀÇ ³»Á¤°ªÀ» °¡Áö°í ÀÖ½À´Ï´Ù"
 
-#: src/msgfmt.c:501
+#: src/msgfmt.c:1228
 #, fuzzy
-msgid "warning: PO file header missing, fuzzy, or invalid\n"
+msgid "warning: PO file header missing or invalid\n"
 msgstr ""
 "%s: °æ°í: PO ÆÄÀÏ Çì´õ°¡ ¾ø°Å³ª, ÆÛÁöÀ̰ųª, À߸øµÇ¾ú½À´Ï´Ù\n"
 "%*s  °æ°í: ¹®Àڼ º¯È¯ÀÌ µ¿ÀÛÇÏÁö ¾ÊÀ» °ÍÀÔ´Ï´Ù"
 
-#: src/msgfmt.c:504
+#: src/msgfmt.c:1231
 #, fuzzy
 msgid "warning: charset conversion will not work\n"
 msgstr ""
 "Çì´õ¿¡ ¹®ÀÚ¼ÂÀÌ ¾ø½À´Ï´Ù\n"
 "»ç¿ëÀÚ ¹®ÀÚ¼ÂÀ¸·ÎÀÇ ¸Þ¼¼Áö º¯È¯Àº ÇÏÁö ¾Ê½À´Ï´Ù.\n"
 
-#: src/msgfmt.c:528
+#: src/msgfmt.c:1241
+#, fuzzy
+msgid "warning: PO file header fuzzy\n"
+msgstr ""
+"%s: °æ°í: PO ÆÄÀÏ Çì´õ°¡ ¾ø°Å³ª, ÆÛÁöÀ̰ųª, À߸øµÇ¾ú½À´Ï´Ù\n"
+"%*s  °æ°í: ¹®Àڼ º¯È¯ÀÌ µ¿ÀÛÇÏÁö ¾ÊÀ» °ÍÀÔ´Ï´Ù"
+
+#: src/msgfmt.c:1243
+msgid "warning: older versions of msgfmt will give an error on this\n"
+msgstr ""
+
+#: src/msgfmt.c:1268
 #, c-format
 msgid "domain name \"%s\" not suitable as file name"
 msgstr "¿µ¿ª¸í \"%s\"´Â ÆÄÀÏ À̸§À¸·Î ¾Ë¸ÂÁö ¾Ê½À´Ï´Ù"
 
-#: src/msgfmt.c:533
+#: src/msgfmt.c:1273
 #, c-format
 msgid "domain name \"%s\" not suitable as file name: will use prefix"
 msgstr ""
 "¿µ¿ª¸í \"%s\"´Â ÆÄÀÏ À̸§À¸·Î ¾Ë¸ÂÁö ¾Ê½À´Ï´Ù. ±×·¯¹Ç·Î Á¢µÎ»ç¸¦\n"
 "»ç¿ëÇÒ °ÍÀÔ´Ï´Ù"
 
-#. We don't change the exit status here because this is really
-#. only an information.
-#: src/msgfmt.c:546
+#: src/msgfmt.c:1284
 #, c-format
 msgid "`domain %s' directive ignored"
 msgstr "`domain %s' Áö½ÃÀڴ ¹«½ÃµÊ"
 
-#: src/msgfmt.c:582
+#: src/msgfmt.c:1356
 msgid "empty `msgstr' entry ignored"
 msgstr "ºó `msgstr' Ç׸ñÀº ¹«½ÃµÊ"
 
-#: src/msgfmt.c:583
+#: src/msgfmt.c:1357
 msgid "fuzzy `msgstr' entry ignored"
 msgstr "ÆÛÁö `msgstr' Ç׸ñÀº ¹«½ÃµÊ"
 
-#: src/msgfmt.c:626
+#: src/msgfmt.c:1426
 #, c-format
-msgid "headerfield `%s' missing in header"
-msgstr "Çì´õ¿¡ Çì´õÇʵå `%s'°¡ ºüÁ³À½"
+msgid "%s: warning: source file contains fuzzy translation"
+msgstr "%s: °æ°í: ¼Ò½º ÆÄÀÏÀÌ ÆÛÁö ¹ø¿ª¹®À» Æ÷ÇÔÇϰí ÀÖ½À´Ï´Ù"
 
-#: src/msgfmt.c:629
+#: src/msggrep.c:359
 #, c-format
-msgid "header field `%s' should start at beginning of line"
-msgstr "Çì´õ Çʵå `%s'´Â ÇàÀǠóÀ½ºÎÅÍ ½ÃÀÛÇØ¾ß ÇÕ´Ï´Ù"
+msgid "option '%c' cannot be used before 'K' or 'T' has been specified"
+msgstr ""
 
-#: src/msgfmt.c:639
-msgid "some header fields still have the initial default value"
-msgstr "¸î¸î Çì´õ Çʵ尡 ¾ÆÁ÷µµ ÃʱâÀÇ ³»Á¤°ªÀ» °¡Áö°í ÀÖ½À´Ï´Ù"
+#: src/msggrep.c:381
+#, no-wrap
+msgid ""
+"Extracts all messages of a translation catalog that match a given pattern\n"
+"or belong to some given source files.\n"
+msgstr ""
+
+#: src/msggrep.c:408
+#, no-wrap
+msgid ""
+"Message selection:\n"
+"  [-N SOURCEFILE]... [-M DOMAINNAME]... [-K MSGID-PATTERN] [-T MSGSTR-PATTERN]\n"
+"A message is selected if it comes from one of the specified source files,\n"
+"or if it comes from one of the specified domains,\n"
+"or if -K is given and its key (msgid or msgid_plural) matches MSGID-PATTERN,\n"
+"or if -T is given and its translation (msgstr) matches MSGSTR-PATTERN.\n"
+"\n"
+"When more than one selection criterion is specified, the set of selected\n"
+"messages is the union of the selected messages of each criterion.\n"
+"\n"
+"MSGID-PATTERN or MSGSTR-PATTERN syntax:\n"
+"  [-E | -F] [-e PATTERN | -f FILE]...\n"
+"PATTERNs are basic regular expressions by default, or extended regular\n"
+"expressions if -E is given, or fixed strings if -F is given.\n"
+"\n"
+"  -N, --location=SOURCEFILE   select messages extracted from SOURCEFILE\n"
+"  -M, --domain=DOMAINNAME     select messages belonging to domain DOMAINNAME\n"
+"  -K, --msgid                 start of patterns for the msgid\n"
+"  -T, --msgstr                start of patterns for the msgstr\n"
+"  -E, --extended-regexp       PATTERN is an extended regular expression\n"
+"  -F, --fixed-strings         PATTERN is a set of newline-separated strings\n"
+"  -e, --regexp=PATTERN        use PATTERN as a regular expression\n"
+"  -f, --file=FILE             obtain PATTERN from FILE\n"
+"  -i, --ignore-case           ignore case distinctions\n"
+msgstr ""
+
+#: src/msggrep.c:436
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
+"      --no-escape             do not use C escapes in output (default)\n"
+"      --escape                use C escapes in output, no extended chars\n"
+"      --force-po              write PO file even if empty\n"
+"      --indent                indented output style\n"
+"      --no-location           suppress '#: filename:line' lines\n"
+"      --add-location          preserve '#: filename:line' lines (default)\n"
+"      --strict                strict Uniforum output style\n"
+"  -w, --width=NUMBER          set output page width\n"
+"      --sort-output           generate sorted output\n"
+"      --sort-by-file          sort output by file location\n"
+msgstr ""
+"»ç¿ë¹ý: %s [¿É¼Ç] def.po ref.po\n"
+"±ä ¿É¼Ç¿¡ ºÎ°¡µÇ´Â Àμö´Â ÂªÀº ¿É¼Ç¿¡µµ Àû¿ëµË´Ï´Ù.\n"
+"  -C, --compendium=<ÆÄÀÏ>    ¸Þ¼¼Áö ¹ø¿ª ¶óÀ̺귯¸®¸¦ Ãß°¡ÇÕ´Ï´Ù.\n"
+"                             ÇÑ ¹ø ÀÌ»ó Ãß°¡ÇÒ ¼ö ÀÖ½À´Ï´Ù.\n"
+"  -D, --directory=<µð·ºÅ丮> ÀԷ ÆÄÀϠŽ»ö ¸í´Ü¿¡ <µð·ºÅ丮>¸¦ Ãß°¡ÇÕ´Ï´Ù\n"
+"  -e, --no-escape            Ãâ·Â¿¡ C À̽ºÄÉÀÌÇÁ ¹®ÀÚ¸¦ ¾²Áö ¾Ê½À´Ï´Ù (³»Á¤°ª)\n"
+"  -E, --escape               Ãâ·Â¿¡ C À̽ºÄÉÀÌÇÁ ¹®ÀÚ¸¦ ¾²°í, È®Àå ¹®Àڴ ¾²Áö ¾Ê½À´Ï´Ù\n"
+"      --force-po             ºñ¾úÀ»Áö¶óµµ PO ÆÄÀÏ¿¡ ¾¹´Ï´Ù\n"
+"  -h, --help                 ÀÌ µµ¿ò¸»À» º¸¿©ÁÖ°í ³¡³³´Ï´Ù\n"
+"  -i, --indent               µé¿©¾²±âµÈ Ãâ·Â ÇüÅÂ\n"
+"  -o, --output-file=<ÆÄÀÏ>   °á°ú°¡ <ÆÄÀÏ>¿¡ ¾²¿©Áöµµ·Ï ÇÕ´Ï´Ù\n"
+"      --no-location          `#: filename:line' ÇàÀ» ¾²Áö ¾Ê½À´Ï´Ù\n"
+"      --add-location         `#: filename:line' ÇàÀ» º¸Á¸ÇÕ´Ï´Ù (³»Á¤°ª)\n"
+"      --strict               ¾ö°ÝÇÑ Uniforum Ãâ·Â ÇüÅÂ\n"
+"  -v, --verbose              ÀÚ¼¼ÇѠǥ½Ã µî±ÞÀ» ³ôÀÔ´Ï´Ù\n"
+"  -V, --version              ¹öÀü Á¤º¸¸¦ Ãâ·ÂÇÏ°í ³¡³³´Ï´Ù\n"
+"  -w, --width=NUMBER         Ãâ·Â ÆäÀÌÁöÀÇ ÆøÀ» ¼³Á¤ÇÕ´Ï´Ù\n"
+
+#: src/msggrep.c:510
+msgid "write to grep subprocess failed"
+msgstr ""
+
+#: src/msginit.c:275
+msgid ""
+"You are in a language indifferent environment.  Please set\n"
+"your LANG environment variable, as described in the ABOUT-NLS\n"
+"file.  This is necessary so you can test your translations.\n"
+msgstr ""
+
+#: src/msginit.c:303
+#, c-format
+msgid ""
+"Output file %s already exists.\n"
+"Please specify the locale through the --locale option or\n"
+"the output .po file through the --output-file option.\n"
+msgstr ""
+
+#: src/msginit.c:326
+#, c-format
+msgid "Created %s.\n"
+msgstr ""
+
+#: src/msginit.c:348
+#, no-wrap
+msgid ""
+"Creates a new PO file, initializing the meta information with values from the\n"
+"user's environment.\n"
+msgstr ""
+
+#: src/msginit.c:359
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  -i, --input=INPUTFILE       input POT file\n"
+"If no input file is given, the current directory is searched for the POT file.\n"
+"If it is -, standard input is read.\n"
+msgstr ""
+
+#: src/msginit.c:367
+#, no-wrap
+msgid ""
+"Output file location:\n"
+"  -o, --output-file=FILE      write output to specified PO file\n"
+"If no output file is given, it depends on the --locale option or the user's\n"
+"locale setting.  If it is -, the results are written to standard output.\n"
+msgstr ""
+
+#: src/msginit.c:375
+#, no-wrap
+msgid ""
+"Output details:\n"
+"  -l, --locale=LL_CC          set target locale\n"
+"      --no-translator         assume the PO file is automatically generated\n"
+"  -w, --width=NUMBER          set output page width\n"
+msgstr ""
+
+#: src/msginit.c:426
+msgid ""
+"Found more than one .pot file.\n"
+"Please specify the input .pot file through the --input option.\n"
+msgstr ""
+
+#: src/msginit.c:434 src/msginit.c:439
+msgid "error reading current directory"
+msgstr ""
+
+#: src/msginit.c:447
+msgid ""
+"Found no .pot file in the current directory.\n"
+"Please specify the input .pot file through the --input option.\n"
+msgstr ""
+
+#: src/msginit.c:887 src/msginit.c:932 src/msginit.c:1070 src/msginit.c:1137
+#: src/read-java.c:80
+msgid "fdopen() failed"
+msgstr ""
+
+#: src/msginit.c:892 src/msginit.c:937 src/msginit.c:1075
+#, c-format
+msgid "%s subprocess I/O error"
+msgstr ""
+
+#: src/msginit.c:901 src/msginit.c:946 src/msginit.c:1084 src/msginit.c:1151
+#: src/read-java.c:90
+#, c-format
+msgid "%s subprocess failed with exit code %d"
+msgstr ""
+
+#: src/msginit.c:1060
+msgid ""
+"The new message catalog should contain your email address, so that users "
+"can\n"
+"give you feedback about the translations, and so that maintainers can "
+"contact\n"
+"you in case of unexpected technical problems.\n"
+msgstr ""
+
+#. TRANSLATORS: "English" needs to be replaced by your language.
+#. For example in it.po write "Traduzioni italiani ...",
+#. *not* "Traduzioni inglesi ...".
+#: src/msginit.c:1440
+#, c-format
+msgid "English translations for %s package"
+msgstr ""
+
+#: src/msgl-cat.c:173 src/msgl-charset.c:86 src/msgl-iconv.c:299
+#, c-format
+msgid "present charset \"%s\" is not a portable encoding name"
+msgstr ""
+
+#: src/msgl-cat.c:181 src/msgl-iconv.c:307
+#, c-format
+msgid "two different charsets \"%s\" and \"%s\" in input file"
+msgstr ""
+
+#: src/msgl-cat.c:194
+#, c-format
+msgid ""
+"input file `%s' doesn't contain a header entry with a charset specification"
+msgstr ""
+
+#: src/msgl-cat.c:198
+#, c-format
+msgid ""
+"domain \"%s\" in input file `%s' doesn't contain a header entry with a "
+"charset specification"
+msgstr ""
+
+#: src/msgl-cat.c:359 src/msgl-iconv.c:382
+#, c-format
+msgid "target charset \"%s\" is not a portable encoding name."
+msgstr ""
+
+#: src/msgl-cat.c:409 src/msgl-cat.c:415 src/msgl-charset.c:91
+#: src/msgl-charset.c:126 src/write-po.c:723 src/write-po.c:817
+#, fuzzy
+msgid "warning: "
+msgstr "%s: °æ°í: "
+
+#: src/msgl-cat.c:410
+msgid ""
+"Input files contain messages in different encodings, UTF-8 among others.\n"
+"Converting the output to UTF-8.\n"
+msgstr ""
+
+#: src/msgl-cat.c:416
+#, c-format
+msgid ""
+"Input files contain messages in different encodings, %s and %s among "
+"others.\n"
+"Converting the output to UTF-8.\n"
+"To select a different output encoding, use the --to-code option.\n"
+msgstr ""
 
-#: src/msgfmt.c:650
+#: src/msgl-charset.c:92
 #, c-format
-msgid "field `%s' still has initial default value"
-msgstr "`%s' Çʵ尡 ¾ÆÁ÷µµ ÃʱâÀÇ ³»Á¤°ªÀ» °¡Áö°í ÀÖ½À´Ï´Ù"
+msgid ""
+"Locale charset \"%s\" is different from\n"
+"input file charset \"%s\".\n"
+"Output of '%s' might be incorrect.\n"
+"Possible workarounds are:\n"
+msgstr ""
 
-#: src/msgfmt.c:741
+#: src/msgl-charset.c:99
 #, c-format
-msgid "%s: warning: source file contains fuzzy translation"
-msgstr "%s: °æ°í: ¼Ò½º ÆÄÀÏÀÌ ÆÛÁö ¹ø¿ª¹®À» Æ÷ÇÔÇϰí ÀÖ½À´Ï´Ù"
+msgid "- Set LC_ALL to a locale with encoding %s.\n"
+msgstr ""
 
-#: src/msgfmt.c:964
-msgid "`msgid' and `msgid_plural' entries do not both begin with '\\n'"
-msgstr "`msgid'¿Í `msgstr_plural' Ç׸ñÀÌ ¸ðµÎ '\\n'À¸·Î ½ÃÀÛÇÏÁö ¾Ê½À´Ï´Ù"
+#: src/msgl-charset.c:104
+#, c-format
+msgid ""
+"- Convert the translation catalog to %s using 'msgconv',\n"
+"  then apply '%s',\n"
+"  then convert back to %s using 'msgconv'.\n"
+msgstr ""
 
-#: src/msgfmt.c:974
+#: src/msgl-charset.c:113
 #, c-format
-msgid "`msgid' and `msgstr[%u]' entries do not both begin with '\\n'"
-msgstr "`msgid'¿Í `msgstr[%u]' Ç׸ñÀÌ ¸ðµÎ '\\n'À¸·Î ½ÃÀÛÇÏÁö ¾Ê½À´Ï´Ù"
+msgid ""
+"- Set LC_ALL to a locale with encoding %s,\n"
+"  convert the translation catalog to %s using 'msgconv',\n"
+"  then apply '%s',\n"
+"  then convert back to %s using 'msgconv'.\n"
+msgstr ""
 
-#: src/msgfmt.c:986
-msgid "`msgid' and `msgstr' entries do not both begin with '\\n'"
-msgstr "`msgid'¿Í `msgstr' Ç׸ñÀÌ ¸ðµÎ '\\n'À¸·Î ½ÃÀÛÇÏÁö ¾Ê½À´Ï´Ù"
+#: src/msgl-charset.c:127
+#, c-format
+msgid ""
+"Locale charset \"%s\" is not a portable encoding name.\n"
+"Output of '%s' might be incorrect.\n"
+"A possible workaround is to set LC_ALL=C.\n"
+msgstr ""
 
-#: src/msgfmt.c:1003
-msgid "`msgid' and `msgid_plural' entries do not both end with '\\n'"
-msgstr "`msgid'¿Í `msgid_plural' Ç׸ñÀÌ ¸ðµÎ '\\n'À¸·Î ³¡³ªÁö ¾Ê½À´Ï´Ù"
+#: src/msgl-iconv.c:200 src/msgl-iconv.c:254
+msgid "conversion failure"
+msgstr ""
 
-#: src/msgfmt.c:1013
-#, c-format
-msgid "`msgid' and `msgstr[%u]' entries do not both end with '\\n'"
-msgstr "`msgid'¿Í `msgstr[%u]' Ç׸ñÀÌ ¸ðµÎ '\\n'À¸·Î ³¡³ªÁö ¾Ê½À´Ï´Ù"
+#: src/msgl-iconv.c:328
+msgid "input file doesn't contain a header entry with a charset specification"
+msgstr ""
 
-#: src/msgfmt.c:1025
-msgid "`msgid' and `msgstr' entries do not both end with '\\n'"
-msgstr "`msgid'¿Í `msgstr' Ç׸ñÀÌ ¸ðµÎ '\\n'À¸·Î ³¡³ªÁö ¾Ê½À´Ï´Ù"
+#: src/msgl-iconv.c:346
+#, fuzzy, c-format
+msgid ""
+"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(), and iconv() does "
+"not support this conversion."
+msgstr ""
+"¹®Àڼ \"%s\"Àº(´Â) Áö¿øµÇÁö ¾Ê½À´Ï´Ù. %sÀº(´Â) iconv()¿¡ ÀÇÁ¸ÇÏÁö¸¸,\n"
+"iconv()´Â %sÀ»(¸¦) Áö¿øÇÏÁö ¾Ê½À´Ï´Ù.\n"
 
-#: src/msgfmt.c:1043
-msgid "number of format specifications in `msgid' and `msgstr' does not match"
-msgstr "`msgid'¿Í `msgstr'¿¡ ¾²ÀΠ¼­½Ä ÁöÁ¤ÀÚÀÇ °³¼ö°¡ ÀÏÄ¡ÇÏÁö ¾Ê½À´Ï´Ù"
+#: src/msgl-iconv.c:362
+#, fuzzy, c-format
+msgid ""
+"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(). This version was "
+"built without iconv()."
+msgstr ""
+"¹®Àڼ \"%s\"Àº(´Â) Áö¿øµÇÁö ¾Ê½À´Ï´Ù. %sÀº(´Â) iconv()¿¡ ÀÇÁ¸ÇÏÁö¸¸,\n"
+"ÀÌ ¹öÀüÀº iconv()¸¦ Áö¿øµÇÁö ¾Ê´Â »óÅ·ΠºôµåµÇ¾ú½À´Ï´Ù.\n"
 
-#: src/msgfmt.c:1062
-#, c-format
-msgid "format specifications for argument %lu are not the same"
-msgstr "Àμö %lu¿¡ ´ëÇÑ ¼­½Ä ÁöÁ¤ÀÌ °°Áö ¾Ê½À´Ï´Ù"
+#: src/msgmerge.c:340
+msgid "backup type"
+msgstr ""
 
-#: src/msgmerge.c:273
+#: src/msgmerge.c:377
 #, fuzzy, no-wrap
 msgid ""
 "Merges two Uniforum style .po files together.  The def.po file is an\n"
@@ -633,7 +1587,7 @@ msgstr ""
 "°á°ú¸¦ ¾ò±â À§ÇØ ÆÛÁö ¸ÅĪÀÌ »ç¿ëµË´Ï´Ù.  ¸¸¾à Ãâ·Â ÆÄÀÏÀÌ ÁöÁ¤µÇÁö ¾ÊÀ¸¸é\n"
 "°á°ú´Â Ç¥ÁØÃâ·Â¿¡ ¾²¿©Áý´Ï´Ù.\n"
 
-#: src/msgmerge.c:291
+#: src/msgmerge.c:395
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -644,49 +1598,32 @@ msgid ""
 "                              may be specified more than once\n"
 msgstr ""
 
-#: src/msgmerge.c:301
+#: src/msgmerge.c:405
 #, no-wrap
 msgid ""
-"Output file location:\n"
-"  -o, --output-file=FILE      write output to specified file\n"
-"The results are written to standard output if no output file is specified\n"
-"or if it is -.\n"
+"Operation mode:\n"
+"  -U, --update                update def.po,\n"
+"                              do nothing if def.po already up to date\n"
 msgstr ""
 
-#: src/msgmerge.c:309
-#, fuzzy, no-wrap
+#: src/msgmerge.c:420
+#, no-wrap
 msgid ""
-"Output details:\n"
-"  -e, --no-escape             do not use C escapes in output (default)\n"
-"  -E, --escape                use C escapes in output, no extended chars\n"
-"      --force-po              write PO file even if empty\n"
-"  -i, --indent                indented output style\n"
-"      --no-location           suppress '#: filename:line' lines\n"
-"      --add-location          preserve '#: filename:line' lines (default)\n"
-"      --strict                strict Uniforum output style\n"
-"  -w, --width=NUMBER          set output page width\n"
-"  -s, --sort-output           generate sorted output and remove duplicates\n"
-"  -F, --sort-by-file          sort output by file location\n"
+"Output file location in update mode:\n"
+"The result is written back to def.po.\n"
+"      --backup=CONTROL        make a backup of def.po\n"
+"      --suffix=SUFFIX         override the usual backup suffix\n"
+"The version control method may be selected via the --backup option or through\n"
+"the VERSION_CONTROL environment variable.  Here are the values:\n"
+"  none, off       never make backups (even if --backup is given)\n"
+"  numbered, t     make numbered backups\n"
+"  existing, nil   numbered if numbered backups exist, simple otherwise\n"
+"  simple, never   always make simple backups\n"
+"The backup suffix is `~', unless set with --suffix or the SIMPLE_BACKUP_SUFFIX\n"
+"environment variable.\n"
 msgstr ""
-"»ç¿ë¹ý: %s [¿É¼Ç] def.po ref.po\n"
-"±ä ¿É¼Ç¿¡ ºÎ°¡µÇ´Â Àμö´Â ÂªÀº ¿É¼Ç¿¡µµ Àû¿ëµË´Ï´Ù.\n"
-"  -C, --compendium=<ÆÄÀÏ>    ¸Þ¼¼Áö ¹ø¿ª ¶óÀ̺귯¸®¸¦ Ãß°¡ÇÕ´Ï´Ù.\n"
-"                             ÇÑ ¹ø ÀÌ»ó Ãß°¡ÇÒ ¼ö ÀÖ½À´Ï´Ù.\n"
-"  -D, --directory=<µð·ºÅ丮> ÀԷ ÆÄÀϠŽ»ö ¸í´Ü¿¡ <µð·ºÅ丮>¸¦ Ãß°¡ÇÕ´Ï´Ù\n"
-"  -e, --no-escape            Ãâ·Â¿¡ C À̽ºÄÉÀÌÇÁ ¹®ÀÚ¸¦ ¾²Áö ¾Ê½À´Ï´Ù (³»Á¤°ª)\n"
-"  -E, --escape               Ãâ·Â¿¡ C À̽ºÄÉÀÌÇÁ ¹®ÀÚ¸¦ ¾²°í, È®Àå ¹®Àڴ ¾²Áö ¾Ê½À´Ï´Ù\n"
-"      --force-po             ºñ¾úÀ»Áö¶óµµ PO ÆÄÀÏ¿¡ ¾¹´Ï´Ù\n"
-"  -h, --help                 ÀÌ µµ¿ò¸»À» º¸¿©ÁÖ°í ³¡³³´Ï´Ù\n"
-"  -i, --indent               µé¿©¾²±âµÈ Ãâ·Â ÇüÅÂ\n"
-"  -o, --output-file=<ÆÄÀÏ>   °á°ú°¡ <ÆÄÀÏ>¿¡ ¾²¿©Áöµµ·Ï ÇÕ´Ï´Ù\n"
-"      --no-location          `#: filename:line' ÇàÀ» ¾²Áö ¾Ê½À´Ï´Ù\n"
-"      --add-location         `#: filename:line' ÇàÀ» º¸Á¸ÇÕ´Ï´Ù (³»Á¤°ª)\n"
-"      --strict               ¾ö°ÝÇÑ Uniforum Ãâ·Â ÇüÅÂ\n"
-"  -v, --verbose              ÀÚ¼¼ÇѠǥ½Ã µî±ÞÀ» ³ôÀÔ´Ï´Ù\n"
-"  -V, --version              ¹öÀü Á¤º¸¸¦ Ãâ·ÂÇÏ°í ³¡³³´Ï´Ù\n"
-"  -w, --width=NUMBER         Ãâ·Â ÆäÀÌÁöÀÇ ÆøÀ» ¼³Á¤ÇÕ´Ï´Ù\n"
 
-#: src/msgmerge.c:324
+#: src/msgmerge.c:457
 #, no-wrap
 msgid ""
 "Informative output:\n"
@@ -696,7 +1633,17 @@ msgid ""
 "  -q, --quiet, --silent       suppress progress indicators\n"
 msgstr ""
 
-#: src/msgmerge.c:472
+#: src/msgmerge.c:625
+#, fuzzy
+msgid "this message should define plural forms"
+msgstr "ÀÌ ¸Þ½ÃÁö´Â »ç¿ëµÇÁö¸¸ %s¿¡¼­ Á¤ÀǵÇÁö ¾Ê¾Ò½À´Ï´Ù"
+
+#: src/msgmerge.c:648
+#, fuzzy
+msgid "this message should not define plural forms"
+msgstr "ÀÌ ¸Þ½ÃÁö´Â »ç¿ëµÇÁö¸¸ %s¿¡¼­ Á¤ÀǵÇÁö ¾Ê¾Ò½À´Ï´Ù"
+
+#: src/msgmerge.c:779
 #, c-format
 msgid ""
 "%sRead %ld old + %ld reference, merged %ld, fuzzied %ld, missing %ld, "
@@ -705,21 +1652,33 @@ msgstr ""
 "%s%ld°³ÀÇ ¿¹Àü °Í + %ld°³ÀÇ ÂüÁ¶¹®, °áÇյȠ°Í %ld, ÆÛÁö %ld, ºüÁø °Í %ld, ¾µ"
 "¸ð¾ø´Â °Í %ld°³¸¦ Àоú½À´Ï´Ù.\n"
 
-#: src/msgmerge.c:479
+#: src/msgmerge.c:787
 msgid " done.\n"
 msgstr " ¿Ï·á.\n"
 
-#: src/msgunfmt.c:216
+#: src/msgunfmt.c:201
+#, fuzzy, c-format
+msgid "%s and explicit file names are mutually exclusive"
+msgstr "%s¿Í %s´Â ¼­·Î ¹èŸÀûÀÔ´Ï´Ù"
+
+#: src/msgunfmt.c:267
 #, c-format, no-wrap
 msgid "Usage: %s [OPTION] [FILE]...\n"
 msgstr ""
 
-#: src/msgunfmt.c:221
+#: src/msgunfmt.c:272
 #, no-wrap
 msgid "Convert binary message catalog to Uniforum style .po file.\n"
 msgstr ""
 
-#: src/msgunfmt.c:231
+#: src/msgunfmt.c:282
+#, no-wrap
+msgid ""
+"Operation mode:\n"
+"  -j, --java               Java mode: generate a Java ResourceBundle class\n"
+msgstr ""
+
+#: src/msgunfmt.c:288
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -727,7 +1686,17 @@ msgid ""
 "If no input file is given or if it is -, standard input is read.\n"
 msgstr ""
 
-#: src/msgunfmt.c:238
+#: src/msgunfmt.c:295
+#, no-wrap
+msgid ""
+"Input file location in Java mode:\n"
+"  -r, --resource=RESOURCE  resource name\n"
+"  -l, --locale=LOCALE      locale name, either language or language_COUNTRY\n"
+"The class name is determined by appending the locale name to the resource name,\n"
+"separated with an underscore.  The class is located using the CLASSPATH.\n"
+msgstr ""
+
+#: src/msgunfmt.c:304
 #, no-wrap
 msgid ""
 "Output file location:\n"
@@ -736,7 +1705,7 @@ msgid ""
 "or if it is -.\n"
 msgstr ""
 
-#: src/msgunfmt.c:246
+#: src/msgunfmt.c:312
 #, fuzzy, no-wrap
 msgid ""
 "Output details:\n"
@@ -746,7 +1715,7 @@ msgid ""
 "  -i, --indent             write indented output style\n"
 "      --strict             write strict uniforum style\n"
 "  -w, --width=NUMBER       set output page width\n"
-"  -s, --sort-output        generate sorted output and remove duplicates\n"
+"  -s, --sort-output        generate sorted output\n"
 msgstr ""
 "»ç¿ë¹ý: %s [¿É¼Ç] [ÆÄÀÏ]...\n"
 "±ä ¿É¼Ç¿¡ ºÎ°¡µÇ´Â Àμö´Â ÂªÀº ¿É¼Ç¿¡µµ Àû¿ëµË´Ï´Ù.\n"
@@ -761,52 +1730,49 @@ msgstr ""
 "  -V, --version            ¹öÀü Á¤º¸¸¦ Ãâ·ÂÇϰí Á¾·áÇÕ´Ï´Ù\n"
 "  -w, --width=NUMBER       Ãâ·Â ÆäÀÌÁö ÆøÀ» ¼³Á¤ÇÕ´Ï´Ù\n"
 
-#: src/msgunfmt.c:258
+#: src/msgunfmt.c:324
 #, no-wrap
 msgid ""
 "Informative output:\n"
 "  -h, --help               display this help and exit\n"
 "  -V, --version            output version information and exit\n"
+"  -v, --verbose            increase verbosity level\n"
 msgstr ""
 
-#: src/msgunfmt.c:286 src/msgunfmt.c:351 src/po-lex.c:212 src/xget-lex.c:244
-#, c-format
-msgid "error while reading \"%s\""
-msgstr "\"%s\"À» Àд µ¿¾È ¿À·ù ¹ß»ý"
-
-#: src/msgunfmt.c:287 src/msgunfmt.c:352
-#, c-format
-msgid "file \"%s\" truncated"
-msgstr "\"%s\" ÆÄÀÏÀÌ Àß·ÈÀ½"
-
-#: src/msgunfmt.c:318
-#, c-format
-msgid "seek \"%s\" offset %ld failed"
-msgstr "\"%s\" ¿É¼Â %ld Å½»ö ½ÇÆÐ"
-
-#: src/msgunfmt.c:357
-#, c-format
-msgid "file \"%s\" contains a not NUL terminated string"
-msgstr "\"%s\" ÆÄÀÏ¿¡ NUL·Î ³¡³ªÁö ¾Ê´Â ¹®ÀÚ¿­ÀÌ ÀÖ½À´Ï´Ù"
+#: src/msguniq.c:279
+#, no-wrap
+msgid ""
+"Unifies duplicate translations in a translation catalog.\n"
+"Finds duplicate translations of the same message ID.  Such duplicates are\n"
+"invalid input for other programs like msgfmt, msgmerge or msgcat.  By\n"
+"default, duplicates are merged together.  When using the --repeated option,\n"
+"only duplicates are output, and all other messages are discarded.  Comments\n"
+"and extracted comments will be cumulated, except that if --use-first is\n"
+"specified, they will be taken from the first translation.  File positions\n"
+"will be cumulated.  When using the --unique option, duplicates are discarded.\n"
+msgstr ""
 
-#: src/msgunfmt.c:402
-#, c-format
-msgid "file \"%s\" is not in GNU .mo format"
-msgstr "\"%s\" ÆÄÀÏÀº GNU .mo Çü½ÄÀÌ ¾Æ´Õ´Ï´Ù"
+#: src/msguniq.c:312
+#, no-wrap
+msgid ""
+"Message selection:\n"
+"  -d, --repeated                 print only duplicates\n"
+"  -u, --unique                   print only unique messages, discard duplicates\n"
+msgstr ""
 
-#: src/ngettext.c:212
+#: src/ngettext.c:215
 #, c-format, no-wrap
 msgid "Usage: %s [OPTION] [TEXTDOMAIN] MSGID MSGID-PLURAL COUNT\n"
 msgstr ""
 
-#: src/ngettext.c:217
+#: src/ngettext.c:220
 #, no-wrap
 msgid ""
 "Display native language translation of a textual message whose grammatical\n"
 "form depends on a number.\n"
 msgstr ""
 
-#: src/ngettext.c:222
+#: src/ngettext.c:225
 #, fuzzy, no-wrap
 msgid ""
 "  -d, --domain=TEXTDOMAIN   retrieve translated message from TEXTDOMAIN\n"
@@ -828,7 +1794,7 @@ msgstr ""
 "  MSGID MSGID-PLURAL        MSGID(´Ü¼ö) / MSGID-PLURAL(º¹¼ö)¸¦ ¹ø¿ªÇÕ´Ï´Ù\n"
 "  COUNT                     ÀÌ °ª¿¡ µû¶ó ´Ü¼ö/º¹¼ö¸¦ °áÁ¤ÇÕ´Ï´Ù\n"
 
-#: src/ngettext.c:233
+#: src/ngettext.c:236
 #, fuzzy, c-format, no-wrap
 msgid ""
 "If the TEXTDOMAIN parameter is not given, the domain is determined from the\n"
@@ -844,17 +1810,17 @@ msgstr ""
 "\n"
 "Ç¥ÁؠŽ»ö µð·ºÅ丮: %s\n"
 
-#: src/open-po.c:64
+#: src/open-po.c:69
 msgid "<stdin>"
 msgstr "<Ç¥ÁØÀÔ·Â>"
 
-#: src/po-charset.c:145 src/po-charset.c:213 src/po-charset.c:239
-#: src/po-charset.c:265
+#: src/po-charset.c:172 src/po-charset.c:240 src/po-charset.c:268
+#: src/po-charset.c:294
 #, c-format
 msgid "%s: warning: "
 msgstr "%s: °æ°í: "
 
-#: src/po-charset.c:146
+#: src/po-charset.c:173
 #, c-format
 msgid ""
 "Charset \"%s\" is not a portable encoding name.\n"
@@ -863,15 +1829,15 @@ msgstr ""
 "¹®Àڼ \"%s\"ÀÌ(°¡) °øÅëÀûÀ¸·Î ÀÌ¿ëÇϴ ÀÎÄÚµù À̸§ÀÌ ¾Æ´Õ´Ï´Ù.\n"
 "»ç¿ëÀÚÀÇ ¹®ÀÚ¼ÂÀ¸·ÎÀÇ ¸Þ¼¼Áö º¯È¯Àº ÇÏÁö ¾ÊÀ» °ÍÀÔ´Ï´Ù.\n"
 
-#: src/po-charset.c:209 src/po-charset.c:237
+#: src/po-charset.c:236 src/po-charset.c:266
 msgid "Continuing anyway, expect parse errors."
 msgstr "¾î·µç °è¼ÓÇÕ´Ï´Ù.  ¹®¹ý ¾Ö·¯°¡ Å¸³ª³¯ °ÍÀÔ´Ï´Ù."
 
-#: src/po-charset.c:211
+#: src/po-charset.c:238
 msgid "Continuing anyway."
 msgstr "¾î·µç °è¼ÓÇÕ´Ï´Ù"
 
-#: src/po-charset.c:214
+#: src/po-charset.c:241
 #, c-format
 msgid ""
 "Charset \"%s\" is not supported. %s relies on iconv(),\n"
@@ -880,7 +1846,7 @@ msgstr ""
 "¹®Àڼ \"%s\"Àº(´Â) Áö¿øµÇÁö ¾Ê½À´Ï´Ù. %sÀº(´Â) iconv()¿¡ ÀÇÁ¸ÇÏÁö¸¸,\n"
 "iconv()´Â %sÀ»(¸¦) Áö¿øÇÏÁö ¾Ê½À´Ï´Ù.\n"
 
-#: src/po-charset.c:223 src/po-charset.c:247
+#: src/po-charset.c:250 src/po-charset.c:276
 msgid ""
 "Installing GNU libiconv and then reinstalling GNU gettext\n"
 "would fix this problem.\n"
@@ -888,12 +1854,12 @@ msgstr ""
 "GNU libiconv¸¦ ¼³Ä¡Çϰí GNU gettext¸¦ ´Ù½Ã ¼³Ä¡Çϸé ÀÌ\n"
 "¹®Á¦°¡ ¾øÀ» °ÍÀÔ´Ï´Ù.\n"
 
-#: src/po-charset.c:228 src/po-charset.c:251
+#: src/po-charset.c:255 src/po-charset.c:280
 #, c-format
 msgid "%s\n"
 msgstr "%s\n"
 
-#: src/po-charset.c:240
+#: src/po-charset.c:269
 #, c-format
 msgid ""
 "Charset \"%s\" is not supported. %s relies on iconv().\n"
@@ -902,7 +1868,7 @@ msgstr ""
 "¹®Àڼ \"%s\"Àº(´Â) Áö¿øµÇÁö ¾Ê½À´Ï´Ù. %sÀº(´Â) iconv()¿¡ ÀÇÁ¸ÇÏÁö¸¸,\n"
 "ÀÌ ¹öÀüÀº iconv()¸¦ Áö¿øµÇÁö ¾Ê´Â »óÅ·ΠºôµåµÇ¾ú½À´Ï´Ù.\n"
 
-#: src/po-charset.c:266
+#: src/po-charset.c:295
 msgid ""
 "Charset missing in header.\n"
 "Message conversion to user's charset will not work.\n"
@@ -910,128 +1876,229 @@ msgstr ""
 "Çì´õ¿¡ ¹®ÀÚ¼ÂÀÌ ¾ø½À´Ï´Ù\n"
 "»ç¿ëÀÚ ¹®ÀÚ¼ÂÀ¸·ÎÀÇ ¸Þ¼¼Áö º¯È¯Àº ÇÏÁö ¾Ê½À´Ï´Ù.\n"
 
-#: po-gram-gen.y:88
+#: po-gram-gen.y:91
 msgid "inconsistent use of #~"
 msgstr "#~°¡ ¸ð¼øµÇ°Ô ÀÌ¿ëµÇ¾ú½À´Ï´Ù"
 
-#: po-gram-gen.y:178
+#: po-gram-gen.y:181
 msgid "missing `msgstr[]' section"
 msgstr "`msgstr[]' ºÎºÐÀÌ ºüÁ³½À´Ï´Ù"
 
-#: po-gram-gen.y:186
+#: po-gram-gen.y:189
 msgid "missing `msgid_plural' section"
 msgstr "`msgstr_plural' ºÎºÐÀÌ ºüÁ³½À´Ï´Ù"
 
-#: po-gram-gen.y:193
+#: po-gram-gen.y:196
 msgid "missing `msgstr' section"
 msgstr "`msgstr' ºÎºÐÀÌ ºüÁ³½À´Ï´Ù"
 
-#: po-gram-gen.y:238
+#: po-gram-gen.y:241
 msgid "first plural form has nonzero index"
 msgstr "ù ¹øÂ° º¹¼öÇüÀÇ À妽º°¡ 0ÀÌ ¾Æ´Õ´Ï´Ù"
 
-#: po-gram-gen.y:240
+#: po-gram-gen.y:243
 msgid "plural form has wrong index"
 msgstr "º¹¼öÇüÀÇ À妽º°¡ À߸øµÇ¾ú½À´Ï´Ù"
 
-#. CAUTION: If you change this macro, you must also make identical
-#. changes to the function of the same name in src/po-lex.c
-#: src/po-lex.c:151 src/po-lex.c:194 src/po-lex.h:77 src/po-lex.h:93
-#: src/po-lex.h:111 src/po-lex.h:127
+#: src/po-lex.h:91 src/po-lex.h:106 src/po-lex.h:126 src/po-lex.h:141
+#: src/po-lex.c:135 src/po-lex.c:176
 msgid "too many errors, aborting"
 msgstr "¿À·ù°¡ ³Ê¹« ¸¹¾Æ¼­ Áß´ÜÇÕ´Ï´Ù"
 
-#: src/po-lex.c:270
+#: src/po-lex.c:545 src/write-po.c:331 src/write-po.c:421
+msgid "invalid multibyte sequence"
+msgstr "À߸øµÈ °¡º¯¹ÙÀÌÆ® ¹®ÀÚ¿­"
+
+#: src/po-lex.c:571
+#, fuzzy
+msgid "incomplete multibyte sequence at end of file"
+msgstr "À߸øµÈ °¡º¯¹ÙÀÌÆ® ¹®ÀÚ¿­"
+
+#: src/po-lex.c:581
+#, fuzzy
+msgid "incomplete multibyte sequence at end of line"
+msgstr "À߸øµÈ °¡º¯¹ÙÀÌÆ® ¹®ÀÚ¿­"
+
+#: src/po-lex.c:589
+msgid "iconv failure"
+msgstr ""
+
+#: src/po-lex.c:763 src/read-mo.c:70 src/read-mo.c:135 src/x-c.c:216
+#: src/x-rst.c:227 src/x-ycp.c:103
+#, c-format
+msgid "error while reading \"%s\""
+msgstr "\"%s\"À» Àд µ¿¾È ¿À·ù ¹ß»ý"
+
+#: src/po-lex.c:829
 #, c-format
 msgid "keyword \"%s\" unknown"
 msgstr "¾Ë ¼ö ¾ø´Â Å°¿öµå \"%s\""
 
-#: src/po-lex.c:373
+#: src/po-lex.c:939
 msgid "invalid control sequence"
 msgstr "À߸øµÈ Á¦¾î ¼ø¼­¿­"
 
-#: src/po-lex.c:476
+#: src/po-lex.c:1047
 msgid "end-of-file within string"
 msgstr "¹®ÀÚ¿­ ³»ºÎ¿¡¼­ ÆÄÀÏÀÌ ³¡³²"
 
-#: src/po-lex.c:481
+#: src/po-lex.c:1053
 msgid "end-of-line within string"
 msgstr "¹®ÀÚ¿­ ³»ºÎ¿¡¼­ ÇàÀÌ ³¡³²"
 
-#: src/po-lex.c:524 src/write-po.c:291 src/write-po.c:373
-msgid "invalid multibyte sequence"
-msgstr "À߸øµÈ °¡º¯¹ÙÀÌÆ® ¹®ÀÚ¿­"
+#: src/read-mo.c:71 src/read-mo.c:136
+#, c-format
+msgid "file \"%s\" truncated"
+msgstr "\"%s\" ÆÄÀÏÀÌ Àß·ÈÀ½"
+
+#: src/read-mo.c:102
+#, c-format
+msgid "seek \"%s\" offset %ld failed"
+msgstr "\"%s\" ¿É¼Â %ld Å½»ö ½ÇÆÐ"
+
+#: src/read-mo.c:141
+#, c-format
+msgid "file \"%s\" contains a not NUL terminated string"
+msgstr "\"%s\" ÆÄÀÏ¿¡ NUL·Î ³¡³ªÁö ¾Ê´Â ¹®ÀÚ¿­ÀÌ ÀÖ½À´Ï´Ù"
+
+#: src/read-mo.c:186
+#, c-format
+msgid "file \"%s\" is not in GNU .mo format"
+msgstr "\"%s\" ÆÄÀÏÀº GNU .mo Çü½ÄÀÌ ¾Æ´Õ´Ï´Ù"
+
+#: src/write-java.c:1108
+msgid "cannot find a temporary directory, try setting $TMPDIR"
+msgstr ""
+
+#: src/write-java.c:1118
+#, fuzzy, c-format
+msgid "cannot create a temporary directory using template \"%s\""
+msgstr "Ãâ·Â ÆÄÀÏ \"%s\"À» ¸¸µé ¼ö ¾ø½À´Ï´Ù"
+
+#: src/write-java.c:1131
+#, c-format
+msgid "not a valid Java class name: %s"
+msgstr ""
+
+#: src/write-java.c:1188 src/write-java.c:1201
+#, c-format
+msgid "failed to create \"%s\""
+msgstr ""
+
+#: src/write-java.c:1209 src/write-mo.c:289 src/write-po.c:966
+#, c-format
+msgid "error while writing \"%s\" file"
+msgstr "\"%s\" ÆÄÀÏÀ» ¾²´Â µ¿¾È ¿À·ù ¹ß»ý"
+
+#: src/write-java.c:1223
+msgid "compilation of Java class failed, please try --verbose or set $JAVAC"
+msgstr ""
 
-#: src/write-po.c:322
+#: src/write-mo.c:277
+#, c-format
+msgid "error while opening \"%s\" for writing"
+msgstr "¾²±â À§ÇØ \"%s\"À» ¿©´Â µ¿¾È ¿À·ù ¹ß»ý"
+
+#: src/write-po.c:370
 #, c-format
 msgid ""
 "internationalized messages should not contain the `\\%c' escape sequence"
 msgstr "±¹Á¦È­µÈ ¸Þ½ÃÁö´Â `\\%c' À̽ºÄÉÀÌÇÁ ¼ø¼­¿­À» Æ÷ÇÔÇÒ ¼ö ¾ø½À´Ï´Ù"
 
-#: src/write-po.c:863
+#: src/write-po.c:724 src/write-po.c:818
+#, c-format
+msgid ""
+"The following msgid contains non-ASCII characters.\n"
+"This will cause problems to translators who use a character encoding\n"
+"different from yours. Consider using a pure ASCII msgid instead.\n"
+"%s\n"
+msgstr ""
+
+#: src/write-po.c:885
 #, c-format
 msgid "cannot create output file \"%s\""
 msgstr "Ãâ·Â ÆÄÀÏ \"%s\"À» ¸¸µé ¼ö ¾ø½À´Ï´Ù"
 
-#: src/write-po.c:870
+#: src/write-po.c:892
 #, no-c-format
 msgid "standard output"
 msgstr "Ç¥ÁØ Ãâ·Â"
 
-#: src/write-po.c:945
-#, c-format
-msgid "error while writing \"%s\" file"
-msgstr "\"%s\" ÆÄÀÏÀ» ¾²´Â µ¿¾È ¿À·ù ¹ß»ý"
-
-#: src/xget-lex.c:149
-msgid "standard input"
-msgstr "Ç¥ÁØ ÀÔ·Â"
-
-#: src/xget-lex.c:878
+#: src/x-c.c:858
 #, c-format
 msgid "%s:%d: warning: unterminated character constant"
 msgstr "%s:%d: °æ°í: ¿Ï°áµÇÁö ¾ÊÀº ¹®ÀÚ »ó¼ö"
 
-#: src/xget-lex.c:902
+#: src/x-c.c:882
 #, c-format
 msgid "%s:%d: warning: unterminated string literal"
 msgstr "%s:%d: °æ°í: ¿Ï°áµÇÁö ¾ÊÀº ¹®ÀÚ¿­ »ó¼ö"
 
-#: src/xgettext.c:372
+#: src/x-po.c:106 src/xgettext.c:605
+msgid "this file may not contain domain directives"
+msgstr "ÀÌ ÆÄÀÏÀº ¿µ¿ª Áö½ÃÀÚ¸¦ Æ÷ÇÔÇϰí ÀÖÁö ¾ÊÀ» ¼öµµ ÀÖ½À´Ï´Ù"
+
+#: src/x-rst.c:108
+#, c-format
+msgid "%s:%d: invalid string definition"
+msgstr ""
+
+#: src/x-rst.c:168
+#, c-format
+msgid "%s:%d: missing number after #"
+msgstr ""
+
+#: src/x-rst.c:203
+#, c-format
+msgid "%s:%d: invalid string expression"
+msgstr ""
+
+#: src/xgettext.c:375
 msgid "--join-existing cannot be used when output is written to stdout"
 msgstr "--join-exeistingÀº Ãâ·ÂÀ̠ǥÁØÃâ·Â¿¡ ¾²¿©Áú ¶§ »ç¿ëµÉ ¼ö ¾ø½À´Ï´Ù"
 
-#: src/xgettext.c:377
+#: src/xgettext.c:380
 msgid "xgettext cannot work without keywords to look for"
 msgstr "xgettext´Â °Ë»öÇҠŰ¿öµå ¾øÀ̴ µ¿ÀÛÇÏÁö ¾Ê½À´Ï´Ù"
 
-#: src/xgettext.c:483
+#: src/xgettext.c:468
 #, c-format
 msgid "warning: file `%s' extension `%s' is unknown; will try C"
 msgstr "°æ°í: `%s' ÆÄÀÏÀÇ È®ÀåÀÚ `%s'¸¦ ¾Ë ¼ö ¾ø½À´Ï´Ù; C Çü½ÄÀ¸·Î °£ÁÖÇÔ"
 
-#: src/xgettext.c:524
+#: src/xgettext.c:509
 #, no-wrap
 msgid "Extract translatable strings from given input files.\n"
 msgstr ""
 
-#: src/xgettext.c:529
+#: src/xgettext.c:514
 #, no-wrap
 msgid ""
 "Mandatory arguments to long options are mandatory for short options too.\n"
 "Similarly for optional arguments.\n"
 msgstr ""
 
-#: src/xgettext.c:553
+#: src/xgettext.c:529
+#, no-wrap
+msgid ""
+"Output file location:\n"
+"  -d, --default-domain=NAME      use NAME.po for output (instead of messages.po)\n"
+"  -o, --output=FILE              write output to specified file\n"
+"  -p, --output-dir=DIR           output files will be placed in directory DIR\n"
+"If output file is -, output is written to standard output.\n"
+msgstr ""
+
+#: src/xgettext.c:538
 #, no-wrap
 msgid ""
 "Choice of input file language:\n"
-"  -L, --language=NAME            recognise the specified language (C, C++, PO)\n"
+"  -L, --language=NAME            recognise the specified language\n"
+"                                   (C, C++, ObjectiveC, PO, Java, YCP)\n"
 "  -C, --c++                      shorthand for --language=C++\n"
 "By default the language is guessed depending on the input file name extension.\n"
 msgstr ""
 
-#: src/xgettext.c:561
+#: src/xgettext.c:547
 #, no-wrap
 msgid ""
 "Operation mode:\n"
@@ -1041,7 +2108,7 @@ msgid ""
 "                                 preceding keyword lines) in output file\n"
 msgstr ""
 
-#: src/xgettext.c:570
+#: src/xgettext.c:556
 #, no-wrap
 msgid ""
 "Language=C/C++ specific options:\n"
@@ -1052,8 +2119,8 @@ msgid ""
 "      --debug                    more detailed formatstring recognition result\n"
 msgstr ""
 
-#: src/xgettext.c:580
-#, no-wrap
+#: src/xgettext.c:566
+#, fuzzy, no-wrap
 msgid ""
 "Output details:\n"
 "  -e, --no-escape                do not use C escapes in output (default)\n"
@@ -1064,36 +2131,75 @@ msgid ""
 "  -n, --add-location             generate '#: filename:line' lines (default)\n"
 "      --strict                   write out strict Uniforum conforming .po file\n"
 "  -w, --width=NUMBER             set output page width\n"
-"  -s, --sort-output              generate sorted output and remove duplicates\n"
+"  -s, --sort-output              generate sorted output\n"
 "  -F, --sort-by-file             sort output by file location\n"
 "      --omit-header              don't write header with `msgid \"\"' entry\n"
 "      --foreign-user             omit FSF copyright in output for foreign user\n"
 "  -m, --msgstr-prefix[=STRING]   use STRING or \"\" as prefix for msgstr entries\n"
 "  -M, --msgstr-suffix[=STRING]   use STRING or \"\" as suffix for msgstr entries\n"
 msgstr ""
+"»ç¿ë¹ý: %s [¿É¼Ç] def.po ref.po\n"
+"±ä ¿É¼Ç¿¡ ºÎ°¡µÇ´Â Àμö´Â ÂªÀº ¿É¼Ç¿¡µµ Àû¿ëµË´Ï´Ù.\n"
+"  -C, --compendium=<ÆÄÀÏ>    ¸Þ¼¼Áö ¹ø¿ª ¶óÀ̺귯¸®¸¦ Ãß°¡ÇÕ´Ï´Ù.\n"
+"                             ÇÑ ¹ø ÀÌ»ó Ãß°¡ÇÒ ¼ö ÀÖ½À´Ï´Ù.\n"
+"  -D, --directory=<µð·ºÅ丮> ÀԷ ÆÄÀϠŽ»ö ¸í´Ü¿¡ <µð·ºÅ丮>¸¦ Ãß°¡ÇÕ´Ï´Ù\n"
+"  -e, --no-escape            Ãâ·Â¿¡ C À̽ºÄÉÀÌÇÁ ¹®ÀÚ¸¦ ¾²Áö ¾Ê½À´Ï´Ù (³»Á¤°ª)\n"
+"  -E, --escape               Ãâ·Â¿¡ C À̽ºÄÉÀÌÇÁ ¹®ÀÚ¸¦ ¾²°í, È®Àå ¹®Àڴ ¾²Áö ¾Ê½À´Ï´Ù\n"
+"      --force-po             ºñ¾úÀ»Áö¶óµµ PO ÆÄÀÏ¿¡ ¾¹´Ï´Ù\n"
+"  -h, --help                 ÀÌ µµ¿ò¸»À» º¸¿©ÁÖ°í ³¡³³´Ï´Ù\n"
+"  -i, --indent               µé¿©¾²±âµÈ Ãâ·Â ÇüÅÂ\n"
+"  -o, --output-file=<ÆÄÀÏ>   °á°ú°¡ <ÆÄÀÏ>¿¡ ¾²¿©Áöµµ·Ï ÇÕ´Ï´Ù\n"
+"      --no-location          `#: filename:line' ÇàÀ» ¾²Áö ¾Ê½À´Ï´Ù\n"
+"      --add-location         `#: filename:line' ÇàÀ» º¸Á¸ÇÕ´Ï´Ù (³»Á¤°ª)\n"
+"      --strict               ¾ö°ÝÇÑ Uniforum Ãâ·Â ÇüÅÂ\n"
+"  -v, --verbose              ÀÚ¼¼ÇѠǥ½Ã µî±ÞÀ» ³ôÀÔ´Ï´Ù\n"
+"  -V, --version              ¹öÀü Á¤º¸¸¦ Ãâ·ÂÇÏ°í ³¡³³´Ï´Ù\n"
+"  -w, --width=NUMBER         Ãâ·Â ÆäÀÌÁöÀÇ ÆøÀ» ¼³Á¤ÇÕ´Ï´Ù\n"
 
-#: src/xgettext.c:952
-#, c-format
-msgid "%s:%d: warning: keyword nested in keyword arg"
-msgstr "%s:%d: °æ°í: Å°¿öµå°¡ Å°¿öµå ÀÎÀھȿ¡ µé¾î ÀÖ½À´Ï´Ù"
+#: src/xgettext.c:720
+msgid "standard input"
+msgstr "Ç¥ÁØ ÀÔ·Â"
 
-#: src/xgettext.c:964
-#, c-format
-msgid "%s:%d: warning: keyword between outer keyword and its arg"
-msgstr "%s:%d: °æ°í: ¶Ç´Ù¸¥ Å°¿öµå ¾È¿¡ Àִ Ű¿öµåÀÇ ÀÎÀÚÀÔ´Ï´Ù"
+#: src/xgettext.c:830
+msgid ""
+"Empty msgid.  It is reserved by GNU gettext:\n"
+"gettext(\"\") returns the header entry with\n"
+"meta information, not the empty string.\n"
+msgstr ""
 
-#: src/xgettext.c:1462
+#: src/xgettext.c:1099
 #, c-format
 msgid "language `%s' unknown"
 msgstr "`%s' ¾ð¾î¸¦ ¾Ë ¼ö ¾øÀ½"
 
+#~ msgid "while creating hash table"
+#~ msgstr "ÇØ½¬ Å×À̺íÀ» ¸¸µå´Â µ¿¾È"
+
+#, fuzzy
+#~ msgid "%s:%lu: warning: keyword nested in keyword arg"
+#~ msgstr "%s:%d: °æ°í: Å°¿öµå°¡ Å°¿öµå ÀÎÀھȿ¡ µé¾î ÀÖ½À´Ï´Ù"
+
+#, fuzzy
+#~ msgid "%s:%lu: warning: keyword between outer keyword and its arg"
+#~ msgstr "%s:%d: °æ°í: ¶Ç´Ù¸¥ Å°¿öµå ¾È¿¡ Àִ Ű¿öµåÀÇ ÀÎÀÚÀÔ´Ï´Ù"
+
+#~ msgid "while preparing output"
+#~ msgstr "Ãâ·ÂÀ» ÁغñÇϴ µ¿¾È"
+
+#~ msgid "this message has no definition in the \"%s\" domain"
+#~ msgstr "ÀÌ ¸Þ½ÃÁö´Â \"%s\" ¿µ¿ª¿¡ Á¤Àǰ¡ ¾ø½À´Ï´Ù"
+
 #~ msgid ""
 #~ "Usage: %s [OPTION] INPUTFILE ...\n"
 #~ "Mandatory arguments to long options are mandatory for short options too.\n"
-#~ "  -d, --default-domain=NAME      use NAME.po for output (instead of messages.po)\n"
-#~ "  -D, --directory=DIRECTORY      add DIRECTORY to list for input files search\n"
-#~ "  -e, --no-escape                do not use C escapes in output (default)\n"
-#~ "  -E, --escape                   use C escapes in output, no extended chars\n"
+#~ "  -d, --default-domain=NAME      use NAME.po for output (instead of "
+#~ "messages.po)\n"
+#~ "  -D, --directory=DIRECTORY      add DIRECTORY to list for input files "
+#~ "search\n"
+#~ "  -e, --no-escape                do not use C escapes in output "
+#~ "(default)\n"
+#~ "  -E, --escape                   use C escapes in output, no extended "
+#~ "chars\n"
 #~ "  -f, --files-from=FILE          get list of input files from FILE\n"
 #~ "      --force-po                 write PO file even if empty\n"
 #~ "  -F, --sort-by-file             sort output by file location\n"
@@ -1101,10 +2207,14 @@ msgstr "`%s' 
 #~ msgstr ""
 #~ "»ç¿ë¹ý: %s [¿É¼Ç] <ÀÔ·ÂÆÄÀÏ> ...\n"
 #~ "±ä ¿É¼Ç¿¡ ºÎ°¡µÇ´Â Àμö´Â ÂªÀº ¿É¼Ç¿¡µµ Àû¿ëµË´Ï´Ù.\n"
-#~ "  -d, --default-domain=<À̸§>    <À̸§>.po·Î Ãâ·ÂÇÕ´Ï´Ù (messages.po ´ë½Å)\n"
-#~ "  -D, --directory=<µð·ºÅ丮>     ÀԷ ÆÄÀϠŽ»ö ¸í´Ü¿¡ <µð·ºÅ丮>¸¦ Ãß°¡ÇÕ´Ï´Ù\n"
-#~ "  -e, --no-escape                Ãâ·Â¿¡ C À̽ºÄÉÀÌÇÁ ¹®ÀÚ¸¦ ¾²Áö ¾Ê½À´Ï´Ù (³»Á¤°ª)\n"
-#~ "  -E, --escape                   Ãâ·Â¿¡ C À̽ºÄÉÀÌÇÁ ¹®ÀÚ¸¦ ¾²°í, È®Àå ¹®Àڴ ¾²Áö ¾Ê½À´Ï´Ù\n"
+#~ "  -d, --default-domain=<À̸§>    <À̸§>.po·Î Ãâ·ÂÇÕ´Ï´Ù (messages.po ´ë"
+#~ "½Å)\n"
+#~ "  -D, --directory=<µð·ºÅ丮>     ÀԷ ÆÄÀϠŽ»ö ¸í´Ü¿¡ <µð·ºÅ丮>¸¦ Ãß°¡ÇÕ"
+#~ "´Ï´Ù\n"
+#~ "  -e, --no-escape                Ãâ·Â¿¡ C À̽ºÄÉÀÌÇÁ ¹®ÀÚ¸¦ ¾²Áö ¾Ê½À´Ï´Ù "
+#~ "(³»Á¤°ª)\n"
+#~ "  -E, --escape                   Ãâ·Â¿¡ C À̽ºÄÉÀÌÇÁ ¹®ÀÚ¸¦ ¾²°í, È®Àå ¹®"
+#~ "Àڴ ¾²Áö ¾Ê½À´Ï´Ù\n"
 #~ "  -f, --files-from=<ÆÄÀÏ>        <ÆÄÀÏ>¿¡¼­ ÀԷ ÆÄÀÏÀÇ ¸í´ÜÀ» ÀнÀ´Ï´Ù\n"
 #~ "      --force-po                 ºñ¾úÀ»Áö¶óµµ PO ÆÄÀÏ¿¡ ±â·ÏÇÕ´Ï´Ù\n"
 #~ "  -F, --sort-by-file             ÆÄÀÏÀÇ À§Ä¡¿¡ µû¶ó Ãâ·ÂÀ» Á¤·ÄÇÕ´Ï´Ù\n"
@@ -1152,12 +2262,16 @@ msgstr "`%s' 
 #~ "Generate binary message catalog from textual translation description.\n"
 #~ "\n"
 #~ "Mandatory arguments to long options are mandatory for short options too.\n"
-#~ "  -a, --alignment=NUMBER      align strings to NUMBER bytes (default: %d)\n"
-#~ "  -c, --check                 perform language dependent checks on strings\n"
-#~ "  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+#~ "  -a, --alignment=NUMBER      align strings to NUMBER bytes (default: %"
+#~ "d)\n"
+#~ "  -c, --check                 perform language dependent checks on "
+#~ "strings\n"
+#~ "  -D, --directory=DIRECTORY   add DIRECTORY to list for input files "
+#~ "search\n"
 #~ "  -f, --use-fuzzy             use fuzzy entries in output\n"
 #~ "  -h, --help                  display this help and exit\n"
-#~ "      --no-hash               binary file will not include the hash table\n"
+#~ "      --no-hash               binary file will not include the hash "
+#~ "table\n"
 #~ "  -o, --output-file=FILE      specify output file name as FILE\n"
 #~ "      --statistics            print statistics about translations\n"
 #~ "      --strict                enable strict Uniforum mode\n"
@@ -1171,12 +2285,15 @@ msgstr "`%s' 
 #~ msgstr ""
 #~ "»ç¿ë¹ý: %s [¿É¼Ç] ÆÄÀϸí.po ...\n"
 #~ "±ä ¿É¼Ç¿¡ ºÎ°¡µÇ´Â Àμö´Â ÂªÀº ¿É¼Ç¿¡µµ Àû¿ëµË´Ï´Ù.\n"
-#~ "  -a. --alignment=<¼ýÀÚ>     ¹®ÀÚ¿­À» <¼ýÀÚ> ¹ÙÀÌÆ®·Î Á¤·ÄÇÕ´Ï´Ù(±âº»°ª: %d)\n"
+#~ "  -a. --alignment=<¼ýÀÚ>     ¹®ÀÚ¿­À» <¼ýÀÚ> ¹ÙÀÌÆ®·Î Á¤·ÄÇÕ´Ï´Ù(±âº»°ª: %"
+#~ "d)\n"
 #~ "  -c, --check                ¹®ÀÚ¿­¿¡ ´ëÇØ ¾ð¾î ÀÇÁ¸ °Ë»ç¸¦ ¼öÇàÇÕ´Ï´Ù\n"
-#~ "  -D, --directory=<µð·ºÅ丮> ÀԷ ÆÄÀϠŽ»ö ¸í´Ü¿¡ <µð·ºÅ丮>¸¦ Ãß°¡ÇÕ´Ï´Ù\n"
+#~ "  -D, --directory=<µð·ºÅ丮> ÀԷ ÆÄÀϠŽ»ö ¸í´Ü¿¡ <µð·ºÅ丮>¸¦ Ãß°¡ÇÕ´Ï"
+#~ "´Ù\n"
 #~ "  -f, --use-fuzzy            Ãâ·Â¿¡ ÆÛÁö Ç׸ñÀ» »ç¿ëÇÕ´Ï´Ù\n"
 #~ "  -h, --help                 ÀÌ µµ¿ò¸»À» º¸¿©ÁÖ°í ³¡³³´Ï´Ù\n"
-#~ "      --no-hash              ÀÌÁø ÆÄÀÏÀÌ ÇØ½¬ Å×À̺íÀ» Æ÷ÇÔÇÏÁö ¾Êµµ·Ï ÇÕ´Ï´Ù\n"
+#~ "      --no-hash              ÀÌÁø ÆÄÀÏÀÌ ÇØ½¬ Å×À̺íÀ» Æ÷ÇÔÇÏÁö ¾Êµµ·Ï ÇÕ"
+#~ "´Ï´Ù\n"
 #~ "  -o, --output-file=<ÆÄÀÏ>   Ãâ·Â ÆÄÀÏ À̸§À» <ÆÄÀÏ>·Î ÁöÁ¤ÇÕ´Ï´Ù\n"
 #~ "      --statistics           ¹ø¿ª¹®¿¡ ´ëÇÑ Åë°è¸¦ Ãâ·ÂÇÕ´Ï´Ù\n"
 #~ "      --strict               ¾ö°ÝÇÑ Uniforum ¸ðµå¸¦ ÄÕ´Ï´Ù\n"
@@ -1210,62 +2327,90 @@ msgstr "`%s' 
 #~ "  -c, --add-comments[=TAG]       place comment block with TAG (or those\n"
 #~ "                                 preceding keyword lines) in output file\n"
 #~ "  -C, --c++                      shorthand for --language=C++\n"
-#~ "      --debug                    more detailed formatstring recognision result\n"
-#~ "  -d, --default-domain=NAME      use NAME.po for output (instead of messages.po)\n"
-#~ "  -D, --directory=DIRECTORY      add DIRECTORY to list for input files search\n"
-#~ "  -e, --no-escape                do not use C escapes in output (default)\n"
-#~ "  -E, --escape                   use C escapes in output, no extended chars\n"
+#~ "      --debug                    more detailed formatstring recognision "
+#~ "result\n"
+#~ "  -d, --default-domain=NAME      use NAME.po for output (instead of "
+#~ "messages.po)\n"
+#~ "  -D, --directory=DIRECTORY      add DIRECTORY to list for input files "
+#~ "search\n"
+#~ "  -e, --no-escape                do not use C escapes in output "
+#~ "(default)\n"
+#~ "  -E, --escape                   use C escapes in output, no extended "
+#~ "chars\n"
 #~ "  -f, --files-from=FILE          get list of input files from FILE\n"
 #~ "      --force-po                 write PO file even if empty\n"
-#~ "      --foreign-user             omit FSF copyright in output for foreign user\n"
+#~ "      --foreign-user             omit FSF copyright in output for foreign "
+#~ "user\n"
 #~ "  -F, --sort-by-file             sort output by file location\n"
 #~ msgstr ""
 #~ "»ç¿ë¹ý: %s [¿É¼Ç] <ÀÔ·ÂÆÄÀÏ> ...\n"
 #~ "±ä ¿É¼Ç¿¡ ºÎ°¡µÇ´Â Àμö´Â ÂªÀº ¿É¼Ç¿¡µµ Àû¿ëµË´Ï´Ù.\n"
 #~ "  -a, --extract-all              ¸ðµç ¹®ÀÚ¿­À» ÃßÃâÇÕ´Ï´Ù\n"
-#~ "  -c, --add-comments[=TAG]       Ãâ·Â ÆÄÀÏ¿¡ TAG(¶Ç´Â Å°¿öµå Çà)°¡ Æ÷ÇԵȠÁÖ¼®\n"
+#~ "  -c, --add-comments[=TAG]       Ãâ·Â ÆÄÀÏ¿¡ TAG(¶Ç´Â Å°¿öµå Çà)°¡ Æ÷ÇԵȠ"
+#~ "ÁÖ¼®\n"
 #~ "                                 ºí·°À» µÓ´Ï´Ù\n"
 #~ "  -C, --c++                      --language=C++ÀÇ ¾à½Ä Ç¥Çö\n"
 #~ "      --debug                    ´õ ÀÚ¼¼ÇÑ ¼­½Ä¹®ÀÚ¿­ ÀνĠ°á°ú\n"
-#~ "  -d, --default-domain=<À̸§>    <À̸§>.po·Î Ãâ·ÂÇÕ´Ï´Ù (messages.po ´ë½Å)\n"
-#~ "  -D, --directory=<µð·ºÅ丮>     ÀԷ ÆÄÀϠŽ»ö ¸í´Ü¿¡ <µð·ºÅ丮>¸¦ Ãß°¡ÇÕ´Ï´Ù\n"
-#~ "  -e, --no-escape                Ãâ·Â¿¡ C À̽ºÄÉÀÌÇÁ ¹®ÀÚ¸¦ ¾²Áö ¾Ê½À´Ï´Ù (³»Á¤°ª)\n"
-#~ "  -E, --escape                   Ãâ·Â¿¡ C À̽ºÄÉÀÌÇÁ ¹®ÀÚ¸¦ ¾²°í, È®Àå ¹®Àڴ ¾²Áö ¾Ê½À´Ï´Ù\n"
+#~ "  -d, --default-domain=<À̸§>    <À̸§>.po·Î Ãâ·ÂÇÕ´Ï´Ù (messages.po ´ë"
+#~ "½Å)\n"
+#~ "  -D, --directory=<µð·ºÅ丮>     ÀԷ ÆÄÀϠŽ»ö ¸í´Ü¿¡ <µð·ºÅ丮>¸¦ Ãß°¡ÇÕ"
+#~ "´Ï´Ù\n"
+#~ "  -e, --no-escape                Ãâ·Â¿¡ C À̽ºÄÉÀÌÇÁ ¹®ÀÚ¸¦ ¾²Áö ¾Ê½À´Ï´Ù "
+#~ "(³»Á¤°ª)\n"
+#~ "  -E, --escape                   Ãâ·Â¿¡ C À̽ºÄÉÀÌÇÁ ¹®ÀÚ¸¦ ¾²°í, È®Àå ¹®"
+#~ "Àڴ ¾²Áö ¾Ê½À´Ï´Ù\n"
 #~ "  -f, --files-from=<ÆÄÀÏ>        <ÆÄÀÏ>¿¡¼­ ÀԷ ÆÄÀÏÀÇ ¸í´ÜÀ» ÀнÀ´Ï´Ù\n"
 #~ "      --force-po                 ºñ¾úÀ»Áö¶óµµ PO ÆÄÀÏ¿¡ ±â·ÏÇÕ´Ï´Ù\n"
-#~ "      --foreign-user             ¿ÜºÎ »ç¿ëÀÚ¸¦ À§ÇØ FSF ÀúÀ۱ǠÁ¶Ç×À» Ãâ·Â¿¡¼­ »ý·«ÇÕ´Ï´Ù\n"
+#~ "      --foreign-user             ¿ÜºÎ »ç¿ëÀÚ¸¦ À§ÇØ FSF ÀúÀ۱ǠÁ¶Ç×À» Ãâ·Â"
+#~ "¿¡¼­ »ý·«ÇÕ´Ï´Ù\n"
 #~ "  -F, --sort-by-file             ÆÄÀÏÀÇ À§Ä¡¿¡ µû¶ó Ãâ·ÂÀ» Á¤·ÄÇÕ´Ï´Ù\n"
 
 #~ msgid ""
 #~ "  -h, --help                     display this help and exit\n"
 #~ "  -i, --indent                   write the .po file using indented style\n"
 #~ "  -j, --join-existing            join messages with existing file\n"
-#~ "  -k, --keyword[=WORD]           additonal keyword to be looked for (without\n"
+#~ "  -k, --keyword[=WORD]           additonal keyword to be looked for "
+#~ "(without\n"
 #~ "                                 WORD means not to use default keywords)\n"
-#~ "  -L, --language=NAME            recognise the specified language (C, C++, PO),\n"
-#~ "                                 otherwise is guessed from file extension\n"
-#~ "  -m, --msgstr-prefix[=STRING]   use STRING or \"\" as prefix for msgstr entries\n"
-#~ "  -M, --msgstr-suffix[=STRING]   use STRING or \"\" as suffix for msgstr entries\n"
+#~ "  -L, --language=NAME            recognise the specified language (C, C+"
+#~ "+, PO),\n"
+#~ "                                 otherwise is guessed from file "
+#~ "extension\n"
+#~ "  -m, --msgstr-prefix[=STRING]   use STRING or \"\" as prefix for msgstr "
+#~ "entries\n"
+#~ "  -M, --msgstr-suffix[=STRING]   use STRING or \"\" as suffix for msgstr "
+#~ "entries\n"
 #~ "      --no-location              do not write '#: filename:line' lines\n"
 #~ msgstr ""
 #~ "  -h, --help                     ÀÌ µµ¿ò¸»À» º¸¿©ÁÖ°í ³¡³³´Ï´Ù\n"
 #~ "  -i, --indent                   µé¿©¾²±âµÈ ÇüÅ·Π.po ÆÄÀÏ¿¡ ±â·ÏÇÕ´Ï´Ù\n"
 #~ "  -j, --join-existing            Á¸ÀçÇϴ ÆÄÀÏ¿¡ ¸Þ½ÃÁö¸¦ °áÇÕÇÕ´Ï´Ù\n"
-#~ "  -k, --keyword[=<´Ü¾î>]         ºÎ°¡ÀûÀ¸·Î Å½»öÇҠŰ¿öµå (<´Ü¾î>¸¦ ÁöÁ¤ÇÏÁö \n"
-#~ "                                 ¾Ê´Â °ÍÀÌ ±âº» Å°¿öµå¸¦ ¾²´Â °ÍÀ» ¶æÇÏÁø ¾Ê½À´Ï´Ù)\n"
-#~ "  -L, --language=<À̸§>          ÁöÁ¤µÈ ¾ð¾î(C, C++, PO)¸¦ ÀνÄÇϸç, ±×·¸Áö \n"
-#~ "                                 ¸øÇÒ ¶§¿¡´Â ÆÄÀÏ È®ÀåÀÚ¸¦ º¸°í ÃßÃøÇÕ´Ï´Ù.\n"
-#~ "  -m, --msgstr-prefix[=<¹®ÀÚ¿­>] msgstr Ç׸ñÀÇ Á¢µÎ»ç·Î STRINGÀ̳ª \"\"¸¦ »ç¿ëÇÕ´Ï´Ù\n"
-#~ "  -M, --msgstr-suffix[=<¹®ÀÚ¿­>] msgstr Ç׸ñÀÇ Á¢¹Ì»ç·Î STRINGÀ̳ª \"\"¸¦ »ç¿ëÇÕ´Ï´Ù\n"
+#~ "  -k, --keyword[=<´Ü¾î>]         ºÎ°¡ÀûÀ¸·Î Å½»öÇҠŰ¿öµå (<´Ü¾î>¸¦ ÁöÁ¤ÇÏ"
+#~ "Áö \n"
+#~ "                                 ¾Ê´Â °ÍÀÌ ±âº» Å°¿öµå¸¦ ¾²´Â °ÍÀ» ¶æÇÏÁø "
+#~ "¾Ê½À´Ï´Ù)\n"
+#~ "  -L, --language=<À̸§>          ÁöÁ¤µÈ ¾ð¾î(C, C++, PO)¸¦ ÀνÄÇϸç, ±×·¸"
+#~ "Áö \n"
+#~ "                                 ¸øÇÒ ¶§¿¡´Â ÆÄÀÏ È®ÀåÀÚ¸¦ º¸°í ÃßÃøÇÕ´Ï"
+#~ "´Ù.\n"
+#~ "  -m, --msgstr-prefix[=<¹®ÀÚ¿­>] msgstr Ç׸ñÀÇ Á¢µÎ»ç·Î STRINGÀ̳ª \"\"¸¦ "
+#~ "»ç¿ëÇÕ´Ï´Ù\n"
+#~ "  -M, --msgstr-suffix[=<¹®ÀÚ¿­>] msgstr Ç׸ñÀÇ Á¢¹Ì»ç·Î STRINGÀ̳ª \"\"¸¦ "
+#~ "»ç¿ëÇÕ´Ï´Ù\n"
 #~ "      --no-location              '#: filename:line' ÇàÀ» ¾²Áö ¾Ê½À´Ï´Ù\n"
 
 #~ msgid ""
-#~ "  -n, --add-location             generate '#: filename:line' lines (default)\n"
-#~ "      --omit-header              don't write header with `msgid \"\"' entry\n"
+#~ "  -n, --add-location             generate '#: filename:line' lines "
+#~ "(default)\n"
+#~ "      --omit-header              don't write header with `msgid \"\"' "
+#~ "entry\n"
 #~ "  -o, --output=FILE              write output to specified file\n"
-#~ "  -p, --output-dir=DIR           output files will be placed in directory DIR\n"
-#~ "  -s, --sort-output              generate sorted output and remove duplicates\n"
-#~ "      --strict                   write out strict Uniforum conforming .po file\n"
+#~ "  -p, --output-dir=DIR           output files will be placed in directory "
+#~ "DIR\n"
+#~ "  -s, --sort-output              generate sorted output and remove "
+#~ "duplicates\n"
+#~ "      --strict                   write out strict Uniforum conforming .po "
+#~ "file\n"
 #~ "  -T, --trigraphs                understand ANSI C trigraphs for input\n"
 #~ "  -V, --version                  output version information and exit\n"
 #~ "  -w, --width=NUMBER             set output page width\n"
@@ -1273,13 +2418,18 @@ msgstr "`%s' 
 #~ "\n"
 #~ "If INPUTFILE is -, standard input is read.\n"
 #~ msgstr ""
-#~ "  -n, --add-location             '#: filename:line' ÇàÀ» »ý¼ºÇÕ´Ï´Ù (³»Á¤°ª)\n"
-#~ "      --omit-header              Ç¥Á¦¿¡ `msgid \"\"' Ç׸ñÀ» ¾²Áö ¾Ê½À´Ï´Ù\n"
+#~ "  -n, --add-location             '#: filename:line' ÇàÀ» »ý¼ºÇÕ´Ï´Ù (³»Á¤"
+#~ "°ª)\n"
+#~ "      --omit-header              Ç¥Á¦¿¡ `msgid \"\"' Ç׸ñÀ» ¾²Áö ¾Ê½À´Ï"
+#~ "´Ù\n"
 #~ "  -o, --output=FILE              ÁöÁ¤µÈ ÆÄÀÏ¿¡ Ãâ·ÂÀ» ±â·ÏÇÕ´Ï´Ù\n"
-#~ "  -p, --output-dir=DIR           Ãâ·Â ÆÄÀÏÀ» DIR µð·ºÅ丮¿¡ °¡Á®´Ù ³õ½À´Ï´Ù\n"
+#~ "  -p, --output-dir=DIR           Ãâ·Â ÆÄÀÏÀ» DIR µð·ºÅ丮¿¡ °¡Á®´Ù ³õ½À´Ï"
+#~ "´Ù\n"
 #~ "  -s, --sort-output              Á¤·ÄµÈ Ãâ·ÂÀ» »ý¼ºÇÏ°í »çº»À» Áö¿ó´Ï´Ù\n"
-#~ "      --strict                   UniforumÀ» ¾ö°ÝÈ÷ µû¸£´Â .po ÆÄÀÏÀ» ¸¸µì´Ï´Ù\n"
-#~ "  -T, --trigraphs                ÀԷ¿¡ ´ëÇØ ANSI C Æ®¸®±×¶óÇÁ¸¦ ÀνÄÇÕ´Ï´Ù\n"
+#~ "      --strict                   UniforumÀ» ¾ö°ÝÈ÷ µû¸£´Â .po ÆÄÀÏÀ» ¸¸µì"
+#~ "´Ï´Ù\n"
+#~ "  -T, --trigraphs                ÀԷ¿¡ ´ëÇØ ANSI C Æ®¸®±×¶óÇÁ¸¦ ÀνÄÇÕ´Ï"
+#~ "´Ù\n"
 #~ "  -V, --version                  ¹öÀü Á¤º¸¸¦ Ãâ·ÂÇϰí Á¾·áÇÕ´Ï´Ù\n"
 #~ "  -w, --width=NUMBER             Ãâ·Â ÆäÀÌÁö ÆøÀ» ¼³Á¤ÇÕ´Ï´Ù\n"
 #~ "  -x, --exclude-file=FILE        FILE ¾ÈÀÇ Ç׸ñÀ» ÃßÃâÇÏÁö ¾Ê½À´Ï´Ù\n"
index cc62fc9162ef77f6d53e777af7bb70d634923281..0196783e24157e387899427147a40ccfffe49995 100644 (file)
Binary files a/po/nl.gmo and b/po/nl.gmo differ
index 61b2747d8df10b4e6084a09d9cd5e023b3417fe3..24e656cf54582d7615597b25f93aebdb95dc9b4a 100644 (file)
--- a/po/nl.po
+++ b/po/nl.po
@@ -5,19 +5,66 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: GNU gettext 0.10.31\n"
-"POT-Creation-Date: 2001-04-18 22:38+0200\n"
+"POT-Creation-Date: 2001-11-30 14:18+0100\n"
 "PO-Revision-Date: 1997-03-11 22:38 \n"
 "Last-Translator: Erick Branderhorst <Erick.Branderhorst@asml.nl>\n"
 "Language-Team: Dutch <nl@li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=ISO-8859-1\n"
-"Content-Transfer-Encoding: 8-bit\n"
+"Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
+#: lib/argmatch.c:141
+#, c-format
+msgid "invalid argument `%s' for `%s'"
+msgstr ""
+
+#: lib/argmatch.c:142
+#, c-format
+msgid "ambiguous argument `%s' for `%s'"
+msgstr ""
+
+#: lib/argmatch.c:162
+msgid "Valid arguments are:"
+msgstr ""
+
+#: lib/copy-file.c:60 src/file-list.c:57 src/po-lex.c:732 src/read-mo.c:170
+#: src/xgettext.c:729 src/xgettext.c:742 src/xgettext.c:752
+#, c-format
+msgid "error while opening \"%s\" for reading"
+msgstr "fout tijdens openen om te lezen van \"%s\""
+
+#: lib/copy-file.c:67
+#, fuzzy, c-format
+msgid "cannot open backup file \"%s\" for writing"
+msgstr "fout bij openen om te schrijven van \"%s\""
+
+#: lib/copy-file.c:80
+#, fuzzy, c-format
+msgid "error reading \"%s\""
+msgstr "fout tijdens lezen \"%s\""
+
+#: lib/copy-file.c:86 lib/copy-file.c:90
+#, fuzzy, c-format
+msgid "error writing \"%s\""
+msgstr "fout bij schrijven bestand \"%s\""
+
+#: lib/copy-file.c:92
+#, fuzzy, c-format
+msgid "error after reading \"%s\""
+msgstr "fout tijdens lezen \"%s\""
+
 #: lib/error.c:115
 msgid "Unknown system error"
 msgstr "Onbekende systeemfout"
 
+#: lib/execute.c:170 lib/execute.c:205 lib/pipe-bidi.c:156 lib/pipe-bidi.c:191
+#: lib/pipe-in.c:167 lib/pipe-in.c:202 lib/pipe-out.c:167 lib/pipe-out.c:202
+#: lib/wait-process.c:136
+#, c-format
+msgid "%s subprocess failed"
+msgstr ""
+
 #: lib/getopt.c:691
 #, c-format
 msgid "%s: option `%s' is ambiguous\n"
@@ -38,19 +85,16 @@ msgstr "%s: optie `%c%s' verwacht geen argument\n"
 msgid "%s: option `%s' requires an argument\n"
 msgstr "%s: optie `%s' verwacht een argument\n"
 
-#. --option
 #: lib/getopt.c:768
 #, c-format
 msgid "%s: unrecognized option `--%s'\n"
 msgstr "%s: onbekende optie `--%s'\n"
 
-#. +option or -option
 #: lib/getopt.c:772
 #, c-format
 msgid "%s: unrecognized option `%c%s'\n"
 msgstr "%s: onbekende optie `%c%s'\n"
 
-#. 1003.2 specifies the format of this message.
 #: lib/getopt.c:798
 #, c-format
 msgid "%s: illegal option -- %c\n"
@@ -61,7 +105,6 @@ msgstr "%s: ongeldige optie -- %c\n"
 msgid "%s: invalid option -- %c\n"
 msgstr "%s: ongeldige optie -- %c\n"
 
-#. 1003.2 specifies the format of this message.
 #: lib/getopt.c:831 lib/getopt.c:961
 #, c-format
 msgid "%s: option requires an argument -- %c\n"
@@ -77,14 +120,115 @@ msgstr "%s: optie `-W %s' is dubbelzinnig\n"
 msgid "%s: option `-W %s' doesn't allow an argument\n"
 msgstr "%s: optie `-W %s' staat geen argument toe\n"
 
-#: lib/obstack.c:474 lib/xmalloc.c:86 src/po.c:308 src/po.c:381 src/po.c:389
-#: src/po.c:395 src/po.c:415 src/po.c:422 src/po.c:427 src/po.c:444
+#: lib/javacomp.c:465
+msgid "Java compiler not found, try installing gcj or set $JAVAC"
+msgstr ""
+
+#: lib/javaexec.c:404
+msgid "Java virtual machine not found, try installing gij or set $JAVA"
+msgstr ""
+
+#: lib/obstack.c:474 lib/xerror.c:75 lib/xmalloc.c:56
 #, fuzzy
 msgid "memory exhausted"
 msgstr "Geen geheugen meer beschikbaar"
 
-#: src/gettext.c:140 src/msgcmp.c:140 src/msgcomm.c:279 src/msgfmt.c:270
-#: src/msgmerge.c:255 src/msgunfmt.c:170 src/ngettext.c:120 src/xgettext.c:388
+#: lib/pipe-bidi.c:119 lib/pipe-bidi.c:121 lib/pipe-in.c:136
+#: lib/pipe-out.c:136
+#, fuzzy
+msgid "cannot create pipe"
+msgstr "kan uitvoerbestand \"%s\" niet aanmaken"
+
+#: lib/wait-process.c:117
+#, c-format
+msgid "%s subprocess"
+msgstr ""
+
+#: lib/wait-process.c:129
+#, c-format
+msgid "%s subprocess got fatal signal"
+msgstr ""
+
+#: src/format-c.c:578 src/format-python.c:463
+#, fuzzy
+msgid "number of format specifications in 'msgid' and 'msgstr' does not match"
+msgstr "aantal formaat specificaties in `msgid' en `msgstr' zijn niet gelijk"
+
+#: src/format-c.c:588 src/format-python.c:473
+#, fuzzy, c-format
+msgid ""
+"format specifications in 'msgid' and 'msgstr' for argument %u are not the "
+"same"
+msgstr "formaat specificaties voor argument %u zijn niet dezelfde"
+
+#: src/format-java.c:652 src/format-pascal.c:396
+#, fuzzy, c-format
+msgid "a format specification for argument {%u} doesn't exist in 'msgid'"
+msgstr "formaat specificaties voor argument %u zijn niet dezelfde"
+
+#: src/format-java.c:662 src/format-pascal.c:406
+#, fuzzy, c-format
+msgid "a format specification for argument {%u} doesn't exist in 'msgstr'"
+msgstr "formaat specificaties voor argument %u zijn niet dezelfde"
+
+#: src/format-java.c:676 src/format-pascal.c:420
+#, fuzzy, c-format
+msgid ""
+"format specifications in 'msgid' and 'msgstr' for argument {%u} are not the "
+"same"
+msgstr "formaat specificaties voor argument %u zijn niet dezelfde"
+
+#: src/format-lisp.c:3371
+#, fuzzy
+msgid "format specifications in 'msgid' and 'msgstr' are not equivalent"
+msgstr "aantal formaat specificaties in `msgid' en `msgstr' zijn niet gelijk"
+
+#: src/format-python.c:391
+#, fuzzy
+msgid ""
+"format specifications in 'msgid' expect a mapping, those in 'msgstr' expect "
+"a tuple"
+msgstr "aantal formaat specificaties in `msgid' en `msgstr' zijn niet gelijk"
+
+#: src/format-python.c:399
+#, fuzzy
+msgid ""
+"format specifications in 'msgid' expect a tuple, those in 'msgstr' expect a "
+"mapping"
+msgstr "aantal formaat specificaties in `msgid' en `msgstr' zijn niet gelijk"
+
+#: src/format-python.c:422
+#, fuzzy, c-format
+msgid "a format specification for argument '%s' doesn't exist in 'msgid'"
+msgstr "formaat specificaties voor argument %u zijn niet dezelfde"
+
+#: src/format-python.c:432
+#, fuzzy, c-format
+msgid "a format specification for argument '%s' doesn't exist in 'msgstr'"
+msgstr "formaat specificaties voor argument %u zijn niet dezelfde"
+
+#: src/format-python.c:446
+#, fuzzy, c-format
+msgid ""
+"format specifications in 'msgid' and 'msgstr' for argument '%s' are not the "
+"same"
+msgstr "formaat specificaties voor argument %u zijn niet dezelfde"
+
+#: src/format-ycp.c:137
+#, fuzzy, c-format
+msgid "a format specification for argument %u doesn't exist in 'msgstr'"
+msgstr "formaat specificaties voor argument %u zijn niet dezelfde"
+
+#: src/format-ycp.c:138
+#, fuzzy, c-format
+msgid "a format specification for argument %u doesn't exist in 'msgid'"
+msgstr "formaat specificaties voor argument %u zijn niet dezelfde"
+
+#: src/gettext.c:146 src/hostname.c:168 src/msgattrib.c:264 src/msgcat.c:229
+#: src/msgcmp.c:134 src/msgcomm.c:232 src/msgconv.c:182 src/msgen.c:171
+#: src/msgexec.c:240 src/msgfmt.c:333 src/msggrep.c:276 src/msginit.c:247
+#: src/msgmerge.c:252 src/msgunfmt.c:182 src/msguniq.c:207 src/ngettext.c:126
+#: src/xgettext.c:352
 #, c-format, no-wrap
 msgid ""
 "Copyright (C) %s Free Software Foundation, Inc.\n"
@@ -96,30 +240,47 @@ msgstr ""
 "garantie; zelfs niet voor VERKOOPBAARHEID of GESCHIKTHEID VOOR EEN\n"
 "SPECIFIEK DOEL.\n"
 
-#: src/gettext.c:145 src/msgcmp.c:145 src/msgcomm.c:284 src/msgfmt.c:275
-#: src/msgmerge.c:260 src/msgunfmt.c:175 src/ngettext.c:125 src/xgettext.c:393
+#: src/gettext.c:151 src/hostname.c:173 src/msgattrib.c:269 src/msgcat.c:234
+#: src/msgcmp.c:139 src/msgcomm.c:237 src/msgconv.c:187 src/msgen.c:176
+#: src/msgexec.c:245 src/msgfmt.c:338 src/msggrep.c:281 src/msginit.c:252
+#: src/msgmerge.c:257 src/msgunfmt.c:187 src/msguniq.c:212 src/ngettext.c:131
+#: src/xgettext.c:357
 #, c-format
 msgid "Written by %s.\n"
 msgstr "Geschreven door %s.\n"
 
-#: src/gettext.c:163 src/ngettext.c:137
+#: src/gettext.c:169 src/hostname.c:183 src/msginit.c:262 src/ngettext.c:143
 msgid "too many arguments"
 msgstr "te veel argumenten"
 
-#: src/gettext.c:173 src/ngettext.c:149
+#: src/gettext.c:179 src/ngettext.c:155
 msgid "missing arguments"
 msgstr "ontbrekende argumenten"
 
-#: src/gettext.c:245 src/msgcmp.c:177 src/msgcomm.c:377 src/msgfmt.c:387
-#: src/msgmerge.c:315 src/msgunfmt.c:205 src/ngettext.c:204 src/xgettext.c:515
+#: src/gettext.c:251 src/hostname.c:197 src/msgattrib.c:322 src/msgcat.c:290
+#: src/msgcmp.c:171 src/msgcomm.c:306 src/msgconv.c:241 src/msgen.c:227
+#: src/msgexec.c:338 src/msgfmt.c:479 src/msggrep.c:371 src/msginit.c:338
+#: src/msgmerge.c:367 src/msgunfmt.c:262 src/msguniq.c:269 src/ngettext.c:210
+#: src/xgettext.c:499
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "Probeer `%s --help' voor meer informatie.\n"
 
-#: src/gettext.c:250
+#: src/gettext.c:256
 #, c-format, no-wrap
 msgid ""
-"Usage: %s [OPTION] [[[TEXTDOMAIN] MSGID] | [-s [MSGID]...]]\n"
+"Usage: %s [OPTION] [[TEXTDOMAIN] MSGID]\n"
+"or:    %s [OPTION] -s [MSGID]...\n"
+msgstr ""
+
+#: src/gettext.c:262
+#, no-wrap
+msgid "Display native language translation of a textual message.\n"
+msgstr ""
+
+#: src/gettext.c:266
+#, fuzzy, no-wrap
+msgid ""
 "  -d, --domain=TEXTDOMAIN   retrieve translated messages from TEXTDOMAIN\n"
 "  -e                        enable expansion of some escape sequences\n"
 "  -E                        (ignored for compatibility)\n"
@@ -139,10 +300,9 @@ msgstr ""
 "  [TEXTDOMEIN] MSGID        ontvang vertaalde meldingen corresponderend aan\n"
 "                            MSGID vanuit TEKSTDOMEIN\n"
 
-#: src/gettext.c:262
-#, c-format, no-wrap
+#: src/gettext.c:277
+#, fuzzy, c-format, no-wrap
 msgid ""
-"\n"
 "If the TEXTDOMAIN parameter is not given, the domain is determined from the\n"
 "environment variable TEXTDOMAIN.  If the message catalog is not found in the\n"
 "regular directory, another location can be specified with the environment\n"
@@ -162,393 +322,935 @@ msgstr ""
 "worden de in de katalogus gevonden meldingen vertaald.\n"
 "Standaard zoek directory: %s\n"
 
-#: src/gettext.c:272 src/msgcmp.c:196 src/msgcomm.c:424 src/msgfmt.c:414
-#: src/msgmerge.c:350 src/msgunfmt.c:229 src/ngettext.c:228 src/xgettext.c:565
-msgid "Report bugs to <bug-gnu-utils@gnu.org>.\n"
+#: src/gettext.c:288 src/hostname.c:227 src/msgattrib.c:402 src/msgcat.c:371
+#: src/msgcmp.c:216 src/msgcomm.c:384 src/msgconv.c:305 src/msgen.c:287
+#: src/msgexec.c:410 src/msgfmt.c:563 src/msggrep.c:457 src/msginit.c:389
+#: src/msgmerge.c:465 src/msgunfmt.c:331 src/msguniq.c:343 src/ngettext.c:244
+#: src/xgettext.c:591
+#, fuzzy
+msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
 msgstr "Meld fouten via <bug-gnu-utils@gnu.org>.\n"
 
-#: src/msgcmp.c:156 src/msgmerge.c:271
-msgid "no input files given"
-msgstr "geen invoerbestanden gegeven"
+#: src/hostname.c:202 src/msginit.c:343
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION]\n"
+msgstr ""
 
-#: src/msgcmp.c:161 src/msgmerge.c:276
-msgid "exactly 2 input files required"
-msgstr "precies 2 invoerbestanden zijn benodigd"
+#: src/hostname.c:207
+#, no-wrap
+msgid "Print the machine's hostname.\n"
+msgstr ""
 
-#: src/msgcmp.c:182
-#, c-format, no-wrap
+#: src/hostname.c:212
+#, no-wrap
 msgid ""
-"Usage: %s [OPTION] def.po ref.po\n"
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"Output format:\n"
+"  -s, --short           short host name\n"
+"  -f, --fqdn, --long    long host name, includes fully qualified domain name,\n"
+"                          and aliases\n"
+"  -i, --ip-address      addresses for the hostname\n"
+msgstr ""
+
+#: src/hostname.c:221 src/msgattrib.c:396 src/msgcmp.c:210 src/msgconv.c:299
+#: src/msgen.c:281 src/msgexec.c:404 src/msggrep.c:451 src/msginit.c:383
+#, no-wrap
+msgid ""
+"Informative output:\n"
 "  -h, --help                  display this help and exit\n"
 "  -V, --version               output version information and exit\n"
-"\n"
-"Compare two Uniforum style .po files to check that both contain the same\n"
-"set of msgid strings.  The def.po file is an existing PO file with the\n"
-"old translations.  The ref.po file is the last created PO file\n"
-"(generally by xgettext).  This is useful for checking that you have\n"
-"translated each and every message in your program.  Where an exact match\n"
-"cannot be found, fuzzy matching is used to produce better diagnostics.\n"
 msgstr ""
-"Gebruik: %s [OPTION] def.po ref.po\n"
-"Verplicht argumenten bij lange opties zijn ook verplicht bij korte opties.\n"
-"  -D, --directory=DIRECTORY   voeg DIRECTORY toe aan lijst waar invoerbestanden\n"
-"                              gezocht worden\n"
-"  -h, --help                toon hulp-tekst en bekindig programma\n"
-"  -V, --version             toon versie-informatie en bekindig programma\n"
-"\n"
-"Vergelijk twee Uniforum-stijl .po bestanden en kontroleer of beide dezelfde\n"
-"set van msgid strings bevatten.  Het def.po bestand is een bestaand PO bestand\n"
-"met de oude vertalingen.  Het ref.po bestand is het meest recente PO bestand\n"
-"(over het algemeen aangemaakt door xgettext).  Het is belangrijk om te\n"
-"kontroleren of elke melding is vertaald in het programma.  Wanneer een precieze\n"
-"overeenkomst niet gevonden kan wrden, zal fuzzy(vage) matching worden gebruikt,\n"
-"ter verkrijging van een betere diagnose.\n"
 
-#: src/msgcmp.c:255 src/msgmerge.c:741
-msgid "this message is used but not defined..."
-msgstr "deze melding is gebruikt maar is niet gedefinieerd..."
+#: src/hostname.c:242 src/hostname.c:249
+msgid "could not get host name"
+msgstr ""
 
-#: src/msgcmp.c:257 src/msgmerge.c:743
-msgid "...but this definition is similar"
-msgstr "...maar de definitie is gelijksoortig"
+#: src/msgattrib.c:284 src/msgconv.c:202 src/msgexec.c:190 src/msggrep.c:296
+#: src/msginit.c:205 src/msguniq.c:227
+msgid "at most one input file allowed"
+msgstr ""
 
-#: src/msgcmp.c:263 src/msgmerge.c:770
+#: src/msgattrib.c:290 src/msgattrib.c:294 src/msgcat.c:244 src/msgcat.c:248
+#: src/msgcomm.c:247 src/msgcomm.c:251 src/msgconv.c:208 src/msgconv.c:212
+#: src/msgen.c:198 src/msgen.c:202 src/msgexec.c:260 src/msgexec.c:264
+#: src/msgfmt.c:358 src/msggrep.c:302 src/msggrep.c:306 src/msgmerge.c:282
+#: src/msgmerge.c:303 src/msgmerge.c:307 src/msguniq.c:233 src/msguniq.c:237
+#: src/xgettext.c:367 src/xgettext.c:371
 #, c-format
-msgid "this message is used but not defined in %s"
-msgstr "deze melding is gebruikt maar niet gedefinieerd in %s"
+msgid "%s and %s are mutually exclusive"
+msgstr "%s en %s zijn mutually exclusive"
 
-#: src/msgcmp.c:277
-msgid "warning: this message is not used"
-msgstr "waarschuwing: deze melding is niet gebruikt"
+#: src/msgattrib.c:327 src/msgconv.c:246 src/msggrep.c:376 src/msguniq.c:274
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] [INPUTFILE]\n"
+msgstr ""
 
-#: src/msgcmp.c:283 src/po-lex.c:103
-#, fuzzy, c-format
-msgid "found %d fatal error"
-msgid_plural "found %d fatal errors"
-msgstr[0] "%d fatale fouten gevonden"
+#: src/msgattrib.c:332
+#, no-wrap
+msgid ""
+"Filters the messages of a translation catalog according to their attributes,\n"
+"and manipulates the attributes.\n"
+msgstr ""
 
-#: src/msgcmp.c:356 src/msgfmt.c:667 src/msgmerge.c:512 src/xgettext.c:1157
-msgid "duplicate message definition"
-msgstr "dubbele melding definitie"
+#: src/msgattrib.c:338 src/msgcat.c:313 src/msgcmp.c:191 src/msgcomm.c:328
+#: src/msgconv.c:256 src/msgen.c:245 src/msgexec.c:353 src/msgfmt.c:494
+#: src/msggrep.c:387 src/msginit.c:354 src/msgmerge.c:390 src/msgunfmt.c:277
+#: src/msguniq.c:291
+#, no-wrap
+msgid "Mandatory arguments to long options are mandatory for short options too.\n"
+msgstr ""
 
-#: src/msgcmp.c:357 src/msgfmt.c:669 src/msgmerge.c:513 src/xgettext.c:1158
-msgid "...this is the location of the first definition"
-msgstr "...dit is de lokatie van de eerste definitie"
+#: src/msgattrib.c:343 src/msgconv.c:261 src/msggrep.c:392 src/msguniq.c:296
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  INPUTFILE                   input PO file\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"If no input file is given or if it is -, standard input is read.\n"
+msgstr ""
 
-#: src/msgcmp.c:397 src/msgmerge.c:561
-#, c-format
-msgid "this message has no definition in the \"%s\" domain"
-msgstr "deze melding heeft geen definitie in het \"%s\" domein"
+#: src/msgattrib.c:351 src/msgconv.c:269 src/msgen.c:258 src/msgexec.c:366
+#: src/msggrep.c:400 src/msgmerge.c:412
+#, no-wrap
+msgid ""
+"Output file location:\n"
+"  -o, --output-file=FILE      write output to specified file\n"
+"The results are written to standard output if no output file is specified\n"
+"or if it is -.\n"
+msgstr ""
 
-#. We are about to construct the absolute path to the
-#. directory for the output files but asprintf failed.
-#: src/msgcomm.c:235 src/xgettext.c:327 src/xgettext.c:1353
-msgid "while preparing output"
-msgstr "bij voorbereiden uitvoer"
+#: src/msgattrib.c:359
+#, no-wrap
+msgid ""
+"Message selection:\n"
+"      --translated            keep translated, remove untranslated messages\n"
+"      --untranslated          keep untranslated, remove translated messages\n"
+"      --no-fuzzy              remove 'fuzzy' marked messages\n"
+"      --only-fuzzy            keep 'fuzzy' marked messages\n"
+"      --no-obsolete           remove obsolete #~ messages\n"
+"      --only-obsolete         keep obsolete #~ messages\n"
+msgstr ""
 
-#: src/msgcomm.c:267 src/msgcomm.c:271 src/xgettext.c:365 src/xgettext.c:369
-#, c-format
-msgid "%s and %s are mutually exclusive"
-msgstr "%s en %s zijn mutually exclusive"
+#: src/msgattrib.c:370
+#, no-wrap
+msgid ""
+"Attribute manipulation:\n"
+"      --set-fuzzy             set all messages 'fuzzy'\n"
+"      --clear-fuzzy           set all messages non-'fuzzy'\n"
+"      --set-obsolete          set all messages obsolete\n"
+"      --clear-obsolete        set all messages non-obsolete\n"
+"      --fuzzy                 synonym for --only-fuzzy --clear-fuzzy\n"
+"      --obsolete              synonym for --only-obsolete --clear-obsolete\n"
+msgstr ""
 
-#: src/msgcomm.c:323
-msgid "at least two files must be specified"
+#: src/msgattrib.c:381
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
+"  -e, --no-escape             do not use C escapes in output (default)\n"
+"  -E, --escape                use C escapes in output, no extended chars\n"
+"      --force-po              write PO file even if empty\n"
+"  -i, --indent                write the .po file using indented style\n"
+"      --no-location           do not write '#: filename:line' lines\n"
+"  -n, --add-location          generate '#: filename:line' lines (default)\n"
+"      --strict                write out strict Uniforum conforming .po file\n"
+"  -w, --width=NUMBER          set output page width\n"
+"  -s, --sort-output           generate sorted output\n"
+"  -F, --sort-by-file          sort output by file location\n"
 msgstr ""
+"Gebruik: %s [OPTION] def.po ref.po\n"
+"Verplichte argumenten bij lange opties zijn ook verplicht bij korte opties.\n"
+"  -D, --directory=DIRECTORY   voeg DIRECTORY toe aan lijst waar van directories\n"
+"                              invoerbestanden gezocht worden\n"
+"  -e, --no-escape             gebruikt geen C escapes in uitvoer (standaard)\n"
+"  -E, --escape                gebruik C escapes in uitvoer, geen extended chars\n"
+"      --force-po              schrijf PO bestand zelfs als het leeg is\n"
+"  -h, --help                  toon hulp-tekst en bekindig programma\n"
+"  -i, --indent                geondenteerde uitvoerstijl\n"
+"  -o, --output-file=BESTAND   resultaat wordt naar BESTAND geschreven\n"
+"      --no-location           onderdruk '#: bestandsnaam:regel' regels\n"
+"      --add-location          behoud '#: bestandsnaam:regel' regels (standaard)\n"
+"      --strict                stricte Uniforum uitvoerstijl\n"
+"  -v, --verbose               verhoog verbosity nivo\n"
+"  -V, --version               toon versie-informatie en bekindig programma\n"
+"  -W, --width=NUMBER          stel uitvoer pagina breedte in\n"
 
-#: src/msgcomm.c:334
+#: src/msgcat.c:254 src/msgcomm.c:277
 #, c-format
 msgid "impossible selection criteria specified (%d < n < %d)"
 msgstr ""
 
-#: src/msgcomm.c:382
-#, fuzzy, c-format, no-wrap
-msgid ""
-"Usage: %s [OPTION] INPUTFILE ...\n"
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"  -d, --default-domain=NAME      use NAME.po for output (instead of messages.po)\n"
-"  -D, --directory=DIRECTORY      add DIRECTORY to list for input files search\n"
-"  -e, --no-escape                do not use C escapes in output (default)\n"
-"  -E, --escape                   use C escapes in output, no extended chars\n"
-"  -f, --files-from=FILE          get list of input files from FILE\n"
-"      --force-po                 write PO file even if empty\n"
-"  -F, --sort-by-file             sort output by file location\n"
-"  -h, --help                     display this help and exit\n"
-msgstr ""
-"Gebruik: %s [OPTIE] INVOERBESTAND ...\n"
-"Verplichte argument bij lange opties zijn ook verplicht bij korte opties.\n"
-"  -a, --extract-all              extraheer alle strings\n"
-"  -c, --add-comments[=TAG]       plaats een kommentaar blok met TAG (of deze\n"
-"                                 voorafgaande sleutelwoord regels) in uitvoer\n"
-"  -C, --c++                      herken C++ stijl kommentaar\n"
-"      --debug                    meer gedetaileerde formatstring resultaat\n"
-"  -d, --default-domain=NAAM      gebruik NAAM.po voor uitvoer\n"
-"                                 (in plaats van messages.po)\n"
-"  -D, --directory=DIRECTORY      zoek invoerbestanden ook in DIRECTORY\n"
-"  -e, --no-escape                gebruik geen C escapes in uitvoer (standaard)\n"
-"  -E, --escape                   gebruik C escapes in uitvoer, geen extended\n"
-"                                 karakters\n"
-"  -f, --files-from=BESTAND       haal lijst van invoerbestand uit BESTAND\n"
-"      --force-po                 maak altijd een (eventueel leeg) PO bestand\n"
-"      --foreign-user             laat FSF kopierecht weg voor vreemde gebruiker\n"
-"  -F, --sort-by-file             sorteer uitvoer bij bestandslokatie\n"
-
-#: src/msgcomm.c:394
-#, fuzzy
-msgid ""
-"  -i, --indent                   write the .po file using indented style\n"
-"      --no-location              do not write '#: filename:line' lines\n"
-"  -n, --add-location             generate '#: filename:line' lines "
-"(default)\n"
-"      --omit-header              don't write header with `msgid \"\"' entry\n"
-"  -o, --output=FILE              write output to specified file\n"
-"  -p, --output-dir=DIR           output files will be placed in directory "
-"DIR\n"
-"  -s, --sort-output              generate sorted output and remove "
-"duplicates\n"
-"      --strict                   write out strict Uniforum conforming .po "
-"file\n"
-"  -T, --trigraphs                understand ANSI C trigraphs for input\n"
-"  -u, --unique                   shorthand for --less-than=2, requests\n"
-"                                 that only unique messages be printed\n"
+#: src/msgcat.c:295 src/msgcomm.c:311 src/xgettext.c:504
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] [INPUTFILE]...\n"
 msgstr ""
-"  -n, --add-location             voeg '#: filename:line' regels toe "
-"(standaard)\n"
-"      --omit-header              don't write header with `msgid \"\"' entry\n"
-"  -o, --output=BESTAND           schrijf uitvoer naar gespecificeerd "
-"bestand\n"
-"  -p, --output-dir=DIR           plaats uitvoerbestanden in directory DIR\n"
-"  -s, --sort-output              sorteer uitvoer en verwijder dubbelen\n"
-"      --strict                   uitvoer volgens strikte Uniforum stijl\n"
-"  -T, --trigraphs                accepteer ANSI C trigraphs als invoer\n"
-"  -V, --version                  toon hulp-tekst en bekindig programma\n"
-"  -w, --width=NUMMER             stel pagina uitvoer breedte in\n"
-"  -x, --exclude-file=BESTAND     ingangen van BESTAND worden niet "
-"gekxtraheerd\n"
-"\n"
-"Als INVOERBESTAND - is, lees standaardinvoer.\n"
 
-#: src/msgcomm.c:407
+#: src/msgcat.c:300
+#, no-wrap
 msgid ""
-"  -V, --version                  output version information and exit\n"
-"  -w, --width=NUMBER             set output page width\n"
-"  -<, --less-than=NUMBER         print messages with less than this many\n"
-"                                 definitions, defaults to infinite if not\n"
-"                                 set\n"
-"  ->, --more-than=NUMBER         print messages with more than this many\n"
-"                                 definitions, defaults to 1 if not set\n"
-"\n"
+"Concatenates and merges the specified PO files.\n"
 "Find messages which are common to two or more of the specified PO files.\n"
 "By using the --more-than option, greater commonality may be requested\n"
 "before messages are printed.  Conversely, the --less-than option may be\n"
 "used to specify less commonality before messages are printed (i.e.\n"
 "--less-than=2 will only print the unique messages).  Translations,\n"
-"comments and extract comments will be preserved, but only from the first\n"
-"PO file to define them.  File positions from all PO files will be\n"
-"preserved.\n"
+"comments and extract comments will be cumulated, except that if --use-first\n"
+"is specified, they will be taken from the first PO file to define them.\n"
+"File positions from all PO files will be cumulated.\n"
 msgstr ""
 
-#: src/msgcomm.c:458 src/msgunfmt.c:361 src/po-lex.c:86 src/xget-lex.c:157
-#: src/xget-lex.c:170 src/xget-lex.c:180 src/xgettext.c:599
-#, c-format
-msgid "error while opening \"%s\" for reading"
-msgstr "fout tijdens openen om te lezen van \"%s\""
+#: src/msgcat.c:318 src/msgcomm.c:333 src/xgettext.c:520
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  INPUTFILE ...                  input files\n"
+"  -f, --files-from=FILE          get list of input files from FILE\n"
+"  -D, --directory=DIRECTORY      add DIRECTORY to list for input files search\n"
+"If input file is -, standard input is read.\n"
+msgstr ""
 
-#: src/msgcomm.c:539 src/xgettext.c:641 src/xgettext.c:1059
-msgid "this file may not contain domain directives"
-msgstr "dit bestand mag geen domein directives bevatten"
+#: src/msgcat.c:327 src/msgcomm.c:342 src/msguniq.c:304
+#, no-wrap
+msgid ""
+"Output file location:\n"
+"  -o, --output-file=FILE         write output to specified file\n"
+"The results are written to standard output if no output file is specified\n"
+"or if it is -.\n"
+msgstr ""
 
-#: src/msgfmt.c:286 src/xgettext.c:404
-msgid "no input file given"
-msgstr "geen invoerbestand gegeven"
+#: src/msgcat.c:335
+#, no-wrap
+msgid ""
+"Message selection:\n"
+"  -<, --less-than=NUMBER         print messages with less than this many\n"
+"                                 definitions, defaults to infinite if not\n"
+"                                 set\n"
+"  ->, --more-than=NUMBER         print messages with more than this many\n"
+"                                 definitions, defaults to 0 if not set\n"
+"  -u, --unique                   shorthand for --less-than=2, requests\n"
+"                                 that only unique messages be printed\n"
+msgstr ""
 
-#: src/msgfmt.c:337
+#: src/msgcat.c:347 src/msguniq.c:319
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
+"  -t, --to-code=NAME             encoding for output\n"
+"      --use-first                use first available translation for each\n"
+"                                 message, don't merge several translations\n"
+"  -e, --no-escape                do not use C escapes in output (default)\n"
+"  -E, --escape                   use C escapes in output, no extended chars\n"
+"      --force-po                 write PO file even if empty\n"
+"  -i, --indent                   write the .po file using indented style\n"
+"      --no-location              do not write '#: filename:line' lines\n"
+"  -n, --add-location             generate '#: filename:line' lines (default)\n"
+"      --strict                   write out strict Uniforum conforming .po file\n"
+"  -w, --width=NUMBER             set output page width\n"
+"  -s, --sort-output              generate sorted output\n"
+"  -F, --sort-by-file             sort output by file location\n"
+msgstr ""
+"Gebruik: %s [OPTION] def.po ref.po\n"
+"Verplichte argumenten bij lange opties zijn ook verplicht bij korte opties.\n"
+"  -D, --directory=DIRECTORY   voeg DIRECTORY toe aan lijst waar van directories\n"
+"                              invoerbestanden gezocht worden\n"
+"  -e, --no-escape             gebruikt geen C escapes in uitvoer (standaard)\n"
+"  -E, --escape                gebruik C escapes in uitvoer, geen extended chars\n"
+"      --force-po              schrijf PO bestand zelfs als het leeg is\n"
+"  -h, --help                  toon hulp-tekst en bekindig programma\n"
+"  -i, --indent                geondenteerde uitvoerstijl\n"
+"  -o, --output-file=BESTAND   resultaat wordt naar BESTAND geschreven\n"
+"      --no-location           onderdruk '#: bestandsnaam:regel' regels\n"
+"      --add-location          behoud '#: bestandsnaam:regel' regels (standaard)\n"
+"      --strict                stricte Uniforum uitvoerstijl\n"
+"  -v, --verbose               verhoog verbosity nivo\n"
+"  -V, --version               toon versie-informatie en bekindig programma\n"
+"  -W, --width=NUMBER          stel uitvoer pagina breedte in\n"
+
+#: src/msgcat.c:365 src/msgcomm.c:378 src/msguniq.c:337 src/xgettext.c:585
+#, no-wrap
+msgid ""
+"Informative output:\n"
+"  -h, --help                     display this help and exit\n"
+"  -V, --version                  output version information and exit\n"
+msgstr ""
+
+#: src/msgcmp.c:150 src/msgmerge.c:268
+msgid "no input files given"
+msgstr "geen invoerbestanden gegeven"
+
+#: src/msgcmp.c:155 src/msgmerge.c:273
+msgid "exactly 2 input files required"
+msgstr "precies 2 invoerbestanden zijn benodigd"
+
+#: src/msgcmp.c:176 src/msgmerge.c:372
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] def.po ref.pot\n"
+msgstr ""
+
+#: src/msgcmp.c:181
+#, fuzzy, no-wrap
+msgid ""
+"Compare two Uniforum style .po files to check that both contain the same\n"
+"set of msgid strings.  The def.po file is an existing PO file with the\n"
+"translations.  The ref.pot file is the last created PO file, or a PO Template\n"
+"file (generally created by xgettext).  This is useful for checking that\n"
+"you have translated each and every message in your program.  Where an exact\n"
+"match cannot be found, fuzzy matching is used to produce better diagnostics.\n"
+msgstr ""
+"Gebruik: %s [OPTION] def.po ref.po\n"
+"Verplicht argumenten bij lange opties zijn ook verplicht bij korte opties.\n"
+"  -D, --directory=DIRECTORY   voeg DIRECTORY toe aan lijst waar invoerbestanden\n"
+"                              gezocht worden\n"
+"  -h, --help                toon hulp-tekst en bekindig programma\n"
+"  -V, --version             toon versie-informatie en bekindig programma\n"
+"\n"
+"Vergelijk twee Uniforum-stijl .po bestanden en kontroleer of beide dezelfde\n"
+"set van msgid strings bevatten.  Het def.po bestand is een bestaand PO bestand\n"
+"met de oude vertalingen.  Het ref.po bestand is het meest recente PO bestand\n"
+"(over het algemeen aangemaakt door xgettext).  Het is belangrijk om te\n"
+"kontroleren of elke melding is vertaald in het programma.  Wanneer een precieze\n"
+"overeenkomst niet gevonden kan wrden, zal fuzzy(vage) matching worden gebruikt,\n"
+"ter verkrijging van een betere diagnose.\n"
+
+#: src/msgcmp.c:196
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  def.po                      translations\n"
+"  ref.pot                     references to the sources\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+msgstr ""
+
+#: src/msgcmp.c:204 src/msgmerge.c:436
+#, no-wrap
+msgid ""
+"Operation modifiers:\n"
+"  -m, --multi-domain          apply ref.pot to each of the domains in def.po\n"
+msgstr ""
+
+#: src/msgcmp.c:253 src/msgmerge.c:543
+msgid "this message is used but not defined..."
+msgstr "deze melding is gebruikt maar is niet gedefinieerd..."
+
+#: src/msgcmp.c:255 src/msgmerge.c:545
+msgid "...but this definition is similar"
+msgstr "...maar de definitie is gelijksoortig"
+
+#: src/msgcmp.c:260 src/msgmerge.c:572
 #, c-format
-msgid "error while opening \"%s\" for writing"
-msgstr "fout bij openen om te schrijven van \"%s\""
+msgid "this message is used but not defined in %s"
+msgstr "deze melding is gebruikt maar niet gedefinieerd in %s"
+
+#: src/msgcmp.c:332
+msgid "warning: this message is not used"
+msgstr "waarschuwing: deze melding is niet gebruikt"
 
-#: src/msgfmt.c:360
+#: src/msgcmp.c:339 src/po-lex.c:705
+#, fuzzy, c-format
+msgid "found %d fatal error"
+msgid_plural "found %d fatal errors"
+msgstr[0] "%d fatale fouten gevonden"
+
+#: src/msgcmp.c:420 src/msgfmt.c:1323 src/read-po.c:202 src/x-po.c:163
+msgid "duplicate message definition"
+msgstr "dubbele melding definitie"
+
+#: src/msgcmp.c:421 src/msgfmt.c:1324 src/read-po.c:203 src/x-po.c:164
+msgid "...this is the location of the first definition"
+msgstr "...dit is de lokatie van de eerste definitie"
+
+#: src/msgcomm.c:266
+msgid "at least two files must be specified"
+msgstr ""
+
+#: src/msgcomm.c:316
+#, no-wrap
+msgid ""
+"Find messages which are common to two or more of the specified PO files.\n"
+"By using the --more-than option, greater commonality may be requested\n"
+"before messages are printed.  Conversely, the --less-than option may be\n"
+"used to specify less commonality before messages are printed (i.e.\n"
+"--less-than=2 will only print the unique messages).  Translations,\n"
+"comments and extract comments will be preserved, but only from the first\n"
+"PO file to define them.  File positions from all PO files will be\n"
+"cumulated.\n"
+msgstr ""
+
+#: src/msgcomm.c:350
+#, no-wrap
+msgid ""
+"Message selection:\n"
+"  -<, --less-than=NUMBER         print messages with less than this many\n"
+"                                 definitions, defaults to infinite if not\n"
+"                                 set\n"
+"  ->, --more-than=NUMBER         print messages with more than this many\n"
+"                                 definitions, defaults to 1 if not set\n"
+"  -u, --unique                   shorthand for --less-than=2, requests\n"
+"                                 that only unique messages be printed\n"
+msgstr ""
+
+#: src/msgcomm.c:362
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
+"  -e, --no-escape                do not use C escapes in output (default)\n"
+"  -E, --escape                   use C escapes in output, no extended chars\n"
+"      --force-po                 write PO file even if empty\n"
+"  -i, --indent                   write the .po file using indented style\n"
+"      --no-location              do not write '#: filename:line' lines\n"
+"  -n, --add-location             generate '#: filename:line' lines (default)\n"
+"      --strict                   write out strict Uniforum conforming .po file\n"
+"  -w, --width=NUMBER             set output page width\n"
+"  -s, --sort-output              generate sorted output\n"
+"  -F, --sort-by-file             sort output by file location\n"
+"      --omit-header              don't write header with `msgid \"\"' entry\n"
+msgstr ""
+"Gebruik: %s [OPTION] def.po ref.po\n"
+"Verplichte argumenten bij lange opties zijn ook verplicht bij korte opties.\n"
+"  -D, --directory=DIRECTORY   voeg DIRECTORY toe aan lijst waar van directories\n"
+"                              invoerbestanden gezocht worden\n"
+"  -e, --no-escape             gebruikt geen C escapes in uitvoer (standaard)\n"
+"  -E, --escape                gebruik C escapes in uitvoer, geen extended chars\n"
+"      --force-po              schrijf PO bestand zelfs als het leeg is\n"
+"  -h, --help                  toon hulp-tekst en bekindig programma\n"
+"  -i, --indent                geondenteerde uitvoerstijl\n"
+"  -o, --output-file=BESTAND   resultaat wordt naar BESTAND geschreven\n"
+"      --no-location           onderdruk '#: bestandsnaam:regel' regels\n"
+"      --add-location          behoud '#: bestandsnaam:regel' regels (standaard)\n"
+"      --strict                stricte Uniforum uitvoerstijl\n"
+"  -v, --verbose               verhoog verbosity nivo\n"
+"  -V, --version               toon versie-informatie en bekindig programma\n"
+"  -W, --width=NUMBER          stel uitvoer pagina breedte in\n"
+
+#: src/msgconv.c:251
+#, no-wrap
+msgid "Converts a translation catalog to a different character encoding.\n"
+msgstr ""
+
+#: src/msgconv.c:277
+#, no-wrap
+msgid ""
+"Conversion target:\n"
+"  -t, --to-code=NAME          encoding for output\n"
+"The default encoding is the current locale's encoding.\n"
+msgstr ""
+
+#: src/msgconv.c:284 src/msgen.c:266 src/msgmerge.c:442
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
+"  -e, --no-escape             do not use C escapes in output (default)\n"
+"  -E, --escape                use C escapes in output, no extended chars\n"
+"      --force-po              write PO file even if empty\n"
+"  -i, --indent                indented output style\n"
+"      --no-location           suppress '#: filename:line' lines\n"
+"      --add-location          preserve '#: filename:line' lines (default)\n"
+"      --strict                strict Uniforum output style\n"
+"  -w, --width=NUMBER          set output page width\n"
+"  -s, --sort-output           generate sorted output\n"
+"  -F, --sort-by-file          sort output by file location\n"
+msgstr ""
+"Gebruik: %s [OPTION] def.po ref.po\n"
+"Verplichte argumenten bij lange opties zijn ook verplicht bij korte opties.\n"
+"  -D, --directory=DIRECTORY   voeg DIRECTORY toe aan lijst waar van directories\n"
+"                              invoerbestanden gezocht worden\n"
+"  -e, --no-escape             gebruikt geen C escapes in uitvoer (standaard)\n"
+"  -E, --escape                gebruik C escapes in uitvoer, geen extended chars\n"
+"      --force-po              schrijf PO bestand zelfs als het leeg is\n"
+"  -h, --help                  toon hulp-tekst en bekindig programma\n"
+"  -i, --indent                geondenteerde uitvoerstijl\n"
+"  -o, --output-file=BESTAND   resultaat wordt naar BESTAND geschreven\n"
+"      --no-location           onderdruk '#: bestandsnaam:regel' regels\n"
+"      --add-location          behoud '#: bestandsnaam:regel' regels (standaard)\n"
+"      --strict                stricte Uniforum uitvoerstijl\n"
+"  -v, --verbose               verhoog verbosity nivo\n"
+"  -V, --version               toon versie-informatie en bekindig programma\n"
+"  -W, --width=NUMBER          stel uitvoer pagina breedte in\n"
+
+#: src/msgen.c:187 src/msgfmt.c:349 src/xgettext.c:388
+msgid "no input file given"
+msgstr "geen invoerbestand gegeven"
+
+#: src/msgen.c:192
+#, fuzzy
+msgid "exactly one input file required"
+msgstr "precies 2 invoerbestanden zijn benodigd"
+
+#: src/msgen.c:232
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] INPUTFILE\n"
+msgstr ""
+
+#: src/msgen.c:237
+#, no-wrap
+msgid ""
+"Creates an English translation catalog.  The input file is the last\n"
+"created English PO file, or a PO Template file (generally created by\n"
+"xgettext).  Untranslated entries are assigned a translation that is\n"
+"identical to the msgid, and are marked fuzzy.\n"
+msgstr ""
+
+#: src/msgen.c:250
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  INPUTFILE                   input PO or POT file\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"If input file is -, standard input is read.\n"
+msgstr ""
+
+#: src/msgexec.c:255
+#, fuzzy
+msgid "missing filter name"
+msgstr "ontbrekende argumenten"
+
+#: src/msgexec.c:279
+msgid "at least one sed script must be specified"
+msgstr ""
+
+#: src/msgexec.c:343
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] FILTER [FILTER-OPTION]\n"
+msgstr ""
+
+#: src/msgexec.c:348
+#, no-wrap
+msgid "Applies a filter to all translations of a translation catalog.\n"
+msgstr ""
+
+#: src/msgexec.c:358
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  -i, --input=INPUTFILE       input PO file\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"If no input file is given or if it is -, standard input is read.\n"
+msgstr ""
+
+#: src/msgexec.c:374
+#, no-wrap
+msgid ""
+"The FILTER can be any program that reads a translation from standard input\n"
+"and writes a modified translation to standard output.\n"
+msgstr ""
+
+#: src/msgexec.c:380
+#, no-wrap
+msgid ""
+"Useful FILTER-OPTIONs when the FILTER is 'sed':\n"
+"  -e, --expression=SCRIPT     add SCRIPT to the commands to be executed\n"
+"  -f, --file=SCRIPTFILE       add the contents of SCRIPTFILE to the commands\n"
+"                                to be executed\n"
+"  -n, --quiet, --silent       suppress automatic printing of pattern space\n"
+msgstr ""
+
+#: src/msgexec.c:389
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
+"      --no-escape             do not use C escapes in output (default)\n"
+"  -E, --escape                use C escapes in output, no extended chars\n"
+"      --force-po              write PO file even if empty\n"
+"      --indent                indented output style\n"
+"      --no-location           suppress '#: filename:line' lines\n"
+"      --add-location          preserve '#: filename:line' lines (default)\n"
+"      --strict                strict Uniforum output style\n"
+"  -w, --width=NUMBER          set output page width\n"
+"  -s, --sort-output           generate sorted output\n"
+"  -F, --sort-by-file          sort output by file location\n"
+msgstr ""
+"Gebruik: %s [OPTION] def.po ref.po\n"
+"Verplichte argumenten bij lange opties zijn ook verplicht bij korte opties.\n"
+"  -D, --directory=DIRECTORY   voeg DIRECTORY toe aan lijst waar van directories\n"
+"                              invoerbestanden gezocht worden\n"
+"  -e, --no-escape             gebruikt geen C escapes in uitvoer (standaard)\n"
+"  -E, --escape                gebruik C escapes in uitvoer, geen extended chars\n"
+"      --force-po              schrijf PO bestand zelfs als het leeg is\n"
+"  -h, --help                  toon hulp-tekst en bekindig programma\n"
+"  -i, --indent                geondenteerde uitvoerstijl\n"
+"  -o, --output-file=BESTAND   resultaat wordt naar BESTAND geschreven\n"
+"      --no-location           onderdruk '#: bestandsnaam:regel' regels\n"
+"      --add-location          behoud '#: bestandsnaam:regel' regels (standaard)\n"
+"      --strict                stricte Uniforum uitvoerstijl\n"
+"  -v, --verbose               verhoog verbosity nivo\n"
+"  -V, --version               toon versie-informatie en bekindig programma\n"
+"  -W, --width=NUMBER          stel uitvoer pagina breedte in\n"
+
+#: src/msgexec.c:546
+#, c-format
+msgid "cannot set up nonblocking I/O to %s subprocess"
+msgstr ""
+
+#: src/msgexec.c:574
+#, c-format
+msgid "communication with %s subprocess failed"
+msgstr ""
+
+#: src/msgexec.c:594
+#, c-format
+msgid "write to %s subprocess failed"
+msgstr ""
+
+#: src/msgexec.c:625
+#, c-format
+msgid "read from %s subprocess failed"
+msgstr ""
+
+#: src/msgexec.c:641
+#, c-format
+msgid "%s subprocess terminated with exit code %d"
+msgstr ""
+
+#: src/msgfmt.c:303
+#, c-format
+msgid "the argument to %s should be a single punctuation character"
+msgstr ""
+
+#: src/msgfmt.c:364
+#, c-format
+msgid "%s requires a \"-d directory\" specification"
+msgstr ""
+
+#: src/msgfmt.c:373 src/msgfmt.c:379 src/msgfmt.c:385 src/msgmerge.c:290
+#: src/msgmerge.c:296 src/msgunfmt.c:209 src/msgunfmt.c:215
+#, c-format
+msgid "%s is only valid with %s"
+msgstr ""
+
+#: src/msgfmt.c:452
 #, fuzzy, c-format
 msgid "%d translated message"
 msgid_plural "%d translated messages"
 msgstr[0] "%d vertaalde meldingen"
 
-#: src/msgfmt.c:365
+#: src/msgfmt.c:457
 #, fuzzy, c-format
 msgid ", %d fuzzy translation"
 msgid_plural ", %d fuzzy translations"
 msgstr[0] ", %d vage vertalingen"
 
-#: src/msgfmt.c:370
+#: src/msgfmt.c:462
 #, fuzzy, c-format
 msgid ", %d untranslated message"
 msgid_plural ", %d untranslated messages"
 msgstr[0] ", %d onvertaalde meldingen"
 
-#: src/msgfmt.c:392
-#, fuzzy, c-format, no-wrap
+#: src/msgfmt.c:484
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] filename.po ...\n"
+msgstr ""
+
+#: src/msgfmt.c:489
+#, no-wrap
+msgid "Generate binary message catalog from textual translation description.\n"
+msgstr ""
+
+#: src/msgfmt.c:499
+#, no-wrap
 msgid ""
-"Usage: %s [OPTION] filename.po ...\n"
-"Generate binary message catalog from textual translation description.\n"
-"\n"
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"  -a, --alignment=NUMBER      align strings to NUMBER bytes (default: %d)\n"
-"  -c, --check                 perform language dependent checks on strings\n"
+"Input file location:\n"
+"  filename.po ...             input files\n"
 "  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"If input file is -, standard input is read.\n"
+msgstr ""
+
+#: src/msgfmt.c:507
+#, no-wrap
+msgid ""
+"Operation mode:\n"
+"  -j, --java                  Java mode: generate a Java ResourceBundle class\n"
+"      --java2                 like --java, and assume Java2 (JDK 1.2 or higher)\n"
+msgstr ""
+
+#: src/msgfmt.c:514
+#, no-wrap
+msgid ""
+"Output file location:\n"
+"  -o, --output-file=FILE      write output to specified file\n"
+"      --strict                enable strict Uniforum mode\n"
+"If output file is -, output is written to standard output.\n"
+msgstr ""
+
+#: src/msgfmt.c:522
+#, no-wrap
+msgid ""
+"Output file location in Java mode:\n"
+"  -r, --resource=RESOURCE     resource name\n"
+"  -l, --locale=LOCALE         locale name, either language or language_COUNTRY\n"
+"  -d DIRECTORY                base directory of classes directory hierarchy\n"
+"The class name is determined by appending the locale name to the resource name,\n"
+"separated with an underscore.  The -d option is mandatory.  The class is\n"
+"written under the specified directory.\n"
+msgstr ""
+
+#: src/msgfmt.c:533
+#, no-wrap
+msgid ""
+"Input file interpretation:\n"
+"  -c, --check                 perform all the checks implied by\n"
+"                                --check-format, --check-header, --check-domain\n"
+"      --check-format          check language dependent format strings\n"
+"      --check-header          verify presence and contents of the header entry\n"
+"      --check-domain          check for conflicts between domain directives\n"
+"                                and the --output-file option\n"
+"  -C, --check-compatibility   check that GNU msgfmt behaves like X/Open msgfmt\n"
+"      --check-accelerators[=CHAR]  check presence of keyboard accelerators for\n"
+"                                menu items\n"
 "  -f, --use-fuzzy             use fuzzy entries in output\n"
-"  -h, --help                  display this help and exit\n"
+msgstr ""
+
+#: src/msgfmt.c:548
+#, c-format, no-wrap
+msgid ""
+"Output details:\n"
+"  -a, --alignment=NUMBER      align strings to NUMBER bytes (default: %d)\n"
 "      --no-hash               binary file will not include the hash table\n"
-"  -o, --output-file=FILE      specify output file name as FILE\n"
-"      --statistics            print statistics about translations\n"
-"      --strict                enable strict Uniforum mode\n"
-"  -v, --verbose               list input file anomalies\n"
+msgstr ""
+
+#: src/msgfmt.c:555
+#, no-wrap
+msgid ""
+"Informative output:\n"
+"  -h, --help                  display this help and exit\n"
 "  -V, --version               output version information and exit\n"
-"\n"
-"Giving the -v option more than once increases the verbosity level.\n"
-"\n"
-"If input file is -, standard input is read.  If output file is -,\n"
-"output is written to standard output.\n"
-msgstr ""
-"Gebruik: %s [OPTIE] bestandsnaam.po ...\n"
-"Verplichte argument voor lange opties zijn ook verplicht voor korte opties.\n"
-"  -a, --alignment=NUMMER     lijn strings uit tot NUMMER bytes (standaard: %d)\n"
-"  -c, --check                voer taalafhankelijke kontrole uit op strings\n"
-"  -D, --directory=DIRECTORY  voeg DIRECTORY toe aan lijst van directories\n"
-"                             waarin invoerbestanden gezocht worden\n"
-"  -f, --use-fuzzy            gebruik vage ingangen in uitvoer\n"
-"  -h, --help                 toon hulp-tekst en bekindig programma\n"
-"      --no-hash              binair bestand zal niet de hash tabel bevatten\n"
-"  -o, --output-file=BESTAND  uitvoerbestandsnaam is BESTAND\n"
-"      --statistics           toon statistieken van vertalingen\n"
-"      --strict               gebruik strikte Uniforum mode\n"
-"  -v, --verbose              laat invoerbestand anomalies zien\n"
-"  -V, --version              toon versie-informatie en bekindig programma\n"
-"\n"
-"Het meer dan eens geven van de -v optie verhoogt het verbosity nivo.\n"
-"\n"
-"Als invoerbestand - is, lees standaardinvoer.  Als uitvoerbestand -\n"
-"is, schrijf uitvoer naar standaarduitvoer.\n"
+"      --statistics            print statistics about translations\n"
+"  -v, --verbose               increase verbosity level\n"
+msgstr ""
 
-#: src/msgfmt.c:435
-msgid "while creating hash table"
-msgstr "tijdens aanmaken hash tabel"
+#: src/msgfmt.c:707
+msgid "plural expression can produce negative values"
+msgstr ""
 
-#: src/msgfmt.c:479
-#, fuzzy, c-format
+#: src/msgfmt.c:720
+#, c-format
+msgid "nplurals = %lu but plural expression can produce values as large as %lu"
+msgstr ""
+
+#: src/msgfmt.c:746
+msgid "plural expression can produce division by zero"
+msgstr ""
+
+#: src/msgfmt.c:751
+msgid "plural expression can produce integer overflow"
+msgstr ""
+
+#: src/msgfmt.c:756
+msgid ""
+"plural expression can produce arithmetic exceptions, possibly division by "
+"zero"
+msgstr ""
+
+#: src/msgfmt.c:830 src/msgfmt.c:841
+msgid "message catalog has plural form translations..."
+msgstr ""
+
+#: src/msgfmt.c:833
+msgid "...but header entry lacks a \"plural=EXPRESSION\" attribute"
+msgstr ""
+
+#: src/msgfmt.c:844
+msgid "...but header entry lacks a \"nplurals=INTEGER\" attribute"
+msgstr ""
+
+#: src/msgfmt.c:868
+#, fuzzy
+msgid "invalid nplurals value"
+msgstr "illegale kontrol sequence"
+
+#: src/msgfmt.c:881
+msgid "invalid plural expression"
+msgstr ""
+
+#: src/msgfmt.c:899 src/msgfmt.c:912
+#, c-format
+msgid "nplurals = %lu..."
+msgstr ""
+
+#: src/msgfmt.c:902
+#, c-format
+msgid "...but some messages have only %lu plural forms"
+msgstr ""
+
+#: src/msgfmt.c:915
+#, c-format
+msgid "...but some messages have %lu plural forms"
+msgstr ""
+
+#: src/msgfmt.c:930
 msgid ""
-"%s: warning: PO file header missing, fuzzy, or invalid\n"
-"%*s  warning: charset conversion will not work"
+"message catalog has plural form translations, but lacks a header entry with "
+"\"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\""
+msgstr ""
+
+#: src/msgfmt.c:968
+#, fuzzy
+msgid "`msgid' and `msgid_plural' entries do not both begin with '\\n'"
+msgstr "`msgid' en `msgstr' ingangen beginnen niet allebei met '\\n'"
+
+#: src/msgfmt.c:978
+#, fuzzy, c-format
+msgid "`msgid' and `msgstr[%u]' entries do not both begin with '\\n'"
+msgstr "`msgid' en `msgstr' ingangen beginnen niet allebei met '\\n'"
+
+#: src/msgfmt.c:990
+msgid "`msgid' and `msgstr' entries do not both begin with '\\n'"
+msgstr "`msgid' en `msgstr' ingangen beginnen niet allebei met '\\n'"
+
+#: src/msgfmt.c:1007
+#, fuzzy
+msgid "`msgid' and `msgid_plural' entries do not both end with '\\n'"
+msgstr "`msgid' en `msgstr' ingangen eindigen niet allebei met '\\n'"
+
+#: src/msgfmt.c:1017
+#, fuzzy, c-format
+msgid "`msgid' and `msgstr[%u]' entries do not both end with '\\n'"
+msgstr "`msgid' en `msgstr' ingangen eindigen niet allebei met '\\n'"
+
+#: src/msgfmt.c:1029
+msgid "`msgid' and `msgstr' entries do not both end with '\\n'"
+msgstr "`msgid' en `msgstr' ingangen eindigen niet allebei met '\\n'"
+
+#: src/msgfmt.c:1041
+msgid "plural handling is a GNU gettext extension"
+msgstr ""
+
+#: src/msgfmt.c:1088
+#, c-format
+msgid "'msgstr' is not a valid %s format string, unlike 'msgid'"
+msgstr ""
+
+#: src/msgfmt.c:1122
+#, c-format
+msgid "msgstr lacks the keyboard accelerator mark '%c'"
+msgstr ""
+
+#: src/msgfmt.c:1130
+#, c-format
+msgid "msgstr has too many keyboard accelerator marks '%c'"
+msgstr ""
+
+#: src/msgfmt.c:1164
+#, c-format
+msgid "headerfield `%s' missing in header"
+msgstr "header(??)veld `%s' ontbreekt in header(??)"
+
+#: src/msgfmt.c:1167
+#, c-format
+msgid "header field `%s' should start at beginning of line"
+msgstr "header(??)veld `%s' moet starten aan het begin van de regel"
+
+#: src/msgfmt.c:1176
+msgid "some header fields still have the initial default value"
+msgstr ""
+"sommige header(??)velden hebben nog de oorspronkelijke standaard waarde"
+
+#: src/msgfmt.c:1187
+#, c-format
+msgid "field `%s' still has initial default value"
+msgstr "veld `%s' heeft nog de oorspronkelijke standaard waarde"
+
+#: src/msgfmt.c:1228
+#, fuzzy
+msgid "warning: PO file header missing or invalid\n"
+msgstr "%s: let op: broncode bevat vage vertaling"
+
+#: src/msgfmt.c:1231
+#, fuzzy
+msgid "warning: charset conversion will not work\n"
+msgstr "%s: let op: broncode bevat vage vertaling"
+
+#: src/msgfmt.c:1241
+#, fuzzy
+msgid "warning: PO file header fuzzy\n"
 msgstr "%s: let op: broncode bevat vage vertaling"
 
-#: src/msgfmt.c:503
+#: src/msgfmt.c:1243
+msgid "warning: older versions of msgfmt will give an error on this\n"
+msgstr ""
+
+#: src/msgfmt.c:1268
 #, c-format
 msgid "domain name \"%s\" not suitable as file name"
 msgstr "domeinnaam \"%s\" niet bruikbaar als bestandsnaam"
 
-#: src/msgfmt.c:508
+#: src/msgfmt.c:1273
 #, c-format
 msgid "domain name \"%s\" not suitable as file name: will use prefix"
 msgstr ""
 "domeinnaam \"%s\" niet bruikbaar als bestandsnaam: zal voorvoegsel gebruiken"
 
-#. We don't change the exit status here because this is really
-#. only an information.
-#: src/msgfmt.c:521
+#: src/msgfmt.c:1284
 #, c-format
 msgid "`domain %s' directive ignored"
 msgstr "`domein %s' directive genegeerd"
 
-#: src/msgfmt.c:551
+#: src/msgfmt.c:1356
 msgid "empty `msgstr' entry ignored"
 msgstr "lege `msgstr' entry genegeerd"
 
-#: src/msgfmt.c:552
+#: src/msgfmt.c:1357
 msgid "fuzzy `msgstr' entry ignored"
 msgstr "lege `msgstr' ingang genegeerd"
 
-#: src/msgfmt.c:594
-#, c-format
-msgid "headerfield `%s' missing in header"
-msgstr "header(??)veld `%s' ontbreekt in header(??)"
-
-#: src/msgfmt.c:597
-#, c-format
-msgid "header field `%s' should start at beginning of line"
-msgstr "header(??)veld `%s' moet starten aan het begin van de regel"
-
-#: src/msgfmt.c:607
-msgid "some header fields still have the initial default value"
-msgstr ""
-"sommige header(??)velden hebben nog de oorspronkelijke standaard waarde"
-
-#: src/msgfmt.c:618
-#, c-format
-msgid "field `%s' still has initial default value"
-msgstr "veld `%s' heeft nog de oorspronkelijke standaard waarde"
-
-#: src/msgfmt.c:708
+#: src/msgfmt.c:1426
 #, c-format
 msgid "%s: warning: source file contains fuzzy translation"
 msgstr "%s: let op: broncode bevat vage vertaling"
 
-#: src/msgfmt.c:930
-#, fuzzy
-msgid "`msgid' and `msgid_plural' entries do not both begin with '\\n'"
-msgstr "`msgid' en `msgstr' ingangen beginnen niet allebei met '\\n'"
-
-#: src/msgfmt.c:938
-#, fuzzy, c-format
-msgid "`msgid' and `msgstr[%u]' entries do not both begin with '\\n'"
-msgstr "`msgid' en `msgstr' ingangen beginnen niet allebei met '\\n'"
-
-#: src/msgfmt.c:948
-msgid "`msgid' and `msgstr' entries do not both begin with '\\n'"
-msgstr "`msgid' en `msgstr' ingangen beginnen niet allebei met '\\n'"
-
-#: src/msgfmt.c:963
-#, fuzzy
-msgid "`msgid' and `msgid_plural' entries do not both end with '\\n'"
-msgstr "`msgid' en `msgstr' ingangen eindigen niet allebei met '\\n'"
-
-#: src/msgfmt.c:971
-#, fuzzy, c-format
-msgid "`msgid' and `msgstr[%u]' entries do not both end with '\\n'"
-msgstr "`msgid' en `msgstr' ingangen eindigen niet allebei met '\\n'"
-
-#: src/msgfmt.c:981
-msgid "`msgid' and `msgstr' entries do not both end with '\\n'"
-msgstr "`msgid' en `msgstr' ingangen eindigen niet allebei met '\\n'"
+#: src/msggrep.c:359
+#, c-format
+msgid "option '%c' cannot be used before 'K' or 'T' has been specified"
+msgstr ""
 
-#: src/msgfmt.c:997
-msgid "number of format specifications in `msgid' and `msgstr' does not match"
-msgstr "aantal formaat specificaties in `msgid' en `msgstr' zijn niet gelijk"
+#: src/msggrep.c:381
+#, no-wrap
+msgid ""
+"Extracts all messages of a translation catalog that match a given pattern\n"
+"or belong to some given source files.\n"
+msgstr ""
 
-#: src/msgfmt.c:1014
-#, fuzzy, c-format
-msgid "format specifications for argument %lu are not the same"
-msgstr "formaat specificaties voor argument %u zijn niet dezelfde"
+#: src/msggrep.c:408
+#, no-wrap
+msgid ""
+"Message selection:\n"
+"  [-N SOURCEFILE]... [-M DOMAINNAME]... [-K MSGID-PATTERN] [-T MSGSTR-PATTERN]\n"
+"A message is selected if it comes from one of the specified source files,\n"
+"or if it comes from one of the specified domains,\n"
+"or if -K is given and its key (msgid or msgid_plural) matches MSGID-PATTERN,\n"
+"or if -T is given and its translation (msgstr) matches MSGSTR-PATTERN.\n"
+"\n"
+"When more than one selection criterion is specified, the set of selected\n"
+"messages is the union of the selected messages of each criterion.\n"
+"\n"
+"MSGID-PATTERN or MSGSTR-PATTERN syntax:\n"
+"  [-E | -F] [-e PATTERN | -f FILE]...\n"
+"PATTERNs are basic regular expressions by default, or extended regular\n"
+"expressions if -E is given, or fixed strings if -F is given.\n"
+"\n"
+"  -N, --location=SOURCEFILE   select messages extracted from SOURCEFILE\n"
+"  -M, --domain=DOMAINNAME     select messages belonging to domain DOMAINNAME\n"
+"  -K, --msgid                 start of patterns for the msgid\n"
+"  -T, --msgstr                start of patterns for the msgstr\n"
+"  -E, --extended-regexp       PATTERN is an extended regular expression\n"
+"  -F, --fixed-strings         PATTERN is a set of newline-separated strings\n"
+"  -e, --regexp=PATTERN        use PATTERN as a regular expression\n"
+"  -f, --file=FILE             obtain PATTERN from FILE\n"
+"  -i, --ignore-case           ignore case distinctions\n"
+msgstr ""
 
-#: src/msgmerge.c:320
-#, fuzzy, c-format, no-wrap
+#: src/msggrep.c:436
+#, fuzzy, no-wrap
 msgid ""
-"Usage: %s [OPTION] def.po ref.po\n"
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"  -C, --compendium=FILE       additional library of message translations,\n"
-"                              may be specified more than once\n"
-"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
-"  -e, --no-escape             do not use C escapes in output (default)\n"
-"  -E, --escape                use C escapes in output, no extended chars\n"
+"Output details:\n"
+"      --no-escape             do not use C escapes in output (default)\n"
+"      --escape                use C escapes in output, no extended chars\n"
 "      --force-po              write PO file even if empty\n"
-"  -h, --help                  display this help and exit\n"
-"  -i, --indent                indented output style\n"
-"  -o, --output-file=FILE      result will be written to FILE\n"
+"      --indent                indented output style\n"
 "      --no-location           suppress '#: filename:line' lines\n"
 "      --add-location          preserve '#: filename:line' lines (default)\n"
 "      --strict                strict Uniforum output style\n"
-"  -v, --verbose               increase verbosity level\n"
-"  -V, --version               output version information and exit\n"
 "  -w, --width=NUMBER          set output page width\n"
+"      --sort-output           generate sorted output\n"
+"      --sort-by-file          sort output by file location\n"
 msgstr ""
 "Gebruik: %s [OPTION] def.po ref.po\n"
 "Verplichte argumenten bij lange opties zijn ook verplicht bij korte opties.\n"
@@ -567,19 +1269,238 @@ msgstr ""
 "  -V, --version               toon versie-informatie en bekindig programma\n"
 "  -W, --width=NUMBER          stel uitvoer pagina breedte in\n"
 
-#: src/msgmerge.c:340
+#: src/msggrep.c:510
+msgid "write to grep subprocess failed"
+msgstr ""
+
+#: src/msginit.c:275
+msgid ""
+"You are in a language indifferent environment.  Please set\n"
+"your LANG environment variable, as described in the ABOUT-NLS\n"
+"file.  This is necessary so you can test your translations.\n"
+msgstr ""
+
+#: src/msginit.c:303
+#, c-format
+msgid ""
+"Output file %s already exists.\n"
+"Please specify the locale through the --locale option or\n"
+"the output .po file through the --output-file option.\n"
+msgstr ""
+
+#: src/msginit.c:326
+#, c-format
+msgid "Created %s.\n"
+msgstr ""
+
+#: src/msginit.c:348
 #, no-wrap
 msgid ""
-"\n"
+"Creates a new PO file, initializing the meta information with values from the\n"
+"user's environment.\n"
+msgstr ""
+
+#: src/msginit.c:359
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  -i, --input=INPUTFILE       input POT file\n"
+"If no input file is given, the current directory is searched for the POT file.\n"
+"If it is -, standard input is read.\n"
+msgstr ""
+
+#: src/msginit.c:367
+#, no-wrap
+msgid ""
+"Output file location:\n"
+"  -o, --output-file=FILE      write output to specified PO file\n"
+"If no output file is given, it depends on the --locale option or the user's\n"
+"locale setting.  If it is -, the results are written to standard output.\n"
+msgstr ""
+
+#: src/msginit.c:375
+#, no-wrap
+msgid ""
+"Output details:\n"
+"  -l, --locale=LL_CC          set target locale\n"
+"      --no-translator         assume the PO file is automatically generated\n"
+"  -w, --width=NUMBER          set output page width\n"
+msgstr ""
+
+#: src/msginit.c:426
+msgid ""
+"Found more than one .pot file.\n"
+"Please specify the input .pot file through the --input option.\n"
+msgstr ""
+
+#: src/msginit.c:434 src/msginit.c:439
+msgid "error reading current directory"
+msgstr ""
+
+#: src/msginit.c:447
+msgid ""
+"Found no .pot file in the current directory.\n"
+"Please specify the input .pot file through the --input option.\n"
+msgstr ""
+
+#: src/msginit.c:887 src/msginit.c:932 src/msginit.c:1070 src/msginit.c:1137
+#: src/read-java.c:80
+msgid "fdopen() failed"
+msgstr ""
+
+#: src/msginit.c:892 src/msginit.c:937 src/msginit.c:1075
+#, c-format
+msgid "%s subprocess I/O error"
+msgstr ""
+
+#: src/msginit.c:901 src/msginit.c:946 src/msginit.c:1084 src/msginit.c:1151
+#: src/read-java.c:90
+#, c-format
+msgid "%s subprocess failed with exit code %d"
+msgstr ""
+
+#: src/msginit.c:1060
+msgid ""
+"The new message catalog should contain your email address, so that users "
+"can\n"
+"give you feedback about the translations, and so that maintainers can "
+"contact\n"
+"you in case of unexpected technical problems.\n"
+msgstr ""
+
+#. TRANSLATORS: "English" needs to be replaced by your language.
+#. For example in it.po write "Traduzioni italiani ...",
+#. *not* "Traduzioni inglesi ...".
+#: src/msginit.c:1440
+#, c-format
+msgid "English translations for %s package"
+msgstr ""
+
+#: src/msgl-cat.c:173 src/msgl-charset.c:86 src/msgl-iconv.c:299
+#, c-format
+msgid "present charset \"%s\" is not a portable encoding name"
+msgstr ""
+
+#: src/msgl-cat.c:181 src/msgl-iconv.c:307
+#, c-format
+msgid "two different charsets \"%s\" and \"%s\" in input file"
+msgstr ""
+
+#: src/msgl-cat.c:194
+#, c-format
+msgid ""
+"input file `%s' doesn't contain a header entry with a charset specification"
+msgstr ""
+
+#: src/msgl-cat.c:198
+#, c-format
+msgid ""
+"domain \"%s\" in input file `%s' doesn't contain a header entry with a "
+"charset specification"
+msgstr ""
+
+#: src/msgl-cat.c:359 src/msgl-iconv.c:382
+#, c-format
+msgid "target charset \"%s\" is not a portable encoding name."
+msgstr ""
+
+#: src/msgl-cat.c:409 src/msgl-cat.c:415 src/msgl-charset.c:91
+#: src/msgl-charset.c:126 src/write-po.c:723 src/write-po.c:817
+msgid "warning: "
+msgstr ""
+
+#: src/msgl-cat.c:410
+msgid ""
+"Input files contain messages in different encodings, UTF-8 among others.\n"
+"Converting the output to UTF-8.\n"
+msgstr ""
+
+#: src/msgl-cat.c:416
+#, c-format
+msgid ""
+"Input files contain messages in different encodings, %s and %s among "
+"others.\n"
+"Converting the output to UTF-8.\n"
+"To select a different output encoding, use the --to-code option.\n"
+msgstr ""
+
+#: src/msgl-charset.c:92
+#, c-format
+msgid ""
+"Locale charset \"%s\" is different from\n"
+"input file charset \"%s\".\n"
+"Output of '%s' might be incorrect.\n"
+"Possible workarounds are:\n"
+msgstr ""
+
+#: src/msgl-charset.c:99
+#, c-format
+msgid "- Set LC_ALL to a locale with encoding %s.\n"
+msgstr ""
+
+#: src/msgl-charset.c:104
+#, c-format
+msgid ""
+"- Convert the translation catalog to %s using 'msgconv',\n"
+"  then apply '%s',\n"
+"  then convert back to %s using 'msgconv'.\n"
+msgstr ""
+
+#: src/msgl-charset.c:113
+#, c-format
+msgid ""
+"- Set LC_ALL to a locale with encoding %s,\n"
+"  convert the translation catalog to %s using 'msgconv',\n"
+"  then apply '%s',\n"
+"  then convert back to %s using 'msgconv'.\n"
+msgstr ""
+
+#: src/msgl-charset.c:127
+#, c-format
+msgid ""
+"Locale charset \"%s\" is not a portable encoding name.\n"
+"Output of '%s' might be incorrect.\n"
+"A possible workaround is to set LC_ALL=C.\n"
+msgstr ""
+
+#: src/msgl-iconv.c:200 src/msgl-iconv.c:254
+msgid "conversion failure"
+msgstr ""
+
+#: src/msgl-iconv.c:328
+msgid "input file doesn't contain a header entry with a charset specification"
+msgstr ""
+
+#: src/msgl-iconv.c:346
+#, c-format
+msgid ""
+"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(), and iconv() does "
+"not support this conversion."
+msgstr ""
+
+#: src/msgl-iconv.c:362
+#, c-format
+msgid ""
+"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(). This version was "
+"built without iconv()."
+msgstr ""
+
+#: src/msgmerge.c:340
+msgid "backup type"
+msgstr ""
+
+#: src/msgmerge.c:377
+#, fuzzy, no-wrap
+msgid ""
 "Merges two Uniforum style .po files together.  The def.po file is an\n"
-"existing PO file with the old translations which will be taken over to\n"
-"the newly created file as long as they still match; comments will be\n"
-"preserved, but extract comments and file positions will be discarded.\n"
-"The ref.po file is the last created PO file (generally by xgettext), any\n"
-"translations or comments in the file will be discarded, however dot\n"
+"existing PO file with translations which will be taken over to the newly\n"
+"created file as long as they still match; comments will be preserved,\n"
+"but extracted comments and file positions will be discarded.  The ref.pot\n"
+"file is the last created PO file with up-to-date source references but\n"
+"old translations, or a PO Template file (generally created by xgettext);\n"
+"any translations or comments in the file will be discarded, however dot\n"
 "comments and file positions will be preserved.  Where an exact match\n"
-"cannot be found, fuzzy matching is used to produce better results.  The\n"
-"results are written to stdout unless an output file is specified.\n"
+"cannot be found, fuzzy matching is used to produce better results.\n"
 msgstr ""
 "\n"
 "Voeg twee Uniforum stijl .po bestanden samen.  Het def.po bestand is een\n"
@@ -593,7 +1514,63 @@ msgstr ""
 "worden om betere resultaten te verkrijgen.  De resultaten worden naar \n"
 "standaarduitvoer geschreven tenzij een uitvoerbestand is gespecificeerd.\n"
 
-#: src/msgmerge.c:799
+#: src/msgmerge.c:395
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  def.po                      translations referring to old sources\n"
+"  ref.pot                     references to new sources\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"  -C, --compendium=FILE       additional library of message translations,\n"
+"                              may be specified more than once\n"
+msgstr ""
+
+#: src/msgmerge.c:405
+#, no-wrap
+msgid ""
+"Operation mode:\n"
+"  -U, --update                update def.po,\n"
+"                              do nothing if def.po already up to date\n"
+msgstr ""
+
+#: src/msgmerge.c:420
+#, no-wrap
+msgid ""
+"Output file location in update mode:\n"
+"The result is written back to def.po.\n"
+"      --backup=CONTROL        make a backup of def.po\n"
+"      --suffix=SUFFIX         override the usual backup suffix\n"
+"The version control method may be selected via the --backup option or through\n"
+"the VERSION_CONTROL environment variable.  Here are the values:\n"
+"  none, off       never make backups (even if --backup is given)\n"
+"  numbered, t     make numbered backups\n"
+"  existing, nil   numbered if numbered backups exist, simple otherwise\n"
+"  simple, never   always make simple backups\n"
+"The backup suffix is `~', unless set with --suffix or the SIMPLE_BACKUP_SUFFIX\n"
+"environment variable.\n"
+msgstr ""
+
+#: src/msgmerge.c:457
+#, no-wrap
+msgid ""
+"Informative output:\n"
+"  -h, --help                  display this help and exit\n"
+"  -V, --version               output version information and exit\n"
+"  -v, --verbose               increase verbosity level\n"
+"  -q, --quiet, --silent       suppress progress indicators\n"
+msgstr ""
+
+#: src/msgmerge.c:625
+#, fuzzy
+msgid "this message should define plural forms"
+msgstr "deze melding is gebruikt maar niet gedefinieerd in %s"
+
+#: src/msgmerge.c:648
+#, fuzzy
+msgid "this message should not define plural forms"
+msgstr "deze melding is gebruikt maar niet gedefinieerd in %s"
+
+#: src/msgmerge.c:779
 #, fuzzy, c-format
 msgid ""
 "%sRead %ld old + %ld reference, merged %ld, fuzzied %ld, missing %ld, "
@@ -602,24 +1579,70 @@ msgstr ""
 "%sLees %d oud + %d referentie, samengevoegd %d, fuzzied(gevaagd) %d, "
 "ontbrekend %d, overbodig %d.\n"
 
-#: src/msgmerge.c:806
+#: src/msgmerge.c:787
 msgid " done.\n"
 msgstr " done.\n"
 
-#: src/msgunfmt.c:210
+#: src/msgunfmt.c:201
+#, fuzzy, c-format
+msgid "%s and explicit file names are mutually exclusive"
+msgstr "%s en %s zijn mutually exclusive"
+
+#: src/msgunfmt.c:267
 #, c-format, no-wrap
+msgid "Usage: %s [OPTION] [FILE]...\n"
+msgstr ""
+
+#: src/msgunfmt.c:272
+#, no-wrap
+msgid "Convert binary message catalog to Uniforum style .po file.\n"
+msgstr ""
+
+#: src/msgunfmt.c:282
+#, no-wrap
 msgid ""
-"Usage: %s [OPTION] [FILE]...\n"
-"Mandatory arguments to long options are mandatory for short options too.\n"
+"Operation mode:\n"
+"  -j, --java               Java mode: generate a Java ResourceBundle class\n"
+msgstr ""
+
+#: src/msgunfmt.c:288
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  FILE ...                 input .mo files\n"
+"If no input file is given or if it is -, standard input is read.\n"
+msgstr ""
+
+#: src/msgunfmt.c:295
+#, no-wrap
+msgid ""
+"Input file location in Java mode:\n"
+"  -r, --resource=RESOURCE  resource name\n"
+"  -l, --locale=LOCALE      locale name, either language or language_COUNTRY\n"
+"The class name is determined by appending the locale name to the resource name,\n"
+"separated with an underscore.  The class is located using the CLASSPATH.\n"
+msgstr ""
+
+#: src/msgunfmt.c:304
+#, no-wrap
+msgid ""
+"Output file location:\n"
+"  -o, --output-file=FILE   write output to specified file\n"
+"The results are written to standard output if no output file is specified\n"
+"or if it is -.\n"
+msgstr ""
+
+#: src/msgunfmt.c:312
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
 "  -e, --no-escape          do not use C escapes in output (default)\n"
 "  -E, --escape             use C escapes in output, no extended chars\n"
 "      --force-po           write PO file even if empty\n"
-"  -h, --help               display this help and exit\n"
 "  -i, --indent             write indented output style\n"
-"  -o, --output-file=FILE   write output into FILE instead of standard output\n"
 "      --strict             write strict uniforum style\n"
-"  -V, --version            output version information and exit\n"
 "  -w, --width=NUMBER       set output page width\n"
+"  -s, --sort-output        generate sorted output\n"
 msgstr ""
 "Gebruik: %s [OPTIE] [BESTAND]...\n"
 "Verplichte argumenten voor lange opties zijn ook verplicht voor korte opties.\n"
@@ -635,50 +1658,51 @@ msgstr ""
 "  -V, --version            toon versie-informatie en bekindig programma\n"
 "  -w, --width=NUMMER       stel uitvoer paginabreedte in\n"
 
-#: src/msgunfmt.c:224
+#: src/msgunfmt.c:324
 #, no-wrap
 msgid ""
-"\n"
-"Convert binary .mo files to Uniforum style .po files.\n"
-"Both little-endian and big-endian .mo files are handled.\n"
-"If no input file is given or it is -, standard input is read.\n"
-"By default the output is written to standard output.\n"
+"Informative output:\n"
+"  -h, --help               display this help and exit\n"
+"  -V, --version            output version information and exit\n"
+"  -v, --verbose            increase verbosity level\n"
 msgstr ""
-"\n"
-"Konverteer binaire .mo bestanden naar Uniforum-stijl .po bestanden.\n"
-"Zowel klein-endian en groot-endian .mo bestanden zijn toegestaan.\n"
-"Als invoerbestand - is of leeg, lees standaardinvoer.\n"
-"Standaard wordt de uitvoer gescreven naar standaarduitvoer.\n"
 
-#: src/msgunfmt.c:261 src/msgunfmt.c:326 src/po-lex.c:216 src/xget-lex.c:243
-#, c-format
-msgid "error while reading \"%s\""
-msgstr "fout tijdens lezen \"%s\""
-
-#: src/msgunfmt.c:262 src/msgunfmt.c:327
-#, c-format
-msgid "file \"%s\" truncated"
-msgstr "bestand \"%s\" ingekort"
+#: src/msguniq.c:279
+#, no-wrap
+msgid ""
+"Unifies duplicate translations in a translation catalog.\n"
+"Finds duplicate translations of the same message ID.  Such duplicates are\n"
+"invalid input for other programs like msgfmt, msgmerge or msgcat.  By\n"
+"default, duplicates are merged together.  When using the --repeated option,\n"
+"only duplicates are output, and all other messages are discarded.  Comments\n"
+"and extracted comments will be cumulated, except that if --use-first is\n"
+"specified, they will be taken from the first translation.  File positions\n"
+"will be cumulated.  When using the --unique option, duplicates are discarded.\n"
+msgstr ""
 
-#: src/msgunfmt.c:293
-#, c-format
-msgid "seek \"%s\" offset %ld failed"
-msgstr "zoek \"%s\" offset %ld gefaald"
+#: src/msguniq.c:312
+#, no-wrap
+msgid ""
+"Message selection:\n"
+"  -d, --repeated                 print only duplicates\n"
+"  -u, --unique                   print only unique messages, discard duplicates\n"
+msgstr ""
 
-#: src/msgunfmt.c:332
-#, fuzzy, c-format
-msgid "file \"%s\" contains a not NUL terminated string"
-msgstr "bestand \"%s\" is geen GNU .mo bestand"
+#: src/ngettext.c:215
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] [TEXTDOMAIN] MSGID MSGID-PLURAL COUNT\n"
+msgstr ""
 
-#: src/msgunfmt.c:377
-#, c-format
-msgid "file \"%s\" is not in GNU .mo format"
-msgstr "bestand \"%s\" is geen GNU .mo bestand"
+#: src/ngettext.c:220
+#, no-wrap
+msgid ""
+"Display native language translation of a textual message whose grammatical\n"
+"form depends on a number.\n"
+msgstr ""
 
-#: src/ngettext.c:209
-#, fuzzy, c-format, no-wrap
+#: src/ngettext.c:225
+#, fuzzy, no-wrap
 msgid ""
-"Usage: %s [OPTION] [TEXTDOMAIN] MSGID MSGID-PLURAL COUNT\n"
 "  -d, --domain=TEXTDOMAIN   retrieve translated message from TEXTDOMAIN\n"
 "  -e                        enable expansion of some escape sequences\n"
 "  -E                        (ignored for compatibility)\n"
@@ -698,10 +1722,9 @@ msgstr ""
 "  [TEXTDOMEIN] MSGID        ontvang vertaalde meldingen corresponderend aan\n"
 "                            MSGID vanuit TEKSTDOMEIN\n"
 
-#: src/ngettext.c:221
+#: src/ngettext.c:236
 #, fuzzy, c-format, no-wrap
 msgid ""
-"\n"
 "If the TEXTDOMAIN parameter is not given, the domain is determined from the\n"
 "environment variable TEXTDOMAIN.  If the message catalog is not found in the\n"
 "regular directory, another location can be specified with the environment\n"
@@ -718,280 +1741,657 @@ msgstr ""
 "worden de in de katalogus gevonden meldingen vertaald.\n"
 "Standaard zoek directory: %s\n"
 
-#: src/open-po.c:64
+#: src/open-po.c:69
 msgid "<stdin>"
 msgstr ""
 
-#: po-gram-gen.y:87
+#: src/po-charset.c:172 src/po-charset.c:240 src/po-charset.c:268
+#: src/po-charset.c:294
+#, c-format
+msgid "%s: warning: "
+msgstr ""
+
+#: src/po-charset.c:173
+#, fuzzy, c-format
+msgid ""
+"Charset \"%s\" is not a portable encoding name.\n"
+"Message conversion to user's charset might not work.\n"
+msgstr "%s: let op: broncode bevat vage vertaling"
+
+#: src/po-charset.c:236 src/po-charset.c:266
+msgid "Continuing anyway, expect parse errors."
+msgstr ""
+
+#: src/po-charset.c:238
+msgid "Continuing anyway."
+msgstr ""
+
+#: src/po-charset.c:241
+#, c-format
+msgid ""
+"Charset \"%s\" is not supported. %s relies on iconv(),\n"
+"and iconv() does not support \"%s\".\n"
+msgstr ""
+
+#: src/po-charset.c:250 src/po-charset.c:276
+msgid ""
+"Installing GNU libiconv and then reinstalling GNU gettext\n"
+"would fix this problem.\n"
+msgstr ""
+
+#: src/po-charset.c:255 src/po-charset.c:280
+#, c-format
+msgid "%s\n"
+msgstr ""
+
+#: src/po-charset.c:269
+#, c-format
+msgid ""
+"Charset \"%s\" is not supported. %s relies on iconv().\n"
+"This version was built without iconv().\n"
+msgstr ""
+
+#: src/po-charset.c:295
+#, fuzzy
+msgid ""
+"Charset missing in header.\n"
+"Message conversion to user's charset will not work.\n"
+msgstr "%s: let op: broncode bevat vage vertaling"
+
+#: po-gram-gen.y:91
 msgid "inconsistent use of #~"
 msgstr ""
 
-#: po-gram-gen.y:168
+#: po-gram-gen.y:181
 #, fuzzy
 msgid "missing `msgstr[]' section"
 msgstr "ontbrekend `msgstr' gedeelte"
 
-#: po-gram-gen.y:176
+#: po-gram-gen.y:189
 #, fuzzy
 msgid "missing `msgid_plural' section"
 msgstr "ontbrekend `msgstr' gedeelte"
 
-#: po-gram-gen.y:183
+#: po-gram-gen.y:196
 msgid "missing `msgstr' section"
 msgstr "ontbrekend `msgstr' gedeelte"
 
-#: po-gram-gen.y:228
+#: po-gram-gen.y:241
 msgid "first plural form has nonzero index"
 msgstr ""
 
-#: po-gram-gen.y:230
+#: po-gram-gen.y:243
 msgid "plural form has wrong index"
 msgstr ""
 
-#. CAUTION: If you change this macro, you must also make identical
-#. changes to the function of the same name in src/po-lex.c
-#: src/po-lex.c:159 src/po-lex.c:198 src/po-lex.h:85 src/po-lex.h:99
-#: src/po-lex.h:115 src/po-lex.h:129
+#: src/po-lex.h:91 src/po-lex.h:106 src/po-lex.h:126 src/po-lex.h:141
+#: src/po-lex.c:135 src/po-lex.c:176
 msgid "too many errors, aborting"
 msgstr "te veel fouten, afgebroken"
 
-#: src/po-lex.c:274
+#: src/po-lex.c:545 src/write-po.c:331 src/write-po.c:421
+#, fuzzy
+msgid "invalid multibyte sequence"
+msgstr "illegale kontrol sequence"
+
+#: src/po-lex.c:571
+#, fuzzy
+msgid "incomplete multibyte sequence at end of file"
+msgstr "illegale kontrol sequence"
+
+#: src/po-lex.c:581
+#, fuzzy
+msgid "incomplete multibyte sequence at end of line"
+msgstr "illegale kontrol sequence"
+
+#: src/po-lex.c:589
+msgid "iconv failure"
+msgstr ""
+
+#: src/po-lex.c:763 src/read-mo.c:70 src/read-mo.c:135 src/x-c.c:216
+#: src/x-rst.c:227 src/x-ycp.c:103
+#, c-format
+msgid "error while reading \"%s\""
+msgstr "fout tijdens lezen \"%s\""
+
+#: src/po-lex.c:829
 #, c-format
 msgid "keyword \"%s\" unknown"
 msgstr "sleutelwoord \"%s\" onbekend"
 
-#: src/po-lex.c:377
+#: src/po-lex.c:939
 #, fuzzy
 msgid "invalid control sequence"
 msgstr "illegale kontrol sequence"
 
-#: src/po-lex.c:480
+#: src/po-lex.c:1047
 msgid "end-of-file within string"
 msgstr "einde-bestand-teken in string"
 
-#: src/po-lex.c:485
+#: src/po-lex.c:1053
 msgid "end-of-line within string"
 msgstr "einde-regel-teken in string"
 
-#: src/po-lex.c:528 src/write-po.c:285 src/write-po.c:367
-#, fuzzy
-msgid "invalid multibyte sequence"
-msgstr "illegale kontrol sequence"
+#: src/read-mo.c:71 src/read-mo.c:136
+#, c-format
+msgid "file \"%s\" truncated"
+msgstr "bestand \"%s\" ingekort"
 
-#: src/po.c:302 src/po.c:374 src/po.c:409 src/po.c:439
+#: src/read-mo.c:102
 #, c-format
-msgid "%s: warning: "
-msgstr ""
+msgid "seek \"%s\" offset %ld failed"
+msgstr "zoek \"%s\" offset %ld gefaald"
 
-#: src/po.c:303
+#: src/read-mo.c:141
 #, fuzzy, c-format
-msgid ""
-"Charset \"%s\" is not a portable encoding name.\n"
-"Message conversion to user's charset might not work.\n"
-msgstr "%s: let op: broncode bevat vage vertaling"
+msgid "file \"%s\" contains a not NUL terminated string"
+msgstr "bestand \"%s\" is geen GNU .mo bestand"
 
-#: src/po.c:370 src/po.c:405
-msgid "Continuing anyway, expect parse errors."
-msgstr ""
+#: src/read-mo.c:186
+#, c-format
+msgid "file \"%s\" is not in GNU .mo format"
+msgstr "bestand \"%s\" is geen GNU .mo bestand"
 
-#: src/po.c:372
-msgid "Continuing anyway."
+#: src/write-java.c:1108
+msgid "cannot find a temporary directory, try setting $TMPDIR"
 msgstr ""
 
-#: src/po.c:375
-#, c-format
-msgid ""
-"Charset \"%s\" is not supported. %s relies on iconv(),\n"
-"and iconv() does not support \"%s\".\n"
-msgstr ""
+#: src/write-java.c:1118
+#, fuzzy, c-format
+msgid "cannot create a temporary directory using template \"%s\""
+msgstr "kan uitvoerbestand \"%s\" niet aanmaken"
 
-#: src/po.c:385 src/po.c:418
-msgid ""
-"Installing GNU libiconv and then reinstalling GNU gettext\n"
-"would fix this problem.\n"
+#: src/write-java.c:1131
+#, c-format
+msgid "not a valid Java class name: %s"
 msgstr ""
 
-#: src/po.c:393 src/po.c:425
+#: src/write-java.c:1188 src/write-java.c:1201
 #, c-format
-msgid "%s\n"
+msgid "failed to create \"%s\""
 msgstr ""
 
-#: src/po.c:410
+#: src/write-java.c:1209 src/write-mo.c:289 src/write-po.c:966
 #, c-format
-msgid ""
-"Charset \"%s\" is not supported. %s relies on iconv().\n"
-"This version was built without iconv().\n"
+msgid "error while writing \"%s\" file"
+msgstr "fout bij schrijven bestand \"%s\""
+
+#: src/write-java.c:1223
+msgid "compilation of Java class failed, please try --verbose or set $JAVAC"
 msgstr ""
 
-#: src/po.c:440
-#, fuzzy
-msgid ""
-"Charset missing in header.\n"
-"Message conversion to user's charset will not work.\n"
-msgstr "%s: let op: broncode bevat vage vertaling"
+#: src/write-mo.c:277
+#, c-format
+msgid "error while opening \"%s\" for writing"
+msgstr "fout bij openen om te schrijven van \"%s\""
 
-#: src/write-po.c:316
+#: src/write-po.c:370
 #, c-format
 msgid ""
 "internationalized messages should not contain the `\\%c' escape sequence"
 msgstr ""
 "geonternationaliseerde meldingen mogen geen `\\%c' escape sequences bevatten"
 
-#: src/write-po.c:857
+#: src/write-po.c:724 src/write-po.c:818
+#, c-format
+msgid ""
+"The following msgid contains non-ASCII characters.\n"
+"This will cause problems to translators who use a character encoding\n"
+"different from yours. Consider using a pure ASCII msgid instead.\n"
+"%s\n"
+msgstr ""
+
+#: src/write-po.c:885
 #, c-format
 msgid "cannot create output file \"%s\""
 msgstr "kan uitvoerbestand \"%s\" niet aanmaken"
 
-#: src/write-po.c:864
+#: src/write-po.c:892
 #, no-c-format
 msgid "standard output"
 msgstr "standaard uitvoer"
 
-#: src/write-po.c:939
-#, c-format
-msgid "error while writing \"%s\" file"
-msgstr "fout bij schrijven bestand \"%s\""
-
-#: src/xget-lex.c:148
-msgid "standard input"
-msgstr "standaard invoer"
-
-#: src/xget-lex.c:876
+#: src/x-c.c:858
 #, c-format
 msgid "%s:%d: warning: unterminated character constant"
 msgstr "%s:%d: let op: niet getermineerde karakter konstante"
 
-#: src/xget-lex.c:898
+#: src/x-c.c:882
 #, c-format
 msgid "%s:%d: warning: unterminated string literal"
 msgstr "%s:%d: let op: niet getermineerde string literal"
 
-#: src/xgettext.c:373
+#: src/x-po.c:106 src/xgettext.c:605
+msgid "this file may not contain domain directives"
+msgstr "dit bestand mag geen domein directives bevatten"
+
+#: src/x-rst.c:108
+#, c-format
+msgid "%s:%d: invalid string definition"
+msgstr ""
+
+#: src/x-rst.c:168
+#, c-format
+msgid "%s:%d: missing number after #"
+msgstr ""
+
+#: src/x-rst.c:203
+#, c-format
+msgid "%s:%d: invalid string expression"
+msgstr ""
+
+#: src/xgettext.c:375
 msgid "--join-existing cannot be used when output is written to stdout"
 msgstr ""
 "--join-existing kan niet gebruikt worden indien uitvoer naar "
 "standaarduitvoer\n"
 "wordt geschreven"
 
-#: src/xgettext.c:378
+#: src/xgettext.c:380
 msgid "xgettext cannot work without keywords to look for"
 msgstr ""
 
-#: src/xgettext.c:484
+#: src/xgettext.c:468
 #, c-format
 msgid "warning: file `%s' extension `%s' is unknown; will try C"
 msgstr "let op: bestand `%s' extensie `%s' is onbekend; ga C proberen"
 
-#: src/xgettext.c:520
-#, fuzzy, c-format, no-wrap
+#: src/xgettext.c:509
+#, no-wrap
+msgid "Extract translatable strings from given input files.\n"
+msgstr ""
+
+#: src/xgettext.c:514
+#, no-wrap
 msgid ""
-"Usage: %s [OPTION] INPUTFILE ...\n"
-"Extract translatable string from given input files.\n"
-"\n"
 "Mandatory arguments to long options are mandatory for short options too.\n"
-"  -a, --extract-all              extract all strings\n"
-"  -c, --add-comments[=TAG]       place comment block with TAG (or those\n"
-"                                 preceding keyword lines) in output file\n"
-"  -C, --c++                      shorthand for --language=C++\n"
-"      --debug                    more detailed formatstring recognision result\n"
+"Similarly for optional arguments.\n"
+msgstr ""
+
+#: src/xgettext.c:529
+#, no-wrap
+msgid ""
+"Output file location:\n"
 "  -d, --default-domain=NAME      use NAME.po for output (instead of messages.po)\n"
-"  -D, --directory=DIRECTORY      add DIRECTORY to list for input files search\n"
-"  -e, --no-escape                do not use C escapes in output (default)\n"
-"  -E, --escape                   use C escapes in output, no extended chars\n"
-"  -f, --files-from=FILE          get list of input files from FILE\n"
-"      --force-po                 write PO file even if empty\n"
-"      --foreign-user             omit FSF copyright in output for foreign user\n"
-"  -F, --sort-by-file             sort output by file location\n"
+"  -o, --output=FILE              write output to specified file\n"
+"  -p, --output-dir=DIR           output files will be placed in directory DIR\n"
+"If output file is -, output is written to standard output.\n"
 msgstr ""
-"Gebruik: %s [OPTIE] INVOERBESTAND ...\n"
-"Verplichte argument bij lange opties zijn ook verplicht bij korte opties.\n"
-"  -a, --extract-all              extraheer alle strings\n"
-"  -c, --add-comments[=TAG]       plaats een kommentaar blok met TAG (of deze\n"
-"                                 voorafgaande sleutelwoord regels) in uitvoer\n"
-"  -C, --c++                      herken C++ stijl kommentaar\n"
-"      --debug                    meer gedetaileerde formatstring resultaat\n"
-"  -d, --default-domain=NAAM      gebruik NAAM.po voor uitvoer\n"
-"                                 (in plaats van messages.po)\n"
-"  -D, --directory=DIRECTORY      zoek invoerbestanden ook in DIRECTORY\n"
-"  -e, --no-escape                gebruik geen C escapes in uitvoer (standaard)\n"
-"  -E, --escape                   gebruik C escapes in uitvoer, geen extended\n"
-"                                 karakters\n"
-"  -f, --files-from=BESTAND       haal lijst van invoerbestand uit BESTAND\n"
-"      --force-po                 maak altijd een (eventueel leeg) PO bestand\n"
-"      --foreign-user             laat FSF kopierecht weg voor vreemde gebruiker\n"
-"  -F, --sort-by-file             sorteer uitvoer bij bestandslokatie\n"
-
-#: src/xgettext.c:540
-#, fuzzy, no-wrap
+
+#: src/xgettext.c:538
+#, no-wrap
 msgid ""
-"  -h, --help                     display this help and exit\n"
-"  -i, --indent                   write the .po file using indented style\n"
+"Choice of input file language:\n"
+"  -L, --language=NAME            recognise the specified language\n"
+"                                   (C, C++, ObjectiveC, PO, Java, YCP)\n"
+"  -C, --c++                      shorthand for --language=C++\n"
+"By default the language is guessed depending on the input file name extension.\n"
+msgstr ""
+
+#: src/xgettext.c:547
+#, no-wrap
+msgid ""
+"Operation mode:\n"
 "  -j, --join-existing            join messages with existing file\n"
-"  -k, --keyword[=WORD]           additonal keyword to be looked for (without\n"
-"                                 WORD means not to use default keywords)\n"
-"  -L, --language=NAME            recognise the specified language (C, C++, PO),\n"
-"                                 otherwise is guessed from file extension\n"
-"  -m, --msgstr-prefix[=STRING]   use STRING or \"\" as prefix for msgstr entries\n"
-"  -M, --msgstr-suffix[=STRING]   use STRING or \"\" as suffix for msgstr entries\n"
-"      --no-location              do not write '#: filename:line' lines\n"
+"  -x, --exclude-file=FILE.po     entries from FILE.po are not extracted\n"
+"  -c, --add-comments[=TAG]       place comment block with TAG (or those\n"
+"                                 preceding keyword lines) in output file\n"
 msgstr ""
-"  -h, --help                     toon hulp-tekst en bekindig programma\n"
-"  -i, --indent                   indenteer uitvoer\n"
-"  -j, --join-existing            voeg melding same met bestaand bestand\n"
-"  -k, --keyword[=WOORD]          additioneel sleutelwoord om naar te zoeken\n"
-"                                 (WOORD = \"\": negeer standaard sleutelwoorden)\n"
-"  -l, --string-limit=NUMMER      string lengte limiet is NUMMER i.p.v. %u\n"
-"  -L, --language=NAAM            herken de gespecificeerde TAAL (C, C++, PO)\n"
-"  -m, --msgstr-prefix[=STRING]   gebruik STRING of \"\" als voorvoegsel voor\n"
-"                                 msgstr ingangen\n"
-"  -M, --msgstr-suffix[=STRING]   gebruik STRING of \"\" als achtervoegsel voor\n"
-"                                 msgstr ingangen\n"
-"      --no-location              geen '#: filename:line' regels\n"
 
-#: src/xgettext.c:552
+#: src/xgettext.c:556
 #, no-wrap
 msgid ""
+"Language=C/C++ specific options:\n"
+"  -a, --extract-all              extract all strings\n"
+"  -k, --keyword[=WORD]           additional keyword to be looked for (without\n"
+"                                 WORD means not to use default keywords)\n"
+"  -T, --trigraphs                understand ANSI C trigraphs for input\n"
+"      --debug                    more detailed formatstring recognition result\n"
+msgstr ""
+
+#: src/xgettext.c:566
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
+"  -e, --no-escape                do not use C escapes in output (default)\n"
+"  -E, --escape                   use C escapes in output, no extended chars\n"
+"      --force-po                 write PO file even if empty\n"
+"  -i, --indent                   write the .po file using indented style\n"
+"      --no-location              do not write '#: filename:line' lines\n"
 "  -n, --add-location             generate '#: filename:line' lines (default)\n"
-"      --omit-header              don't write header with `msgid \"\"' entry\n"
-"  -o, --output=FILE              write output to specified file\n"
-"  -p, --output-dir=DIR           output files will be placed in directory DIR\n"
-"  -s, --sort-output              generate sorted output and remove duplicates\n"
 "      --strict                   write out strict Uniforum conforming .po file\n"
-"  -T, --trigraphs                understand ANSI C trigraphs for input\n"
-"  -V, --version                  output version information and exit\n"
 "  -w, --width=NUMBER             set output page width\n"
-"  -x, --exclude-file=FILE        entries from FILE are not extracted\n"
-"\n"
-"If INPUTFILE is -, standard input is read.\n"
-msgstr ""
-"  -n, --add-location             voeg '#: filename:line' regels toe (standaard)\n"
+"  -s, --sort-output              generate sorted output\n"
+"  -F, --sort-by-file             sort output by file location\n"
 "      --omit-header              don't write header with `msgid \"\"' entry\n"
-"  -o, --output=BESTAND           schrijf uitvoer naar gespecificeerd bestand\n"
-"  -p, --output-dir=DIR           plaats uitvoerbestanden in directory DIR\n"
-"  -s, --sort-output              sorteer uitvoer en verwijder dubbelen\n"
-"      --strict                   uitvoer volgens strikte Uniforum stijl\n"
-"  -T, --trigraphs                accepteer ANSI C trigraphs als invoer\n"
-"  -V, --version                  toon hulp-tekst en bekindig programma\n"
-"  -w, --width=NUMMER             stel pagina uitvoer breedte in\n"
-"  -x, --exclude-file=BESTAND     ingangen van BESTAND worden niet gekxtraheerd\n"
-"\n"
-"Als INVOERBESTAND - is, lees standaardinvoer.\n"
+"      --foreign-user             omit FSF copyright in output for foreign user\n"
+"  -m, --msgstr-prefix[=STRING]   use STRING or \"\" as prefix for msgstr entries\n"
+"  -M, --msgstr-suffix[=STRING]   use STRING or \"\" as suffix for msgstr entries\n"
+msgstr ""
+"Gebruik: %s [OPTION] def.po ref.po\n"
+"Verplichte argumenten bij lange opties zijn ook verplicht bij korte opties.\n"
+"  -D, --directory=DIRECTORY   voeg DIRECTORY toe aan lijst waar van directories\n"
+"                              invoerbestanden gezocht worden\n"
+"  -e, --no-escape             gebruikt geen C escapes in uitvoer (standaard)\n"
+"  -E, --escape                gebruik C escapes in uitvoer, geen extended chars\n"
+"      --force-po              schrijf PO bestand zelfs als het leeg is\n"
+"  -h, --help                  toon hulp-tekst en bekindig programma\n"
+"  -i, --indent                geondenteerde uitvoerstijl\n"
+"  -o, --output-file=BESTAND   resultaat wordt naar BESTAND geschreven\n"
+"      --no-location           onderdruk '#: bestandsnaam:regel' regels\n"
+"      --add-location          behoud '#: bestandsnaam:regel' regels (standaard)\n"
+"      --strict                stricte Uniforum uitvoerstijl\n"
+"  -v, --verbose               verhoog verbosity nivo\n"
+"  -V, --version               toon versie-informatie en bekindig programma\n"
+"  -W, --width=NUMBER          stel uitvoer pagina breedte in\n"
 
-#: src/xgettext.c:914
-#, fuzzy, c-format
-msgid "%s:%d: warning: keyword nested in keyword arg"
-msgstr "%s:%d: let op: niet getermineerde string literal"
+#: src/xgettext.c:720
+msgid "standard input"
+msgstr "standaard invoer"
 
-#: src/xgettext.c:924
-#, c-format
-msgid "%s:%d: warning: keyword between outer keyword and its arg"
+#: src/xgettext.c:830
+msgid ""
+"Empty msgid.  It is reserved by GNU gettext:\n"
+"gettext(\"\") returns the header entry with\n"
+"meta information, not the empty string.\n"
 msgstr ""
 
-#: src/xgettext.c:1420
+#: src/xgettext.c:1099
 #, c-format
 msgid "language `%s' unknown"
 msgstr "taal `%s' onbekend"
 
+#~ msgid "while creating hash table"
+#~ msgstr "tijdens aanmaken hash tabel"
+
+#, fuzzy
+#~ msgid "%s:%lu: warning: keyword nested in keyword arg"
+#~ msgstr "%s:%d: let op: niet getermineerde string literal"
+
+#, fuzzy
+#~ msgid "%s:%lu: warning: keyword between outer keyword and its arg"
+#~ msgstr "%s:%d: let op: niet getermineerde string literal"
+
+#~ msgid "while preparing output"
+#~ msgstr "bij voorbereiden uitvoer"
+
+#~ msgid "this message has no definition in the \"%s\" domain"
+#~ msgstr "deze melding heeft geen definitie in het \"%s\" domein"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: %s [OPTION] INPUTFILE ...\n"
+#~ "Mandatory arguments to long options are mandatory for short options too.\n"
+#~ "  -d, --default-domain=NAME      use NAME.po for output (instead of "
+#~ "messages.po)\n"
+#~ "  -D, --directory=DIRECTORY      add DIRECTORY to list for input files "
+#~ "search\n"
+#~ "  -e, --no-escape                do not use C escapes in output "
+#~ "(default)\n"
+#~ "  -E, --escape                   use C escapes in output, no extended "
+#~ "chars\n"
+#~ "  -f, --files-from=FILE          get list of input files from FILE\n"
+#~ "      --force-po                 write PO file even if empty\n"
+#~ "  -F, --sort-by-file             sort output by file location\n"
+#~ "  -h, --help                     display this help and exit\n"
+#~ msgstr ""
+#~ "Gebruik: %s [OPTIE] INVOERBESTAND ...\n"
+#~ "Verplichte argument bij lange opties zijn ook verplicht bij korte "
+#~ "opties.\n"
+#~ "  -a, --extract-all              extraheer alle strings\n"
+#~ "  -c, --add-comments[=TAG]       plaats een kommentaar blok met TAG (of "
+#~ "deze\n"
+#~ "                                 voorafgaande sleutelwoord regels) in "
+#~ "uitvoer\n"
+#~ "  -C, --c++                      herken C++ stijl kommentaar\n"
+#~ "      --debug                    meer gedetaileerde formatstring "
+#~ "resultaat\n"
+#~ "  -d, --default-domain=NAAM      gebruik NAAM.po voor uitvoer\n"
+#~ "                                 (in plaats van messages.po)\n"
+#~ "  -D, --directory=DIRECTORY      zoek invoerbestanden ook in DIRECTORY\n"
+#~ "  -e, --no-escape                gebruik geen C escapes in uitvoer "
+#~ "(standaard)\n"
+#~ "  -E, --escape                   gebruik C escapes in uitvoer, geen "
+#~ "extended\n"
+#~ "                                 karakters\n"
+#~ "  -f, --files-from=BESTAND       haal lijst van invoerbestand uit "
+#~ "BESTAND\n"
+#~ "      --force-po                 maak altijd een (eventueel leeg) PO "
+#~ "bestand\n"
+#~ "      --foreign-user             laat FSF kopierecht weg voor vreemde "
+#~ "gebruiker\n"
+#~ "  -F, --sort-by-file             sorteer uitvoer bij bestandslokatie\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "  -i, --indent                   write the .po file using indented style\n"
+#~ "      --no-location              do not write '#: filename:line' lines\n"
+#~ "  -n, --add-location             generate '#: filename:line' lines "
+#~ "(default)\n"
+#~ "      --omit-header              don't write header with `msgid \"\"' "
+#~ "entry\n"
+#~ "  -o, --output=FILE              write output to specified file\n"
+#~ "  -p, --output-dir=DIR           output files will be placed in directory "
+#~ "DIR\n"
+#~ "  -s, --sort-output              generate sorted output and remove "
+#~ "duplicates\n"
+#~ "      --strict                   write out strict Uniforum conforming .po "
+#~ "file\n"
+#~ "  -T, --trigraphs                understand ANSI C trigraphs for input\n"
+#~ "  -u, --unique                   shorthand for --less-than=2, requests\n"
+#~ "                                 that only unique messages be printed\n"
+#~ msgstr ""
+#~ "  -n, --add-location             voeg '#: filename:line' regels toe "
+#~ "(standaard)\n"
+#~ "      --omit-header              don't write header with `msgid \"\"' "
+#~ "entry\n"
+#~ "  -o, --output=BESTAND           schrijf uitvoer naar gespecificeerd "
+#~ "bestand\n"
+#~ "  -p, --output-dir=DIR           plaats uitvoerbestanden in directory "
+#~ "DIR\n"
+#~ "  -s, --sort-output              sorteer uitvoer en verwijder dubbelen\n"
+#~ "      --strict                   uitvoer volgens strikte Uniforum stijl\n"
+#~ "  -T, --trigraphs                accepteer ANSI C trigraphs als invoer\n"
+#~ "  -V, --version                  toon hulp-tekst en bekindig programma\n"
+#~ "  -w, --width=NUMMER             stel pagina uitvoer breedte in\n"
+#~ "  -x, --exclude-file=BESTAND     ingangen van BESTAND worden niet "
+#~ "gekxtraheerd\n"
+#~ "\n"
+#~ "Als INVOERBESTAND - is, lees standaardinvoer.\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: %s [OPTION] filename.po ...\n"
+#~ "Generate binary message catalog from textual translation description.\n"
+#~ "\n"
+#~ "Mandatory arguments to long options are mandatory for short options too.\n"
+#~ "  -a, --alignment=NUMBER      align strings to NUMBER bytes (default: %"
+#~ "d)\n"
+#~ "  -c, --check                 perform language dependent checks on "
+#~ "strings\n"
+#~ "  -D, --directory=DIRECTORY   add DIRECTORY to list for input files "
+#~ "search\n"
+#~ "  -f, --use-fuzzy             use fuzzy entries in output\n"
+#~ "  -h, --help                  display this help and exit\n"
+#~ "      --no-hash               binary file will not include the hash "
+#~ "table\n"
+#~ "  -o, --output-file=FILE      specify output file name as FILE\n"
+#~ "      --statistics            print statistics about translations\n"
+#~ "      --strict                enable strict Uniforum mode\n"
+#~ "  -v, --verbose               list input file anomalies\n"
+#~ "  -V, --version               output version information and exit\n"
+#~ "\n"
+#~ "Giving the -v option more than once increases the verbosity level.\n"
+#~ "\n"
+#~ "If input file is -, standard input is read.  If output file is -,\n"
+#~ "output is written to standard output.\n"
+#~ msgstr ""
+#~ "Gebruik: %s [OPTIE] bestandsnaam.po ...\n"
+#~ "Verplichte argument voor lange opties zijn ook verplicht voor korte "
+#~ "opties.\n"
+#~ "  -a, --alignment=NUMMER     lijn strings uit tot NUMMER bytes "
+#~ "(standaard: %d)\n"
+#~ "  -c, --check                voer taalafhankelijke kontrole uit op "
+#~ "strings\n"
+#~ "  -D, --directory=DIRECTORY  voeg DIRECTORY toe aan lijst van "
+#~ "directories\n"
+#~ "                             waarin invoerbestanden gezocht worden\n"
+#~ "  -f, --use-fuzzy            gebruik vage ingangen in uitvoer\n"
+#~ "  -h, --help                 toon hulp-tekst en bekindig programma\n"
+#~ "      --no-hash              binair bestand zal niet de hash tabel "
+#~ "bevatten\n"
+#~ "  -o, --output-file=BESTAND  uitvoerbestandsnaam is BESTAND\n"
+#~ "      --statistics           toon statistieken van vertalingen\n"
+#~ "      --strict               gebruik strikte Uniforum mode\n"
+#~ "  -v, --verbose              laat invoerbestand anomalies zien\n"
+#~ "  -V, --version              toon versie-informatie en bekindig "
+#~ "programma\n"
+#~ "\n"
+#~ "Het meer dan eens geven van de -v optie verhoogt het verbosity nivo.\n"
+#~ "\n"
+#~ "Als invoerbestand - is, lees standaardinvoer.  Als uitvoerbestand -\n"
+#~ "is, schrijf uitvoer naar standaarduitvoer.\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "Convert binary .mo files to Uniforum style .po files.\n"
+#~ "Both little-endian and big-endian .mo files are handled.\n"
+#~ "If no input file is given or it is -, standard input is read.\n"
+#~ "By default the output is written to standard output.\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Konverteer binaire .mo bestanden naar Uniforum-stijl .po bestanden.\n"
+#~ "Zowel klein-endian en groot-endian .mo bestanden zijn toegestaan.\n"
+#~ "Als invoerbestand - is of leeg, lees standaardinvoer.\n"
+#~ "Standaard wordt de uitvoer gescreven naar standaarduitvoer.\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: %s [OPTION] INPUTFILE ...\n"
+#~ "Extract translatable string from given input files.\n"
+#~ "\n"
+#~ "Mandatory arguments to long options are mandatory for short options too.\n"
+#~ "  -a, --extract-all              extract all strings\n"
+#~ "  -c, --add-comments[=TAG]       place comment block with TAG (or those\n"
+#~ "                                 preceding keyword lines) in output file\n"
+#~ "  -C, --c++                      shorthand for --language=C++\n"
+#~ "      --debug                    more detailed formatstring recognision "
+#~ "result\n"
+#~ "  -d, --default-domain=NAME      use NAME.po for output (instead of "
+#~ "messages.po)\n"
+#~ "  -D, --directory=DIRECTORY      add DIRECTORY to list for input files "
+#~ "search\n"
+#~ "  -e, --no-escape                do not use C escapes in output "
+#~ "(default)\n"
+#~ "  -E, --escape                   use C escapes in output, no extended "
+#~ "chars\n"
+#~ "  -f, --files-from=FILE          get list of input files from FILE\n"
+#~ "      --force-po                 write PO file even if empty\n"
+#~ "      --foreign-user             omit FSF copyright in output for foreign "
+#~ "user\n"
+#~ "  -F, --sort-by-file             sort output by file location\n"
+#~ msgstr ""
+#~ "Gebruik: %s [OPTIE] INVOERBESTAND ...\n"
+#~ "Verplichte argument bij lange opties zijn ook verplicht bij korte "
+#~ "opties.\n"
+#~ "  -a, --extract-all              extraheer alle strings\n"
+#~ "  -c, --add-comments[=TAG]       plaats een kommentaar blok met TAG (of "
+#~ "deze\n"
+#~ "                                 voorafgaande sleutelwoord regels) in "
+#~ "uitvoer\n"
+#~ "  -C, --c++                      herken C++ stijl kommentaar\n"
+#~ "      --debug                    meer gedetaileerde formatstring "
+#~ "resultaat\n"
+#~ "  -d, --default-domain=NAAM      gebruik NAAM.po voor uitvoer\n"
+#~ "                                 (in plaats van messages.po)\n"
+#~ "  -D, --directory=DIRECTORY      zoek invoerbestanden ook in DIRECTORY\n"
+#~ "  -e, --no-escape                gebruik geen C escapes in uitvoer "
+#~ "(standaard)\n"
+#~ "  -E, --escape                   gebruik C escapes in uitvoer, geen "
+#~ "extended\n"
+#~ "                                 karakters\n"
+#~ "  -f, --files-from=BESTAND       haal lijst van invoerbestand uit "
+#~ "BESTAND\n"
+#~ "      --force-po                 maak altijd een (eventueel leeg) PO "
+#~ "bestand\n"
+#~ "      --foreign-user             laat FSF kopierecht weg voor vreemde "
+#~ "gebruiker\n"
+#~ "  -F, --sort-by-file             sorteer uitvoer bij bestandslokatie\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "  -h, --help                     display this help and exit\n"
+#~ "  -i, --indent                   write the .po file using indented style\n"
+#~ "  -j, --join-existing            join messages with existing file\n"
+#~ "  -k, --keyword[=WORD]           additonal keyword to be looked for "
+#~ "(without\n"
+#~ "                                 WORD means not to use default keywords)\n"
+#~ "  -L, --language=NAME            recognise the specified language (C, C+"
+#~ "+, PO),\n"
+#~ "                                 otherwise is guessed from file "
+#~ "extension\n"
+#~ "  -m, --msgstr-prefix[=STRING]   use STRING or \"\" as prefix for msgstr "
+#~ "entries\n"
+#~ "  -M, --msgstr-suffix[=STRING]   use STRING or \"\" as suffix for msgstr "
+#~ "entries\n"
+#~ "      --no-location              do not write '#: filename:line' lines\n"
+#~ msgstr ""
+#~ "  -h, --help                     toon hulp-tekst en bekindig programma\n"
+#~ "  -i, --indent                   indenteer uitvoer\n"
+#~ "  -j, --join-existing            voeg melding same met bestaand bestand\n"
+#~ "  -k, --keyword[=WOORD]          additioneel sleutelwoord om naar te "
+#~ "zoeken\n"
+#~ "                                 (WOORD = \"\": negeer standaard "
+#~ "sleutelwoorden)\n"
+#~ "  -l, --string-limit=NUMMER      string lengte limiet is NUMMER i.p.v. %"
+#~ "u\n"
+#~ "  -L, --language=NAAM            herken de gespecificeerde TAAL (C, C++, "
+#~ "PO)\n"
+#~ "  -m, --msgstr-prefix[=STRING]   gebruik STRING of \"\" als voorvoegsel "
+#~ "voor\n"
+#~ "                                 msgstr ingangen\n"
+#~ "  -M, --msgstr-suffix[=STRING]   gebruik STRING of \"\" als achtervoegsel "
+#~ "voor\n"
+#~ "                                 msgstr ingangen\n"
+#~ "      --no-location              geen '#: filename:line' regels\n"
+
+#~ msgid ""
+#~ "  -n, --add-location             generate '#: filename:line' lines "
+#~ "(default)\n"
+#~ "      --omit-header              don't write header with `msgid \"\"' "
+#~ "entry\n"
+#~ "  -o, --output=FILE              write output to specified file\n"
+#~ "  -p, --output-dir=DIR           output files will be placed in directory "
+#~ "DIR\n"
+#~ "  -s, --sort-output              generate sorted output and remove "
+#~ "duplicates\n"
+#~ "      --strict                   write out strict Uniforum conforming .po "
+#~ "file\n"
+#~ "  -T, --trigraphs                understand ANSI C trigraphs for input\n"
+#~ "  -V, --version                  output version information and exit\n"
+#~ "  -w, --width=NUMBER             set output page width\n"
+#~ "  -x, --exclude-file=FILE        entries from FILE are not extracted\n"
+#~ "\n"
+#~ "If INPUTFILE is -, standard input is read.\n"
+#~ msgstr ""
+#~ "  -n, --add-location             voeg '#: filename:line' regels toe "
+#~ "(standaard)\n"
+#~ "      --omit-header              don't write header with `msgid \"\"' "
+#~ "entry\n"
+#~ "  -o, --output=BESTAND           schrijf uitvoer naar gespecificeerd "
+#~ "bestand\n"
+#~ "  -p, --output-dir=DIR           plaats uitvoerbestanden in directory "
+#~ "DIR\n"
+#~ "  -s, --sort-output              sorteer uitvoer en verwijder dubbelen\n"
+#~ "      --strict                   uitvoer volgens strikte Uniforum stijl\n"
+#~ "  -T, --trigraphs                accepteer ANSI C trigraphs als invoer\n"
+#~ "  -V, --version                  toon hulp-tekst en bekindig programma\n"
+#~ "  -w, --width=NUMMER             stel pagina uitvoer breedte in\n"
+#~ "  -x, --exclude-file=BESTAND     ingangen van BESTAND worden niet "
+#~ "gekxtraheerd\n"
+#~ "\n"
+#~ "Als INVOERBESTAND - is, lees standaardinvoer.\n"
+
 #, fuzzy
 #~ msgid ""
 #~ "%s: warning: charset \"%s\" is not supported by iconv%s\n"
index 8fa108c0c0fcb70e1a838927ae988a481d2b230e..14ecf0a1ca7a3244cf279724db20472bcd5924bf 100644 (file)
Binary files a/po/nn.gmo and b/po/nn.gmo differ
index a7702889cb7f566ad00ddfa7117ec25e4d48e30b..f5ef8aea580d2b18c03a07137cacb31f64dcfe69 100644 (file)
--- a/po/nn.po
+++ b/po/nn.po
@@ -5,19 +5,66 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: GNU gettext 0.10.12\n"
-"POT-Creation-Date: 2001-04-18 22:38+0200\n"
+"POT-Creation-Date: 2001-11-30 14:18+0100\n"
 "PO-Revision-Date: 1996-03-21 08:46 EST\n"
 "Last-Translator: Karl Anders Øygard <karlo@ifi.uio.no>\n"
 "Language-Team: Norwegian-nynorsk <no@li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=ISO-8859-1\n"
-"Content-Transfer-Encoding: 8-bit\n"
+"Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
+#: lib/argmatch.c:141
+#, c-format
+msgid "invalid argument `%s' for `%s'"
+msgstr ""
+
+#: lib/argmatch.c:142
+#, c-format
+msgid "ambiguous argument `%s' for `%s'"
+msgstr ""
+
+#: lib/argmatch.c:162
+msgid "Valid arguments are:"
+msgstr ""
+
+#: lib/copy-file.c:60 src/file-list.c:57 src/po-lex.c:732 src/read-mo.c:170
+#: src/xgettext.c:729 src/xgettext.c:742 src/xgettext.c:752
+#, fuzzy, c-format
+msgid "error while opening \"%s\" for reading"
+msgstr "feil under skriving av fila \"%s\""
+
+#: lib/copy-file.c:67
+#, fuzzy, c-format
+msgid "cannot open backup file \"%s\" for writing"
+msgstr "feil under skriving av fila \"%s\""
+
+#: lib/copy-file.c:80
+#, fuzzy, c-format
+msgid "error reading \"%s\""
+msgstr "feil under skriving av fila \"%s\""
+
+#: lib/copy-file.c:86 lib/copy-file.c:90
+#, fuzzy, c-format
+msgid "error writing \"%s\""
+msgstr "feil under skriving av fila \"%s\""
+
+#: lib/copy-file.c:92
+#, fuzzy, c-format
+msgid "error after reading \"%s\""
+msgstr "feil under skriving av fila \"%s\""
+
 #: lib/error.c:115
 msgid "Unknown system error"
 msgstr ""
 
+#: lib/execute.c:170 lib/execute.c:205 lib/pipe-bidi.c:156 lib/pipe-bidi.c:191
+#: lib/pipe-in.c:167 lib/pipe-in.c:202 lib/pipe-out.c:167 lib/pipe-out.c:202
+#: lib/wait-process.c:136
+#, c-format
+msgid "%s subprocess failed"
+msgstr ""
+
 #: lib/getopt.c:691
 #, c-format
 msgid "%s: option `%s' is ambiguous\n"
@@ -38,19 +85,16 @@ msgstr "%s: flagg 
 msgid "%s: option `%s' requires an argument\n"
 msgstr "%s: flagg «%s» treng eit argument\n"
 
-#. --option
 #: lib/getopt.c:768
 #, fuzzy, c-format
 msgid "%s: unrecognized option `--%s'\n"
 msgstr "%s: ulovleg flagg -- %c\n"
 
-#. +option or -option
 #: lib/getopt.c:772
 #, fuzzy, c-format
 msgid "%s: unrecognized option `%c%s'\n"
 msgstr "%s: ulovleg flagg -- %c\n"
 
-#. 1003.2 specifies the format of this message.
 #: lib/getopt.c:798
 #, c-format
 msgid "%s: illegal option -- %c\n"
@@ -61,7 +105,6 @@ msgstr "%s: ulovleg flagg -- %c\n"
 msgid "%s: invalid option -- %c\n"
 msgstr "%s: ulovleg flagg -- %c\n"
 
-#. 1003.2 specifies the format of this message.
 #: lib/getopt.c:831 lib/getopt.c:961
 #, c-format
 msgid "%s: option requires an argument -- %c\n"
@@ -77,13 +120,118 @@ msgstr "%s: flagg 
 msgid "%s: option `-W %s' doesn't allow an argument\n"
 msgstr "%s: flagg «--%s» tek ikkje argument\n"
 
-#: lib/obstack.c:474 lib/xmalloc.c:86 src/po.c:308 src/po.c:381 src/po.c:389
-#: src/po.c:395 src/po.c:415 src/po.c:422 src/po.c:427 src/po.c:444
+#: lib/javacomp.c:465
+msgid "Java compiler not found, try installing gcj or set $JAVAC"
+msgstr ""
+
+#: lib/javaexec.c:404
+msgid "Java virtual machine not found, try installing gij or set $JAVA"
+msgstr ""
+
+#: lib/obstack.c:474 lib/xerror.c:75 lib/xmalloc.c:56
 msgid "memory exhausted"
 msgstr ""
 
-#: src/gettext.c:140 src/msgcmp.c:140 src/msgcomm.c:279 src/msgfmt.c:270
-#: src/msgmerge.c:255 src/msgunfmt.c:170 src/ngettext.c:120 src/xgettext.c:388
+#: lib/pipe-bidi.c:119 lib/pipe-bidi.c:121 lib/pipe-in.c:136
+#: lib/pipe-out.c:136
+#, fuzzy
+msgid "cannot create pipe"
+msgstr "kan ikkje opprette utfila \"%s\""
+
+#: lib/wait-process.c:117
+#, c-format
+msgid "%s subprocess"
+msgstr ""
+
+#: lib/wait-process.c:129
+#, c-format
+msgid "%s subprocess got fatal signal"
+msgstr ""
+
+#: src/format-c.c:578 src/format-python.c:463
+#, fuzzy
+msgid "number of format specifications in 'msgid' and 'msgstr' does not match"
+msgstr ""
+"antall format-spesifiseringar i «msgid» og «msgstr» stemmer ikkje overeins"
+
+#: src/format-c.c:588 src/format-python.c:473
+#, fuzzy, c-format
+msgid ""
+"format specifications in 'msgid' and 'msgstr' for argument %u are not the "
+"same"
+msgstr "format-spesifiseringane for argument %u er ulike"
+
+#: src/format-java.c:652 src/format-pascal.c:396
+#, fuzzy, c-format
+msgid "a format specification for argument {%u} doesn't exist in 'msgid'"
+msgstr "format-spesifiseringane for argument %u er ulike"
+
+#: src/format-java.c:662 src/format-pascal.c:406
+#, fuzzy, c-format
+msgid "a format specification for argument {%u} doesn't exist in 'msgstr'"
+msgstr "format-spesifiseringane for argument %u er ulike"
+
+#: src/format-java.c:676 src/format-pascal.c:420
+#, fuzzy, c-format
+msgid ""
+"format specifications in 'msgid' and 'msgstr' for argument {%u} are not the "
+"same"
+msgstr "format-spesifiseringane for argument %u er ulike"
+
+#: src/format-lisp.c:3371
+#, fuzzy
+msgid "format specifications in 'msgid' and 'msgstr' are not equivalent"
+msgstr ""
+"antall format-spesifiseringar i «msgid» og «msgstr» stemmer ikkje overeins"
+
+#: src/format-python.c:391
+#, fuzzy
+msgid ""
+"format specifications in 'msgid' expect a mapping, those in 'msgstr' expect "
+"a tuple"
+msgstr ""
+"antall format-spesifiseringar i «msgid» og «msgstr» stemmer ikkje overeins"
+
+#: src/format-python.c:399
+#, fuzzy
+msgid ""
+"format specifications in 'msgid' expect a tuple, those in 'msgstr' expect a "
+"mapping"
+msgstr ""
+"antall format-spesifiseringar i «msgid» og «msgstr» stemmer ikkje overeins"
+
+#: src/format-python.c:422
+#, fuzzy, c-format
+msgid "a format specification for argument '%s' doesn't exist in 'msgid'"
+msgstr "format-spesifiseringane for argument %u er ulike"
+
+#: src/format-python.c:432
+#, fuzzy, c-format
+msgid "a format specification for argument '%s' doesn't exist in 'msgstr'"
+msgstr "format-spesifiseringane for argument %u er ulike"
+
+#: src/format-python.c:446
+#, fuzzy, c-format
+msgid ""
+"format specifications in 'msgid' and 'msgstr' for argument '%s' are not the "
+"same"
+msgstr "format-spesifiseringane for argument %u er ulike"
+
+#: src/format-ycp.c:137
+#, fuzzy, c-format
+msgid "a format specification for argument %u doesn't exist in 'msgstr'"
+msgstr "format-spesifiseringane for argument %u er ulike"
+
+#: src/format-ycp.c:138
+#, fuzzy, c-format
+msgid "a format specification for argument %u doesn't exist in 'msgid'"
+msgstr "format-spesifiseringane for argument %u er ulike"
+
+#: src/gettext.c:146 src/hostname.c:168 src/msgattrib.c:264 src/msgcat.c:229
+#: src/msgcmp.c:134 src/msgcomm.c:232 src/msgconv.c:182 src/msgen.c:171
+#: src/msgexec.c:240 src/msgfmt.c:333 src/msggrep.c:276 src/msginit.c:247
+#: src/msgmerge.c:252 src/msgunfmt.c:182 src/msguniq.c:207 src/ngettext.c:126
+#: src/xgettext.c:352
 #, c-format, no-wrap
 msgid ""
 "Copyright (C) %s Free Software Foundation, Inc.\n"
@@ -91,31 +239,48 @@ msgid ""
 "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
 msgstr ""
 
-#: src/gettext.c:145 src/msgcmp.c:145 src/msgcomm.c:284 src/msgfmt.c:275
-#: src/msgmerge.c:260 src/msgunfmt.c:175 src/ngettext.c:125 src/xgettext.c:393
+#: src/gettext.c:151 src/hostname.c:173 src/msgattrib.c:269 src/msgcat.c:234
+#: src/msgcmp.c:139 src/msgcomm.c:237 src/msgconv.c:187 src/msgen.c:176
+#: src/msgexec.c:245 src/msgfmt.c:338 src/msggrep.c:281 src/msginit.c:252
+#: src/msgmerge.c:257 src/msgunfmt.c:187 src/msguniq.c:212 src/ngettext.c:131
+#: src/xgettext.c:357
 #, c-format
 msgid "Written by %s.\n"
 msgstr ""
 
-#: src/gettext.c:163 src/ngettext.c:137
+#: src/gettext.c:169 src/hostname.c:183 src/msginit.c:262 src/ngettext.c:143
 #, fuzzy
 msgid "too many arguments"
 msgstr "manglar argument"
 
-#: src/gettext.c:173 src/ngettext.c:149
+#: src/gettext.c:179 src/ngettext.c:155
 msgid "missing arguments"
 msgstr "manglar argument"
 
-#: src/gettext.c:245 src/msgcmp.c:177 src/msgcomm.c:377 src/msgfmt.c:387
-#: src/msgmerge.c:315 src/msgunfmt.c:205 src/ngettext.c:204 src/xgettext.c:515
+#: src/gettext.c:251 src/hostname.c:197 src/msgattrib.c:322 src/msgcat.c:290
+#: src/msgcmp.c:171 src/msgcomm.c:306 src/msgconv.c:241 src/msgen.c:227
+#: src/msgexec.c:338 src/msgfmt.c:479 src/msggrep.c:371 src/msginit.c:338
+#: src/msgmerge.c:367 src/msgunfmt.c:262 src/msguniq.c:269 src/ngettext.c:210
+#: src/xgettext.c:499
 #, fuzzy, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "Prøv «%s --help» for meir informasjon\n"
 
-#: src/gettext.c:250
-#, fuzzy, c-format, no-wrap
+#: src/gettext.c:256
+#, c-format, no-wrap
+msgid ""
+"Usage: %s [OPTION] [[TEXTDOMAIN] MSGID]\n"
+"or:    %s [OPTION] -s [MSGID]...\n"
+msgstr ""
+
+#: src/gettext.c:262
+#, no-wrap
+msgid "Display native language translation of a textual message.\n"
+msgstr ""
+
+#: src/gettext.c:266
+#, fuzzy, no-wrap
 msgid ""
-"Usage: %s [OPTION] [[[TEXTDOMAIN] MSGID] | [-s [MSGID]...]]\n"
 "  -d, --domain=TEXTDOMAIN   retrieve translated messages from TEXTDOMAIN\n"
 "  -e                        enable expansion of some escape sequences\n"
 "  -E                        (ignored for compatibility)\n"
@@ -135,10 +300,9 @@ msgstr ""
 "  [TEXTDOMAIN] MSGID        hent oversett melding som stemmer overeins med\n"
 "                            MSGID frå TEXTDOMAIN\n"
 
-#: src/gettext.c:262
-#, c-format, no-wrap
+#: src/gettext.c:277
+#, fuzzy, c-format, no-wrap
 msgid ""
-"\n"
 "If the TEXTDOMAIN parameter is not given, the domain is determined from the\n"
 "environment variable TEXTDOMAIN.  If the message catalog is not found in the\n"
 "regular directory, another location can be specified with the environment\n"
@@ -158,35 +322,265 @@ msgstr ""
 "staden vert meldingar som er funne i den valgte katalogen oversatt.\n"
 "Standard søkekatalog er: %s\n"
 
-#: src/gettext.c:272 src/msgcmp.c:196 src/msgcomm.c:424 src/msgfmt.c:414
-#: src/msgmerge.c:350 src/msgunfmt.c:229 src/ngettext.c:228 src/xgettext.c:565
-msgid "Report bugs to <bug-gnu-utils@gnu.org>.\n"
+#: src/gettext.c:288 src/hostname.c:227 src/msgattrib.c:402 src/msgcat.c:371
+#: src/msgcmp.c:216 src/msgcomm.c:384 src/msgconv.c:305 src/msgen.c:287
+#: src/msgexec.c:410 src/msgfmt.c:563 src/msggrep.c:457 src/msginit.c:389
+#: src/msgmerge.c:465 src/msgunfmt.c:331 src/msguniq.c:343 src/ngettext.c:244
+#: src/xgettext.c:591
+msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
+msgstr ""
+
+#: src/hostname.c:202 src/msginit.c:343
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION]\n"
+msgstr ""
+
+#: src/hostname.c:207
+#, no-wrap
+msgid "Print the machine's hostname.\n"
+msgstr ""
+
+#: src/hostname.c:212
+#, no-wrap
+msgid ""
+"Output format:\n"
+"  -s, --short           short host name\n"
+"  -f, --fqdn, --long    long host name, includes fully qualified domain name,\n"
+"                          and aliases\n"
+"  -i, --ip-address      addresses for the hostname\n"
+msgstr ""
+
+#: src/hostname.c:221 src/msgattrib.c:396 src/msgcmp.c:210 src/msgconv.c:299
+#: src/msgen.c:281 src/msgexec.c:404 src/msggrep.c:451 src/msginit.c:383
+#, no-wrap
+msgid ""
+"Informative output:\n"
+"  -h, --help                  display this help and exit\n"
+"  -V, --version               output version information and exit\n"
+msgstr ""
+
+#: src/hostname.c:242 src/hostname.c:249
+msgid "could not get host name"
+msgstr ""
+
+#: src/msgattrib.c:284 src/msgconv.c:202 src/msgexec.c:190 src/msggrep.c:296
+#: src/msginit.c:205 src/msguniq.c:227
+msgid "at most one input file allowed"
+msgstr ""
+
+#: src/msgattrib.c:290 src/msgattrib.c:294 src/msgcat.c:244 src/msgcat.c:248
+#: src/msgcomm.c:247 src/msgcomm.c:251 src/msgconv.c:208 src/msgconv.c:212
+#: src/msgen.c:198 src/msgen.c:202 src/msgexec.c:260 src/msgexec.c:264
+#: src/msgfmt.c:358 src/msggrep.c:302 src/msggrep.c:306 src/msgmerge.c:282
+#: src/msgmerge.c:303 src/msgmerge.c:307 src/msguniq.c:233 src/msguniq.c:237
+#: src/xgettext.c:367 src/xgettext.c:371
+#, c-format
+msgid "%s and %s are mutually exclusive"
+msgstr "%s og %s utelukker kvarandre"
+
+#: src/msgattrib.c:327 src/msgconv.c:246 src/msggrep.c:376 src/msguniq.c:274
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] [INPUTFILE]\n"
+msgstr ""
+
+#: src/msgattrib.c:332
+#, no-wrap
+msgid ""
+"Filters the messages of a translation catalog according to their attributes,\n"
+"and manipulates the attributes.\n"
+msgstr ""
+
+#: src/msgattrib.c:338 src/msgcat.c:313 src/msgcmp.c:191 src/msgcomm.c:328
+#: src/msgconv.c:256 src/msgen.c:245 src/msgexec.c:353 src/msgfmt.c:494
+#: src/msggrep.c:387 src/msginit.c:354 src/msgmerge.c:390 src/msgunfmt.c:277
+#: src/msguniq.c:291
+#, no-wrap
+msgid "Mandatory arguments to long options are mandatory for short options too.\n"
+msgstr ""
+
+#: src/msgattrib.c:343 src/msgconv.c:261 src/msggrep.c:392 src/msguniq.c:296
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  INPUTFILE                   input PO file\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"If no input file is given or if it is -, standard input is read.\n"
+msgstr ""
+
+#: src/msgattrib.c:351 src/msgconv.c:269 src/msgen.c:258 src/msgexec.c:366
+#: src/msggrep.c:400 src/msgmerge.c:412
+#, no-wrap
+msgid ""
+"Output file location:\n"
+"  -o, --output-file=FILE      write output to specified file\n"
+"The results are written to standard output if no output file is specified\n"
+"or if it is -.\n"
+msgstr ""
+
+#: src/msgattrib.c:359
+#, no-wrap
+msgid ""
+"Message selection:\n"
+"      --translated            keep translated, remove untranslated messages\n"
+"      --untranslated          keep untranslated, remove translated messages\n"
+"      --no-fuzzy              remove 'fuzzy' marked messages\n"
+"      --only-fuzzy            keep 'fuzzy' marked messages\n"
+"      --no-obsolete           remove obsolete #~ messages\n"
+"      --only-obsolete         keep obsolete #~ messages\n"
+msgstr ""
+
+#: src/msgattrib.c:370
+#, no-wrap
+msgid ""
+"Attribute manipulation:\n"
+"      --set-fuzzy             set all messages 'fuzzy'\n"
+"      --clear-fuzzy           set all messages non-'fuzzy'\n"
+"      --set-obsolete          set all messages obsolete\n"
+"      --clear-obsolete        set all messages non-obsolete\n"
+"      --fuzzy                 synonym for --only-fuzzy --clear-fuzzy\n"
+"      --obsolete              synonym for --only-obsolete --clear-obsolete\n"
+msgstr ""
+
+#: src/msgattrib.c:381
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
+"  -e, --no-escape             do not use C escapes in output (default)\n"
+"  -E, --escape                use C escapes in output, no extended chars\n"
+"      --force-po              write PO file even if empty\n"
+"  -i, --indent                write the .po file using indented style\n"
+"      --no-location           do not write '#: filename:line' lines\n"
+"  -n, --add-location          generate '#: filename:line' lines (default)\n"
+"      --strict                write out strict Uniforum conforming .po file\n"
+"  -w, --width=NUMBER          set output page width\n"
+"  -s, --sort-output           generate sorted output\n"
+"  -F, --sort-by-file          sort output by file location\n"
+msgstr ""
+"Bruk: %s [FLAGG] INNFIL ...\n"
+"Obligatoriske argumenter til lange flagg er obligatoriske også til korte flagg.\n"
+"  -e, --no-escape          ikkje bruk C-escapekoder i utdata (forvalgt)\n"
+"  -E, --escape             bruk C-escapekoder i utdata, ingen utvida teikn\n"
+"  -h, --help               vis denne hjelpeteksta og avslutt\n"
+"  -i, --indent             indentert utdata\n"
+"  -o, --output-file=FIL    resultat vert skrive til FIL\n"
+"      --strict             lag strengt Uniforum-konformt utdata\n"
+"  -V, --version            vis programversjon og avslutt\n"
+
+#: src/msgcat.c:254 src/msgcomm.c:277
+#, c-format
+msgid "impossible selection criteria specified (%d < n < %d)"
+msgstr ""
+
+#: src/msgcat.c:295 src/msgcomm.c:311 src/xgettext.c:504
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] [INPUTFILE]...\n"
+msgstr ""
+
+#: src/msgcat.c:300
+#, no-wrap
+msgid ""
+"Concatenates and merges the specified PO files.\n"
+"Find messages which are common to two or more of the specified PO files.\n"
+"By using the --more-than option, greater commonality may be requested\n"
+"before messages are printed.  Conversely, the --less-than option may be\n"
+"used to specify less commonality before messages are printed (i.e.\n"
+"--less-than=2 will only print the unique messages).  Translations,\n"
+"comments and extract comments will be cumulated, except that if --use-first\n"
+"is specified, they will be taken from the first PO file to define them.\n"
+"File positions from all PO files will be cumulated.\n"
+msgstr ""
+
+#: src/msgcat.c:318 src/msgcomm.c:333 src/xgettext.c:520
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  INPUTFILE ...                  input files\n"
+"  -f, --files-from=FILE          get list of input files from FILE\n"
+"  -D, --directory=DIRECTORY      add DIRECTORY to list for input files search\n"
+"If input file is -, standard input is read.\n"
 msgstr ""
 
-#: src/msgcmp.c:156 src/msgmerge.c:271
+#: src/msgcat.c:327 src/msgcomm.c:342 src/msguniq.c:304
+#, no-wrap
+msgid ""
+"Output file location:\n"
+"  -o, --output-file=FILE         write output to specified file\n"
+"The results are written to standard output if no output file is specified\n"
+"or if it is -.\n"
+msgstr ""
+
+#: src/msgcat.c:335
+#, no-wrap
+msgid ""
+"Message selection:\n"
+"  -<, --less-than=NUMBER         print messages with less than this many\n"
+"                                 definitions, defaults to infinite if not\n"
+"                                 set\n"
+"  ->, --more-than=NUMBER         print messages with more than this many\n"
+"                                 definitions, defaults to 0 if not set\n"
+"  -u, --unique                   shorthand for --less-than=2, requests\n"
+"                                 that only unique messages be printed\n"
+msgstr ""
+
+#: src/msgcat.c:347 src/msguniq.c:319
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
+"  -t, --to-code=NAME             encoding for output\n"
+"      --use-first                use first available translation for each\n"
+"                                 message, don't merge several translations\n"
+"  -e, --no-escape                do not use C escapes in output (default)\n"
+"  -E, --escape                   use C escapes in output, no extended chars\n"
+"      --force-po                 write PO file even if empty\n"
+"  -i, --indent                   write the .po file using indented style\n"
+"      --no-location              do not write '#: filename:line' lines\n"
+"  -n, --add-location             generate '#: filename:line' lines (default)\n"
+"      --strict                   write out strict Uniforum conforming .po file\n"
+"  -w, --width=NUMBER             set output page width\n"
+"  -s, --sort-output              generate sorted output\n"
+"  -F, --sort-by-file             sort output by file location\n"
+msgstr ""
+"Bruk: %s [FLAGG] INNFIL ...\n"
+"Obligatoriske argumenter til lange flagg er obligatoriske også til korte flagg.\n"
+"  -e, --no-escape          ikkje bruk C-escapekoder i utdata (forvalgt)\n"
+"  -E, --escape             bruk C-escapekoder i utdata, ingen utvida teikn\n"
+"  -h, --help               vis denne hjelpeteksta og avslutt\n"
+"  -i, --indent             indentert utdata\n"
+"  -o, --output-file=FIL    resultat vert skrive til FIL\n"
+"      --strict             lag strengt Uniforum-konformt utdata\n"
+"  -V, --version            vis programversjon og avslutt\n"
+
+#: src/msgcat.c:365 src/msgcomm.c:378 src/msguniq.c:337 src/xgettext.c:585
+#, no-wrap
+msgid ""
+"Informative output:\n"
+"  -h, --help                     display this help and exit\n"
+"  -V, --version                  output version information and exit\n"
+msgstr ""
+
+#: src/msgcmp.c:150 src/msgmerge.c:268
 #, fuzzy
 msgid "no input files given"
 msgstr "inga innfil spesifisert"
 
-#: src/msgcmp.c:161 src/msgmerge.c:276
+#: src/msgcmp.c:155 src/msgmerge.c:273
 msgid "exactly 2 input files required"
 msgstr "treng nøyaktig to innfiler"
 
-#: src/msgcmp.c:182
-#, fuzzy, c-format, no-wrap
+#: src/msgcmp.c:176 src/msgmerge.c:372
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] def.po ref.pot\n"
+msgstr ""
+
+#: src/msgcmp.c:181
+#, fuzzy, no-wrap
 msgid ""
-"Usage: %s [OPTION] def.po ref.po\n"
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
-"  -h, --help                  display this help and exit\n"
-"  -V, --version               output version information and exit\n"
-"\n"
 "Compare two Uniforum style .po files to check that both contain the same\n"
 "set of msgid strings.  The def.po file is an existing PO file with the\n"
-"old translations.  The ref.po file is the last created PO file\n"
-"(generally by xgettext).  This is useful for checking that you have\n"
-"translated each and every message in your program.  Where an exact match\n"
-"cannot be found, fuzzy matching is used to produce better diagnostics.\n"
+"translations.  The ref.pot file is the last created PO file, or a PO Template\n"
+"file (generally created by xgettext).  This is useful for checking that\n"
+"you have translated each and every message in your program.  Where an exact\n"
+"match cannot be found, fuzzy matching is used to produce better diagnostics.\n"
 msgstr ""
 "Bruk: %s [FLAGG] def.po ref.po\n"
 "Obligatoriske argumenter til lange flagg er obligatoriske også til korte flagg.\n"
@@ -200,363 +594,868 @@ msgstr ""
 "oversett alle meldingar i programmet.  Der samsvar ikkje kan finnast, vert\n"
 "«fuzzy» samanlikning brukt for å få betre diagnostikk.\n"
 
-#: src/msgcmp.c:255 src/msgmerge.c:741
+#: src/msgcmp.c:196
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  def.po                      translations\n"
+"  ref.pot                     references to the sources\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+msgstr ""
+
+#: src/msgcmp.c:204 src/msgmerge.c:436
+#, no-wrap
+msgid ""
+"Operation modifiers:\n"
+"  -m, --multi-domain          apply ref.pot to each of the domains in def.po\n"
+msgstr ""
+
+#: src/msgcmp.c:253 src/msgmerge.c:543
 msgid "this message is used but not defined..."
 msgstr "denne meldinga er brukt, men ikkje definert..."
 
-#: src/msgcmp.c:257 src/msgmerge.c:743
+#: src/msgcmp.c:255 src/msgmerge.c:545
 msgid "...but this definition is similar"
 msgstr "... men denne definisjonen liknar"
 
-#: src/msgcmp.c:263 src/msgmerge.c:770
+#: src/msgcmp.c:260 src/msgmerge.c:572
 #, c-format
 msgid "this message is used but not defined in %s"
 msgstr "denne meldinga er brukt, men ikkje definert i %s"
 
-#: src/msgcmp.c:277
+#: src/msgcmp.c:332
 msgid "warning: this message is not used"
 msgstr "advarsel: denne meldinga er ikkje brukt"
 
-#: src/msgcmp.c:283 src/po-lex.c:103
+#: src/msgcmp.c:339 src/po-lex.c:705
 #, fuzzy, c-format
 msgid "found %d fatal error"
 msgid_plural "found %d fatal errors"
 msgstr[0] "fann %d fatale feil"
 
-#: src/msgcmp.c:356 src/msgfmt.c:667 src/msgmerge.c:512 src/xgettext.c:1157
+#: src/msgcmp.c:420 src/msgfmt.c:1323 src/read-po.c:202 src/x-po.c:163
 msgid "duplicate message definition"
 msgstr ""
 
-#: src/msgcmp.c:357 src/msgfmt.c:669 src/msgmerge.c:513 src/xgettext.c:1158
+#: src/msgcmp.c:421 src/msgfmt.c:1324 src/read-po.c:203 src/x-po.c:164
 #, fuzzy
 msgid "...this is the location of the first definition"
 msgstr "den første definisjonen finst her"
 
-#: src/msgcmp.c:397 src/msgmerge.c:561
-#, c-format
-msgid "this message has no definition in the \"%s\" domain"
-msgstr "denne meldinga har ingen definisjon i \"%s\"-domenet"
+#: src/msgcomm.c:266
+msgid "at least two files must be specified"
+msgstr ""
 
-#. We are about to construct the absolute path to the
-#. directory for the output files but asprintf failed.
-#: src/msgcomm.c:235 src/xgettext.c:327 src/xgettext.c:1353
-msgid "while preparing output"
-msgstr "under klargjering av utdata"
-
-#: src/msgcomm.c:267 src/msgcomm.c:271 src/xgettext.c:365 src/xgettext.c:369
-#, c-format
-msgid "%s and %s are mutually exclusive"
-msgstr "%s og %s utelukker kvarandre"
-
-#: src/msgcomm.c:323
-msgid "at least two files must be specified"
+#: src/msgcomm.c:316
+#, no-wrap
+msgid ""
+"Find messages which are common to two or more of the specified PO files.\n"
+"By using the --more-than option, greater commonality may be requested\n"
+"before messages are printed.  Conversely, the --less-than option may be\n"
+"used to specify less commonality before messages are printed (i.e.\n"
+"--less-than=2 will only print the unique messages).  Translations,\n"
+"comments and extract comments will be preserved, but only from the first\n"
+"PO file to define them.  File positions from all PO files will be\n"
+"cumulated.\n"
 msgstr ""
 
-#: src/msgcomm.c:334
-#, c-format
-msgid "impossible selection criteria specified (%d < n < %d)"
+#: src/msgcomm.c:350
+#, no-wrap
+msgid ""
+"Message selection:\n"
+"  -<, --less-than=NUMBER         print messages with less than this many\n"
+"                                 definitions, defaults to infinite if not\n"
+"                                 set\n"
+"  ->, --more-than=NUMBER         print messages with more than this many\n"
+"                                 definitions, defaults to 1 if not set\n"
+"  -u, --unique                   shorthand for --less-than=2, requests\n"
+"                                 that only unique messages be printed\n"
 msgstr ""
 
-#: src/msgcomm.c:382
-#, fuzzy, c-format, no-wrap
+#: src/msgcomm.c:362
+#, fuzzy, no-wrap
 msgid ""
-"Usage: %s [OPTION] INPUTFILE ...\n"
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"  -d, --default-domain=NAME      use NAME.po for output (instead of messages.po)\n"
-"  -D, --directory=DIRECTORY      add DIRECTORY to list for input files search\n"
+"Output details:\n"
 "  -e, --no-escape                do not use C escapes in output (default)\n"
 "  -E, --escape                   use C escapes in output, no extended chars\n"
-"  -f, --files-from=FILE          get list of input files from FILE\n"
 "      --force-po                 write PO file even if empty\n"
+"  -i, --indent                   write the .po file using indented style\n"
+"      --no-location              do not write '#: filename:line' lines\n"
+"  -n, --add-location             generate '#: filename:line' lines (default)\n"
+"      --strict                   write out strict Uniforum conforming .po file\n"
+"  -w, --width=NUMBER             set output page width\n"
+"  -s, --sort-output              generate sorted output\n"
 "  -F, --sort-by-file             sort output by file location\n"
-"  -h, --help                     display this help and exit\n"
+"      --omit-header              don't write header with `msgid \"\"' entry\n"
+msgstr ""
+"Bruk: %s [FLAGG] INNFIL ...\n"
+"Obligatoriske argumenter til lange flagg er obligatoriske også til korte flagg.\n"
+"  -e, --no-escape          ikkje bruk C-escapekoder i utdata (forvalgt)\n"
+"  -E, --escape             bruk C-escapekoder i utdata, ingen utvida teikn\n"
+"  -h, --help               vis denne hjelpeteksta og avslutt\n"
+"  -i, --indent             indentert utdata\n"
+"  -o, --output-file=FIL    resultat vert skrive til FIL\n"
+"      --strict             lag strengt Uniforum-konformt utdata\n"
+"  -V, --version            vis programversjon og avslutt\n"
+
+#: src/msgconv.c:251
+#, no-wrap
+msgid "Converts a translation catalog to a different character encoding.\n"
+msgstr ""
+
+#: src/msgconv.c:277
+#, no-wrap
+msgid ""
+"Conversion target:\n"
+"  -t, --to-code=NAME          encoding for output\n"
+"The default encoding is the current locale's encoding.\n"
+msgstr ""
+
+#: src/msgconv.c:284 src/msgen.c:266 src/msgmerge.c:442
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
+"  -e, --no-escape             do not use C escapes in output (default)\n"
+"  -E, --escape                use C escapes in output, no extended chars\n"
+"      --force-po              write PO file even if empty\n"
+"  -i, --indent                indented output style\n"
+"      --no-location           suppress '#: filename:line' lines\n"
+"      --add-location          preserve '#: filename:line' lines (default)\n"
+"      --strict                strict Uniforum output style\n"
+"  -w, --width=NUMBER          set output page width\n"
+"  -s, --sort-output           generate sorted output\n"
+"  -F, --sort-by-file          sort output by file location\n"
 msgstr ""
 "Bruk: %s [FLAGG] INNFIL ...\n"
 "Obligatoriske argumenter til lange flagg er obligatoriske også til korte flagg.\n"
-"  -a, --extract-all             ekstrahér alle strengar\n"
-"  -c, --add-comments[=TAG]      lagre kommentarblokker med TAG (eller\n"
-"                                kommentarar i linjer som kjem foran\n"
-"                                nøkkelord) i utfila\n"
-"  -C, --c++                     kjenn igjen C++-kommentarar\n"
-"  -d, --default-domain=NAVN     lagre utdata i NAVN.po (i staden for\n"
-"                                messages.po)\n"
-"  -D, --directory=FILKATALOG    skift til FILKATALOG før prosessering\n"
-"  -e, --no-escape               ikkje bruk C-escapekoder i utdata (forvalgt)\n"
-"  -E, --escape                  bruk C-escapekoder i utdata, ingen utvida teikn\n"
-"  -f, --files-from=FIL          hent liste av innfiler frå FIL\n"
-"  -F, --sort-by-file            sorter utdata etter fil-lokasjon\n"
-
-#: src/msgcomm.c:394
+"  -e, --no-escape          ikkje bruk C-escapekoder i utdata (forvalgt)\n"
+"  -E, --escape             bruk C-escapekoder i utdata, ingen utvida teikn\n"
+"  -h, --help               vis denne hjelpeteksta og avslutt\n"
+"  -i, --indent             indentert utdata\n"
+"  -o, --output-file=FIL    resultat vert skrive til FIL\n"
+"      --strict             lag strengt Uniforum-konformt utdata\n"
+"  -V, --version            vis programversjon og avslutt\n"
+
+#: src/msgen.c:187 src/msgfmt.c:349 src/xgettext.c:388
+msgid "no input file given"
+msgstr "inga innfil spesifisert"
+
+#: src/msgen.c:192
 #, fuzzy
+msgid "exactly one input file required"
+msgstr "treng nøyaktig to innfiler"
+
+#: src/msgen.c:232
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] INPUTFILE\n"
+msgstr ""
+
+#: src/msgen.c:237
+#, no-wrap
 msgid ""
-"  -i, --indent                   write the .po file using indented style\n"
-"      --no-location              do not write '#: filename:line' lines\n"
-"  -n, --add-location             generate '#: filename:line' lines "
-"(default)\n"
-"      --omit-header              don't write header with `msgid \"\"' entry\n"
-"  -o, --output=FILE              write output to specified file\n"
-"  -p, --output-dir=DIR           output files will be placed in directory "
-"DIR\n"
-"  -s, --sort-output              generate sorted output and remove "
-"duplicates\n"
-"      --strict                   write out strict Uniforum conforming .po "
-"file\n"
-"  -T, --trigraphs                understand ANSI C trigraphs for input\n"
-"  -u, --unique                   shorthand for --less-than=2, requests\n"
-"                                 that only unique messages be printed\n"
+"Creates an English translation catalog.  The input file is the last\n"
+"created English PO file, or a PO Template file (generally created by\n"
+"xgettext).  Untranslated entries are assigned a translation that is\n"
+"identical to the msgid, and are marked fuzzy.\n"
 msgstr ""
-"  -n, --add-location            lag «#: filenavn:linje»-linjer (forvalgt)\n"
-"      --omit-header             ikkje lag startseksjon med «msgid \"\"»\n"
-"  -p, --output-dir=KAT          plassér utfiler i filkatalogen KAT\n"
-"  -s, --sort-output             sortér utdata og ta bort duplikat\n"
-"      --strict                  lag strengt Uniforum-konform .po-fil\n"
-"  -T, --trigraphs               forstå ANSI C trigraphs i inndata\n"
-"  -V, --version                 vis programversjon og avslutt\n"
-"  -x, --exclude-file=FIL        innslag frå FIL vert ikkje ekstrahert\n"
-"\n"
-"Dersom INNFIL er -, vil det verte lese frå standard inn.\n"
 
-#: src/msgcomm.c:407
+#: src/msgen.c:250
+#, no-wrap
 msgid ""
-"  -V, --version                  output version information and exit\n"
-"  -w, --width=NUMBER             set output page width\n"
-"  -<, --less-than=NUMBER         print messages with less than this many\n"
-"                                 definitions, defaults to infinite if not\n"
-"                                 set\n"
-"  ->, --more-than=NUMBER         print messages with more than this many\n"
-"                                 definitions, defaults to 1 if not set\n"
-"\n"
-"Find messages which are common to two or more of the specified PO files.\n"
-"By using the --more-than option, greater commonality may be requested\n"
-"before messages are printed.  Conversely, the --less-than option may be\n"
-"used to specify less commonality before messages are printed (i.e.\n"
-"--less-than=2 will only print the unique messages).  Translations,\n"
-"comments and extract comments will be preserved, but only from the first\n"
-"PO file to define them.  File positions from all PO files will be\n"
-"preserved.\n"
+"Input file location:\n"
+"  INPUTFILE                   input PO or POT file\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"If input file is -, standard input is read.\n"
 msgstr ""
 
-#: src/msgcomm.c:458 src/msgunfmt.c:361 src/po-lex.c:86 src/xget-lex.c:157
-#: src/xget-lex.c:170 src/xget-lex.c:180 src/xgettext.c:599
-#, fuzzy, c-format
-msgid "error while opening \"%s\" for reading"
-msgstr "feil under skriving av fila \"%s\""
+#: src/msgexec.c:255
+#, fuzzy
+msgid "missing filter name"
+msgstr "manglar argument"
 
-#: src/msgcomm.c:539 src/xgettext.c:641 src/xgettext.c:1059
-msgid "this file may not contain domain directives"
-msgstr "denne fila kan ikkje innehalde domene-nøkkelord"
+#: src/msgexec.c:279
+msgid "at least one sed script must be specified"
+msgstr ""
 
-#: src/msgfmt.c:286 src/xgettext.c:404
-msgid "no input file given"
-msgstr "inga innfil spesifisert"
+#: src/msgexec.c:343
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] FILTER [FILTER-OPTION]\n"
+msgstr ""
 
-#: src/msgfmt.c:337
-#, fuzzy, c-format
-msgid "error while opening \"%s\" for writing"
-msgstr "feil under skriving av fila \"%s\""
+#: src/msgexec.c:348
+#, no-wrap
+msgid "Applies a filter to all translations of a translation catalog.\n"
+msgstr ""
 
-#: src/msgfmt.c:360
+#: src/msgexec.c:358
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  -i, --input=INPUTFILE       input PO file\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"If no input file is given or if it is -, standard input is read.\n"
+msgstr ""
+
+#: src/msgexec.c:374
+#, no-wrap
+msgid ""
+"The FILTER can be any program that reads a translation from standard input\n"
+"and writes a modified translation to standard output.\n"
+msgstr ""
+
+#: src/msgexec.c:380
+#, no-wrap
+msgid ""
+"Useful FILTER-OPTIONs when the FILTER is 'sed':\n"
+"  -e, --expression=SCRIPT     add SCRIPT to the commands to be executed\n"
+"  -f, --file=SCRIPTFILE       add the contents of SCRIPTFILE to the commands\n"
+"                                to be executed\n"
+"  -n, --quiet, --silent       suppress automatic printing of pattern space\n"
+msgstr ""
+
+#: src/msgexec.c:389
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
+"      --no-escape             do not use C escapes in output (default)\n"
+"  -E, --escape                use C escapes in output, no extended chars\n"
+"      --force-po              write PO file even if empty\n"
+"      --indent                indented output style\n"
+"      --no-location           suppress '#: filename:line' lines\n"
+"      --add-location          preserve '#: filename:line' lines (default)\n"
+"      --strict                strict Uniforum output style\n"
+"  -w, --width=NUMBER          set output page width\n"
+"  -s, --sort-output           generate sorted output\n"
+"  -F, --sort-by-file          sort output by file location\n"
+msgstr ""
+"Bruk: %s [FLAGG] INNFIL ...\n"
+"Obligatoriske argumenter til lange flagg er obligatoriske også til korte flagg.\n"
+"  -e, --no-escape          ikkje bruk C-escapekoder i utdata (forvalgt)\n"
+"  -E, --escape             bruk C-escapekoder i utdata, ingen utvida teikn\n"
+"  -h, --help               vis denne hjelpeteksta og avslutt\n"
+"  -i, --indent             indentert utdata\n"
+"  -o, --output-file=FIL    resultat vert skrive til FIL\n"
+"      --strict             lag strengt Uniforum-konformt utdata\n"
+"  -V, --version            vis programversjon og avslutt\n"
+
+#: src/msgexec.c:546
+#, c-format
+msgid "cannot set up nonblocking I/O to %s subprocess"
+msgstr ""
+
+#: src/msgexec.c:574
+#, c-format
+msgid "communication with %s subprocess failed"
+msgstr ""
+
+#: src/msgexec.c:594
+#, c-format
+msgid "write to %s subprocess failed"
+msgstr ""
+
+#: src/msgexec.c:625
+#, c-format
+msgid "read from %s subprocess failed"
+msgstr ""
+
+#: src/msgexec.c:641
+#, c-format
+msgid "%s subprocess terminated with exit code %d"
+msgstr ""
+
+#: src/msgfmt.c:303
+#, c-format
+msgid "the argument to %s should be a single punctuation character"
+msgstr ""
+
+#: src/msgfmt.c:364
+#, c-format
+msgid "%s requires a \"-d directory\" specification"
+msgstr ""
+
+#: src/msgfmt.c:373 src/msgfmt.c:379 src/msgfmt.c:385 src/msgmerge.c:290
+#: src/msgmerge.c:296 src/msgunfmt.c:209 src/msgunfmt.c:215
+#, c-format
+msgid "%s is only valid with %s"
+msgstr ""
+
+#: src/msgfmt.c:452
 #, c-format
 msgid "%d translated message"
 msgid_plural "%d translated messages"
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/msgfmt.c:365
+#: src/msgfmt.c:457
 #, c-format
 msgid ", %d fuzzy translation"
 msgid_plural ", %d fuzzy translations"
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/msgfmt.c:370
+#: src/msgfmt.c:462
 #, c-format
 msgid ", %d untranslated message"
 msgid_plural ", %d untranslated messages"
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/msgfmt.c:392
-#, fuzzy, c-format, no-wrap
+#: src/msgfmt.c:484
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] filename.po ...\n"
+msgstr ""
+
+#: src/msgfmt.c:489
+#, no-wrap
+msgid "Generate binary message catalog from textual translation description.\n"
+msgstr ""
+
+#: src/msgfmt.c:499
+#, no-wrap
 msgid ""
-"Usage: %s [OPTION] filename.po ...\n"
-"Generate binary message catalog from textual translation description.\n"
-"\n"
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"  -a, --alignment=NUMBER      align strings to NUMBER bytes (default: %d)\n"
-"  -c, --check                 perform language dependent checks on strings\n"
+"Input file location:\n"
+"  filename.po ...             input files\n"
 "  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"If input file is -, standard input is read.\n"
+msgstr ""
+
+#: src/msgfmt.c:507
+#, no-wrap
+msgid ""
+"Operation mode:\n"
+"  -j, --java                  Java mode: generate a Java ResourceBundle class\n"
+"      --java2                 like --java, and assume Java2 (JDK 1.2 or higher)\n"
+msgstr ""
+
+#: src/msgfmt.c:514
+#, no-wrap
+msgid ""
+"Output file location:\n"
+"  -o, --output-file=FILE      write output to specified file\n"
+"      --strict                enable strict Uniforum mode\n"
+"If output file is -, output is written to standard output.\n"
+msgstr ""
+
+#: src/msgfmt.c:522
+#, no-wrap
+msgid ""
+"Output file location in Java mode:\n"
+"  -r, --resource=RESOURCE     resource name\n"
+"  -l, --locale=LOCALE         locale name, either language or language_COUNTRY\n"
+"  -d DIRECTORY                base directory of classes directory hierarchy\n"
+"The class name is determined by appending the locale name to the resource name,\n"
+"separated with an underscore.  The -d option is mandatory.  The class is\n"
+"written under the specified directory.\n"
+msgstr ""
+
+#: src/msgfmt.c:533
+#, no-wrap
+msgid ""
+"Input file interpretation:\n"
+"  -c, --check                 perform all the checks implied by\n"
+"                                --check-format, --check-header, --check-domain\n"
+"      --check-format          check language dependent format strings\n"
+"      --check-header          verify presence and contents of the header entry\n"
+"      --check-domain          check for conflicts between domain directives\n"
+"                                and the --output-file option\n"
+"  -C, --check-compatibility   check that GNU msgfmt behaves like X/Open msgfmt\n"
+"      --check-accelerators[=CHAR]  check presence of keyboard accelerators for\n"
+"                                menu items\n"
 "  -f, --use-fuzzy             use fuzzy entries in output\n"
-"  -h, --help                  display this help and exit\n"
+msgstr ""
+
+#: src/msgfmt.c:548
+#, c-format, no-wrap
+msgid ""
+"Output details:\n"
+"  -a, --alignment=NUMBER      align strings to NUMBER bytes (default: %d)\n"
 "      --no-hash               binary file will not include the hash table\n"
-"  -o, --output-file=FILE      specify output file name as FILE\n"
-"      --statistics            print statistics about translations\n"
-"      --strict                enable strict Uniforum mode\n"
-"  -v, --verbose               list input file anomalies\n"
+msgstr ""
+
+#: src/msgfmt.c:555
+#, no-wrap
+msgid ""
+"Informative output:\n"
+"  -h, --help                  display this help and exit\n"
 "  -V, --version               output version information and exit\n"
+"      --statistics            print statistics about translations\n"
+"  -v, --verbose               increase verbosity level\n"
+msgstr ""
+
+#: src/msgfmt.c:707
+msgid "plural expression can produce negative values"
+msgstr ""
+
+#: src/msgfmt.c:720
+#, c-format
+msgid "nplurals = %lu but plural expression can produce values as large as %lu"
+msgstr ""
+
+#: src/msgfmt.c:746
+msgid "plural expression can produce division by zero"
+msgstr ""
+
+#: src/msgfmt.c:751
+msgid "plural expression can produce integer overflow"
+msgstr ""
+
+#: src/msgfmt.c:756
+msgid ""
+"plural expression can produce arithmetic exceptions, possibly division by "
+"zero"
+msgstr ""
+
+#: src/msgfmt.c:830 src/msgfmt.c:841
+msgid "message catalog has plural form translations..."
+msgstr ""
+
+#: src/msgfmt.c:833
+msgid "...but header entry lacks a \"plural=EXPRESSION\" attribute"
+msgstr ""
+
+#: src/msgfmt.c:844
+msgid "...but header entry lacks a \"nplurals=INTEGER\" attribute"
+msgstr ""
+
+#: src/msgfmt.c:868
+msgid "invalid nplurals value"
+msgstr ""
+
+#: src/msgfmt.c:881
+msgid "invalid plural expression"
+msgstr ""
+
+#: src/msgfmt.c:899 src/msgfmt.c:912
+#, c-format
+msgid "nplurals = %lu..."
+msgstr ""
+
+#: src/msgfmt.c:902
+#, c-format
+msgid "...but some messages have only %lu plural forms"
+msgstr ""
+
+#: src/msgfmt.c:915
+#, c-format
+msgid "...but some messages have %lu plural forms"
+msgstr ""
+
+#: src/msgfmt.c:930
+msgid ""
+"message catalog has plural form translations, but lacks a header entry with "
+"\"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\""
+msgstr ""
+
+#: src/msgfmt.c:968
+#, fuzzy
+msgid "`msgid' and `msgid_plural' entries do not both begin with '\\n'"
+msgstr "«msgid»- og «msgstr»-verdiane byrjarr ikkje båe med '\\n'"
+
+#: src/msgfmt.c:978
+#, fuzzy, c-format
+msgid "`msgid' and `msgstr[%u]' entries do not both begin with '\\n'"
+msgstr "«msgid»- og «msgstr»-verdiane byrjarr ikkje båe med '\\n'"
+
+#: src/msgfmt.c:990
+#, fuzzy
+msgid "`msgid' and `msgstr' entries do not both begin with '\\n'"
+msgstr "«msgid»- og «msgstr»-verdiane byrjarr ikkje båe med '\\n'"
+
+#: src/msgfmt.c:1007
+#, fuzzy
+msgid "`msgid' and `msgid_plural' entries do not both end with '\\n'"
+msgstr "«msgid»- og «msgstr»-verdiane sluttar ikkje båe med '\\n'"
+
+#: src/msgfmt.c:1017
+#, fuzzy, c-format
+msgid "`msgid' and `msgstr[%u]' entries do not both end with '\\n'"
+msgstr "«msgid»- og «msgstr»-verdiane sluttar ikkje båe med '\\n'"
+
+#: src/msgfmt.c:1029
+#, fuzzy
+msgid "`msgid' and `msgstr' entries do not both end with '\\n'"
+msgstr "«msgid»- og «msgstr»-verdiane sluttar ikkje båe med '\\n'"
+
+#: src/msgfmt.c:1041
+msgid "plural handling is a GNU gettext extension"
+msgstr ""
+
+#: src/msgfmt.c:1088
+#, c-format
+msgid "'msgstr' is not a valid %s format string, unlike 'msgid'"
+msgstr ""
+
+#: src/msgfmt.c:1122
+#, c-format
+msgid "msgstr lacks the keyboard accelerator mark '%c'"
+msgstr ""
+
+#: src/msgfmt.c:1130
+#, c-format
+msgid "msgstr has too many keyboard accelerator marks '%c'"
+msgstr ""
+
+#: src/msgfmt.c:1164
+#, c-format
+msgid "headerfield `%s' missing in header"
+msgstr "filhovud-feltet «%s» manglar i filhovud"
+
+#: src/msgfmt.c:1167
+#, c-format
+msgid "header field `%s' should start at beginning of line"
+msgstr "filhovud-feltet «%s» skulle ha starta på byrjinga av linja"
+
+#: src/msgfmt.c:1176
+msgid "some header fields still have the initial default value"
+msgstr "nokre filhovud-felt har framleis sin initielle verdi"
+
+#: src/msgfmt.c:1187
+#, c-format
+msgid "field `%s' still has initial default value"
+msgstr "feltet «%s» har framleis sin forvalgte verdi"
+
+#: src/msgfmt.c:1228
+msgid "warning: PO file header missing or invalid\n"
+msgstr ""
+
+#: src/msgfmt.c:1231
+msgid "warning: charset conversion will not work\n"
+msgstr ""
+
+#: src/msgfmt.c:1241
+msgid "warning: PO file header fuzzy\n"
+msgstr ""
+
+#: src/msgfmt.c:1243
+msgid "warning: older versions of msgfmt will give an error on this\n"
+msgstr ""
+
+#: src/msgfmt.c:1268
+#, c-format
+msgid "domain name \"%s\" not suitable as file name"
+msgstr "domenenamnet \"%s\" passar ikkje som filnavn"
+
+#: src/msgfmt.c:1273
+#, c-format
+msgid "domain name \"%s\" not suitable as file name: will use prefix"
+msgstr "domenenamnet \"%s\" passar ikkje som filnavn: brukar prefiks"
+
+#: src/msgfmt.c:1284
+#, c-format
+msgid "`domain %s' directive ignored"
+msgstr ""
+
+#: src/msgfmt.c:1356
+msgid "empty `msgstr' entry ignored"
+msgstr ""
+
+#: src/msgfmt.c:1357
+msgid "fuzzy `msgstr' entry ignored"
+msgstr ""
+
+#: src/msgfmt.c:1426
+#, fuzzy, c-format
+msgid "%s: warning: source file contains fuzzy translation"
+msgstr "ADVARSEL: kildefila har «fuzzy» oversetjingar"
+
+#: src/msggrep.c:359
+#, c-format
+msgid "option '%c' cannot be used before 'K' or 'T' has been specified"
+msgstr ""
+
+#: src/msggrep.c:381
+#, no-wrap
+msgid ""
+"Extracts all messages of a translation catalog that match a given pattern\n"
+"or belong to some given source files.\n"
+msgstr ""
+
+#: src/msggrep.c:408
+#, no-wrap
+msgid ""
+"Message selection:\n"
+"  [-N SOURCEFILE]... [-M DOMAINNAME]... [-K MSGID-PATTERN] [-T MSGSTR-PATTERN]\n"
+"A message is selected if it comes from one of the specified source files,\n"
+"or if it comes from one of the specified domains,\n"
+"or if -K is given and its key (msgid or msgid_plural) matches MSGID-PATTERN,\n"
+"or if -T is given and its translation (msgstr) matches MSGSTR-PATTERN.\n"
+"\n"
+"When more than one selection criterion is specified, the set of selected\n"
+"messages is the union of the selected messages of each criterion.\n"
 "\n"
-"Giving the -v option more than once increases the verbosity level.\n"
+"MSGID-PATTERN or MSGSTR-PATTERN syntax:\n"
+"  [-E | -F] [-e PATTERN | -f FILE]...\n"
+"PATTERNs are basic regular expressions by default, or extended regular\n"
+"expressions if -E is given, or fixed strings if -F is given.\n"
 "\n"
-"If input file is -, standard input is read.  If output file is -,\n"
-"output is written to standard output.\n"
+"  -N, --location=SOURCEFILE   select messages extracted from SOURCEFILE\n"
+"  -M, --domain=DOMAINNAME     select messages belonging to domain DOMAINNAME\n"
+"  -K, --msgid                 start of patterns for the msgid\n"
+"  -T, --msgstr                start of patterns for the msgstr\n"
+"  -E, --extended-regexp       PATTERN is an extended regular expression\n"
+"  -F, --fixed-strings         PATTERN is a set of newline-separated strings\n"
+"  -e, --regexp=PATTERN        use PATTERN as a regular expression\n"
+"  -f, --file=FILE             obtain PATTERN from FILE\n"
+"  -i, --ignore-case           ignore case distinctions\n"
+msgstr ""
+
+#: src/msggrep.c:436
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
+"      --no-escape             do not use C escapes in output (default)\n"
+"      --escape                use C escapes in output, no extended chars\n"
+"      --force-po              write PO file even if empty\n"
+"      --indent                indented output style\n"
+"      --no-location           suppress '#: filename:line' lines\n"
+"      --add-location          preserve '#: filename:line' lines (default)\n"
+"      --strict                strict Uniforum output style\n"
+"  -w, --width=NUMBER          set output page width\n"
+"      --sort-output           generate sorted output\n"
+"      --sort-by-file          sort output by file location\n"
+msgstr ""
+"Bruk: %s [FLAGG] INNFIL ...\n"
+"Obligatoriske argumenter til lange flagg er obligatoriske også til korte flagg.\n"
+"  -e, --no-escape          ikkje bruk C-escapekoder i utdata (forvalgt)\n"
+"  -E, --escape             bruk C-escapekoder i utdata, ingen utvida teikn\n"
+"  -h, --help               vis denne hjelpeteksta og avslutt\n"
+"  -i, --indent             indentert utdata\n"
+"  -o, --output-file=FIL    resultat vert skrive til FIL\n"
+"      --strict             lag strengt Uniforum-konformt utdata\n"
+"  -V, --version            vis programversjon og avslutt\n"
+
+#: src/msggrep.c:510
+msgid "write to grep subprocess failed"
+msgstr ""
+
+#: src/msginit.c:275
+msgid ""
+"You are in a language indifferent environment.  Please set\n"
+"your LANG environment variable, as described in the ABOUT-NLS\n"
+"file.  This is necessary so you can test your translations.\n"
+msgstr ""
+
+#: src/msginit.c:303
+#, c-format
+msgid ""
+"Output file %s already exists.\n"
+"Please specify the locale through the --locale option or\n"
+"the output .po file through the --output-file option.\n"
+msgstr ""
+
+#: src/msginit.c:326
+#, c-format
+msgid "Created %s.\n"
+msgstr ""
+
+#: src/msginit.c:348
+#, no-wrap
+msgid ""
+"Creates a new PO file, initializing the meta information with values from the\n"
+"user's environment.\n"
+msgstr ""
+
+#: src/msginit.c:359
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  -i, --input=INPUTFILE       input POT file\n"
+"If no input file is given, the current directory is searched for the POT file.\n"
+"If it is -, standard input is read.\n"
+msgstr ""
+
+#: src/msginit.c:367
+#, no-wrap
+msgid ""
+"Output file location:\n"
+"  -o, --output-file=FILE      write output to specified PO file\n"
+"If no output file is given, it depends on the --locale option or the user's\n"
+"locale setting.  If it is -, the results are written to standard output.\n"
+msgstr ""
+
+#: src/msginit.c:375
+#, no-wrap
+msgid ""
+"Output details:\n"
+"  -l, --locale=LL_CC          set target locale\n"
+"      --no-translator         assume the PO file is automatically generated\n"
+"  -w, --width=NUMBER          set output page width\n"
+msgstr ""
+
+#: src/msginit.c:426
+msgid ""
+"Found more than one .pot file.\n"
+"Please specify the input .pot file through the --input option.\n"
+msgstr ""
+
+#: src/msginit.c:434 src/msginit.c:439
+msgid "error reading current directory"
+msgstr ""
+
+#: src/msginit.c:447
+msgid ""
+"Found no .pot file in the current directory.\n"
+"Please specify the input .pot file through the --input option.\n"
 msgstr ""
-"Bruk: %s [FLAGG] filnavn.po ...\n"
-"Obligatoriske argumenter til lange flagg er obligatoriske også til korte flagg.\n"
-"  -a, --alignment=ANTALL    justér strengar til ANTALL bytes (forvalgt: %d)\n"
-"  -h, --help                vis denne hjelpeteksta og avslutt\n"
-"      --no-hash             binærfil skal ikkje innehalde hash-tabell\n"
-"  -o, --output-file=FILNAVN sett utfil til FILNAVN\n"
-"      --strict              lag strengt Uniforum-konform .po-fil\n"
-"  -v, --verbose             list alle avvik i innfil\n"
-"  -V, --version             vis programversjon og avslutt\n"
-"\n"
-"Dersom innfil er -, vil inndata verte lest frå standard inn.  Dersom utfil\n"
-"er -, vil utdata verte skrive til standard ut.\n"
 
-#: src/msgfmt.c:435
-msgid "while creating hash table"
-msgstr "mens hash-tabellen vart laga"
+#: src/msginit.c:887 src/msginit.c:932 src/msginit.c:1070 src/msginit.c:1137
+#: src/read-java.c:80
+msgid "fdopen() failed"
+msgstr ""
 
-#: src/msgfmt.c:479
+#: src/msginit.c:892 src/msginit.c:937 src/msginit.c:1075
 #, c-format
-msgid ""
-"%s: warning: PO file header missing, fuzzy, or invalid\n"
-"%*s  warning: charset conversion will not work"
+msgid "%s subprocess I/O error"
 msgstr ""
 
-#: src/msgfmt.c:503
+#: src/msginit.c:901 src/msginit.c:946 src/msginit.c:1084 src/msginit.c:1151
+#: src/read-java.c:90
 #, c-format
-msgid "domain name \"%s\" not suitable as file name"
-msgstr "domenenamnet \"%s\" passar ikkje som filnavn"
+msgid "%s subprocess failed with exit code %d"
+msgstr ""
+
+#: src/msginit.c:1060
+msgid ""
+"The new message catalog should contain your email address, so that users "
+"can\n"
+"give you feedback about the translations, and so that maintainers can "
+"contact\n"
+"you in case of unexpected technical problems.\n"
+msgstr ""
 
-#: src/msgfmt.c:508
+#. TRANSLATORS: "English" needs to be replaced by your language.
+#. For example in it.po write "Traduzioni italiani ...",
+#. *not* "Traduzioni inglesi ...".
+#: src/msginit.c:1440
 #, c-format
-msgid "domain name \"%s\" not suitable as file name: will use prefix"
-msgstr "domenenamnet \"%s\" passar ikkje som filnavn: brukar prefiks"
+msgid "English translations for %s package"
+msgstr ""
 
-#. We don't change the exit status here because this is really
-#. only an information.
-#: src/msgfmt.c:521
+#: src/msgl-cat.c:173 src/msgl-charset.c:86 src/msgl-iconv.c:299
 #, c-format
-msgid "`domain %s' directive ignored"
+msgid "present charset \"%s\" is not a portable encoding name"
 msgstr ""
 
-#: src/msgfmt.c:551
-msgid "empty `msgstr' entry ignored"
+#: src/msgl-cat.c:181 src/msgl-iconv.c:307
+#, c-format
+msgid "two different charsets \"%s\" and \"%s\" in input file"
 msgstr ""
 
-#: src/msgfmt.c:552
-msgid "fuzzy `msgstr' entry ignored"
+#: src/msgl-cat.c:194
+#, c-format
+msgid ""
+"input file `%s' doesn't contain a header entry with a charset specification"
 msgstr ""
 
-#: src/msgfmt.c:594
+#: src/msgl-cat.c:198
 #, c-format
-msgid "headerfield `%s' missing in header"
-msgstr "filhovud-feltet «%s» manglar i filhovud"
+msgid ""
+"domain \"%s\" in input file `%s' doesn't contain a header entry with a "
+"charset specification"
+msgstr ""
 
-#: src/msgfmt.c:597
+#: src/msgl-cat.c:359 src/msgl-iconv.c:382
 #, c-format
-msgid "header field `%s' should start at beginning of line"
-msgstr "filhovud-feltet «%s» skulle ha starta på byrjinga av linja"
+msgid "target charset \"%s\" is not a portable encoding name."
+msgstr ""
 
-#: src/msgfmt.c:607
-msgid "some header fields still have the initial default value"
-msgstr "nokre filhovud-felt har framleis sin initielle verdi"
+#: src/msgl-cat.c:409 src/msgl-cat.c:415 src/msgl-charset.c:91
+#: src/msgl-charset.c:126 src/write-po.c:723 src/write-po.c:817
+msgid "warning: "
+msgstr ""
 
-#: src/msgfmt.c:618
-#, c-format
-msgid "field `%s' still has initial default value"
-msgstr "feltet «%s» har framleis sin forvalgte verdi"
+#: src/msgl-cat.c:410
+msgid ""
+"Input files contain messages in different encodings, UTF-8 among others.\n"
+"Converting the output to UTF-8.\n"
+msgstr ""
 
-#: src/msgfmt.c:708
-#, fuzzy, c-format
-msgid "%s: warning: source file contains fuzzy translation"
-msgstr "ADVARSEL: kildefila har «fuzzy» oversetjingar"
+#: src/msgl-cat.c:416
+#, c-format
+msgid ""
+"Input files contain messages in different encodings, %s and %s among "
+"others.\n"
+"Converting the output to UTF-8.\n"
+"To select a different output encoding, use the --to-code option.\n"
+msgstr ""
 
-#: src/msgfmt.c:930
-#, fuzzy
-msgid "`msgid' and `msgid_plural' entries do not both begin with '\\n'"
-msgstr "«msgid»- og «msgstr»-verdiane byrjarr ikkje båe med '\\n'"
+#: src/msgl-charset.c:92
+#, c-format
+msgid ""
+"Locale charset \"%s\" is different from\n"
+"input file charset \"%s\".\n"
+"Output of '%s' might be incorrect.\n"
+"Possible workarounds are:\n"
+msgstr ""
 
-#: src/msgfmt.c:938
-#, fuzzy, c-format
-msgid "`msgid' and `msgstr[%u]' entries do not both begin with '\\n'"
-msgstr "«msgid»- og «msgstr»-verdiane byrjarr ikkje båe med '\\n'"
+#: src/msgl-charset.c:99
+#, c-format
+msgid "- Set LC_ALL to a locale with encoding %s.\n"
+msgstr ""
 
-#: src/msgfmt.c:948
-#, fuzzy
-msgid "`msgid' and `msgstr' entries do not both begin with '\\n'"
-msgstr "«msgid»- og «msgstr»-verdiane byrjarr ikkje båe med '\\n'"
+#: src/msgl-charset.c:104
+#, c-format
+msgid ""
+"- Convert the translation catalog to %s using 'msgconv',\n"
+"  then apply '%s',\n"
+"  then convert back to %s using 'msgconv'.\n"
+msgstr ""
 
-#: src/msgfmt.c:963
-#, fuzzy
-msgid "`msgid' and `msgid_plural' entries do not both end with '\\n'"
-msgstr "«msgid»- og «msgstr»-verdiane sluttar ikkje båe med '\\n'"
+#: src/msgl-charset.c:113
+#, c-format
+msgid ""
+"- Set LC_ALL to a locale with encoding %s,\n"
+"  convert the translation catalog to %s using 'msgconv',\n"
+"  then apply '%s',\n"
+"  then convert back to %s using 'msgconv'.\n"
+msgstr ""
 
-#: src/msgfmt.c:971
-#, fuzzy, c-format
-msgid "`msgid' and `msgstr[%u]' entries do not both end with '\\n'"
-msgstr "«msgid»- og «msgstr»-verdiane sluttar ikkje båe med '\\n'"
+#: src/msgl-charset.c:127
+#, c-format
+msgid ""
+"Locale charset \"%s\" is not a portable encoding name.\n"
+"Output of '%s' might be incorrect.\n"
+"A possible workaround is to set LC_ALL=C.\n"
+msgstr ""
 
-#: src/msgfmt.c:981
-#, fuzzy
-msgid "`msgid' and `msgstr' entries do not both end with '\\n'"
-msgstr "«msgid»- og «msgstr»-verdiane sluttar ikkje båe med '\\n'"
+#: src/msgl-iconv.c:200 src/msgl-iconv.c:254
+msgid "conversion failure"
+msgstr ""
 
-#: src/msgfmt.c:997
-msgid "number of format specifications in `msgid' and `msgstr' does not match"
+#: src/msgl-iconv.c:328
+msgid "input file doesn't contain a header entry with a charset specification"
 msgstr ""
-"antall format-spesifiseringar i «msgid» og «msgstr» stemmer ikkje overeins"
 
-#: src/msgfmt.c:1014
-#, fuzzy, c-format
-msgid "format specifications for argument %lu are not the same"
-msgstr "format-spesifiseringane for argument %u er ulike"
+#: src/msgl-iconv.c:346
+#, c-format
+msgid ""
+"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(), and iconv() does "
+"not support this conversion."
+msgstr ""
 
-#: src/msgmerge.c:320
-#, fuzzy, c-format, no-wrap
+#: src/msgl-iconv.c:362
+#, c-format
 msgid ""
-"Usage: %s [OPTION] def.po ref.po\n"
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"  -C, --compendium=FILE       additional library of message translations,\n"
-"                              may be specified more than once\n"
-"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
-"  -e, --no-escape             do not use C escapes in output (default)\n"
-"  -E, --escape                use C escapes in output, no extended chars\n"
-"      --force-po              write PO file even if empty\n"
-"  -h, --help                  display this help and exit\n"
-"  -i, --indent                indented output style\n"
-"  -o, --output-file=FILE      result will be written to FILE\n"
-"      --no-location           suppress '#: filename:line' lines\n"
-"      --add-location          preserve '#: filename:line' lines (default)\n"
-"      --strict                strict Uniforum output style\n"
-"  -v, --verbose               increase verbosity level\n"
-"  -V, --version               output version information and exit\n"
-"  -w, --width=NUMBER          set output page width\n"
+"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(). This version was "
+"built without iconv()."
 msgstr ""
-"Bruk: %s [FLAGG] INNFIL ...\n"
-"Obligatoriske argumenter til lange flagg er obligatoriske også til korte flagg.\n"
-"  -e, --no-escape          ikkje bruk C-escapekoder i utdata (forvalgt)\n"
-"  -E, --escape             bruk C-escapekoder i utdata, ingen utvida teikn\n"
-"  -h, --help               vis denne hjelpeteksta og avslutt\n"
-"  -i, --indent             indentert utdata\n"
-"  -o, --output-file=FIL    resultat vert skrive til FIL\n"
-"      --strict             lag strengt Uniforum-konformt utdata\n"
-"  -V, --version            vis programversjon og avslutt\n"
 
 #: src/msgmerge.c:340
-#, no-wrap
+msgid "backup type"
+msgstr ""
+
+#: src/msgmerge.c:377
+#, fuzzy, no-wrap
 msgid ""
-"\n"
 "Merges two Uniforum style .po files together.  The def.po file is an\n"
-"existing PO file with the old translations which will be taken over to\n"
-"the newly created file as long as they still match; comments will be\n"
-"preserved, but extract comments and file positions will be discarded.\n"
-"The ref.po file is the last created PO file (generally by xgettext), any\n"
-"translations or comments in the file will be discarded, however dot\n"
+"existing PO file with translations which will be taken over to the newly\n"
+"created file as long as they still match; comments will be preserved,\n"
+"but extracted comments and file positions will be discarded.  The ref.pot\n"
+"file is the last created PO file with up-to-date source references but\n"
+"old translations, or a PO Template file (generally created by xgettext);\n"
+"any translations or comments in the file will be discarded, however dot\n"
 "comments and file positions will be preserved.  Where an exact match\n"
-"cannot be found, fuzzy matching is used to produce better results.  The\n"
-"results are written to stdout unless an output file is specified.\n"
+"cannot be found, fuzzy matching is used to produce better results.\n"
 msgstr ""
 "\n"
 "Fletter saman to Uniforum .po-filer.  def.po-filen er ei eksisterande\n"
@@ -570,7 +1469,63 @@ msgstr ""
 "resultat.  Resultatet vert skrive til standard ut, med mindre ei utfil er\n"
 "spesifisert.\n"
 
-#: src/msgmerge.c:799
+#: src/msgmerge.c:395
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  def.po                      translations referring to old sources\n"
+"  ref.pot                     references to new sources\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"  -C, --compendium=FILE       additional library of message translations,\n"
+"                              may be specified more than once\n"
+msgstr ""
+
+#: src/msgmerge.c:405
+#, no-wrap
+msgid ""
+"Operation mode:\n"
+"  -U, --update                update def.po,\n"
+"                              do nothing if def.po already up to date\n"
+msgstr ""
+
+#: src/msgmerge.c:420
+#, no-wrap
+msgid ""
+"Output file location in update mode:\n"
+"The result is written back to def.po.\n"
+"      --backup=CONTROL        make a backup of def.po\n"
+"      --suffix=SUFFIX         override the usual backup suffix\n"
+"The version control method may be selected via the --backup option or through\n"
+"the VERSION_CONTROL environment variable.  Here are the values:\n"
+"  none, off       never make backups (even if --backup is given)\n"
+"  numbered, t     make numbered backups\n"
+"  existing, nil   numbered if numbered backups exist, simple otherwise\n"
+"  simple, never   always make simple backups\n"
+"The backup suffix is `~', unless set with --suffix or the SIMPLE_BACKUP_SUFFIX\n"
+"environment variable.\n"
+msgstr ""
+
+#: src/msgmerge.c:457
+#, no-wrap
+msgid ""
+"Informative output:\n"
+"  -h, --help                  display this help and exit\n"
+"  -V, --version               output version information and exit\n"
+"  -v, --verbose               increase verbosity level\n"
+"  -q, --quiet, --silent       suppress progress indicators\n"
+msgstr ""
+
+#: src/msgmerge.c:625
+#, fuzzy
+msgid "this message should define plural forms"
+msgstr "denne meldinga er brukt, men ikkje definert i %s"
+
+#: src/msgmerge.c:648
+#, fuzzy
+msgid "this message should not define plural forms"
+msgstr "denne meldinga er brukt, men ikkje definert i %s"
+
+#: src/msgmerge.c:779
 #, fuzzy, c-format
 msgid ""
 "%sRead %ld old + %ld reference, merged %ld, fuzzied %ld, missing %ld, "
@@ -579,24 +1534,70 @@ msgstr ""
 "%sLeste %d gamle + %d referansar, fletta inn %d, «fuzzya» %d, manglar %d,\n"
 "utdaterte %d.\n"
 
-#: src/msgmerge.c:806
+#: src/msgmerge.c:787
 msgid " done.\n"
 msgstr ""
 
-#: src/msgunfmt.c:210
-#, fuzzy, c-format, no-wrap
+#: src/msgunfmt.c:201
+#, fuzzy, c-format
+msgid "%s and explicit file names are mutually exclusive"
+msgstr "%s og %s utelukker kvarandre"
+
+#: src/msgunfmt.c:267
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] [FILE]...\n"
+msgstr ""
+
+#: src/msgunfmt.c:272
+#, no-wrap
+msgid "Convert binary message catalog to Uniforum style .po file.\n"
+msgstr ""
+
+#: src/msgunfmt.c:282
+#, no-wrap
 msgid ""
-"Usage: %s [OPTION] [FILE]...\n"
-"Mandatory arguments to long options are mandatory for short options too.\n"
+"Operation mode:\n"
+"  -j, --java               Java mode: generate a Java ResourceBundle class\n"
+msgstr ""
+
+#: src/msgunfmt.c:288
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  FILE ...                 input .mo files\n"
+"If no input file is given or if it is -, standard input is read.\n"
+msgstr ""
+
+#: src/msgunfmt.c:295
+#, no-wrap
+msgid ""
+"Input file location in Java mode:\n"
+"  -r, --resource=RESOURCE  resource name\n"
+"  -l, --locale=LOCALE      locale name, either language or language_COUNTRY\n"
+"The class name is determined by appending the locale name to the resource name,\n"
+"separated with an underscore.  The class is located using the CLASSPATH.\n"
+msgstr ""
+
+#: src/msgunfmt.c:304
+#, no-wrap
+msgid ""
+"Output file location:\n"
+"  -o, --output-file=FILE   write output to specified file\n"
+"The results are written to standard output if no output file is specified\n"
+"or if it is -.\n"
+msgstr ""
+
+#: src/msgunfmt.c:312
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
 "  -e, --no-escape          do not use C escapes in output (default)\n"
 "  -E, --escape             use C escapes in output, no extended chars\n"
 "      --force-po           write PO file even if empty\n"
-"  -h, --help               display this help and exit\n"
 "  -i, --indent             write indented output style\n"
-"  -o, --output-file=FILE   write output into FILE instead of standard output\n"
 "      --strict             write strict uniforum style\n"
-"  -V, --version            output version information and exit\n"
 "  -w, --width=NUMBER       set output page width\n"
+"  -s, --sort-output        generate sorted output\n"
 msgstr ""
 "Usage: %s [OPTION] [FILE]...\n"
 "Mandatory arguments to long options are mandatory for short options too.\n"
@@ -608,49 +1609,51 @@ msgstr ""
 "      --strict             write strict uniforum style\n"
 "  -V, --version            output version information and exit\n"
 
-#: src/msgunfmt.c:224
-#, fuzzy, no-wrap
+#: src/msgunfmt.c:324
+#, no-wrap
 msgid ""
-"\n"
-"Convert binary .mo files to Uniforum style .po files.\n"
-"Both little-endian and big-endian .mo files are handled.\n"
-"If no input file is given or it is -, standard input is read.\n"
-"By default the output is written to standard output.\n"
+"Informative output:\n"
+"  -h, --help               display this help and exit\n"
+"  -V, --version            output version information and exit\n"
+"  -v, --verbose            increase verbosity level\n"
 msgstr ""
-"\n"
-"Konverter binære .mo-filer til Uniforum .po-filer.  Både «little-endian» og\n"
-"«big-endian» .mo filer vert håndtert.  Dersom innfil er -, blir standard\n"
-"inn lest.  Dersom utfil er -, vert det skrive til standard ut.\n"
-
-#: src/msgunfmt.c:261 src/msgunfmt.c:326 src/po-lex.c:216 src/xget-lex.c:243
-#, fuzzy, c-format
-msgid "error while reading \"%s\""
-msgstr "feil under skriving av fila \"%s\""
 
-#: src/msgunfmt.c:262 src/msgunfmt.c:327
-#, c-format
-msgid "file \"%s\" truncated"
-msgstr "filen \"%s\" er avkutta"
+#: src/msguniq.c:279
+#, no-wrap
+msgid ""
+"Unifies duplicate translations in a translation catalog.\n"
+"Finds duplicate translations of the same message ID.  Such duplicates are\n"
+"invalid input for other programs like msgfmt, msgmerge or msgcat.  By\n"
+"default, duplicates are merged together.  When using the --repeated option,\n"
+"only duplicates are output, and all other messages are discarded.  Comments\n"
+"and extracted comments will be cumulated, except that if --use-first is\n"
+"specified, they will be taken from the first translation.  File positions\n"
+"will be cumulated.  When using the --unique option, duplicates are discarded.\n"
+msgstr ""
 
-#: src/msgunfmt.c:293
-#, c-format
-msgid "seek \"%s\" offset %ld failed"
-msgstr "«seek» \"%s\" posisjon %ld feila"
+#: src/msguniq.c:312
+#, no-wrap
+msgid ""
+"Message selection:\n"
+"  -d, --repeated                 print only duplicates\n"
+"  -u, --unique                   print only unique messages, discard duplicates\n"
+msgstr ""
 
-#: src/msgunfmt.c:332
-#, fuzzy, c-format
-msgid "file \"%s\" contains a not NUL terminated string"
-msgstr "fila \"%s\" er ikkje i GNU .mo-format"
+#: src/ngettext.c:215
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] [TEXTDOMAIN] MSGID MSGID-PLURAL COUNT\n"
+msgstr ""
 
-#: src/msgunfmt.c:377
-#, c-format
-msgid "file \"%s\" is not in GNU .mo format"
-msgstr "fila \"%s\" er ikkje i GNU .mo-format"
+#: src/ngettext.c:220
+#, no-wrap
+msgid ""
+"Display native language translation of a textual message whose grammatical\n"
+"form depends on a number.\n"
+msgstr ""
 
-#: src/ngettext.c:209
-#, fuzzy, c-format, no-wrap
+#: src/ngettext.c:225
+#, fuzzy, no-wrap
 msgid ""
-"Usage: %s [OPTION] [TEXTDOMAIN] MSGID MSGID-PLURAL COUNT\n"
 "  -d, --domain=TEXTDOMAIN   retrieve translated message from TEXTDOMAIN\n"
 "  -e                        enable expansion of some escape sequences\n"
 "  -E                        (ignored for compatibility)\n"
@@ -670,329 +1673,504 @@ msgstr ""
 "  [TEXTDOMAIN] MSGID        hent oversett melding som stemmer overeins med\n"
 "                            MSGID frå TEXTDOMAIN\n"
 
-#: src/ngettext.c:221
-#, fuzzy, c-format, no-wrap
+#: src/ngettext.c:236
+#, fuzzy, c-format, no-wrap
+msgid ""
+"If the TEXTDOMAIN parameter is not given, the domain is determined from the\n"
+"environment variable TEXTDOMAIN.  If the message catalog is not found in the\n"
+"regular directory, another location can be specified with the environment\n"
+"variable TEXTDOMAINDIR.\n"
+"Standard search directory: %s\n"
+msgstr ""
+"\n"
+"Dersom TEXTDOMAIN-parameteren ikkje er gjeven, vert domenet valgt frå\n"
+"miljøvariabelen TEXTDOMAIN.  Dersom meldingskatalogen ikkje finst i den\n"
+"vanlege filkatalogen, kan ein annan filkatalog spesifiserast ved hjelp av\n"
+"miljøvariabelen TEXTDOMAIN.\n"
+"Når flagget -s vert brukt, oppfører programmet seg som kommandoen «echo»,\n"
+"men gjer ikkje ein enkel kopiering av argumenta sine til standard ut.  I\n"
+"staden vert meldingar som er funne i den valgte katalogen oversatt.\n"
+"Standard søkekatalog er: %s\n"
+
+#: src/open-po.c:69
+msgid "<stdin>"
+msgstr ""
+
+#: src/po-charset.c:172 src/po-charset.c:240 src/po-charset.c:268
+#: src/po-charset.c:294
+#, c-format
+msgid "%s: warning: "
+msgstr ""
+
+#: src/po-charset.c:173
+#, c-format
+msgid ""
+"Charset \"%s\" is not a portable encoding name.\n"
+"Message conversion to user's charset might not work.\n"
+msgstr ""
+
+#: src/po-charset.c:236 src/po-charset.c:266
+msgid "Continuing anyway, expect parse errors."
+msgstr ""
+
+#: src/po-charset.c:238
+msgid "Continuing anyway."
+msgstr ""
+
+#: src/po-charset.c:241
+#, c-format
+msgid ""
+"Charset \"%s\" is not supported. %s relies on iconv(),\n"
+"and iconv() does not support \"%s\".\n"
+msgstr ""
+
+#: src/po-charset.c:250 src/po-charset.c:276
+msgid ""
+"Installing GNU libiconv and then reinstalling GNU gettext\n"
+"would fix this problem.\n"
+msgstr ""
+
+#: src/po-charset.c:255 src/po-charset.c:280
+#, c-format
+msgid "%s\n"
+msgstr ""
+
+#: src/po-charset.c:269
+#, c-format
 msgid ""
-"\n"
-"If the TEXTDOMAIN parameter is not given, the domain is determined from the\n"
-"environment variable TEXTDOMAIN.  If the message catalog is not found in the\n"
-"regular directory, another location can be specified with the environment\n"
-"variable TEXTDOMAINDIR.\n"
-"Standard search directory: %s\n"
+"Charset \"%s\" is not supported. %s relies on iconv().\n"
+"This version was built without iconv().\n"
 msgstr ""
-"\n"
-"Dersom TEXTDOMAIN-parameteren ikkje er gjeven, vert domenet valgt frå\n"
-"miljøvariabelen TEXTDOMAIN.  Dersom meldingskatalogen ikkje finst i den\n"
-"vanlege filkatalogen, kan ein annan filkatalog spesifiserast ved hjelp av\n"
-"miljøvariabelen TEXTDOMAIN.\n"
-"Når flagget -s vert brukt, oppfører programmet seg som kommandoen «echo»,\n"
-"men gjer ikkje ein enkel kopiering av argumenta sine til standard ut.  I\n"
-"staden vert meldingar som er funne i den valgte katalogen oversatt.\n"
-"Standard søkekatalog er: %s\n"
 
-#: src/open-po.c:64
-msgid "<stdin>"
+#: src/po-charset.c:295
+msgid ""
+"Charset missing in header.\n"
+"Message conversion to user's charset will not work.\n"
 msgstr ""
 
-#: po-gram-gen.y:87
+#: po-gram-gen.y:91
 msgid "inconsistent use of #~"
 msgstr ""
 
-#: po-gram-gen.y:168
+#: po-gram-gen.y:181
 #, fuzzy
 msgid "missing `msgstr[]' section"
 msgstr "manglar «msgstr»-seksjon"
 
-#: po-gram-gen.y:176
+#: po-gram-gen.y:189
 #, fuzzy
 msgid "missing `msgid_plural' section"
 msgstr "manglar «msgstr»-seksjon"
 
-#: po-gram-gen.y:183
+#: po-gram-gen.y:196
 msgid "missing `msgstr' section"
 msgstr "manglar «msgstr»-seksjon"
 
-#: po-gram-gen.y:228
+#: po-gram-gen.y:241
 msgid "first plural form has nonzero index"
 msgstr ""
 
-#: po-gram-gen.y:230
+#: po-gram-gen.y:243
 msgid "plural form has wrong index"
 msgstr ""
 
-#. CAUTION: If you change this macro, you must also make identical
-#. changes to the function of the same name in src/po-lex.c
-#: src/po-lex.c:159 src/po-lex.c:198 src/po-lex.h:85 src/po-lex.h:99
-#: src/po-lex.h:115 src/po-lex.h:129
+#: src/po-lex.h:91 src/po-lex.h:106 src/po-lex.h:126 src/po-lex.h:141
+#: src/po-lex.c:135 src/po-lex.c:176
 #, fuzzy
 msgid "too many errors, aborting"
 msgstr "for mange feil, avsluttar"
 
-#: src/po-lex.c:274
+#: src/po-lex.c:545 src/write-po.c:331 src/write-po.c:421
+msgid "invalid multibyte sequence"
+msgstr ""
+
+#: src/po-lex.c:571
+msgid "incomplete multibyte sequence at end of file"
+msgstr ""
+
+#: src/po-lex.c:581
+msgid "incomplete multibyte sequence at end of line"
+msgstr ""
+
+#: src/po-lex.c:589
+msgid "iconv failure"
+msgstr ""
+
+#: src/po-lex.c:763 src/read-mo.c:70 src/read-mo.c:135 src/x-c.c:216
+#: src/x-rst.c:227 src/x-ycp.c:103
+#, fuzzy, c-format
+msgid "error while reading \"%s\""
+msgstr "feil under skriving av fila \"%s\""
+
+#: src/po-lex.c:829
 #, c-format
 msgid "keyword \"%s\" unknown"
 msgstr ""
 
-#: src/po-lex.c:377
+#: src/po-lex.c:939
 msgid "invalid control sequence"
 msgstr ""
 
-#: src/po-lex.c:480
+#: src/po-lex.c:1047
 msgid "end-of-file within string"
 msgstr ""
 
-#: src/po-lex.c:485
+#: src/po-lex.c:1053
 msgid "end-of-line within string"
 msgstr ""
 
-#: src/po-lex.c:528 src/write-po.c:285 src/write-po.c:367
-msgid "invalid multibyte sequence"
-msgstr ""
+#: src/read-mo.c:71 src/read-mo.c:136
+#, c-format
+msgid "file \"%s\" truncated"
+msgstr "filen \"%s\" er avkutta"
 
-#: src/po.c:302 src/po.c:374 src/po.c:409 src/po.c:439
+#: src/read-mo.c:102
 #, c-format
-msgid "%s: warning: "
-msgstr ""
+msgid "seek \"%s\" offset %ld failed"
+msgstr "«seek» \"%s\" posisjon %ld feila"
+
+#: src/read-mo.c:141
+#, fuzzy, c-format
+msgid "file \"%s\" contains a not NUL terminated string"
+msgstr "fila \"%s\" er ikkje i GNU .mo-format"
 
-#: src/po.c:303
+#: src/read-mo.c:186
 #, c-format
-msgid ""
-"Charset \"%s\" is not a portable encoding name.\n"
-"Message conversion to user's charset might not work.\n"
-msgstr ""
+msgid "file \"%s\" is not in GNU .mo format"
+msgstr "fila \"%s\" er ikkje i GNU .mo-format"
 
-#: src/po.c:370 src/po.c:405
-msgid "Continuing anyway, expect parse errors."
+#: src/write-java.c:1108
+msgid "cannot find a temporary directory, try setting $TMPDIR"
 msgstr ""
 
-#: src/po.c:372
-msgid "Continuing anyway."
-msgstr ""
+#: src/write-java.c:1118
+#, fuzzy, c-format
+msgid "cannot create a temporary directory using template \"%s\""
+msgstr "kan ikkje skifte tilbake til filkatalog \"%s\""
 
-#: src/po.c:375
+#: src/write-java.c:1131
 #, c-format
-msgid ""
-"Charset \"%s\" is not supported. %s relies on iconv(),\n"
-"and iconv() does not support \"%s\".\n"
-msgstr ""
-
-#: src/po.c:385 src/po.c:418
-msgid ""
-"Installing GNU libiconv and then reinstalling GNU gettext\n"
-"would fix this problem.\n"
+msgid "not a valid Java class name: %s"
 msgstr ""
 
-#: src/po.c:393 src/po.c:425
+#: src/write-java.c:1188 src/write-java.c:1201
 #, c-format
-msgid "%s\n"
+msgid "failed to create \"%s\""
 msgstr ""
 
-#: src/po.c:410
+#: src/write-java.c:1209 src/write-mo.c:289 src/write-po.c:966
 #, c-format
-msgid ""
-"Charset \"%s\" is not supported. %s relies on iconv().\n"
-"This version was built without iconv().\n"
-msgstr ""
+msgid "error while writing \"%s\" file"
+msgstr "feil under skriving av fila \"%s\""
 
-#: src/po.c:440
-msgid ""
-"Charset missing in header.\n"
-"Message conversion to user's charset will not work.\n"
+#: src/write-java.c:1223
+msgid "compilation of Java class failed, please try --verbose or set $JAVAC"
 msgstr ""
 
-#: src/write-po.c:316
+#: src/write-mo.c:277
+#, fuzzy, c-format
+msgid "error while opening \"%s\" for writing"
+msgstr "feil under skriving av fila \"%s\""
+
+#: src/write-po.c:370
 #, c-format
 msgid ""
 "internationalized messages should not contain the `\\%c' escape sequence"
 msgstr ""
 "internasjonaliserte meldingar skal ikkje innehalde escape-sekvensen «\\%c»"
 
-#: src/write-po.c:857
+#: src/write-po.c:724 src/write-po.c:818
+#, c-format
+msgid ""
+"The following msgid contains non-ASCII characters.\n"
+"This will cause problems to translators who use a character encoding\n"
+"different from yours. Consider using a pure ASCII msgid instead.\n"
+"%s\n"
+msgstr ""
+
+#: src/write-po.c:885
 #, c-format
 msgid "cannot create output file \"%s\""
 msgstr "kan ikkje opprette utfila \"%s\""
 
-#: src/write-po.c:864
+#: src/write-po.c:892
 #, no-c-format
 msgid "standard output"
 msgstr ""
 
-#: src/write-po.c:939
+#: src/x-c.c:858
 #, c-format
-msgid "error while writing \"%s\" file"
-msgstr "feil under skriving av fila \"%s\""
+msgid "%s:%d: warning: unterminated character constant"
+msgstr ""
 
-#: src/xget-lex.c:148
-msgid "standard input"
+#: src/x-c.c:882
+#, c-format
+msgid "%s:%d: warning: unterminated string literal"
 msgstr ""
 
-#: src/xget-lex.c:876
+#: src/x-po.c:106 src/xgettext.c:605
+msgid "this file may not contain domain directives"
+msgstr "denne fila kan ikkje innehalde domene-nøkkelord"
+
+#: src/x-rst.c:108
 #, c-format
-msgid "%s:%d: warning: unterminated character constant"
+msgid "%s:%d: invalid string definition"
 msgstr ""
 
-#: src/xget-lex.c:898
+#: src/x-rst.c:168
 #, c-format
-msgid "%s:%d: warning: unterminated string literal"
+msgid "%s:%d: missing number after #"
+msgstr ""
+
+#: src/x-rst.c:203
+#, c-format
+msgid "%s:%d: invalid string expression"
 msgstr ""
 
-#: src/xgettext.c:373
+#: src/xgettext.c:375
 msgid "--join-existing cannot be used when output is written to stdout"
 msgstr ""
 "--join-existing kan ikkje brukast når utdata vert skrive til standard ut"
 
-#: src/xgettext.c:378
+#: src/xgettext.c:380
 msgid "xgettext cannot work without keywords to look for"
 msgstr ""
 
-#: src/xgettext.c:484
+#: src/xgettext.c:468
 #, c-format
 msgid "warning: file `%s' extension `%s' is unknown; will try C"
 msgstr ""
 
-#: src/xgettext.c:520
-#, fuzzy, c-format, no-wrap
+#: src/xgettext.c:509
+#, no-wrap
+msgid "Extract translatable strings from given input files.\n"
+msgstr ""
+
+#: src/xgettext.c:514
+#, no-wrap
 msgid ""
-"Usage: %s [OPTION] INPUTFILE ...\n"
-"Extract translatable string from given input files.\n"
-"\n"
 "Mandatory arguments to long options are mandatory for short options too.\n"
-"  -a, --extract-all              extract all strings\n"
-"  -c, --add-comments[=TAG]       place comment block with TAG (or those\n"
-"                                 preceding keyword lines) in output file\n"
-"  -C, --c++                      shorthand for --language=C++\n"
-"      --debug                    more detailed formatstring recognision result\n"
+"Similarly for optional arguments.\n"
+msgstr ""
+
+#: src/xgettext.c:529
+#, no-wrap
+msgid ""
+"Output file location:\n"
 "  -d, --default-domain=NAME      use NAME.po for output (instead of messages.po)\n"
-"  -D, --directory=DIRECTORY      add DIRECTORY to list for input files search\n"
-"  -e, --no-escape                do not use C escapes in output (default)\n"
-"  -E, --escape                   use C escapes in output, no extended chars\n"
-"  -f, --files-from=FILE          get list of input files from FILE\n"
-"      --force-po                 write PO file even if empty\n"
-"      --foreign-user             omit FSF copyright in output for foreign user\n"
-"  -F, --sort-by-file             sort output by file location\n"
+"  -o, --output=FILE              write output to specified file\n"
+"  -p, --output-dir=DIR           output files will be placed in directory DIR\n"
+"If output file is -, output is written to standard output.\n"
 msgstr ""
-"Bruk: %s [FLAGG] INNFIL ...\n"
-"Obligatoriske argumenter til lange flagg er obligatoriske også til korte flagg.\n"
-"  -a, --extract-all             ekstrahér alle strengar\n"
-"  -c, --add-comments[=TAG]      lagre kommentarblokker med TAG (eller\n"
-"                                kommentarar i linjer som kjem foran\n"
-"                                nøkkelord) i utfila\n"
-"  -C, --c++                     kjenn igjen C++-kommentarar\n"
-"  -d, --default-domain=NAVN     lagre utdata i NAVN.po (i staden for\n"
-"                                messages.po)\n"
-"  -D, --directory=FILKATALOG    skift til FILKATALOG før prosessering\n"
-"  -e, --no-escape               ikkje bruk C-escapekoder i utdata (forvalgt)\n"
-"  -E, --escape                  bruk C-escapekoder i utdata, ingen utvida teikn\n"
-"  -f, --files-from=FIL          hent liste av innfiler frå FIL\n"
-"  -F, --sort-by-file            sorter utdata etter fil-lokasjon\n"
-
-#: src/xgettext.c:540
-#, fuzzy, no-wrap
+
+#: src/xgettext.c:538
+#, no-wrap
 msgid ""
-"  -h, --help                     display this help and exit\n"
-"  -i, --indent                   write the .po file using indented style\n"
+"Choice of input file language:\n"
+"  -L, --language=NAME            recognise the specified language\n"
+"                                   (C, C++, ObjectiveC, PO, Java, YCP)\n"
+"  -C, --c++                      shorthand for --language=C++\n"
+"By default the language is guessed depending on the input file name extension.\n"
+msgstr ""
+
+#: src/xgettext.c:547
+#, no-wrap
+msgid ""
+"Operation mode:\n"
 "  -j, --join-existing            join messages with existing file\n"
-"  -k, --keyword[=WORD]           additonal keyword to be looked for (without\n"
+"  -x, --exclude-file=FILE.po     entries from FILE.po are not extracted\n"
+"  -c, --add-comments[=TAG]       place comment block with TAG (or those\n"
+"                                 preceding keyword lines) in output file\n"
+msgstr ""
+
+#: src/xgettext.c:556
+#, no-wrap
+msgid ""
+"Language=C/C++ specific options:\n"
+"  -a, --extract-all              extract all strings\n"
+"  -k, --keyword[=WORD]           additional keyword to be looked for (without\n"
 "                                 WORD means not to use default keywords)\n"
-"  -L, --language=NAME            recognise the specified language (C, C++, PO),\n"
-"                                 otherwise is guessed from file extension\n"
-"  -m, --msgstr-prefix[=STRING]   use STRING or \"\" as prefix for msgstr entries\n"
-"  -M, --msgstr-suffix[=STRING]   use STRING or \"\" as suffix for msgstr entries\n"
-"      --no-location              do not write '#: filename:line' lines\n"
+"  -T, --trigraphs                understand ANSI C trigraphs for input\n"
+"      --debug                    more detailed formatstring recognition result\n"
 msgstr ""
-"  -h, --help                    vis denne hjelpeteksta og avslutt\n"
-"  -i, --indent                  lag indentert utdata\n"
-"  -j, --join-existing           flett saman meldingar med eksisterande fil\n"
-"  -k, --keyword[=ORD]           sjå også etter nøkkelordet ORD (manglar ORD,\n"
-"                                skal ikkje dei vanlege nøkkelorda nyttast)\n"
-"  -l, --string-limit=NUMMER     sett største streng-lengde til NUMMER\n"
-"                                i staden for %u\n"
-"  -m, --msgstr-prefix[=STRENG]  bruk STRENG eller \"\" som prefiks for\n"
-"                                msgstr-verdiar\n"
-"  -M, --msgstr-suffix[=STRENG]  bruk STRENG eller \"\" som suffiks for\n"
-"                                msgstr-verdiar\n"
-"      --no-location             ikkje lag «#: filnavn:linje»-linjer\n"
-
-#: src/xgettext.c:552
+
+#: src/xgettext.c:566
 #, fuzzy, no-wrap
 msgid ""
+"Output details:\n"
+"  -e, --no-escape                do not use C escapes in output (default)\n"
+"  -E, --escape                   use C escapes in output, no extended chars\n"
+"      --force-po                 write PO file even if empty\n"
+"  -i, --indent                   write the .po file using indented style\n"
+"      --no-location              do not write '#: filename:line' lines\n"
 "  -n, --add-location             generate '#: filename:line' lines (default)\n"
-"      --omit-header              don't write header with `msgid \"\"' entry\n"
-"  -o, --output=FILE              write output to specified file\n"
-"  -p, --output-dir=DIR           output files will be placed in directory DIR\n"
-"  -s, --sort-output              generate sorted output and remove duplicates\n"
 "      --strict                   write out strict Uniforum conforming .po file\n"
-"  -T, --trigraphs                understand ANSI C trigraphs for input\n"
-"  -V, --version                  output version information and exit\n"
 "  -w, --width=NUMBER             set output page width\n"
-"  -x, --exclude-file=FILE        entries from FILE are not extracted\n"
-"\n"
-"If INPUTFILE is -, standard input is read.\n"
-msgstr ""
-"  -n, --add-location            lag «#: filenavn:linje»-linjer (forvalgt)\n"
-"      --omit-header             ikkje lag startseksjon med «msgid \"\"»\n"
-"  -p, --output-dir=KAT          plassér utfiler i filkatalogen KAT\n"
-"  -s, --sort-output             sortér utdata og ta bort duplikat\n"
-"      --strict                  lag strengt Uniforum-konform .po-fil\n"
-"  -T, --trigraphs               forstå ANSI C trigraphs i inndata\n"
-"  -V, --version                 vis programversjon og avslutt\n"
-"  -x, --exclude-file=FIL        innslag frå FIL vert ikkje ekstrahert\n"
-"\n"
-"Dersom INNFIL er -, vil det verte lese frå standard inn.\n"
+"  -s, --sort-output              generate sorted output\n"
+"  -F, --sort-by-file             sort output by file location\n"
+"      --omit-header              don't write header with `msgid \"\"' entry\n"
+"      --foreign-user             omit FSF copyright in output for foreign user\n"
+"  -m, --msgstr-prefix[=STRING]   use STRING or \"\" as prefix for msgstr entries\n"
+"  -M, --msgstr-suffix[=STRING]   use STRING or \"\" as suffix for msgstr entries\n"
+msgstr ""
+"Bruk: %s [FLAGG] INNFIL ...\n"
+"Obligatoriske argumenter til lange flagg er obligatoriske også til korte flagg.\n"
+"  -e, --no-escape          ikkje bruk C-escapekoder i utdata (forvalgt)\n"
+"  -E, --escape             bruk C-escapekoder i utdata, ingen utvida teikn\n"
+"  -h, --help               vis denne hjelpeteksta og avslutt\n"
+"  -i, --indent             indentert utdata\n"
+"  -o, --output-file=FIL    resultat vert skrive til FIL\n"
+"      --strict             lag strengt Uniforum-konformt utdata\n"
+"  -V, --version            vis programversjon og avslutt\n"
 
-#: src/xgettext.c:914
-#, c-format
-msgid "%s:%d: warning: keyword nested in keyword arg"
+#: src/xgettext.c:720
+msgid "standard input"
 msgstr ""
 
-#: src/xgettext.c:924
-#, c-format
-msgid "%s:%d: warning: keyword between outer keyword and its arg"
+#: src/xgettext.c:830
+msgid ""
+"Empty msgid.  It is reserved by GNU gettext:\n"
+"gettext(\"\") returns the header entry with\n"
+"meta information, not the empty string.\n"
 msgstr ""
 
-#: src/xgettext.c:1420
+#: src/xgettext.c:1099
 #, c-format
 msgid "language `%s' unknown"
 msgstr ""
 
-#, fuzzy
-#~ msgid ""
-#~ "%s: warning: charset \"%s\" is not supported by iconv%s\n"
-#~ "%*s  warning: consider installing GNU libiconv and then\n"
-#~ "%*s           reinstalling GNU gettext"
-#~ msgstr "advarsel: denne meldinga er ikkje brukt"
+#~ msgid "while creating hash table"
+#~ msgstr "mens hash-tabellen vart laga"
+
+#~ msgid "while preparing output"
+#~ msgstr "under klargjering av utdata"
+
+#~ msgid "this message has no definition in the \"%s\" domain"
+#~ msgstr "denne meldinga har ingen definisjon i \"%s\"-domenet"
 
 #, fuzzy
 #~ msgid ""
-#~ "%s: warning: charset \"%s\" is not supported without iconv%s\n"
-#~ "%*s  warning: consider installing GNU libiconv and then\n"
-#~ "%*s           reinstalling GNU gettext"
-#~ msgstr "advarsel: denne meldinga er ikkje brukt"
+#~ "Usage: %s [OPTION] INPUTFILE ...\n"
+#~ "Mandatory arguments to long options are mandatory for short options too.\n"
+#~ "  -d, --default-domain=NAME      use NAME.po for output (instead of "
+#~ "messages.po)\n"
+#~ "  -D, --directory=DIRECTORY      add DIRECTORY to list for input files "
+#~ "search\n"
+#~ "  -e, --no-escape                do not use C escapes in output "
+#~ "(default)\n"
+#~ "  -E, --escape                   use C escapes in output, no extended "
+#~ "chars\n"
+#~ "  -f, --files-from=FILE          get list of input files from FILE\n"
+#~ "      --force-po                 write PO file even if empty\n"
+#~ "  -F, --sort-by-file             sort output by file location\n"
+#~ "  -h, --help                     display this help and exit\n"
+#~ msgstr ""
+#~ "Bruk: %s [FLAGG] INNFIL ...\n"
+#~ "Obligatoriske argumenter til lange flagg er obligatoriske også til korte "
+#~ "flagg.\n"
+#~ "  -a, --extract-all             ekstrahér alle strengar\n"
+#~ "  -c, --add-comments[=TAG]      lagre kommentarblokker med TAG (eller\n"
+#~ "                                kommentarar i linjer som kjem foran\n"
+#~ "                                nøkkelord) i utfila\n"
+#~ "  -C, --c++                     kjenn igjen C++-kommentarar\n"
+#~ "  -d, --default-domain=NAVN     lagre utdata i NAVN.po (i staden for\n"
+#~ "                                messages.po)\n"
+#~ "  -D, --directory=FILKATALOG    skift til FILKATALOG før prosessering\n"
+#~ "  -e, --no-escape               ikkje bruk C-escapekoder i utdata "
+#~ "(forvalgt)\n"
+#~ "  -E, --escape                  bruk C-escapekoder i utdata, ingen utvida "
+#~ "teikn\n"
+#~ "  -f, --files-from=FIL          hent liste av innfiler frå FIL\n"
+#~ "  -F, --sort-by-file            sorter utdata etter fil-lokasjon\n"
 
 #, fuzzy
-#~ msgid "this is the location of the first definition"
-#~ msgstr "den første definisjonen finst her"
-
-#~ msgid "cannot change to directory \"%s\""
-#~ msgstr "kan ikkje skifte til filkatalog \"%s\""
-
-#~ msgid "cannot change back to directory \"%s\""
-#~ msgstr "kan ikkje skifte tilbake til filkatalog \"%s\""
+#~ msgid ""
+#~ "  -i, --indent                   write the .po file using indented style\n"
+#~ "      --no-location              do not write '#: filename:line' lines\n"
+#~ "  -n, --add-location             generate '#: filename:line' lines "
+#~ "(default)\n"
+#~ "      --omit-header              don't write header with `msgid \"\"' "
+#~ "entry\n"
+#~ "  -o, --output=FILE              write output to specified file\n"
+#~ "  -p, --output-dir=DIR           output files will be placed in directory "
+#~ "DIR\n"
+#~ "  -s, --sort-output              generate sorted output and remove "
+#~ "duplicates\n"
+#~ "      --strict                   write out strict Uniforum conforming .po "
+#~ "file\n"
+#~ "  -T, --trigraphs                understand ANSI C trigraphs for input\n"
+#~ "  -u, --unique                   shorthand for --less-than=2, requests\n"
+#~ "                                 that only unique messages be printed\n"
+#~ msgstr ""
+#~ "  -n, --add-location            lag «#: filenavn:linje»-linjer "
+#~ "(forvalgt)\n"
+#~ "      --omit-header             ikkje lag startseksjon med «msgid \"\"»\n"
+#~ "  -p, --output-dir=KAT          plassér utfiler i filkatalogen KAT\n"
+#~ "  -s, --sort-output             sortér utdata og ta bort duplikat\n"
+#~ "      --strict                  lag strengt Uniforum-konform .po-fil\n"
+#~ "  -T, --trigraphs               forstå ANSI C trigraphs i inndata\n"
+#~ "  -V, --version                 vis programversjon og avslutt\n"
+#~ "  -x, --exclude-file=FIL        innslag frå FIL vert ikkje ekstrahert\n"
+#~ "\n"
+#~ "Dersom INNFIL er -, vil det verte lese frå standard inn.\n"
 
 #, fuzzy
-#~ msgid "found %d errors"
-#~ msgstr "fann %d fatale feil"
+#~ msgid ""
+#~ "Usage: %s [OPTION] filename.po ...\n"
+#~ "Generate binary message catalog from textual translation description.\n"
+#~ "\n"
+#~ "Mandatory arguments to long options are mandatory for short options too.\n"
+#~ "  -a, --alignment=NUMBER      align strings to NUMBER bytes (default: %"
+#~ "d)\n"
+#~ "  -c, --check                 perform language dependent checks on "
+#~ "strings\n"
+#~ "  -D, --directory=DIRECTORY   add DIRECTORY to list for input files "
+#~ "search\n"
+#~ "  -f, --use-fuzzy             use fuzzy entries in output\n"
+#~ "  -h, --help                  display this help and exit\n"
+#~ "      --no-hash               binary file will not include the hash "
+#~ "table\n"
+#~ "  -o, --output-file=FILE      specify output file name as FILE\n"
+#~ "      --statistics            print statistics about translations\n"
+#~ "      --strict                enable strict Uniforum mode\n"
+#~ "  -v, --verbose               list input file anomalies\n"
+#~ "  -V, --version               output version information and exit\n"
+#~ "\n"
+#~ "Giving the -v option more than once increases the verbosity level.\n"
+#~ "\n"
+#~ "If input file is -, standard input is read.  If output file is -,\n"
+#~ "output is written to standard output.\n"
+#~ msgstr ""
+#~ "Bruk: %s [FLAGG] filnavn.po ...\n"
+#~ "Obligatoriske argumenter til lange flagg er obligatoriske også til korte "
+#~ "flagg.\n"
+#~ "  -a, --alignment=ANTALL    justér strengar til ANTALL bytes (forvalgt: %"
+#~ "d)\n"
+#~ "  -h, --help                vis denne hjelpeteksta og avslutt\n"
+#~ "      --no-hash             binærfil skal ikkje innehalde hash-tabell\n"
+#~ "  -o, --output-file=FILNAVN sett utfil til FILNAVN\n"
+#~ "      --strict              lag strengt Uniforum-konform .po-fil\n"
+#~ "  -v, --verbose             list alle avvik i innfil\n"
+#~ "  -V, --version             vis programversjon og avslutt\n"
+#~ "\n"
+#~ "Dersom innfil er -, vil inndata verte lest frå standard inn.  Dersom "
+#~ "utfil\n"
+#~ "er -, vil utdata verte skrive til standard ut.\n"
 
 #, fuzzy
 #~ msgid ""
-#~ "Usage: %s [OPTION] filename.mo filename.po\n"
+#~ "Usage: %s [OPTION] [FILE]...\n"
 #~ "Mandatory arguments to long options are mandatory for short options too.\n"
 #~ "  -e, --no-escape          do not use C escapes in output (default)\n"
 #~ "  -E, --escape             use C escapes in output, no extended chars\n"
+#~ "      --force-po           write PO file even if empty\n"
 #~ "  -h, --help               display this help and exit\n"
 #~ "  -i, --indent             write indented output style\n"
-#~ "  -S, --strict\t           write strict uniforum style\n"
+#~ "  -o, --output-file=FILE   write output into FILE instead of standard "
+#~ "output\n"
+#~ "      --strict             write strict uniforum style\n"
 #~ "  -V, --version            output version information and exit\n"
+#~ "  -w, --width=NUMBER       set output page width\n"
 #~ msgstr ""
 #~ "Usage: %s [OPTION] [FILE]...\n"
 #~ "Mandatory arguments to long options are mandatory for short options too.\n"
@@ -1005,6 +2183,155 @@ msgstr ""
 #~ "      --strict             write strict uniforum style\n"
 #~ "  -V, --version            output version information and exit\n"
 
+#, fuzzy
+#~ msgid ""
+#~ "\n"
+#~ "Convert binary .mo files to Uniforum style .po files.\n"
+#~ "Both little-endian and big-endian .mo files are handled.\n"
+#~ "If no input file is given or it is -, standard input is read.\n"
+#~ "By default the output is written to standard output.\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Konverter binære .mo-filer til Uniforum .po-filer.  Både «little-endian» "
+#~ "og\n"
+#~ "«big-endian» .mo filer vert håndtert.  Dersom innfil er -, blir standard\n"
+#~ "inn lest.  Dersom utfil er -, vert det skrive til standard ut.\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: %s [OPTION] INPUTFILE ...\n"
+#~ "Extract translatable string from given input files.\n"
+#~ "\n"
+#~ "Mandatory arguments to long options are mandatory for short options too.\n"
+#~ "  -a, --extract-all              extract all strings\n"
+#~ "  -c, --add-comments[=TAG]       place comment block with TAG (or those\n"
+#~ "                                 preceding keyword lines) in output file\n"
+#~ "  -C, --c++                      shorthand for --language=C++\n"
+#~ "      --debug                    more detailed formatstring recognision "
+#~ "result\n"
+#~ "  -d, --default-domain=NAME      use NAME.po for output (instead of "
+#~ "messages.po)\n"
+#~ "  -D, --directory=DIRECTORY      add DIRECTORY to list for input files "
+#~ "search\n"
+#~ "  -e, --no-escape                do not use C escapes in output "
+#~ "(default)\n"
+#~ "  -E, --escape                   use C escapes in output, no extended "
+#~ "chars\n"
+#~ "  -f, --files-from=FILE          get list of input files from FILE\n"
+#~ "      --force-po                 write PO file even if empty\n"
+#~ "      --foreign-user             omit FSF copyright in output for foreign "
+#~ "user\n"
+#~ "  -F, --sort-by-file             sort output by file location\n"
+#~ msgstr ""
+#~ "Bruk: %s [FLAGG] INNFIL ...\n"
+#~ "Obligatoriske argumenter til lange flagg er obligatoriske også til korte "
+#~ "flagg.\n"
+#~ "  -a, --extract-all             ekstrahér alle strengar\n"
+#~ "  -c, --add-comments[=TAG]      lagre kommentarblokker med TAG (eller\n"
+#~ "                                kommentarar i linjer som kjem foran\n"
+#~ "                                nøkkelord) i utfila\n"
+#~ "  -C, --c++                     kjenn igjen C++-kommentarar\n"
+#~ "  -d, --default-domain=NAVN     lagre utdata i NAVN.po (i staden for\n"
+#~ "                                messages.po)\n"
+#~ "  -D, --directory=FILKATALOG    skift til FILKATALOG før prosessering\n"
+#~ "  -e, --no-escape               ikkje bruk C-escapekoder i utdata "
+#~ "(forvalgt)\n"
+#~ "  -E, --escape                  bruk C-escapekoder i utdata, ingen utvida "
+#~ "teikn\n"
+#~ "  -f, --files-from=FIL          hent liste av innfiler frå FIL\n"
+#~ "  -F, --sort-by-file            sorter utdata etter fil-lokasjon\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "  -h, --help                     display this help and exit\n"
+#~ "  -i, --indent                   write the .po file using indented style\n"
+#~ "  -j, --join-existing            join messages with existing file\n"
+#~ "  -k, --keyword[=WORD]           additonal keyword to be looked for "
+#~ "(without\n"
+#~ "                                 WORD means not to use default keywords)\n"
+#~ "  -L, --language=NAME            recognise the specified language (C, C+"
+#~ "+, PO),\n"
+#~ "                                 otherwise is guessed from file "
+#~ "extension\n"
+#~ "  -m, --msgstr-prefix[=STRING]   use STRING or \"\" as prefix for msgstr "
+#~ "entries\n"
+#~ "  -M, --msgstr-suffix[=STRING]   use STRING or \"\" as suffix for msgstr "
+#~ "entries\n"
+#~ "      --no-location              do not write '#: filename:line' lines\n"
+#~ msgstr ""
+#~ "  -h, --help                    vis denne hjelpeteksta og avslutt\n"
+#~ "  -i, --indent                  lag indentert utdata\n"
+#~ "  -j, --join-existing           flett saman meldingar med eksisterande "
+#~ "fil\n"
+#~ "  -k, --keyword[=ORD]           sjå også etter nøkkelordet ORD (manglar "
+#~ "ORD,\n"
+#~ "                                skal ikkje dei vanlege nøkkelorda "
+#~ "nyttast)\n"
+#~ "  -l, --string-limit=NUMMER     sett største streng-lengde til NUMMER\n"
+#~ "                                i staden for %u\n"
+#~ "  -m, --msgstr-prefix[=STRENG]  bruk STRENG eller \"\" som prefiks for\n"
+#~ "                                msgstr-verdiar\n"
+#~ "  -M, --msgstr-suffix[=STRENG]  bruk STRENG eller \"\" som suffiks for\n"
+#~ "                                msgstr-verdiar\n"
+#~ "      --no-location             ikkje lag «#: filnavn:linje»-linjer\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "  -n, --add-location             generate '#: filename:line' lines "
+#~ "(default)\n"
+#~ "      --omit-header              don't write header with `msgid \"\"' "
+#~ "entry\n"
+#~ "  -o, --output=FILE              write output to specified file\n"
+#~ "  -p, --output-dir=DIR           output files will be placed in directory "
+#~ "DIR\n"
+#~ "  -s, --sort-output              generate sorted output and remove "
+#~ "duplicates\n"
+#~ "      --strict                   write out strict Uniforum conforming .po "
+#~ "file\n"
+#~ "  -T, --trigraphs                understand ANSI C trigraphs for input\n"
+#~ "  -V, --version                  output version information and exit\n"
+#~ "  -w, --width=NUMBER             set output page width\n"
+#~ "  -x, --exclude-file=FILE        entries from FILE are not extracted\n"
+#~ "\n"
+#~ "If INPUTFILE is -, standard input is read.\n"
+#~ msgstr ""
+#~ "  -n, --add-location            lag «#: filenavn:linje»-linjer "
+#~ "(forvalgt)\n"
+#~ "      --omit-header             ikkje lag startseksjon med «msgid \"\"»\n"
+#~ "  -p, --output-dir=KAT          plassér utfiler i filkatalogen KAT\n"
+#~ "  -s, --sort-output             sortér utdata og ta bort duplikat\n"
+#~ "      --strict                  lag strengt Uniforum-konform .po-fil\n"
+#~ "  -T, --trigraphs               forstå ANSI C trigraphs i inndata\n"
+#~ "  -V, --version                 vis programversjon og avslutt\n"
+#~ "  -x, --exclude-file=FIL        innslag frå FIL vert ikkje ekstrahert\n"
+#~ "\n"
+#~ "Dersom INNFIL er -, vil det verte lese frå standard inn.\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "%s: warning: charset \"%s\" is not supported by iconv%s\n"
+#~ "%*s  warning: consider installing GNU libiconv and then\n"
+#~ "%*s           reinstalling GNU gettext"
+#~ msgstr "advarsel: denne meldinga er ikkje brukt"
+
+#, fuzzy
+#~ msgid ""
+#~ "%s: warning: charset \"%s\" is not supported without iconv%s\n"
+#~ "%*s  warning: consider installing GNU libiconv and then\n"
+#~ "%*s           reinstalling GNU gettext"
+#~ msgstr "advarsel: denne meldinga er ikkje brukt"
+
+#, fuzzy
+#~ msgid "this is the location of the first definition"
+#~ msgstr "den første definisjonen finst her"
+
+#~ msgid "cannot change to directory \"%s\""
+#~ msgstr "kan ikkje skifte til filkatalog \"%s\""
+
+#, fuzzy
+#~ msgid "found %d errors"
+#~ msgstr "fann %d fatale feil"
+
 #, fuzzy
 #~ msgid "%s: warning: no header entry found"
 #~ msgstr "advarsel: denne meldinga er ikkje brukt"
index b7737af8deca310051c78872541dc6f67b1ffc04..d5f617d77fd1098f0e4049247355de60e167e0bc 100644 (file)
Binary files a/po/no.gmo and b/po/no.gmo differ
index 59728b208927dd4f3ee8ad7bcc6d32fa0b25df15..3fae057c1badd61fae7e30f7e45307a59232240c 100644 (file)
--- a/po/no.po
+++ b/po/no.po
@@ -4,20 +4,67 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: GNU gettext 0.10.12\n"
-"POT-Creation-Date: 2001-04-18 22:38+0200\n"
-"PO-Revision-Date: 1999-08-06 22:38+02:00\n"
+"Project-Id-Version: GNU gettext 0.10.37\n"
+"POT-Creation-Date: 2001-11-30 14:18+0100\n"
+"PO-Revision-Date: 2001-05-09 02:08+02:00\n"
 "Last-Translator: Trond Endrestøl <endrestol@hotmail.com>\n"
 "Language-Team: Norwegian-bokmål <no@li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=ISO-8859-1\n"
-"Content-Transfer-Encoding: 8-bit\n"
+"Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
+#: lib/argmatch.c:141
+#, c-format
+msgid "invalid argument `%s' for `%s'"
+msgstr ""
+
+#: lib/argmatch.c:142
+#, c-format
+msgid "ambiguous argument `%s' for `%s'"
+msgstr ""
+
+#: lib/argmatch.c:162
+msgid "Valid arguments are:"
+msgstr ""
+
+#: lib/copy-file.c:60 src/file-list.c:57 src/po-lex.c:732 src/read-mo.c:170
+#: src/xgettext.c:729 src/xgettext.c:742 src/xgettext.c:752
+#, c-format
+msgid "error while opening \"%s\" for reading"
+msgstr "feil under åpning av «%s» for lesing"
+
+#: lib/copy-file.c:67
+#, fuzzy, c-format
+msgid "cannot open backup file \"%s\" for writing"
+msgstr "feil under åpning av «%s» for skriving"
+
+#: lib/copy-file.c:80
+#, fuzzy, c-format
+msgid "error reading \"%s\""
+msgstr "feil under lesing av «%s»"
+
+#: lib/copy-file.c:86 lib/copy-file.c:90
+#, fuzzy, c-format
+msgid "error writing \"%s\""
+msgstr "feil under skriving av filen «%s»"
+
+#: lib/copy-file.c:92
+#, fuzzy, c-format
+msgid "error after reading \"%s\""
+msgstr "feil under lesing av «%s»"
+
 #: lib/error.c:115
 msgid "Unknown system error"
 msgstr "Ukjent systemfeil"
 
+#: lib/execute.c:170 lib/execute.c:205 lib/pipe-bidi.c:156 lib/pipe-bidi.c:191
+#: lib/pipe-in.c:167 lib/pipe-in.c:202 lib/pipe-out.c:167 lib/pipe-out.c:202
+#: lib/wait-process.c:136
+#, c-format
+msgid "%s subprocess failed"
+msgstr ""
+
 #: lib/getopt.c:691
 #, c-format
 msgid "%s: option `%s' is ambiguous\n"
@@ -38,19 +85,16 @@ msgstr "%s: flagget 
 msgid "%s: option `%s' requires an argument\n"
 msgstr "%s: flagget «%s» krever et argument\n"
 
-#. --option
 #: lib/getopt.c:768
 #, c-format
 msgid "%s: unrecognized option `--%s'\n"
 msgstr "%s: ukjent flagg «--%s»\n"
 
-#. +option or -option
 #: lib/getopt.c:772
 #, c-format
 msgid "%s: unrecognized option `%c%s'\n"
 msgstr "%s: ukjent flagg «%c%s»\n"
 
-#. 1003.2 specifies the format of this message.
 #: lib/getopt.c:798
 #, c-format
 msgid "%s: illegal option -- %c\n"
@@ -61,7 +105,6 @@ msgstr "%s: ulovlig flagg -- %c\n"
 msgid "%s: invalid option -- %c\n"
 msgstr "%s: ugyldig flagg -- %c\n"
 
-#. 1003.2 specifies the format of this message.
 #: lib/getopt.c:831 lib/getopt.c:961
 #, c-format
 msgid "%s: option requires an argument -- %c\n"
@@ -77,16 +120,116 @@ msgstr "%s: flagg 
 msgid "%s: option `-W %s' doesn't allow an argument\n"
 msgstr "%s: flagg «-W %s» tillater ikke et argument\n"
 
-#: lib/obstack.c:474 lib/xmalloc.c:86 src/po.c:308 src/po.c:381 src/po.c:389
-#: src/po.c:395 src/po.c:415 src/po.c:422 src/po.c:427 src/po.c:444
-#, fuzzy
+#: lib/javacomp.c:465
+msgid "Java compiler not found, try installing gcj or set $JAVAC"
+msgstr ""
+
+#: lib/javaexec.c:404
+msgid "Java virtual machine not found, try installing gij or set $JAVA"
+msgstr ""
+
+#: lib/obstack.c:474 lib/xerror.c:75 lib/xmalloc.c:56
 msgid "memory exhausted"
-msgstr "Minnet oppbrukt"
+msgstr "minnet oppbrukt"
+
+#: lib/pipe-bidi.c:119 lib/pipe-bidi.c:121 lib/pipe-in.c:136
+#: lib/pipe-out.c:136
+#, fuzzy
+msgid "cannot create pipe"
+msgstr "kan ikke opprette utfilen «%s»"
+
+#: lib/wait-process.c:117
+#, c-format
+msgid "%s subprocess"
+msgstr ""
+
+#: lib/wait-process.c:129
+#, c-format
+msgid "%s subprocess got fatal signal"
+msgstr ""
+
+#: src/format-c.c:578 src/format-python.c:463
+#, fuzzy
+msgid "number of format specifications in 'msgid' and 'msgstr' does not match"
+msgstr "antallet format-spesifiseringer i «msgid» og «msgstr» stemmer ikke"
+
+#: src/format-c.c:588 src/format-python.c:473
+#, fuzzy, c-format
+msgid ""
+"format specifications in 'msgid' and 'msgstr' for argument %u are not the "
+"same"
+msgstr "format-spesifiseringene for argument %lu er ulike"
+
+#: src/format-java.c:652 src/format-pascal.c:396
+#, fuzzy, c-format
+msgid "a format specification for argument {%u} doesn't exist in 'msgid'"
+msgstr "format-spesifiseringene for argument %lu er ulike"
+
+#: src/format-java.c:662 src/format-pascal.c:406
+#, fuzzy, c-format
+msgid "a format specification for argument {%u} doesn't exist in 'msgstr'"
+msgstr "format-spesifiseringene for argument %lu er ulike"
+
+#: src/format-java.c:676 src/format-pascal.c:420
+#, fuzzy, c-format
+msgid ""
+"format specifications in 'msgid' and 'msgstr' for argument {%u} are not the "
+"same"
+msgstr "format-spesifiseringene for argument %lu er ulike"
+
+#: src/format-lisp.c:3371
+#, fuzzy
+msgid "format specifications in 'msgid' and 'msgstr' are not equivalent"
+msgstr "antallet format-spesifiseringer i «msgid» og «msgstr» stemmer ikke"
+
+#: src/format-python.c:391
+#, fuzzy
+msgid ""
+"format specifications in 'msgid' expect a mapping, those in 'msgstr' expect "
+"a tuple"
+msgstr "antallet format-spesifiseringer i «msgid» og «msgstr» stemmer ikke"
+
+#: src/format-python.c:399
+#, fuzzy
+msgid ""
+"format specifications in 'msgid' expect a tuple, those in 'msgstr' expect a "
+"mapping"
+msgstr "antallet format-spesifiseringer i «msgid» og «msgstr» stemmer ikke"
+
+#: src/format-python.c:422
+#, fuzzy, c-format
+msgid "a format specification for argument '%s' doesn't exist in 'msgid'"
+msgstr "format-spesifiseringene for argument %lu er ulike"
+
+#: src/format-python.c:432
+#, fuzzy, c-format
+msgid "a format specification for argument '%s' doesn't exist in 'msgstr'"
+msgstr "format-spesifiseringene for argument %lu er ulike"
+
+#: src/format-python.c:446
+#, fuzzy, c-format
+msgid ""
+"format specifications in 'msgid' and 'msgstr' for argument '%s' are not the "
+"same"
+msgstr "format-spesifiseringene for argument %lu er ulike"
+
+#: src/format-ycp.c:137
+#, fuzzy, c-format
+msgid "a format specification for argument %u doesn't exist in 'msgstr'"
+msgstr "format-spesifiseringene for argument %lu er ulike"
+
+#: src/format-ycp.c:138
+#, fuzzy, c-format
+msgid "a format specification for argument %u doesn't exist in 'msgid'"
+msgstr "format-spesifiseringene for argument %lu er ulike"
 
 # Hva skal MERCHANTABILITY og FITNESS FOR PARTICULAR PURPOSE oversettes med?
 # Er denne oversettelsen grei nok?
-#: src/gettext.c:140 src/msgcmp.c:140 src/msgcomm.c:279 src/msgfmt.c:270
-#: src/msgmerge.c:255 src/msgunfmt.c:170 src/ngettext.c:120 src/xgettext.c:388
+#: src/gettext.c:146 src/hostname.c:168 src/msgattrib.c:264 src/msgcat.c:229
+#: src/msgcmp.c:134 src/msgcomm.c:232 src/msgconv.c:182 src/msgen.c:171
+#: src/msgexec.c:240 src/msgfmt.c:333 src/msggrep.c:276 src/msginit.c:247
+#: src/msgmerge.c:252 src/msgunfmt.c:182 src/msguniq.c:207 src/ngettext.c:126
+#: src/xgettext.c:352
 #, c-format, no-wrap
 msgid ""
 "Copyright (C) %s Free Software Foundation, Inc.\n"
@@ -95,32 +238,50 @@ msgid ""
 msgstr ""
 "Copyright (C) %s Free Software Foundation, Inc.\n"
 "Dette er fri pogramvare; se kildekoden for kopieringsbetingelser.  Det finnes\n"
-"INGEN garanti; ikke engang for SALGBARHET eller SKIKKETHET FOR ET BESTEMT FORMÅL.\n"
-
-#: src/gettext.c:145 src/msgcmp.c:145 src/msgcomm.c:284 src/msgfmt.c:275
-#: src/msgmerge.c:260 src/msgunfmt.c:175 src/ngettext.c:125 src/xgettext.c:393
+"INGEN garanti; ikke engang for SALGBARHET eller SKIKKETHET FOR ET BESTEMT\n"
+"FORMÅL.\n"
+
+#: src/gettext.c:151 src/hostname.c:173 src/msgattrib.c:269 src/msgcat.c:234
+#: src/msgcmp.c:139 src/msgcomm.c:237 src/msgconv.c:187 src/msgen.c:176
+#: src/msgexec.c:245 src/msgfmt.c:338 src/msggrep.c:281 src/msginit.c:252
+#: src/msgmerge.c:257 src/msgunfmt.c:187 src/msguniq.c:212 src/ngettext.c:131
+#: src/xgettext.c:357
 #, c-format
 msgid "Written by %s.\n"
 msgstr "Skrevet av %s.\n"
 
-#: src/gettext.c:163 src/ngettext.c:137
+#: src/gettext.c:169 src/hostname.c:183 src/msginit.c:262 src/ngettext.c:143
 msgid "too many arguments"
 msgstr "for mange argumenter"
 
-#: src/gettext.c:173 src/ngettext.c:149
+#: src/gettext.c:179 src/ngettext.c:155
 msgid "missing arguments"
 msgstr "mangler argumenter"
 
-#: src/gettext.c:245 src/msgcmp.c:177 src/msgcomm.c:377 src/msgfmt.c:387
-#: src/msgmerge.c:315 src/msgunfmt.c:205 src/ngettext.c:204 src/xgettext.c:515
+#: src/gettext.c:251 src/hostname.c:197 src/msgattrib.c:322 src/msgcat.c:290
+#: src/msgcmp.c:171 src/msgcomm.c:306 src/msgconv.c:241 src/msgen.c:227
+#: src/msgexec.c:338 src/msgfmt.c:479 src/msggrep.c:371 src/msginit.c:338
+#: src/msgmerge.c:367 src/msgunfmt.c:262 src/msguniq.c:269 src/ngettext.c:210
+#: src/xgettext.c:499
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "Prøv «%s --help» for mer informasjon.\n"
 
-#: src/gettext.c:250
+#: src/gettext.c:256
 #, c-format, no-wrap
 msgid ""
-"Usage: %s [OPTION] [[[TEXTDOMAIN] MSGID] | [-s [MSGID]...]]\n"
+"Usage: %s [OPTION] [[TEXTDOMAIN] MSGID]\n"
+"or:    %s [OPTION] -s [MSGID]...\n"
+msgstr ""
+
+#: src/gettext.c:262
+#, no-wrap
+msgid "Display native language translation of a textual message.\n"
+msgstr ""
+
+#: src/gettext.c:266
+#, fuzzy, no-wrap
+msgid ""
 "  -d, --domain=TEXTDOMAIN   retrieve translated messages from TEXTDOMAIN\n"
 "  -e                        enable expansion of some escape sequences\n"
 "  -E                        (ignored for compatibility)\n"
@@ -140,10 +301,9 @@ msgstr ""
 "  [TEXTDOMAIN] MSGID        hent oversatt melding som stemmer overens med MSGID\n"
 "                            fra TEXTDOMAIN\n"
 
-#: src/gettext.c:262
+#: src/gettext.c:277
 #, fuzzy, c-format, no-wrap
 msgid ""
-"\n"
 "If the TEXTDOMAIN parameter is not given, the domain is determined from the\n"
 "environment variable TEXTDOMAIN.  If the message catalog is not found in the\n"
 "regular directory, another location can be specified with the environment\n"
@@ -153,188 +313,191 @@ msgid ""
 "found in the selected catalog are translated.\n"
 "Standard search directory: %s\n"
 msgstr ""
+"\n"
 "Dersom TEXTDOMAIN-parameteren ikke er gitt, blir domenet valgt fra\n"
 "miljøvariabelen TEXTDOMAIN.  Dersom meldingskatalogen ikke finnes i den\n"
-"vanlige filkatalogen, kan en annen filkatalog spesifiseres ved hjelp av\n"
+"vanlige katalogen, kan en annen katalog spesifiseres ved hjelp av\n"
 "miljøvariabelen TEXTDOMAIN.\n"
 "Når flagget -s blir brukt, oppfører programmet seg som kommandoen «echo».\n"
 "Programmet kopierer imidlertid ikke sine argumenter til standard ut.  I\n"
-"stedet blir meldinger i den valgte katalogen oversatt.\n"
+"stedet blir funne meldinger i den valgte katalogen oversatt.\n"
 "Standard søkekatalog er: %s\n"
 
-#: src/gettext.c:272 src/msgcmp.c:196 src/msgcomm.c:424 src/msgfmt.c:414
-#: src/msgmerge.c:350 src/msgunfmt.c:229 src/ngettext.c:228 src/xgettext.c:565
-msgid "Report bugs to <bug-gnu-utils@gnu.org>.\n"
+#: src/gettext.c:288 src/hostname.c:227 src/msgattrib.c:402 src/msgcat.c:371
+#: src/msgcmp.c:216 src/msgcomm.c:384 src/msgconv.c:305 src/msgen.c:287
+#: src/msgexec.c:410 src/msgfmt.c:563 src/msggrep.c:457 src/msginit.c:389
+#: src/msgmerge.c:465 src/msgunfmt.c:331 src/msguniq.c:343 src/ngettext.c:244
+#: src/xgettext.c:591
+#, fuzzy
+msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
 msgstr "Rapporter feil til <bug-gnu-utils@gnu.org>.\n"
 
-#: src/msgcmp.c:156 src/msgmerge.c:271
-msgid "no input files given"
-msgstr "ingen innfiler angitt"
+#: src/hostname.c:202 src/msginit.c:343
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION]\n"
+msgstr ""
 
-#: src/msgcmp.c:161 src/msgmerge.c:276
-msgid "exactly 2 input files required"
-msgstr "trenger nøyaktig to innfiler"
+#: src/hostname.c:207
+#, no-wrap
+msgid "Print the machine's hostname.\n"
+msgstr ""
 
-#: src/msgcmp.c:182
-#, c-format, no-wrap
+#: src/hostname.c:212
+#, no-wrap
 msgid ""
-"Usage: %s [OPTION] def.po ref.po\n"
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"Output format:\n"
+"  -s, --short           short host name\n"
+"  -f, --fqdn, --long    long host name, includes fully qualified domain name,\n"
+"                          and aliases\n"
+"  -i, --ip-address      addresses for the hostname\n"
+msgstr ""
+
+#: src/hostname.c:221 src/msgattrib.c:396 src/msgcmp.c:210 src/msgconv.c:299
+#: src/msgen.c:281 src/msgexec.c:404 src/msggrep.c:451 src/msginit.c:383
+#, no-wrap
+msgid ""
+"Informative output:\n"
 "  -h, --help                  display this help and exit\n"
 "  -V, --version               output version information and exit\n"
-"\n"
-"Compare two Uniforum style .po files to check that both contain the same\n"
-"set of msgid strings.  The def.po file is an existing PO file with the\n"
-"old translations.  The ref.po file is the last created PO file\n"
-"(generally by xgettext).  This is useful for checking that you have\n"
-"translated each and every message in your program.  Where an exact match\n"
-"cannot be found, fuzzy matching is used to produce better diagnostics.\n"
 msgstr ""
-"Bruksmåte: %s [FLAGG] def.po ref.po\n"
-"Obligatoriske argumenter til lange flagg er også obligatoriske for korte flagg.\n"
-"  -D, --directory=KATALOG     legge til KATALOG til søkelisten for innfiler\n"
-"  -h, --help                  vise denne hjelpen og avslutte\n"
-"  -V, --version               skrive ut programversjon og avslutte\n"
-"\n"
-"Sammenligne to Uniforum-aktige .po-filer for å sjekke at begge inneholder\n"
-"det samme settet med msgid-strenger.  def.po-filen er en eksisterende PO-fil\n"
-"med de gamle oversettelsene.  ref.po-filen er det sist lagde PO(T)-filen\n"
-"(som regel av xgettext).  Dette er nyttig for å sjekke at du har oversatt\n"
-"alle meldingene i programmet ditt.  Når en eksakt overensstemmelse ikke\n"
-"finnes, blir «fuzzy»-sammenligning brukt for å få en bedre diagnostikk.\n"
 
-#: src/msgcmp.c:255 src/msgmerge.c:741
-msgid "this message is used but not defined..."
-msgstr "denne meldingen er brukt, men ikke definert..."
+#: src/hostname.c:242 src/hostname.c:249
+msgid "could not get host name"
+msgstr ""
 
-#: src/msgcmp.c:257 src/msgmerge.c:743
-msgid "...but this definition is similar"
-msgstr "... men denne definisjonen ligner"
+#: src/msgattrib.c:284 src/msgconv.c:202 src/msgexec.c:190 src/msggrep.c:296
+#: src/msginit.c:205 src/msguniq.c:227
+msgid "at most one input file allowed"
+msgstr ""
 
-#: src/msgcmp.c:263 src/msgmerge.c:770
+#: src/msgattrib.c:290 src/msgattrib.c:294 src/msgcat.c:244 src/msgcat.c:248
+#: src/msgcomm.c:247 src/msgcomm.c:251 src/msgconv.c:208 src/msgconv.c:212
+#: src/msgen.c:198 src/msgen.c:202 src/msgexec.c:260 src/msgexec.c:264
+#: src/msgfmt.c:358 src/msggrep.c:302 src/msggrep.c:306 src/msgmerge.c:282
+#: src/msgmerge.c:303 src/msgmerge.c:307 src/msguniq.c:233 src/msguniq.c:237
+#: src/xgettext.c:367 src/xgettext.c:371
 #, c-format
-msgid "this message is used but not defined in %s"
-msgstr "denne meldingen er brukt, men ikke definert i %s"
+msgid "%s and %s are mutually exclusive"
+msgstr "%s og %s utelukker hverandre"
 
-#: src/msgcmp.c:277
-msgid "warning: this message is not used"
-msgstr "advarsel: denne meldingen er ikke brukt"
+#: src/msgattrib.c:327 src/msgconv.c:246 src/msggrep.c:376 src/msguniq.c:274
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] [INPUTFILE]\n"
+msgstr ""
 
-#: src/msgcmp.c:283 src/po-lex.c:103
-#, fuzzy, c-format
-msgid "found %d fatal error"
-msgid_plural "found %d fatal errors"
-msgstr[0] "fant %d fatale feil"
+#: src/msgattrib.c:332
+#, no-wrap
+msgid ""
+"Filters the messages of a translation catalog according to their attributes,\n"
+"and manipulates the attributes.\n"
+msgstr ""
 
-#: src/msgcmp.c:356 src/msgfmt.c:667 src/msgmerge.c:512 src/xgettext.c:1157
-msgid "duplicate message definition"
-msgstr "duplisert definisjon av melding"
+#: src/msgattrib.c:338 src/msgcat.c:313 src/msgcmp.c:191 src/msgcomm.c:328
+#: src/msgconv.c:256 src/msgen.c:245 src/msgexec.c:353 src/msgfmt.c:494
+#: src/msggrep.c:387 src/msginit.c:354 src/msgmerge.c:390 src/msgunfmt.c:277
+#: src/msguniq.c:291
+#, no-wrap
+msgid "Mandatory arguments to long options are mandatory for short options too.\n"
+msgstr ""
 
-#: src/msgcmp.c:357 src/msgfmt.c:669 src/msgmerge.c:513 src/xgettext.c:1158
-msgid "...this is the location of the first definition"
-msgstr "... dette er lokasjonen til den første definisjonen"
+#: src/msgattrib.c:343 src/msgconv.c:261 src/msggrep.c:392 src/msguniq.c:296
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  INPUTFILE                   input PO file\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"If no input file is given or if it is -, standard input is read.\n"
+msgstr ""
 
-#: src/msgcmp.c:397 src/msgmerge.c:561
-#, c-format
-msgid "this message has no definition in the \"%s\" domain"
-msgstr "denne meldingen har ingen definisjon i «%s»-domenet"
+#: src/msgattrib.c:351 src/msgconv.c:269 src/msgen.c:258 src/msgexec.c:366
+#: src/msggrep.c:400 src/msgmerge.c:412
+#, no-wrap
+msgid ""
+"Output file location:\n"
+"  -o, --output-file=FILE      write output to specified file\n"
+"The results are written to standard output if no output file is specified\n"
+"or if it is -.\n"
+msgstr ""
 
-#. We are about to construct the absolute path to the
-#. directory for the output files but asprintf failed.
-#: src/msgcomm.c:235 src/xgettext.c:327 src/xgettext.c:1353
-msgid "while preparing output"
-msgstr "under klargjøring av utdata"
+#: src/msgattrib.c:359
+#, no-wrap
+msgid ""
+"Message selection:\n"
+"      --translated            keep translated, remove untranslated messages\n"
+"      --untranslated          keep untranslated, remove translated messages\n"
+"      --no-fuzzy              remove 'fuzzy' marked messages\n"
+"      --only-fuzzy            keep 'fuzzy' marked messages\n"
+"      --no-obsolete           remove obsolete #~ messages\n"
+"      --only-obsolete         keep obsolete #~ messages\n"
+msgstr ""
 
-#: src/msgcomm.c:267 src/msgcomm.c:271 src/xgettext.c:365 src/xgettext.c:369
-#, c-format
-msgid "%s and %s are mutually exclusive"
-msgstr "%s og %s utelukker hverandre"
+#: src/msgattrib.c:370
+#, no-wrap
+msgid ""
+"Attribute manipulation:\n"
+"      --set-fuzzy             set all messages 'fuzzy'\n"
+"      --clear-fuzzy           set all messages non-'fuzzy'\n"
+"      --set-obsolete          set all messages obsolete\n"
+"      --clear-obsolete        set all messages non-obsolete\n"
+"      --fuzzy                 synonym for --only-fuzzy --clear-fuzzy\n"
+"      --obsolete              synonym for --only-obsolete --clear-obsolete\n"
+msgstr ""
 
-#: src/msgcomm.c:323
-msgid "at least two files must be specified"
-msgstr "minst to filer må angis"
+#: src/msgattrib.c:381
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
+"  -e, --no-escape             do not use C escapes in output (default)\n"
+"  -E, --escape                use C escapes in output, no extended chars\n"
+"      --force-po              write PO file even if empty\n"
+"  -i, --indent                write the .po file using indented style\n"
+"      --no-location           do not write '#: filename:line' lines\n"
+"  -n, --add-location          generate '#: filename:line' lines (default)\n"
+"      --strict                write out strict Uniforum conforming .po file\n"
+"  -w, --width=NUMBER          set output page width\n"
+"  -s, --sort-output           generate sorted output\n"
+"  -F, --sort-by-file          sort output by file location\n"
+msgstr ""
+"Bruksmåte: %s [FLAGG] def.po ref.po\n"
+"Obligatoriske argumenter til lange flagg er også obligatoriske for korte flagg.\n"
+"  -C  --compendium=FIL        ytterligere bibliotek med oversettelser,\n"
+"                              kan bli angitt mer enn en gang\n"
+"  -D, --directory=KATALOG     legge KATALOG til søkelisten over innfiler\n"
+"  -e, --no-escape             ikke bruke C-escapekoder i utdata (standard)\n"
+"  -E, --escape                bruk C-escaper i utdata, ingen utvidede tegn\n"
+"      --force-po              skriv PO-fil selv om den blir tom\n"
+"  -h, --help                  vise denne hjelpen og avslutte\n"
+"  -i, --indent                innrykk i utdata\n"
+"  -o, --output-file=FIL       resultat vil bli skrevet til FIL\n"
+"      --no-location           undertrykk «#: filnavn:linje»-linjer\n"
+"      --add-location          bevar «#: filnavn:linje»-linjer (standard)\n"
+"      --strict                lag streng Uniforum-konform utdata\n"
+"  -v, --verbose               gi mer fyldige meldinger\n"
+"  -V, --version               skriv ut programversjon og avslutt\n"
+"  -w, --width=ANTALL          sett sidebredden i utdata\n"
 
-#: src/msgcomm.c:334
+#: src/msgcat.c:254 src/msgcomm.c:277
 #, c-format
 msgid "impossible selection criteria specified (%d < n < %d)"
 msgstr "umulig utvalgskriterie angitt (%d < n < %d)"
 
-#: src/msgcomm.c:382
+#: src/msgcat.c:295 src/msgcomm.c:311 src/xgettext.c:504
 #, c-format, no-wrap
-msgid ""
-"Usage: %s [OPTION] INPUTFILE ...\n"
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"  -d, --default-domain=NAME      use NAME.po for output (instead of messages.po)\n"
-"  -D, --directory=DIRECTORY      add DIRECTORY to list for input files search\n"
-"  -e, --no-escape                do not use C escapes in output (default)\n"
-"  -E, --escape                   use C escapes in output, no extended chars\n"
-"  -f, --files-from=FILE          get list of input files from FILE\n"
-"      --force-po                 write PO file even if empty\n"
-"  -F, --sort-by-file             sort output by file location\n"
-"  -h, --help                     display this help and exit\n"
-msgstr ""
-"Bruksmåte: %s [FLAGG] INNFIL ...\n"
-"Obligatoriske argumenter til lange flagg er også obligatorisk for korte flagg.\n"
-"  -d, --default-domain=NAVN      bruk NAVN.po som resultatfil (istedet for messages.po)\n"
-"  -D, --directory=KATALOG        legge til KATALOG til søkelisten for innfiler\n"
-"  -e, --no-escape                ikke bruk C-escapekoder i utdata (standard)\n"
-"  -E, --escape                   bruk C-escapekoder i utdata, ingen utvidede tegn\n"
-"  -f, --files-from=FIL           hent liste av innfiler fra FIL\n"
-"      --force-po                 skriv PO-fil selv om den vil bli tom\n"
-"  -F, --sort-by-file             sorter utdata etter fillokasjon\n"
-"  -h, --help                     vise denne hjelpen og avslutte\n"
-
-#: src/msgcomm.c:394
-#, fuzzy
-msgid ""
-"  -i, --indent                   write the .po file using indented style\n"
-"      --no-location              do not write '#: filename:line' lines\n"
-"  -n, --add-location             generate '#: filename:line' lines "
-"(default)\n"
-"      --omit-header              don't write header with `msgid \"\"' entry\n"
-"  -o, --output=FILE              write output to specified file\n"
-"  -p, --output-dir=DIR           output files will be placed in directory "
-"DIR\n"
-"  -s, --sort-output              generate sorted output and remove "
-"duplicates\n"
-"      --strict                   write out strict Uniforum conforming .po "
-"file\n"
-"  -T, --trigraphs                understand ANSI C trigraphs for input\n"
-"  -u, --unique                   shorthand for --less-than=2, requests\n"
-"                                 that only unique messages be printed\n"
+msgid "Usage: %s [OPTION] [INPUTFILE]...\n"
 msgstr ""
-"  -i, --indent                   skrive ut .po-filen med innrykk\n"
-"      --no-location              ikke skriv «#: filnavn:linje»-linjer\n"
-"  -n, --add-location             genererer «#: filnavn:linje»-linjer "
-"(standard)\n"
-"      --omit-header              ikke skriv hode med «msgid »\n"
-"  -o, --output=FIL               skriv utdata til angitt FIL\n"
-"  -p, --output-dir=KAT           utfiler plasseres i katalogen KAT\n"
-"  -s, --sort-output              generer sortert utdata og fjern duplikater\n"
-"      --strict                   skriv ut streng Uniforum-konform .po-fil\n"
-"  -T, --trigraphs                forstå ANSI C trigraphs i inndata\n"
-"  -u, --unique                   kortform --less-than=2, krever\n"
-"                                 at bare unike meldinger blir skrevet ut\n"
-
-#: src/msgcomm.c:407
+
+#: src/msgcat.c:300
+#, fuzzy, no-wrap
 msgid ""
-"  -V, --version                  output version information and exit\n"
-"  -w, --width=NUMBER             set output page width\n"
-"  -<, --less-than=NUMBER         print messages with less than this many\n"
-"                                 definitions, defaults to infinite if not\n"
-"                                 set\n"
-"  ->, --more-than=NUMBER         print messages with more than this many\n"
-"                                 definitions, defaults to 1 if not set\n"
-"\n"
+"Concatenates and merges the specified PO files.\n"
 "Find messages which are common to two or more of the specified PO files.\n"
 "By using the --more-than option, greater commonality may be requested\n"
 "before messages are printed.  Conversely, the --less-than option may be\n"
 "used to specify less commonality before messages are printed (i.e.\n"
 "--less-than=2 will only print the unique messages).  Translations,\n"
-"comments and extract comments will be preserved, but only from the first\n"
-"PO file to define them.  File positions from all PO files will be\n"
-"preserved.\n"
+"comments and extract comments will be cumulated, except that if --use-first\n"
+"is specified, they will be taken from the first PO file to define them.\n"
+"File positions from all PO files will be cumulated.\n"
 msgstr ""
 "  -V, --version                  skrive ut programversjon og avslutte\n"
 "  -w, --width=ANTALL             sett sidebredden i utdata\n"
@@ -342,8 +505,7 @@ msgstr ""
 "                                 definisjoner, standard er uendelig dersom\n"
 "                                 ikke satt\n"
 "  ->, --more-than=ANTALL         skrive ut meldinger med mer enn ANTALL\n"
-"                                 definisjoner, standard er 1 dersom ikke "
-"satt\n"
+"                                 definisjoner, standard er 1 dersom ikke satt\n"
 "\n"
 "Finne meldinger som er felles i to eller flere av de angitt PO-filene.\n"
 "Ved å bruke --more-than-flagget, kan økt fellesskap bli anmodet\n"
@@ -354,211 +516,821 @@ msgstr ""
 "PO-filen som definerer dem.  Filposisjonene fra alle PO-filene vil\n"
 "bli bevart.\n"
 
-#: src/msgcomm.c:458 src/msgunfmt.c:361 src/po-lex.c:86 src/xget-lex.c:157
-#: src/xget-lex.c:170 src/xget-lex.c:180 src/xgettext.c:599
-#, c-format
-msgid "error while opening \"%s\" for reading"
-msgstr "feil under åpning av «%s» for lesing"
-
-#: src/msgcomm.c:539 src/xgettext.c:641 src/xgettext.c:1059
-msgid "this file may not contain domain directives"
-msgstr "denne filen kan ikke inneholde domene-direktiver"
-
-#: src/msgfmt.c:286 src/xgettext.c:404
-msgid "no input file given"
-msgstr "ingen innfil angitt"
-
-#: src/msgfmt.c:337
-#, c-format
-msgid "error while opening \"%s\" for writing"
-msgstr "feil under åpning av «%s» for skriving"
-
-#: src/msgfmt.c:360
-#, fuzzy, c-format
-msgid "%d translated message"
-msgid_plural "%d translated messages"
-msgstr[0] "%d oversatte meldinger"
-
-#: src/msgfmt.c:365
-#, fuzzy, c-format
-msgid ", %d fuzzy translation"
-msgid_plural ", %d fuzzy translations"
-msgstr[0] ", %d antatte oversettelser"
+#: src/msgcat.c:318 src/msgcomm.c:333 src/xgettext.c:520
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  INPUTFILE ...                  input files\n"
+"  -f, --files-from=FILE          get list of input files from FILE\n"
+"  -D, --directory=DIRECTORY      add DIRECTORY to list for input files search\n"
+"If input file is -, standard input is read.\n"
+msgstr ""
 
-#: src/msgfmt.c:370
-#, fuzzy, c-format
-msgid ", %d untranslated message"
-msgid_plural ", %d untranslated messages"
-msgstr[0] ", %d uoversatte meldinger"
+#: src/msgcat.c:327 src/msgcomm.c:342 src/msguniq.c:304
+#, no-wrap
+msgid ""
+"Output file location:\n"
+"  -o, --output-file=FILE         write output to specified file\n"
+"The results are written to standard output if no output file is specified\n"
+"or if it is -.\n"
+msgstr ""
 
-#: src/msgfmt.c:392
-#, c-format, no-wrap
+#: src/msgcat.c:335
+#, fuzzy, no-wrap
 msgid ""
-"Usage: %s [OPTION] filename.po ...\n"
-"Generate binary message catalog from textual translation description.\n"
-"\n"
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"  -a, --alignment=NUMBER      align strings to NUMBER bytes (default: %d)\n"
-"  -c, --check                 perform language dependent checks on strings\n"
-"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
-"  -f, --use-fuzzy             use fuzzy entries in output\n"
-"  -h, --help                  display this help and exit\n"
-"      --no-hash               binary file will not include the hash table\n"
-"  -o, --output-file=FILE      specify output file name as FILE\n"
-"      --statistics            print statistics about translations\n"
-"      --strict                enable strict Uniforum mode\n"
-"  -v, --verbose               list input file anomalies\n"
-"  -V, --version               output version information and exit\n"
+"Message selection:\n"
+"  -<, --less-than=NUMBER         print messages with less than this many\n"
+"                                 definitions, defaults to infinite if not\n"
+"                                 set\n"
+"  ->, --more-than=NUMBER         print messages with more than this many\n"
+"                                 definitions, defaults to 0 if not set\n"
+"  -u, --unique                   shorthand for --less-than=2, requests\n"
+"                                 that only unique messages be printed\n"
+msgstr ""
+"  -V, --version                  skrive ut programversjon og avslutte\n"
+"  -w, --width=ANTALL             sett sidebredden i utdata\n"
+"  -<, --less-than=ANTALL         skrive ut meldinger med mindre enn ANTALL\n"
+"                                 definisjoner, standard er uendelig dersom\n"
+"                                 ikke satt\n"
+"  ->, --more-than=ANTALL         skrive ut meldinger med mer enn ANTALL\n"
+"                                 definisjoner, standard er 1 dersom ikke satt\n"
 "\n"
-"Giving the -v option more than once increases the verbosity level.\n"
+"Finne meldinger som er felles i to eller flere av de angitt PO-filene.\n"
+"Ved å bruke --more-than-flagget, kan økt fellesskap bli anmodet\n"
+"før meldingene blir skrevet ut.  Omvendt kan --less-than-flagget brukes\n"
+"for å angi mindre fellesskap for meldingene blir skrevet ut (eks.\n"
+"--less-than=2 vil bare skrive ut unike meldinger).  Oversettelser,\n"
+"kommentarer og uttrekkskommentarer bevares, men bare fra den første\n"
+"PO-filen som definerer dem.  Filposisjonene fra alle PO-filene vil\n"
+"bli bevart.\n"
+
+#: src/msgcat.c:347 src/msguniq.c:319
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
+"  -t, --to-code=NAME             encoding for output\n"
+"      --use-first                use first available translation for each\n"
+"                                 message, don't merge several translations\n"
+"  -e, --no-escape                do not use C escapes in output (default)\n"
+"  -E, --escape                   use C escapes in output, no extended chars\n"
+"      --force-po                 write PO file even if empty\n"
+"  -i, --indent                   write the .po file using indented style\n"
+"      --no-location              do not write '#: filename:line' lines\n"
+"  -n, --add-location             generate '#: filename:line' lines (default)\n"
+"      --strict                   write out strict Uniforum conforming .po file\n"
+"  -w, --width=NUMBER             set output page width\n"
+"  -s, --sort-output              generate sorted output\n"
+"  -F, --sort-by-file             sort output by file location\n"
+msgstr ""
+"Bruksmåte: %s [FLAGG] def.po ref.po\n"
+"Obligatoriske argumenter til lange flagg er også obligatoriske for korte flagg.\n"
+"  -C  --compendium=FIL        ytterligere bibliotek med oversettelser,\n"
+"                              kan bli angitt mer enn en gang\n"
+"  -D, --directory=KATALOG     legge KATALOG til søkelisten over innfiler\n"
+"  -e, --no-escape             ikke bruke C-escapekoder i utdata (standard)\n"
+"  -E, --escape                bruk C-escaper i utdata, ingen utvidede tegn\n"
+"      --force-po              skriv PO-fil selv om den blir tom\n"
+"  -h, --help                  vise denne hjelpen og avslutte\n"
+"  -i, --indent                innrykk i utdata\n"
+"  -o, --output-file=FIL       resultat vil bli skrevet til FIL\n"
+"      --no-location           undertrykk «#: filnavn:linje»-linjer\n"
+"      --add-location          bevar «#: filnavn:linje»-linjer (standard)\n"
+"      --strict                lag streng Uniforum-konform utdata\n"
+"  -v, --verbose               gi mer fyldige meldinger\n"
+"  -V, --version               skriv ut programversjon og avslutt\n"
+"  -w, --width=ANTALL          sett sidebredden i utdata\n"
+
+#: src/msgcat.c:365 src/msgcomm.c:378 src/msguniq.c:337 src/xgettext.c:585
+#, no-wrap
+msgid ""
+"Informative output:\n"
+"  -h, --help                     display this help and exit\n"
+"  -V, --version                  output version information and exit\n"
+msgstr ""
+
+#: src/msgcmp.c:150 src/msgmerge.c:268
+msgid "no input files given"
+msgstr "ingen innfiler angitt"
+
+#: src/msgcmp.c:155 src/msgmerge.c:273
+msgid "exactly 2 input files required"
+msgstr "trenger nøyaktig to innfiler"
+
+#: src/msgcmp.c:176 src/msgmerge.c:372
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] def.po ref.pot\n"
+msgstr ""
+
+#: src/msgcmp.c:181
+#, fuzzy, no-wrap
+msgid ""
+"Compare two Uniforum style .po files to check that both contain the same\n"
+"set of msgid strings.  The def.po file is an existing PO file with the\n"
+"translations.  The ref.pot file is the last created PO file, or a PO Template\n"
+"file (generally created by xgettext).  This is useful for checking that\n"
+"you have translated each and every message in your program.  Where an exact\n"
+"match cannot be found, fuzzy matching is used to produce better diagnostics.\n"
+msgstr ""
+"Bruksmåte: %s [FLAGG] def.po ref.po\n"
+"Obligatoriske argumenter til lange flagg er også obligatoriske for korte flagg.\n"
+"  -D, --directory=KATALOG     legge til KATALOG til søkelisten for innfiler\n"
+"  -h, --help                  vise denne hjelpen og avslutte\n"
+"  -V, --version               skrive ut programversjon og avslutte\n"
 "\n"
-"If input file is -, standard input is read.  If output file is -,\n"
-"output is written to standard output.\n"
+"Sammenligne to Uniforum-aktige .po-filer for å sjekke at begge inneholder\n"
+"det samme settet med msgid-strenger.  def.po-filen er en eksisterende PO-fil\n"
+"med de gamle oversettelsene.  ref.po-filen er det sist lagde PO(T)-filen\n"
+"(som regel av xgettext).  Dette er nyttig for å sjekke at du har oversatt\n"
+"alle meldingene i programmet ditt.  Når en eksakt overensstemmelse ikke\n"
+"finnes, blir «fuzzy»-sammenligning brukt for å få en bedre diagnostikk.\n"
+
+#: src/msgcmp.c:196
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  def.po                      translations\n"
+"  ref.pot                     references to the sources\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+msgstr ""
+
+#: src/msgcmp.c:204 src/msgmerge.c:436
+#, no-wrap
+msgid ""
+"Operation modifiers:\n"
+"  -m, --multi-domain          apply ref.pot to each of the domains in def.po\n"
+msgstr ""
+
+#: src/msgcmp.c:253 src/msgmerge.c:543
+msgid "this message is used but not defined..."
+msgstr "denne meldingen er brukt, men ikke definert..."
+
+#: src/msgcmp.c:255 src/msgmerge.c:545
+msgid "...but this definition is similar"
+msgstr "... men denne definisjonen ligner"
+
+#: src/msgcmp.c:260 src/msgmerge.c:572
+#, c-format
+msgid "this message is used but not defined in %s"
+msgstr "denne meldingen er brukt, men ikke definert i %s"
+
+#: src/msgcmp.c:332
+msgid "warning: this message is not used"
+msgstr "advarsel: denne meldingen er ikke brukt"
+
+#: src/msgcmp.c:339 src/po-lex.c:705
+#, c-format
+msgid "found %d fatal error"
+msgid_plural "found %d fatal errors"
+msgstr[0] "fant %d fatale feil"
+msgstr[1] "fant %d fatale feil"
+
+#: src/msgcmp.c:420 src/msgfmt.c:1323 src/read-po.c:202 src/x-po.c:163
+msgid "duplicate message definition"
+msgstr "duplisert definisjon av melding"
+
+#: src/msgcmp.c:421 src/msgfmt.c:1324 src/read-po.c:203 src/x-po.c:164
+msgid "...this is the location of the first definition"
+msgstr "... dette er lokasjonen til den første definisjonen"
+
+#: src/msgcomm.c:266
+msgid "at least two files must be specified"
+msgstr "minst to filer må angis"
+
+#: src/msgcomm.c:316
+#, fuzzy, no-wrap
+msgid ""
+"Find messages which are common to two or more of the specified PO files.\n"
+"By using the --more-than option, greater commonality may be requested\n"
+"before messages are printed.  Conversely, the --less-than option may be\n"
+"used to specify less commonality before messages are printed (i.e.\n"
+"--less-than=2 will only print the unique messages).  Translations,\n"
+"comments and extract comments will be preserved, but only from the first\n"
+"PO file to define them.  File positions from all PO files will be\n"
+"cumulated.\n"
+msgstr ""
+"  -V, --version                  skrive ut programversjon og avslutte\n"
+"  -w, --width=ANTALL             sett sidebredden i utdata\n"
+"  -<, --less-than=ANTALL         skrive ut meldinger med mindre enn ANTALL\n"
+"                                 definisjoner, standard er uendelig dersom\n"
+"                                 ikke satt\n"
+"  ->, --more-than=ANTALL         skrive ut meldinger med mer enn ANTALL\n"
+"                                 definisjoner, standard er 1 dersom ikke satt\n"
+"\n"
+"Finne meldinger som er felles i to eller flere av de angitt PO-filene.\n"
+"Ved å bruke --more-than-flagget, kan økt fellesskap bli anmodet\n"
+"før meldingene blir skrevet ut.  Omvendt kan --less-than-flagget brukes\n"
+"for å angi mindre fellesskap for meldingene blir skrevet ut (eks.\n"
+"--less-than=2 vil bare skrive ut unike meldinger).  Oversettelser,\n"
+"kommentarer og uttrekkskommentarer bevares, men bare fra den første\n"
+"PO-filen som definerer dem.  Filposisjonene fra alle PO-filene vil\n"
+"bli bevart.\n"
+
+#: src/msgcomm.c:350
+#, fuzzy, no-wrap
+msgid ""
+"Message selection:\n"
+"  -<, --less-than=NUMBER         print messages with less than this many\n"
+"                                 definitions, defaults to infinite if not\n"
+"                                 set\n"
+"  ->, --more-than=NUMBER         print messages with more than this many\n"
+"                                 definitions, defaults to 1 if not set\n"
+"  -u, --unique                   shorthand for --less-than=2, requests\n"
+"                                 that only unique messages be printed\n"
+msgstr ""
+"  -V, --version                  skrive ut programversjon og avslutte\n"
+"  -w, --width=ANTALL             sett sidebredden i utdata\n"
+"  -<, --less-than=ANTALL         skrive ut meldinger med mindre enn ANTALL\n"
+"                                 definisjoner, standard er uendelig dersom\n"
+"                                 ikke satt\n"
+"  ->, --more-than=ANTALL         skrive ut meldinger med mer enn ANTALL\n"
+"                                 definisjoner, standard er 1 dersom ikke satt\n"
+"\n"
+"Finne meldinger som er felles i to eller flere av de angitt PO-filene.\n"
+"Ved å bruke --more-than-flagget, kan økt fellesskap bli anmodet\n"
+"før meldingene blir skrevet ut.  Omvendt kan --less-than-flagget brukes\n"
+"for å angi mindre fellesskap for meldingene blir skrevet ut (eks.\n"
+"--less-than=2 vil bare skrive ut unike meldinger).  Oversettelser,\n"
+"kommentarer og uttrekkskommentarer bevares, men bare fra den første\n"
+"PO-filen som definerer dem.  Filposisjonene fra alle PO-filene vil\n"
+"bli bevart.\n"
+
+#: src/msgcomm.c:362
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
+"  -e, --no-escape                do not use C escapes in output (default)\n"
+"  -E, --escape                   use C escapes in output, no extended chars\n"
+"      --force-po                 write PO file even if empty\n"
+"  -i, --indent                   write the .po file using indented style\n"
+"      --no-location              do not write '#: filename:line' lines\n"
+"  -n, --add-location             generate '#: filename:line' lines (default)\n"
+"      --strict                   write out strict Uniforum conforming .po file\n"
+"  -w, --width=NUMBER             set output page width\n"
+"  -s, --sort-output              generate sorted output\n"
+"  -F, --sort-by-file             sort output by file location\n"
+"      --omit-header              don't write header with `msgid \"\"' entry\n"
+msgstr ""
+"Bruksmåte: %s [FLAGG] def.po ref.po\n"
+"Obligatoriske argumenter til lange flagg er også obligatoriske for korte flagg.\n"
+"  -C  --compendium=FIL        ytterligere bibliotek med oversettelser,\n"
+"                              kan bli angitt mer enn en gang\n"
+"  -D, --directory=KATALOG     legge KATALOG til søkelisten over innfiler\n"
+"  -e, --no-escape             ikke bruke C-escapekoder i utdata (standard)\n"
+"  -E, --escape                bruk C-escaper i utdata, ingen utvidede tegn\n"
+"      --force-po              skriv PO-fil selv om den blir tom\n"
+"  -h, --help                  vise denne hjelpen og avslutte\n"
+"  -i, --indent                innrykk i utdata\n"
+"  -o, --output-file=FIL       resultat vil bli skrevet til FIL\n"
+"      --no-location           undertrykk «#: filnavn:linje»-linjer\n"
+"      --add-location          bevar «#: filnavn:linje»-linjer (standard)\n"
+"      --strict                lag streng Uniforum-konform utdata\n"
+"  -v, --verbose               gi mer fyldige meldinger\n"
+"  -V, --version               skriv ut programversjon og avslutt\n"
+"  -w, --width=ANTALL          sett sidebredden i utdata\n"
+
+#: src/msgconv.c:251
+#, no-wrap
+msgid "Converts a translation catalog to a different character encoding.\n"
+msgstr ""
+
+#: src/msgconv.c:277
+#, no-wrap
+msgid ""
+"Conversion target:\n"
+"  -t, --to-code=NAME          encoding for output\n"
+"The default encoding is the current locale's encoding.\n"
+msgstr ""
+
+#: src/msgconv.c:284 src/msgen.c:266 src/msgmerge.c:442
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
+"  -e, --no-escape             do not use C escapes in output (default)\n"
+"  -E, --escape                use C escapes in output, no extended chars\n"
+"      --force-po              write PO file even if empty\n"
+"  -i, --indent                indented output style\n"
+"      --no-location           suppress '#: filename:line' lines\n"
+"      --add-location          preserve '#: filename:line' lines (default)\n"
+"      --strict                strict Uniforum output style\n"
+"  -w, --width=NUMBER          set output page width\n"
+"  -s, --sort-output           generate sorted output\n"
+"  -F, --sort-by-file          sort output by file location\n"
+msgstr ""
+"Bruksmåte: %s [FLAGG] def.po ref.po\n"
+"Obligatoriske argumenter til lange flagg er også obligatoriske for korte flagg.\n"
+"  -C  --compendium=FIL        ytterligere bibliotek med oversettelser,\n"
+"                              kan bli angitt mer enn en gang\n"
+"  -D, --directory=KATALOG     legge KATALOG til søkelisten over innfiler\n"
+"  -e, --no-escape             ikke bruke C-escapekoder i utdata (standard)\n"
+"  -E, --escape                bruk C-escaper i utdata, ingen utvidede tegn\n"
+"      --force-po              skriv PO-fil selv om den blir tom\n"
+"  -h, --help                  vise denne hjelpen og avslutte\n"
+"  -i, --indent                innrykk i utdata\n"
+"  -o, --output-file=FIL       resultat vil bli skrevet til FIL\n"
+"      --no-location           undertrykk «#: filnavn:linje»-linjer\n"
+"      --add-location          bevar «#: filnavn:linje»-linjer (standard)\n"
+"      --strict                lag streng Uniforum-konform utdata\n"
+"  -v, --verbose               gi mer fyldige meldinger\n"
+"  -V, --version               skriv ut programversjon og avslutt\n"
+"  -w, --width=ANTALL          sett sidebredden i utdata\n"
+
+#: src/msgen.c:187 src/msgfmt.c:349 src/xgettext.c:388
+msgid "no input file given"
+msgstr "ingen innfil angitt"
+
+#: src/msgen.c:192
+#, fuzzy
+msgid "exactly one input file required"
+msgstr "trenger nøyaktig to innfiler"
+
+#: src/msgen.c:232
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] INPUTFILE\n"
+msgstr ""
+
+#: src/msgen.c:237
+#, no-wrap
+msgid ""
+"Creates an English translation catalog.  The input file is the last\n"
+"created English PO file, or a PO Template file (generally created by\n"
+"xgettext).  Untranslated entries are assigned a translation that is\n"
+"identical to the msgid, and are marked fuzzy.\n"
+msgstr ""
+
+#: src/msgen.c:250
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  INPUTFILE                   input PO or POT file\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"If input file is -, standard input is read.\n"
+msgstr ""
+
+#: src/msgexec.c:255
+#, fuzzy
+msgid "missing filter name"
+msgstr "mangler argumenter"
+
+#: src/msgexec.c:279
+#, fuzzy
+msgid "at least one sed script must be specified"
+msgstr "minst to filer må angis"
+
+#: src/msgexec.c:343
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] FILTER [FILTER-OPTION]\n"
+msgstr ""
+
+#: src/msgexec.c:348
+#, no-wrap
+msgid "Applies a filter to all translations of a translation catalog.\n"
+msgstr ""
+
+#: src/msgexec.c:358
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  -i, --input=INPUTFILE       input PO file\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"If no input file is given or if it is -, standard input is read.\n"
+msgstr ""
+
+#: src/msgexec.c:374
+#, no-wrap
+msgid ""
+"The FILTER can be any program that reads a translation from standard input\n"
+"and writes a modified translation to standard output.\n"
+msgstr ""
+
+#: src/msgexec.c:380
+#, no-wrap
+msgid ""
+"Useful FILTER-OPTIONs when the FILTER is 'sed':\n"
+"  -e, --expression=SCRIPT     add SCRIPT to the commands to be executed\n"
+"  -f, --file=SCRIPTFILE       add the contents of SCRIPTFILE to the commands\n"
+"                                to be executed\n"
+"  -n, --quiet, --silent       suppress automatic printing of pattern space\n"
+msgstr ""
+
+#: src/msgexec.c:389
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
+"      --no-escape             do not use C escapes in output (default)\n"
+"  -E, --escape                use C escapes in output, no extended chars\n"
+"      --force-po              write PO file even if empty\n"
+"      --indent                indented output style\n"
+"      --no-location           suppress '#: filename:line' lines\n"
+"      --add-location          preserve '#: filename:line' lines (default)\n"
+"      --strict                strict Uniforum output style\n"
+"  -w, --width=NUMBER          set output page width\n"
+"  -s, --sort-output           generate sorted output\n"
+"  -F, --sort-by-file          sort output by file location\n"
+msgstr ""
+"Bruksmåte: %s [FLAGG] def.po ref.po\n"
+"Obligatoriske argumenter til lange flagg er også obligatoriske for korte flagg.\n"
+"  -C  --compendium=FIL        ytterligere bibliotek med oversettelser,\n"
+"                              kan bli angitt mer enn en gang\n"
+"  -D, --directory=KATALOG     legge KATALOG til søkelisten over innfiler\n"
+"  -e, --no-escape             ikke bruke C-escapekoder i utdata (standard)\n"
+"  -E, --escape                bruk C-escaper i utdata, ingen utvidede tegn\n"
+"      --force-po              skriv PO-fil selv om den blir tom\n"
+"  -h, --help                  vise denne hjelpen og avslutte\n"
+"  -i, --indent                innrykk i utdata\n"
+"  -o, --output-file=FIL       resultat vil bli skrevet til FIL\n"
+"      --no-location           undertrykk «#: filnavn:linje»-linjer\n"
+"      --add-location          bevar «#: filnavn:linje»-linjer (standard)\n"
+"      --strict                lag streng Uniforum-konform utdata\n"
+"  -v, --verbose               gi mer fyldige meldinger\n"
+"  -V, --version               skriv ut programversjon og avslutt\n"
+"  -w, --width=ANTALL          sett sidebredden i utdata\n"
+
+#: src/msgexec.c:546
+#, c-format
+msgid "cannot set up nonblocking I/O to %s subprocess"
+msgstr ""
+
+#: src/msgexec.c:574
+#, c-format
+msgid "communication with %s subprocess failed"
+msgstr ""
+
+#: src/msgexec.c:594
+#, c-format
+msgid "write to %s subprocess failed"
+msgstr ""
+
+#: src/msgexec.c:625
+#, c-format
+msgid "read from %s subprocess failed"
+msgstr ""
+
+#: src/msgexec.c:641
+#, c-format
+msgid "%s subprocess terminated with exit code %d"
+msgstr ""
+
+#: src/msgfmt.c:303
+#, c-format
+msgid "the argument to %s should be a single punctuation character"
+msgstr ""
+
+#: src/msgfmt.c:364
+#, c-format
+msgid "%s requires a \"-d directory\" specification"
+msgstr ""
+
+#: src/msgfmt.c:373 src/msgfmt.c:379 src/msgfmt.c:385 src/msgmerge.c:290
+#: src/msgmerge.c:296 src/msgunfmt.c:209 src/msgunfmt.c:215
+#, c-format
+msgid "%s is only valid with %s"
+msgstr ""
+
+#: src/msgfmt.c:452
+#, c-format
+msgid "%d translated message"
+msgid_plural "%d translated messages"
+msgstr[0] "%d oversatt melding"
+msgstr[1] "%d oversatte meldinger"
+
+#: src/msgfmt.c:457
+#, c-format
+msgid ", %d fuzzy translation"
+msgid_plural ", %d fuzzy translations"
+msgstr[0] ", %d antatt oversettelse"
+msgstr[1] ", %d antatte oversettelser"
+
+#: src/msgfmt.c:462
+#, c-format
+msgid ", %d untranslated message"
+msgid_plural ", %d untranslated messages"
+msgstr[0] ", %d uoversatt melding"
+msgstr[1] ", %d uoversatte meldinger"
+
+#: src/msgfmt.c:484
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] filename.po ...\n"
+msgstr ""
+
+#: src/msgfmt.c:489
+#, no-wrap
+msgid "Generate binary message catalog from textual translation description.\n"
+msgstr ""
+
+#: src/msgfmt.c:499
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  filename.po ...             input files\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"If input file is -, standard input is read.\n"
+msgstr ""
+
+#: src/msgfmt.c:507
+#, no-wrap
+msgid ""
+"Operation mode:\n"
+"  -j, --java                  Java mode: generate a Java ResourceBundle class\n"
+"      --java2                 like --java, and assume Java2 (JDK 1.2 or higher)\n"
+msgstr ""
+
+#: src/msgfmt.c:514
+#, no-wrap
+msgid ""
+"Output file location:\n"
+"  -o, --output-file=FILE      write output to specified file\n"
+"      --strict                enable strict Uniforum mode\n"
+"If output file is -, output is written to standard output.\n"
+msgstr ""
+
+#: src/msgfmt.c:522
+#, no-wrap
+msgid ""
+"Output file location in Java mode:\n"
+"  -r, --resource=RESOURCE     resource name\n"
+"  -l, --locale=LOCALE         locale name, either language or language_COUNTRY\n"
+"  -d DIRECTORY                base directory of classes directory hierarchy\n"
+"The class name is determined by appending the locale name to the resource name,\n"
+"separated with an underscore.  The -d option is mandatory.  The class is\n"
+"written under the specified directory.\n"
+msgstr ""
+
+#: src/msgfmt.c:533
+#, no-wrap
+msgid ""
+"Input file interpretation:\n"
+"  -c, --check                 perform all the checks implied by\n"
+"                                --check-format, --check-header, --check-domain\n"
+"      --check-format          check language dependent format strings\n"
+"      --check-header          verify presence and contents of the header entry\n"
+"      --check-domain          check for conflicts between domain directives\n"
+"                                and the --output-file option\n"
+"  -C, --check-compatibility   check that GNU msgfmt behaves like X/Open msgfmt\n"
+"      --check-accelerators[=CHAR]  check presence of keyboard accelerators for\n"
+"                                menu items\n"
+"  -f, --use-fuzzy             use fuzzy entries in output\n"
+msgstr ""
+
+#: src/msgfmt.c:548
+#, c-format, no-wrap
+msgid ""
+"Output details:\n"
+"  -a, --alignment=NUMBER      align strings to NUMBER bytes (default: %d)\n"
+"      --no-hash               binary file will not include the hash table\n"
+msgstr ""
+
+#: src/msgfmt.c:555
+#, no-wrap
+msgid ""
+"Informative output:\n"
+"  -h, --help                  display this help and exit\n"
+"  -V, --version               output version information and exit\n"
+"      --statistics            print statistics about translations\n"
+"  -v, --verbose               increase verbosity level\n"
+msgstr ""
+
+#: src/msgfmt.c:707
+msgid "plural expression can produce negative values"
+msgstr ""
+
+#: src/msgfmt.c:720
+#, c-format
+msgid "nplurals = %lu but plural expression can produce values as large as %lu"
+msgstr ""
+
+#: src/msgfmt.c:746
+msgid "plural expression can produce division by zero"
+msgstr ""
+
+#: src/msgfmt.c:751
+msgid "plural expression can produce integer overflow"
+msgstr ""
+
+#: src/msgfmt.c:756
+msgid ""
+"plural expression can produce arithmetic exceptions, possibly division by "
+"zero"
+msgstr ""
+
+#: src/msgfmt.c:830 src/msgfmt.c:841
+msgid "message catalog has plural form translations..."
+msgstr ""
+
+#: src/msgfmt.c:833
+msgid "...but header entry lacks a \"plural=EXPRESSION\" attribute"
+msgstr ""
+
+#: src/msgfmt.c:844
+msgid "...but header entry lacks a \"nplurals=INTEGER\" attribute"
+msgstr ""
+
+#: src/msgfmt.c:868
+#, fuzzy
+msgid "invalid nplurals value"
+msgstr "ulovlig kontrollsekvens"
+
+#: src/msgfmt.c:881
+msgid "invalid plural expression"
+msgstr ""
+
+#: src/msgfmt.c:899 src/msgfmt.c:912
+#, c-format
+msgid "nplurals = %lu..."
+msgstr ""
+
+#: src/msgfmt.c:902
+#, c-format
+msgid "...but some messages have only %lu plural forms"
+msgstr ""
+
+#: src/msgfmt.c:915
+#, c-format
+msgid "...but some messages have %lu plural forms"
+msgstr ""
+
+#: src/msgfmt.c:930
+msgid ""
+"message catalog has plural form translations, but lacks a header entry with "
+"\"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\""
+msgstr ""
+
+#: src/msgfmt.c:968
+msgid "`msgid' and `msgid_plural' entries do not both begin with '\\n'"
+msgstr "«msgid»- og «msgid_plural»-innslagene begynner ikke med `\\n'"
+
+#: src/msgfmt.c:978
+#, c-format
+msgid "`msgid' and `msgstr[%u]' entries do not both begin with '\\n'"
+msgstr "«msgid»- og «msgstr[%u]»-innslagene begynner ikke med `\\n'"
+
+#: src/msgfmt.c:990
+msgid "`msgid' and `msgstr' entries do not both begin with '\\n'"
+msgstr "«msgid»- og «msgstr»-innslagene begynner ikke med `\\n'"
+
+#: src/msgfmt.c:1007
+msgid "`msgid' and `msgid_plural' entries do not both end with '\\n'"
+msgstr "«msgid»- og «msgstr[%u]»-innslagene slutter ikke med `\\n'"
+
+#: src/msgfmt.c:1017
+#, c-format
+msgid "`msgid' and `msgstr[%u]' entries do not both end with '\\n'"
+msgstr "«msgid»- og «msgstr[%u]»-innslagene slutter ikke med `\\n'"
+
+#: src/msgfmt.c:1029
+msgid "`msgid' and `msgstr' entries do not both end with '\\n'"
+msgstr "«msgid»- og «msgstr»-innslagene slutter ikke med `\\n'"
+
+#: src/msgfmt.c:1041
+msgid "plural handling is a GNU gettext extension"
+msgstr ""
+
+#: src/msgfmt.c:1088
+#, c-format
+msgid "'msgstr' is not a valid %s format string, unlike 'msgid'"
+msgstr ""
+
+#: src/msgfmt.c:1122
+#, c-format
+msgid "msgstr lacks the keyboard accelerator mark '%c'"
+msgstr ""
+
+#: src/msgfmt.c:1130
+#, c-format
+msgid "msgstr has too many keyboard accelerator marks '%c'"
+msgstr ""
+
+#: src/msgfmt.c:1164
+#, c-format
+msgid "headerfield `%s' missing in header"
+msgstr "filhodefelt «%s» mangler i filhode"
+
+#: src/msgfmt.c:1167
+#, c-format
+msgid "header field `%s' should start at beginning of line"
+msgstr "filhodefelt «%s» skulle ha startet ved begynnelsen av linjen"
+
+#: src/msgfmt.c:1176
+msgid "some header fields still have the initial default value"
+msgstr "noen filhodefelt har fremdeles sin initielle verdi"
+
+#: src/msgfmt.c:1187
+#, c-format
+msgid "field `%s' still has initial default value"
+msgstr "feltet «%s» har fremdeles sin forvalgte verdi"
+
+#: src/msgfmt.c:1228
+#, fuzzy
+msgid "warning: PO file header missing or invalid\n"
+msgstr ""
+"%s: advarsel: PO-filheader mangler, fuzzy, eller ugyldig\n"
+"%*s  advarsel: tegnsettkonvertering vil ikke virke"
+
+#: src/msgfmt.c:1231
+#, fuzzy
+msgid "warning: charset conversion will not work\n"
 msgstr ""
-"Bruksmåte: %s [FLAGG] filnavn.po ...\n"
-"Lage binær meldingskatalog fra tekstbasert beskrivelse.\n"
-"\n"
-"Obligatoriske argumenter for lange flagg er også obligatoriske for korte flagg.\n"
-"  -a, --alignment=ANTALL      juster strengene til ANTALL byter (standard: %d)\n"
-"  -c, --check                 utfør språkavhengige tester på strengene\n"
-"  -D, --directory=KATALOG     legge KATALOG til søkelisten for innfiler\n"
-"  -f, --use-fuzzy             bruk antatte linjer i utdata\n"
-"  -h, --help                  vis denne hjelpeteksten og avslutt\n"
-"      --no-hash               binær vil ikke bli inkludert i hash-tabellen\n"
-"  -o, --output-file=FIL       angi FIL som filnavn for utdata\n"
-"      --statistics            skrive ut statistikk om oversettelsene\n"
-"      --strict                lag streng Uniforum-konform .po-fil\n"
-"  -v, --verbose               list alle avvik i innfil\n"
-"  -V, --version               skriv ut programversjon og avslutt\n"
-"\n"
-"Dersom -v-flagget blir gitt flere ganger, gis mer fyldige meldinger.\n"
-"\n"
-"Dersom innfil er -, vil inndata bli lest fra standard inn.  Dersom utfil er -,\n"
-"vil utdata bli skrevet til standard ut.\n"
+"Tegnsettet mangler i headeren.\n"
+"Meldingskonvertering til brukerens tegnsett kan ikke virke.\n"
 
-#: src/msgfmt.c:435
-msgid "while creating hash table"
-msgstr "mens hash-tabellen ble laget"
+#: src/msgfmt.c:1241
+#, fuzzy
+msgid "warning: PO file header fuzzy\n"
+msgstr ""
+"%s: advarsel: PO-filheader mangler, fuzzy, eller ugyldig\n"
+"%*s  advarsel: tegnsettkonvertering vil ikke virke"
 
-#: src/msgfmt.c:479
-#, fuzzy, c-format
-msgid ""
-"%s: warning: PO file header missing, fuzzy, or invalid\n"
-"%*s  warning: charset conversion will not work"
-msgstr "%s: advarselL: kildefil har antatte oversettelser"
+#: src/msgfmt.c:1243
+msgid "warning: older versions of msgfmt will give an error on this\n"
+msgstr ""
 
-#: src/msgfmt.c:503
+#: src/msgfmt.c:1268
 #, c-format
 msgid "domain name \"%s\" not suitable as file name"
 msgstr "domenenavnet «%s» passer ikke som filnavn"
 
-#: src/msgfmt.c:508
+#: src/msgfmt.c:1273
 #, c-format
 msgid "domain name \"%s\" not suitable as file name: will use prefix"
 msgstr "domenenavnet «%s» passer ikke som filnavn: bruker prefiks"
 
-#. We don't change the exit status here because this is really
-#. only an information.
-#: src/msgfmt.c:521
+#: src/msgfmt.c:1284
 #, c-format
 msgid "`domain %s' directive ignored"
 msgstr "nøkkelord «domain %s» ignorert"
 
-#: src/msgfmt.c:551
+#: src/msgfmt.c:1356
 msgid "empty `msgstr' entry ignored"
 msgstr "tom «msgstr»-linje ignorert"
 
-#: src/msgfmt.c:552
+#: src/msgfmt.c:1357
 msgid "fuzzy `msgstr' entry ignored"
 msgstr "antatt «msgstr»-linje ignorert"
 
-#: src/msgfmt.c:594
-#, c-format
-msgid "headerfield `%s' missing in header"
-msgstr "filhodefelt «%s» mangler i filhode"
-
-#: src/msgfmt.c:597
-#, c-format
-msgid "header field `%s' should start at beginning of line"
-msgstr "filhodefelt «%s» skulle ha startet ved begynnelsen av linjen"
-
-#: src/msgfmt.c:607
-msgid "some header fields still have the initial default value"
-msgstr "noen filhodefelt har fremdeles sin initielle verdi"
-
-#: src/msgfmt.c:618
-#, c-format
-msgid "field `%s' still has initial default value"
-msgstr "feltet «%s» har fremdeles sin forvalgte verdi"
-
-#: src/msgfmt.c:708
+#: src/msgfmt.c:1426
 #, c-format
 msgid "%s: warning: source file contains fuzzy translation"
 msgstr "%s: advarselL: kildefil har antatte oversettelser"
 
-#: src/msgfmt.c:930
-#, fuzzy
-msgid "`msgid' and `msgid_plural' entries do not both begin with '\\n'"
-msgstr "«msgid»- og «msgstr»-verdiene begynner ikke begge med `\\n'"
-
-#: src/msgfmt.c:938
-#, fuzzy, c-format
-msgid "`msgid' and `msgstr[%u]' entries do not both begin with '\\n'"
-msgstr "«msgid»- og «msgstr»-verdiene begynner ikke begge med `\\n'"
-
-#: src/msgfmt.c:948
-#, fuzzy
-msgid "`msgid' and `msgstr' entries do not both begin with '\\n'"
-msgstr "«msgid»- og «msgstr»-verdiene begynner ikke begge med `\\n'"
-
-#: src/msgfmt.c:963
-#, fuzzy
-msgid "`msgid' and `msgid_plural' entries do not both end with '\\n'"
-msgstr "«msgid»- og «msgstr»-verdiene slutter ikke begge med `\\n'"
-
-#: src/msgfmt.c:971
-#, fuzzy, c-format
-msgid "`msgid' and `msgstr[%u]' entries do not both end with '\\n'"
-msgstr "«msgid»- og «msgstr»-verdiene slutter ikke begge med `\\n'"
-
-#: src/msgfmt.c:981
-#, fuzzy
-msgid "`msgid' and `msgstr' entries do not both end with '\\n'"
-msgstr "«msgid»- og «msgstr»-verdiene slutter ikke begge med `\\n'"
+#: src/msggrep.c:359
+#, c-format
+msgid "option '%c' cannot be used before 'K' or 'T' has been specified"
+msgstr ""
 
-#: src/msgfmt.c:997
-msgid "number of format specifications in `msgid' and `msgstr' does not match"
+#: src/msggrep.c:381
+#, no-wrap
+msgid ""
+"Extracts all messages of a translation catalog that match a given pattern\n"
+"or belong to some given source files.\n"
 msgstr ""
-"antall format-spesifiseringer i «msgid» og «msgstr» stemmer ikke overens"
 
-#: src/msgfmt.c:1014
-#, fuzzy, c-format
-msgid "format specifications for argument %lu are not the same"
-msgstr "format-spesifiseringene for argument %u er ulike"
+#: src/msggrep.c:408
+#, no-wrap
+msgid ""
+"Message selection:\n"
+"  [-N SOURCEFILE]... [-M DOMAINNAME]... [-K MSGID-PATTERN] [-T MSGSTR-PATTERN]\n"
+"A message is selected if it comes from one of the specified source files,\n"
+"or if it comes from one of the specified domains,\n"
+"or if -K is given and its key (msgid or msgid_plural) matches MSGID-PATTERN,\n"
+"or if -T is given and its translation (msgstr) matches MSGSTR-PATTERN.\n"
+"\n"
+"When more than one selection criterion is specified, the set of selected\n"
+"messages is the union of the selected messages of each criterion.\n"
+"\n"
+"MSGID-PATTERN or MSGSTR-PATTERN syntax:\n"
+"  [-E | -F] [-e PATTERN | -f FILE]...\n"
+"PATTERNs are basic regular expressions by default, or extended regular\n"
+"expressions if -E is given, or fixed strings if -F is given.\n"
+"\n"
+"  -N, --location=SOURCEFILE   select messages extracted from SOURCEFILE\n"
+"  -M, --domain=DOMAINNAME     select messages belonging to domain DOMAINNAME\n"
+"  -K, --msgid                 start of patterns for the msgid\n"
+"  -T, --msgstr                start of patterns for the msgstr\n"
+"  -E, --extended-regexp       PATTERN is an extended regular expression\n"
+"  -F, --fixed-strings         PATTERN is a set of newline-separated strings\n"
+"  -e, --regexp=PATTERN        use PATTERN as a regular expression\n"
+"  -f, --file=FILE             obtain PATTERN from FILE\n"
+"  -i, --ignore-case           ignore case distinctions\n"
+msgstr ""
 
-#: src/msgmerge.c:320
-#, fuzzy, c-format, no-wrap
+#: src/msggrep.c:436
+#, fuzzy, no-wrap
 msgid ""
-"Usage: %s [OPTION] def.po ref.po\n"
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"  -C, --compendium=FILE       additional library of message translations,\n"
-"                              may be specified more than once\n"
-"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
-"  -e, --no-escape             do not use C escapes in output (default)\n"
-"  -E, --escape                use C escapes in output, no extended chars\n"
+"Output details:\n"
+"      --no-escape             do not use C escapes in output (default)\n"
+"      --escape                use C escapes in output, no extended chars\n"
 "      --force-po              write PO file even if empty\n"
-"  -h, --help                  display this help and exit\n"
-"  -i, --indent                indented output style\n"
-"  -o, --output-file=FILE      result will be written to FILE\n"
+"      --indent                indented output style\n"
 "      --no-location           suppress '#: filename:line' lines\n"
 "      --add-location          preserve '#: filename:line' lines (default)\n"
 "      --strict                strict Uniforum output style\n"
-"  -v, --verbose               increase verbosity level\n"
-"  -V, --version               output version information and exit\n"
 "  -w, --width=NUMBER          set output page width\n"
+"      --sort-output           generate sorted output\n"
+"      --sort-by-file          sort output by file location\n"
 msgstr ""
 "Bruksmåte: %s [FLAGG] def.po ref.po\n"
 "Obligatoriske argumenter til lange flagg er også obligatoriske for korte flagg.\n"
+"  -C  --compendium=FIL        ytterligere bibliotek med oversettelser,\n"
+"                              kan bli angitt mer enn en gang\n"
 "  -D, --directory=KATALOG     legge KATALOG til søkelisten over innfiler\n"
 "  -e, --no-escape             ikke bruke C-escapekoder i utdata (standard)\n"
 "  -E, --escape                bruk C-escaper i utdata, ingen utvidede tegn\n"
@@ -573,19 +1345,243 @@ msgstr ""
 "  -V, --version               skriv ut programversjon og avslutt\n"
 "  -w, --width=ANTALL          sett sidebredden i utdata\n"
 
-#: src/msgmerge.c:340
+#: src/msggrep.c:510
+msgid "write to grep subprocess failed"
+msgstr ""
+
+#: src/msginit.c:275
+msgid ""
+"You are in a language indifferent environment.  Please set\n"
+"your LANG environment variable, as described in the ABOUT-NLS\n"
+"file.  This is necessary so you can test your translations.\n"
+msgstr ""
+
+#: src/msginit.c:303
+#, c-format
+msgid ""
+"Output file %s already exists.\n"
+"Please specify the locale through the --locale option or\n"
+"the output .po file through the --output-file option.\n"
+msgstr ""
+
+#: src/msginit.c:326
+#, c-format
+msgid "Created %s.\n"
+msgstr ""
+
+#: src/msginit.c:348
 #, no-wrap
 msgid ""
-"\n"
+"Creates a new PO file, initializing the meta information with values from the\n"
+"user's environment.\n"
+msgstr ""
+
+#: src/msginit.c:359
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  -i, --input=INPUTFILE       input POT file\n"
+"If no input file is given, the current directory is searched for the POT file.\n"
+"If it is -, standard input is read.\n"
+msgstr ""
+
+#: src/msginit.c:367
+#, no-wrap
+msgid ""
+"Output file location:\n"
+"  -o, --output-file=FILE      write output to specified PO file\n"
+"If no output file is given, it depends on the --locale option or the user's\n"
+"locale setting.  If it is -, the results are written to standard output.\n"
+msgstr ""
+
+#: src/msginit.c:375
+#, no-wrap
+msgid ""
+"Output details:\n"
+"  -l, --locale=LL_CC          set target locale\n"
+"      --no-translator         assume the PO file is automatically generated\n"
+"  -w, --width=NUMBER          set output page width\n"
+msgstr ""
+
+#: src/msginit.c:426
+msgid ""
+"Found more than one .pot file.\n"
+"Please specify the input .pot file through the --input option.\n"
+msgstr ""
+
+#: src/msginit.c:434 src/msginit.c:439
+msgid "error reading current directory"
+msgstr ""
+
+#: src/msginit.c:447
+msgid ""
+"Found no .pot file in the current directory.\n"
+"Please specify the input .pot file through the --input option.\n"
+msgstr ""
+
+#: src/msginit.c:887 src/msginit.c:932 src/msginit.c:1070 src/msginit.c:1137
+#: src/read-java.c:80
+msgid "fdopen() failed"
+msgstr ""
+
+#: src/msginit.c:892 src/msginit.c:937 src/msginit.c:1075
+#, c-format
+msgid "%s subprocess I/O error"
+msgstr ""
+
+#: src/msginit.c:901 src/msginit.c:946 src/msginit.c:1084 src/msginit.c:1151
+#: src/read-java.c:90
+#, c-format
+msgid "%s subprocess failed with exit code %d"
+msgstr ""
+
+#: src/msginit.c:1060
+msgid ""
+"The new message catalog should contain your email address, so that users "
+"can\n"
+"give you feedback about the translations, and so that maintainers can "
+"contact\n"
+"you in case of unexpected technical problems.\n"
+msgstr ""
+
+#. TRANSLATORS: "English" needs to be replaced by your language.
+#. For example in it.po write "Traduzioni italiani ...",
+#. *not* "Traduzioni inglesi ...".
+#: src/msginit.c:1440
+#, c-format
+msgid "English translations for %s package"
+msgstr ""
+
+#: src/msgl-cat.c:173 src/msgl-charset.c:86 src/msgl-iconv.c:299
+#, c-format
+msgid "present charset \"%s\" is not a portable encoding name"
+msgstr ""
+
+#: src/msgl-cat.c:181 src/msgl-iconv.c:307
+#, c-format
+msgid "two different charsets \"%s\" and \"%s\" in input file"
+msgstr ""
+
+#: src/msgl-cat.c:194
+#, c-format
+msgid ""
+"input file `%s' doesn't contain a header entry with a charset specification"
+msgstr ""
+
+#: src/msgl-cat.c:198
+#, c-format
+msgid ""
+"domain \"%s\" in input file `%s' doesn't contain a header entry with a "
+"charset specification"
+msgstr ""
+
+#: src/msgl-cat.c:359 src/msgl-iconv.c:382
+#, c-format
+msgid "target charset \"%s\" is not a portable encoding name."
+msgstr ""
+
+#: src/msgl-cat.c:409 src/msgl-cat.c:415 src/msgl-charset.c:91
+#: src/msgl-charset.c:126 src/write-po.c:723 src/write-po.c:817
+#, fuzzy
+msgid "warning: "
+msgstr "%s: advarsel: "
+
+#: src/msgl-cat.c:410
+msgid ""
+"Input files contain messages in different encodings, UTF-8 among others.\n"
+"Converting the output to UTF-8.\n"
+msgstr ""
+
+#: src/msgl-cat.c:416
+#, c-format
+msgid ""
+"Input files contain messages in different encodings, %s and %s among "
+"others.\n"
+"Converting the output to UTF-8.\n"
+"To select a different output encoding, use the --to-code option.\n"
+msgstr ""
+
+#: src/msgl-charset.c:92
+#, c-format
+msgid ""
+"Locale charset \"%s\" is different from\n"
+"input file charset \"%s\".\n"
+"Output of '%s' might be incorrect.\n"
+"Possible workarounds are:\n"
+msgstr ""
+
+#: src/msgl-charset.c:99
+#, c-format
+msgid "- Set LC_ALL to a locale with encoding %s.\n"
+msgstr ""
+
+#: src/msgl-charset.c:104
+#, c-format
+msgid ""
+"- Convert the translation catalog to %s using 'msgconv',\n"
+"  then apply '%s',\n"
+"  then convert back to %s using 'msgconv'.\n"
+msgstr ""
+
+#: src/msgl-charset.c:113
+#, c-format
+msgid ""
+"- Set LC_ALL to a locale with encoding %s,\n"
+"  convert the translation catalog to %s using 'msgconv',\n"
+"  then apply '%s',\n"
+"  then convert back to %s using 'msgconv'.\n"
+msgstr ""
+
+#: src/msgl-charset.c:127
+#, c-format
+msgid ""
+"Locale charset \"%s\" is not a portable encoding name.\n"
+"Output of '%s' might be incorrect.\n"
+"A possible workaround is to set LC_ALL=C.\n"
+msgstr ""
+
+#: src/msgl-iconv.c:200 src/msgl-iconv.c:254
+msgid "conversion failure"
+msgstr ""
+
+#: src/msgl-iconv.c:328
+msgid "input file doesn't contain a header entry with a charset specification"
+msgstr ""
+
+#: src/msgl-iconv.c:346
+#, fuzzy, c-format
+msgid ""
+"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(), and iconv() does "
+"not support this conversion."
+msgstr ""
+"Tegnsettet \"%s\" er ikke støttet. %s er avhengig av iconv(),\n"
+"og iconv() støtter ikke \"%s\".\n"
+
+#: src/msgl-iconv.c:362
+#, fuzzy, c-format
+msgid ""
+"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(). This version was "
+"built without iconv()."
+msgstr ""
+"Tegnsettet \"%s\" er ikke støttet. %s er avhengig av iconv().\n"
+"Denne versjonen ble blygget uten iconv().\n"
+
+#: src/msgmerge.c:340
+msgid "backup type"
+msgstr ""
+
+#: src/msgmerge.c:377
+#, fuzzy, no-wrap
+msgid ""
 "Merges two Uniforum style .po files together.  The def.po file is an\n"
-"existing PO file with the old translations which will be taken over to\n"
-"the newly created file as long as they still match; comments will be\n"
-"preserved, but extract comments and file positions will be discarded.\n"
-"The ref.po file is the last created PO file (generally by xgettext), any\n"
-"translations or comments in the file will be discarded, however dot\n"
+"existing PO file with translations which will be taken over to the newly\n"
+"created file as long as they still match; comments will be preserved,\n"
+"but extracted comments and file positions will be discarded.  The ref.pot\n"
+"file is the last created PO file with up-to-date source references but\n"
+"old translations, or a PO Template file (generally created by xgettext);\n"
+"any translations or comments in the file will be discarded, however dot\n"
 "comments and file positions will be preserved.  Where an exact match\n"
-"cannot be found, fuzzy matching is used to produce better results.  The\n"
-"results are written to stdout unless an output file is specified.\n"
+"cannot be found, fuzzy matching is used to produce better results.\n"
 msgstr ""
 "\n"
 "Fletter sammen to Uniforum .po-filer.  def.po-filen er en eksisterende\n"
@@ -599,33 +1595,135 @@ msgstr ""
 "resultater.  Resultatet blir skrevet til standard ut, med mindre en utfil\n"
 "er spesifisert.\n"
 
-#: src/msgmerge.c:799
-#, fuzzy, c-format
+#: src/msgmerge.c:395
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  def.po                      translations referring to old sources\n"
+"  ref.pot                     references to new sources\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"  -C, --compendium=FILE       additional library of message translations,\n"
+"                              may be specified more than once\n"
+msgstr ""
+
+#: src/msgmerge.c:405
+#, no-wrap
+msgid ""
+"Operation mode:\n"
+"  -U, --update                update def.po,\n"
+"                              do nothing if def.po already up to date\n"
+msgstr ""
+
+#: src/msgmerge.c:420
+#, no-wrap
+msgid ""
+"Output file location in update mode:\n"
+"The result is written back to def.po.\n"
+"      --backup=CONTROL        make a backup of def.po\n"
+"      --suffix=SUFFIX         override the usual backup suffix\n"
+"The version control method may be selected via the --backup option or through\n"
+"the VERSION_CONTROL environment variable.  Here are the values:\n"
+"  none, off       never make backups (even if --backup is given)\n"
+"  numbered, t     make numbered backups\n"
+"  existing, nil   numbered if numbered backups exist, simple otherwise\n"
+"  simple, never   always make simple backups\n"
+"The backup suffix is `~', unless set with --suffix or the SIMPLE_BACKUP_SUFFIX\n"
+"environment variable.\n"
+msgstr ""
+
+#: src/msgmerge.c:457
+#, no-wrap
+msgid ""
+"Informative output:\n"
+"  -h, --help                  display this help and exit\n"
+"  -V, --version               output version information and exit\n"
+"  -v, --verbose               increase verbosity level\n"
+"  -q, --quiet, --silent       suppress progress indicators\n"
+msgstr ""
+
+#: src/msgmerge.c:625
+#, fuzzy
+msgid "this message should define plural forms"
+msgstr "denne meldingen er brukt, men ikke definert i %s"
+
+#: src/msgmerge.c:648
+#, fuzzy
+msgid "this message should not define plural forms"
+msgstr "denne meldingen er brukt, men ikke definert i %s"
+
+#: src/msgmerge.c:779
+#, c-format
 msgid ""
 "%sRead %ld old + %ld reference, merged %ld, fuzzied %ld, missing %ld, "
 "obsolete %ld.\n"
 msgstr ""
-"%sLeste %d gamle + %d referanser, flettet %d, antok %d, mangler %d,foreldete "
-"%d.\n"
+"%sLeste %ld gamle + %ld referanser, flettet %ld, antok %ld, mangler %ld, "
+"foreldete %ld.\n"
 
-#: src/msgmerge.c:806
+#: src/msgmerge.c:787
 msgid " done.\n"
 msgstr " ferdig.\n"
 
-#: src/msgunfmt.c:210
+#: src/msgunfmt.c:201
+#, fuzzy, c-format
+msgid "%s and explicit file names are mutually exclusive"
+msgstr "%s og %s utelukker hverandre"
+
+#: src/msgunfmt.c:267
 #, c-format, no-wrap
+msgid "Usage: %s [OPTION] [FILE]...\n"
+msgstr ""
+
+#: src/msgunfmt.c:272
+#, no-wrap
+msgid "Convert binary message catalog to Uniforum style .po file.\n"
+msgstr ""
+
+#: src/msgunfmt.c:282
+#, no-wrap
 msgid ""
-"Usage: %s [OPTION] [FILE]...\n"
-"Mandatory arguments to long options are mandatory for short options too.\n"
+"Operation mode:\n"
+"  -j, --java               Java mode: generate a Java ResourceBundle class\n"
+msgstr ""
+
+#: src/msgunfmt.c:288
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  FILE ...                 input .mo files\n"
+"If no input file is given or if it is -, standard input is read.\n"
+msgstr ""
+
+#: src/msgunfmt.c:295
+#, no-wrap
+msgid ""
+"Input file location in Java mode:\n"
+"  -r, --resource=RESOURCE  resource name\n"
+"  -l, --locale=LOCALE      locale name, either language or language_COUNTRY\n"
+"The class name is determined by appending the locale name to the resource name,\n"
+"separated with an underscore.  The class is located using the CLASSPATH.\n"
+msgstr ""
+
+#: src/msgunfmt.c:304
+#, no-wrap
+msgid ""
+"Output file location:\n"
+"  -o, --output-file=FILE   write output to specified file\n"
+"The results are written to standard output if no output file is specified\n"
+"or if it is -.\n"
+msgstr ""
+
+#: src/msgunfmt.c:312
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
 "  -e, --no-escape          do not use C escapes in output (default)\n"
 "  -E, --escape             use C escapes in output, no extended chars\n"
 "      --force-po           write PO file even if empty\n"
-"  -h, --help               display this help and exit\n"
 "  -i, --indent             write indented output style\n"
-"  -o, --output-file=FILE   write output into FILE instead of standard output\n"
 "      --strict             write strict uniforum style\n"
-"  -V, --version            output version information and exit\n"
 "  -w, --width=NUMBER       set output page width\n"
+"  -s, --sort-output        generate sorted output\n"
 msgstr ""
 "Bruksmåte: %s [FLAGG] [FIL]...\n"
 "Obligatoriske argumenter til lange flagg er også obligatoriske for korte flagg.\n"
@@ -639,50 +1737,51 @@ msgstr ""
 "  -V, --version            skriv ut programversjon og avslutt\n"
 "  -w, --width=ANTALL       sett sidebredden i utdata\n"
 
-#: src/msgunfmt.c:224
+#: src/msgunfmt.c:324
 #, no-wrap
 msgid ""
-"\n"
-"Convert binary .mo files to Uniforum style .po files.\n"
-"Both little-endian and big-endian .mo files are handled.\n"
-"If no input file is given or it is -, standard input is read.\n"
-"By default the output is written to standard output.\n"
+"Informative output:\n"
+"  -h, --help               display this help and exit\n"
+"  -V, --version            output version information and exit\n"
+"  -v, --verbose            increase verbosity level\n"
 msgstr ""
-"\n"
-"Konverter binære .mo-filer til Uniforum .po-filer.\n"
-"Både «little-endian» og «big-endian» .mo-filer blir håndtert.\n"
-"Dersom innfil er -, blir standard inn lest.\n"
-"Dersom intet annet er spesifisert, blir det skrevet til standard ut.\n"
-
-#: src/msgunfmt.c:261 src/msgunfmt.c:326 src/po-lex.c:216 src/xget-lex.c:243
-#, c-format
-msgid "error while reading \"%s\""
-msgstr "feil under lesing av «%s»"
-
-#: src/msgunfmt.c:262 src/msgunfmt.c:327
-#, c-format
-msgid "file \"%s\" truncated"
-msgstr "filen «%s» er avkuttet"
 
-#: src/msgunfmt.c:293
-#, c-format
-msgid "seek \"%s\" offset %ld failed"
-msgstr "«seek» «%s» posisjon %ld mislyktes"
+#: src/msguniq.c:279
+#, no-wrap
+msgid ""
+"Unifies duplicate translations in a translation catalog.\n"
+"Finds duplicate translations of the same message ID.  Such duplicates are\n"
+"invalid input for other programs like msgfmt, msgmerge or msgcat.  By\n"
+"default, duplicates are merged together.  When using the --repeated option,\n"
+"only duplicates are output, and all other messages are discarded.  Comments\n"
+"and extracted comments will be cumulated, except that if --use-first is\n"
+"specified, they will be taken from the first translation.  File positions\n"
+"will be cumulated.  When using the --unique option, duplicates are discarded.\n"
+msgstr ""
 
-#: src/msgunfmt.c:332
-#, fuzzy, c-format
-msgid "file \"%s\" contains a not NUL terminated string"
-msgstr "filen «%s» er ikke i GNU .mo-format"
+#: src/msguniq.c:312
+#, no-wrap
+msgid ""
+"Message selection:\n"
+"  -d, --repeated                 print only duplicates\n"
+"  -u, --unique                   print only unique messages, discard duplicates\n"
+msgstr ""
 
-#: src/msgunfmt.c:377
-#, c-format
-msgid "file \"%s\" is not in GNU .mo format"
-msgstr "filen «%s» er ikke i GNU .mo-format"
+#: src/ngettext.c:215
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] [TEXTDOMAIN] MSGID MSGID-PLURAL COUNT\n"
+msgstr ""
 
-#: src/ngettext.c:209
-#, fuzzy, c-format, no-wrap
+#: src/ngettext.c:220
+#, no-wrap
+msgid ""
+"Display native language translation of a textual message whose grammatical\n"
+"form depends on a number.\n"
+msgstr ""
+
+#: src/ngettext.c:225
+#, fuzzy, no-wrap
 msgid ""
-"Usage: %s [OPTION] [TEXTDOMAIN] MSGID MSGID-PLURAL COUNT\n"
 "  -d, --domain=TEXTDOMAIN   retrieve translated message from TEXTDOMAIN\n"
 "  -e                        enable expansion of some escape sequences\n"
 "  -E                        (ignored for compatibility)\n"
@@ -692,330 +1791,659 @@ msgid ""
 "  MSGID MSGID-PLURAL        translate MSGID (singular) / MSGID-PLURAL (plural)\n"
 "  COUNT                     choose singular/plural form based on this value\n"
 msgstr ""
-"Bruk: %s [FLAGG] [[[TEXTDOMAIN] MSGID] | [-s [MSGID]...]]\n"
+"Bruk: %s [FLAGG] [TEXTDOMAIN] MSGID MSGID-PLURAL COUNT\n"
 "  -d, --domain=TEXTDOMAIN   hent oversatte meldinger fra TEXTDOMAIN\n"
 "  -e                        slå på ekspandering av noen escape-sekvenser\n"
 "  -E                        (tillatt av kompatibilitetshensyn)\n"
 "  -h, --help                vis denne hjelpeteksten og avslutt\n"
-"  -n                        undertrykk etterfølgende linjeskift\n"
 "  -v, --version             vis programversjon og avslutt\n"
-"  [TEXTDOMAIN] MSGID        hent oversatt melding som stemmer overens med MSGID\n"
-"                            fra TEXTDOMAIN\n"
+"  [TEXTDOMAIN]              hent oversatt melding fra TEXTDOMAIN\n"
+"  MSGID MSGID-PLURAL        oversett MSGID (entall) / MSGID-PLURAL (flertall)\n"
+"  COUNT                     velg entalls-/flertallsform basert på denne verdien\n"
 
-#: src/ngettext.c:221
+#: src/ngettext.c:236
 #, fuzzy, c-format, no-wrap
 msgid ""
-"\n"
 "If the TEXTDOMAIN parameter is not given, the domain is determined from the\n"
 "environment variable TEXTDOMAIN.  If the message catalog is not found in the\n"
 "regular directory, another location can be specified with the environment\n"
 "variable TEXTDOMAINDIR.\n"
 "Standard search directory: %s\n"
 msgstr ""
+"\n"
 "Dersom TEXTDOMAIN-parameteren ikke er gitt, blir domenet valgt fra\n"
 "miljøvariabelen TEXTDOMAIN.  Dersom meldingskatalogen ikke finnes i den\n"
-"vanlige filkatalogen, kan en annen filkatalog spesifiseres ved hjelp av\n"
-"miljøvariabelen TEXTDOMAIN.\n"
-"Når flagget -s blir brukt, oppfører programmet seg som kommandoen «echo».\n"
-"Programmet kopierer imidlertid ikke sine argumenter til standard ut.  I\n"
-"stedet blir meldinger i den valgte katalogen oversatt.\n"
+"vanlige katalogen, kan en annen katalog spesifiseres ved hjelp av\n"
+"miljøvariabelen TEXTDOMAINDIR.\n"
 "Standard søkekatalog er: %s\n"
 
-#: src/open-po.c:64
+#: src/open-po.c:69
 msgid "<stdin>"
+msgstr "<stdin>"
+
+#: src/po-charset.c:172 src/po-charset.c:240 src/po-charset.c:268
+#: src/po-charset.c:294
+#, c-format
+msgid "%s: warning: "
+msgstr "%s: advarsel: "
+
+#: src/po-charset.c:173
+#, c-format
+msgid ""
+"Charset \"%s\" is not a portable encoding name.\n"
+"Message conversion to user's charset might not work.\n"
 msgstr ""
+"Tegnsettet \"%s\" er ikke et portabelt innkodingsnavn.\n"
+"Meldingskonvertering til brukerens tegnsett kan ikke virke.\n"
 
-#: po-gram-gen.y:87
-msgid "inconsistent use of #~"
+#: src/po-charset.c:236 src/po-charset.c:266
+msgid "Continuing anyway, expect parse errors."
+msgstr "Fortsetter likevel, forvent parsefeil."
+
+#: src/po-charset.c:238
+msgid "Continuing anyway."
+msgstr "Fortsetter likevel."
+
+#: src/po-charset.c:241
+#, c-format
+msgid ""
+"Charset \"%s\" is not supported. %s relies on iconv(),\n"
+"and iconv() does not support \"%s\".\n"
 msgstr ""
+"Tegnsettet \"%s\" er ikke støttet. %s er avhengig av iconv(),\n"
+"og iconv() støtter ikke \"%s\".\n"
 
-#: po-gram-gen.y:168
-#, fuzzy
+#: src/po-charset.c:250 src/po-charset.c:276
+msgid ""
+"Installing GNU libiconv and then reinstalling GNU gettext\n"
+"would fix this problem.\n"
+msgstr ""
+"Installasjon av GNU libiconv og deretter reinstallasjon av GNU gettext\n"
+"vil rette dette problemet.\n"
+
+#: src/po-charset.c:255 src/po-charset.c:280
+#, c-format
+msgid "%s\n"
+msgstr "%s\n"
+
+#: src/po-charset.c:269
+#, c-format
+msgid ""
+"Charset \"%s\" is not supported. %s relies on iconv().\n"
+"This version was built without iconv().\n"
+msgstr ""
+"Tegnsettet \"%s\" er ikke støttet. %s er avhengig av iconv().\n"
+"Denne versjonen ble blygget uten iconv().\n"
+
+#: src/po-charset.c:295
+msgid ""
+"Charset missing in header.\n"
+"Message conversion to user's charset will not work.\n"
+msgstr ""
+"Tegnsettet mangler i headeren.\n"
+"Meldingskonvertering til brukerens tegnsett kan ikke virke.\n"
+
+#: po-gram-gen.y:91
+msgid "inconsistent use of #~"
+msgstr "inkonsistent bruk av #~"
+
+#: po-gram-gen.y:181
 msgid "missing `msgstr[]' section"
-msgstr "mangler «msgstr»-seksjon"
+msgstr "mangler «msgstr[]»-seksjon"
 
-#: po-gram-gen.y:176
-#, fuzzy
+#: po-gram-gen.y:189
 msgid "missing `msgid_plural' section"
-msgstr "mangler «msgstr»-seksjon"
+msgstr "mangler «msgid_plural»-seksjon"
 
-#: po-gram-gen.y:183
+#: po-gram-gen.y:196
 msgid "missing `msgstr' section"
 msgstr "mangler «msgstr»-seksjon"
 
-#: po-gram-gen.y:228
+#: po-gram-gen.y:241
 msgid "first plural form has nonzero index"
-msgstr ""
+msgstr "første flertallsform har en ikke-null indeks"
 
-#: po-gram-gen.y:230
+#: po-gram-gen.y:243
 msgid "plural form has wrong index"
-msgstr ""
+msgstr "flertallsform har feil indeks"
 
-#. CAUTION: If you change this macro, you must also make identical
-#. changes to the function of the same name in src/po-lex.c
-#: src/po-lex.c:159 src/po-lex.c:198 src/po-lex.h:85 src/po-lex.h:99
-#: src/po-lex.h:115 src/po-lex.h:129
+#: src/po-lex.h:91 src/po-lex.h:106 src/po-lex.h:126 src/po-lex.h:141
+#: src/po-lex.c:135 src/po-lex.c:176
 msgid "too many errors, aborting"
 msgstr "for mange feil, avbryter"
 
-#: src/po-lex.c:274
+#: src/po-lex.c:545 src/write-po.c:331 src/write-po.c:421
+msgid "invalid multibyte sequence"
+msgstr "ulovlig multibytesekvens"
+
+#: src/po-lex.c:571
+#, fuzzy
+msgid "incomplete multibyte sequence at end of file"
+msgstr "ulovlig multibytesekvens"
+
+#: src/po-lex.c:581
+#, fuzzy
+msgid "incomplete multibyte sequence at end of line"
+msgstr "ulovlig multibytesekvens"
+
+#: src/po-lex.c:589
+msgid "iconv failure"
+msgstr ""
+
+#: src/po-lex.c:763 src/read-mo.c:70 src/read-mo.c:135 src/x-c.c:216
+#: src/x-rst.c:227 src/x-ycp.c:103
+#, c-format
+msgid "error while reading \"%s\""
+msgstr "feil under lesing av «%s»"
+
+#: src/po-lex.c:829
 #, c-format
 msgid "keyword \"%s\" unknown"
 msgstr "nøkkelord «%s» ukjent"
 
-#: src/po-lex.c:377
-#, fuzzy
+#: src/po-lex.c:939
 msgid "invalid control sequence"
 msgstr "ulovlig kontrollsekvens"
 
-#: src/po-lex.c:480
+#: src/po-lex.c:1047
 msgid "end-of-file within string"
 msgstr "slutt-på-fil inne i streng"
 
-#: src/po-lex.c:485
+#: src/po-lex.c:1053
 msgid "end-of-line within string"
 msgstr "slutt-på-linje inne i streng"
 
-#: src/po-lex.c:528 src/write-po.c:285 src/write-po.c:367
-#, fuzzy
-msgid "invalid multibyte sequence"
-msgstr "ulovlig kontrollsekvens"
+#: src/read-mo.c:71 src/read-mo.c:136
+#, c-format
+msgid "file \"%s\" truncated"
+msgstr "filen «%s» er avkuttet"
 
-#: src/po.c:302 src/po.c:374 src/po.c:409 src/po.c:439
+#: src/read-mo.c:102
 #, c-format
-msgid "%s: warning: "
+msgid "seek \"%s\" offset %ld failed"
+msgstr "«seek» «%s» posisjon %ld mislyktes"
+
+#: src/read-mo.c:141
+#, c-format
+msgid "file \"%s\" contains a not NUL terminated string"
+msgstr "filen «%s» inneholder en ikke-NUL-terminert streng"
+
+#: src/read-mo.c:186
+#, c-format
+msgid "file \"%s\" is not in GNU .mo format"
+msgstr "filen «%s» er ikke i GNU .mo-format"
+
+#: src/write-java.c:1108
+msgid "cannot find a temporary directory, try setting $TMPDIR"
 msgstr ""
 
-#: src/po.c:303
+#: src/write-java.c:1118
 #, fuzzy, c-format
-msgid ""
-"Charset \"%s\" is not a portable encoding name.\n"
-"Message conversion to user's charset might not work.\n"
-msgstr "%s: advarselL: kildefil har antatte oversettelser"
+msgid "cannot create a temporary directory using template \"%s\""
+msgstr "kan ikke opprette utfilen «%s»"
 
-#: src/po.c:370 src/po.c:405
-msgid "Continuing anyway, expect parse errors."
+#: src/write-java.c:1131
+#, c-format
+msgid "not a valid Java class name: %s"
 msgstr ""
 
-#: src/po.c:372
-msgid "Continuing anyway."
+#: src/write-java.c:1188 src/write-java.c:1201
+#, c-format
+msgid "failed to create \"%s\""
 msgstr ""
 
-#: src/po.c:375
+#: src/write-java.c:1209 src/write-mo.c:289 src/write-po.c:966
 #, c-format
-msgid ""
-"Charset \"%s\" is not supported. %s relies on iconv(),\n"
-"and iconv() does not support \"%s\".\n"
-msgstr ""
+msgid "error while writing \"%s\" file"
+msgstr "feil under skriving av filen «%s»"
 
-#: src/po.c:385 src/po.c:418
-msgid ""
-"Installing GNU libiconv and then reinstalling GNU gettext\n"
-"would fix this problem.\n"
+#: src/write-java.c:1223
+msgid "compilation of Java class failed, please try --verbose or set $JAVAC"
 msgstr ""
 
-#: src/po.c:393 src/po.c:425
+#: src/write-mo.c:277
 #, c-format
-msgid "%s\n"
-msgstr ""
+msgid "error while opening \"%s\" for writing"
+msgstr "feil under åpning av «%s» for skriving"
 
-#: src/po.c:410
+#: src/write-po.c:370
 #, c-format
 msgid ""
-"Charset \"%s\" is not supported. %s relies on iconv().\n"
-"This version was built without iconv().\n"
+"internationalized messages should not contain the `\\%c' escape sequence"
 msgstr ""
+"internasjonaliserte meldinger bør ikke inneholde escape-sekvensen «\\%c»"
 
-#: src/po.c:440
-#, fuzzy
-msgid ""
-"Charset missing in header.\n"
-"Message conversion to user's charset will not work.\n"
-msgstr "%s: advarselL: kildefil har antatte oversettelser"
-
-#: src/write-po.c:316
+#: src/write-po.c:724 src/write-po.c:818
 #, c-format
 msgid ""
-"internationalized messages should not contain the `\\%c' escape sequence"
+"The following msgid contains non-ASCII characters.\n"
+"This will cause problems to translators who use a character encoding\n"
+"different from yours. Consider using a pure ASCII msgid instead.\n"
+"%s\n"
 msgstr ""
-"internasjonaliserte meldinger bør ikke inneholde escape-sekvensen «\\%c»"
 
-#: src/write-po.c:857
+#: src/write-po.c:885
 #, c-format
 msgid "cannot create output file \"%s\""
 msgstr "kan ikke opprette utfilen «%s»"
 
-#: src/write-po.c:864
+#: src/write-po.c:892
 #, no-c-format
 msgid "standard output"
 msgstr "standard ut"
 
-#: src/write-po.c:939
-#, c-format
-msgid "error while writing \"%s\" file"
-msgstr "feil under skriving av filen «%s»"
-
-#: src/xget-lex.c:148
-msgid "standard input"
-msgstr "standard inn"
-
-#: src/xget-lex.c:876
+#: src/x-c.c:858
 #, c-format
 msgid "%s:%d: warning: unterminated character constant"
 msgstr "%s:%d: advarsel: uavsluttet tegnkonstant"
 
-#: src/xget-lex.c:898
+#: src/x-c.c:882
 #, c-format
 msgid "%s:%d: warning: unterminated string literal"
 msgstr "%s:%d: advarsel: uavsluttet strengliteral"
 
-#: src/xgettext.c:373
+#: src/x-po.c:106 src/xgettext.c:605
+msgid "this file may not contain domain directives"
+msgstr "denne filen kan ikke inneholde domene-direktiver"
+
+#: src/x-rst.c:108
+#, c-format
+msgid "%s:%d: invalid string definition"
+msgstr ""
+
+#: src/x-rst.c:168
+#, c-format
+msgid "%s:%d: missing number after #"
+msgstr ""
+
+#: src/x-rst.c:203
+#, c-format
+msgid "%s:%d: invalid string expression"
+msgstr ""
+
+#: src/xgettext.c:375
 msgid "--join-existing cannot be used when output is written to stdout"
 msgstr ""
 "--join-existing kan ikke brukes når utdata blir skrevet til standard ut"
 
-#: src/xgettext.c:378
+#: src/xgettext.c:380
 msgid "xgettext cannot work without keywords to look for"
-msgstr ""
+msgstr "xgettext kan ikke arbeide uten å finne nøkkelord"
 
-#: src/xgettext.c:484
+#: src/xgettext.c:468
 #, c-format
 msgid "warning: file `%s' extension `%s' is unknown; will try C"
 msgstr "advarsel: typen til fil «%s» med utvidelsen «%s» er ukjent, forsøker C"
 
-#: src/xgettext.c:520
-#, c-format, no-wrap
+#: src/xgettext.c:509
+#, no-wrap
+msgid "Extract translatable strings from given input files.\n"
+msgstr ""
+
+#: src/xgettext.c:514
+#, no-wrap
 msgid ""
-"Usage: %s [OPTION] INPUTFILE ...\n"
-"Extract translatable string from given input files.\n"
-"\n"
 "Mandatory arguments to long options are mandatory for short options too.\n"
-"  -a, --extract-all              extract all strings\n"
-"  -c, --add-comments[=TAG]       place comment block with TAG (or those\n"
-"                                 preceding keyword lines) in output file\n"
-"  -C, --c++                      shorthand for --language=C++\n"
-"      --debug                    more detailed formatstring recognision result\n"
+"Similarly for optional arguments.\n"
+msgstr ""
+
+#: src/xgettext.c:529
+#, no-wrap
+msgid ""
+"Output file location:\n"
 "  -d, --default-domain=NAME      use NAME.po for output (instead of messages.po)\n"
-"  -D, --directory=DIRECTORY      add DIRECTORY to list for input files search\n"
-"  -e, --no-escape                do not use C escapes in output (default)\n"
-"  -E, --escape                   use C escapes in output, no extended chars\n"
-"  -f, --files-from=FILE          get list of input files from FILE\n"
-"      --force-po                 write PO file even if empty\n"
-"      --foreign-user             omit FSF copyright in output for foreign user\n"
-"  -F, --sort-by-file             sort output by file location\n"
+"  -o, --output=FILE              write output to specified file\n"
+"  -p, --output-dir=DIR           output files will be placed in directory DIR\n"
+"If output file is -, output is written to standard output.\n"
 msgstr ""
-"Bruksmåte: %s [FLAGG] INNFIL ...\n"
-"Ekstrahere oversettbare strenger fra angitte innfiler.\n"
-"\n"
-"Obligatoriske argumenter for lange flagg er også obligatoriske for korte flagg.\n"
-"  -a, --extract-all              ekstrahere alle strengene\n"
-"  -c, --add-comments[=TAG]       lagre kommentarblokker med TAG (eller kommentarer\n"
-"                                 i linjer som kommer foran nøkkelord) i utfilen\n"
-"  -C, --c++                      kortform for --language=C++\n"
-"      --debug                    mer detaljert resultat fra gjenkjenning av formatstreng\n"
-"  -d, --default-domain=NAVN      bruk NAVN.po for utdata (istedet for messages.po)\n"
-"  -D, --directory=KATALOG        legg KATALOG til søkelisten for innfiler\n"
-"  -e, --no-escape                ikke bruk C-escapesekvenser i utdata (standard)\n"
-"  -E, --escape                   bruke C-escapekoder i utdata, ingen utvidede tegn\n"
-"  -f, --files-from=FIL           hent liste over innfiler fra FIL\n"
-"      --force-po                 skriv ut PO-fil selv om den vil bli tom\n"
-"      --foreign-user             utelat FSF-copyright i utdata for fremmede brukere\n"
-"  -F, --sort-by-file             sorter utdata etter fillokasjon\n"
-
-#: src/xgettext.c:540
-#, fuzzy, no-wrap
+
+#: src/xgettext.c:538
+#, no-wrap
 msgid ""
-"  -h, --help                     display this help and exit\n"
-"  -i, --indent                   write the .po file using indented style\n"
+"Choice of input file language:\n"
+"  -L, --language=NAME            recognise the specified language\n"
+"                                   (C, C++, ObjectiveC, PO, Java, YCP)\n"
+"  -C, --c++                      shorthand for --language=C++\n"
+"By default the language is guessed depending on the input file name extension.\n"
+msgstr ""
+
+#: src/xgettext.c:547
+#, no-wrap
+msgid ""
+"Operation mode:\n"
 "  -j, --join-existing            join messages with existing file\n"
-"  -k, --keyword[=WORD]           additonal keyword to be looked for (without\n"
+"  -x, --exclude-file=FILE.po     entries from FILE.po are not extracted\n"
+"  -c, --add-comments[=TAG]       place comment block with TAG (or those\n"
+"                                 preceding keyword lines) in output file\n"
+msgstr ""
+
+#: src/xgettext.c:556
+#, no-wrap
+msgid ""
+"Language=C/C++ specific options:\n"
+"  -a, --extract-all              extract all strings\n"
+"  -k, --keyword[=WORD]           additional keyword to be looked for (without\n"
 "                                 WORD means not to use default keywords)\n"
-"  -L, --language=NAME            recognise the specified language (C, C++, PO),\n"
-"                                 otherwise is guessed from file extension\n"
-"  -m, --msgstr-prefix[=STRING]   use STRING or \"\" as prefix for msgstr entries\n"
-"  -M, --msgstr-suffix[=STRING]   use STRING or \"\" as suffix for msgstr entries\n"
-"      --no-location              do not write '#: filename:line' lines\n"
+"  -T, --trigraphs                understand ANSI C trigraphs for input\n"
+"      --debug                    more detailed formatstring recognition result\n"
 msgstr ""
-"  -h, --help                     vise denne hjelpen og avslutte\n"
-"  -i, --indent                   skrive .po-filen med innrykk\n"
-"  -j, --join-existing            flett meldinger med eksisterende fil\n"
-"  -k, --keyword[=ORD]            ytterligere nøkkelord for bruk i søk (mangler\n"
-"                                 ORD skal heller ikke standard nøkkelord brukes)\n"
-"  -l, --string-limit=ANTALL      sett begrensning på strenglengde til ANTALL istedet for %u\n"
-"  -L, --language=NAVN            gjenkjenn det angitt språket (C, C++, PO),\n"
-"                                 ellers blir det gjettet fra filutvidelsen\n"
-"  -m, --msgstr-prefix[=STRENG]   bruk STRENG eller «» som prefiks for msgstr-innslag\n"
-"  -M, --msgstr-suffix[=STRENG]   bruk STRENG eller «» som suffiks for msgstr-innslag\n"
-"      --no-location              ikke skriv ut «#: filnavn:linje»-linjer\n"
-
-#: src/xgettext.c:552
+
+#: src/xgettext.c:566
 #, fuzzy, no-wrap
 msgid ""
+"Output details:\n"
+"  -e, --no-escape                do not use C escapes in output (default)\n"
+"  -E, --escape                   use C escapes in output, no extended chars\n"
+"      --force-po                 write PO file even if empty\n"
+"  -i, --indent                   write the .po file using indented style\n"
+"      --no-location              do not write '#: filename:line' lines\n"
 "  -n, --add-location             generate '#: filename:line' lines (default)\n"
-"      --omit-header              don't write header with `msgid \"\"' entry\n"
-"  -o, --output=FILE              write output to specified file\n"
-"  -p, --output-dir=DIR           output files will be placed in directory DIR\n"
-"  -s, --sort-output              generate sorted output and remove duplicates\n"
 "      --strict                   write out strict Uniforum conforming .po file\n"
-"  -T, --trigraphs                understand ANSI C trigraphs for input\n"
-"  -V, --version                  output version information and exit\n"
 "  -w, --width=NUMBER             set output page width\n"
-"  -x, --exclude-file=FILE        entries from FILE are not extracted\n"
-"\n"
-"If INPUTFILE is -, standard input is read.\n"
-msgstr ""
-"  -n, --add-location             generer «#: filnavn:linje»-linjer (standard)\n"
-"      --omit-header              ikke skriv hode med «msgid »-innslag\n"
-"  -o, --output=FIL               skriv utdata til FIL\n"
-"  -p, --output-dir=KAT           skriv ut filene til katalogen KAT\n"
-"  -s, --sort-output              sorter utdata og fjern duplikater\n"
-"      --strict                   lag streng Uniforum-konform .po-fil\n"
-"  -T, --trigraphs                forstå ANSI C trigraphs i inndata\n"
-"  -V, --version                  skriv ut programversjon og avslutt\n"
-"  -w, --width=ANTALL             sett sidebredden i utdata\n"
-"  -x, --exclude-file=FIL         innslag fra FIL blir ikke ekstrahert\n"
-"\n"
-"Dersom INNFIL er -, lese standard inn.\n"
+"  -s, --sort-output              generate sorted output\n"
+"  -F, --sort-by-file             sort output by file location\n"
+"      --omit-header              don't write header with `msgid \"\"' entry\n"
+"      --foreign-user             omit FSF copyright in output for foreign user\n"
+"  -m, --msgstr-prefix[=STRING]   use STRING or \"\" as prefix for msgstr entries\n"
+"  -M, --msgstr-suffix[=STRING]   use STRING or \"\" as suffix for msgstr entries\n"
+msgstr ""
+"Bruksmåte: %s [FLAGG] def.po ref.po\n"
+"Obligatoriske argumenter til lange flagg er også obligatoriske for korte flagg.\n"
+"  -C  --compendium=FIL        ytterligere bibliotek med oversettelser,\n"
+"                              kan bli angitt mer enn en gang\n"
+"  -D, --directory=KATALOG     legge KATALOG til søkelisten over innfiler\n"
+"  -e, --no-escape             ikke bruke C-escapekoder i utdata (standard)\n"
+"  -E, --escape                bruk C-escaper i utdata, ingen utvidede tegn\n"
+"      --force-po              skriv PO-fil selv om den blir tom\n"
+"  -h, --help                  vise denne hjelpen og avslutte\n"
+"  -i, --indent                innrykk i utdata\n"
+"  -o, --output-file=FIL       resultat vil bli skrevet til FIL\n"
+"      --no-location           undertrykk «#: filnavn:linje»-linjer\n"
+"      --add-location          bevar «#: filnavn:linje»-linjer (standard)\n"
+"      --strict                lag streng Uniforum-konform utdata\n"
+"  -v, --verbose               gi mer fyldige meldinger\n"
+"  -V, --version               skriv ut programversjon og avslutt\n"
+"  -w, --width=ANTALL          sett sidebredden i utdata\n"
 
-#: src/xgettext.c:914
-#, fuzzy, c-format
-msgid "%s:%d: warning: keyword nested in keyword arg"
-msgstr "%s:%d: advarsel: uavsluttet strengliteral"
+#: src/xgettext.c:720
+msgid "standard input"
+msgstr "standard inn"
 
-#: src/xgettext.c:924
-#, c-format
-msgid "%s:%d: warning: keyword between outer keyword and its arg"
+#: src/xgettext.c:830
+msgid ""
+"Empty msgid.  It is reserved by GNU gettext:\n"
+"gettext(\"\") returns the header entry with\n"
+"meta information, not the empty string.\n"
 msgstr ""
 
-#: src/xgettext.c:1420
+#: src/xgettext.c:1099
 #, c-format
 msgid "language `%s' unknown"
 msgstr "språket «%s» er ukjent"
 
+#~ msgid "while creating hash table"
+#~ msgstr "mens hash-tabellen ble laget"
+
 #, fuzzy
-#~ msgid ""
-#~ "%s: warning: charset \"%s\" is not supported by iconv%s\n"
-#~ "%*s  warning: consider installing GNU libiconv and then\n"
-#~ "%*s           reinstalling GNU gettext"
-#~ msgstr "%s: advarselL: kildefil har antatte oversettelser"
+#~ msgid "%s:%lu: warning: keyword nested in keyword arg"
+#~ msgstr "%s:%d: advarsel: nøkkelord nøstet i et annet nøkkelords argument"
 
 #, fuzzy
+#~ msgid "%s:%lu: warning: keyword between outer keyword and its arg"
+#~ msgstr "%s:%d: advarsel: nøkkelord mellom ytre nøkkelord og dets argument"
+
+#~ msgid "while preparing output"
+#~ msgstr "under klargjøring av utdata"
+
+#~ msgid "this message has no definition in the \"%s\" domain"
+#~ msgstr "denne meldingen har ingen definisjon i «%s»-domenet"
+
+#~ msgid ""
+#~ "Usage: %s [OPTION] INPUTFILE ...\n"
+#~ "Mandatory arguments to long options are mandatory for short options too.\n"
+#~ "  -d, --default-domain=NAME      use NAME.po for output (instead of "
+#~ "messages.po)\n"
+#~ "  -D, --directory=DIRECTORY      add DIRECTORY to list for input files "
+#~ "search\n"
+#~ "  -e, --no-escape                do not use C escapes in output "
+#~ "(default)\n"
+#~ "  -E, --escape                   use C escapes in output, no extended "
+#~ "chars\n"
+#~ "  -f, --files-from=FILE          get list of input files from FILE\n"
+#~ "      --force-po                 write PO file even if empty\n"
+#~ "  -F, --sort-by-file             sort output by file location\n"
+#~ "  -h, --help                     display this help and exit\n"
+#~ msgstr ""
+#~ "Bruksmåte: %s [FLAGG] INNFIL ...\n"
+#~ "Obligatoriske argumenter til lange flagg er også obligatorisk for korte "
+#~ "flagg.\n"
+#~ "  -d, --default-domain=NAVN      bruk NAVN.po som resultatfil (istedet "
+#~ "for messages.po)\n"
+#~ "  -D, --directory=KATALOG        legge til KATALOG til søkelisten for "
+#~ "innfiler\n"
+#~ "  -e, --no-escape                ikke bruk C-escapekoder i utdata "
+#~ "(standard)\n"
+#~ "  -E, --escape                   bruk C-escapekoder i utdata, ingen "
+#~ "utvidede tegn\n"
+#~ "  -f, --files-from=FIL           hent liste av innfiler fra FIL\n"
+#~ "      --force-po                 skriv PO-fil selv om den vil bli tom\n"
+#~ "  -F, --sort-by-file             sorter utdata etter fillokasjon\n"
+#~ "  -h, --help                     vise denne hjelpen og avslutte\n"
+
 #~ msgid ""
-#~ "%s: warning: charset \"%s\" is not supported without iconv%s\n"
-#~ "%*s  warning: consider installing GNU libiconv and then\n"
-#~ "%*s           reinstalling GNU gettext"
-#~ msgstr "%s: advarselL: kildefil har antatte oversettelser"
+#~ "  -i, --indent                   write the .po file using indented style\n"
+#~ "      --no-location              do not write '#: filename:line' lines\n"
+#~ "  -n, --add-location             generate '#: filename:line' lines "
+#~ "(default)\n"
+#~ "      --omit-header              don't write header with `msgid \"\"' "
+#~ "entry\n"
+#~ "  -o, --output=FILE              write output to specified file\n"
+#~ "  -p, --output-dir=DIR           output files will be placed in directory "
+#~ "DIR\n"
+#~ "  -s, --sort-output              generate sorted output and remove "
+#~ "duplicates\n"
+#~ "      --strict                   write out strict Uniforum conforming .po "
+#~ "file\n"
+#~ "  -T, --trigraphs                understand ANSI C trigraphs for input\n"
+#~ "  -u, --unique                   shorthand for --less-than=2, requests\n"
+#~ "                                 that only unique messages be printed\n"
+#~ msgstr ""
+#~ "  -i, --indent                   skrive ut .po-filen med innrykk\n"
+#~ "      --no-location              ikke skriv «#: filnavn:linje»-linjer\n"
+#~ "  -n, --add-location             genererer «#: filnavn:linje»-linjer "
+#~ "(standard)\n"
+#~ "      --omit-header              ikke skriv hode med «msgid »\n"
+#~ "  -o, --output=FIL               skriv utdata til angitt FIL\n"
+#~ "  -p, --output-dir=KAT           utfiler plasseres i katalogen KAT\n"
+#~ "  -s, --sort-output              generer sortert utdata og fjern "
+#~ "duplikater\n"
+#~ "      --strict                   skriv ut streng Uniforum-konform .po-"
+#~ "fil\n"
+#~ "  -T, --trigraphs                forstå ANSI C trigraphs i inndata\n"
+#~ "  -u, --unique                   kortform --less-than=2, krever\n"
+#~ "                                 at bare unike meldinger blir skrevet ut\n"
 
-#~ msgid "Memory exhausted"
-#~ msgstr "Minnet oppbrukt"
+#~ msgid ""
+#~ "Usage: %s [OPTION] filename.po ...\n"
+#~ "Generate binary message catalog from textual translation description.\n"
+#~ "\n"
+#~ "Mandatory arguments to long options are mandatory for short options too.\n"
+#~ "  -a, --alignment=NUMBER      align strings to NUMBER bytes (default: %"
+#~ "d)\n"
+#~ "  -c, --check                 perform language dependent checks on "
+#~ "strings\n"
+#~ "  -D, --directory=DIRECTORY   add DIRECTORY to list for input files "
+#~ "search\n"
+#~ "  -f, --use-fuzzy             use fuzzy entries in output\n"
+#~ "  -h, --help                  display this help and exit\n"
+#~ "      --no-hash               binary file will not include the hash "
+#~ "table\n"
+#~ "  -o, --output-file=FILE      specify output file name as FILE\n"
+#~ "      --statistics            print statistics about translations\n"
+#~ "      --strict                enable strict Uniforum mode\n"
+#~ "  -v, --verbose               list input file anomalies\n"
+#~ "  -V, --version               output version information and exit\n"
+#~ "\n"
+#~ "Giving the -v option more than once increases the verbosity level.\n"
+#~ "\n"
+#~ "If input file is -, standard input is read.  If output file is -,\n"
+#~ "output is written to standard output.\n"
+#~ msgstr ""
+#~ "Bruksmåte: %s [FLAGG] filnavn.po ...\n"
+#~ "Lage binær meldingskatalog fra tekstbasert beskrivelse.\n"
+#~ "\n"
+#~ "Obligatoriske argumenter for lange flagg er også obligatoriske for korte "
+#~ "flagg.\n"
+#~ "  -a, --alignment=ANTALL      juster strengene til ANTALL byter "
+#~ "(standard: %d)\n"
+#~ "  -c, --check                 utfør språkavhengige tester på strengene\n"
+#~ "  -D, --directory=KATALOG     legge KATALOG til søkelisten for innfiler\n"
+#~ "  -f, --use-fuzzy             bruk antatte linjer i utdata\n"
+#~ "  -h, --help                  vis denne hjelpeteksten og avslutt\n"
+#~ "      --no-hash               binær vil ikke bli inkludert i hash-"
+#~ "tabellen\n"
+#~ "  -o, --output-file=FIL       angi FIL som filnavn for utdata\n"
+#~ "      --statistics            skrive ut statistikk om oversettelsene\n"
+#~ "      --strict                lag streng Uniforum-konform .po-fil\n"
+#~ "  -v, --verbose               list alle avvik i innfil\n"
+#~ "  -V, --version               skriv ut programversjon og avslutt\n"
+#~ "\n"
+#~ "Dersom -v-flagget blir gitt flere ganger, gis mer fyldige meldinger.\n"
+#~ "\n"
+#~ "Dersom innfil er -, vil inndata bli lest fra standard inn.  Dersom utfil "
+#~ "er -,\n"
+#~ "vil utdata bli skrevet til standard ut.\n"
 
-#~ msgid "%s: warning: no header entry found"
-#~ msgstr "%s: advarsel: fant ikke filhode"
+#~ msgid ""
+#~ "\n"
+#~ "Convert binary .mo files to Uniforum style .po files.\n"
+#~ "Both little-endian and big-endian .mo files are handled.\n"
+#~ "If no input file is given or it is -, standard input is read.\n"
+#~ "By default the output is written to standard output.\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Konverter binære .mo-filer til Uniforum .po-filer.\n"
+#~ "Både «little-endian» og «big-endian» .mo-filer blir håndtert.\n"
+#~ "Dersom innfil er -, blir standard inn lest.\n"
+#~ "Dersom intet annet er spesifisert, blir det skrevet til standard ut.\n"
 
-#, fuzzy
-#~ msgid "this is the location of the first definition"
-#~ msgstr "... dette er lokasjonen til den første definisjonen"
+#~ msgid ""
+#~ "Usage: %s [OPTION] INPUTFILE ...\n"
+#~ "Extract translatable string from given input files.\n"
+#~ "\n"
+#~ "Mandatory arguments to long options are mandatory for short options too.\n"
+#~ "  -a, --extract-all              extract all strings\n"
+#~ "  -c, --add-comments[=TAG]       place comment block with TAG (or those\n"
+#~ "                                 preceding keyword lines) in output file\n"
+#~ "  -C, --c++                      shorthand for --language=C++\n"
+#~ "      --debug                    more detailed formatstring recognision "
+#~ "result\n"
+#~ "  -d, --default-domain=NAME      use NAME.po for output (instead of "
+#~ "messages.po)\n"
+#~ "  -D, --directory=DIRECTORY      add DIRECTORY to list for input files "
+#~ "search\n"
+#~ "  -e, --no-escape                do not use C escapes in output "
+#~ "(default)\n"
+#~ "  -E, --escape                   use C escapes in output, no extended "
+#~ "chars\n"
+#~ "  -f, --files-from=FILE          get list of input files from FILE\n"
+#~ "      --force-po                 write PO file even if empty\n"
+#~ "      --foreign-user             omit FSF copyright in output for foreign "
+#~ "user\n"
+#~ "  -F, --sort-by-file             sort output by file location\n"
+#~ msgstr ""
+#~ "Bruksmåte: %s [FLAGG] INNFIL ...\n"
+#~ "Ekstrahere oversettbare strenger fra angitte innfiler.\n"
+#~ "\n"
+#~ "Obligatoriske argumenter for lange flagg er også obligatoriske for korte "
+#~ "flagg.\n"
+#~ "  -a, --extract-all              ekstrahere alle strengene\n"
+#~ "  -c, --add-comments[=TAG]       lagre kommentarblokker med TAG (eller "
+#~ "kommentarer\n"
+#~ "                                 i linjer som kommer foran nøkkelord) i "
+#~ "utfilen\n"
+#~ "  -C, --c++                      kortform for --language=C++\n"
+#~ "      --debug                    mer detaljert resultat fra gjenkjenning "
+#~ "av formatstreng\n"
+#~ "  -d, --default-domain=NAVN      bruk NAVN.po for utdata (istedet for "
+#~ "messages.po)\n"
+#~ "  -D, --directory=KATALOG        legg KATALOG til søkelisten for "
+#~ "innfiler\n"
+#~ "  -e, --no-escape                ikke bruk C-escapesekvenser i utdata "
+#~ "(standard)\n"
+#~ "  -E, --escape                   bruke C-escapekoder i utdata, ingen "
+#~ "utvidede tegn\n"
+#~ "  -f, --files-from=FIL           hent liste over innfiler fra FIL\n"
+#~ "      --force-po                 skriv ut PO-fil selv om den vil bli tom\n"
+#~ "      --foreign-user             utelat FSF-copyright i utdata for "
+#~ "fremmede brukere\n"
+#~ "  -F, --sort-by-file             sorter utdata etter fillokasjon\n"
 
-#, fuzzy
-#~ msgid "duplicate message ID"
-#~ msgstr "duplisert definisjon av melding"
+#~ msgid ""
+#~ "  -h, --help                     display this help and exit\n"
+#~ "  -i, --indent                   write the .po file using indented style\n"
+#~ "  -j, --join-existing            join messages with existing file\n"
+#~ "  -k, --keyword[=WORD]           additonal keyword to be looked for "
+#~ "(without\n"
+#~ "                                 WORD means not to use default keywords)\n"
+#~ "  -L, --language=NAME            recognise the specified language (C, C+"
+#~ "+, PO),\n"
+#~ "                                 otherwise is guessed from file "
+#~ "extension\n"
+#~ "  -m, --msgstr-prefix[=STRING]   use STRING or \"\" as prefix for msgstr "
+#~ "entries\n"
+#~ "  -M, --msgstr-suffix[=STRING]   use STRING or \"\" as suffix for msgstr "
+#~ "entries\n"
+#~ "      --no-location              do not write '#: filename:line' lines\n"
+#~ msgstr ""
+#~ "  -h, --help                     vise denne hjelpen og avslutte\n"
+#~ "  -i, --indent                   skrive .po-filen med innrykk\n"
+#~ "  -j, --join-existing            flett meldinger med eksisterende fil\n"
+#~ "  -k, --keyword[=ORD]            ytterligere nøkkelord for bruk i søk "
+#~ "(mangler\n"
+#~ "                                 ORD skal heller ikke standard nøkkelord "
+#~ "brukes)\n"
+#~ "  -l, --string-limit=ANTALL      sett begrensning på strenglengde til "
+#~ "ANTALL istedet for %u\n"
+#~ "  -L, --language=NAVN            gjenkjenn det angitt språket (C, C++, "
+#~ "PO),\n"
+#~ "                                 ellers blir det gjettet fra "
+#~ "filutvidelsen\n"
+#~ "  -m, --msgstr-prefix[=STRENG]   bruk STRENG eller «» som prefiks for "
+#~ "msgstr-innslag\n"
+#~ "  -M, --msgstr-suffix[=STRENG]   bruk STRENG eller «» som suffiks for "
+#~ "msgstr-innslag\n"
+#~ "      --no-location              ikke skriv ut «#: filnavn:linje»-linjer\n"
+
+#~ msgid ""
+#~ "  -n, --add-location             generate '#: filename:line' lines "
+#~ "(default)\n"
+#~ "      --omit-header              don't write header with `msgid \"\"' "
+#~ "entry\n"
+#~ "  -o, --output=FILE              write output to specified file\n"
+#~ "  -p, --output-dir=DIR           output files will be placed in directory "
+#~ "DIR\n"
+#~ "  -s, --sort-output              generate sorted output and remove "
+#~ "duplicates\n"
+#~ "      --strict                   write out strict Uniforum conforming .po "
+#~ "file\n"
+#~ "  -T, --trigraphs                understand ANSI C trigraphs for input\n"
+#~ "  -V, --version                  output version information and exit\n"
+#~ "  -w, --width=NUMBER             set output page width\n"
+#~ "  -x, --exclude-file=FILE        entries from FILE are not extracted\n"
+#~ "\n"
+#~ "If INPUTFILE is -, standard input is read.\n"
+#~ msgstr ""
+#~ "  -n, --add-location             generer «#: filnavn:linje»-linjer "
+#~ "(standard)\n"
+#~ "      --omit-header              ikke skriv hode med «msgid »-innslag\n"
+#~ "  -o, --output=FIL               skriv utdata til FIL\n"
+#~ "  -p, --output-dir=KAT           skriv ut filene til katalogen KAT\n"
+#~ "  -s, --sort-output              sorter utdata og fjern duplikater\n"
+#~ "      --strict                   lag streng Uniforum-konform .po-fil\n"
+#~ "  -T, --trigraphs                forstå ANSI C trigraphs i inndata\n"
+#~ "  -V, --version                  skriv ut programversjon og avslutt\n"
+#~ "  -w, --width=ANTALL             sett sidebredden i utdata\n"
+#~ "  -x, --exclude-file=FIL         innslag fra FIL blir ikke ekstrahert\n"
+#~ "\n"
+#~ "Dersom INNFIL er -, lese standard inn.\n"
index b86a3d0f0832e30636b28d3f6f1f5e9242462d4d..c933c8138b9f96d033e3ef1068a50ab48b02d066 100644 (file)
Binary files a/po/pl.gmo and b/po/pl.gmo differ
index ee6acec85e858060ed81edb545f772e559c40523..5aa3f533980df3d12377b01714467692b517addd 100644 (file)
--- a/po/pl.po
+++ b/po/pl.po
@@ -5,21 +5,68 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: GNU gettext 0.10.38\n"
-"POT-Creation-Date: 2001-05-30 23:23+0200\n"
-"PO-Revision-Date: 2001-06-04 23:15+0200\n"
+"Project-Id-Version: GNU gettext 0.10.39\n"
+"POT-Creation-Date: 2001-11-30 14:18+0100\n"
+"PO-Revision-Date: 2001-08-01 23:50+0200\n"
 "Last-Translator: Rafa³ Maszkowski <rzm@icm.edu.pl>\n"
 "Language-Team: Polish <pl@li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=ISO-8859-2\n"
-"Content-Transfer-Encoding: 8-bit\n"
+"Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
 "|| n%100>=20) ? 1 : 2);\n"
 
+#: lib/argmatch.c:141
+#, c-format
+msgid "invalid argument `%s' for `%s'"
+msgstr ""
+
+#: lib/argmatch.c:142
+#, c-format
+msgid "ambiguous argument `%s' for `%s'"
+msgstr ""
+
+#: lib/argmatch.c:162
+msgid "Valid arguments are:"
+msgstr ""
+
+#: lib/copy-file.c:60 src/file-list.c:57 src/po-lex.c:732 src/read-mo.c:170
+#: src/xgettext.c:729 src/xgettext.c:742 src/xgettext.c:752
+#, c-format
+msgid "error while opening \"%s\" for reading"
+msgstr "b³±d w czasie otwierania \"%s\" do czytania"
+
+#: lib/copy-file.c:67
+#, fuzzy, c-format
+msgid "cannot open backup file \"%s\" for writing"
+msgstr "b³±d otwarcia \"%s\" do pisania"
+
+#: lib/copy-file.c:80
+#, fuzzy, c-format
+msgid "error reading \"%s\""
+msgstr "b³±d w czasie czytania \"%s\""
+
+#: lib/copy-file.c:86 lib/copy-file.c:90
+#, fuzzy, c-format
+msgid "error writing \"%s\""
+msgstr "b³±d podczas pisania do pliku \"%s\""
+
+#: lib/copy-file.c:92
+#, fuzzy, c-format
+msgid "error after reading \"%s\""
+msgstr "b³±d w czasie czytania \"%s\""
+
 #: lib/error.c:115
 msgid "Unknown system error"
 msgstr "Nieznany b³±d systemu"
 
+#: lib/execute.c:170 lib/execute.c:205 lib/pipe-bidi.c:156 lib/pipe-bidi.c:191
+#: lib/pipe-in.c:167 lib/pipe-in.c:202 lib/pipe-out.c:167 lib/pipe-out.c:202
+#: lib/wait-process.c:136
+#, c-format
+msgid "%s subprocess failed"
+msgstr ""
+
 #: lib/getopt.c:691
 #, c-format
 msgid "%s: option `%s' is ambiguous\n"
@@ -40,19 +87,16 @@ msgstr "%s: opcja `%c%s' nie mo
 msgid "%s: option `%s' requires an argument\n"
 msgstr "%s: opcja `%s' wymaga argumentu\n"
 
-#. --option
 #: lib/getopt.c:768
 #, c-format
 msgid "%s: unrecognized option `--%s'\n"
 msgstr "%s: nierozpoznana opcja `--%s'\n"
 
-#. +option or -option
 #: lib/getopt.c:772
 #, c-format
 msgid "%s: unrecognized option `%c%s'\n"
 msgstr "%s: nierozpoznana opcja `%c%s'\n"
 
-#. 1003.2 specifies the format of this message.
 #: lib/getopt.c:798
 #, c-format
 msgid "%s: illegal option -- %c\n"
@@ -63,7 +107,6 @@ msgstr "%s: niedozwolona opcja -- %c\n"
 msgid "%s: invalid option -- %c\n"
 msgstr "%s: b³êdna opcja -- %c\n"
 
-#. 1003.2 specifies the format of this message.
 #: lib/getopt.c:831 lib/getopt.c:961
 #, c-format
 msgid "%s: option requires an argument -- %c\n"
@@ -79,12 +122,114 @@ msgstr "%s: opcja `-W %s' jest niejednoznaczna\n"
 msgid "%s: option `-W %s' doesn't allow an argument\n"
 msgstr "%s: opcja `-W %s' nie mo¿e mieæ argumentu\n"
 
-#: lib/obstack.c:474 lib/xerror.c:69 lib/xmalloc.c:86
+#: lib/javacomp.c:465
+msgid "Java compiler not found, try installing gcj or set $JAVAC"
+msgstr ""
+
+#: lib/javaexec.c:404
+msgid "Java virtual machine not found, try installing gij or set $JAVA"
+msgstr ""
+
+#: lib/obstack.c:474 lib/xerror.c:75 lib/xmalloc.c:56
 msgid "memory exhausted"
 msgstr "pamiêæ wyczerpana"
 
-#: src/gettext.c:143 src/msgcmp.c:138 src/msgcomm.c:275 src/msgfmt.c:268
-#: src/msgmerge.c:199 src/msgunfmt.c:172 src/ngettext.c:123 src/xgettext.c:387
+#: lib/pipe-bidi.c:119 lib/pipe-bidi.c:121 lib/pipe-in.c:136
+#: lib/pipe-out.c:136
+#, fuzzy
+msgid "cannot create pipe"
+msgstr "nie mogê utworzyæ pliku wyj¶ciowego \"%s\""
+
+#: lib/wait-process.c:117
+#, c-format
+msgid "%s subprocess"
+msgstr ""
+
+#: lib/wait-process.c:129
+#, c-format
+msgid "%s subprocess got fatal signal"
+msgstr ""
+
+#: src/format-c.c:578 src/format-python.c:463
+#, fuzzy
+msgid "number of format specifications in 'msgid' and 'msgstr' does not match"
+msgstr "nie zgadza siê ilo¶æ specyfikacji formatu w `msgid' i w `msgstr'"
+
+#: src/format-c.c:588 src/format-python.c:473
+#, fuzzy, c-format
+msgid ""
+"format specifications in 'msgid' and 'msgstr' for argument %u are not the "
+"same"
+msgstr "specyfikacje formatu dla argumentu %lu nie s± takie same"
+
+#: src/format-java.c:652 src/format-pascal.c:396
+#, fuzzy, c-format
+msgid "a format specification for argument {%u} doesn't exist in 'msgid'"
+msgstr "specyfikacje formatu dla argumentu %lu nie s± takie same"
+
+#: src/format-java.c:662 src/format-pascal.c:406
+#, fuzzy, c-format
+msgid "a format specification for argument {%u} doesn't exist in 'msgstr'"
+msgstr "specyfikacje formatu dla argumentu %lu nie s± takie same"
+
+#: src/format-java.c:676 src/format-pascal.c:420
+#, fuzzy, c-format
+msgid ""
+"format specifications in 'msgid' and 'msgstr' for argument {%u} are not the "
+"same"
+msgstr "specyfikacje formatu dla argumentu %lu nie s± takie same"
+
+#: src/format-lisp.c:3371
+#, fuzzy
+msgid "format specifications in 'msgid' and 'msgstr' are not equivalent"
+msgstr "nie zgadza siê ilo¶æ specyfikacji formatu w `msgid' i w `msgstr'"
+
+#: src/format-python.c:391
+#, fuzzy
+msgid ""
+"format specifications in 'msgid' expect a mapping, those in 'msgstr' expect "
+"a tuple"
+msgstr "nie zgadza siê ilo¶æ specyfikacji formatu w `msgid' i w `msgstr'"
+
+#: src/format-python.c:399
+#, fuzzy
+msgid ""
+"format specifications in 'msgid' expect a tuple, those in 'msgstr' expect a "
+"mapping"
+msgstr "nie zgadza siê ilo¶æ specyfikacji formatu w `msgid' i w `msgstr'"
+
+#: src/format-python.c:422
+#, fuzzy, c-format
+msgid "a format specification for argument '%s' doesn't exist in 'msgid'"
+msgstr "specyfikacje formatu dla argumentu %lu nie s± takie same"
+
+#: src/format-python.c:432
+#, fuzzy, c-format
+msgid "a format specification for argument '%s' doesn't exist in 'msgstr'"
+msgstr "specyfikacje formatu dla argumentu %lu nie s± takie same"
+
+#: src/format-python.c:446
+#, fuzzy, c-format
+msgid ""
+"format specifications in 'msgid' and 'msgstr' for argument '%s' are not the "
+"same"
+msgstr "specyfikacje formatu dla argumentu %lu nie s± takie same"
+
+#: src/format-ycp.c:137
+#, fuzzy, c-format
+msgid "a format specification for argument %u doesn't exist in 'msgstr'"
+msgstr "specyfikacje formatu dla argumentu %lu nie s± takie same"
+
+#: src/format-ycp.c:138
+#, fuzzy, c-format
+msgid "a format specification for argument %u doesn't exist in 'msgid'"
+msgstr "specyfikacje formatu dla argumentu %lu nie s± takie same"
+
+#: src/gettext.c:146 src/hostname.c:168 src/msgattrib.c:264 src/msgcat.c:229
+#: src/msgcmp.c:134 src/msgcomm.c:232 src/msgconv.c:182 src/msgen.c:171
+#: src/msgexec.c:240 src/msgfmt.c:333 src/msggrep.c:276 src/msginit.c:247
+#: src/msgmerge.c:252 src/msgunfmt.c:182 src/msguniq.c:207 src/ngettext.c:126
+#: src/xgettext.c:352
 #, c-format, no-wrap
 msgid ""
 "Copyright (C) %s Free Software Foundation, Inc.\n"
@@ -96,39 +241,45 @@ msgstr ""
 "Autorzy nie daj± ¯ADNYCH gwarancji, w tym równie¿ gwarancji MO¯LIWO¦CI\n"
 "SPRZEDA¯Y lub PRZYDATNO¦CI DO KONKRETNYCH ZASTOSOWAÑ.\n"
 
-#: src/gettext.c:148 src/msgcmp.c:143 src/msgcomm.c:280 src/msgfmt.c:273
-#: src/msgmerge.c:204 src/msgunfmt.c:177 src/ngettext.c:128 src/xgettext.c:392
+#: src/gettext.c:151 src/hostname.c:173 src/msgattrib.c:269 src/msgcat.c:234
+#: src/msgcmp.c:139 src/msgcomm.c:237 src/msgconv.c:187 src/msgen.c:176
+#: src/msgexec.c:245 src/msgfmt.c:338 src/msggrep.c:281 src/msginit.c:252
+#: src/msgmerge.c:257 src/msgunfmt.c:187 src/msguniq.c:212 src/ngettext.c:131
+#: src/xgettext.c:357
 #, c-format
 msgid "Written by %s.\n"
 msgstr "Zapisane przez %s.\n"
 
-#: src/gettext.c:166 src/ngettext.c:140
+#: src/gettext.c:169 src/hostname.c:183 src/msginit.c:262 src/ngettext.c:143
 msgid "too many arguments"
 msgstr "za du¿o argumentów"
 
-#: src/gettext.c:176 src/ngettext.c:152
+#: src/gettext.c:179 src/ngettext.c:155
 msgid "missing arguments"
 msgstr "brakuj±ce argumenty"
 
-#: src/gettext.c:248 src/msgcmp.c:175 src/msgcomm.c:373 src/msgfmt.c:385
-#: src/msgmerge.c:263 src/msgunfmt.c:211 src/ngettext.c:207 src/xgettext.c:514
+#: src/gettext.c:251 src/hostname.c:197 src/msgattrib.c:322 src/msgcat.c:290
+#: src/msgcmp.c:171 src/msgcomm.c:306 src/msgconv.c:241 src/msgen.c:227
+#: src/msgexec.c:338 src/msgfmt.c:479 src/msggrep.c:371 src/msginit.c:338
+#: src/msgmerge.c:367 src/msgunfmt.c:262 src/msguniq.c:269 src/ngettext.c:210
+#: src/xgettext.c:499
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "Spróbuj `%s --help' ¿eby otrzymaæ wiêcej informacji.\n"
 
-#: src/gettext.c:253
+#: src/gettext.c:256
 #, c-format, no-wrap
 msgid ""
 "Usage: %s [OPTION] [[TEXTDOMAIN] MSGID]\n"
 "or:    %s [OPTION] -s [MSGID]...\n"
 msgstr ""
 
-#: src/gettext.c:259
+#: src/gettext.c:262
 #, no-wrap
 msgid "Display native language translation of a textual message.\n"
 msgstr ""
 
-#: src/gettext.c:263
+#: src/gettext.c:266
 #, fuzzy, no-wrap
 msgid ""
 "  -d, --domain=TEXTDOMAIN   retrieve translated messages from TEXTDOMAIN\n"
@@ -150,7 +301,7 @@ msgstr ""
 "  [TEXTDOMAIN] MSGID        wydob±d¼ z TEXTDOMAIN przet³umaczony komunikat\n"
 "                            odpowiadaj±cy MSGID\n"
 
-#: src/gettext.c:274
+#: src/gettext.c:277
 #, fuzzy, c-format, no-wrap
 msgid ""
 "If the TEXTDOMAIN parameter is not given, the domain is determined from the\n"
@@ -172,63 +323,37 @@ msgstr ""
 "wybranym katalogu.\n"
 "Domy¶lnie przeszukiwany katalog: %s\n"
 
-#: src/gettext.c:284 src/msgcmp.c:214 src/msgcomm.c:452 src/msgfmt.c:444
-#: src/msgmerge.c:332 src/msgunfmt.c:264 src/ngettext.c:240 src/xgettext.c:605
-msgid "Report bugs to <bug-gnu-utils@gnu.org>.\n"
+#: src/gettext.c:288 src/hostname.c:227 src/msgattrib.c:402 src/msgcat.c:371
+#: src/msgcmp.c:216 src/msgcomm.c:384 src/msgconv.c:305 src/msgen.c:287
+#: src/msgexec.c:410 src/msgfmt.c:563 src/msggrep.c:457 src/msginit.c:389
+#: src/msgmerge.c:465 src/msgunfmt.c:331 src/msguniq.c:343 src/ngettext.c:244
+#: src/xgettext.c:591
+#, fuzzy
+msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
 msgstr "Raporty o b³êdach wysy³aj do bug-gnu-utils@gnu.org\n"
 
-#: src/msgcmp.c:154 src/msgmerge.c:215
-msgid "no input files given"
-msgstr "nie podano nazw plików wej¶ciowych"
-
-#: src/msgcmp.c:159 src/msgmerge.c:220
-msgid "exactly 2 input files required"
-msgstr "wymagane s± dok³adnie dwa pliki wej¶ciowe"
-
-#: src/msgcmp.c:180 src/msgmerge.c:268
+#: src/hostname.c:202 src/msginit.c:343
 #, c-format, no-wrap
-msgid "Usage: %s [OPTION] def.po ref.pot\n"
-msgstr ""
-
-#: src/msgcmp.c:185
-#, fuzzy, no-wrap
-msgid ""
-"Compare two Uniforum style .po files to check that both contain the same\n"
-"set of msgid strings.  The def.po file is an existing PO file with the\n"
-"translations.  The ref.pot file is the last created PO file, or a PO Template\n"
-"file (generally created by xgettext).  This is useful for checking that\n"
-"you have translated each and every message in your program.  Where an exact\n"
-"match cannot be found, fuzzy matching is used to produce better diagnostics.\n"
+msgid "Usage: %s [OPTION]\n"
 msgstr ""
-"Sk³adnia: %s [OPCJA] def.po ref.po\n"
-"Argumenty obowi±zkowe dla opcji d³ugich obowi±zuj± równie¿ dla krótkich.\n"
-"  -D, --directory=KATALOG     szukaj plików wej¶ciowych równie¿ w KATALOGu\n"
-"  -h, --help                  wy¶wietl ten opis i zakoñcz\n"
-"  -V, --version               wy¶wietl informacjê o wersji i zakoñcz\n"
-"\n"
-"Porównaj dwa pliki .po w stylu Uniforum, ¿eby sprawdziæ czy zawieraj± te\n"
-"same zbiory ³añcuchów msgid. Plik def.po to istniej±cy plik PO ze starymi\n"
-"t³umaczeniami. Plik ref.po jest ostatnio utworzonym plikiem PO \n"
-"(zwykle przez xgettext).  Jest to przydatne do stwierdzenia czy wszystkie\n"
-"komunikaty w programie zosta³y przet³umaczone. Tam gdzie nie mo¿na\n"
-"porównaæ dok³adnie u¿ywane jest porównanie rozmyte, dla lepszej diagnostyki.\n"
 
-#: src/msgcmp.c:195 src/msgcomm.c:395 src/msgfmt.c:400 src/msgmerge.c:286
-#: src/msgunfmt.c:226
+#: src/hostname.c:207
 #, no-wrap
-msgid "Mandatory arguments to long options are mandatory for short options too.\n"
+msgid "Print the machine's hostname.\n"
 msgstr ""
 
-#: src/msgcmp.c:200
+#: src/hostname.c:212
 #, no-wrap
 msgid ""
-"Input file location:\n"
-"  def.po                      translations\n"
-"  ref.pot                     references to the sources\n"
-"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"Output format:\n"
+"  -s, --short           short host name\n"
+"  -f, --fqdn, --long    long host name, includes fully qualified domain name,\n"
+"                          and aliases\n"
+"  -i, --ip-address      addresses for the hostname\n"
 msgstr ""
 
-#: src/msgcmp.c:208
+#: src/hostname.c:221 src/msgattrib.c:396 src/msgcmp.c:210 src/msgconv.c:299
+#: src/msgen.c:281 src/msgexec.c:404 src/msggrep.c:451 src/msginit.c:383
 #, no-wrap
 msgid ""
 "Informative output:\n"
@@ -236,81 +361,143 @@ msgid ""
 "  -V, --version               output version information and exit\n"
 msgstr ""
 
-#: src/msgcmp.c:263 src/msgmerge.c:414
-msgid "this message is used but not defined..."
-msgstr "ten komunikat jest u¿yty, ale nie zdefiniowany..."
+#: src/hostname.c:242 src/hostname.c:249
+msgid "could not get host name"
+msgstr ""
 
-#: src/msgcmp.c:265 src/msgmerge.c:416
-msgid "...but this definition is similar"
-msgstr "...ale ta definicja jest podobna"
+#: src/msgattrib.c:284 src/msgconv.c:202 src/msgexec.c:190 src/msggrep.c:296
+#: src/msginit.c:205 src/msguniq.c:227
+msgid "at most one input file allowed"
+msgstr ""
 
-#: src/msgcmp.c:271 src/msgmerge.c:443
+#: src/msgattrib.c:290 src/msgattrib.c:294 src/msgcat.c:244 src/msgcat.c:248
+#: src/msgcomm.c:247 src/msgcomm.c:251 src/msgconv.c:208 src/msgconv.c:212
+#: src/msgen.c:198 src/msgen.c:202 src/msgexec.c:260 src/msgexec.c:264
+#: src/msgfmt.c:358 src/msggrep.c:302 src/msggrep.c:306 src/msgmerge.c:282
+#: src/msgmerge.c:303 src/msgmerge.c:307 src/msguniq.c:233 src/msguniq.c:237
+#: src/xgettext.c:367 src/xgettext.c:371
 #, c-format
-msgid "this message is used but not defined in %s"
-msgstr "ten komunikat jest u¿yty, ale nie zdefiniowany w %s"
+msgid "%s and %s are mutually exclusive"
+msgstr "%s i %s wzajemnie siê wykluczaj±"
 
-#: src/msgcmp.c:285
-msgid "warning: this message is not used"
-msgstr "uwaga: ten komunikat nie jest u¿yty"
+#: src/msgattrib.c:327 src/msgconv.c:246 src/msggrep.c:376 src/msguniq.c:274
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] [INPUTFILE]\n"
+msgstr ""
 
-#: src/msgcmp.c:291 src/po-lex.c:98
-#, c-format
-msgid "found %d fatal error"
-msgid_plural "found %d fatal errors"
-msgstr[0] "znaleziono %d b³±d krytyczny"
-msgstr[1] "znaleziono %d b³êdy krytyczne"
-msgstr[2] "znaleziono %d b³êdów krytycznych"
+#: src/msgattrib.c:332
+#, no-wrap
+msgid ""
+"Filters the messages of a translation catalog according to their attributes,\n"
+"and manipulates the attributes.\n"
+msgstr ""
 
-#: src/msgcmp.c:365 src/msgfmt.c:699 src/read-po.c:237 src/xgettext.c:1199
-msgid "duplicate message definition"
-msgstr "podwójna definicja komunikatu"
+#: src/msgattrib.c:338 src/msgcat.c:313 src/msgcmp.c:191 src/msgcomm.c:328
+#: src/msgconv.c:256 src/msgen.c:245 src/msgexec.c:353 src/msgfmt.c:494
+#: src/msggrep.c:387 src/msginit.c:354 src/msgmerge.c:390 src/msgunfmt.c:277
+#: src/msguniq.c:291
+#, no-wrap
+msgid "Mandatory arguments to long options are mandatory for short options too.\n"
+msgstr ""
 
-#: src/msgcmp.c:366 src/msgfmt.c:701 src/read-po.c:238 src/xgettext.c:1200
-msgid "...this is the location of the first definition"
-msgstr "...to jest po³o¿enie pierwszej definicji"
+#: src/msgattrib.c:343 src/msgconv.c:261 src/msggrep.c:392 src/msguniq.c:296
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  INPUTFILE                   input PO file\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"If no input file is given or if it is -, standard input is read.\n"
+msgstr ""
 
-#: src/msgcmp.c:406 src/read-po.c:286
-#, c-format
-msgid "this message has no definition in the \"%s\" domain"
-msgstr "ten komunikat nie ma definicji w domenie \"%s\""
+#: src/msgattrib.c:351 src/msgconv.c:269 src/msgen.c:258 src/msgexec.c:366
+#: src/msggrep.c:400 src/msgmerge.c:412
+#, no-wrap
+msgid ""
+"Output file location:\n"
+"  -o, --output-file=FILE      write output to specified file\n"
+"The results are written to standard output if no output file is specified\n"
+"or if it is -.\n"
+msgstr ""
 
-#. We are about to construct the absolute path to the
-#. directory for the output files but asprintf failed.
-#: src/msgcomm.c:231 src/xgettext.c:326 src/xgettext.c:1395
-msgid "while preparing output"
-msgstr "podczas przygotowywania wyniku"
+#: src/msgattrib.c:359
+#, no-wrap
+msgid ""
+"Message selection:\n"
+"      --translated            keep translated, remove untranslated messages\n"
+"      --untranslated          keep untranslated, remove translated messages\n"
+"      --no-fuzzy              remove 'fuzzy' marked messages\n"
+"      --only-fuzzy            keep 'fuzzy' marked messages\n"
+"      --no-obsolete           remove obsolete #~ messages\n"
+"      --only-obsolete         keep obsolete #~ messages\n"
+msgstr ""
 
-#: src/msgcomm.c:263 src/msgcomm.c:267 src/msgmerge.c:225 src/xgettext.c:364
-#: src/xgettext.c:368
-#, c-format
-msgid "%s and %s are mutually exclusive"
-msgstr "%s i %s wzajemnie siê wykluczaj±"
+#: src/msgattrib.c:370
+#, no-wrap
+msgid ""
+"Attribute manipulation:\n"
+"      --set-fuzzy             set all messages 'fuzzy'\n"
+"      --clear-fuzzy           set all messages non-'fuzzy'\n"
+"      --set-obsolete          set all messages obsolete\n"
+"      --clear-obsolete        set all messages non-obsolete\n"
+"      --fuzzy                 synonym for --only-fuzzy --clear-fuzzy\n"
+"      --obsolete              synonym for --only-obsolete --clear-obsolete\n"
+msgstr ""
 
-#: src/msgcomm.c:319
-msgid "at least two files must be specified"
-msgstr "musz± byæ podane przynajmniej dwa pliki"
+#: src/msgattrib.c:381
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
+"  -e, --no-escape             do not use C escapes in output (default)\n"
+"  -E, --escape                use C escapes in output, no extended chars\n"
+"      --force-po              write PO file even if empty\n"
+"  -i, --indent                write the .po file using indented style\n"
+"      --no-location           do not write '#: filename:line' lines\n"
+"  -n, --add-location          generate '#: filename:line' lines (default)\n"
+"      --strict                write out strict Uniforum conforming .po file\n"
+"  -w, --width=NUMBER          set output page width\n"
+"  -s, --sort-output           generate sorted output\n"
+"  -F, --sort-by-file          sort output by file location\n"
+msgstr ""
+"Sk³adnia: %s [OPCJA] def.po ref.po\n"
+"Argumenty obowi±zkowe dla opcji d³ugich obowi±zuj± równie¿ dla krótkich.\n"
+"  -C, --compendium=PLIK       dodatkowa biblioteka t³umaczeñ komunikatów,\n"
+"                              mo¿e byæ podana wiêcej ni¿ raz\n"
+"  -D, --directory=KATALOG     szukanie plików wej¶ciowych równie¿ w KATALOGu\n"
+"  -e  --no-escape             bez rozwijania sekwencji escape (domy¶lne)\n"
+"  -E  --escape                u¿ycie sekwencje escape, bez znaków rozszerzonych\n"
+"      --force-po              zapisanie nawet pustego pliku PO\n"
+"  -h, --help                  wy¶wietlenie tego opisu i zakoñczenie\n"
+"  -i, --indent                wyniki z wciêciami\n"
+"  -o, --output-file=PLIK      wyniki bêd± zapisane do PLIKu\n"
+"      --no-location           bez generowania linii '#: filename:line'\n"
+"      --add-location          generowanie linii '#: filename:line' (domy¶lne)\n"
+"      --strict                ¶cis³y styl Uniforum\n"
+"  -v, --verbose               podawanie wiêcej informacji\n"
+"  -V, --version               wy¶wietlenie informacji o wersji i zakoñczenie\n"
+"  -w, --width=LICZBA          ustalenie szeroko¶ci strony\n"
 
-#: src/msgcomm.c:330
+#: src/msgcat.c:254 src/msgcomm.c:277
 #, c-format
 msgid "impossible selection criteria specified (%d < n < %d)"
 msgstr "podane niemo¿liwe kryteria selekcji (%d < n < %d)"
 
-#: src/msgcomm.c:378 src/xgettext.c:519
+#: src/msgcat.c:295 src/msgcomm.c:311 src/xgettext.c:504
 #, c-format, no-wrap
 msgid "Usage: %s [OPTION] [INPUTFILE]...\n"
 msgstr ""
 
-#: src/msgcomm.c:383
+#: src/msgcat.c:300
 #, fuzzy, no-wrap
 msgid ""
+"Concatenates and merges the specified PO files.\n"
 "Find messages which are common to two or more of the specified PO files.\n"
 "By using the --more-than option, greater commonality may be requested\n"
 "before messages are printed.  Conversely, the --less-than option may be\n"
 "used to specify less commonality before messages are printed (i.e.\n"
 "--less-than=2 will only print the unique messages).  Translations,\n"
-"comments and extract comments will be preserved, but only from the first\n"
-"PO file to define them.  File positions from all PO files will be\n"
-"cumulated.\n"
+"comments and extract comments will be cumulated, except that if --use-first\n"
+"is specified, they will be taken from the first PO file to define them.\n"
+"File positions from all PO files will be cumulated.\n"
 msgstr ""
 "  -V, --version                  wy¶wietl informacjê o wersji i zakoñcz\n"
 "  -w, --width=LICZBA             ustal szeroko¶æ strony\n"
@@ -327,7 +514,7 @@ msgstr ""
 "ale tylko w pierwszym definiuj±cym je pliku PO.  Pozycje w plikach dla\n"
 "wszystkich plików PO te¿ zostan± zachowane.\n"
 
-#: src/msgcomm.c:400 src/xgettext.c:535
+#: src/msgcat.c:318 src/msgcomm.c:333 src/xgettext.c:520
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -337,17 +524,16 @@ msgid ""
 "If input file is -, standard input is read.\n"
 msgstr ""
 
-#: src/msgcomm.c:409 src/xgettext.c:544
+#: src/msgcat.c:327 src/msgcomm.c:342 src/msguniq.c:304
 #, no-wrap
 msgid ""
 "Output file location:\n"
-"  -d, --default-domain=NAME      use NAME.po for output (instead of messages.po)\n"
-"  -o, --output=FILE              write output to specified file\n"
-"  -p, --output-dir=DIR           output files will be placed in directory DIR\n"
-"If output file is -, output is written to standard output.\n"
+"  -o, --output-file=FILE         write output to specified file\n"
+"The results are written to standard output if no output file is specified\n"
+"or if it is -.\n"
 msgstr ""
 
-#: src/msgcomm.c:418
+#: src/msgcat.c:335
 #, fuzzy, no-wrap
 msgid ""
 "Message selection:\n"
@@ -355,7 +541,7 @@ msgid ""
 "                                 definitions, defaults to infinite if not\n"
 "                                 set\n"
 "  ->, --more-than=NUMBER         print messages with more than this many\n"
-"                                 definitions, defaults to 1 if not set\n"
+"                                 definitions, defaults to 0 if not set\n"
 "  -u, --unique                   shorthand for --less-than=2, requests\n"
 "                                 that only unique messages be printed\n"
 msgstr ""
@@ -374,10 +560,13 @@ msgstr ""
 "ale tylko w pierwszym definiuj±cym je pliku PO.  Pozycje w plikach dla\n"
 "wszystkich plików PO te¿ zostan± zachowane.\n"
 
-#: src/msgcomm.c:430
+#: src/msgcat.c:347 src/msguniq.c:319
 #, fuzzy, no-wrap
 msgid ""
 "Output details:\n"
+"  -t, --to-code=NAME             encoding for output\n"
+"      --use-first                use first available translation for each\n"
+"                                 message, don't merge several translations\n"
 "  -e, --no-escape                do not use C escapes in output (default)\n"
 "  -E, --escape                   use C escapes in output, no extended chars\n"
 "      --force-po                 write PO file even if empty\n"
@@ -386,9 +575,8 @@ msgid ""
 "  -n, --add-location             generate '#: filename:line' lines (default)\n"
 "      --strict                   write out strict Uniforum conforming .po file\n"
 "  -w, --width=NUMBER             set output page width\n"
-"  -s, --sort-output              generate sorted output and remove duplicates\n"
+"  -s, --sort-output              generate sorted output\n"
 "  -F, --sort-by-file             sort output by file location\n"
-"      --omit-header              don't write header with `msgid \"\"' entry\n"
 msgstr ""
 "Sk³adnia: %s [OPCJA] def.po ref.po\n"
 "Argumenty obowi±zkowe dla opcji d³ugich obowi±zuj± równie¿ dla krótkich.\n"
@@ -408,7 +596,7 @@ msgstr ""
 "  -V, --version               wy¶wietlenie informacji o wersji i zakoñczenie\n"
 "  -w, --width=LICZBA          ustalenie szeroko¶ci strony\n"
 
-#: src/msgcomm.c:446 src/xgettext.c:599
+#: src/msgcat.c:365 src/msgcomm.c:378 src/msguniq.c:337 src/xgettext.c:585
 #, no-wrap
 msgid ""
 "Informative output:\n"
@@ -416,70 +604,434 @@ msgid ""
 "  -V, --version                  output version information and exit\n"
 msgstr ""
 
-#: src/msgcomm.c:477 src/msgunfmt.c:386 src/po-lex.c:84 src/xget-lex.c:158
-#: src/xget-lex.c:171 src/xget-lex.c:181 src/xgettext.c:630
-#, c-format
-msgid "error while opening \"%s\" for reading"
-msgstr "b³±d w czasie otwierania \"%s\" do czytania"
-
-#: src/msgcomm.c:563 src/xgettext.c:677 src/xgettext.c:1100
-msgid "this file may not contain domain directives"
-msgstr "ten plik nie mo¿e zawieraæ dyrektyw domen"
-
-#: src/msgfmt.c:284 src/xgettext.c:403
-msgid "no input file given"
-msgstr "nie podano nazwy pliku wej¶ciowego"
-
-#: src/msgfmt.c:335
-#, c-format
-msgid "error while opening \"%s\" for writing"
-msgstr "b³±d otwarcia \"%s\" do pisania"
-
-#: src/msgfmt.c:358
-#, c-format
-msgid "%d translated message"
-msgid_plural "%d translated messages"
-msgstr[0] "%d przet³umaczony komunikat"
-msgstr[1] "%d przet³umaczone komunikaty"
-msgstr[2] "%d przet³umaczonych komunikatów"
-
-#: src/msgfmt.c:363
-#, c-format
-msgid ", %d fuzzy translation"
-msgid_plural ", %d fuzzy translations"
-msgstr[0] ", %d t³umaczenie budzi w±tpliwo¶ci"
-msgstr[1] ", %d t³umaczenia budz± w±tpliwo¶ci"
-msgstr[2] ", %d t³umaczeñ budzi w±tpliwo¶ci"
+#: src/msgcmp.c:150 src/msgmerge.c:268
+msgid "no input files given"
+msgstr "nie podano nazw plików wej¶ciowych"
 
-#: src/msgfmt.c:368
-#, c-format
-msgid ", %d untranslated message"
-msgid_plural ", %d untranslated messages"
-msgstr[0] ", %d nie przet³umaczony komunikat"
-msgstr[1] ", %d nie przet³umaczone komunikaty"
-msgstr[2] ", %d nie przet³umaczonych komunikatów"
+#: src/msgcmp.c:155 src/msgmerge.c:273
+msgid "exactly 2 input files required"
+msgstr "wymagane s± dok³adnie dwa pliki wej¶ciowe"
 
-#: src/msgfmt.c:390
+#: src/msgcmp.c:176 src/msgmerge.c:372
 #, c-format, no-wrap
-msgid "Usage: %s [OPTION] filename.po ...\n"
-msgstr ""
-
-#: src/msgfmt.c:395
-#, no-wrap
-msgid "Generate binary message catalog from textual translation description.\n"
+msgid "Usage: %s [OPTION] def.po ref.pot\n"
 msgstr ""
 
-#: src/msgfmt.c:405
-#, no-wrap
+#: src/msgcmp.c:181
+#, fuzzy, no-wrap
 msgid ""
-"Input file location:\n"
-"  filename.po ...             input files\n"
-"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
-"If input file is -, standard input is read.\n"
+"Compare two Uniforum style .po files to check that both contain the same\n"
+"set of msgid strings.  The def.po file is an existing PO file with the\n"
+"translations.  The ref.pot file is the last created PO file, or a PO Template\n"
+"file (generally created by xgettext).  This is useful for checking that\n"
+"you have translated each and every message in your program.  Where an exact\n"
+"match cannot be found, fuzzy matching is used to produce better diagnostics.\n"
 msgstr ""
-
-#: src/msgfmt.c:413
-#, no-wrap
+"Sk³adnia: %s [OPCJA] def.po ref.po\n"
+"Argumenty obowi±zkowe dla opcji d³ugich obowi±zuj± równie¿ dla krótkich.\n"
+"  -D, --directory=KATALOG     szukaj plików wej¶ciowych równie¿ w KATALOGu\n"
+"  -h, --help                  wy¶wietl ten opis i zakoñcz\n"
+"  -V, --version               wy¶wietl informacjê o wersji i zakoñcz\n"
+"\n"
+"Porównaj dwa pliki .po w stylu Uniforum, ¿eby sprawdziæ czy zawieraj± te\n"
+"same zbiory ³añcuchów msgid. Plik def.po to istniej±cy plik PO ze starymi\n"
+"t³umaczeniami. Plik ref.po jest ostatnio utworzonym plikiem PO \n"
+"(zwykle przez xgettext).  Jest to przydatne do stwierdzenia czy wszystkie\n"
+"komunikaty w programie zosta³y przet³umaczone. Tam gdzie nie mo¿na\n"
+"porównaæ dok³adnie u¿ywane jest porównanie rozmyte, dla lepszej diagnostyki.\n"
+
+#: src/msgcmp.c:196
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  def.po                      translations\n"
+"  ref.pot                     references to the sources\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+msgstr ""
+
+#: src/msgcmp.c:204 src/msgmerge.c:436
+#, no-wrap
+msgid ""
+"Operation modifiers:\n"
+"  -m, --multi-domain          apply ref.pot to each of the domains in def.po\n"
+msgstr ""
+
+#: src/msgcmp.c:253 src/msgmerge.c:543
+msgid "this message is used but not defined..."
+msgstr "ten komunikat jest u¿yty, ale nie zdefiniowany..."
+
+#: src/msgcmp.c:255 src/msgmerge.c:545
+msgid "...but this definition is similar"
+msgstr "...ale ta definicja jest podobna"
+
+#: src/msgcmp.c:260 src/msgmerge.c:572
+#, c-format
+msgid "this message is used but not defined in %s"
+msgstr "ten komunikat jest u¿yty, ale nie zdefiniowany w %s"
+
+#: src/msgcmp.c:332
+msgid "warning: this message is not used"
+msgstr "uwaga: ten komunikat nie jest u¿yty"
+
+#: src/msgcmp.c:339 src/po-lex.c:705
+#, c-format
+msgid "found %d fatal error"
+msgid_plural "found %d fatal errors"
+msgstr[0] "znaleziono %d b³±d krytyczny"
+msgstr[1] "znaleziono %d b³êdy krytyczne"
+msgstr[2] "znaleziono %d b³êdów krytycznych"
+
+#: src/msgcmp.c:420 src/msgfmt.c:1323 src/read-po.c:202 src/x-po.c:163
+msgid "duplicate message definition"
+msgstr "podwójna definicja komunikatu"
+
+#: src/msgcmp.c:421 src/msgfmt.c:1324 src/read-po.c:203 src/x-po.c:164
+msgid "...this is the location of the first definition"
+msgstr "...to jest po³o¿enie pierwszej definicji"
+
+#: src/msgcomm.c:266
+msgid "at least two files must be specified"
+msgstr "musz± byæ podane przynajmniej dwa pliki"
+
+#: src/msgcomm.c:316
+#, fuzzy, no-wrap
+msgid ""
+"Find messages which are common to two or more of the specified PO files.\n"
+"By using the --more-than option, greater commonality may be requested\n"
+"before messages are printed.  Conversely, the --less-than option may be\n"
+"used to specify less commonality before messages are printed (i.e.\n"
+"--less-than=2 will only print the unique messages).  Translations,\n"
+"comments and extract comments will be preserved, but only from the first\n"
+"PO file to define them.  File positions from all PO files will be\n"
+"cumulated.\n"
+msgstr ""
+"  -V, --version                  wy¶wietl informacjê o wersji i zakoñcz\n"
+"  -w, --width=LICZBA             ustal szeroko¶æ strony\n"
+"  -<, --less-than=LICZBA         wypisuj komunikaty z ilo¶ci± definicji\n"
+"                                 mniejsz± od LICZBY, domy¶lnie nieskoñczono¶æ\n"
+"  ->, --more-than=LICZBA         wypisuj komunikaty z ilo¶ci± defnicji\n"
+"                                 wiêksz± od LICZBY, domy¶lnie 1\n"
+"\n"
+"Znajd¼ komunikaty wspólne dla dwóch lub wiêcej podanych plików PO.\n"
+"Mo¿na za¿±daæ wiêkszego uwspólnienia przed wypisaniem komunikatów u¿ywaj±c\n"
+"opcji --more-than. Odpowiednio opcja --less-than mo¿e byæ u¿yta dla ustalenia\n"
+"mniejszego uwspólnienia pomiêdzy komunikatami (np. --less-than=2 wypisze tylko\n"
+"unikalne komunikaty).  Komentarze t³umaczeñ i ze ¼róde³ zostan± zachowane,\n"
+"ale tylko w pierwszym definiuj±cym je pliku PO.  Pozycje w plikach dla\n"
+"wszystkich plików PO te¿ zostan± zachowane.\n"
+
+#: src/msgcomm.c:350
+#, fuzzy, no-wrap
+msgid ""
+"Message selection:\n"
+"  -<, --less-than=NUMBER         print messages with less than this many\n"
+"                                 definitions, defaults to infinite if not\n"
+"                                 set\n"
+"  ->, --more-than=NUMBER         print messages with more than this many\n"
+"                                 definitions, defaults to 1 if not set\n"
+"  -u, --unique                   shorthand for --less-than=2, requests\n"
+"                                 that only unique messages be printed\n"
+msgstr ""
+"  -V, --version                  wy¶wietl informacjê o wersji i zakoñcz\n"
+"  -w, --width=LICZBA             ustal szeroko¶æ strony\n"
+"  -<, --less-than=LICZBA         wypisuj komunikaty z ilo¶ci± definicji\n"
+"                                 mniejsz± od LICZBY, domy¶lnie nieskoñczono¶æ\n"
+"  ->, --more-than=LICZBA         wypisuj komunikaty z ilo¶ci± defnicji\n"
+"                                 wiêksz± od LICZBY, domy¶lnie 1\n"
+"\n"
+"Znajd¼ komunikaty wspólne dla dwóch lub wiêcej podanych plików PO.\n"
+"Mo¿na za¿±daæ wiêkszego uwspólnienia przed wypisaniem komunikatów u¿ywaj±c\n"
+"opcji --more-than. Odpowiednio opcja --less-than mo¿e byæ u¿yta dla ustalenia\n"
+"mniejszego uwspólnienia pomiêdzy komunikatami (np. --less-than=2 wypisze tylko\n"
+"unikalne komunikaty).  Komentarze t³umaczeñ i ze ¼róde³ zostan± zachowane,\n"
+"ale tylko w pierwszym definiuj±cym je pliku PO.  Pozycje w plikach dla\n"
+"wszystkich plików PO te¿ zostan± zachowane.\n"
+
+#: src/msgcomm.c:362
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
+"  -e, --no-escape                do not use C escapes in output (default)\n"
+"  -E, --escape                   use C escapes in output, no extended chars\n"
+"      --force-po                 write PO file even if empty\n"
+"  -i, --indent                   write the .po file using indented style\n"
+"      --no-location              do not write '#: filename:line' lines\n"
+"  -n, --add-location             generate '#: filename:line' lines (default)\n"
+"      --strict                   write out strict Uniforum conforming .po file\n"
+"  -w, --width=NUMBER             set output page width\n"
+"  -s, --sort-output              generate sorted output\n"
+"  -F, --sort-by-file             sort output by file location\n"
+"      --omit-header              don't write header with `msgid \"\"' entry\n"
+msgstr ""
+"Sk³adnia: %s [OPCJA] def.po ref.po\n"
+"Argumenty obowi±zkowe dla opcji d³ugich obowi±zuj± równie¿ dla krótkich.\n"
+"  -C, --compendium=PLIK       dodatkowa biblioteka t³umaczeñ komunikatów,\n"
+"                              mo¿e byæ podana wiêcej ni¿ raz\n"
+"  -D, --directory=KATALOG     szukanie plików wej¶ciowych równie¿ w KATALOGu\n"
+"  -e  --no-escape             bez rozwijania sekwencji escape (domy¶lne)\n"
+"  -E  --escape                u¿ycie sekwencje escape, bez znaków rozszerzonych\n"
+"      --force-po              zapisanie nawet pustego pliku PO\n"
+"  -h, --help                  wy¶wietlenie tego opisu i zakoñczenie\n"
+"  -i, --indent                wyniki z wciêciami\n"
+"  -o, --output-file=PLIK      wyniki bêd± zapisane do PLIKu\n"
+"      --no-location           bez generowania linii '#: filename:line'\n"
+"      --add-location          generowanie linii '#: filename:line' (domy¶lne)\n"
+"      --strict                ¶cis³y styl Uniforum\n"
+"  -v, --verbose               podawanie wiêcej informacji\n"
+"  -V, --version               wy¶wietlenie informacji o wersji i zakoñczenie\n"
+"  -w, --width=LICZBA          ustalenie szeroko¶ci strony\n"
+
+#: src/msgconv.c:251
+#, no-wrap
+msgid "Converts a translation catalog to a different character encoding.\n"
+msgstr ""
+
+#: src/msgconv.c:277
+#, no-wrap
+msgid ""
+"Conversion target:\n"
+"  -t, --to-code=NAME          encoding for output\n"
+"The default encoding is the current locale's encoding.\n"
+msgstr ""
+
+#: src/msgconv.c:284 src/msgen.c:266 src/msgmerge.c:442
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
+"  -e, --no-escape             do not use C escapes in output (default)\n"
+"  -E, --escape                use C escapes in output, no extended chars\n"
+"      --force-po              write PO file even if empty\n"
+"  -i, --indent                indented output style\n"
+"      --no-location           suppress '#: filename:line' lines\n"
+"      --add-location          preserve '#: filename:line' lines (default)\n"
+"      --strict                strict Uniforum output style\n"
+"  -w, --width=NUMBER          set output page width\n"
+"  -s, --sort-output           generate sorted output\n"
+"  -F, --sort-by-file          sort output by file location\n"
+msgstr ""
+"Sk³adnia: %s [OPCJA] def.po ref.po\n"
+"Argumenty obowi±zkowe dla opcji d³ugich obowi±zuj± równie¿ dla krótkich.\n"
+"  -C, --compendium=PLIK       dodatkowa biblioteka t³umaczeñ komunikatów,\n"
+"                              mo¿e byæ podana wiêcej ni¿ raz\n"
+"  -D, --directory=KATALOG     szukanie plików wej¶ciowych równie¿ w KATALOGu\n"
+"  -e  --no-escape             bez rozwijania sekwencji escape (domy¶lne)\n"
+"  -E  --escape                u¿ycie sekwencje escape, bez znaków rozszerzonych\n"
+"      --force-po              zapisanie nawet pustego pliku PO\n"
+"  -h, --help                  wy¶wietlenie tego opisu i zakoñczenie\n"
+"  -i, --indent                wyniki z wciêciami\n"
+"  -o, --output-file=PLIK      wyniki bêd± zapisane do PLIKu\n"
+"      --no-location           bez generowania linii '#: filename:line'\n"
+"      --add-location          generowanie linii '#: filename:line' (domy¶lne)\n"
+"      --strict                ¶cis³y styl Uniforum\n"
+"  -v, --verbose               podawanie wiêcej informacji\n"
+"  -V, --version               wy¶wietlenie informacji o wersji i zakoñczenie\n"
+"  -w, --width=LICZBA          ustalenie szeroko¶ci strony\n"
+
+#: src/msgen.c:187 src/msgfmt.c:349 src/xgettext.c:388
+msgid "no input file given"
+msgstr "nie podano nazwy pliku wej¶ciowego"
+
+#: src/msgen.c:192
+#, fuzzy
+msgid "exactly one input file required"
+msgstr "wymagane s± dok³adnie dwa pliki wej¶ciowe"
+
+#: src/msgen.c:232
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] INPUTFILE\n"
+msgstr ""
+
+#: src/msgen.c:237
+#, no-wrap
+msgid ""
+"Creates an English translation catalog.  The input file is the last\n"
+"created English PO file, or a PO Template file (generally created by\n"
+"xgettext).  Untranslated entries are assigned a translation that is\n"
+"identical to the msgid, and are marked fuzzy.\n"
+msgstr ""
+
+#: src/msgen.c:250
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  INPUTFILE                   input PO or POT file\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"If input file is -, standard input is read.\n"
+msgstr ""
+
+#: src/msgexec.c:255
+#, fuzzy
+msgid "missing filter name"
+msgstr "brakuj±ce argumenty"
+
+#: src/msgexec.c:279
+#, fuzzy
+msgid "at least one sed script must be specified"
+msgstr "musz± byæ podane przynajmniej dwa pliki"
+
+#: src/msgexec.c:343
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] FILTER [FILTER-OPTION]\n"
+msgstr ""
+
+#: src/msgexec.c:348
+#, no-wrap
+msgid "Applies a filter to all translations of a translation catalog.\n"
+msgstr ""
+
+#: src/msgexec.c:358
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  -i, --input=INPUTFILE       input PO file\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"If no input file is given or if it is -, standard input is read.\n"
+msgstr ""
+
+#: src/msgexec.c:374
+#, no-wrap
+msgid ""
+"The FILTER can be any program that reads a translation from standard input\n"
+"and writes a modified translation to standard output.\n"
+msgstr ""
+
+#: src/msgexec.c:380
+#, no-wrap
+msgid ""
+"Useful FILTER-OPTIONs when the FILTER is 'sed':\n"
+"  -e, --expression=SCRIPT     add SCRIPT to the commands to be executed\n"
+"  -f, --file=SCRIPTFILE       add the contents of SCRIPTFILE to the commands\n"
+"                                to be executed\n"
+"  -n, --quiet, --silent       suppress automatic printing of pattern space\n"
+msgstr ""
+
+#: src/msgexec.c:389
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
+"      --no-escape             do not use C escapes in output (default)\n"
+"  -E, --escape                use C escapes in output, no extended chars\n"
+"      --force-po              write PO file even if empty\n"
+"      --indent                indented output style\n"
+"      --no-location           suppress '#: filename:line' lines\n"
+"      --add-location          preserve '#: filename:line' lines (default)\n"
+"      --strict                strict Uniforum output style\n"
+"  -w, --width=NUMBER          set output page width\n"
+"  -s, --sort-output           generate sorted output\n"
+"  -F, --sort-by-file          sort output by file location\n"
+msgstr ""
+"Sk³adnia: %s [OPCJA] def.po ref.po\n"
+"Argumenty obowi±zkowe dla opcji d³ugich obowi±zuj± równie¿ dla krótkich.\n"
+"  -C, --compendium=PLIK       dodatkowa biblioteka t³umaczeñ komunikatów,\n"
+"                              mo¿e byæ podana wiêcej ni¿ raz\n"
+"  -D, --directory=KATALOG     szukanie plików wej¶ciowych równie¿ w KATALOGu\n"
+"  -e  --no-escape             bez rozwijania sekwencji escape (domy¶lne)\n"
+"  -E  --escape                u¿ycie sekwencje escape, bez znaków rozszerzonych\n"
+"      --force-po              zapisanie nawet pustego pliku PO\n"
+"  -h, --help                  wy¶wietlenie tego opisu i zakoñczenie\n"
+"  -i, --indent                wyniki z wciêciami\n"
+"  -o, --output-file=PLIK      wyniki bêd± zapisane do PLIKu\n"
+"      --no-location           bez generowania linii '#: filename:line'\n"
+"      --add-location          generowanie linii '#: filename:line' (domy¶lne)\n"
+"      --strict                ¶cis³y styl Uniforum\n"
+"  -v, --verbose               podawanie wiêcej informacji\n"
+"  -V, --version               wy¶wietlenie informacji o wersji i zakoñczenie\n"
+"  -w, --width=LICZBA          ustalenie szeroko¶ci strony\n"
+
+#: src/msgexec.c:546
+#, c-format
+msgid "cannot set up nonblocking I/O to %s subprocess"
+msgstr ""
+
+#: src/msgexec.c:574
+#, c-format
+msgid "communication with %s subprocess failed"
+msgstr ""
+
+#: src/msgexec.c:594
+#, c-format
+msgid "write to %s subprocess failed"
+msgstr ""
+
+#: src/msgexec.c:625
+#, c-format
+msgid "read from %s subprocess failed"
+msgstr ""
+
+#: src/msgexec.c:641
+#, c-format
+msgid "%s subprocess terminated with exit code %d"
+msgstr ""
+
+#: src/msgfmt.c:303
+#, c-format
+msgid "the argument to %s should be a single punctuation character"
+msgstr ""
+
+#: src/msgfmt.c:364
+#, c-format
+msgid "%s requires a \"-d directory\" specification"
+msgstr ""
+
+#: src/msgfmt.c:373 src/msgfmt.c:379 src/msgfmt.c:385 src/msgmerge.c:290
+#: src/msgmerge.c:296 src/msgunfmt.c:209 src/msgunfmt.c:215
+#, c-format
+msgid "%s is only valid with %s"
+msgstr ""
+
+#: src/msgfmt.c:452
+#, c-format
+msgid "%d translated message"
+msgid_plural "%d translated messages"
+msgstr[0] "%d przet³umaczony komunikat"
+msgstr[1] "%d przet³umaczone komunikaty"
+msgstr[2] "%d przet³umaczonych komunikatów"
+
+#: src/msgfmt.c:457
+#, c-format
+msgid ", %d fuzzy translation"
+msgid_plural ", %d fuzzy translations"
+msgstr[0] ", %d t³umaczenie budzi w±tpliwo¶ci"
+msgstr[1] ", %d t³umaczenia budz± w±tpliwo¶ci"
+msgstr[2] ", %d t³umaczeñ budzi w±tpliwo¶ci"
+
+#: src/msgfmt.c:462
+#, c-format
+msgid ", %d untranslated message"
+msgid_plural ", %d untranslated messages"
+msgstr[0] ", %d nie przet³umaczony komunikat"
+msgstr[1] ", %d nie przet³umaczone komunikaty"
+msgstr[2] ", %d nie przet³umaczonych komunikatów"
+
+#: src/msgfmt.c:484
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] filename.po ...\n"
+msgstr ""
+
+#: src/msgfmt.c:489
+#, no-wrap
+msgid "Generate binary message catalog from textual translation description.\n"
+msgstr ""
+
+#: src/msgfmt.c:499
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  filename.po ...             input files\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"If input file is -, standard input is read.\n"
+msgstr ""
+
+#: src/msgfmt.c:507
+#, no-wrap
+msgid ""
+"Operation mode:\n"
+"  -j, --java                  Java mode: generate a Java ResourceBundle class\n"
+"      --java2                 like --java, and assume Java2 (JDK 1.2 or higher)\n"
+msgstr ""
+
+#: src/msgfmt.c:514
+#, no-wrap
 msgid ""
 "Output file location:\n"
 "  -o, --output-file=FILE      write output to specified file\n"
@@ -487,15 +1039,35 @@ msgid ""
 "If output file is -, output is written to standard output.\n"
 msgstr ""
 
-#: src/msgfmt.c:421
+#: src/msgfmt.c:522
+#, no-wrap
+msgid ""
+"Output file location in Java mode:\n"
+"  -r, --resource=RESOURCE     resource name\n"
+"  -l, --locale=LOCALE         locale name, either language or language_COUNTRY\n"
+"  -d DIRECTORY                base directory of classes directory hierarchy\n"
+"The class name is determined by appending the locale name to the resource name,\n"
+"separated with an underscore.  The -d option is mandatory.  The class is\n"
+"written under the specified directory.\n"
+msgstr ""
+
+#: src/msgfmt.c:533
 #, no-wrap
 msgid ""
 "Input file interpretation:\n"
-"  -c, --check                 perform language dependent checks on strings\n"
+"  -c, --check                 perform all the checks implied by\n"
+"                                --check-format, --check-header, --check-domain\n"
+"      --check-format          check language dependent format strings\n"
+"      --check-header          verify presence and contents of the header entry\n"
+"      --check-domain          check for conflicts between domain directives\n"
+"                                and the --output-file option\n"
+"  -C, --check-compatibility   check that GNU msgfmt behaves like X/Open msgfmt\n"
+"      --check-accelerators[=CHAR]  check presence of keyboard accelerators for\n"
+"                                menu items\n"
 "  -f, --use-fuzzy             use fuzzy entries in output\n"
 msgstr ""
 
-#: src/msgfmt.c:428
+#: src/msgfmt.c:548
 #, c-format, no-wrap
 msgid ""
 "Output details:\n"
@@ -503,120 +1075,498 @@ msgid ""
 "      --no-hash               binary file will not include the hash table\n"
 msgstr ""
 
-#: src/msgfmt.c:435
+#: src/msgfmt.c:555
 #, no-wrap
 msgid ""
 "Informative output:\n"
 "  -h, --help                  display this help and exit\n"
 "  -V, --version               output version information and exit\n"
 "      --statistics            print statistics about translations\n"
-"  -v, --verbose               list input file anomalies\n"
-"Giving the -v option more than once increases the verbosity level.\n"
+"  -v, --verbose               increase verbosity level\n"
+msgstr ""
+
+#: src/msgfmt.c:707
+msgid "plural expression can produce negative values"
+msgstr ""
+
+#: src/msgfmt.c:720
+#, c-format
+msgid "nplurals = %lu but plural expression can produce values as large as %lu"
+msgstr ""
+
+#: src/msgfmt.c:746
+msgid "plural expression can produce division by zero"
+msgstr ""
+
+#: src/msgfmt.c:751
+msgid "plural expression can produce integer overflow"
+msgstr ""
+
+#: src/msgfmt.c:756
+msgid ""
+"plural expression can produce arithmetic exceptions, possibly division by "
+"zero"
+msgstr ""
+
+#: src/msgfmt.c:830 src/msgfmt.c:841
+msgid "message catalog has plural form translations..."
+msgstr ""
+
+#: src/msgfmt.c:833
+msgid "...but header entry lacks a \"plural=EXPRESSION\" attribute"
+msgstr ""
+
+#: src/msgfmt.c:844
+msgid "...but header entry lacks a \"nplurals=INTEGER\" attribute"
+msgstr ""
+
+#: src/msgfmt.c:868
+#, fuzzy
+msgid "invalid nplurals value"
+msgstr "b³êdna sekwencja steruj±ca"
+
+#: src/msgfmt.c:881
+msgid "invalid plural expression"
+msgstr ""
+
+#: src/msgfmt.c:899 src/msgfmt.c:912
+#, c-format
+msgid "nplurals = %lu..."
+msgstr ""
+
+#: src/msgfmt.c:902
+#, c-format
+msgid "...but some messages have only %lu plural forms"
+msgstr ""
+
+#: src/msgfmt.c:915
+#, c-format
+msgid "...but some messages have %lu plural forms"
+msgstr ""
+
+#: src/msgfmt.c:930
+msgid ""
+"message catalog has plural form translations, but lacks a header entry with "
+"\"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\""
+msgstr ""
+
+#: src/msgfmt.c:968
+msgid "`msgid' and `msgid_plural' entries do not both begin with '\\n'"
+msgstr "linie `msgid' i `msgid_plural' nie zaczynaj± siê obie od '\\n'`"
+
+#: src/msgfmt.c:978
+#, c-format
+msgid "`msgid' and `msgstr[%u]' entries do not both begin with '\\n'"
+msgstr "linie `msgid' i `msgstr[%u]' nie zaczynaj± siê obie od '\\n'`"
+
+#: src/msgfmt.c:990
+msgid "`msgid' and `msgstr' entries do not both begin with '\\n'"
+msgstr "linie `msgid' i `msgstr' nie zaczynaj± siê obie od '\\n'`"
+
+#: src/msgfmt.c:1007
+msgid "`msgid' and `msgid_plural' entries do not both end with '\\n'"
+msgstr "linie `msgid' i `msgid_plural' nie koñcz± siê obie na '\\n'"
+
+#: src/msgfmt.c:1017
+#, c-format
+msgid "`msgid' and `msgstr[%u]' entries do not both end with '\\n'"
+msgstr "linie `msgid' i `msgstr[%u]' nie koñcz± siê obie na '\\n'"
+
+#: src/msgfmt.c:1029
+msgid "`msgid' and `msgstr' entries do not both end with '\\n'"
+msgstr "linie `msgid' i `msgstr' nie koñcz± siê obie na '\\n'"
+
+#: src/msgfmt.c:1041
+msgid "plural handling is a GNU gettext extension"
+msgstr ""
+
+#: src/msgfmt.c:1088
+#, c-format
+msgid "'msgstr' is not a valid %s format string, unlike 'msgid'"
+msgstr ""
+
+#: src/msgfmt.c:1122
+#, c-format
+msgid "msgstr lacks the keyboard accelerator mark '%c'"
+msgstr ""
+
+#: src/msgfmt.c:1130
+#, c-format
+msgid "msgstr has too many keyboard accelerator marks '%c'"
 msgstr ""
 
-#: src/msgfmt.c:465
-msgid "while creating hash table"
-msgstr "podczas tworzenia tablicy mieszaj±cej"
+#: src/msgfmt.c:1164
+#, c-format
+msgid "headerfield `%s' missing in header"
+msgstr "w nag³ówku brakuje pola `%s'"
+
+#: src/msgfmt.c:1167
+#, c-format
+msgid "header field `%s' should start at beginning of line"
+msgstr "pole nag³ówka `%s' powinno siê zaczynaæ na pocz±tku linii"
+
+#: src/msgfmt.c:1176
+msgid "some header fields still have the initial default value"
+msgstr "niektóre pola nag³ówka nadal zawieraj± pocz±tkowe warto¶ci domy¶lne"
+
+#: src/msgfmt.c:1187
+#, c-format
+msgid "field `%s' still has initial default value"
+msgstr "pole `%s' ma nadal pocz±tkow± warto¶æ domy¶ln±"
 
-#: src/msgfmt.c:501
+#: src/msgfmt.c:1228
 #, fuzzy
-msgid "warning: PO file header missing, fuzzy, or invalid\n"
+msgid "warning: PO file header missing or invalid\n"
 msgstr ""
 "%s: uwaga: nag³ówek pliku PO brakuj±cy, niedok³adny lub b³êdny\n"
 "%*s  uwaga: konwersja kodowania nie bêdzie dzia³aæ"
 
-#: src/msgfmt.c:504
+#: src/msgfmt.c:1231
 #, fuzzy
 msgid "warning: charset conversion will not work\n"
 msgstr ""
 "W nag³ówku brakuje nazwy kodowania.\n"
 "Przekodowanie na kodowanie u¿ytkownika nie bêdzie dzia³aæ.\n"
 
-#: src/msgfmt.c:528
+#: src/msgfmt.c:1241
+#, fuzzy
+msgid "warning: PO file header fuzzy\n"
+msgstr ""
+"%s: uwaga: nag³ówek pliku PO brakuj±cy, niedok³adny lub b³êdny\n"
+"%*s  uwaga: konwersja kodowania nie bêdzie dzia³aæ"
+
+#: src/msgfmt.c:1243
+msgid "warning: older versions of msgfmt will give an error on this\n"
+msgstr ""
+
+#: src/msgfmt.c:1268
 #, c-format
 msgid "domain name \"%s\" not suitable as file name"
 msgstr "nazwa domeny \"%s\" nie jest odpowiedni± nazwa pliku"
 
-#: src/msgfmt.c:533
+#: src/msgfmt.c:1273
 #, c-format
 msgid "domain name \"%s\" not suitable as file name: will use prefix"
 msgstr "nazwa domeny \"%s\" nie jest dobra jako nazwa pliku: u¿yjê przedrostka"
 
-#. We don't change the exit status here because this is really
-#. only an information.
-#: src/msgfmt.c:546
+#: src/msgfmt.c:1284
 #, c-format
 msgid "`domain %s' directive ignored"
 msgstr "dyrektywa `domena %s' zignorowana"
 
-#: src/msgfmt.c:582
+#: src/msgfmt.c:1356
 msgid "empty `msgstr' entry ignored"
 msgstr "zignorowana pusta warto¶æ `msgstr'"
 
-#: src/msgfmt.c:583
+#: src/msgfmt.c:1357
 msgid "fuzzy `msgstr' entry ignored"
 msgstr "zignorowana niepewna (fuzzy) warto¶æ `msgstr'"
 
-#: src/msgfmt.c:626
+#: src/msgfmt.c:1426
 #, c-format
-msgid "headerfield `%s' missing in header"
-msgstr "w nag³ówku brakuje pola `%s'"
+msgid "%s: warning: source file contains fuzzy translation"
+msgstr "%s: uwaga: plik ¼ród³owy zawiera t³umaczenie budz±ce w±tpliwo¶ci"
 
-#: src/msgfmt.c:629
+#: src/msggrep.c:359
 #, c-format
-msgid "header field `%s' should start at beginning of line"
-msgstr "pole nag³ówka `%s' powinno siê zaczynaæ na pocz±tku linii"
+msgid "option '%c' cannot be used before 'K' or 'T' has been specified"
+msgstr ""
 
-#: src/msgfmt.c:639
-msgid "some header fields still have the initial default value"
-msgstr "niektóre pola nag³ówka nadal zawieraj± pocz±tkowe warto¶ci domy¶lne"
+#: src/msggrep.c:381
+#, no-wrap
+msgid ""
+"Extracts all messages of a translation catalog that match a given pattern\n"
+"or belong to some given source files.\n"
+msgstr ""
+
+#: src/msggrep.c:408
+#, no-wrap
+msgid ""
+"Message selection:\n"
+"  [-N SOURCEFILE]... [-M DOMAINNAME]... [-K MSGID-PATTERN] [-T MSGSTR-PATTERN]\n"
+"A message is selected if it comes from one of the specified source files,\n"
+"or if it comes from one of the specified domains,\n"
+"or if -K is given and its key (msgid or msgid_plural) matches MSGID-PATTERN,\n"
+"or if -T is given and its translation (msgstr) matches MSGSTR-PATTERN.\n"
+"\n"
+"When more than one selection criterion is specified, the set of selected\n"
+"messages is the union of the selected messages of each criterion.\n"
+"\n"
+"MSGID-PATTERN or MSGSTR-PATTERN syntax:\n"
+"  [-E | -F] [-e PATTERN | -f FILE]...\n"
+"PATTERNs are basic regular expressions by default, or extended regular\n"
+"expressions if -E is given, or fixed strings if -F is given.\n"
+"\n"
+"  -N, --location=SOURCEFILE   select messages extracted from SOURCEFILE\n"
+"  -M, --domain=DOMAINNAME     select messages belonging to domain DOMAINNAME\n"
+"  -K, --msgid                 start of patterns for the msgid\n"
+"  -T, --msgstr                start of patterns for the msgstr\n"
+"  -E, --extended-regexp       PATTERN is an extended regular expression\n"
+"  -F, --fixed-strings         PATTERN is a set of newline-separated strings\n"
+"  -e, --regexp=PATTERN        use PATTERN as a regular expression\n"
+"  -f, --file=FILE             obtain PATTERN from FILE\n"
+"  -i, --ignore-case           ignore case distinctions\n"
+msgstr ""
+
+#: src/msggrep.c:436
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
+"      --no-escape             do not use C escapes in output (default)\n"
+"      --escape                use C escapes in output, no extended chars\n"
+"      --force-po              write PO file even if empty\n"
+"      --indent                indented output style\n"
+"      --no-location           suppress '#: filename:line' lines\n"
+"      --add-location          preserve '#: filename:line' lines (default)\n"
+"      --strict                strict Uniforum output style\n"
+"  -w, --width=NUMBER          set output page width\n"
+"      --sort-output           generate sorted output\n"
+"      --sort-by-file          sort output by file location\n"
+msgstr ""
+"Sk³adnia: %s [OPCJA] def.po ref.po\n"
+"Argumenty obowi±zkowe dla opcji d³ugich obowi±zuj± równie¿ dla krótkich.\n"
+"  -C, --compendium=PLIK       dodatkowa biblioteka t³umaczeñ komunikatów,\n"
+"                              mo¿e byæ podana wiêcej ni¿ raz\n"
+"  -D, --directory=KATALOG     szukanie plików wej¶ciowych równie¿ w KATALOGu\n"
+"  -e  --no-escape             bez rozwijania sekwencji escape (domy¶lne)\n"
+"  -E  --escape                u¿ycie sekwencje escape, bez znaków rozszerzonych\n"
+"      --force-po              zapisanie nawet pustego pliku PO\n"
+"  -h, --help                  wy¶wietlenie tego opisu i zakoñczenie\n"
+"  -i, --indent                wyniki z wciêciami\n"
+"  -o, --output-file=PLIK      wyniki bêd± zapisane do PLIKu\n"
+"      --no-location           bez generowania linii '#: filename:line'\n"
+"      --add-location          generowanie linii '#: filename:line' (domy¶lne)\n"
+"      --strict                ¶cis³y styl Uniforum\n"
+"  -v, --verbose               podawanie wiêcej informacji\n"
+"  -V, --version               wy¶wietlenie informacji o wersji i zakoñczenie\n"
+"  -w, --width=LICZBA          ustalenie szeroko¶ci strony\n"
+
+#: src/msggrep.c:510
+msgid "write to grep subprocess failed"
+msgstr ""
+
+#: src/msginit.c:275
+msgid ""
+"You are in a language indifferent environment.  Please set\n"
+"your LANG environment variable, as described in the ABOUT-NLS\n"
+"file.  This is necessary so you can test your translations.\n"
+msgstr ""
+
+#: src/msginit.c:303
+#, c-format
+msgid ""
+"Output file %s already exists.\n"
+"Please specify the locale through the --locale option or\n"
+"the output .po file through the --output-file option.\n"
+msgstr ""
+
+#: src/msginit.c:326
+#, c-format
+msgid "Created %s.\n"
+msgstr ""
+
+#: src/msginit.c:348
+#, no-wrap
+msgid ""
+"Creates a new PO file, initializing the meta information with values from the\n"
+"user's environment.\n"
+msgstr ""
+
+#: src/msginit.c:359
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  -i, --input=INPUTFILE       input POT file\n"
+"If no input file is given, the current directory is searched for the POT file.\n"
+"If it is -, standard input is read.\n"
+msgstr ""
+
+#: src/msginit.c:367
+#, no-wrap
+msgid ""
+"Output file location:\n"
+"  -o, --output-file=FILE      write output to specified PO file\n"
+"If no output file is given, it depends on the --locale option or the user's\n"
+"locale setting.  If it is -, the results are written to standard output.\n"
+msgstr ""
+
+#: src/msginit.c:375
+#, no-wrap
+msgid ""
+"Output details:\n"
+"  -l, --locale=LL_CC          set target locale\n"
+"      --no-translator         assume the PO file is automatically generated\n"
+"  -w, --width=NUMBER          set output page width\n"
+msgstr ""
+
+#: src/msginit.c:426
+msgid ""
+"Found more than one .pot file.\n"
+"Please specify the input .pot file through the --input option.\n"
+msgstr ""
+
+#: src/msginit.c:434 src/msginit.c:439
+msgid "error reading current directory"
+msgstr ""
+
+#: src/msginit.c:447
+msgid ""
+"Found no .pot file in the current directory.\n"
+"Please specify the input .pot file through the --input option.\n"
+msgstr ""
+
+#: src/msginit.c:887 src/msginit.c:932 src/msginit.c:1070 src/msginit.c:1137
+#: src/read-java.c:80
+msgid "fdopen() failed"
+msgstr ""
+
+#: src/msginit.c:892 src/msginit.c:937 src/msginit.c:1075
+#, c-format
+msgid "%s subprocess I/O error"
+msgstr ""
+
+#: src/msginit.c:901 src/msginit.c:946 src/msginit.c:1084 src/msginit.c:1151
+#: src/read-java.c:90
+#, c-format
+msgid "%s subprocess failed with exit code %d"
+msgstr ""
+
+#: src/msginit.c:1060
+msgid ""
+"The new message catalog should contain your email address, so that users "
+"can\n"
+"give you feedback about the translations, and so that maintainers can "
+"contact\n"
+"you in case of unexpected technical problems.\n"
+msgstr ""
+
+#. TRANSLATORS: "English" needs to be replaced by your language.
+#. For example in it.po write "Traduzioni italiani ...",
+#. *not* "Traduzioni inglesi ...".
+#: src/msginit.c:1440
+#, c-format
+msgid "English translations for %s package"
+msgstr ""
+
+#: src/msgl-cat.c:173 src/msgl-charset.c:86 src/msgl-iconv.c:299
+#, c-format
+msgid "present charset \"%s\" is not a portable encoding name"
+msgstr ""
+
+#: src/msgl-cat.c:181 src/msgl-iconv.c:307
+#, c-format
+msgid "two different charsets \"%s\" and \"%s\" in input file"
+msgstr ""
+
+#: src/msgl-cat.c:194
+#, c-format
+msgid ""
+"input file `%s' doesn't contain a header entry with a charset specification"
+msgstr ""
+
+#: src/msgl-cat.c:198
+#, c-format
+msgid ""
+"domain \"%s\" in input file `%s' doesn't contain a header entry with a "
+"charset specification"
+msgstr ""
+
+#: src/msgl-cat.c:359 src/msgl-iconv.c:382
+#, c-format
+msgid "target charset \"%s\" is not a portable encoding name."
+msgstr ""
+
+#: src/msgl-cat.c:409 src/msgl-cat.c:415 src/msgl-charset.c:91
+#: src/msgl-charset.c:126 src/write-po.c:723 src/write-po.c:817
+#, fuzzy
+msgid "warning: "
+msgstr "%s: ostrze¿enie: "
+
+#: src/msgl-cat.c:410
+msgid ""
+"Input files contain messages in different encodings, UTF-8 among others.\n"
+"Converting the output to UTF-8.\n"
+msgstr ""
+
+#: src/msgl-cat.c:416
+#, c-format
+msgid ""
+"Input files contain messages in different encodings, %s and %s among "
+"others.\n"
+"Converting the output to UTF-8.\n"
+"To select a different output encoding, use the --to-code option.\n"
+msgstr ""
 
-#: src/msgfmt.c:650
+#: src/msgl-charset.c:92
 #, c-format
-msgid "field `%s' still has initial default value"
-msgstr "pole `%s' ma nadal pocz±tkow± warto¶æ domy¶ln±"
+msgid ""
+"Locale charset \"%s\" is different from\n"
+"input file charset \"%s\".\n"
+"Output of '%s' might be incorrect.\n"
+"Possible workarounds are:\n"
+msgstr ""
 
-#: src/msgfmt.c:741
+#: src/msgl-charset.c:99
 #, c-format
-msgid "%s: warning: source file contains fuzzy translation"
-msgstr "%s: uwaga: plik ¼ród³owy zawiera t³umaczenie budz±ce w±tpliwo¶ci"
+msgid "- Set LC_ALL to a locale with encoding %s.\n"
+msgstr ""
 
-#: src/msgfmt.c:964
-msgid "`msgid' and `msgid_plural' entries do not both begin with '\\n'"
-msgstr "linie `msgid' i `msgid_plural' nie zaczynaj± siê obie od '\\n'`"
+#: src/msgl-charset.c:104
+#, c-format
+msgid ""
+"- Convert the translation catalog to %s using 'msgconv',\n"
+"  then apply '%s',\n"
+"  then convert back to %s using 'msgconv'.\n"
+msgstr ""
 
-#: src/msgfmt.c:974
+#: src/msgl-charset.c:113
 #, c-format
-msgid "`msgid' and `msgstr[%u]' entries do not both begin with '\\n'"
-msgstr "linie `msgid' i `msgstr[%u]' nie zaczynaj± siê obie od '\\n'`"
+msgid ""
+"- Set LC_ALL to a locale with encoding %s,\n"
+"  convert the translation catalog to %s using 'msgconv',\n"
+"  then apply '%s',\n"
+"  then convert back to %s using 'msgconv'.\n"
+msgstr ""
 
-#: src/msgfmt.c:986
-msgid "`msgid' and `msgstr' entries do not both begin with '\\n'"
-msgstr "linie `msgid' i `msgstr' nie zaczynaj± siê obie od '\\n'`"
+#: src/msgl-charset.c:127
+#, c-format
+msgid ""
+"Locale charset \"%s\" is not a portable encoding name.\n"
+"Output of '%s' might be incorrect.\n"
+"A possible workaround is to set LC_ALL=C.\n"
+msgstr ""
 
-#: src/msgfmt.c:1003
-msgid "`msgid' and `msgid_plural' entries do not both end with '\\n'"
-msgstr "linie `msgid' i `msgid_plural' nie koñcz± siê obie na '\\n'"
+#: src/msgl-iconv.c:200 src/msgl-iconv.c:254
+msgid "conversion failure"
+msgstr ""
 
-#: src/msgfmt.c:1013
-#, c-format
-msgid "`msgid' and `msgstr[%u]' entries do not both end with '\\n'"
-msgstr "linie `msgid' i `msgstr[%u]' nie koñcz± siê obie na '\\n'"
+#: src/msgl-iconv.c:328
+msgid "input file doesn't contain a header entry with a charset specification"
+msgstr ""
 
-#: src/msgfmt.c:1025
-msgid "`msgid' and `msgstr' entries do not both end with '\\n'"
-msgstr "linie `msgid' i `msgstr' nie koñcz± siê obie na '\\n'"
+#: src/msgl-iconv.c:346
+#, fuzzy, c-format
+msgid ""
+"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(), and iconv() does "
+"not support this conversion."
+msgstr ""
+"Kodowanie \"%s\" nie jest obs³ugiwane. %s opiera siê na iconv(),\n"
+"a iconv() nie obs³uguje \"%s\".\n"
 
-#: src/msgfmt.c:1043
-msgid "number of format specifications in `msgid' and `msgstr' does not match"
-msgstr "nie zgadza siê ilo¶æ specyfikacji formatu w `msgid' i w `msgstr'"
+#: src/msgl-iconv.c:362
+#, fuzzy, c-format
+msgid ""
+"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(). This version was "
+"built without iconv()."
+msgstr ""
+"Kodowanie \"%s\" nie jest obs³ugiwane. %s opiera sie na iconv().\n"
+"Ta wersja zosta³a skompilowana bez iconv().\n"
 
-#: src/msgfmt.c:1062
-#, c-format
-msgid "format specifications for argument %lu are not the same"
-msgstr "specyfikacje formatu dla argumentu %lu nie s± takie same"
+#: src/msgmerge.c:340
+msgid "backup type"
+msgstr ""
 
-#: src/msgmerge.c:273
+#: src/msgmerge.c:377
 #, fuzzy, no-wrap
 msgid ""
 "Merges two Uniforum style .po files together.  The def.po file is an\n"
@@ -640,7 +1590,7 @@ msgstr ""
 "dok³adnie u¿ywane jest porównanie rozmyte, dla lepszych wyników. Wyniki s±\n"
 "pisane na standardowe wyj¶cie je¿eli plik wyj¶iowy nie jest podany.\n"
 
-#: src/msgmerge.c:291
+#: src/msgmerge.c:395
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -651,49 +1601,32 @@ msgid ""
 "                              may be specified more than once\n"
 msgstr ""
 
-#: src/msgmerge.c:301
+#: src/msgmerge.c:405
 #, no-wrap
 msgid ""
-"Output file location:\n"
-"  -o, --output-file=FILE      write output to specified file\n"
-"The results are written to standard output if no output file is specified\n"
-"or if it is -.\n"
+"Operation mode:\n"
+"  -U, --update                update def.po,\n"
+"                              do nothing if def.po already up to date\n"
 msgstr ""
 
-#: src/msgmerge.c:309
-#, fuzzy, no-wrap
+#: src/msgmerge.c:420
+#, no-wrap
 msgid ""
-"Output details:\n"
-"  -e, --no-escape             do not use C escapes in output (default)\n"
-"  -E, --escape                use C escapes in output, no extended chars\n"
-"      --force-po              write PO file even if empty\n"
-"  -i, --indent                indented output style\n"
-"      --no-location           suppress '#: filename:line' lines\n"
-"      --add-location          preserve '#: filename:line' lines (default)\n"
-"      --strict                strict Uniforum output style\n"
-"  -w, --width=NUMBER          set output page width\n"
-"  -s, --sort-output           generate sorted output and remove duplicates\n"
-"  -F, --sort-by-file          sort output by file location\n"
+"Output file location in update mode:\n"
+"The result is written back to def.po.\n"
+"      --backup=CONTROL        make a backup of def.po\n"
+"      --suffix=SUFFIX         override the usual backup suffix\n"
+"The version control method may be selected via the --backup option or through\n"
+"the VERSION_CONTROL environment variable.  Here are the values:\n"
+"  none, off       never make backups (even if --backup is given)\n"
+"  numbered, t     make numbered backups\n"
+"  existing, nil   numbered if numbered backups exist, simple otherwise\n"
+"  simple, never   always make simple backups\n"
+"The backup suffix is `~', unless set with --suffix or the SIMPLE_BACKUP_SUFFIX\n"
+"environment variable.\n"
 msgstr ""
-"Sk³adnia: %s [OPCJA] def.po ref.po\n"
-"Argumenty obowi±zkowe dla opcji d³ugich obowi±zuj± równie¿ dla krótkich.\n"
-"  -C, --compendium=PLIK       dodatkowa biblioteka t³umaczeñ komunikatów,\n"
-"                              mo¿e byæ podana wiêcej ni¿ raz\n"
-"  -D, --directory=KATALOG     szukanie plików wej¶ciowych równie¿ w KATALOGu\n"
-"  -e  --no-escape             bez rozwijania sekwencji escape (domy¶lne)\n"
-"  -E  --escape                u¿ycie sekwencje escape, bez znaków rozszerzonych\n"
-"      --force-po              zapisanie nawet pustego pliku PO\n"
-"  -h, --help                  wy¶wietlenie tego opisu i zakoñczenie\n"
-"  -i, --indent                wyniki z wciêciami\n"
-"  -o, --output-file=PLIK      wyniki bêd± zapisane do PLIKu\n"
-"      --no-location           bez generowania linii '#: filename:line'\n"
-"      --add-location          generowanie linii '#: filename:line' (domy¶lne)\n"
-"      --strict                ¶cis³y styl Uniforum\n"
-"  -v, --verbose               podawanie wiêcej informacji\n"
-"  -V, --version               wy¶wietlenie informacji o wersji i zakoñczenie\n"
-"  -w, --width=LICZBA          ustalenie szeroko¶ci strony\n"
 
-#: src/msgmerge.c:324
+#: src/msgmerge.c:457
 #, no-wrap
 msgid ""
 "Informative output:\n"
@@ -703,7 +1636,17 @@ msgid ""
 "  -q, --quiet, --silent       suppress progress indicators\n"
 msgstr ""
 
-#: src/msgmerge.c:472
+#: src/msgmerge.c:625
+#, fuzzy
+msgid "this message should define plural forms"
+msgstr "ten komunikat jest u¿yty, ale nie zdefiniowany w %s"
+
+#: src/msgmerge.c:648
+#, fuzzy
+msgid "this message should not define plural forms"
+msgstr "ten komunikat jest u¿yty, ale nie zdefiniowany w %s"
+
+#: src/msgmerge.c:779
 #, c-format
 msgid ""
 "%sRead %ld old + %ld reference, merged %ld, fuzzied %ld, missing %ld, "
@@ -712,21 +1655,33 @@ msgstr ""
 "%sPrzeczytane %ld starych + %ld odno¶ników, %ld do³±czonych, %ld "
 "niedok³adnych, %ld brakuj±cych, %ld przestarza³ych.\n"
 
-#: src/msgmerge.c:479
+#: src/msgmerge.c:787
 msgid " done.\n"
 msgstr " zrobione.\n"
 
-#: src/msgunfmt.c:216
+#: src/msgunfmt.c:201
+#, fuzzy, c-format
+msgid "%s and explicit file names are mutually exclusive"
+msgstr "%s i %s wzajemnie siê wykluczaj±"
+
+#: src/msgunfmt.c:267
 #, c-format, no-wrap
 msgid "Usage: %s [OPTION] [FILE]...\n"
 msgstr ""
 
-#: src/msgunfmt.c:221
+#: src/msgunfmt.c:272
 #, no-wrap
 msgid "Convert binary message catalog to Uniforum style .po file.\n"
 msgstr ""
 
-#: src/msgunfmt.c:231
+#: src/msgunfmt.c:282
+#, no-wrap
+msgid ""
+"Operation mode:\n"
+"  -j, --java               Java mode: generate a Java ResourceBundle class\n"
+msgstr ""
+
+#: src/msgunfmt.c:288
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -734,7 +1689,17 @@ msgid ""
 "If no input file is given or if it is -, standard input is read.\n"
 msgstr ""
 
-#: src/msgunfmt.c:238
+#: src/msgunfmt.c:295
+#, no-wrap
+msgid ""
+"Input file location in Java mode:\n"
+"  -r, --resource=RESOURCE  resource name\n"
+"  -l, --locale=LOCALE      locale name, either language or language_COUNTRY\n"
+"The class name is determined by appending the locale name to the resource name,\n"
+"separated with an underscore.  The class is located using the CLASSPATH.\n"
+msgstr ""
+
+#: src/msgunfmt.c:304
 #, no-wrap
 msgid ""
 "Output file location:\n"
@@ -743,7 +1708,7 @@ msgid ""
 "or if it is -.\n"
 msgstr ""
 
-#: src/msgunfmt.c:246
+#: src/msgunfmt.c:312
 #, fuzzy, no-wrap
 msgid ""
 "Output details:\n"
@@ -753,7 +1718,7 @@ msgid ""
 "  -i, --indent             write indented output style\n"
 "      --strict             write strict uniforum style\n"
 "  -w, --width=NUMBER       set output page width\n"
-"  -s, --sort-output        generate sorted output and remove duplicates\n"
+"  -s, --sort-output        generate sorted output\n"
 msgstr ""
 "Sk³adnia: %s [OPCJA] def.po ref.po\n"
 "Argumenty obowi±zkowe dla opcji d³ugich obowi±zuj± równie¿ dla krótkich.\n"
@@ -767,53 +1732,49 @@ msgstr ""
 "  -V, --version            wy¶wietl informacjê o wersji i zakoñcz\n"
 "  -w, --width=LICZBA       ustal szeroko¶æ strony\n"
 
-#: src/msgunfmt.c:258
+#: src/msgunfmt.c:324
 #, no-wrap
 msgid ""
 "Informative output:\n"
 "  -h, --help               display this help and exit\n"
 "  -V, --version            output version information and exit\n"
+"  -v, --verbose            increase verbosity level\n"
 msgstr ""
 
-#: src/msgunfmt.c:286 src/msgunfmt.c:351 src/po-lex.c:212 src/xget-lex.c:244
-#, c-format
-msgid "error while reading \"%s\""
-msgstr "b³±d w czasie czytania \"%s\""
-
-#: src/msgunfmt.c:287 src/msgunfmt.c:352
-#, c-format
-msgid "file \"%s\" truncated"
-msgstr "obciêty plik \"%s\""
-
-#: src/msgunfmt.c:318
-#, c-format
-msgid "seek \"%s\" offset %ld failed"
-msgstr "nieudane przej¶cie do pozycji w \"%s\", ofset %ld"
-
-#: src/msgunfmt.c:357
-#, c-format
-msgid "file \"%s\" contains a not NUL terminated string"
+#: src/msguniq.c:279
+#, no-wrap
+msgid ""
+"Unifies duplicate translations in a translation catalog.\n"
+"Finds duplicate translations of the same message ID.  Such duplicates are\n"
+"invalid input for other programs like msgfmt, msgmerge or msgcat.  By\n"
+"default, duplicates are merged together.  When using the --repeated option,\n"
+"only duplicates are output, and all other messages are discarded.  Comments\n"
+"and extracted comments will be cumulated, except that if --use-first is\n"
+"specified, they will be taken from the first translation.  File positions\n"
+"will be cumulated.  When using the --unique option, duplicates are discarded.\n"
 msgstr ""
-"plik \"%s\" zawiera ³añcuch znaków, który nie jest zakoñczony znakiem NUL"
 
-#: src/msgunfmt.c:402
-#, c-format
-msgid "file \"%s\" is not in GNU .mo format"
-msgstr "plik \"%s\" nie jest w formacie .mo GNU"
+#: src/msguniq.c:312
+#, no-wrap
+msgid ""
+"Message selection:\n"
+"  -d, --repeated                 print only duplicates\n"
+"  -u, --unique                   print only unique messages, discard duplicates\n"
+msgstr ""
 
-#: src/ngettext.c:212
+#: src/ngettext.c:215
 #, c-format, no-wrap
 msgid "Usage: %s [OPTION] [TEXTDOMAIN] MSGID MSGID-PLURAL COUNT\n"
 msgstr ""
 
-#: src/ngettext.c:217
+#: src/ngettext.c:220
 #, no-wrap
 msgid ""
 "Display native language translation of a textual message whose grammatical\n"
 "form depends on a number.\n"
 msgstr ""
 
-#: src/ngettext.c:222
+#: src/ngettext.c:225
 #, fuzzy, no-wrap
 msgid ""
 "  -d, --domain=TEXTDOMAIN   retrieve translated message from TEXTDOMAIN\n"
@@ -836,7 +1797,7 @@ msgstr ""
 "  MSGID MSGID-MNOGI         przet³umaczenie MSGID (pojed.) / MSGID-MNOGI (mn.)\n"
 "  LICZBA                    wybranie formy pojed./mn. w oparciu o LICZBÊ\n"
 
-#: src/ngettext.c:233
+#: src/ngettext.c:236
 #, fuzzy, c-format, no-wrap
 msgid ""
 "If the TEXTDOMAIN parameter is not given, the domain is determined from the\n"
@@ -852,17 +1813,17 @@ msgstr ""
 "podana przez zmienn± ¶rodowiskow± TEXTDOMAINDIR.\n"
 "Domy¶lnie przeszukiwany katalog: %s\n"
 
-#: src/open-po.c:64
+#: src/open-po.c:69
 msgid "<stdin>"
 msgstr "<stdin>"
 
-#: src/po-charset.c:145 src/po-charset.c:213 src/po-charset.c:239
-#: src/po-charset.c:265
+#: src/po-charset.c:172 src/po-charset.c:240 src/po-charset.c:268
+#: src/po-charset.c:294
 #, c-format
 msgid "%s: warning: "
 msgstr "%s: ostrze¿enie: "
 
-#: src/po-charset.c:146
+#: src/po-charset.c:173
 #, c-format
 msgid ""
 "Charset \"%s\" is not a portable encoding name.\n"
@@ -871,15 +1832,15 @@ msgstr ""
 "Kodowanie \"%s\" nie ma przeno¶nej nazwy.\n"
 "Przekodowanie na zestaw znaków u¿ytkownika mo¿e nie dzia³aæ\n"
 
-#: src/po-charset.c:209 src/po-charset.c:237
+#: src/po-charset.c:236 src/po-charset.c:266
 msgid "Continuing anyway, expect parse errors."
 msgstr "Kontynuacja mimo wszystko, mo¿na oczekiwaæ b³êdów analizy sk³adni."
 
-#: src/po-charset.c:211
+#: src/po-charset.c:238
 msgid "Continuing anyway."
 msgstr "Kontynuacja mimo wszystko."
 
-#: src/po-charset.c:214
+#: src/po-charset.c:241
 #, c-format
 msgid ""
 "Charset \"%s\" is not supported. %s relies on iconv(),\n"
@@ -888,7 +1849,7 @@ msgstr ""
 "Kodowanie \"%s\" nie jest obs³ugiwane. %s opiera siê na iconv(),\n"
 "a iconv() nie obs³uguje \"%s\".\n"
 
-#: src/po-charset.c:223 src/po-charset.c:247
+#: src/po-charset.c:250 src/po-charset.c:276
 msgid ""
 "Installing GNU libiconv and then reinstalling GNU gettext\n"
 "would fix this problem.\n"
@@ -896,12 +1857,12 @@ msgstr ""
 "Problem mo¿na rozwi±zaæ instaluj±c libiconv GNU i instaluj±c\n"
 "ponownie gettext GNU.\n"
 
-#: src/po-charset.c:228 src/po-charset.c:251
+#: src/po-charset.c:255 src/po-charset.c:280
 #, c-format
 msgid "%s\n"
 msgstr "%s\n"
 
-#: src/po-charset.c:240
+#: src/po-charset.c:269
 #, c-format
 msgid ""
 "Charset \"%s\" is not supported. %s relies on iconv().\n"
@@ -910,7 +1871,7 @@ msgstr ""
 "Kodowanie \"%s\" nie jest obs³ugiwane. %s opiera sie na iconv().\n"
 "Ta wersja zosta³a skompilowana bez iconv().\n"
 
-#: src/po-charset.c:266
+#: src/po-charset.c:295
 msgid ""
 "Charset missing in header.\n"
 "Message conversion to user's charset will not work.\n"
@@ -918,128 +1879,230 @@ msgstr ""
 "W nag³ówku brakuje nazwy kodowania.\n"
 "Przekodowanie na kodowanie u¿ytkownika nie bêdzie dzia³aæ.\n"
 
-#: po-gram-gen.y:88
+#: po-gram-gen.y:91
 msgid "inconsistent use of #~"
 msgstr "niekonsekwentne u¿ycie #~"
 
-#: po-gram-gen.y:178
+#: po-gram-gen.y:181
 msgid "missing `msgstr[]' section"
 msgstr "brak czêsci `msgstr[]'"
 
-#: po-gram-gen.y:186
+#: po-gram-gen.y:189
 msgid "missing `msgid_plural' section"
 msgstr "brak czêsci `msgstr_plural'"
 
-#: po-gram-gen.y:193
+#: po-gram-gen.y:196
 msgid "missing `msgstr' section"
 msgstr "brak czêsci `msgstr'"
 
-#: po-gram-gen.y:238
+#: po-gram-gen.y:241
 msgid "first plural form has nonzero index"
 msgstr "pierwsza forma mnoga ma niezerowy indeks"
 
-#: po-gram-gen.y:240
+#: po-gram-gen.y:243
 msgid "plural form has wrong index"
 msgstr "forma mnoga ma z³y indeks"
 
-#. CAUTION: If you change this macro, you must also make identical
-#. changes to the function of the same name in src/po-lex.c
-#: src/po-lex.c:151 src/po-lex.c:194 src/po-lex.h:77 src/po-lex.h:93
-#: src/po-lex.h:111 src/po-lex.h:127
+#: src/po-lex.h:91 src/po-lex.h:106 src/po-lex.h:126 src/po-lex.h:141
+#: src/po-lex.c:135 src/po-lex.c:176
 msgid "too many errors, aborting"
 msgstr "%s: za du¿o b³êdów, przerwanie wykonywania"
 
-#: src/po-lex.c:270
+#: src/po-lex.c:545 src/write-po.c:331 src/write-po.c:421
+msgid "invalid multibyte sequence"
+msgstr "b³êdna sekwencja wielobajtowa"
+
+#: src/po-lex.c:571
+#, fuzzy
+msgid "incomplete multibyte sequence at end of file"
+msgstr "b³êdna sekwencja wielobajtowa"
+
+#: src/po-lex.c:581
+#, fuzzy
+msgid "incomplete multibyte sequence at end of line"
+msgstr "b³êdna sekwencja wielobajtowa"
+
+#: src/po-lex.c:589
+msgid "iconv failure"
+msgstr ""
+
+#: src/po-lex.c:763 src/read-mo.c:70 src/read-mo.c:135 src/x-c.c:216
+#: src/x-rst.c:227 src/x-ycp.c:103
+#, c-format
+msgid "error while reading \"%s\""
+msgstr "b³±d w czasie czytania \"%s\""
+
+#: src/po-lex.c:829
 #, c-format
 msgid "keyword \"%s\" unknown"
 msgstr "nieznane s³owo kluczowe \"%s\""
 
-#: src/po-lex.c:373
+#: src/po-lex.c:939
 msgid "invalid control sequence"
 msgstr "b³êdna sekwencja steruj±ca"
 
-#: src/po-lex.c:476
+#: src/po-lex.c:1047
 msgid "end-of-file within string"
 msgstr "znak koñca pliku wewn±trz ³añcucha"
 
-#: src/po-lex.c:481
+#: src/po-lex.c:1053
 msgid "end-of-line within string"
 msgstr "znak koñca wiersza wewn±trz ³añcucha"
 
-#: src/po-lex.c:524 src/write-po.c:291 src/write-po.c:373
-msgid "invalid multibyte sequence"
-msgstr "b³êdna sekwencja wielobajtowa"
+#: src/read-mo.c:71 src/read-mo.c:136
+#, c-format
+msgid "file \"%s\" truncated"
+msgstr "obciêty plik \"%s\""
+
+#: src/read-mo.c:102
+#, c-format
+msgid "seek \"%s\" offset %ld failed"
+msgstr "nieudane przej¶cie do pozycji w \"%s\", ofset %ld"
+
+#: src/read-mo.c:141
+#, c-format
+msgid "file \"%s\" contains a not NUL terminated string"
+msgstr ""
+"plik \"%s\" zawiera ³añcuch znaków, który nie jest zakoñczony znakiem NUL"
+
+#: src/read-mo.c:186
+#, c-format
+msgid "file \"%s\" is not in GNU .mo format"
+msgstr "plik \"%s\" nie jest w formacie .mo GNU"
+
+#: src/write-java.c:1108
+msgid "cannot find a temporary directory, try setting $TMPDIR"
+msgstr ""
+
+#: src/write-java.c:1118
+#, fuzzy, c-format
+msgid "cannot create a temporary directory using template \"%s\""
+msgstr "nie mogê utworzyæ pliku wyj¶ciowego \"%s\""
+
+#: src/write-java.c:1131
+#, c-format
+msgid "not a valid Java class name: %s"
+msgstr ""
+
+#: src/write-java.c:1188 src/write-java.c:1201
+#, c-format
+msgid "failed to create \"%s\""
+msgstr ""
+
+#: src/write-java.c:1209 src/write-mo.c:289 src/write-po.c:966
+#, c-format
+msgid "error while writing \"%s\" file"
+msgstr "b³±d podczas pisania do pliku \"%s\""
+
+#: src/write-java.c:1223
+msgid "compilation of Java class failed, please try --verbose or set $JAVAC"
+msgstr ""
 
-#: src/write-po.c:322
+#: src/write-mo.c:277
+#, c-format
+msgid "error while opening \"%s\" for writing"
+msgstr "b³±d otwarcia \"%s\" do pisania"
+
+#: src/write-po.c:370
 #, c-format
 msgid ""
 "internationalized messages should not contain the `\\%c' escape sequence"
 msgstr "umiêdzynaradawiane komunikaty nie powinny zawieraæ sekwenji `\\%c'"
 
-#: src/write-po.c:863
+#: src/write-po.c:724 src/write-po.c:818
+#, c-format
+msgid ""
+"The following msgid contains non-ASCII characters.\n"
+"This will cause problems to translators who use a character encoding\n"
+"different from yours. Consider using a pure ASCII msgid instead.\n"
+"%s\n"
+msgstr ""
+
+#: src/write-po.c:885
 #, c-format
 msgid "cannot create output file \"%s\""
 msgstr "nie mogê utworzyæ pliku wyj¶ciowego \"%s\""
 
-#: src/write-po.c:870
+#: src/write-po.c:892
 #, no-c-format
 msgid "standard output"
 msgstr "standardowe wyj¶cie"
 
-#: src/write-po.c:945
-#, c-format
-msgid "error while writing \"%s\" file"
-msgstr "b³±d podczas pisania do pliku \"%s\""
-
-#: src/xget-lex.c:149
-msgid "standard input"
-msgstr "wej¶cie standardowe"
-
-#: src/xget-lex.c:878
+#: src/x-c.c:858
 #, c-format
 msgid "%s:%d: warning: unterminated character constant"
 msgstr "%s:%d: uwaga: niezakoñczona sta³a znakowa"
 
-#: src/xget-lex.c:902
+#: src/x-c.c:882
 #, c-format
 msgid "%s:%d: warning: unterminated string literal"
 msgstr "%s:%d: uwaga: niezakoñczona sta³a ³añcuchowa"
 
-#: src/xgettext.c:372
+#: src/x-po.c:106 src/xgettext.c:605
+msgid "this file may not contain domain directives"
+msgstr "ten plik nie mo¿e zawieraæ dyrektyw domen"
+
+#: src/x-rst.c:108
+#, c-format
+msgid "%s:%d: invalid string definition"
+msgstr ""
+
+#: src/x-rst.c:168
+#, c-format
+msgid "%s:%d: missing number after #"
+msgstr ""
+
+#: src/x-rst.c:203
+#, c-format
+msgid "%s:%d: invalid string expression"
+msgstr ""
+
+#: src/xgettext.c:375
 msgid "--join-existing cannot be used when output is written to stdout"
 msgstr "--join-existing nie mo¿e byæ u¿yte kiedy wyniki"
 
-#: src/xgettext.c:377
+#: src/xgettext.c:380
 msgid "xgettext cannot work without keywords to look for"
 msgstr "xgettext nie mo¿e dzia³aæ bez podania s³ów kluczowych"
 
-#: src/xgettext.c:483
+#: src/xgettext.c:468
 #, c-format
 msgid "warning: file `%s' extension `%s' is unknown; will try C"
 msgstr "uwaga: typ pliku `%s' z rozszerzeniem `%s' jest nieznany; spróbujê C"
 
-#: src/xgettext.c:524
+#: src/xgettext.c:509
 #, no-wrap
 msgid "Extract translatable strings from given input files.\n"
 msgstr ""
 
-#: src/xgettext.c:529
+#: src/xgettext.c:514
 #, no-wrap
 msgid ""
 "Mandatory arguments to long options are mandatory for short options too.\n"
 "Similarly for optional arguments.\n"
 msgstr ""
 
-#: src/xgettext.c:553
+#: src/xgettext.c:529
+#, no-wrap
+msgid ""
+"Output file location:\n"
+"  -d, --default-domain=NAME      use NAME.po for output (instead of messages.po)\n"
+"  -o, --output=FILE              write output to specified file\n"
+"  -p, --output-dir=DIR           output files will be placed in directory DIR\n"
+"If output file is -, output is written to standard output.\n"
+msgstr ""
+
+#: src/xgettext.c:538
 #, no-wrap
 msgid ""
 "Choice of input file language:\n"
-"  -L, --language=NAME            recognise the specified language (C, C++, PO)\n"
+"  -L, --language=NAME            recognise the specified language\n"
+"                                   (C, C++, ObjectiveC, PO, Java, YCP)\n"
 "  -C, --c++                      shorthand for --language=C++\n"
 "By default the language is guessed depending on the input file name extension.\n"
 msgstr ""
 
-#: src/xgettext.c:561
+#: src/xgettext.c:547
 #, no-wrap
 msgid ""
 "Operation mode:\n"
@@ -1049,7 +2112,7 @@ msgid ""
 "                                 preceding keyword lines) in output file\n"
 msgstr ""
 
-#: src/xgettext.c:570
+#: src/xgettext.c:556
 #, no-wrap
 msgid ""
 "Language=C/C++ specific options:\n"
@@ -1060,8 +2123,8 @@ msgid ""
 "      --debug                    more detailed formatstring recognition result\n"
 msgstr ""
 
-#: src/xgettext.c:580
-#, no-wrap
+#: src/xgettext.c:566
+#, fuzzy, no-wrap
 msgid ""
 "Output details:\n"
 "  -e, --no-escape                do not use C escapes in output (default)\n"
@@ -1072,38 +2135,78 @@ msgid ""
 "  -n, --add-location             generate '#: filename:line' lines (default)\n"
 "      --strict                   write out strict Uniforum conforming .po file\n"
 "  -w, --width=NUMBER             set output page width\n"
-"  -s, --sort-output              generate sorted output and remove duplicates\n"
+"  -s, --sort-output              generate sorted output\n"
 "  -F, --sort-by-file             sort output by file location\n"
 "      --omit-header              don't write header with `msgid \"\"' entry\n"
 "      --foreign-user             omit FSF copyright in output for foreign user\n"
 "  -m, --msgstr-prefix[=STRING]   use STRING or \"\" as prefix for msgstr entries\n"
 "  -M, --msgstr-suffix[=STRING]   use STRING or \"\" as suffix for msgstr entries\n"
 msgstr ""
+"Sk³adnia: %s [OPCJA] def.po ref.po\n"
+"Argumenty obowi±zkowe dla opcji d³ugich obowi±zuj± równie¿ dla krótkich.\n"
+"  -C, --compendium=PLIK       dodatkowa biblioteka t³umaczeñ komunikatów,\n"
+"                              mo¿e byæ podana wiêcej ni¿ raz\n"
+"  -D, --directory=KATALOG     szukanie plików wej¶ciowych równie¿ w KATALOGu\n"
+"  -e  --no-escape             bez rozwijania sekwencji escape (domy¶lne)\n"
+"  -E  --escape                u¿ycie sekwencje escape, bez znaków rozszerzonych\n"
+"      --force-po              zapisanie nawet pustego pliku PO\n"
+"  -h, --help                  wy¶wietlenie tego opisu i zakoñczenie\n"
+"  -i, --indent                wyniki z wciêciami\n"
+"  -o, --output-file=PLIK      wyniki bêd± zapisane do PLIKu\n"
+"      --no-location           bez generowania linii '#: filename:line'\n"
+"      --add-location          generowanie linii '#: filename:line' (domy¶lne)\n"
+"      --strict                ¶cis³y styl Uniforum\n"
+"  -v, --verbose               podawanie wiêcej informacji\n"
+"  -V, --version               wy¶wietlenie informacji o wersji i zakoñczenie\n"
+"  -w, --width=LICZBA          ustalenie szeroko¶ci strony\n"
 
-# y?
-#: src/xgettext.c:952
-#, c-format
-msgid "%s:%d: warning: keyword nested in keyword arg"
-msgstr "%s:%d: uwaga: rekurencyjna specyfikacja s³owa kluczowego"
+#: src/xgettext.c:720
+msgid "standard input"
+msgstr "wej¶cie standardowe"
 
-#: src/xgettext.c:964
-#, c-format
-msgid "%s:%d: warning: keyword between outer keyword and its arg"
+#: src/xgettext.c:830
+msgid ""
+"Empty msgid.  It is reserved by GNU gettext:\n"
+"gettext(\"\") returns the header entry with\n"
+"meta information, not the empty string.\n"
 msgstr ""
-"%s:%d: uwaga: s³owo kluczowe miêdzy zewn. s³owem kluczowym i jego argumentem"
 
-#: src/xgettext.c:1462
+#: src/xgettext.c:1099
 #, c-format
 msgid "language `%s' unknown"
 msgstr "nieznany jêzyk `%s'"
 
+#~ msgid "while creating hash table"
+#~ msgstr "podczas tworzenia tablicy mieszaj±cej"
+
+# y?
+#, fuzzy
+#~ msgid "%s:%lu: warning: keyword nested in keyword arg"
+#~ msgstr "%s:%d: uwaga: rekurencyjna specyfikacja s³owa kluczowego"
+
+#, fuzzy
+#~ msgid "%s:%lu: warning: keyword between outer keyword and its arg"
+#~ msgstr ""
+#~ "%s:%d: uwaga: s³owo kluczowe miêdzy zewn. s³owem kluczowym i jego "
+#~ "argumentem"
+
+#~ msgid "while preparing output"
+#~ msgstr "podczas przygotowywania wyniku"
+
+#~ msgid "this message has no definition in the \"%s\" domain"
+#~ msgstr "ten komunikat nie ma definicji w domenie \"%s\""
+
 #~ msgid ""
 #~ "Usage: %s [OPTION] INPUTFILE ...\n"
 #~ "Mandatory arguments to long options are mandatory for short options too.\n"
-#~ "  -d, --default-domain=NAME      use NAME.po for output (instead of messages.po)\n"
-#~ "  -D, --directory=DIRECTORY      add DIRECTORY to list for input files search\n"
-#~ "  -e, --no-escape                do not use C escapes in output (default)\n"
-#~ "  -E, --escape                   use C escapes in output, no extended chars\n"
+#~ "  -d, --default-domain=NAME      use NAME.po for output (instead of "
+#~ "messages.po)\n"
+#~ "  -D, --directory=DIRECTORY      add DIRECTORY to list for input files "
+#~ "search\n"
+#~ "  -e, --no-escape                do not use C escapes in output "
+#~ "(default)\n"
+#~ "  -E, --escape                   use C escapes in output, no extended "
+#~ "chars\n"
 #~ "  -f, --files-from=FILE          get list of input files from FILE\n"
 #~ "      --force-po                 write PO file even if empty\n"
 #~ "  -F, --sort-by-file             sort output by file location\n"
@@ -1111,11 +2214,16 @@ msgstr "nieznany j
 #~ msgstr ""
 #~ "Sk³adnia: %s [OPCJA] PLIK_WEJ¦CIOWY ...\n"
 #~ "Argumenty obowi±zkowe dla opcji d³ugich obowi±zuj± równie¿ dla krótkich.\n"
-#~ "  -d, --domain=TEXTDOMAIN        wydob±d¼ przet³umaczone komunikaty z TEXTDOMAIN\n"
-#~ "  -D, --directory=KATALOG        szukaj plików wej¶ciowych równie¿ w KATALOGu\n"
-#~ "  -e, --no-escape                nie u¿ywaj sekwencji escape w wynikach (domy¶lne)\n"
-#~ "  -E, --escape                   u¿yj sekwencji escape C, bez znaków rozszerzonych\n"
-#~ "  -f, --files-from=PLIK          pobierz listê plików wej¶ciowych z PLIKu\n"
+#~ "  -d, --domain=TEXTDOMAIN        wydob±d¼ przet³umaczone komunikaty z "
+#~ "TEXTDOMAIN\n"
+#~ "  -D, --directory=KATALOG        szukaj plików wej¶ciowych równie¿ w "
+#~ "KATALOGu\n"
+#~ "  -e, --no-escape                nie u¿ywaj sekwencji escape w wynikach "
+#~ "(domy¶lne)\n"
+#~ "  -E, --escape                   u¿yj sekwencji escape C, bez znaków "
+#~ "rozszerzonych\n"
+#~ "  -f, --files-from=PLIK          pobierz listê plików wej¶ciowych z "
+#~ "PLIKu\n"
 #~ "      --force-po                 zapisz nawet pusty plik PO\n"
 #~ "  -F, --sort-by-file             sortuj wyniki wg po³o¿enia plików\n"
 #~ "  -h, --help                     wy¶wietl ten opis i zakoñcz pracê\n"
@@ -1157,12 +2265,16 @@ msgstr "nieznany j
 #~ "Generate binary message catalog from textual translation description.\n"
 #~ "\n"
 #~ "Mandatory arguments to long options are mandatory for short options too.\n"
-#~ "  -a, --alignment=NUMBER      align strings to NUMBER bytes (default: %d)\n"
-#~ "  -c, --check                 perform language dependent checks on strings\n"
-#~ "  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+#~ "  -a, --alignment=NUMBER      align strings to NUMBER bytes (default: %"
+#~ "d)\n"
+#~ "  -c, --check                 perform language dependent checks on "
+#~ "strings\n"
+#~ "  -D, --directory=DIRECTORY   add DIRECTORY to list for input files "
+#~ "search\n"
 #~ "  -f, --use-fuzzy             use fuzzy entries in output\n"
 #~ "  -h, --help                  display this help and exit\n"
-#~ "      --no-hash               binary file will not include the hash table\n"
+#~ "      --no-hash               binary file will not include the hash "
+#~ "table\n"
 #~ "  -o, --output-file=FILE      specify output file name as FILE\n"
 #~ "      --statistics            print statistics about translations\n"
 #~ "      --strict                enable strict Uniforum mode\n"
@@ -1178,12 +2290,17 @@ msgstr "nieznany j
 #~ "Wygeneruj binarny katalog komunikatów z tekstowego opisu t³umaczenia.\n"
 #~ "\n"
 #~ "Argumenty obowi±zkowe dla opcji d³ugich obowi±zuj± równie¿ dla krótkich.\n"
-#~ "  -a, --alignment=ILO¦Æ       dosuñ do równej ILO¦Ci bajtów (domy¶lnie: %d)\n"
-#~ "  -c, --check                 dokonaj zale¿nych od jêzyka sprawdzeñ znaków\n"
-#~ "  -D, --directory=KATALOG     szukaj plików wej¶ciowych równie¿ w KATALOGu\n"
-#~ "  -f, --use-fuzzy             u¿yj t³umaczeñ niepewnych w danych wyj¶ciowych\n"
+#~ "  -a, --alignment=ILO¦Æ       dosuñ do równej ILO¦Ci bajtów (domy¶lnie: %"
+#~ "d)\n"
+#~ "  -c, --check                 dokonaj zale¿nych od jêzyka sprawdzeñ "
+#~ "znaków\n"
+#~ "  -D, --directory=KATALOG     szukaj plików wej¶ciowych równie¿ w "
+#~ "KATALOGu\n"
+#~ "  -f, --use-fuzzy             u¿yj t³umaczeñ niepewnych w danych "
+#~ "wyj¶ciowych\n"
 #~ "  -h, --help                  wy¶wietl ten opis i zakoñcz pracê\n"
-#~ "      --no-hash               w pliku binarnym nie bêdzie tablicy mieszaj±cej\n"
+#~ "      --no-hash               w pliku binarnym nie bêdzie tablicy "
+#~ "mieszaj±cej\n"
 #~ "  -o, --output-file=PLIK      podaj nazwê pliku wyj¶ciowego PLIK\n"
 #~ "      --statistics            wypisz statystykê t³umaczeñ\n"
 #~ "      --strict                przejd¼ na ¶cis³y tyryb Uniforum\n"
@@ -1192,7 +2309,8 @@ msgstr "nieznany j
 #~ "\n"
 #~ "Podanie opcji -v wiecêj ni¿ raz zwiêksza ilo¶æ podawanych informacji.\n"
 #~ "\n"
-#~ "Je¿eli plik wej¶ciowy to -, czytane jest wej¶cie standardowe. Je¿eli plik\n"
+#~ "Je¿eli plik wej¶ciowy to -, czytane jest wej¶cie standardowe. Je¿eli "
+#~ "plik\n"
 #~ "wyj¶ciowy to -, wyniki s± wysy³ane do standardowego wyj¶cia.\n"
 
 #~ msgid ""
@@ -1205,7 +2323,8 @@ msgstr "nieznany j
 #~ "\n"
 #~ "Konwersja binarnych plików .mo do plików .po w stylu Uniforum.\n"
 #~ "U¿yte mog± byæ zarówno pliki .mo little-endian i big-endian.\n"
-#~ "Je¿eli plik wej¶ciowy to -, czytane jest wej¶cie standardowe. Jezeli plik\n"
+#~ "Je¿eli plik wej¶ciowy to -, czytane jest wej¶cie standardowe. Jezeli "
+#~ "plik\n"
 #~ "wyj¶ciowy to -, wyniki s± wysy³ane do standardowego wyj¶cia.\n"
 
 #~ msgid ""
@@ -1217,14 +2336,20 @@ msgstr "nieznany j
 #~ "  -c, --add-comments[=TAG]       place comment block with TAG (or those\n"
 #~ "                                 preceding keyword lines) in output file\n"
 #~ "  -C, --c++                      shorthand for --language=C++\n"
-#~ "      --debug                    more detailed formatstring recognision result\n"
-#~ "  -d, --default-domain=NAME      use NAME.po for output (instead of messages.po)\n"
-#~ "  -D, --directory=DIRECTORY      add DIRECTORY to list for input files search\n"
-#~ "  -e, --no-escape                do not use C escapes in output (default)\n"
-#~ "  -E, --escape                   use C escapes in output, no extended chars\n"
+#~ "      --debug                    more detailed formatstring recognision "
+#~ "result\n"
+#~ "  -d, --default-domain=NAME      use NAME.po for output (instead of "
+#~ "messages.po)\n"
+#~ "  -D, --directory=DIRECTORY      add DIRECTORY to list for input files "
+#~ "search\n"
+#~ "  -e, --no-escape                do not use C escapes in output "
+#~ "(default)\n"
+#~ "  -E, --escape                   use C escapes in output, no extended "
+#~ "chars\n"
 #~ "  -f, --files-from=FILE          get list of input files from FILE\n"
 #~ "      --force-po                 write PO file even if empty\n"
-#~ "      --foreign-user             omit FSF copyright in output for foreign user\n"
+#~ "      --foreign-user             omit FSF copyright in output for foreign "
+#~ "user\n"
 #~ "  -F, --sort-by-file             sort output by file location\n"
 #~ msgstr ""
 #~ "Sk³adnia: %s [OPCJA] PLIK_WEJ¦CIOWY ...\n"
@@ -1232,51 +2357,76 @@ msgstr "nieznany j
 #~ "\n"
 #~ "Argumenty obowi±zkowe dla opcji d³ugich obowi±zuj± równie¿ dla krótkich.\n"
 #~ "  -a, --extract-all              wydob±d¼ wszystkie komunikaty\n"
-#~ "  -c, --add-comments[=ZNACZNIK]  umie¶æ blok komentarza ze ZNACZNIKiem (lub\n"
-#~ "                                 z poprzedzaj±cymi liniami s³ów kluczowych) w\n"
+#~ "  -c, --add-comments[=ZNACZNIK]  umie¶æ blok komentarza ze ZNACZNIKiem "
+#~ "(lub\n"
+#~ "                                 z poprzedzaj±cymi liniami s³ów "
+#~ "kluczowych) w\n"
 #~ "                                 pliku wyj¶ciowym\n"
 #~ "  -C, --c++                      rozpoznawaj komentarze w stylu C++\n"
 #~ "      --debug                    bardziej wnikliwe rozpoznwanie formatu\n"
-#~ "  -d, --domain=TEXTDOMAIN        wydob±d¼ przet³umaczone komunikaty z TEXTDOMAIN\n"
-#~ "  -D, --directory=KATALOG        szukaj plików wej¶ciowych równie¿ w KATALOGu\n"
-#~ "  -e, --no-escape                nie u¿ywaj sekwencji escape w wynikach (domy¶lne)\n"
-#~ "  -E, --escape                   u¿yj sekwencji escape C, bez znaków rozszerzonych\n"
-#~ "  -f, --files-from=PLIK          pobierz listê plików wej¶ciowych z PLIKu\n"
+#~ "  -d, --domain=TEXTDOMAIN        wydob±d¼ przet³umaczone komunikaty z "
+#~ "TEXTDOMAIN\n"
+#~ "  -D, --directory=KATALOG        szukaj plików wej¶ciowych równie¿ w "
+#~ "KATALOGu\n"
+#~ "  -e, --no-escape                nie u¿ywaj sekwencji escape w wynikach "
+#~ "(domy¶lne)\n"
+#~ "  -E, --escape                   u¿yj sekwencji escape C, bez znaków "
+#~ "rozszerzonych\n"
+#~ "  -f, --files-from=PLIK          pobierz listê plików wej¶ciowych z "
+#~ "PLIKu\n"
 #~ "      --force-po                 zapisz nawet pusty plik PO\n"
-#~ "      --foreign-user             omiñ informacjê o prawach autorskich FSF\n"
+#~ "      --foreign-user             omiñ informacjê o prawach autorskich "
+#~ "FSF\n"
 #~ "  -F, --sort-by-file             sortuj wyniki wg po³o¿enia plików\n"
 
 #~ msgid ""
 #~ "  -h, --help                     display this help and exit\n"
 #~ "  -i, --indent                   write the .po file using indented style\n"
 #~ "  -j, --join-existing            join messages with existing file\n"
-#~ "  -k, --keyword[=WORD]           additonal keyword to be looked for (without\n"
+#~ "  -k, --keyword[=WORD]           additonal keyword to be looked for "
+#~ "(without\n"
 #~ "                                 WORD means not to use default keywords)\n"
-#~ "  -L, --language=NAME            recognise the specified language (C, C++, PO),\n"
-#~ "                                 otherwise is guessed from file extension\n"
-#~ "  -m, --msgstr-prefix[=STRING]   use STRING or \"\" as prefix for msgstr entries\n"
-#~ "  -M, --msgstr-suffix[=STRING]   use STRING or \"\" as suffix for msgstr entries\n"
+#~ "  -L, --language=NAME            recognise the specified language (C, C+"
+#~ "+, PO),\n"
+#~ "                                 otherwise is guessed from file "
+#~ "extension\n"
+#~ "  -m, --msgstr-prefix[=STRING]   use STRING or \"\" as prefix for msgstr "
+#~ "entries\n"
+#~ "  -M, --msgstr-suffix[=STRING]   use STRING or \"\" as suffix for msgstr "
+#~ "entries\n"
 #~ "      --no-location              do not write '#: filename:line' lines\n"
 #~ msgstr ""
 #~ "  -h, --help                     wy¶wietlenie tego opis i zakoñczenie\n"
 #~ "  -i, --indent                   zapisanie pliku .po z wciêciami\n"
 #~ "  -j, --join-existing            po³±czenie komunikatów z istniej±cymi\n"
-#~ "  -k, --keyword[=S£OWO]          dodatkowe s³owo kluczowe do wyszukania (bez\n"
-#~ "                                 S£OWO oznacza nieu¿ywanie s³ów domy¶lnych)\n"
-#~ "  -L, --language=NAZWA           interpretacja podanego jêzyka (C, C++, PO), w\n"
-#~ "                                 przeciwnym wypadku zgadywany z rozszerzenia\n"
+#~ "  -k, --keyword[=S£OWO]          dodatkowe s³owo kluczowe do wyszukania "
+#~ "(bez\n"
+#~ "                                 S£OWO oznacza nieu¿ywanie s³ów "
+#~ "domy¶lnych)\n"
+#~ "  -L, --language=NAZWA           interpretacja podanego jêzyka (C, C++, "
+#~ "PO), w\n"
+#~ "                                 przeciwnym wypadku zgadywany z "
+#~ "rozszerzenia\n"
 #~ "                                 nazwy pliku\n"
-#~ "  -m, --msgstr-prefix[=£AÑCUCH]  u¿ycie £AÑCUCHA lub \"\" jako przedrostka msgstr\n"
-#~ "  -M, --msgstr-suffix[=£AÑCUCH]  u¿ycie £AÑCUCHA lub \"\" jako przyrostka msgstr\n"
-#~ "      --no-location              bez zapisuj linii '#: nazwa_pliku:linia'\n"
+#~ "  -m, --msgstr-prefix[=£AÑCUCH]  u¿ycie £AÑCUCHA lub \"\" jako "
+#~ "przedrostka msgstr\n"
+#~ "  -M, --msgstr-suffix[=£AÑCUCH]  u¿ycie £AÑCUCHA lub \"\" jako przyrostka "
+#~ "msgstr\n"
+#~ "      --no-location              bez zapisuj linii '#: nazwa_pliku:"
+#~ "linia'\n"
 
 #~ msgid ""
-#~ "  -n, --add-location             generate '#: filename:line' lines (default)\n"
-#~ "      --omit-header              don't write header with `msgid \"\"' entry\n"
+#~ "  -n, --add-location             generate '#: filename:line' lines "
+#~ "(default)\n"
+#~ "      --omit-header              don't write header with `msgid \"\"' "
+#~ "entry\n"
 #~ "  -o, --output=FILE              write output to specified file\n"
-#~ "  -p, --output-dir=DIR           output files will be placed in directory DIR\n"
-#~ "  -s, --sort-output              generate sorted output and remove duplicates\n"
-#~ "      --strict                   write out strict Uniforum conforming .po file\n"
+#~ "  -p, --output-dir=DIR           output files will be placed in directory "
+#~ "DIR\n"
+#~ "  -s, --sort-output              generate sorted output and remove "
+#~ "duplicates\n"
+#~ "      --strict                   write out strict Uniforum conforming .po "
+#~ "file\n"
 #~ "  -T, --trigraphs                understand ANSI C trigraphs for input\n"
 #~ "  -V, --version                  output version information and exit\n"
 #~ "  -w, --width=NUMBER             set output page width\n"
@@ -1284,13 +2434,16 @@ msgstr "nieznany j
 #~ "\n"
 #~ "If INPUTFILE is -, standard input is read.\n"
 #~ msgstr ""
-#~ "  -n, --add-location             pisz linie '#: nazwa_pliku:linia' (domy¶lnie)\n"
+#~ "  -n, --add-location             pisz linie '#: nazwa_pliku:"
+#~ "linia' (domy¶lnie)\n"
 #~ "      --omit-header              nie zapisuj nag³ówka z `msgid \"\"'\n"
 #~ "  -o, --output=FILE              zapisz do podanego pliku\n"
 #~ "  -p, --output-dir=KATALOG       pliki wynikowe bêd± w katalogu KATALOG\n"
 #~ "  -s, --sort-output              wynik posortuj i usuñ duplikaty\n"
 #~ "      --strict                   zapisz plik .po ¶ci¶le w stylu Uniforum\n"
-#~ "  -T, --trigraphs                rozumiej trójznaki ANSI C w danych wej¶ciowych\n"
+#~ "  -T, --trigraphs                rozumiej trójznaki ANSI C w danych "
+#~ "wej¶ciowych\n"
 #~ "  -V, --version                  wy¶wietl informacjê o wersji i zakoñcz\n"
 #~ "  -w, --width=LICZBA             ustal szeroko¶æ strony\n"
-#~ "  -x, --exclude-file=PLIK        nie wydobywaj rekordów zapisanych w PLIKu\n"
+#~ "  -x, --exclude-file=PLIK        nie wydobywaj rekordów zapisanych w "
+#~ "PLIKu\n"
index 8af871862cc0f6ebdf5533361d75ea8e79d20bb1..5b274491c22b41dc1a1c5c5c7c36c08f1cb24ceb 100644 (file)
Binary files a/po/pt.gmo and b/po/pt.gmo differ
index 2f530adf4de8b00661050472c3cf6020c6309fa0..df8cdcc676816a4c599d373a8b7e4f95990a27e3 100644 (file)
--- a/po/pt.po
+++ b/po/pt.po
@@ -5,18 +5,65 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: GNU gettext 0.10.23\n"
-"POT-Creation-Date: 2001-04-18 22:38+0200\n"
+"POT-Creation-Date: 2001-11-30 14:18+0100\n"
 "PO-Revision-Date: 1996-09-18 20:51 WET DST\n"
 "Last-Translator: Nuno Oliveira <nuno@eq.uc.pt>\n"
 "Language-Team: Portuguese <pt@li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=ISO-8859-1\n"
-"Content-Transfer-Encoding: 8-bit\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: lib/argmatch.c:141
+#, c-format
+msgid "invalid argument `%s' for `%s'"
+msgstr ""
+
+#: lib/argmatch.c:142
+#, c-format
+msgid "ambiguous argument `%s' for `%s'"
+msgstr ""
+
+#: lib/argmatch.c:162
+msgid "Valid arguments are:"
+msgstr ""
+
+#: lib/copy-file.c:60 src/file-list.c:57 src/po-lex.c:732 src/read-mo.c:170
+#: src/xgettext.c:729 src/xgettext.c:742 src/xgettext.c:752
+#, c-format
+msgid "error while opening \"%s\" for reading"
+msgstr "erro durante a abertura de \"%s\" para leitura"
+
+#: lib/copy-file.c:67
+#, fuzzy, c-format
+msgid "cannot open backup file \"%s\" for writing"
+msgstr "erro durante a abertura de \"%s\" para escrita"
+
+#: lib/copy-file.c:80
+#, fuzzy, c-format
+msgid "error reading \"%s\""
+msgstr "erro durante a leitura de \"%s\""
+
+#: lib/copy-file.c:86 lib/copy-file.c:90
+#, fuzzy, c-format
+msgid "error writing \"%s\""
+msgstr "erro durante a escrita do ficheiro \"%s\""
+
+#: lib/copy-file.c:92
+#, fuzzy, c-format
+msgid "error after reading \"%s\""
+msgstr "erro durante a leitura de \"%s\""
 
 #: lib/error.c:115
 msgid "Unknown system error"
 msgstr "Erro desconhecido do sistema"
 
+#: lib/execute.c:170 lib/execute.c:205 lib/pipe-bidi.c:156 lib/pipe-bidi.c:191
+#: lib/pipe-in.c:167 lib/pipe-in.c:202 lib/pipe-out.c:167 lib/pipe-out.c:202
+#: lib/wait-process.c:136
+#, c-format
+msgid "%s subprocess failed"
+msgstr ""
+
 #: lib/getopt.c:691
 #, c-format
 msgid "%s: option `%s' is ambiguous\n"
@@ -37,19 +84,16 @@ msgstr "%s: a op
 msgid "%s: option `%s' requires an argument\n"
 msgstr "%s: a opção `%s' requere um argumento\n"
 
-#. --option
 #: lib/getopt.c:768
 #, c-format
 msgid "%s: unrecognized option `--%s'\n"
 msgstr "%s: opção não reconhecida `--%s'\n"
 
-#. +option or -option
 #: lib/getopt.c:772
 #, c-format
 msgid "%s: unrecognized option `%c%s'\n"
 msgstr "%s: opção não reconhecida `%c%s'\n"
 
-#. 1003.2 specifies the format of this message.
 #: lib/getopt.c:798
 #, c-format
 msgid "%s: illegal option -- %c\n"
@@ -60,7 +104,6 @@ msgstr "%s: op
 msgid "%s: invalid option -- %c\n"
 msgstr "%s: opção ilegal -- %c\n"
 
-#. 1003.2 specifies the format of this message.
 #: lib/getopt.c:831 lib/getopt.c:961
 #, c-format
 msgid "%s: option requires an argument -- %c\n"
@@ -76,14 +119,115 @@ msgstr "%s: a op
 msgid "%s: option `-W %s' doesn't allow an argument\n"
 msgstr "%s: a opção `--%s' não permite um argumento\n"
 
-#: lib/obstack.c:474 lib/xmalloc.c:86 src/po.c:308 src/po.c:381 src/po.c:389
-#: src/po.c:395 src/po.c:415 src/po.c:422 src/po.c:427 src/po.c:444
+#: lib/javacomp.c:465
+msgid "Java compiler not found, try installing gcj or set $JAVAC"
+msgstr ""
+
+#: lib/javaexec.c:404
+msgid "Java virtual machine not found, try installing gij or set $JAVA"
+msgstr ""
+
+#: lib/obstack.c:474 lib/xerror.c:75 lib/xmalloc.c:56
 #, fuzzy
 msgid "memory exhausted"
 msgstr "memória exausta"
 
-#: src/gettext.c:140 src/msgcmp.c:140 src/msgcomm.c:279 src/msgfmt.c:270
-#: src/msgmerge.c:255 src/msgunfmt.c:170 src/ngettext.c:120 src/xgettext.c:388
+#: lib/pipe-bidi.c:119 lib/pipe-bidi.c:121 lib/pipe-in.c:136
+#: lib/pipe-out.c:136
+#, fuzzy
+msgid "cannot create pipe"
+msgstr "impossível criar o ficheiro de saída \"%s\""
+
+#: lib/wait-process.c:117
+#, c-format
+msgid "%s subprocess"
+msgstr ""
+
+#: lib/wait-process.c:129
+#, c-format
+msgid "%s subprocess got fatal signal"
+msgstr ""
+
+#: src/format-c.c:578 src/format-python.c:463
+#, fuzzy
+msgid "number of format specifications in 'msgid' and 'msgstr' does not match"
+msgstr "o número de especificações em `msgid' e `msgstr' é diferente"
+
+#: src/format-c.c:588 src/format-python.c:473
+#, fuzzy, c-format
+msgid ""
+"format specifications in 'msgid' and 'msgstr' for argument %u are not the "
+"same"
+msgstr "as especificações do argumento %u são diferentes"
+
+#: src/format-java.c:652 src/format-pascal.c:396
+#, fuzzy, c-format
+msgid "a format specification for argument {%u} doesn't exist in 'msgid'"
+msgstr "as especificações do argumento %u são diferentes"
+
+#: src/format-java.c:662 src/format-pascal.c:406
+#, fuzzy, c-format
+msgid "a format specification for argument {%u} doesn't exist in 'msgstr'"
+msgstr "as especificações do argumento %u são diferentes"
+
+#: src/format-java.c:676 src/format-pascal.c:420
+#, fuzzy, c-format
+msgid ""
+"format specifications in 'msgid' and 'msgstr' for argument {%u} are not the "
+"same"
+msgstr "as especificações do argumento %u são diferentes"
+
+#: src/format-lisp.c:3371
+#, fuzzy
+msgid "format specifications in 'msgid' and 'msgstr' are not equivalent"
+msgstr "o número de especificações em `msgid' e `msgstr' é diferente"
+
+#: src/format-python.c:391
+#, fuzzy
+msgid ""
+"format specifications in 'msgid' expect a mapping, those in 'msgstr' expect "
+"a tuple"
+msgstr "o número de especificações em `msgid' e `msgstr' é diferente"
+
+#: src/format-python.c:399
+#, fuzzy
+msgid ""
+"format specifications in 'msgid' expect a tuple, those in 'msgstr' expect a "
+"mapping"
+msgstr "o número de especificações em `msgid' e `msgstr' é diferente"
+
+#: src/format-python.c:422
+#, fuzzy, c-format
+msgid "a format specification for argument '%s' doesn't exist in 'msgid'"
+msgstr "as especificações do argumento %u são diferentes"
+
+#: src/format-python.c:432
+#, fuzzy, c-format
+msgid "a format specification for argument '%s' doesn't exist in 'msgstr'"
+msgstr "as especificações do argumento %u são diferentes"
+
+#: src/format-python.c:446
+#, fuzzy, c-format
+msgid ""
+"format specifications in 'msgid' and 'msgstr' for argument '%s' are not the "
+"same"
+msgstr "as especificações do argumento %u são diferentes"
+
+#: src/format-ycp.c:137
+#, fuzzy, c-format
+msgid "a format specification for argument %u doesn't exist in 'msgstr'"
+msgstr "as especificações do argumento %u são diferentes"
+
+#: src/format-ycp.c:138
+#, fuzzy, c-format
+msgid "a format specification for argument %u doesn't exist in 'msgid'"
+msgstr "as especificações do argumento %u são diferentes"
+
+#: src/gettext.c:146 src/hostname.c:168 src/msgattrib.c:264 src/msgcat.c:229
+#: src/msgcmp.c:134 src/msgcomm.c:232 src/msgconv.c:182 src/msgen.c:171
+#: src/msgexec.c:240 src/msgfmt.c:333 src/msggrep.c:276 src/msginit.c:247
+#: src/msgmerge.c:252 src/msgunfmt.c:182 src/msguniq.c:207 src/ngettext.c:126
+#: src/xgettext.c:352
 #, c-format, no-wrap
 msgid ""
 "Copyright (C) %s Free Software Foundation, Inc.\n"
@@ -91,30 +235,47 @@ msgid ""
 "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
 msgstr ""
 
-#: src/gettext.c:145 src/msgcmp.c:145 src/msgcomm.c:284 src/msgfmt.c:275
-#: src/msgmerge.c:260 src/msgunfmt.c:175 src/ngettext.c:125 src/xgettext.c:393
+#: src/gettext.c:151 src/hostname.c:173 src/msgattrib.c:269 src/msgcat.c:234
+#: src/msgcmp.c:139 src/msgcomm.c:237 src/msgconv.c:187 src/msgen.c:176
+#: src/msgexec.c:245 src/msgfmt.c:338 src/msggrep.c:281 src/msginit.c:252
+#: src/msgmerge.c:257 src/msgunfmt.c:187 src/msguniq.c:212 src/ngettext.c:131
+#: src/xgettext.c:357
 #, c-format
 msgid "Written by %s.\n"
 msgstr ""
 
-#: src/gettext.c:163 src/ngettext.c:137
+#: src/gettext.c:169 src/hostname.c:183 src/msginit.c:262 src/ngettext.c:143
 msgid "too many arguments"
 msgstr "demasiados argumentos"
 
-#: src/gettext.c:173 src/ngettext.c:149
+#: src/gettext.c:179 src/ngettext.c:155
 msgid "missing arguments"
 msgstr "argumentos insuficientes"
 
-#: src/gettext.c:245 src/msgcmp.c:177 src/msgcomm.c:377 src/msgfmt.c:387
-#: src/msgmerge.c:315 src/msgunfmt.c:205 src/ngettext.c:204 src/xgettext.c:515
+#: src/gettext.c:251 src/hostname.c:197 src/msgattrib.c:322 src/msgcat.c:290
+#: src/msgcmp.c:171 src/msgcomm.c:306 src/msgconv.c:241 src/msgen.c:227
+#: src/msgexec.c:338 src/msgfmt.c:479 src/msggrep.c:371 src/msginit.c:338
+#: src/msgmerge.c:367 src/msgunfmt.c:262 src/msguniq.c:269 src/ngettext.c:210
+#: src/xgettext.c:499
 #, fuzzy, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "Tente `%s --help' para mais informação\n"
 
-#: src/gettext.c:250
+#: src/gettext.c:256
 #, c-format, no-wrap
 msgid ""
-"Usage: %s [OPTION] [[[TEXTDOMAIN] MSGID] | [-s [MSGID]...]]\n"
+"Usage: %s [OPTION] [[TEXTDOMAIN] MSGID]\n"
+"or:    %s [OPTION] -s [MSGID]...\n"
+msgstr ""
+
+#: src/gettext.c:262
+#, no-wrap
+msgid "Display native language translation of a textual message.\n"
+msgstr ""
+
+#: src/gettext.c:266
+#, fuzzy, no-wrap
+msgid ""
 "  -d, --domain=TEXTDOMAIN   retrieve translated messages from TEXTDOMAIN\n"
 "  -e                        enable expansion of some escape sequences\n"
 "  -E                        (ignored for compatibility)\n"
@@ -134,10 +295,9 @@ msgstr ""
 " [DIALECTO] MSGID          obtém a mensagem traduzida correspondente a\n"
 "                           MSGID do DIALECTO\n"
 
-#: src/gettext.c:262
-#, c-format, no-wrap
+#: src/gettext.c:277
+#, fuzzy, c-format, no-wrap
 msgid ""
-"\n"
 "If the TEXTDOMAIN parameter is not given, the domain is determined from the\n"
 "environment variable TEXTDOMAIN.  If the message catalog is not found in the\n"
 "regular directory, another location can be specified with the environment\n"
@@ -158,409 +318,940 @@ msgstr ""
 "são traduzidas.\n"
 "Directório standard de pesquisa: %s\n"
 
-#: src/gettext.c:272 src/msgcmp.c:196 src/msgcomm.c:424 src/msgfmt.c:414
-#: src/msgmerge.c:350 src/msgunfmt.c:229 src/ngettext.c:228 src/xgettext.c:565
-msgid "Report bugs to <bug-gnu-utils@gnu.org>.\n"
+#: src/gettext.c:288 src/hostname.c:227 src/msgattrib.c:402 src/msgcat.c:371
+#: src/msgcmp.c:216 src/msgcomm.c:384 src/msgconv.c:305 src/msgen.c:287
+#: src/msgexec.c:410 src/msgfmt.c:563 src/msggrep.c:457 src/msginit.c:389
+#: src/msgmerge.c:465 src/msgunfmt.c:331 src/msguniq.c:343 src/ngettext.c:244
+#: src/xgettext.c:591
+msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
 msgstr ""
 
-#: src/msgcmp.c:156 src/msgmerge.c:271
-msgid "no input files given"
-msgstr "ficheiros de entrada não fornecidos"
+#: src/hostname.c:202 src/msginit.c:343
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION]\n"
+msgstr ""
 
-#: src/msgcmp.c:161 src/msgmerge.c:276
-msgid "exactly 2 input files required"
-msgstr "são necessários exactamente 2 ficheiros"
+#: src/hostname.c:207
+#, no-wrap
+msgid "Print the machine's hostname.\n"
+msgstr ""
 
-#: src/msgcmp.c:182
-#, c-format, no-wrap
+#: src/hostname.c:212
+#, no-wrap
 msgid ""
-"Usage: %s [OPTION] def.po ref.po\n"
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"Output format:\n"
+"  -s, --short           short host name\n"
+"  -f, --fqdn, --long    long host name, includes fully qualified domain name,\n"
+"                          and aliases\n"
+"  -i, --ip-address      addresses for the hostname\n"
+msgstr ""
+
+#: src/hostname.c:221 src/msgattrib.c:396 src/msgcmp.c:210 src/msgconv.c:299
+#: src/msgen.c:281 src/msgexec.c:404 src/msggrep.c:451 src/msginit.c:383
+#, no-wrap
+msgid ""
+"Informative output:\n"
 "  -h, --help                  display this help and exit\n"
 "  -V, --version               output version information and exit\n"
-"\n"
-"Compare two Uniforum style .po files to check that both contain the same\n"
-"set of msgid strings.  The def.po file is an existing PO file with the\n"
-"old translations.  The ref.po file is the last created PO file\n"
-"(generally by xgettext).  This is useful for checking that you have\n"
-"translated each and every message in your program.  Where an exact match\n"
-"cannot be found, fuzzy matching is used to produce better diagnostics.\n"
 msgstr ""
-"Utilização: %s [OPÇÃO] def.po ref.po\n"
-"Os argumentos obrigatórios para as opções longas são igualmente\n"
-"obrigatórios para as opções curtas.\n"
-"  -D, --directory=DIRECTÓRIO  adiciona DIRECTÓRIO à lista de procura para\n"
-"                              os ficheiros de entrada\n"
-"  -h, --help                  mostra esta ajuda e sai\n"
-"  -V, --version               mostra a informação de versão e sai\n"
-"\n"
-"Compara dois ficheiros .po do tipo Uniforum verificando se ambos\n"
-"contêm o mesmo conjunto de cadeias msgid. O ficheiro def.po deverá ser\n"
-"um ficheiro PO existente, com as traduções antigas. O ficheiro ref.po\n"
-"será o último ficheiro PO criado (geralmente pelo xgettext). Isto é\n"
-"útil para verificar que todas as mensagens no seu programa foram\n"
-"traduzidas. Quando um emparelhamento exacto não puder ser efectuado,\n"
-"é usado um emparelhamento aproximado para produzir melhores\n"
-"diagnósticos.\n"
 
-#: src/msgcmp.c:255 src/msgmerge.c:741
-msgid "this message is used but not defined..."
-msgstr "esta mensagem é usada mas não definida..."
+#: src/hostname.c:242 src/hostname.c:249
+msgid "could not get host name"
+msgstr ""
 
-#: src/msgcmp.c:257 src/msgmerge.c:743
-msgid "...but this definition is similar"
-msgstr "...mas esta definição é semelhante"
+#: src/msgattrib.c:284 src/msgconv.c:202 src/msgexec.c:190 src/msggrep.c:296
+#: src/msginit.c:205 src/msguniq.c:227
+msgid "at most one input file allowed"
+msgstr ""
 
-#: src/msgcmp.c:263 src/msgmerge.c:770
+#: src/msgattrib.c:290 src/msgattrib.c:294 src/msgcat.c:244 src/msgcat.c:248
+#: src/msgcomm.c:247 src/msgcomm.c:251 src/msgconv.c:208 src/msgconv.c:212
+#: src/msgen.c:198 src/msgen.c:202 src/msgexec.c:260 src/msgexec.c:264
+#: src/msgfmt.c:358 src/msggrep.c:302 src/msggrep.c:306 src/msgmerge.c:282
+#: src/msgmerge.c:303 src/msgmerge.c:307 src/msguniq.c:233 src/msguniq.c:237
+#: src/xgettext.c:367 src/xgettext.c:371
 #, c-format
-msgid "this message is used but not defined in %s"
-msgstr "esta mensagem é usada mas não definida em %s"
+msgid "%s and %s are mutually exclusive"
+msgstr "%s e %s são mutuamente exclusivas"
 
-#: src/msgcmp.c:277
-msgid "warning: this message is not used"
-msgstr "atenção: esta mensagem não é usada"
+#: src/msgattrib.c:327 src/msgconv.c:246 src/msggrep.c:376 src/msguniq.c:274
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] [INPUTFILE]\n"
+msgstr ""
 
-#: src/msgcmp.c:283 src/po-lex.c:103
-#, fuzzy, c-format
-msgid "found %d fatal error"
-msgid_plural "found %d fatal errors"
-msgstr[0] "encontrados %d erros fatais"
+#: src/msgattrib.c:332
+#, no-wrap
+msgid ""
+"Filters the messages of a translation catalog according to their attributes,\n"
+"and manipulates the attributes.\n"
+msgstr ""
 
-#: src/msgcmp.c:356 src/msgfmt.c:667 src/msgmerge.c:512 src/xgettext.c:1157
-msgid "duplicate message definition"
-msgstr "definição de mensagem duplicada"
+#: src/msgattrib.c:338 src/msgcat.c:313 src/msgcmp.c:191 src/msgcomm.c:328
+#: src/msgconv.c:256 src/msgen.c:245 src/msgexec.c:353 src/msgfmt.c:494
+#: src/msggrep.c:387 src/msginit.c:354 src/msgmerge.c:390 src/msgunfmt.c:277
+#: src/msguniq.c:291
+#, no-wrap
+msgid "Mandatory arguments to long options are mandatory for short options too.\n"
+msgstr ""
 
-#: src/msgcmp.c:357 src/msgfmt.c:669 src/msgmerge.c:513 src/xgettext.c:1158
-msgid "...this is the location of the first definition"
-msgstr "...este é o local da primeira definição"
+#: src/msgattrib.c:343 src/msgconv.c:261 src/msggrep.c:392 src/msguniq.c:296
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  INPUTFILE                   input PO file\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"If no input file is given or if it is -, standard input is read.\n"
+msgstr ""
 
-#: src/msgcmp.c:397 src/msgmerge.c:561
-#, c-format
-msgid "this message has no definition in the \"%s\" domain"
-msgstr "esta mensagem não tem definição no domínio \"%s\""
+#: src/msgattrib.c:351 src/msgconv.c:269 src/msgen.c:258 src/msgexec.c:366
+#: src/msggrep.c:400 src/msgmerge.c:412
+#, no-wrap
+msgid ""
+"Output file location:\n"
+"  -o, --output-file=FILE      write output to specified file\n"
+"The results are written to standard output if no output file is specified\n"
+"or if it is -.\n"
+msgstr ""
 
-#. We are about to construct the absolute path to the
-#. directory for the output files but asprintf failed.
-#: src/msgcomm.c:235 src/xgettext.c:327 src/xgettext.c:1353
-msgid "while preparing output"
-msgstr "durante a preparação da saída"
+#: src/msgattrib.c:359
+#, no-wrap
+msgid ""
+"Message selection:\n"
+"      --translated            keep translated, remove untranslated messages\n"
+"      --untranslated          keep untranslated, remove translated messages\n"
+"      --no-fuzzy              remove 'fuzzy' marked messages\n"
+"      --only-fuzzy            keep 'fuzzy' marked messages\n"
+"      --no-obsolete           remove obsolete #~ messages\n"
+"      --only-obsolete         keep obsolete #~ messages\n"
+msgstr ""
 
-#: src/msgcomm.c:267 src/msgcomm.c:271 src/xgettext.c:365 src/xgettext.c:369
-#, c-format
-msgid "%s and %s are mutually exclusive"
-msgstr "%s e %s são mutuamente exclusivas"
+#: src/msgattrib.c:370
+#, no-wrap
+msgid ""
+"Attribute manipulation:\n"
+"      --set-fuzzy             set all messages 'fuzzy'\n"
+"      --clear-fuzzy           set all messages non-'fuzzy'\n"
+"      --set-obsolete          set all messages obsolete\n"
+"      --clear-obsolete        set all messages non-obsolete\n"
+"      --fuzzy                 synonym for --only-fuzzy --clear-fuzzy\n"
+"      --obsolete              synonym for --only-obsolete --clear-obsolete\n"
+msgstr ""
 
-#: src/msgcomm.c:323
-msgid "at least two files must be specified"
+#: src/msgattrib.c:381
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
+"  -e, --no-escape             do not use C escapes in output (default)\n"
+"  -E, --escape                use C escapes in output, no extended chars\n"
+"      --force-po              write PO file even if empty\n"
+"  -i, --indent                write the .po file using indented style\n"
+"      --no-location           do not write '#: filename:line' lines\n"
+"  -n, --add-location          generate '#: filename:line' lines (default)\n"
+"      --strict                write out strict Uniforum conforming .po file\n"
+"  -w, --width=NUMBER          set output page width\n"
+"  -s, --sort-output           generate sorted output\n"
+"  -F, --sort-by-file          sort output by file location\n"
 msgstr ""
+"Utilização: %s [OPÇÃO] def.po ref.po\n"
+"Os argumentos obrigatórios para as opções longas são igualmente\n"
+"obrigatórios para as opções curtas.\n"
+"  -D, --directory=DIRECTÓRIO  adiciona DIRECTÓRIO à lista de procura para\n"
+"                              os ficheiros de entrada\n"
+"  -e, --no-escape             não usa sequências de escape do C na saída\n"
+"                              (opção por defeito)\n"
+"  -E, --escape                usa sequências de escape do C na saída, não\n"
+"                              usando caracteres especiais\n"
+"  -h, --help                  mostra esta ajuda e sai\n"
+"  -i, --indent                modo de saída alinhado\n"
+"  -o, --output-file=FICHEIRO  os resultados de saída serão escritos no FICHEIRO\n"
+"      --strict                modo de saída Uniforum estrito\n"
+"  -v, --verbose               aumenta o nível de verbosidade da saída\n"
+"  -V, --version               mostra a informação de versão e sai\n"
+"  -w, --width=NÚMERO          especifica a largura de página na saída\n"
 
-#: src/msgcomm.c:334
+#: src/msgcat.c:254 src/msgcomm.c:277
 #, c-format
 msgid "impossible selection criteria specified (%d < n < %d)"
 msgstr ""
 
-#: src/msgcomm.c:382
-#, fuzzy, c-format, no-wrap
+#: src/msgcat.c:295 src/msgcomm.c:311 src/xgettext.c:504
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] [INPUTFILE]...\n"
+msgstr ""
+
+#: src/msgcat.c:300
+#, no-wrap
 msgid ""
-"Usage: %s [OPTION] INPUTFILE ...\n"
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"  -d, --default-domain=NAME      use NAME.po for output (instead of messages.po)\n"
-"  -D, --directory=DIRECTORY      add DIRECTORY to list for input files search\n"
-"  -e, --no-escape                do not use C escapes in output (default)\n"
-"  -E, --escape                   use C escapes in output, no extended chars\n"
+"Concatenates and merges the specified PO files.\n"
+"Find messages which are common to two or more of the specified PO files.\n"
+"By using the --more-than option, greater commonality may be requested\n"
+"before messages are printed.  Conversely, the --less-than option may be\n"
+"used to specify less commonality before messages are printed (i.e.\n"
+"--less-than=2 will only print the unique messages).  Translations,\n"
+"comments and extract comments will be cumulated, except that if --use-first\n"
+"is specified, they will be taken from the first PO file to define them.\n"
+"File positions from all PO files will be cumulated.\n"
+msgstr ""
+
+#: src/msgcat.c:318 src/msgcomm.c:333 src/xgettext.c:520
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  INPUTFILE ...                  input files\n"
 "  -f, --files-from=FILE          get list of input files from FILE\n"
-"      --force-po                 write PO file even if empty\n"
-"  -F, --sort-by-file             sort output by file location\n"
-"  -h, --help                     display this help and exit\n"
+"  -D, --directory=DIRECTORY      add DIRECTORY to list for input files search\n"
+"If input file is -, standard input is read.\n"
 msgstr ""
-"Utilização: %s [OPÇÃO] FICHEIRODEENTRADA...\n"
-"Os argumentos obrigatórios para as opções longas são igualmente\n"
-"obrigatórios para as opções curtas.\n"
-"  -a, --extract-all              extrai todas as cadeias\n"
-"  -c, --add-comments[=TAG]       coloca o bloco comentado com TAG (ou as\n"
-"                                 linhas de cabeçalho precedentes) no ficheiro\n"
-"                                 de saída.\n"
-"  -C, --c++                      reconhece comentários do tipo C++\n"
-"      --debug                    produz resultados mais detalhados do\n"
-"                                 reconhecimento das cadeias de formatação\n"
-"  -d, --default-domain=NOME      usa NOME.po para a saída (em vez de\n"
-"                                 messages.po)\n"
-"  -D, --directory=DIRECTÓRIO     adiciona DIRECTÓRIO à lista de procura para\n"
-"   \"                             os ficheiros de entrada\n"
-"  -e, --no-escape                não usa sequências de escape do C na saída\n"
-"                                 (opção por defeito)\n"
-"  -E, --escape                   usa sequências de escape do C na saída, não\n"
-"                                 usando caracteres especiais\n"
-"  -f, --files-from=FICHEIRO      obtém lista de ficheiros de entrada de\n"
-"                                 FICHEIRO\n"
-"      --force-po                 escreve o ficheiro PO mesmo se este estiver\n"
-"                                 vazio\n"
-"  -F, --sort-by-file             ordena a saída pela localização dos ficheiros\n"
-
-#: src/msgcomm.c:394
-#, fuzzy
+
+#: src/msgcat.c:327 src/msgcomm.c:342 src/msguniq.c:304
+#, no-wrap
 msgid ""
-"  -i, --indent                   write the .po file using indented style\n"
-"      --no-location              do not write '#: filename:line' lines\n"
-"  -n, --add-location             generate '#: filename:line' lines "
-"(default)\n"
-"      --omit-header              don't write header with `msgid \"\"' entry\n"
-"  -o, --output=FILE              write output to specified file\n"
-"  -p, --output-dir=DIR           output files will be placed in directory "
-"DIR\n"
-"  -s, --sort-output              generate sorted output and remove "
-"duplicates\n"
-"      --strict                   write out strict Uniforum conforming .po "
-"file\n"
-"  -T, --trigraphs                understand ANSI C trigraphs for input\n"
-"  -u, --unique                   shorthand for --less-than=2, requests\n"
-"                                 that only unique messages be printed\n"
+"Output file location:\n"
+"  -o, --output-file=FILE         write output to specified file\n"
+"The results are written to standard output if no output file is specified\n"
+"or if it is -.\n"
 msgstr ""
-" -n, --add-location             gera linhas do tipo '#: filename:line'\n"
-"                                (opção utilizada por defeito)\n"
-"     --omit-header              não escreve cabeçalhos com campos `msgid"
-"\"\"'\n"
-" -p, --output-dir=DIR           os ficheiros de saída serão colocados no\n"
-"                                directório DIR\n"
-" -s, --sort-output              gera resultados ordenados, removendo os\n"
-"                                duplicados\n"
-"     --strict                   escreve um ficheiro .po de acordo com o\n"
-"                                modo Uniforum estrito\n"
-" -T, --trigraphs                entende trigrafos ANSI C na entrada\n"
-" -V, --version                  mostra a informação de versão e sai\n"
-" -w, --width=NÚMERO             especifica a largura de página na saída\n"
-" -x, --exclude-file=FICHEIRO    os campos do FICHEIRO não são extraídos\n"
-"\n"
-"Se o ficheiro de entrada for -, o canal de entrada por defeito (stdin) é\n"
-"usado.\n"
 
-#: src/msgcomm.c:407
+#: src/msgcat.c:335
+#, no-wrap
 msgid ""
-"  -V, --version                  output version information and exit\n"
-"  -w, --width=NUMBER             set output page width\n"
+"Message selection:\n"
 "  -<, --less-than=NUMBER         print messages with less than this many\n"
 "                                 definitions, defaults to infinite if not\n"
 "                                 set\n"
 "  ->, --more-than=NUMBER         print messages with more than this many\n"
-"                                 definitions, defaults to 1 if not set\n"
-"\n"
-"Find messages which are common to two or more of the specified PO files.\n"
-"By using the --more-than option, greater commonality may be requested\n"
-"before messages are printed.  Conversely, the --less-than option may be\n"
-"used to specify less commonality before messages are printed (i.e.\n"
-"--less-than=2 will only print the unique messages).  Translations,\n"
-"comments and extract comments will be preserved, but only from the first\n"
-"PO file to define them.  File positions from all PO files will be\n"
-"preserved.\n"
+"                                 definitions, defaults to 0 if not set\n"
+"  -u, --unique                   shorthand for --less-than=2, requests\n"
+"                                 that only unique messages be printed\n"
 msgstr ""
 
-#: src/msgcomm.c:458 src/msgunfmt.c:361 src/po-lex.c:86 src/xget-lex.c:157
-#: src/xget-lex.c:170 src/xget-lex.c:180 src/xgettext.c:599
-#, c-format
-msgid "error while opening \"%s\" for reading"
-msgstr "erro durante a abertura de \"%s\" para leitura"
-
-#: src/msgcomm.c:539 src/xgettext.c:641 src/xgettext.c:1059
-msgid "this file may not contain domain directives"
-msgstr "este ficheiro não pode conter directivas de domínio"
-
-#: src/msgfmt.c:286 src/xgettext.c:404
-msgid "no input file given"
+#: src/msgcat.c:347 src/msguniq.c:319
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
+"  -t, --to-code=NAME             encoding for output\n"
+"      --use-first                use first available translation for each\n"
+"                                 message, don't merge several translations\n"
+"  -e, --no-escape                do not use C escapes in output (default)\n"
+"  -E, --escape                   use C escapes in output, no extended chars\n"
+"      --force-po                 write PO file even if empty\n"
+"  -i, --indent                   write the .po file using indented style\n"
+"      --no-location              do not write '#: filename:line' lines\n"
+"  -n, --add-location             generate '#: filename:line' lines (default)\n"
+"      --strict                   write out strict Uniforum conforming .po file\n"
+"  -w, --width=NUMBER             set output page width\n"
+"  -s, --sort-output              generate sorted output\n"
+"  -F, --sort-by-file             sort output by file location\n"
+msgstr ""
+"Utilização: %s [OPÇÃO] def.po ref.po\n"
+"Os argumentos obrigatórios para as opções longas são igualmente\n"
+"obrigatórios para as opções curtas.\n"
+"  -D, --directory=DIRECTÓRIO  adiciona DIRECTÓRIO à lista de procura para\n"
+"                              os ficheiros de entrada\n"
+"  -e, --no-escape             não usa sequências de escape do C na saída\n"
+"                              (opção por defeito)\n"
+"  -E, --escape                usa sequências de escape do C na saída, não\n"
+"                              usando caracteres especiais\n"
+"  -h, --help                  mostra esta ajuda e sai\n"
+"  -i, --indent                modo de saída alinhado\n"
+"  -o, --output-file=FICHEIRO  os resultados de saída serão escritos no FICHEIRO\n"
+"      --strict                modo de saída Uniforum estrito\n"
+"  -v, --verbose               aumenta o nível de verbosidade da saída\n"
+"  -V, --version               mostra a informação de versão e sai\n"
+"  -w, --width=NÚMERO          especifica a largura de página na saída\n"
+
+#: src/msgcat.c:365 src/msgcomm.c:378 src/msguniq.c:337 src/xgettext.c:585
+#, no-wrap
+msgid ""
+"Informative output:\n"
+"  -h, --help                     display this help and exit\n"
+"  -V, --version                  output version information and exit\n"
+msgstr ""
+
+#: src/msgcmp.c:150 src/msgmerge.c:268
+msgid "no input files given"
+msgstr "ficheiros de entrada não fornecidos"
+
+#: src/msgcmp.c:155 src/msgmerge.c:273
+msgid "exactly 2 input files required"
+msgstr "são necessários exactamente 2 ficheiros"
+
+#: src/msgcmp.c:176 src/msgmerge.c:372
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] def.po ref.pot\n"
+msgstr ""
+
+#: src/msgcmp.c:181
+#, fuzzy, no-wrap
+msgid ""
+"Compare two Uniforum style .po files to check that both contain the same\n"
+"set of msgid strings.  The def.po file is an existing PO file with the\n"
+"translations.  The ref.pot file is the last created PO file, or a PO Template\n"
+"file (generally created by xgettext).  This is useful for checking that\n"
+"you have translated each and every message in your program.  Where an exact\n"
+"match cannot be found, fuzzy matching is used to produce better diagnostics.\n"
+msgstr ""
+"Utilização: %s [OPÇÃO] def.po ref.po\n"
+"Os argumentos obrigatórios para as opções longas são igualmente\n"
+"obrigatórios para as opções curtas.\n"
+"  -D, --directory=DIRECTÓRIO  adiciona DIRECTÓRIO à lista de procura para\n"
+"                              os ficheiros de entrada\n"
+"  -h, --help                  mostra esta ajuda e sai\n"
+"  -V, --version               mostra a informação de versão e sai\n"
+"\n"
+"Compara dois ficheiros .po do tipo Uniforum verificando se ambos\n"
+"contêm o mesmo conjunto de cadeias msgid. O ficheiro def.po deverá ser\n"
+"um ficheiro PO existente, com as traduções antigas. O ficheiro ref.po\n"
+"será o último ficheiro PO criado (geralmente pelo xgettext). Isto é\n"
+"útil para verificar que todas as mensagens no seu programa foram\n"
+"traduzidas. Quando um emparelhamento exacto não puder ser efectuado,\n"
+"é usado um emparelhamento aproximado para produzir melhores\n"
+"diagnósticos.\n"
+
+#: src/msgcmp.c:196
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  def.po                      translations\n"
+"  ref.pot                     references to the sources\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+msgstr ""
+
+#: src/msgcmp.c:204 src/msgmerge.c:436
+#, no-wrap
+msgid ""
+"Operation modifiers:\n"
+"  -m, --multi-domain          apply ref.pot to each of the domains in def.po\n"
+msgstr ""
+
+#: src/msgcmp.c:253 src/msgmerge.c:543
+msgid "this message is used but not defined..."
+msgstr "esta mensagem é usada mas não definida..."
+
+#: src/msgcmp.c:255 src/msgmerge.c:545
+msgid "...but this definition is similar"
+msgstr "...mas esta definição é semelhante"
+
+#: src/msgcmp.c:260 src/msgmerge.c:572
+#, c-format
+msgid "this message is used but not defined in %s"
+msgstr "esta mensagem é usada mas não definida em %s"
+
+#: src/msgcmp.c:332
+msgid "warning: this message is not used"
+msgstr "atenção: esta mensagem não é usada"
+
+#: src/msgcmp.c:339 src/po-lex.c:705
+#, fuzzy, c-format
+msgid "found %d fatal error"
+msgid_plural "found %d fatal errors"
+msgstr[0] "encontrados %d erros fatais"
+
+#: src/msgcmp.c:420 src/msgfmt.c:1323 src/read-po.c:202 src/x-po.c:163
+msgid "duplicate message definition"
+msgstr "definição de mensagem duplicada"
+
+#: src/msgcmp.c:421 src/msgfmt.c:1324 src/read-po.c:203 src/x-po.c:164
+msgid "...this is the location of the first definition"
+msgstr "...este é o local da primeira definição"
+
+#: src/msgcomm.c:266
+msgid "at least two files must be specified"
+msgstr ""
+
+#: src/msgcomm.c:316
+#, no-wrap
+msgid ""
+"Find messages which are common to two or more of the specified PO files.\n"
+"By using the --more-than option, greater commonality may be requested\n"
+"before messages are printed.  Conversely, the --less-than option may be\n"
+"used to specify less commonality before messages are printed (i.e.\n"
+"--less-than=2 will only print the unique messages).  Translations,\n"
+"comments and extract comments will be preserved, but only from the first\n"
+"PO file to define them.  File positions from all PO files will be\n"
+"cumulated.\n"
+msgstr ""
+
+#: src/msgcomm.c:350
+#, no-wrap
+msgid ""
+"Message selection:\n"
+"  -<, --less-than=NUMBER         print messages with less than this many\n"
+"                                 definitions, defaults to infinite if not\n"
+"                                 set\n"
+"  ->, --more-than=NUMBER         print messages with more than this many\n"
+"                                 definitions, defaults to 1 if not set\n"
+"  -u, --unique                   shorthand for --less-than=2, requests\n"
+"                                 that only unique messages be printed\n"
+msgstr ""
+
+#: src/msgcomm.c:362
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
+"  -e, --no-escape                do not use C escapes in output (default)\n"
+"  -E, --escape                   use C escapes in output, no extended chars\n"
+"      --force-po                 write PO file even if empty\n"
+"  -i, --indent                   write the .po file using indented style\n"
+"      --no-location              do not write '#: filename:line' lines\n"
+"  -n, --add-location             generate '#: filename:line' lines (default)\n"
+"      --strict                   write out strict Uniforum conforming .po file\n"
+"  -w, --width=NUMBER             set output page width\n"
+"  -s, --sort-output              generate sorted output\n"
+"  -F, --sort-by-file             sort output by file location\n"
+"      --omit-header              don't write header with `msgid \"\"' entry\n"
+msgstr ""
+"Utilização: %s [OPÇÃO] def.po ref.po\n"
+"Os argumentos obrigatórios para as opções longas são igualmente\n"
+"obrigatórios para as opções curtas.\n"
+"  -D, --directory=DIRECTÓRIO  adiciona DIRECTÓRIO à lista de procura para\n"
+"                              os ficheiros de entrada\n"
+"  -e, --no-escape             não usa sequências de escape do C na saída\n"
+"                              (opção por defeito)\n"
+"  -E, --escape                usa sequências de escape do C na saída, não\n"
+"                              usando caracteres especiais\n"
+"  -h, --help                  mostra esta ajuda e sai\n"
+"  -i, --indent                modo de saída alinhado\n"
+"  -o, --output-file=FICHEIRO  os resultados de saída serão escritos no FICHEIRO\n"
+"      --strict                modo de saída Uniforum estrito\n"
+"  -v, --verbose               aumenta o nível de verbosidade da saída\n"
+"  -V, --version               mostra a informação de versão e sai\n"
+"  -w, --width=NÚMERO          especifica a largura de página na saída\n"
+
+#: src/msgconv.c:251
+#, no-wrap
+msgid "Converts a translation catalog to a different character encoding.\n"
+msgstr ""
+
+#: src/msgconv.c:277
+#, no-wrap
+msgid ""
+"Conversion target:\n"
+"  -t, --to-code=NAME          encoding for output\n"
+"The default encoding is the current locale's encoding.\n"
+msgstr ""
+
+#: src/msgconv.c:284 src/msgen.c:266 src/msgmerge.c:442
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
+"  -e, --no-escape             do not use C escapes in output (default)\n"
+"  -E, --escape                use C escapes in output, no extended chars\n"
+"      --force-po              write PO file even if empty\n"
+"  -i, --indent                indented output style\n"
+"      --no-location           suppress '#: filename:line' lines\n"
+"      --add-location          preserve '#: filename:line' lines (default)\n"
+"      --strict                strict Uniforum output style\n"
+"  -w, --width=NUMBER          set output page width\n"
+"  -s, --sort-output           generate sorted output\n"
+"  -F, --sort-by-file          sort output by file location\n"
+msgstr ""
+"Utilização: %s [OPÇÃO] def.po ref.po\n"
+"Os argumentos obrigatórios para as opções longas são igualmente\n"
+"obrigatórios para as opções curtas.\n"
+"  -D, --directory=DIRECTÓRIO  adiciona DIRECTÓRIO à lista de procura para\n"
+"                              os ficheiros de entrada\n"
+"  -e, --no-escape             não usa sequências de escape do C na saída\n"
+"                              (opção por defeito)\n"
+"  -E, --escape                usa sequências de escape do C na saída, não\n"
+"                              usando caracteres especiais\n"
+"  -h, --help                  mostra esta ajuda e sai\n"
+"  -i, --indent                modo de saída alinhado\n"
+"  -o, --output-file=FICHEIRO  os resultados de saída serão escritos no FICHEIRO\n"
+"      --strict                modo de saída Uniforum estrito\n"
+"  -v, --verbose               aumenta o nível de verbosidade da saída\n"
+"  -V, --version               mostra a informação de versão e sai\n"
+"  -w, --width=NÚMERO          especifica a largura de página na saída\n"
+
+#: src/msgen.c:187 src/msgfmt.c:349 src/xgettext.c:388
+msgid "no input file given"
 msgstr "nenhum ficheiro de entrada fornecido"
 
-#: src/msgfmt.c:337
+#: src/msgen.c:192
+#, fuzzy
+msgid "exactly one input file required"
+msgstr "são necessários exactamente 2 ficheiros"
+
+#: src/msgen.c:232
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] INPUTFILE\n"
+msgstr ""
+
+#: src/msgen.c:237
+#, no-wrap
+msgid ""
+"Creates an English translation catalog.  The input file is the last\n"
+"created English PO file, or a PO Template file (generally created by\n"
+"xgettext).  Untranslated entries are assigned a translation that is\n"
+"identical to the msgid, and are marked fuzzy.\n"
+msgstr ""
+
+#: src/msgen.c:250
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  INPUTFILE                   input PO or POT file\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"If input file is -, standard input is read.\n"
+msgstr ""
+
+#: src/msgexec.c:255
+#, fuzzy
+msgid "missing filter name"
+msgstr "argumentos insuficientes"
+
+#: src/msgexec.c:279
+msgid "at least one sed script must be specified"
+msgstr ""
+
+#: src/msgexec.c:343
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] FILTER [FILTER-OPTION]\n"
+msgstr ""
+
+#: src/msgexec.c:348
+#, no-wrap
+msgid "Applies a filter to all translations of a translation catalog.\n"
+msgstr ""
+
+#: src/msgexec.c:358
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  -i, --input=INPUTFILE       input PO file\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"If no input file is given or if it is -, standard input is read.\n"
+msgstr ""
+
+#: src/msgexec.c:374
+#, no-wrap
+msgid ""
+"The FILTER can be any program that reads a translation from standard input\n"
+"and writes a modified translation to standard output.\n"
+msgstr ""
+
+#: src/msgexec.c:380
+#, no-wrap
+msgid ""
+"Useful FILTER-OPTIONs when the FILTER is 'sed':\n"
+"  -e, --expression=SCRIPT     add SCRIPT to the commands to be executed\n"
+"  -f, --file=SCRIPTFILE       add the contents of SCRIPTFILE to the commands\n"
+"                                to be executed\n"
+"  -n, --quiet, --silent       suppress automatic printing of pattern space\n"
+msgstr ""
+
+#: src/msgexec.c:389
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
+"      --no-escape             do not use C escapes in output (default)\n"
+"  -E, --escape                use C escapes in output, no extended chars\n"
+"      --force-po              write PO file even if empty\n"
+"      --indent                indented output style\n"
+"      --no-location           suppress '#: filename:line' lines\n"
+"      --add-location          preserve '#: filename:line' lines (default)\n"
+"      --strict                strict Uniforum output style\n"
+"  -w, --width=NUMBER          set output page width\n"
+"  -s, --sort-output           generate sorted output\n"
+"  -F, --sort-by-file          sort output by file location\n"
+msgstr ""
+"Utilização: %s [OPÇÃO] def.po ref.po\n"
+"Os argumentos obrigatórios para as opções longas são igualmente\n"
+"obrigatórios para as opções curtas.\n"
+"  -D, --directory=DIRECTÓRIO  adiciona DIRECTÓRIO à lista de procura para\n"
+"                              os ficheiros de entrada\n"
+"  -e, --no-escape             não usa sequências de escape do C na saída\n"
+"                              (opção por defeito)\n"
+"  -E, --escape                usa sequências de escape do C na saída, não\n"
+"                              usando caracteres especiais\n"
+"  -h, --help                  mostra esta ajuda e sai\n"
+"  -i, --indent                modo de saída alinhado\n"
+"  -o, --output-file=FICHEIRO  os resultados de saída serão escritos no FICHEIRO\n"
+"      --strict                modo de saída Uniforum estrito\n"
+"  -v, --verbose               aumenta o nível de verbosidade da saída\n"
+"  -V, --version               mostra a informação de versão e sai\n"
+"  -w, --width=NÚMERO          especifica a largura de página na saída\n"
+
+#: src/msgexec.c:546
 #, c-format
-msgid "error while opening \"%s\" for writing"
-msgstr "erro durante a abertura de \"%s\" para escrita"
+msgid "cannot set up nonblocking I/O to %s subprocess"
+msgstr ""
+
+#: src/msgexec.c:574
+#, c-format
+msgid "communication with %s subprocess failed"
+msgstr ""
+
+#: src/msgexec.c:594
+#, c-format
+msgid "write to %s subprocess failed"
+msgstr ""
+
+#: src/msgexec.c:625
+#, c-format
+msgid "read from %s subprocess failed"
+msgstr ""
+
+#: src/msgexec.c:641
+#, c-format
+msgid "%s subprocess terminated with exit code %d"
+msgstr ""
+
+#: src/msgfmt.c:303
+#, c-format
+msgid "the argument to %s should be a single punctuation character"
+msgstr ""
 
-#: src/msgfmt.c:360
+#: src/msgfmt.c:364
+#, c-format
+msgid "%s requires a \"-d directory\" specification"
+msgstr ""
+
+#: src/msgfmt.c:373 src/msgfmt.c:379 src/msgfmt.c:385 src/msgmerge.c:290
+#: src/msgmerge.c:296 src/msgunfmt.c:209 src/msgunfmt.c:215
+#, c-format
+msgid "%s is only valid with %s"
+msgstr ""
+
+#: src/msgfmt.c:452
 #, fuzzy, c-format
 msgid "%d translated message"
 msgid_plural "%d translated messages"
 msgstr[0] "%d mensagens traduzidas"
 
-#: src/msgfmt.c:365
+#: src/msgfmt.c:457
 #, fuzzy, c-format
 msgid ", %d fuzzy translation"
 msgid_plural ", %d fuzzy translations"
 msgstr[0] ", %d traduções aproximadas"
 
-#: src/msgfmt.c:370
+#: src/msgfmt.c:462
 #, fuzzy, c-format
 msgid ", %d untranslated message"
 msgid_plural ", %d untranslated messages"
 msgstr[0] ", %d mensagens não traduzidas"
 
-#: src/msgfmt.c:392
-#, fuzzy, c-format, no-wrap
+#: src/msgfmt.c:484
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] filename.po ...\n"
+msgstr ""
+
+#: src/msgfmt.c:489
+#, no-wrap
+msgid "Generate binary message catalog from textual translation description.\n"
+msgstr ""
+
+#: src/msgfmt.c:499
+#, no-wrap
 msgid ""
-"Usage: %s [OPTION] filename.po ...\n"
-"Generate binary message catalog from textual translation description.\n"
-"\n"
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"  -a, --alignment=NUMBER      align strings to NUMBER bytes (default: %d)\n"
-"  -c, --check                 perform language dependent checks on strings\n"
+"Input file location:\n"
+"  filename.po ...             input files\n"
 "  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"If input file is -, standard input is read.\n"
+msgstr ""
+
+#: src/msgfmt.c:507
+#, no-wrap
+msgid ""
+"Operation mode:\n"
+"  -j, --java                  Java mode: generate a Java ResourceBundle class\n"
+"      --java2                 like --java, and assume Java2 (JDK 1.2 or higher)\n"
+msgstr ""
+
+#: src/msgfmt.c:514
+#, no-wrap
+msgid ""
+"Output file location:\n"
+"  -o, --output-file=FILE      write output to specified file\n"
+"      --strict                enable strict Uniforum mode\n"
+"If output file is -, output is written to standard output.\n"
+msgstr ""
+
+#: src/msgfmt.c:522
+#, no-wrap
+msgid ""
+"Output file location in Java mode:\n"
+"  -r, --resource=RESOURCE     resource name\n"
+"  -l, --locale=LOCALE         locale name, either language or language_COUNTRY\n"
+"  -d DIRECTORY                base directory of classes directory hierarchy\n"
+"The class name is determined by appending the locale name to the resource name,\n"
+"separated with an underscore.  The -d option is mandatory.  The class is\n"
+"written under the specified directory.\n"
+msgstr ""
+
+#: src/msgfmt.c:533
+#, no-wrap
+msgid ""
+"Input file interpretation:\n"
+"  -c, --check                 perform all the checks implied by\n"
+"                                --check-format, --check-header, --check-domain\n"
+"      --check-format          check language dependent format strings\n"
+"      --check-header          verify presence and contents of the header entry\n"
+"      --check-domain          check for conflicts between domain directives\n"
+"                                and the --output-file option\n"
+"  -C, --check-compatibility   check that GNU msgfmt behaves like X/Open msgfmt\n"
+"      --check-accelerators[=CHAR]  check presence of keyboard accelerators for\n"
+"                                menu items\n"
 "  -f, --use-fuzzy             use fuzzy entries in output\n"
-"  -h, --help                  display this help and exit\n"
+msgstr ""
+
+#: src/msgfmt.c:548
+#, c-format, no-wrap
+msgid ""
+"Output details:\n"
+"  -a, --alignment=NUMBER      align strings to NUMBER bytes (default: %d)\n"
 "      --no-hash               binary file will not include the hash table\n"
-"  -o, --output-file=FILE      specify output file name as FILE\n"
-"      --statistics            print statistics about translations\n"
-"      --strict                enable strict Uniforum mode\n"
-"  -v, --verbose               list input file anomalies\n"
+msgstr ""
+
+#: src/msgfmt.c:555
+#, no-wrap
+msgid ""
+"Informative output:\n"
+"  -h, --help                  display this help and exit\n"
 "  -V, --version               output version information and exit\n"
-"\n"
-"Giving the -v option more than once increases the verbosity level.\n"
-"\n"
-"If input file is -, standard input is read.  If output file is -,\n"
-"output is written to standard output.\n"
+"      --statistics            print statistics about translations\n"
+"  -v, --verbose               increase verbosity level\n"
 msgstr ""
-"Utilização: %s [OPÇÃO] ficheiro.po ...\n"
-"Os argumentos obrigatórios para as opções longas são igualmente\n"
-"obrigatórios para as opções curtas.\n"
-"  -a, --alignment=NÚMERO      alinha as cadeias a NÚMERO bytes (defeito: %d)\n"
-"  -c, --check                 executa testes dependentes da linguagem na\n"
-"                              cadeia\n"
-"  -D, --directory=DIRECTÓRIO  adiciona DIRECTÓRIO à lista de procura para\n"
-"                              os ficheiros de entrada\n"
-"  -h, --help                  mostra esta ajuda e sai\n"
-"      --no-hash               o ficheiro binário não irá incluir a tabela\n"
-"                              de dispersão\n"
-"  -o, --output-file=FICHEIRO  especifica o nome do ficheiro de saída como\n"
-"                              FICHEIRO\n"
-"      --statistics            escreve informação estatística sobre as\n"
-"                              traduções\n"
-"      --strict                usa o modo Uniforum estrito\n"
-"  -v, --verbose               lista as anormalias no ficheiro de entrada\n"
-"  -V, --version               mostra a informação de versão e sai\n"
-"\n"
-"Se o ficheiro de entrada é -, é usado o canal de entrada stdin. Se o\n"
-"ficheiro de saída é -, a saída é escrita no canal de saída stdout.\n"
 
-#: src/msgfmt.c:435
-msgid "while creating hash table"
-msgstr "durante a criação da tabela de dispersão"
+#: src/msgfmt.c:707
+msgid "plural expression can produce negative values"
+msgstr ""
 
-#: src/msgfmt.c:479
-#, fuzzy, c-format
+#: src/msgfmt.c:720
+#, c-format
+msgid "nplurals = %lu but plural expression can produce values as large as %lu"
+msgstr ""
+
+#: src/msgfmt.c:746
+msgid "plural expression can produce division by zero"
+msgstr ""
+
+#: src/msgfmt.c:751
+msgid "plural expression can produce integer overflow"
+msgstr ""
+
+#: src/msgfmt.c:756
 msgid ""
-"%s: warning: PO file header missing, fuzzy, or invalid\n"
-"%*s  warning: charset conversion will not work"
+"plural expression can produce arithmetic exceptions, possibly division by "
+"zero"
+msgstr ""
+
+#: src/msgfmt.c:830 src/msgfmt.c:841
+msgid "message catalog has plural form translations..."
+msgstr ""
+
+#: src/msgfmt.c:833
+msgid "...but header entry lacks a \"plural=EXPRESSION\" attribute"
+msgstr ""
+
+#: src/msgfmt.c:844
+msgid "...but header entry lacks a \"nplurals=INTEGER\" attribute"
+msgstr ""
+
+#: src/msgfmt.c:868
+#, fuzzy
+msgid "invalid nplurals value"
+msgstr "sequência de controlo ilegal"
+
+#: src/msgfmt.c:881
+msgid "invalid plural expression"
+msgstr ""
+
+#: src/msgfmt.c:899 src/msgfmt.c:912
+#, c-format
+msgid "nplurals = %lu..."
+msgstr ""
+
+#: src/msgfmt.c:902
+#, c-format
+msgid "...but some messages have only %lu plural forms"
+msgstr ""
+
+#: src/msgfmt.c:915
+#, c-format
+msgid "...but some messages have %lu plural forms"
+msgstr ""
+
+#: src/msgfmt.c:930
+msgid ""
+"message catalog has plural form translations, but lacks a header entry with "
+"\"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\""
+msgstr ""
+
+#: src/msgfmt.c:968
+#, fuzzy
+msgid "`msgid' and `msgid_plural' entries do not both begin with '\\n'"
+msgstr "os campos `msgid' e `msgstr' não começam ambos por '\\n'"
+
+#: src/msgfmt.c:978
+#, fuzzy, c-format
+msgid "`msgid' and `msgstr[%u]' entries do not both begin with '\\n'"
+msgstr "os campos `msgid' e `msgstr' não começam ambos por '\\n'"
+
+#: src/msgfmt.c:990
+#, fuzzy
+msgid "`msgid' and `msgstr' entries do not both begin with '\\n'"
+msgstr "os campos `msgid' e `msgstr' não começam ambos por '\\n'"
+
+#: src/msgfmt.c:1007
+#, fuzzy
+msgid "`msgid' and `msgid_plural' entries do not both end with '\\n'"
+msgstr "os campos `msgid' e `msgstr' não terminam ambos por '\\n'"
+
+#: src/msgfmt.c:1017
+#, fuzzy, c-format
+msgid "`msgid' and `msgstr[%u]' entries do not both end with '\\n'"
+msgstr "os campos `msgid' e `msgstr' não terminam ambos por '\\n'"
+
+#: src/msgfmt.c:1029
+#, fuzzy
+msgid "`msgid' and `msgstr' entries do not both end with '\\n'"
+msgstr "os campos `msgid' e `msgstr' não terminam ambos por '\\n'"
+
+#: src/msgfmt.c:1041
+msgid "plural handling is a GNU gettext extension"
+msgstr ""
+
+#: src/msgfmt.c:1088
+#, c-format
+msgid "'msgstr' is not a valid %s format string, unlike 'msgid'"
+msgstr ""
+
+#: src/msgfmt.c:1122
+#, c-format
+msgid "msgstr lacks the keyboard accelerator mark '%c'"
+msgstr ""
+
+#: src/msgfmt.c:1130
+#, c-format
+msgid "msgstr has too many keyboard accelerator marks '%c'"
+msgstr ""
+
+#: src/msgfmt.c:1164
+#, c-format
+msgid "headerfield `%s' missing in header"
+msgstr "o campo `%s' falta no cabeçalho"
+
+#: src/msgfmt.c:1167
+#, c-format
+msgid "header field `%s' should start at beginning of line"
+msgstr "o campo `%s' do cabeçalho deve começar no início da linha"
+
+#: src/msgfmt.c:1176
+#, fuzzy
+msgid "some header fields still have the initial default value"
+msgstr "alguns campos do cabeçalho ainda têm o valor inicial por defeito"
+
+#: src/msgfmt.c:1187
+#, c-format
+msgid "field `%s' still has initial default value"
+msgstr "o campo `%s' ainda tem o valor por defeito inicial"
+
+#: src/msgfmt.c:1228
+#, fuzzy
+msgid "warning: PO file header missing or invalid\n"
 msgstr "CUIDADO: o ficheiro fonte contém traduções aproximadas"
 
-#: src/msgfmt.c:503
+#: src/msgfmt.c:1231
+#, fuzzy
+msgid "warning: charset conversion will not work\n"
+msgstr "CUIDADO: o ficheiro fonte contém traduções aproximadas"
+
+#: src/msgfmt.c:1241
+#, fuzzy
+msgid "warning: PO file header fuzzy\n"
+msgstr "CUIDADO: o ficheiro fonte contém traduções aproximadas"
+
+#: src/msgfmt.c:1243
+msgid "warning: older versions of msgfmt will give an error on this\n"
+msgstr ""
+
+#: src/msgfmt.c:1268
 #, c-format
 msgid "domain name \"%s\" not suitable as file name"
 msgstr "nome de domínio \"%s\" não apropriado como nome de ficheiro"
 
-#: src/msgfmt.c:508
+#: src/msgfmt.c:1273
 #, c-format
 msgid "domain name \"%s\" not suitable as file name: will use prefix"
 msgstr ""
 "nome de domínio \"%s\" não apropriado como nome de ficheiro:\n"
 "prefixo usado"
 
-#. We don't change the exit status here because this is really
-#. only an information.
-#: src/msgfmt.c:521
+#: src/msgfmt.c:1284
 #, c-format
 msgid "`domain %s' directive ignored"
 msgstr "directiva `domínio %s' ignorada"
 
-#: src/msgfmt.c:551
+#: src/msgfmt.c:1356
 msgid "empty `msgstr' entry ignored"
 msgstr "elemento `msgstr' vazio ignorada"
 
-#: src/msgfmt.c:552
+#: src/msgfmt.c:1357
 #, fuzzy
 msgid "fuzzy `msgstr' entry ignored"
 msgstr "elemento `msgstr' vazio ignorada"
 
-#: src/msgfmt.c:594
-#, c-format
-msgid "headerfield `%s' missing in header"
-msgstr "o campo `%s' falta no cabeçalho"
-
-#: src/msgfmt.c:597
-#, c-format
-msgid "header field `%s' should start at beginning of line"
-msgstr "o campo `%s' do cabeçalho deve começar no início da linha"
-
-#: src/msgfmt.c:607
-#, fuzzy
-msgid "some header fields still have the initial default value"
-msgstr "alguns campos do cabeçalho ainda têm o valor inicial por defeito"
-
-#: src/msgfmt.c:618
-#, c-format
-msgid "field `%s' still has initial default value"
-msgstr "o campo `%s' ainda tem o valor por defeito inicial"
-
-#: src/msgfmt.c:708
+#: src/msgfmt.c:1426
 #, fuzzy, c-format
 msgid "%s: warning: source file contains fuzzy translation"
 msgstr "CUIDADO: o ficheiro fonte contém traduções aproximadas"
 
-#: src/msgfmt.c:930
-#, fuzzy
-msgid "`msgid' and `msgid_plural' entries do not both begin with '\\n'"
-msgstr "os campos `msgid' e `msgstr' não começam ambos por '\\n'"
-
-#: src/msgfmt.c:938
-#, fuzzy, c-format
-msgid "`msgid' and `msgstr[%u]' entries do not both begin with '\\n'"
-msgstr "os campos `msgid' e `msgstr' não começam ambos por '\\n'"
-
-#: src/msgfmt.c:948
-#, fuzzy
-msgid "`msgid' and `msgstr' entries do not both begin with '\\n'"
-msgstr "os campos `msgid' e `msgstr' não começam ambos por '\\n'"
-
-#: src/msgfmt.c:963
-#, fuzzy
-msgid "`msgid' and `msgid_plural' entries do not both end with '\\n'"
-msgstr "os campos `msgid' e `msgstr' não terminam ambos por '\\n'"
-
-#: src/msgfmt.c:971
-#, fuzzy, c-format
-msgid "`msgid' and `msgstr[%u]' entries do not both end with '\\n'"
-msgstr "os campos `msgid' e `msgstr' não terminam ambos por '\\n'"
-
-#: src/msgfmt.c:981
-#, fuzzy
-msgid "`msgid' and `msgstr' entries do not both end with '\\n'"
-msgstr "os campos `msgid' e `msgstr' não terminam ambos por '\\n'"
+#: src/msggrep.c:359
+#, c-format
+msgid "option '%c' cannot be used before 'K' or 'T' has been specified"
+msgstr ""
 
-#: src/msgfmt.c:997
-msgid "number of format specifications in `msgid' and `msgstr' does not match"
-msgstr "o número de especificações em `msgid' e `msgstr' é diferente"
+#: src/msggrep.c:381
+#, no-wrap
+msgid ""
+"Extracts all messages of a translation catalog that match a given pattern\n"
+"or belong to some given source files.\n"
+msgstr ""
 
-#: src/msgfmt.c:1014
-#, fuzzy, c-format
-msgid "format specifications for argument %lu are not the same"
-msgstr "as especificações do argumento %u são diferentes"
+#: src/msggrep.c:408
+#, no-wrap
+msgid ""
+"Message selection:\n"
+"  [-N SOURCEFILE]... [-M DOMAINNAME]... [-K MSGID-PATTERN] [-T MSGSTR-PATTERN]\n"
+"A message is selected if it comes from one of the specified source files,\n"
+"or if it comes from one of the specified domains,\n"
+"or if -K is given and its key (msgid or msgid_plural) matches MSGID-PATTERN,\n"
+"or if -T is given and its translation (msgstr) matches MSGSTR-PATTERN.\n"
+"\n"
+"When more than one selection criterion is specified, the set of selected\n"
+"messages is the union of the selected messages of each criterion.\n"
+"\n"
+"MSGID-PATTERN or MSGSTR-PATTERN syntax:\n"
+"  [-E | -F] [-e PATTERN | -f FILE]...\n"
+"PATTERNs are basic regular expressions by default, or extended regular\n"
+"expressions if -E is given, or fixed strings if -F is given.\n"
+"\n"
+"  -N, --location=SOURCEFILE   select messages extracted from SOURCEFILE\n"
+"  -M, --domain=DOMAINNAME     select messages belonging to domain DOMAINNAME\n"
+"  -K, --msgid                 start of patterns for the msgid\n"
+"  -T, --msgstr                start of patterns for the msgstr\n"
+"  -E, --extended-regexp       PATTERN is an extended regular expression\n"
+"  -F, --fixed-strings         PATTERN is a set of newline-separated strings\n"
+"  -e, --regexp=PATTERN        use PATTERN as a regular expression\n"
+"  -f, --file=FILE             obtain PATTERN from FILE\n"
+"  -i, --ignore-case           ignore case distinctions\n"
+msgstr ""
 
-#: src/msgmerge.c:320
-#, fuzzy, c-format, no-wrap
+#: src/msggrep.c:436
+#, fuzzy, no-wrap
 msgid ""
-"Usage: %s [OPTION] def.po ref.po\n"
-"Mandatory arguments to long options are mandatory for short options too.\n"
-"  -C, --compendium=FILE       additional library of message translations,\n"
-"                              may be specified more than once\n"
-"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
-"  -e, --no-escape             do not use C escapes in output (default)\n"
-"  -E, --escape                use C escapes in output, no extended chars\n"
+"Output details:\n"
+"      --no-escape             do not use C escapes in output (default)\n"
+"      --escape                use C escapes in output, no extended chars\n"
 "      --force-po              write PO file even if empty\n"
-"  -h, --help                  display this help and exit\n"
-"  -i, --indent                indented output style\n"
-"  -o, --output-file=FILE      result will be written to FILE\n"
+"      --indent                indented output style\n"
 "      --no-location           suppress '#: filename:line' lines\n"
 "      --add-location          preserve '#: filename:line' lines (default)\n"
 "      --strict                strict Uniforum output style\n"
-"  -v, --verbose               increase verbosity level\n"
-"  -V, --version               output version information and exit\n"
 "  -w, --width=NUMBER          set output page width\n"
+"      --sort-output           generate sorted output\n"
+"      --sort-by-file          sort output by file location\n"
 msgstr ""
 "Utilização: %s [OPÇÃO] def.po ref.po\n"
 "Os argumentos obrigatórios para as opções longas são igualmente\n"
@@ -579,19 +1270,238 @@ msgstr ""
 "  -V, --version               mostra a informação de versão e sai\n"
 "  -w, --width=NÚMERO          especifica a largura de página na saída\n"
 
-#: src/msgmerge.c:340
+#: src/msggrep.c:510
+msgid "write to grep subprocess failed"
+msgstr ""
+
+#: src/msginit.c:275
+msgid ""
+"You are in a language indifferent environment.  Please set\n"
+"your LANG environment variable, as described in the ABOUT-NLS\n"
+"file.  This is necessary so you can test your translations.\n"
+msgstr ""
+
+#: src/msginit.c:303
+#, c-format
+msgid ""
+"Output file %s already exists.\n"
+"Please specify the locale through the --locale option or\n"
+"the output .po file through the --output-file option.\n"
+msgstr ""
+
+#: src/msginit.c:326
+#, c-format
+msgid "Created %s.\n"
+msgstr ""
+
+#: src/msginit.c:348
 #, no-wrap
 msgid ""
-"\n"
+"Creates a new PO file, initializing the meta information with values from the\n"
+"user's environment.\n"
+msgstr ""
+
+#: src/msginit.c:359
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  -i, --input=INPUTFILE       input POT file\n"
+"If no input file is given, the current directory is searched for the POT file.\n"
+"If it is -, standard input is read.\n"
+msgstr ""
+
+#: src/msginit.c:367
+#, no-wrap
+msgid ""
+"Output file location:\n"
+"  -o, --output-file=FILE      write output to specified PO file\n"
+"If no output file is given, it depends on the --locale option or the user's\n"
+"locale setting.  If it is -, the results are written to standard output.\n"
+msgstr ""
+
+#: src/msginit.c:375
+#, no-wrap
+msgid ""
+"Output details:\n"
+"  -l, --locale=LL_CC          set target locale\n"
+"      --no-translator         assume the PO file is automatically generated\n"
+"  -w, --width=NUMBER          set output page width\n"
+msgstr ""
+
+#: src/msginit.c:426
+msgid ""
+"Found more than one .pot file.\n"
+"Please specify the input .pot file through the --input option.\n"
+msgstr ""
+
+#: src/msginit.c:434 src/msginit.c:439
+msgid "error reading current directory"
+msgstr ""
+
+#: src/msginit.c:447
+msgid ""
+"Found no .pot file in the current directory.\n"
+"Please specify the input .pot file through the --input option.\n"
+msgstr ""
+
+#: src/msginit.c:887 src/msginit.c:932 src/msginit.c:1070 src/msginit.c:1137
+#: src/read-java.c:80
+msgid "fdopen() failed"
+msgstr ""
+
+#: src/msginit.c:892 src/msginit.c:937 src/msginit.c:1075
+#, c-format
+msgid "%s subprocess I/O error"
+msgstr ""
+
+#: src/msginit.c:901 src/msginit.c:946 src/msginit.c:1084 src/msginit.c:1151
+#: src/read-java.c:90
+#, c-format
+msgid "%s subprocess failed with exit code %d"
+msgstr ""
+
+#: src/msginit.c:1060
+msgid ""
+"The new message catalog should contain your email address, so that users "
+"can\n"
+"give you feedback about the translations, and so that maintainers can "
+"contact\n"
+"you in case of unexpected technical problems.\n"
+msgstr ""
+
+#. TRANSLATORS: "English" needs to be replaced by your language.
+#. For example in it.po write "Traduzioni italiani ...",
+#. *not* "Traduzioni inglesi ...".
+#: src/msginit.c:1440
+#, c-format
+msgid "English translations for %s package"
+msgstr ""
+
+#: src/msgl-cat.c:173 src/msgl-charset.c:86 src/msgl-iconv.c:299
+#, c-format
+msgid "present charset \"%s\" is not a portable encoding name"
+msgstr ""
+
+#: src/msgl-cat.c:181 src/msgl-iconv.c:307
+#, c-format
+msgid "two different charsets \"%s\" and \"%s\" in input file"
+msgstr ""
+
+#: src/msgl-cat.c:194
+#, c-format
+msgid ""
+"input file `%s' doesn't contain a header entry with a charset specification"
+msgstr ""
+
+#: src/msgl-cat.c:198
+#, c-format
+msgid ""
+"domain \"%s\" in input file `%s' doesn't contain a header entry with a "
+"charset specification"
+msgstr ""
+
+#: src/msgl-cat.c:359 src/msgl-iconv.c:382
+#, c-format
+msgid "target charset \"%s\" is not a portable encoding name."
+msgstr ""
+
+#: src/msgl-cat.c:409 src/msgl-cat.c:415 src/msgl-charset.c:91
+#: src/msgl-charset.c:126 src/write-po.c:723 src/write-po.c:817
+msgid "warning: "
+msgstr ""
+
+#: src/msgl-cat.c:410
+msgid ""
+"Input files contain messages in different encodings, UTF-8 among others.\n"
+"Converting the output to UTF-8.\n"
+msgstr ""
+
+#: src/msgl-cat.c:416
+#, c-format
+msgid ""
+"Input files contain messages in different encodings, %s and %s among "
+"others.\n"
+"Converting the output to UTF-8.\n"
+"To select a different output encoding, use the --to-code option.\n"
+msgstr ""
+
+#: src/msgl-charset.c:92
+#, c-format
+msgid ""
+"Locale charset \"%s\" is different from\n"
+"input file charset \"%s\".\n"
+"Output of '%s' might be incorrect.\n"
+"Possible workarounds are:\n"
+msgstr ""
+
+#: src/msgl-charset.c:99
+#, c-format
+msgid "- Set LC_ALL to a locale with encoding %s.\n"
+msgstr ""
+
+#: src/msgl-charset.c:104
+#, c-format
+msgid ""
+"- Convert the translation catalog to %s using 'msgconv',\n"
+"  then apply '%s',\n"
+"  then convert back to %s using 'msgconv'.\n"
+msgstr ""
+
+#: src/msgl-charset.c:113
+#, c-format
+msgid ""
+"- Set LC_ALL to a locale with encoding %s,\n"
+"  convert the translation catalog to %s using 'msgconv',\n"
+"  then apply '%s',\n"
+"  then convert back to %s using 'msgconv'.\n"
+msgstr ""
+
+#: src/msgl-charset.c:127
+#, c-format
+msgid ""
+"Locale charset \"%s\" is not a portable encoding name.\n"
+"Output of '%s' might be incorrect.\n"
+"A possible workaround is to set LC_ALL=C.\n"
+msgstr ""
+
+#: src/msgl-iconv.c:200 src/msgl-iconv.c:254
+msgid "conversion failure"
+msgstr ""
+
+#: src/msgl-iconv.c:328
+msgid "input file doesn't contain a header entry with a charset specification"
+msgstr ""
+
+#: src/msgl-iconv.c:346
+#, c-format
+msgid ""
+"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(), and iconv() does "
+"not support this conversion."
+msgstr ""
+
+#: src/msgl-iconv.c:362
+#, c-format
+msgid ""
+"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(). This version was "
+"built without iconv()."
+msgstr ""
+
+#: src/msgmerge.c:340
+msgid "backup type"
+msgstr ""
+
+#: src/msgmerge.c:377
+#, fuzzy, no-wrap
+msgid ""
 "Merges two Uniforum style .po files together.  The def.po file is an\n"
-"existing PO file with the old translations which will be taken over to\n"
-"the newly created file as long as they still match; comments will be\n"
-"preserved, but extract comments and file positions will be discarded.\n"
-"The ref.po file is the last created PO file (generally by xgettext), any\n"
-"translations or comments in the file will be discarded, however dot\n"
+"existing PO file with translations which will be taken over to the newly\n"
+"created file as long as they still match; comments will be preserved,\n"
+"but extracted comments and file positions will be discarded.  The ref.pot\n"
+"file is the last created PO file with up-to-date source references but\n"
+"old translations, or a PO Template file (generally created by xgettext);\n"
+"any translations or comments in the file will be discarded, however dot\n"
 "comments and file positions will be preserved.  Where an exact match\n"
-"cannot be found, fuzzy matching is used to produce better results.  The\n"
-"results are written to stdout unless an output file is specified.\n"
+"cannot be found, fuzzy matching is used to produce better results.\n"
 msgstr ""
 "\n"
 "Combina 2 ficheiros .po do tipo Uniforum num só. O ficheiro def.po\n"
@@ -607,7 +1517,63 @@ msgstr ""
 "resultados serão escritos no canal de saída por defeito (stdout) a\n"
 "menos que seja especificado um ficheiro de saída.\n"
 
-#: src/msgmerge.c:799
+#: src/msgmerge.c:395
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  def.po                      translations referring to old sources\n"
+"  ref.pot                     references to new sources\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"  -C, --compendium=FILE       additional library of message translations,\n"
+"                              may be specified more than once\n"
+msgstr ""
+
+#: src/msgmerge.c:405
+#, no-wrap
+msgid ""
+"Operation mode:\n"
+"  -U, --update                update def.po,\n"
+"                              do nothing if def.po already up to date\n"
+msgstr ""
+
+#: src/msgmerge.c:420
+#, no-wrap
+msgid ""
+"Output file location in update mode:\n"
+"The result is written back to def.po.\n"
+"      --backup=CONTROL        make a backup of def.po\n"
+"      --suffix=SUFFIX         override the usual backup suffix\n"
+"The version control method may be selected via the --backup option or through\n"
+"the VERSION_CONTROL environment variable.  Here are the values:\n"
+"  none, off       never make backups (even if --backup is given)\n"
+"  numbered, t     make numbered backups\n"
+"  existing, nil   numbered if numbered backups exist, simple otherwise\n"
+"  simple, never   always make simple backups\n"
+"The backup suffix is `~', unless set with --suffix or the SIMPLE_BACKUP_SUFFIX\n"
+"environment variable.\n"
+msgstr ""
+
+#: src/msgmerge.c:457
+#, no-wrap
+msgid ""
+"Informative output:\n"
+"  -h, --help                  display this help and exit\n"
+"  -V, --version               output version information and exit\n"
+"  -v, --verbose               increase verbosity level\n"
+"  -q, --quiet, --silent       suppress progress indicators\n"
+msgstr ""
+
+#: src/msgmerge.c:625
+#, fuzzy
+msgid "this message should define plural forms"
+msgstr "esta mensagem é usada mas não definida em %s"
+
+#: src/msgmerge.c:648
+#, fuzzy
+msgid "this message should not define plural forms"
+msgstr "esta mensagem é usada mas não definida em %s"
+
+#: src/msgmerge.c:779
 #, fuzzy, c-format
 msgid ""
 "%sRead %ld old + %ld reference, merged %ld, fuzzied %ld, missing %ld, "
@@ -616,24 +1582,70 @@ msgstr ""
 "%sLidas %d antigas + %d referências, combinadas %d, aproximadas %d, faltam %"
 "d, obsoletas %d.\n"
 
-#: src/msgmerge.c:806
+#: src/msgmerge.c:787
 msgid " done.\n"
 msgstr "terminado.\n"
 
-#: src/msgunfmt.c:210
-#, fuzzy, c-format, no-wrap
+#: src/msgunfmt.c:201
+#, fuzzy, c-format
+msgid "%s and explicit file names are mutually exclusive"
+msgstr "%s e %s são mutuamente exclusivas"
+
+#: src/msgunfmt.c:267
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] [FILE]...\n"
+msgstr ""
+
+#: src/msgunfmt.c:272
+#, no-wrap
+msgid "Convert binary message catalog to Uniforum style .po file.\n"
+msgstr ""
+
+#: src/msgunfmt.c:282
+#, no-wrap
 msgid ""
-"Usage: %s [OPTION] [FILE]...\n"
-"Mandatory arguments to long options are mandatory for short options too.\n"
+"Operation mode:\n"
+"  -j, --java               Java mode: generate a Java ResourceBundle class\n"
+msgstr ""
+
+#: src/msgunfmt.c:288
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  FILE ...                 input .mo files\n"
+"If no input file is given or if it is -, standard input is read.\n"
+msgstr ""
+
+#: src/msgunfmt.c:295
+#, no-wrap
+msgid ""
+"Input file location in Java mode:\n"
+"  -r, --resource=RESOURCE  resource name\n"
+"  -l, --locale=LOCALE      locale name, either language or language_COUNTRY\n"
+"The class name is determined by appending the locale name to the resource name,\n"
+"separated with an underscore.  The class is located using the CLASSPATH.\n"
+msgstr ""
+
+#: src/msgunfmt.c:304
+#, no-wrap
+msgid ""
+"Output file location:\n"
+"  -o, --output-file=FILE   write output to specified file\n"
+"The results are written to standard output if no output file is specified\n"
+"or if it is -.\n"
+msgstr ""
+
+#: src/msgunfmt.c:312
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
 "  -e, --no-escape          do not use C escapes in output (default)\n"
 "  -E, --escape             use C escapes in output, no extended chars\n"
 "      --force-po           write PO file even if empty\n"
-"  -h, --help               display this help and exit\n"
 "  -i, --indent             write indented output style\n"
-"  -o, --output-file=FILE   write output into FILE instead of standard output\n"
 "      --strict             write strict uniforum style\n"
-"  -V, --version            output version information and exit\n"
 "  -w, --width=NUMBER       set output page width\n"
+"  -s, --sort-output        generate sorted output\n"
 msgstr ""
 "Utilização: %s [OPÇÃO] [FICHEIRO]...\n"
 "Os argumentos obrigatórios para as opções longas são igualmente\n"
@@ -650,51 +1662,51 @@ msgstr ""
 "  -V, --version               mostra a informação de versão e sai\n"
 "  -w, --width=NÚMERO          especifica a largura de página na saída\n"
 
-#: src/msgunfmt.c:224
+#: src/msgunfmt.c:324
 #, no-wrap
 msgid ""
-"\n"
-"Convert binary .mo files to Uniforum style .po files.\n"
-"Both little-endian and big-endian .mo files are handled.\n"
-"If no input file is given or it is -, standard input is read.\n"
-"By default the output is written to standard output.\n"
+"Informative output:\n"
+"  -h, --help               display this help and exit\n"
+"  -V, --version            output version information and exit\n"
+"  -v, --verbose            increase verbosity level\n"
 msgstr ""
-"\n"
-"Converte ficheiros .mo binários em ficheiros .po no modo Uniforum.\n"
-"Ficheiros .mo \"little-endian\" e \"big-endian\" são simultaneamente\n"
-"tratados. Se não for indicado ficheiro de entrada ou este for -, é\n"
-"usado o canal de entrada stdin. Por defeito a saída é escrita no\n"
-"stdout.\n"
-
-#: src/msgunfmt.c:261 src/msgunfmt.c:326 src/po-lex.c:216 src/xget-lex.c:243
-#, c-format
-msgid "error while reading \"%s\""
-msgstr "erro durante a leitura de \"%s\""
 
-#: src/msgunfmt.c:262 src/msgunfmt.c:327
-#, c-format
-msgid "file \"%s\" truncated"
-msgstr "ficheiro \"%s\"truncado"
+#: src/msguniq.c:279
+#, no-wrap
+msgid ""
+"Unifies duplicate translations in a translation catalog.\n"
+"Finds duplicate translations of the same message ID.  Such duplicates are\n"
+"invalid input for other programs like msgfmt, msgmerge or msgcat.  By\n"
+"default, duplicates are merged together.  When using the --repeated option,\n"
+"only duplicates are output, and all other messages are discarded.  Comments\n"
+"and extracted comments will be cumulated, except that if --use-first is\n"
+"specified, they will be taken from the first translation.  File positions\n"
+"will be cumulated.  When using the --unique option, duplicates are discarded.\n"
+msgstr ""
 
-#: src/msgunfmt.c:293
-#, fuzzy, c-format
-msgid "seek \"%s\" offset %ld failed"
-msgstr "seek \"%s\" offset %ld falhou"
+#: src/msguniq.c:312
+#, no-wrap
+msgid ""
+"Message selection:\n"
+"  -d, --repeated                 print only duplicates\n"
+"  -u, --unique                   print only unique messages, discard duplicates\n"
+msgstr ""
 
-#: src/msgunfmt.c:332
-#, fuzzy, c-format
-msgid "file \"%s\" contains a not NUL terminated string"
-msgstr "o ficheiro \"%s\" não está no formato .mo GNU"
+#: src/ngettext.c:215
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] [TEXTDOMAIN] MSGID MSGID-PLURAL COUNT\n"
+msgstr ""
 
-#: src/msgunfmt.c:377
-#, c-format
-msgid "file \"%s\" is not in GNU .mo format"
-msgstr "o ficheiro \"%s\" não está no formato .mo GNU"
+#: src/ngettext.c:220
+#, no-wrap
+msgid ""
+"Display native language translation of a textual message whose grammatical\n"
+"form depends on a number.\n"
+msgstr ""
 
-#: src/ngettext.c:209
-#, fuzzy, c-format, no-wrap
+#: src/ngettext.c:225
+#, fuzzy, no-wrap
 msgid ""
-"Usage: %s [OPTION] [TEXTDOMAIN] MSGID MSGID-PLURAL COUNT\n"
 "  -d, --domain=TEXTDOMAIN   retrieve translated message from TEXTDOMAIN\n"
 "  -e                        enable expansion of some escape sequences\n"
 "  -E                        (ignored for compatibility)\n"
@@ -714,10 +1726,9 @@ msgstr ""
 " [DIALECTO] MSGID          obtém a mensagem traduzida correspondente a\n"
 "                           MSGID do DIALECTO\n"
 
-#: src/ngettext.c:221
+#: src/ngettext.c:236
 #, fuzzy, c-format, no-wrap
 msgid ""
-"\n"
 "If the TEXTDOMAIN parameter is not given, the domain is determined from the\n"
 "environment variable TEXTDOMAIN.  If the message catalog is not found in the\n"
 "regular directory, another location can be specified with the environment\n"
@@ -735,119 +1746,191 @@ msgstr ""
 "são traduzidas.\n"
 "Directório standard de pesquisa: %s\n"
 
-#: src/open-po.c:64
+#: src/open-po.c:69
 msgid "<stdin>"
 msgstr ""
 
-#: po-gram-gen.y:87
+#: src/po-charset.c:172 src/po-charset.c:240 src/po-charset.c:268
+#: src/po-charset.c:294
+#, c-format
+msgid "%s: warning: "
+msgstr ""
+
+#: src/po-charset.c:173
+#, fuzzy, c-format
+msgid ""
+"Charset \"%s\" is not a portable encoding name.\n"
+"Message conversion to user's charset might not work.\n"
+msgstr "CUIDADO: o ficheiro fonte contém traduções aproximadas"
+
+#: src/po-charset.c:236 src/po-charset.c:266
+msgid "Continuing anyway, expect parse errors."
+msgstr ""
+
+#: src/po-charset.c:238
+msgid "Continuing anyway."
+msgstr ""
+
+#: src/po-charset.c:241
+#, c-format
+msgid ""
+"Charset \"%s\" is not supported. %s relies on iconv(),\n"
+"and iconv() does not support \"%s\".\n"
+msgstr ""
+
+#: src/po-charset.c:250 src/po-charset.c:276
+msgid ""
+"Installing GNU libiconv and then reinstalling GNU gettext\n"
+"would fix this problem.\n"
+msgstr ""
+
+#: src/po-charset.c:255 src/po-charset.c:280
+#, c-format
+msgid "%s\n"
+msgstr ""
+
+#: src/po-charset.c:269
+#, c-format
+msgid ""
+"Charset \"%s\" is not supported. %s relies on iconv().\n"
+"This version was built without iconv().\n"
+msgstr ""
+
+#: src/po-charset.c:295
+#, fuzzy
+msgid ""
+"Charset missing in header.\n"
+"Message conversion to user's charset will not work.\n"
+msgstr "CUIDADO: o ficheiro fonte contém traduções aproximadas"
+
+#: po-gram-gen.y:91
 msgid "inconsistent use of #~"
 msgstr ""
 
-#: po-gram-gen.y:168
+#: po-gram-gen.y:181
 #, fuzzy
 msgid "missing `msgstr[]' section"
 msgstr "falta a secção `msgstr'"
 
-#: po-gram-gen.y:176
+#: po-gram-gen.y:189
 #, fuzzy
 msgid "missing `msgid_plural' section"
 msgstr "falta a secção `msgstr'"
 
-#: po-gram-gen.y:183
+#: po-gram-gen.y:196
 msgid "missing `msgstr' section"
 msgstr "falta a secção `msgstr'"
 
-#: po-gram-gen.y:228
+#: po-gram-gen.y:241
 msgid "first plural form has nonzero index"
 msgstr ""
 
-#: po-gram-gen.y:230
+#: po-gram-gen.y:243
 msgid "plural form has wrong index"
 msgstr ""
 
-#. CAUTION: If you change this macro, you must also make identical
-#. changes to the function of the same name in src/po-lex.c
-#: src/po-lex.c:159 src/po-lex.c:198 src/po-lex.h:85 src/po-lex.h:99
-#: src/po-lex.h:115 src/po-lex.h:129
+#: src/po-lex.h:91 src/po-lex.h:106 src/po-lex.h:126 src/po-lex.h:141
+#: src/po-lex.c:135 src/po-lex.c:176
 msgid "too many errors, aborting"
 msgstr "demasiados erros, interrompendo"
 
-#: src/po-lex.c:274
+#: src/po-lex.c:545 src/write-po.c:331 src/write-po.c:421
+#, fuzzy
+msgid "invalid multibyte sequence"
+msgstr "sequência de controlo ilegal"
+
+#: src/po-lex.c:571
+#, fuzzy
+msgid "incomplete multibyte sequence at end of file"
+msgstr "sequência de controlo ilegal"
+
+#: src/po-lex.c:581
+#, fuzzy
+msgid "incomplete multibyte sequence at end of line"
+msgstr "sequência de controlo ilegal"
+
+#: src/po-lex.c:589
+msgid "iconv failure"
+msgstr ""
+
+#: src/po-lex.c:763 src/read-mo.c:70 src/read-mo.c:135 src/x-c.c:216
+#: src/x-rst.c:227 src/x-ycp.c:103
+#, c-format
+msgid "error while reading \"%s\""
+msgstr "erro durante a leitura de \"%s\""
+
+#: src/po-lex.c:829
 #, c-format
 msgid "keyword \"%s\" unknown"
 msgstr "palavra chave \"%s\" desconhecida"
 
-#: src/po-lex.c:377
+#: src/po-lex.c:939
 #, fuzzy
 msgid "invalid control sequence"
 msgstr "sequência de controlo ilegal"
 
-#: src/po-lex.c:480
+#: src/po-lex.c:1047
 msgid "end-of-file within string"
 msgstr "fim-de-ficheiro dentro da cadeia"
 
-#: src/po-lex.c:485
+#: src/po-lex.c:1053
 msgid "end-of-line within string"
 msgstr "fim-de-linha dentro da cadeia"
 
-#: src/po-lex.c:528 src/write-po.c:285 src/write-po.c:367
-#, fuzzy
-msgid "invalid multibyte sequence"
-msgstr "sequência de controlo ilegal"
-
-#: src/po.c:302 src/po.c:374 src/po.c:409 src/po.c:439
+#: src/read-mo.c:71 src/read-mo.c:136
 #, c-format
-msgid "%s: warning: "
-msgstr ""
+msgid "file \"%s\" truncated"
+msgstr "ficheiro \"%s\"truncado"
 
-#: src/po.c:303
+#: src/read-mo.c:102
 #, fuzzy, c-format
-msgid ""
-"Charset \"%s\" is not a portable encoding name.\n"
-"Message conversion to user's charset might not work.\n"
-msgstr "CUIDADO: o ficheiro fonte contém traduções aproximadas"
-
-#: src/po.c:370 src/po.c:405
-msgid "Continuing anyway, expect parse errors."
-msgstr ""
+msgid "seek \"%s\" offset %ld failed"
+msgstr "seek \"%s\" offset %ld falhou"
 
-#: src/po.c:372
-msgid "Continuing anyway."
-msgstr ""
+#: src/read-mo.c:141
+#, fuzzy, c-format
+msgid "file \"%s\" contains a not NUL terminated string"
+msgstr "o ficheiro \"%s\" não está no formato .mo GNU"
 
-#: src/po.c:375
+#: src/read-mo.c:186
 #, c-format
-msgid ""
-"Charset \"%s\" is not supported. %s relies on iconv(),\n"
-"and iconv() does not support \"%s\".\n"
+msgid "file \"%s\" is not in GNU .mo format"
+msgstr "o ficheiro \"%s\" não está no formato .mo GNU"
+
+#: src/write-java.c:1108
+msgid "cannot find a temporary directory, try setting $TMPDIR"
 msgstr ""
 
-#: src/po.c:385 src/po.c:418
-msgid ""
-"Installing GNU libiconv and then reinstalling GNU gettext\n"
-"would fix this problem.\n"
+#: src/write-java.c:1118
+#, fuzzy, c-format
+msgid "cannot create a temporary directory using template \"%s\""
+msgstr "impossível criar o ficheiro de saída \"%s\""
+
+#: src/write-java.c:1131
+#, c-format
+msgid "not a valid Java class name: %s"
 msgstr ""
 
-#: src/po.c:393 src/po.c:425
+#: src/write-java.c:1188 src/write-java.c:1201
 #, c-format
-msgid "%s\n"
+msgid "failed to create \"%s\""
 msgstr ""
 
-#: src/po.c:410
+#: src/write-java.c:1209 src/write-mo.c:289 src/write-po.c:966
 #, c-format
-msgid ""
-"Charset \"%s\" is not supported. %s relies on iconv().\n"
-"This version was built without iconv().\n"
+msgid "error while writing \"%s\" file"
+msgstr "erro durante a escrita do ficheiro \"%s\""
+
+#: src/write-java.c:1223
+msgid "compilation of Java class failed, please try --verbose or set $JAVAC"
 msgstr ""
 
-#: src/po.c:440
-#, fuzzy
-msgid ""
-"Charset missing in header.\n"
-"Message conversion to user's charset will not work.\n"
-msgstr "CUIDADO: o ficheiro fonte contém traduções aproximadas"
+#: src/write-mo.c:277
+#, c-format
+msgid "error while opening \"%s\" for writing"
+msgstr "erro durante a abertura de \"%s\" para escrita"
 
-#: src/write-po.c:316
+#: src/write-po.c:370
 #, c-format
 msgid ""
 "internationalized messages should not contain the `\\%c' escape sequence"
@@ -855,174 +1938,470 @@ msgstr ""
 "as mensagens de internacionalização não devem conter\n"
 "a sequência de escape `\\%c'"
 
-#: src/write-po.c:857
+#: src/write-po.c:724 src/write-po.c:818
+#, c-format
+msgid ""
+"The following msgid contains non-ASCII characters.\n"
+"This will cause problems to translators who use a character encoding\n"
+"different from yours. Consider using a pure ASCII msgid instead.\n"
+"%s\n"
+msgstr ""
+
+#: src/write-po.c:885
 #, c-format
 msgid "cannot create output file \"%s\""
 msgstr "impossível criar o ficheiro de saída \"%s\""
 
-#: src/write-po.c:864
+#: src/write-po.c:892
 #, no-c-format
 msgid "standard output"
 msgstr "canal de saída por defeito (stdout)"
 
-#: src/write-po.c:939
+#: src/x-c.c:858
 #, c-format
-msgid "error while writing \"%s\" file"
-msgstr "erro durante a escrita do ficheiro \"%s\""
+msgid "%s:%d: warning: unterminated character constant"
+msgstr ""
 
-#: src/xget-lex.c:148
-msgid "standard input"
-msgstr "entrada standard"
+#: src/x-c.c:882
+#, c-format
+msgid "%s:%d: warning: unterminated string literal"
+msgstr ""
+
+#: src/x-po.c:106 src/xgettext.c:605
+msgid "this file may not contain domain directives"
+msgstr "este ficheiro não pode conter directivas de domínio"
 
-#: src/xget-lex.c:876
+#: src/x-rst.c:108
 #, c-format
-msgid "%s:%d: warning: unterminated character constant"
+msgid "%s:%d: invalid string definition"
 msgstr ""
 
-#: src/xget-lex.c:898
+#: src/x-rst.c:168
 #, c-format
-msgid "%s:%d: warning: unterminated string literal"
+msgid "%s:%d: missing number after #"
+msgstr ""
+
+#: src/x-rst.c:203
+#, c-format
+msgid "%s:%d: invalid string expression"
 msgstr ""
 
-#: src/xgettext.c:373
+#: src/xgettext.c:375
 msgid "--join-existing cannot be used when output is written to stdout"
 msgstr ""
 "--join-existing não pode ser usada quando a saída\n"
 "é escrita no stdout"
 
-#: src/xgettext.c:378
+#: src/xgettext.c:380
 msgid "xgettext cannot work without keywords to look for"
 msgstr ""
 
-#: src/xgettext.c:484
+#: src/xgettext.c:468
 #, fuzzy, c-format
 msgid "warning: file `%s' extension `%s' is unknown; will try C"
 msgstr ""
 "cuidado: o tipo do ficheiro `%s' com a extensão `%s' é desconhecido;\n"
 "será tentado C"
 
-#: src/xgettext.c:520
-#, fuzzy, c-format, no-wrap
+#: src/xgettext.c:509
+#, no-wrap
+msgid "Extract translatable strings from given input files.\n"
+msgstr ""
+
+#: src/xgettext.c:514
+#, no-wrap
 msgid ""
-"Usage: %s [OPTION] INPUTFILE ...\n"
-"Extract translatable string from given input files.\n"
-"\n"
 "Mandatory arguments to long options are mandatory for short options too.\n"
-"  -a, --extract-all              extract all strings\n"
-"  -c, --add-comments[=TAG]       place comment block with TAG (or those\n"
-"                                 preceding keyword lines) in output file\n"
-"  -C, --c++                      shorthand for --language=C++\n"
-"      --debug                    more detailed formatstring recognision result\n"
+"Similarly for optional arguments.\n"
+msgstr ""
+
+#: src/xgettext.c:529
+#, no-wrap
+msgid ""
+"Output file location:\n"
 "  -d, --default-domain=NAME      use NAME.po for output (instead of messages.po)\n"
-"  -D, --directory=DIRECTORY      add DIRECTORY to list for input files search\n"
-"  -e, --no-escape                do not use C escapes in output (default)\n"
-"  -E, --escape                   use C escapes in output, no extended chars\n"
-"  -f, --files-from=FILE          get list of input files from FILE\n"
-"      --force-po                 write PO file even if empty\n"
-"      --foreign-user             omit FSF copyright in output for foreign user\n"
-"  -F, --sort-by-file             sort output by file location\n"
+"  -o, --output=FILE              write output to specified file\n"
+"  -p, --output-dir=DIR           output files will be placed in directory DIR\n"
+"If output file is -, output is written to standard output.\n"
 msgstr ""
-"Utilização: %s [OPÇÃO] FICHEIRODEENTRADA...\n"
-"Os argumentos obrigatórios para as opções longas são igualmente\n"
-"obrigatórios para as opções curtas.\n"
-"  -a, --extract-all              extrai todas as cadeias\n"
-"  -c, --add-comments[=TAG]       coloca o bloco comentado com TAG (ou as\n"
-"                                 linhas de cabeçalho precedentes) no ficheiro\n"
-"                                 de saída.\n"
-"  -C, --c++                      reconhece comentários do tipo C++\n"
-"      --debug                    produz resultados mais detalhados do\n"
-"                                 reconhecimento das cadeias de formatação\n"
-"  -d, --default-domain=NOME      usa NOME.po para a saída (em vez de\n"
-"                                 messages.po)\n"
-"  -D, --directory=DIRECTÓRIO     adiciona DIRECTÓRIO à lista de procura para\n"
-"   \"                             os ficheiros de entrada\n"
-"  -e, --no-escape                não usa sequências de escape do C na saída\n"
-"                                 (opção por defeito)\n"
-"  -E, --escape                   usa sequências de escape do C na saída, não\n"
-"                                 usando caracteres especiais\n"
-"  -f, --files-from=FICHEIRO      obtém lista de ficheiros de entrada de\n"
-"                                 FICHEIRO\n"
-"      --force-po                 escreve o ficheiro PO mesmo se este estiver\n"
-"                                 vazio\n"
-"  -F, --sort-by-file             ordena a saída pela localização dos ficheiros\n"
-
-#: src/xgettext.c:540
-#, fuzzy, no-wrap
+
+#: src/xgettext.c:538
+#, no-wrap
 msgid ""
-"  -h, --help                     display this help and exit\n"
-"  -i, --indent                   write the .po file using indented style\n"
+"Choice of input file language:\n"
+"  -L, --language=NAME            recognise the specified language\n"
+"                                   (C, C++, ObjectiveC, PO, Java, YCP)\n"
+"  -C, --c++                      shorthand for --language=C++\n"
+"By default the language is guessed depending on the input file name extension.\n"
+msgstr ""
+
+#: src/xgettext.c:547
+#, no-wrap
+msgid ""
+"Operation mode:\n"
 "  -j, --join-existing            join messages with existing file\n"
-"  -k, --keyword[=WORD]           additonal keyword to be looked for (without\n"
+"  -x, --exclude-file=FILE.po     entries from FILE.po are not extracted\n"
+"  -c, --add-comments[=TAG]       place comment block with TAG (or those\n"
+"                                 preceding keyword lines) in output file\n"
+msgstr ""
+
+#: src/xgettext.c:556
+#, no-wrap
+msgid ""
+"Language=C/C++ specific options:\n"
+"  -a, --extract-all              extract all strings\n"
+"  -k, --keyword[=WORD]           additional keyword to be looked for (without\n"
 "                                 WORD means not to use default keywords)\n"
-"  -L, --language=NAME            recognise the specified language (C, C++, PO),\n"
-"                                 otherwise is guessed from file extension\n"
-"  -m, --msgstr-prefix[=STRING]   use STRING or \"\" as prefix for msgstr entries\n"
-"  -M, --msgstr-suffix[=STRING]   use STRING or \"\" as suffix for msgstr entries\n"
-"      --no-location              do not write '#: filename:line' lines\n"
+"  -T, --trigraphs                understand ANSI C trigraphs for input\n"
+"      --debug                    more detailed formatstring recognition result\n"
 msgstr ""
-" -h, --help                     mostra esta ajuda e sai\n"
-" -i, --indent                   escreve o ficheiro .po usando o modo de\n"
-"                                saída alinhado\n"
-" -j, --join-existing            combina as mensagens com o ficheiro existente\n"
-" -k, --keyword[=PALAVRA]        palavra chave adicional a ser procurada\n"
-"                                (sem PALAVRA significa não usar as palavras\n"
-"                                chave por defeito)\n"
-" -l, --string-limit=NÚMERO      especifica o tamanho máximo das cadeias como\n"
-"                                NÚMERO, em vez de %u\n"
-" -m, --msgstr-prefix[=CADEIA]   usa CADEIA or \"\" como prefixo para os\n"
-"                                campos `msgstr'\n"
-" -M, --msgstr-suffix[=STRING]   usa CADEIA ou \"\" como sufixo para as cadeias\n"
-"                                `msgstr'\n"
-"     --no-location              não escreve linhas do tipo '#: filename:line'\n"
-
-#: src/xgettext.c:552
+
+#: src/xgettext.c:566
 #, fuzzy, no-wrap
 msgid ""
+"Output details:\n"
+"  -e, --no-escape                do not use C escapes in output (default)\n"
+"  -E, --escape                   use C escapes in output, no extended chars\n"
+"      --force-po                 write PO file even if empty\n"
+"  -i, --indent                   write the .po file using indented style\n"
+"      --no-location              do not write '#: filename:line' lines\n"
 "  -n, --add-location             generate '#: filename:line' lines (default)\n"
-"      --omit-header              don't write header with `msgid \"\"' entry\n"
-"  -o, --output=FILE              write output to specified file\n"
-"  -p, --output-dir=DIR           output files will be placed in directory DIR\n"
-"  -s, --sort-output              generate sorted output and remove duplicates\n"
 "      --strict                   write out strict Uniforum conforming .po file\n"
-"  -T, --trigraphs                understand ANSI C trigraphs for input\n"
-"  -V, --version                  output version information and exit\n"
 "  -w, --width=NUMBER             set output page width\n"
-"  -x, --exclude-file=FILE        entries from FILE are not extracted\n"
-"\n"
-"If INPUTFILE is -, standard input is read.\n"
-msgstr ""
-" -n, --add-location             gera linhas do tipo '#: filename:line'\n"
-"                                (opção utilizada por defeito)\n"
-"     --omit-header              não escreve cabeçalhos com campos `msgid\"\"'\n"
-" -p, --output-dir=DIR           os ficheiros de saída serão colocados no\n"
-"                                directório DIR\n"
-" -s, --sort-output              gera resultados ordenados, removendo os\n"
-"                                duplicados\n"
-"     --strict                   escreve um ficheiro .po de acordo com o\n"
-"                                modo Uniforum estrito\n"
-" -T, --trigraphs                entende trigrafos ANSI C na entrada\n"
-" -V, --version                  mostra a informação de versão e sai\n"
-" -w, --width=NÚMERO             especifica a largura de página na saída\n"
-" -x, --exclude-file=FICHEIRO    os campos do FICHEIRO não são extraídos\n"
-"\n"
-"Se o ficheiro de entrada for -, o canal de entrada por defeito (stdin) é\n"
-"usado.\n"
-
-#: src/xgettext.c:914
-#, c-format
-msgid "%s:%d: warning: keyword nested in keyword arg"
+"  -s, --sort-output              generate sorted output\n"
+"  -F, --sort-by-file             sort output by file location\n"
+"      --omit-header              don't write header with `msgid \"\"' entry\n"
+"      --foreign-user             omit FSF copyright in output for foreign user\n"
+"  -m, --msgstr-prefix[=STRING]   use STRING or \"\" as prefix for msgstr entries\n"
+"  -M, --msgstr-suffix[=STRING]   use STRING or \"\" as suffix for msgstr entries\n"
 msgstr ""
+"Utilização: %s [OPÇÃO] def.po ref.po\n"
+"Os argumentos obrigatórios para as opções longas são igualmente\n"
+"obrigatórios para as opções curtas.\n"
+"  -D, --directory=DIRECTÓRIO  adiciona DIRECTÓRIO à lista de procura para\n"
+"                              os ficheiros de entrada\n"
+"  -e, --no-escape             não usa sequências de escape do C na saída\n"
+"                              (opção por defeito)\n"
+"  -E, --escape                usa sequências de escape do C na saída, não\n"
+"                              usando caracteres especiais\n"
+"  -h, --help                  mostra esta ajuda e sai\n"
+"  -i, --indent                modo de saída alinhado\n"
+"  -o, --output-file=FICHEIRO  os resultados de saída serão escritos no FICHEIRO\n"
+"      --strict                modo de saída Uniforum estrito\n"
+"  -v, --verbose               aumenta o nível de verbosidade da saída\n"
+"  -V, --version               mostra a informação de versão e sai\n"
+"  -w, --width=NÚMERO          especifica a largura de página na saída\n"
 
-#: src/xgettext.c:924
-#, c-format
-msgid "%s:%d: warning: keyword between outer keyword and its arg"
+#: src/xgettext.c:720
+msgid "standard input"
+msgstr "entrada standard"
+
+#: src/xgettext.c:830
+msgid ""
+"Empty msgid.  It is reserved by GNU gettext:\n"
+"gettext(\"\") returns the header entry with\n"
+"meta information, not the empty string.\n"
 msgstr ""
 
-#: src/xgettext.c:1420
+#: src/xgettext.c:1099
 #, c-format
 msgid "language `%s' unknown"
 msgstr ""
 
+#~ msgid "while creating hash table"
+#~ msgstr "durante a criação da tabela de dispersão"
+
+#~ msgid "while preparing output"
+#~ msgstr "durante a preparação da saída"
+
+#~ msgid "this message has no definition in the \"%s\" domain"
+#~ msgstr "esta mensagem não tem definição no domínio \"%s\""
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: %s [OPTION] INPUTFILE ...\n"
+#~ "Mandatory arguments to long options are mandatory for short options too.\n"
+#~ "  -d, --default-domain=NAME      use NAME.po for output (instead of "
+#~ "messages.po)\n"
+#~ "  -D, --directory=DIRECTORY      add DIRECTORY to list for input files "
+#~ "search\n"
+#~ "  -e, --no-escape                do not use C escapes in output "
+#~ "(default)\n"
+#~ "  -E, --escape                   use C escapes in output, no extended "
+#~ "chars\n"
+#~ "  -f, --files-from=FILE          get list of input files from FILE\n"
+#~ "      --force-po                 write PO file even if empty\n"
+#~ "  -F, --sort-by-file             sort output by file location\n"
+#~ "  -h, --help                     display this help and exit\n"
+#~ msgstr ""
+#~ "Utilização: %s [OPÇÃO] FICHEIRODEENTRADA...\n"
+#~ "Os argumentos obrigatórios para as opções longas são igualmente\n"
+#~ "obrigatórios para as opções curtas.\n"
+#~ "  -a, --extract-all              extrai todas as cadeias\n"
+#~ "  -c, --add-comments[=TAG]       coloca o bloco comentado com TAG (ou as\n"
+#~ "                                 linhas de cabeçalho precedentes) no "
+#~ "ficheiro\n"
+#~ "                                 de saída.\n"
+#~ "  -C, --c++                      reconhece comentários do tipo C++\n"
+#~ "      --debug                    produz resultados mais detalhados do\n"
+#~ "                                 reconhecimento das cadeias de "
+#~ "formatação\n"
+#~ "  -d, --default-domain=NOME      usa NOME.po para a saída (em vez de\n"
+#~ "                                 messages.po)\n"
+#~ "  -D, --directory=DIRECTÓRIO     adiciona DIRECTÓRIO à lista de procura "
+#~ "para\n"
+#~ "   \"                             os ficheiros de entrada\n"
+#~ "  -e, --no-escape                não usa sequências de escape do C na "
+#~ "saída\n"
+#~ "                                 (opção por defeito)\n"
+#~ "  -E, --escape                   usa sequências de escape do C na saída, "
+#~ "não\n"
+#~ "                                 usando caracteres especiais\n"
+#~ "  -f, --files-from=FICHEIRO      obtém lista de ficheiros de entrada de\n"
+#~ "                                 FICHEIRO\n"
+#~ "      --force-po                 escreve o ficheiro PO mesmo se este "
+#~ "estiver\n"
+#~ "                                 vazio\n"
+#~ "  -F, --sort-by-file             ordena a saída pela localização dos "
+#~ "ficheiros\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "  -i, --indent                   write the .po file using indented style\n"
+#~ "      --no-location              do not write '#: filename:line' lines\n"
+#~ "  -n, --add-location             generate '#: filename:line' lines "
+#~ "(default)\n"
+#~ "      --omit-header              don't write header with `msgid \"\"' "
+#~ "entry\n"
+#~ "  -o, --output=FILE              write output to specified file\n"
+#~ "  -p, --output-dir=DIR           output files will be placed in directory "
+#~ "DIR\n"
+#~ "  -s, --sort-output              generate sorted output and remove "
+#~ "duplicates\n"
+#~ "      --strict                   write out strict Uniforum conforming .po "
+#~ "file\n"
+#~ "  -T, --trigraphs                understand ANSI C trigraphs for input\n"
+#~ "  -u, --unique                   shorthand for --less-than=2, requests\n"
+#~ "                                 that only unique messages be printed\n"
+#~ msgstr ""
+#~ " -n, --add-location             gera linhas do tipo '#: filename:line'\n"
+#~ "                                (opção utilizada por defeito)\n"
+#~ "     --omit-header              não escreve cabeçalhos com campos `msgid"
+#~ "\"\"'\n"
+#~ " -p, --output-dir=DIR           os ficheiros de saída serão colocados no\n"
+#~ "                                directório DIR\n"
+#~ " -s, --sort-output              gera resultados ordenados, removendo os\n"
+#~ "                                duplicados\n"
+#~ "     --strict                   escreve um ficheiro .po de acordo com o\n"
+#~ "                                modo Uniforum estrito\n"
+#~ " -T, --trigraphs                entende trigrafos ANSI C na entrada\n"
+#~ " -V, --version                  mostra a informação de versão e sai\n"
+#~ " -w, --width=NÚMERO             especifica a largura de página na saída\n"
+#~ " -x, --exclude-file=FICHEIRO    os campos do FICHEIRO não são extraídos\n"
+#~ "\n"
+#~ "Se o ficheiro de entrada for -, o canal de entrada por defeito (stdin) é\n"
+#~ "usado.\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: %s [OPTION] filename.po ...\n"
+#~ "Generate binary message catalog from textual translation description.\n"
+#~ "\n"
+#~ "Mandatory arguments to long options are mandatory for short options too.\n"
+#~ "  -a, --alignment=NUMBER      align strings to NUMBER bytes (default: %"
+#~ "d)\n"
+#~ "  -c, --check                 perform language dependent checks on "
+#~ "strings\n"
+#~ "  -D, --directory=DIRECTORY   add DIRECTORY to list for input files "
+#~ "search\n"
+#~ "  -f, --use-fuzzy             use fuzzy entries in output\n"
+#~ "  -h, --help                  display this help and exit\n"
+#~ "      --no-hash               binary file will not include the hash "
+#~ "table\n"
+#~ "  -o, --output-file=FILE      specify output file name as FILE\n"
+#~ "      --statistics            print statistics about translations\n"
+#~ "      --strict                enable strict Uniforum mode\n"
+#~ "  -v, --verbose               list input file anomalies\n"
+#~ "  -V, --version               output version information and exit\n"
+#~ "\n"
+#~ "Giving the -v option more than once increases the verbosity level.\n"
+#~ "\n"
+#~ "If input file is -, standard input is read.  If output file is -,\n"
+#~ "output is written to standard output.\n"
+#~ msgstr ""
+#~ "Utilização: %s [OPÇÃO] ficheiro.po ...\n"
+#~ "Os argumentos obrigatórios para as opções longas são igualmente\n"
+#~ "obrigatórios para as opções curtas.\n"
+#~ "  -a, --alignment=NÚMERO      alinha as cadeias a NÚMERO bytes (defeito: %"
+#~ "d)\n"
+#~ "  -c, --check                 executa testes dependentes da linguagem na\n"
+#~ "                              cadeia\n"
+#~ "  -D, --directory=DIRECTÓRIO  adiciona DIRECTÓRIO à lista de procura "
+#~ "para\n"
+#~ "                              os ficheiros de entrada\n"
+#~ "  -h, --help                  mostra esta ajuda e sai\n"
+#~ "      --no-hash               o ficheiro binário não irá incluir a "
+#~ "tabela\n"
+#~ "                              de dispersão\n"
+#~ "  -o, --output-file=FICHEIRO  especifica o nome do ficheiro de saída "
+#~ "como\n"
+#~ "                              FICHEIRO\n"
+#~ "      --statistics            escreve informação estatística sobre as\n"
+#~ "                              traduções\n"
+#~ "      --strict                usa o modo Uniforum estrito\n"
+#~ "  -v, --verbose               lista as anormalias no ficheiro de entrada\n"
+#~ "  -V, --version               mostra a informação de versão e sai\n"
+#~ "\n"
+#~ "Se o ficheiro de entrada é -, é usado o canal de entrada stdin. Se o\n"
+#~ "ficheiro de saída é -, a saída é escrita no canal de saída stdout.\n"
+
+#~ msgid ""
+#~ "\n"
+#~ "Convert binary .mo files to Uniforum style .po files.\n"
+#~ "Both little-endian and big-endian .mo files are handled.\n"
+#~ "If no input file is given or it is -, standard input is read.\n"
+#~ "By default the output is written to standard output.\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Converte ficheiros .mo binários em ficheiros .po no modo Uniforum.\n"
+#~ "Ficheiros .mo \"little-endian\" e \"big-endian\" são simultaneamente\n"
+#~ "tratados. Se não for indicado ficheiro de entrada ou este for -, é\n"
+#~ "usado o canal de entrada stdin. Por defeito a saída é escrita no\n"
+#~ "stdout.\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "Usage: %s [OPTION] INPUTFILE ...\n"
+#~ "Extract translatable string from given input files.\n"
+#~ "\n"
+#~ "Mandatory arguments to long options are mandatory for short options too.\n"
+#~ "  -a, --extract-all              extract all strings\n"
+#~ "  -c, --add-comments[=TAG]       place comment block with TAG (or those\n"
+#~ "                                 preceding keyword lines) in output file\n"
+#~ "  -C, --c++                      shorthand for --language=C++\n"
+#~ "      --debug                    more detailed formatstring recognision "
+#~ "result\n"
+#~ "  -d, --default-domain=NAME      use NAME.po for output (instead of "
+#~ "messages.po)\n"
+#~ "  -D, --directory=DIRECTORY      add DIRECTORY to list for input files "
+#~ "search\n"
+#~ "  -e, --no-escape                do not use C escapes in output "
+#~ "(default)\n"
+#~ "  -E, --escape                   use C escapes in output, no extended "
+#~ "chars\n"
+#~ "  -f, --files-from=FILE          get list of input files from FILE\n"
+#~ "      --force-po                 write PO file even if empty\n"
+#~ "      --foreign-user             omit FSF copyright in output for foreign "
+#~ "user\n"
+#~ "  -F, --sort-by-file             sort output by file location\n"
+#~ msgstr ""
+#~ "Utilização: %s [OPÇÃO] FICHEIRODEENTRADA...\n"
+#~ "Os argumentos obrigatórios para as opções longas são igualmente\n"
+#~ "obrigatórios para as opções curtas.\n"
+#~ "  -a, --extract-all              extrai todas as cadeias\n"
+#~ "  -c, --add-comments[=TAG]       coloca o bloco comentado com TAG (ou as\n"
+#~ "                                 linhas de cabeçalho precedentes) no "
+#~ "ficheiro\n"
+#~ "                                 de saída.\n"
+#~ "  -C, --c++                      reconhece comentários do tipo C++\n"
+#~ "      --debug                    produz resultados mais detalhados do\n"
+#~ "                                 reconhecimento das cadeias de "
+#~ "formatação\n"
+#~ "  -d, --default-domain=NOME      usa NOME.po para a saída (em vez de\n"
+#~ "                                 messages.po)\n"
+#~ "  -D, --directory=DIRECTÓRIO     adiciona DIRECTÓRIO à lista de procura "
+#~ "para\n"
+#~ "   \"                             os ficheiros de entrada\n"
+#~ "  -e, --no-escape                não usa sequências de escape do C na "
+#~ "saída\n"
+#~ "                                 (opção por defeito)\n"
+#~ "  -E, --escape                   usa sequências de escape do C na saída, "
+#~ "não\n"
+#~ "                                 usando caracteres especiais\n"
+#~ "  -f, --files-from=FICHEIRO      obtém lista de ficheiros de entrada de\n"
+#~ "                                 FICHEIRO\n"
+#~ "      --force-po                 escreve o ficheiro PO mesmo se este "
+#~ "estiver\n"
+#~ "                                 vazio\n"
+#~ "  -F, --sort-by-file             ordena a saída pela localização dos "
+#~ "ficheiros\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "  -h, --help                     display this help and exit\n"
+#~ "  -i, --indent                   write the .po file using indented style\n"
+#~ "  -j, --join-existing            join messages with existing file\n"
+#~ "  -k, --keyword[=WORD]           additonal keyword to be looked for "
+#~ "(without\n"
+#~ "                                 WORD means not to use default keywords)\n"
+#~ "  -L, --language=NAME            recognise the specified language (C, C+"
+#~ "+, PO),\n"
+#~ "                                 otherwise is guessed from file "
+#~ "extension\n"
+#~ "  -m, --msgstr-prefix[=STRING]   use STRING or \"\" as prefix for msgstr "
+#~ "entries\n"
+#~ "  -M, --msgstr-suffix[=STRING]   use STRING or \"\" as suffix for msgstr "
+#~ "entries\n"
+#~ "      --no-location              do not write '#: filename:line' lines\n"
+#~ msgstr ""
+#~ " -h, --help                     mostra esta ajuda e sai\n"
+#~ " -i, --indent                   escreve o ficheiro .po usando o modo de\n"
+#~ "                                saída alinhado\n"
+#~ " -j, --join-existing            combina as mensagens com o ficheiro "
+#~ "existente\n"
+#~ " -k, --keyword[=PALAVRA]        palavra chave adicional a ser procurada\n"
+#~ "                                (sem PALAVRA significa não usar as "
+#~ "palavras\n"
+#~ "                                chave por defeito)\n"
+#~ " -l, --string-limit=NÚMERO      especifica o tamanho máximo das cadeias "
+#~ "como\n"
+#~ "                                NÚMERO, em vez de %u\n"
+#~ " -m, --msgstr-prefix[=CADEIA]   usa CADEIA or \"\" como prefixo para os\n"
+#~ "                                campos `msgstr'\n"
+#~ " -M, --msgstr-suffix[=STRING]   usa CADEIA ou \"\" como sufixo para as "
+#~ "cadeias\n"
+#~ "                                `msgstr'\n"
+#~ "     --no-location              não escreve linhas do tipo '#: filename:"
+#~ "line'\n"
+
+#, fuzzy
+#~ msgid ""
+#~ "  -n, --add-location             generate '#: filename:line' lines "
+#~ "(default)\n"
+#~ "      --omit-header              don't write header with `msgid \"\"' "
+#~ "entry\n"
+#~ "  -o, --output=FILE              write output to specified file\n"
+#~ "  -p, --output-dir=DIR           output files will be placed in directory "
+#~ "DIR\n"
+#~ "  -s, --sort-output              generate sorted output and remove "
+#~ "duplicates\n"
+#~ "      --strict                   write out strict Uniforum conforming .po "
+#~ "file\n"
+#~ "  -T, --trigraphs                understand ANSI C trigraphs for input\n"
+#~ "  -V, --version                  output version information and exit\n"
+#~ "  -w, --width=NUMBER             set output page width\n"
+#~ "  -x, --exclude-file=FILE        entries from FILE are not extracted\n"
+#~ "\n"
+#~ "If INPUTFILE is -, standard input is read.\n"
+#~ msgstr ""
+#~ " -n, --add-location             gera linhas do tipo '#: filename:line'\n"
+#~ "                                (opção utilizada por defeito)\n"
+#~ "     --omit-header              não escreve cabeçalhos com campos `msgid"
+#~ "\"\"'\n"
+#~ " -p, --output-dir=DIR           os ficheiros de saída serão colocados no\n"
+#~ "                                directório DIR\n"
+#~ " -s, --sort-output              gera resultados ordenados, removendo os\n"
+#~ "                                duplicados\n"
+#~ "     --strict                   escreve um ficheiro .po de acordo com o\n"
+#~ "                                modo Uniforum estrito\n"
+#~ " -T, --trigraphs                entende trigrafos ANSI C na entrada\n"
+#~ " -V, --version                  mostra a informação de versão e sai\n"
+#~ " -w, --width=NÚMERO             especifica a largura de página na saída\n"
+#~ " -x, --exclude-file=FICHEIRO    os campos do FICHEIRO não são extraídos\n"
+#~ "\n"
+#~ "Se o ficheiro de entrada for -, o canal de entrada por defeito (stdin) é\n"
+#~ "usado.\n"
+
 #, fuzzy
 #~ msgid ""
 #~ "%s: warning: charset \"%s\" is not supported by iconv%s\n"
index 02e279bdf1465b7f07f9c65526f512ac003f08f5..393bd4c5d522fe00312e66e792a3960b0396bb51 100644 (file)
Binary files a/po/pt_BR.gmo and b/po/pt_BR.gmo differ
index 153d75784857f9bc44d647725468ff2007183f1f..2c12ceae5322c9d3f1dd993ab7e6b20c7554c665 100644 (file)
@@ -7,7 +7,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: GNU gettext 0.10.36\n"
-"POT-Creation-Date: 2001-06-12 15:05+0200\n"
+"POT-Creation-Date: 2001-11-30 14:18+0100\n"
 "PO-Revision-Date: 2001-04-03 08:25+02:00\n"
 "Last-Translator: Flávio Bruno Leitner <flavio@conectiva.com.br>\n"
 "Language-Team: Brazilian Portuguese <ldp-br@bazar.conectiva.com.br>\n"
@@ -16,10 +16,57 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
 
+#: lib/argmatch.c:141
+#, c-format
+msgid "invalid argument `%s' for `%s'"
+msgstr ""
+
+#: lib/argmatch.c:142
+#, c-format
+msgid "ambiguous argument `%s' for `%s'"
+msgstr ""
+
+#: lib/argmatch.c:162
+msgid "Valid arguments are:"
+msgstr ""
+
+#: lib/copy-file.c:60 src/file-list.c:57 src/po-lex.c:732 src/read-mo.c:170
+#: src/xgettext.c:729 src/xgettext.c:742 src/xgettext.c:752
+#, c-format
+msgid "error while opening \"%s\" for reading"
+msgstr "erro ao abrir \"%s\" para leitura"
+
+#: lib/copy-file.c:67
+#, fuzzy, c-format
+msgid "cannot open backup file \"%s\" for writing"
+msgstr "erro ao abrir o arquivo \"%s\" para gravação"
+
+#: lib/copy-file.c:80
+#, fuzzy, c-format
+msgid "error reading \"%s\""
+msgstr "erro ao ler \"%s\""
+
+#: lib/copy-file.c:86 lib/copy-file.c:90
+#, fuzzy, c-format
+msgid "error writing \"%s\""
+msgstr "erro ao gravar o arquivo \"%s\""
+
+#: lib/copy-file.c:92
+#, fuzzy, c-format
+msgid "error after reading \"%s\""
+msgstr "erro ao ler \"%s\""
+
 #: lib/error.c:115
 msgid "Unknown system error"
 msgstr "Erro de sistema desconhecido"
 
+#: lib/execute.c:170 lib/execute.c:205 lib/pipe-bidi.c:156 lib/pipe-bidi.c:191
+#: lib/pipe-in.c:167 lib/pipe-in.c:202 lib/pipe-out.c:167 lib/pipe-out.c:202
+#: lib/wait-process.c:136
+#, c-format
+msgid "%s subprocess failed"
+msgstr ""
+
 #: lib/getopt.c:691
 #, c-format
 msgid "%s: option `%s' is ambiguous\n"
@@ -40,19 +87,16 @@ msgstr "%s: op
 msgid "%s: option `%s' requires an argument\n"
 msgstr "%s: opção `%s' requer um argumento\n"
 
-#. --option
 #: lib/getopt.c:768
 #, c-format
 msgid "%s: unrecognized option `--%s'\n"
 msgstr "%s: opção não reconhecida `--%s'\n"
 
-#. +option or -option
 #: lib/getopt.c:772
 #, c-format
 msgid "%s: unrecognized option `%c%s'\n"
 msgstr "%s: opção não reconhecida `%c%s'\n"
 
-#. 1003.2 specifies the format of this message.
 #: lib/getopt.c:798
 #, c-format
 msgid "%s: illegal option -- %c\n"
@@ -63,7 +107,6 @@ msgstr "%s: op
 msgid "%s: invalid option -- %c\n"
 msgstr "%s: opção inválida -- %c\n"
 
-#. 1003.2 specifies the format of this message.
 #: lib/getopt.c:831 lib/getopt.c:961
 #, c-format
 msgid "%s: option requires an argument -- %c\n"
@@ -79,36 +122,118 @@ msgstr "%s: op
 msgid "%s: option `-W %s' doesn't allow an argument\n"
 msgstr "%s: opção `-W %s' não aceita parâmetros\n"
 
-#: lib/obstack.c:474 lib/xerror.c:69 lib/xmalloc.c:86
+#: lib/javacomp.c:465
+msgid "Java compiler not found, try installing gcj or set $JAVAC"
+msgstr ""
+
+#: lib/javaexec.c:404
+msgid "Java virtual machine not found, try installing gij or set $JAVA"
+msgstr ""
+
+#: lib/obstack.c:474 lib/xerror.c:75 lib/xmalloc.c:56
 msgid "memory exhausted"
 msgstr "Memória insuficiente"
 
-#: lib/pipe-bidi.c:101 lib/pipe-bidi.c:103 lib/pipe-in.c:117
-#: lib/pipe-out.c:117
+#: lib/pipe-bidi.c:119 lib/pipe-bidi.c:121 lib/pipe-in.c:136
+#: lib/pipe-out.c:136
 #, fuzzy
 msgid "cannot create pipe"
 msgstr "não foi possível criar o arquivo de saída \"%s\""
 
-#: lib/pipe-bidi.c:125 lib/pipe-bidi.c:142 lib/pipe-in.c:135 lib/pipe-in.c:155
-#: lib/pipe-out.c:135 lib/pipe-out.c:155
-#, c-format
-msgid "%s subprocess failed"
-msgstr ""
-
-#: lib/wait-process.c:109
+#: lib/wait-process.c:117
 #, c-format
 msgid "%s subprocess"
 msgstr ""
 
-#: lib/wait-process.c:117
+#: lib/wait-process.c:129
 #, c-format
 msgid "%s subprocess got fatal signal"
 msgstr ""
 
-#: src/gettext.c:144 src/msgcat.c:245 src/msgcmp.c:132 src/msgcomm.c:242
-#: src/msgconv.c:180 src/msgen.c:168 src/msgfmt.c:272 src/msggrep.c:276
-#: src/msgmerge.c:222 src/msgsed.c:242 src/msgunfmt.c:174 src/ngettext.c:124
-#: src/xgettext.c:386
+#: src/format-c.c:578 src/format-python.c:463
+#, fuzzy
+msgid "number of format specifications in 'msgid' and 'msgstr' does not match"
+msgstr ""
+"número de especificações de formatos em `msgid' e `msgstr' não conferem"
+
+#: src/format-c.c:588 src/format-python.c:473
+#, fuzzy, c-format
+msgid ""
+"format specifications in 'msgid' and 'msgstr' for argument %u are not the "
+"same"
+msgstr "especificações de formato para o argumento %lu são diferentes"
+
+#: src/format-java.c:652 src/format-pascal.c:396
+#, fuzzy, c-format
+msgid "a format specification for argument {%u} doesn't exist in 'msgid'"
+msgstr "especificações de formato para o argumento %lu são diferentes"
+
+#: src/format-java.c:662 src/format-pascal.c:406
+#, fuzzy, c-format
+msgid "a format specification for argument {%u} doesn't exist in 'msgstr'"
+msgstr "especificações de formato para o argumento %lu são diferentes"
+
+#: src/format-java.c:676 src/format-pascal.c:420
+#, fuzzy, c-format
+msgid ""
+"format specifications in 'msgid' and 'msgstr' for argument {%u} are not the "
+"same"
+msgstr "especificações de formato para o argumento %lu são diferentes"
+
+#: src/format-lisp.c:3371
+#, fuzzy
+msgid "format specifications in 'msgid' and 'msgstr' are not equivalent"
+msgstr ""
+"número de especificações de formatos em `msgid' e `msgstr' não conferem"
+
+#: src/format-python.c:391
+#, fuzzy
+msgid ""
+"format specifications in 'msgid' expect a mapping, those in 'msgstr' expect "
+"a tuple"
+msgstr ""
+"número de especificações de formatos em `msgid' e `msgstr' não conferem"
+
+#: src/format-python.c:399
+#, fuzzy
+msgid ""
+"format specifications in 'msgid' expect a tuple, those in 'msgstr' expect a "
+"mapping"
+msgstr ""
+"número de especificações de formatos em `msgid' e `msgstr' não conferem"
+
+#: src/format-python.c:422
+#, fuzzy, c-format
+msgid "a format specification for argument '%s' doesn't exist in 'msgid'"
+msgstr "especificações de formato para o argumento %lu são diferentes"
+
+#: src/format-python.c:432
+#, fuzzy, c-format
+msgid "a format specification for argument '%s' doesn't exist in 'msgstr'"
+msgstr "especificações de formato para o argumento %lu são diferentes"
+
+#: src/format-python.c:446
+#, fuzzy, c-format
+msgid ""
+"format specifications in 'msgid' and 'msgstr' for argument '%s' are not the "
+"same"
+msgstr "especificações de formato para o argumento %lu são diferentes"
+
+#: src/format-ycp.c:137
+#, fuzzy, c-format
+msgid "a format specification for argument %u doesn't exist in 'msgstr'"
+msgstr "especificações de formato para o argumento %lu são diferentes"
+
+#: src/format-ycp.c:138
+#, fuzzy, c-format
+msgid "a format specification for argument %u doesn't exist in 'msgid'"
+msgstr "especificações de formato para o argumento %lu são diferentes"
+
+#: src/gettext.c:146 src/hostname.c:168 src/msgattrib.c:264 src/msgcat.c:229
+#: src/msgcmp.c:134 src/msgcomm.c:232 src/msgconv.c:182 src/msgen.c:171
+#: src/msgexec.c:240 src/msgfmt.c:333 src/msggrep.c:276 src/msginit.c:247
+#: src/msgmerge.c:252 src/msgunfmt.c:182 src/msguniq.c:207 src/ngettext.c:126
+#: src/xgettext.c:352
 #, c-format, no-wrap
 msgid ""
 "Copyright (C) %s Free Software Foundation, Inc.\n"
@@ -119,43 +244,45 @@ msgstr ""
 "Este é um sofware livre; veja os fontes para condições de cópia.  Não existe\n"
 "garantia; nem mesmo COMERCIAIS ou de ATENDIMENTO A UMA DETERMINADA FINALIDADE.\n"
 
-#: src/gettext.c:149 src/msgcat.c:250 src/msgcmp.c:137 src/msgcomm.c:247
-#: src/msgconv.c:185 src/msgen.c:173 src/msgfmt.c:277 src/msggrep.c:281
-#: src/msgmerge.c:227 src/msgsed.c:247 src/msgunfmt.c:179 src/ngettext.c:129
-#: src/xgettext.c:391
+#: src/gettext.c:151 src/hostname.c:173 src/msgattrib.c:269 src/msgcat.c:234
+#: src/msgcmp.c:139 src/msgcomm.c:237 src/msgconv.c:187 src/msgen.c:176
+#: src/msgexec.c:245 src/msgfmt.c:338 src/msggrep.c:281 src/msginit.c:252
+#: src/msgmerge.c:257 src/msgunfmt.c:187 src/msguniq.c:212 src/ngettext.c:131
+#: src/xgettext.c:357
 #, c-format
 msgid "Written by %s.\n"
 msgstr "Escrito por %s.\n"
 
-#: src/gettext.c:167 src/ngettext.c:141
+#: src/gettext.c:169 src/hostname.c:183 src/msginit.c:262 src/ngettext.c:143
 msgid "too many arguments"
 msgstr "excesso de parâmetros"
 
-#: src/gettext.c:177 src/ngettext.c:153
+#: src/gettext.c:179 src/ngettext.c:155
 msgid "missing arguments"
 msgstr "parâmetros não informados"
 
-#: src/gettext.c:249 src/msgcat.c:297 src/msgcmp.c:169 src/msgcomm.c:312
-#: src/msgconv.c:234 src/msgen.c:219 src/msgfmt.c:384 src/msggrep.c:366
-#: src/msgmerge.c:273 src/msgsed.c:313 src/msgunfmt.c:219 src/ngettext.c:208
-#: src/xgettext.c:513
+#: src/gettext.c:251 src/hostname.c:197 src/msgattrib.c:322 src/msgcat.c:290
+#: src/msgcmp.c:171 src/msgcomm.c:306 src/msgconv.c:241 src/msgen.c:227
+#: src/msgexec.c:338 src/msgfmt.c:479 src/msggrep.c:371 src/msginit.c:338
+#: src/msgmerge.c:367 src/msgunfmt.c:262 src/msguniq.c:269 src/ngettext.c:210
+#: src/xgettext.c:499
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "Tente `%s --help' para maiores informações\n"
 
-#: src/gettext.c:254
+#: src/gettext.c:256
 #, c-format, no-wrap
 msgid ""
 "Usage: %s [OPTION] [[TEXTDOMAIN] MSGID]\n"
 "or:    %s [OPTION] -s [MSGID]...\n"
 msgstr ""
 
-#: src/gettext.c:260
+#: src/gettext.c:262
 #, no-wrap
 msgid "Display native language translation of a textual message.\n"
 msgstr ""
 
-#: src/gettext.c:264
+#: src/gettext.c:266
 #, fuzzy, no-wrap
 msgid ""
 "  -d, --domain=TEXTDOMAIN   retrieve translated messages from TEXTDOMAIN\n"
@@ -177,7 +304,7 @@ msgstr ""
 "  [DOMÍNIO] MSGID           recupera mensagens traduzidas correspondentes\n"
 "                            para MSGID no DOMÍNIO\n"
 
-#: src/gettext.c:275
+#: src/gettext.c:277
 #, fuzzy, c-format, no-wrap
 msgid ""
 "If the TEXTDOMAIN parameter is not given, the domain is determined from the\n"
@@ -199,31 +326,167 @@ msgstr ""
 "mensagens encontradas no catálogo selecionado\n"
 "Diretório de pesquisa padrão: %s\n"
 
-#: src/gettext.c:285 src/msgcat.c:378 src/msgcmp.c:214 src/msgcomm.c:390
-#: src/msgconv.c:298 src/msgen.c:279 src/msgfmt.c:443 src/msggrep.c:445
-#: src/msgmerge.c:348 src/msgsed.c:379 src/msgunfmt.c:272 src/ngettext.c:241
-#: src/xgettext.c:604
-msgid "Report bugs to <bug-gnu-utils@gnu.org>.\n"
+#: src/gettext.c:288 src/hostname.c:227 src/msgattrib.c:402 src/msgcat.c:371
+#: src/msgcmp.c:216 src/msgcomm.c:384 src/msgconv.c:305 src/msgen.c:287
+#: src/msgexec.c:410 src/msgfmt.c:563 src/msggrep.c:457 src/msginit.c:389
+#: src/msgmerge.c:465 src/msgunfmt.c:331 src/msguniq.c:343 src/ngettext.c:244
+#: src/xgettext.c:591
+#, fuzzy
+msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
 msgstr "Reporte bugs para <bug-gnu-utils@gnu.org>.\n"
 
-#: src/msgcat.c:233 src/msgcat.c:237 src/msgcomm.c:230 src/msgcomm.c:234
-#: src/msgconv.c:205 src/msgen.c:194 src/msggrep.c:301 src/msgmerge.c:248
-#: src/msgsed.c:270 src/xgettext.c:363 src/xgettext.c:367
+#: src/hostname.c:202 src/msginit.c:343
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION]\n"
+msgstr ""
+
+#: src/hostname.c:207
+#, no-wrap
+msgid "Print the machine's hostname.\n"
+msgstr ""
+
+#: src/hostname.c:212
+#, no-wrap
+msgid ""
+"Output format:\n"
+"  -s, --short           short host name\n"
+"  -f, --fqdn, --long    long host name, includes fully qualified domain name,\n"
+"                          and aliases\n"
+"  -i, --ip-address      addresses for the hostname\n"
+msgstr ""
+
+#: src/hostname.c:221 src/msgattrib.c:396 src/msgcmp.c:210 src/msgconv.c:299
+#: src/msgen.c:281 src/msgexec.c:404 src/msggrep.c:451 src/msginit.c:383
+#, no-wrap
+msgid ""
+"Informative output:\n"
+"  -h, --help                  display this help and exit\n"
+"  -V, --version               output version information and exit\n"
+msgstr ""
+
+#: src/hostname.c:242 src/hostname.c:249
+msgid "could not get host name"
+msgstr ""
+
+#: src/msgattrib.c:284 src/msgconv.c:202 src/msgexec.c:190 src/msggrep.c:296
+#: src/msginit.c:205 src/msguniq.c:227
+msgid "at most one input file allowed"
+msgstr ""
+
+#: src/msgattrib.c:290 src/msgattrib.c:294 src/msgcat.c:244 src/msgcat.c:248
+#: src/msgcomm.c:247 src/msgcomm.c:251 src/msgconv.c:208 src/msgconv.c:212
+#: src/msgen.c:198 src/msgen.c:202 src/msgexec.c:260 src/msgexec.c:264
+#: src/msgfmt.c:358 src/msggrep.c:302 src/msggrep.c:306 src/msgmerge.c:282
+#: src/msgmerge.c:303 src/msgmerge.c:307 src/msguniq.c:233 src/msguniq.c:237
+#: src/xgettext.c:367 src/xgettext.c:371
 #, c-format
 msgid "%s and %s are mutually exclusive"
 msgstr "%s e %s são mutuamente exclusivos"
 
-#: src/msgcat.c:270 src/msgcomm.c:278
+#: src/msgattrib.c:327 src/msgconv.c:246 src/msggrep.c:376 src/msguniq.c:274
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] [INPUTFILE]\n"
+msgstr ""
+
+#: src/msgattrib.c:332
+#, no-wrap
+msgid ""
+"Filters the messages of a translation catalog according to their attributes,\n"
+"and manipulates the attributes.\n"
+msgstr ""
+
+#: src/msgattrib.c:338 src/msgcat.c:313 src/msgcmp.c:191 src/msgcomm.c:328
+#: src/msgconv.c:256 src/msgen.c:245 src/msgexec.c:353 src/msgfmt.c:494
+#: src/msggrep.c:387 src/msginit.c:354 src/msgmerge.c:390 src/msgunfmt.c:277
+#: src/msguniq.c:291
+#, no-wrap
+msgid "Mandatory arguments to long options are mandatory for short options too.\n"
+msgstr ""
+
+#: src/msgattrib.c:343 src/msgconv.c:261 src/msggrep.c:392 src/msguniq.c:296
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  INPUTFILE                   input PO file\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"If no input file is given or if it is -, standard input is read.\n"
+msgstr ""
+
+#: src/msgattrib.c:351 src/msgconv.c:269 src/msgen.c:258 src/msgexec.c:366
+#: src/msggrep.c:400 src/msgmerge.c:412
+#, no-wrap
+msgid ""
+"Output file location:\n"
+"  -o, --output-file=FILE      write output to specified file\n"
+"The results are written to standard output if no output file is specified\n"
+"or if it is -.\n"
+msgstr ""
+
+#: src/msgattrib.c:359
+#, no-wrap
+msgid ""
+"Message selection:\n"
+"      --translated            keep translated, remove untranslated messages\n"
+"      --untranslated          keep untranslated, remove translated messages\n"
+"      --no-fuzzy              remove 'fuzzy' marked messages\n"
+"      --only-fuzzy            keep 'fuzzy' marked messages\n"
+"      --no-obsolete           remove obsolete #~ messages\n"
+"      --only-obsolete         keep obsolete #~ messages\n"
+msgstr ""
+
+#: src/msgattrib.c:370
+#, no-wrap
+msgid ""
+"Attribute manipulation:\n"
+"      --set-fuzzy             set all messages 'fuzzy'\n"
+"      --clear-fuzzy           set all messages non-'fuzzy'\n"
+"      --set-obsolete          set all messages obsolete\n"
+"      --clear-obsolete        set all messages non-obsolete\n"
+"      --fuzzy                 synonym for --only-fuzzy --clear-fuzzy\n"
+"      --obsolete              synonym for --only-obsolete --clear-obsolete\n"
+msgstr ""
+
+#: src/msgattrib.c:381
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
+"  -e, --no-escape             do not use C escapes in output (default)\n"
+"  -E, --escape                use C escapes in output, no extended chars\n"
+"      --force-po              write PO file even if empty\n"
+"  -i, --indent                write the .po file using indented style\n"
+"      --no-location           do not write '#: filename:line' lines\n"
+"  -n, --add-location          generate '#: filename:line' lines (default)\n"
+"      --strict                write out strict Uniforum conforming .po file\n"
+"  -w, --width=NUMBER          set output page width\n"
+"  -s, --sort-output           generate sorted output\n"
+"  -F, --sort-by-file          sort output by file location\n"
+msgstr ""
+"Uso: %s [OPÇÃO] def.po ref.po\n"
+"Parâmetros obrigatórios para opções longas são também obrigatórios\n"
+"para as opções curtas\n"
+"  -D, --directory=DIR      adiciona DIR para a lista de pesquisa de arquivos de entrada\n"
+"  -e, --no-escape          não utilizar escapes C na saída (padrão)\n"
+"  -E, --escape             usar escapes C na saída sem caracteres estendidos\n"
+"      --force-po           grava o arquivo .po mesmo que vazio\n"
+"  -h, --help               apresenta esta ajuda e finaliza\n"
+"  -i, --indent             estilo de saída indentado\n"
+"  -o, --output-file=ARQ    resultado será gravado em ARQ\n"
+"      --no-location        suprime as linhas '#: arquivo:linha'\n"
+"      --add-location       preserva as linhas '#: arquivo:linha' (padrão)\n"
+"  -S, --strict             habilita o modo Uniforum estrito\n"
+"  -V, --version            apresenta informações de versão e finaliza\n"
+
+#: src/msgcat.c:254 src/msgcomm.c:277
 #, c-format
 msgid "impossible selection criteria specified (%d < n < %d)"
 msgstr "critério de seleção especificado impossível (%d < n < %d)"
 
-#: src/msgcat.c:302 src/msgcomm.c:317 src/xgettext.c:518
+#: src/msgcat.c:295 src/msgcomm.c:311 src/xgettext.c:504
 #, c-format, no-wrap
 msgid "Usage: %s [OPTION] [INPUTFILE]...\n"
 msgstr ""
 
-#: src/msgcat.c:307
+#: src/msgcat.c:300
 #, fuzzy, no-wrap
 msgid ""
 "Concatenates and merges the specified PO files.\n"
@@ -253,14 +516,7 @@ msgstr ""
 "primeiro arquivo PO que os definirem. As posições de arquivo de todos\n"
 "os arquivos PO serão preservados.\n"
 
-#: src/msgcat.c:320 src/msgcmp.c:189 src/msgcomm.c:334 src/msgconv.c:249
-#: src/msgen.c:237 src/msgfmt.c:399 src/msggrep.c:382 src/msgmerge.c:296
-#: src/msgsed.c:328 src/msgunfmt.c:234
-#, no-wrap
-msgid "Mandatory arguments to long options are mandatory for short options too.\n"
-msgstr ""
-
-#: src/msgcat.c:325 src/msgcomm.c:339 src/xgettext.c:534
+#: src/msgcat.c:318 src/msgcomm.c:333 src/xgettext.c:520
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -270,7 +526,7 @@ msgid ""
 "If input file is -, standard input is read.\n"
 msgstr ""
 
-#: src/msgcat.c:334 src/msgcomm.c:348
+#: src/msgcat.c:327 src/msgcomm.c:342 src/msguniq.c:304
 #, no-wrap
 msgid ""
 "Output file location:\n"
@@ -279,7 +535,7 @@ msgid ""
 "or if it is -.\n"
 msgstr ""
 
-#: src/msgcat.c:342 src/msgcomm.c:356
+#: src/msgcat.c:335
 #, fuzzy, no-wrap
 msgid ""
 "Message selection:\n"
@@ -287,7 +543,7 @@ msgid ""
 "                                 definitions, defaults to infinite if not\n"
 "                                 set\n"
 "  ->, --more-than=NUMBER         print messages with more than this many\n"
-"                                 definitions, defaults to 1 if not set\n"
+"                                 definitions, defaults to 0 if not set\n"
 "  -u, --unique                   shorthand for --less-than=2, requests\n"
 "                                 that only unique messages be printed\n"
 msgstr ""
@@ -308,7 +564,7 @@ msgstr ""
 "primeiro arquivo PO que os definirem. As posições de arquivo de todos\n"
 "os arquivos PO serão preservados.\n"
 
-#: src/msgcat.c:354
+#: src/msgcat.c:347 src/msguniq.c:319
 #, fuzzy, no-wrap
 msgid ""
 "Output details:\n"
@@ -323,7 +579,7 @@ msgid ""
 "  -n, --add-location             generate '#: filename:line' lines (default)\n"
 "      --strict                   write out strict Uniforum conforming .po file\n"
 "  -w, --width=NUMBER             set output page width\n"
-"  -s, --sort-output              generate sorted output and remove duplicates\n"
+"  -s, --sort-output              generate sorted output\n"
 "  -F, --sort-by-file             sort output by file location\n"
 msgstr ""
 "Uso: %s [OPÇÃO] def.po ref.po\n"
@@ -341,7 +597,7 @@ msgstr ""
 "  -S, --strict             habilita o modo Uniforum estrito\n"
 "  -V, --version            apresenta informações de versão e finaliza\n"
 
-#: src/msgcat.c:372 src/msgcomm.c:384 src/xgettext.c:598
+#: src/msgcat.c:365 src/msgcomm.c:378 src/msguniq.c:337 src/xgettext.c:585
 #, no-wrap
 msgid ""
 "Informative output:\n"
@@ -349,74 +605,20 @@ msgid ""
 "  -V, --version                  output version information and exit\n"
 msgstr ""
 
-#: src/msgcat.c:403 src/msgcomm.c:415 src/msgunfmt.c:394 src/po-lex.c:85
-#: src/xget-lex.c:159 src/xget-lex.c:172 src/xget-lex.c:182 src/xgettext.c:629
-#, c-format
-msgid "error while opening \"%s\" for reading"
-msgstr "erro ao abrir \"%s\" para leitura"
-
-#: src/msgcat.c:544 src/msgl-charset.c:82 src/msgl-iconv.c:292
-#, fuzzy, c-format
-msgid "present charset \"%s\" is not a portable encoding name"
-msgstr "%s: aviso: charset \"%s\" não é suportado pelo iconv%s"
-
-#: src/msgcat.c:552 src/msgl-iconv.c:300
-#, c-format
-msgid "two different charsets \"%s\" and \"%s\" in input file"
-msgstr ""
-
-#: src/msgcat.c:561
-#, c-format
-msgid ""
-"input file `%s' doesn't contain a header entry with a charset specification"
-msgstr ""
-
-#: src/msgcat.c:565
-#, c-format
-msgid ""
-"domain \"%s\" in input file `%s' doesn't contain a header entry with a "
-"charset specification"
-msgstr ""
-
-#: src/msgcat.c:719 src/msgl-iconv.c:370
-#, fuzzy, c-format
-msgid "target charset \"%s\" is not a portable encoding name."
-msgstr "%s: aviso: charset \"%s\" não é suportado pelo iconv%s"
-
-#: src/msgcat.c:752 src/msgcat.c:758 src/msgl-charset.c:87
-#: src/msgl-charset.c:122
-msgid "warning: "
-msgstr ""
-
-#: src/msgcat.c:753
-msgid ""
-"Input files contain messages in different encodings, UTF-8 among others.\n"
-"Converting the output to UTF-8.\n"
-msgstr ""
-
-#: src/msgcat.c:759
-#, c-format
-msgid ""
-"Input files contain messages in different encodings, %s and %s among "
-"others.\n"
-"Converting the output to UTF-8.\n"
-"To select a different output encoding, use the --to-code option.\n"
-msgstr ""
-
-#: src/msgcmp.c:148 src/msgmerge.c:238
+#: src/msgcmp.c:150 src/msgmerge.c:268
 msgid "no input files given"
 msgstr "arquivos de entrada não informados"
 
-#: src/msgcmp.c:153 src/msgmerge.c:243
+#: src/msgcmp.c:155 src/msgmerge.c:273
 msgid "exactly 2 input files required"
 msgstr "são necessários 2 arquivos de entrada"
 
-#: src/msgcmp.c:174 src/msgmerge.c:278
+#: src/msgcmp.c:176 src/msgmerge.c:372
 #, c-format, no-wrap
 msgid "Usage: %s [OPTION] def.po ref.pot\n"
 msgstr ""
 
-#: src/msgcmp.c:179
+#: src/msgcmp.c:181
 #, fuzzy, no-wrap
 msgid ""
 "Compare two Uniforum style .po files to check that both contain the same\n"
@@ -441,7 +643,7 @@ msgstr ""
 "mensagens do programa foram traduzidas. Onde uma igualdade não puder ser\n"
 "encontrada uma aproximação é utilizada para produzir um melhor diagnóstico.\n"
 
-#: src/msgcmp.c:194
+#: src/msgcmp.c:196
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -450,59 +652,50 @@ msgid ""
 "  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
 msgstr ""
 
-#: src/msgcmp.c:202 src/msgmerge.c:319
+#: src/msgcmp.c:204 src/msgmerge.c:436
 #, no-wrap
 msgid ""
 "Operation modifiers:\n"
 "  -m, --multi-domain          apply ref.pot to each of the domains in def.po\n"
 msgstr ""
 
-#: src/msgcmp.c:208 src/msgconv.c:292 src/msgen.c:273 src/msggrep.c:439
-#: src/msgsed.c:373
-#, no-wrap
-msgid ""
-"Informative output:\n"
-"  -h, --help                  display this help and exit\n"
-"  -V, --version               output version information and exit\n"
-msgstr ""
-
-#: src/msgcmp.c:251 src/msgmerge.c:426
+#: src/msgcmp.c:253 src/msgmerge.c:543
 msgid "this message is used but not defined..."
 msgstr "esta mensagem é utilizada, mas não foi definida..."
 
-#: src/msgcmp.c:253 src/msgmerge.c:428
+#: src/msgcmp.c:255 src/msgmerge.c:545
 msgid "...but this definition is similar"
 msgstr "...mas esta definição é similar"
 
-#: src/msgcmp.c:258 src/msgmerge.c:455
+#: src/msgcmp.c:260 src/msgmerge.c:572
 #, c-format
 msgid "this message is used but not defined in %s"
 msgstr "esta mensagem é utilizada mas não definida em %s"
 
-#: src/msgcmp.c:330
+#: src/msgcmp.c:332
 msgid "warning: this message is not used"
 msgstr "atenção: esta mensagem não é utilizada"
 
-#: src/msgcmp.c:337 src/po-lex.c:99
+#: src/msgcmp.c:339 src/po-lex.c:705
 #, c-format
 msgid "found %d fatal error"
 msgid_plural "found %d fatal errors"
 msgstr[0] "encontrado %d erro fatal"
 msgstr[1] "encontrados %d erros fatais"
 
-#: src/msgcmp.c:418 src/msgfmt.c:703 src/read-po.c:184 src/xgettext.c:1147
+#: src/msgcmp.c:420 src/msgfmt.c:1323 src/read-po.c:202 src/x-po.c:163
 msgid "duplicate message definition"
 msgstr "definição duplicada de mensagem"
 
-#: src/msgcmp.c:419 src/msgfmt.c:705 src/read-po.c:185 src/xgettext.c:1148
+#: src/msgcmp.c:421 src/msgfmt.c:1324 src/read-po.c:203 src/x-po.c:164
 msgid "...this is the location of the first definition"
 msgstr "...esta é a localização da primeira definição"
 
-#: src/msgcomm.c:267
+#: src/msgcomm.c:266
 msgid "at least two files must be specified"
 msgstr "pelo menos dois arquivos devem ser especificados"
 
-#: src/msgcomm.c:322
+#: src/msgcomm.c:316
 #, fuzzy, no-wrap
 msgid ""
 "Find messages which are common to two or more of the specified PO files.\n"
@@ -531,7 +724,36 @@ msgstr ""
 "primeiro arquivo PO que os definirem. As posições de arquivo de todos\n"
 "os arquivos PO serão preservados.\n"
 
-#: src/msgcomm.c:368
+#: src/msgcomm.c:350
+#, fuzzy, no-wrap
+msgid ""
+"Message selection:\n"
+"  -<, --less-than=NUMBER         print messages with less than this many\n"
+"                                 definitions, defaults to infinite if not\n"
+"                                 set\n"
+"  ->, --more-than=NUMBER         print messages with more than this many\n"
+"                                 definitions, defaults to 1 if not set\n"
+"  -u, --unique                   shorthand for --less-than=2, requests\n"
+"                                 that only unique messages be printed\n"
+msgstr ""
+"  -V, --version                  mostra informações de versão e sai\n"
+"  -w, --width=NUMBER             configura a largura de página de saída\n"
+"  -<, --less-than=NÚMERO         mostra mensagens menores que este número\n"
+"                                 o padrão é infinito\n"
+"  ->, --more-than=NÚMERO         mostra mensagens maiores que este número\n"
+"                                 o padrão é infinito\n"
+"\n"
+"Descobre mensagens que são comuns a dois ou mais do arquivos PO\n"
+"especificados. Usando a opção --more-than, a maior parte das\n"
+"ocorrências podem ser solicitadas antes das mensagens serem impressas.\n"
+"De modo contrário, a opção --less-than pode ser usada para especificar\n"
+"menos ocorrências antes das mensagens serem exibidas (i.e., \n"
+"--less-than=2 irá exibir apenas as mensagens exclusivas). Traduções,\n"
+"comentários e comentários de extração serão preservados, mas apenas do\n"
+"primeiro arquivo PO que os definirem. As posições de arquivo de todos\n"
+"os arquivos PO serão preservados.\n"
+
+#: src/msgcomm.c:362
 #, fuzzy, no-wrap
 msgid ""
 "Output details:\n"
@@ -543,7 +765,7 @@ msgid ""
 "  -n, --add-location             generate '#: filename:line' lines (default)\n"
 "      --strict                   write out strict Uniforum conforming .po file\n"
 "  -w, --width=NUMBER             set output page width\n"
-"  -s, --sort-output              generate sorted output and remove duplicates\n"
+"  -s, --sort-output              generate sorted output\n"
 "  -F, --sort-by-file             sort output by file location\n"
 "      --omit-header              don't write header with `msgid \"\"' entry\n"
 msgstr ""
@@ -562,44 +784,12 @@ msgstr ""
 "  -S, --strict             habilita o modo Uniforum estrito\n"
 "  -V, --version            apresenta informações de versão e finaliza\n"
 
-#: src/msgcomm.c:510 src/xgettext.c:676 src/xgettext.c:1093
-msgid "this file may not contain domain directives"
-msgstr "este arquivo parece não conter diretivas de domínio"
-
-#: src/msgconv.c:200 src/msggrep.c:296 src/msgsed.c:262
-msgid "at most one input file allowed"
-msgstr ""
-
-#: src/msgconv.c:239 src/msggrep.c:371 src/msgsed.c:318
-#, c-format, no-wrap
-msgid "Usage: %s [OPTION] [INPUTFILE]\n"
-msgstr ""
-
-#: src/msgconv.c:244
+#: src/msgconv.c:251
 #, no-wrap
 msgid "Converts a translation catalog to a different character encoding.\n"
 msgstr ""
 
-#: src/msgconv.c:254 src/msggrep.c:387 src/msgsed.c:333
-#, no-wrap
-msgid ""
-"Input file location:\n"
-"  INPUTFILE                   input PO file\n"
-"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
-"If no input file is given or if it is -, standard input is read.\n"
-msgstr ""
-
-#: src/msgconv.c:262 src/msgen.c:250 src/msggrep.c:395 src/msgmerge.c:311
-#: src/msgsed.c:341
-#, no-wrap
-msgid ""
-"Output file location:\n"
-"  -o, --output-file=FILE      write output to specified file\n"
-"The results are written to standard output if no output file is specified\n"
-"or if it is -.\n"
-msgstr ""
-
-#: src/msgconv.c:270
+#: src/msgconv.c:277
 #, no-wrap
 msgid ""
 "Conversion target:\n"
@@ -607,7 +797,7 @@ msgid ""
 "The default encoding is the current locale's encoding.\n"
 msgstr ""
 
-#: src/msgconv.c:277 src/msgen.c:258 src/msgmerge.c:325
+#: src/msgconv.c:284 src/msgen.c:266 src/msgmerge.c:442
 #, fuzzy, no-wrap
 msgid ""
 "Output details:\n"
@@ -619,7 +809,7 @@ msgid ""
 "      --add-location          preserve '#: filename:line' lines (default)\n"
 "      --strict                strict Uniforum output style\n"
 "  -w, --width=NUMBER          set output page width\n"
-"  -s, --sort-output           generate sorted output and remove duplicates\n"
+"  -s, --sort-output           generate sorted output\n"
 "  -F, --sort-by-file          sort output by file location\n"
 msgstr ""
 "Uso: %s [OPÇÃO] def.po ref.po\n"
@@ -637,21 +827,21 @@ msgstr ""
 "  -S, --strict             habilita o modo Uniforum estrito\n"
 "  -V, --version            apresenta informações de versão e finaliza\n"
 
-#: src/msgen.c:184 src/msgfmt.c:288 src/xgettext.c:402
+#: src/msgen.c:187 src/msgfmt.c:349 src/xgettext.c:388
 msgid "no input file given"
 msgstr "não foi informado o arquivo de entrada"
 
-#: src/msgen.c:189
+#: src/msgen.c:192
 #, fuzzy
 msgid "exactly one input file required"
 msgstr "são necessários 2 arquivos de entrada"
 
-#: src/msgen.c:224
+#: src/msgen.c:232
 #, c-format, no-wrap
 msgid "Usage: %s [OPTION] INPUTFILE\n"
 msgstr ""
 
-#: src/msgen.c:229
+#: src/msgen.c:237
 #, no-wrap
 msgid ""
 "Creates an English translation catalog.  The input file is the last\n"
@@ -660,7 +850,7 @@ msgid ""
 "identical to the msgid, and are marked fuzzy.\n"
 msgstr ""
 
-#: src/msgen.c:242
+#: src/msgen.c:250
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -669,43 +859,155 @@ msgid ""
 "If input file is -, standard input is read.\n"
 msgstr ""
 
-#: src/msgfmt.c:339
+#: src/msgexec.c:255
+#, fuzzy
+msgid "missing filter name"
+msgstr "parâmetros não informados"
+
+#: src/msgexec.c:279
+#, fuzzy
+msgid "at least one sed script must be specified"
+msgstr "pelo menos dois arquivos devem ser especificados"
+
+#: src/msgexec.c:343
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] FILTER [FILTER-OPTION]\n"
+msgstr ""
+
+#: src/msgexec.c:348
+#, no-wrap
+msgid "Applies a filter to all translations of a translation catalog.\n"
+msgstr ""
+
+#: src/msgexec.c:358
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  -i, --input=INPUTFILE       input PO file\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"If no input file is given or if it is -, standard input is read.\n"
+msgstr ""
+
+#: src/msgexec.c:374
+#, no-wrap
+msgid ""
+"The FILTER can be any program that reads a translation from standard input\n"
+"and writes a modified translation to standard output.\n"
+msgstr ""
+
+#: src/msgexec.c:380
+#, no-wrap
+msgid ""
+"Useful FILTER-OPTIONs when the FILTER is 'sed':\n"
+"  -e, --expression=SCRIPT     add SCRIPT to the commands to be executed\n"
+"  -f, --file=SCRIPTFILE       add the contents of SCRIPTFILE to the commands\n"
+"                                to be executed\n"
+"  -n, --quiet, --silent       suppress automatic printing of pattern space\n"
+msgstr ""
+
+#: src/msgexec.c:389
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
+"      --no-escape             do not use C escapes in output (default)\n"
+"  -E, --escape                use C escapes in output, no extended chars\n"
+"      --force-po              write PO file even if empty\n"
+"      --indent                indented output style\n"
+"      --no-location           suppress '#: filename:line' lines\n"
+"      --add-location          preserve '#: filename:line' lines (default)\n"
+"      --strict                strict Uniforum output style\n"
+"  -w, --width=NUMBER          set output page width\n"
+"  -s, --sort-output           generate sorted output\n"
+"  -F, --sort-by-file          sort output by file location\n"
+msgstr ""
+"Uso: %s [OPÇÃO] def.po ref.po\n"
+"Parâmetros obrigatórios para opções longas são também obrigatórios\n"
+"para as opções curtas\n"
+"  -D, --directory=DIR      adiciona DIR para a lista de pesquisa de arquivos de entrada\n"
+"  -e, --no-escape          não utilizar escapes C na saída (padrão)\n"
+"  -E, --escape             usar escapes C na saída sem caracteres estendidos\n"
+"      --force-po           grava o arquivo .po mesmo que vazio\n"
+"  -h, --help               apresenta esta ajuda e finaliza\n"
+"  -i, --indent             estilo de saída indentado\n"
+"  -o, --output-file=ARQ    resultado será gravado em ARQ\n"
+"      --no-location        suprime as linhas '#: arquivo:linha'\n"
+"      --add-location       preserva as linhas '#: arquivo:linha' (padrão)\n"
+"  -S, --strict             habilita o modo Uniforum estrito\n"
+"  -V, --version            apresenta informações de versão e finaliza\n"
+
+#: src/msgexec.c:546
+#, c-format
+msgid "cannot set up nonblocking I/O to %s subprocess"
+msgstr ""
+
+#: src/msgexec.c:574
 #, c-format
-msgid "error while opening \"%s\" for writing"
-msgstr "erro ao abrir o arquivo \"%s\" para gravação"
+msgid "communication with %s subprocess failed"
+msgstr ""
+
+#: src/msgexec.c:594
+#, c-format
+msgid "write to %s subprocess failed"
+msgstr ""
+
+#: src/msgexec.c:625
+#, c-format
+msgid "read from %s subprocess failed"
+msgstr ""
+
+#: src/msgexec.c:641
+#, c-format
+msgid "%s subprocess terminated with exit code %d"
+msgstr ""
+
+#: src/msgfmt.c:303
+#, c-format
+msgid "the argument to %s should be a single punctuation character"
+msgstr ""
+
+#: src/msgfmt.c:364
+#, c-format
+msgid "%s requires a \"-d directory\" specification"
+msgstr ""
 
-#: src/msgfmt.c:357
+#: src/msgfmt.c:373 src/msgfmt.c:379 src/msgfmt.c:385 src/msgmerge.c:290
+#: src/msgmerge.c:296 src/msgunfmt.c:209 src/msgunfmt.c:215
+#, c-format
+msgid "%s is only valid with %s"
+msgstr ""
+
+#: src/msgfmt.c:452
 #, c-format
 msgid "%d translated message"
 msgid_plural "%d translated messages"
 msgstr[0] "%d mensagem traduzida"
 msgstr[1] "%d mensagens traduzidas"
 
-#: src/msgfmt.c:362
+#: src/msgfmt.c:457
 #, c-format
 msgid ", %d fuzzy translation"
 msgid_plural ", %d fuzzy translations"
 msgstr[0] ", %d tradução aproximada (fuzzy)"
 msgstr[1] ", %d traduções aproximadas (fuzzy)"
 
-#: src/msgfmt.c:367
+#: src/msgfmt.c:462
 #, c-format
 msgid ", %d untranslated message"
 msgid_plural ", %d untranslated messages"
 msgstr[0] ", %d mensagem não traduzida"
 msgstr[1] ", %d mensagens não traduzidas"
 
-#: src/msgfmt.c:389
+#: src/msgfmt.c:484
 #, c-format, no-wrap
 msgid "Usage: %s [OPTION] filename.po ...\n"
 msgstr ""
 
-#: src/msgfmt.c:394
+#: src/msgfmt.c:489
 #, no-wrap
 msgid "Generate binary message catalog from textual translation description.\n"
 msgstr ""
 
-#: src/msgfmt.c:404
+#: src/msgfmt.c:499
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -714,7 +1016,15 @@ msgid ""
 "If input file is -, standard input is read.\n"
 msgstr ""
 
-#: src/msgfmt.c:412
+#: src/msgfmt.c:507
+#, no-wrap
+msgid ""
+"Operation mode:\n"
+"  -j, --java                  Java mode: generate a Java ResourceBundle class\n"
+"      --java2                 like --java, and assume Java2 (JDK 1.2 or higher)\n"
+msgstr ""
+
+#: src/msgfmt.c:514
 #, no-wrap
 msgid ""
 "Output file location:\n"
@@ -723,15 +1033,35 @@ msgid ""
 "If output file is -, output is written to standard output.\n"
 msgstr ""
 
-#: src/msgfmt.c:420
+#: src/msgfmt.c:522
+#, no-wrap
+msgid ""
+"Output file location in Java mode:\n"
+"  -r, --resource=RESOURCE     resource name\n"
+"  -l, --locale=LOCALE         locale name, either language or language_COUNTRY\n"
+"  -d DIRECTORY                base directory of classes directory hierarchy\n"
+"The class name is determined by appending the locale name to the resource name,\n"
+"separated with an underscore.  The -d option is mandatory.  The class is\n"
+"written under the specified directory.\n"
+msgstr ""
+
+#: src/msgfmt.c:533
 #, no-wrap
 msgid ""
 "Input file interpretation:\n"
-"  -c, --check                 perform language dependent checks on strings\n"
+"  -c, --check                 perform all the checks implied by\n"
+"                                --check-format, --check-header, --check-domain\n"
+"      --check-format          check language dependent format strings\n"
+"      --check-header          verify presence and contents of the header entry\n"
+"      --check-domain          check for conflicts between domain directives\n"
+"                                and the --output-file option\n"
+"  -C, --check-compatibility   check that GNU msgfmt behaves like X/Open msgfmt\n"
+"      --check-accelerators[=CHAR]  check presence of keyboard accelerators for\n"
+"                                menu items\n"
 "  -f, --use-fuzzy             use fuzzy entries in output\n"
 msgstr ""
 
-#: src/msgfmt.c:427
+#: src/msgfmt.c:548
 #, c-format, no-wrap
 msgid ""
 "Output details:\n"
@@ -739,85 +1069,80 @@ msgid ""
 "      --no-hash               binary file will not include the hash table\n"
 msgstr ""
 
-#: src/msgfmt.c:434
+#: src/msgfmt.c:555
 #, no-wrap
 msgid ""
 "Informative output:\n"
 "  -h, --help                  display this help and exit\n"
 "  -V, --version               output version information and exit\n"
 "      --statistics            print statistics about translations\n"
-"  -v, --verbose               list input file anomalies\n"
-"Giving the -v option more than once increases the verbosity level.\n"
+"  -v, --verbose               increase verbosity level\n"
 msgstr ""
 
-#: src/msgfmt.c:466
-msgid "while creating hash table"
-msgstr "enquanto criando tabela hash"
+#: src/msgfmt.c:707
+msgid "plural expression can produce negative values"
+msgstr ""
 
-#: src/msgfmt.c:504
-#, fuzzy
-msgid "warning: PO file header missing, fuzzy, or invalid\n"
+#: src/msgfmt.c:720
+#, c-format
+msgid "nplurals = %lu but plural expression can produce values as large as %lu"
 msgstr ""
-"%s: aviso: Cabeçalho do arquivo PO esquecido, aproximado ou inválido\n"
-"%*s aviso: conversão de charset não vai funcionar"
 
-#: src/msgfmt.c:507
-#, fuzzy
-msgid "warning: charset conversion will not work\n"
+#: src/msgfmt.c:746
+msgid "plural expression can produce division by zero"
 msgstr ""
-"%s: aviso: falta o cabeçalho relativo ao charset\n"
-"%*s aviso: conversão de charset não vai funcionar"
 
-#: src/msgfmt.c:531
-#, c-format
-msgid "domain name \"%s\" not suitable as file name"
-msgstr "nome do domínio \"%s\" não é válido como nome de arquivo"
+#: src/msgfmt.c:751
+msgid "plural expression can produce integer overflow"
+msgstr ""
 
-#: src/msgfmt.c:536
-#, c-format
-msgid "domain name \"%s\" not suitable as file name: will use prefix"
+#: src/msgfmt.c:756
+msgid ""
+"plural expression can produce arithmetic exceptions, possibly division by "
+"zero"
 msgstr ""
-"nome do domínio \"%s\" não é válido como nome de arquivo: será usado um "
-"prefixo"
 
-#. We don't change the exit status here because this is really
-#. only an information.
-#: src/msgfmt.c:549
-#, c-format
-msgid "`domain %s' directive ignored"
-msgstr "`domain %s': diretiva ignorada"
+#: src/msgfmt.c:830 src/msgfmt.c:841
+msgid "message catalog has plural form translations..."
+msgstr ""
 
-#: src/msgfmt.c:585
-msgid "empty `msgstr' entry ignored"
-msgstr "`msgstr' vazia: mensagem ignorada"
+#: src/msgfmt.c:833
+msgid "...but header entry lacks a \"plural=EXPRESSION\" attribute"
+msgstr ""
 
-#: src/msgfmt.c:586
-msgid "fuzzy `msgstr' entry ignored"
-msgstr "`msgstr' aproximada (fuzzy): mensagem ignorada"
+#: src/msgfmt.c:844
+msgid "...but header entry lacks a \"nplurals=INTEGER\" attribute"
+msgstr ""
 
-#: src/msgfmt.c:629
-#, c-format
-msgid "headerfield `%s' missing in header"
-msgstr "campo `%s' faltando no cabeçalho"
+#: src/msgfmt.c:868
+#, fuzzy
+msgid "invalid nplurals value"
+msgstr "seqüência de controle ilegal"
 
-#: src/msgfmt.c:632
-#, c-format
-msgid "header field `%s' should start at beginning of line"
-msgstr "campo `%s' deve iniciar no começo da linha"
+#: src/msgfmt.c:881
+msgid "invalid plural expression"
+msgstr ""
 
-#: src/msgfmt.c:642
-msgid "some header fields still have the initial default value"
-msgstr "alguns campos do cabeçalho ainda possuem os valores iniciais padrões"
+#: src/msgfmt.c:899 src/msgfmt.c:912
+#, c-format
+msgid "nplurals = %lu..."
+msgstr ""
 
-#: src/msgfmt.c:653
+#: src/msgfmt.c:902
 #, c-format
-msgid "field `%s' still has initial default value"
-msgstr "campo `%s' ainda possui o valor inicial"
+msgid "...but some messages have only %lu plural forms"
+msgstr ""
 
-#: src/msgfmt.c:745
+#: src/msgfmt.c:915
 #, c-format
-msgid "%s: warning: source file contains fuzzy translation"
-msgstr "%s: aviso: arquivo fonte contém traduções aproximadas"
+msgid "...but some messages have %lu plural forms"
+msgstr ""
+
+#: src/msgfmt.c:930
+msgid ""
+"message catalog has plural form translations, but lacks a header entry with "
+"\"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\""
+msgstr ""
 
 #: src/msgfmt.c:968
 msgid "`msgid' and `msgid_plural' entries do not both begin with '\\n'"
@@ -845,29 +1170,112 @@ msgstr "`msgid' e `msgstr[%u]' n
 msgid "`msgid' and `msgstr' entries do not both end with '\\n'"
 msgstr "`msgid' e `msgstr' não terminam com '\\n'"
 
-#: src/msgfmt.c:1047
-msgid "number of format specifications in `msgid' and `msgstr' does not match"
+#: src/msgfmt.c:1041
+msgid "plural handling is a GNU gettext extension"
 msgstr ""
-"número de especificações de formatos em `msgid' e `msgstr' não conferem"
 
-#: src/msgfmt.c:1066
+#: src/msgfmt.c:1088
 #, c-format
-msgid "format specifications for argument %lu are not the same"
-msgstr "especificações de formato para o argumento %lu são diferentes"
+msgid "'msgstr' is not a valid %s format string, unlike 'msgid'"
+msgstr ""
+
+#: src/msgfmt.c:1122
+#, c-format
+msgid "msgstr lacks the keyboard accelerator mark '%c'"
+msgstr ""
+
+#: src/msgfmt.c:1130
+#, c-format
+msgid "msgstr has too many keyboard accelerator marks '%c'"
+msgstr ""
+
+#: src/msgfmt.c:1164
+#, c-format
+msgid "headerfield `%s' missing in header"
+msgstr "campo `%s' faltando no cabeçalho"
+
+#: src/msgfmt.c:1167
+#, c-format
+msgid "header field `%s' should start at beginning of line"
+msgstr "campo `%s' deve iniciar no começo da linha"
+
+#: src/msgfmt.c:1176
+msgid "some header fields still have the initial default value"
+msgstr "alguns campos do cabeçalho ainda possuem os valores iniciais padrões"
 
-#: src/msggrep.c:354
+#: src/msgfmt.c:1187
+#, c-format
+msgid "field `%s' still has initial default value"
+msgstr "campo `%s' ainda possui o valor inicial"
+
+#: src/msgfmt.c:1228
+#, fuzzy
+msgid "warning: PO file header missing or invalid\n"
+msgstr ""
+"%s: aviso: Cabeçalho do arquivo PO esquecido, aproximado ou inválido\n"
+"%*s aviso: conversão de charset não vai funcionar"
+
+#: src/msgfmt.c:1231
+#, fuzzy
+msgid "warning: charset conversion will not work\n"
+msgstr ""
+"%s: aviso: falta o cabeçalho relativo ao charset\n"
+"%*s aviso: conversão de charset não vai funcionar"
+
+#: src/msgfmt.c:1241
+#, fuzzy
+msgid "warning: PO file header fuzzy\n"
+msgstr ""
+"%s: aviso: Cabeçalho do arquivo PO esquecido, aproximado ou inválido\n"
+"%*s aviso: conversão de charset não vai funcionar"
+
+#: src/msgfmt.c:1243
+msgid "warning: older versions of msgfmt will give an error on this\n"
+msgstr ""
+
+#: src/msgfmt.c:1268
+#, c-format
+msgid "domain name \"%s\" not suitable as file name"
+msgstr "nome do domínio \"%s\" não é válido como nome de arquivo"
+
+#: src/msgfmt.c:1273
+#, c-format
+msgid "domain name \"%s\" not suitable as file name: will use prefix"
+msgstr ""
+"nome do domínio \"%s\" não é válido como nome de arquivo: será usado um "
+"prefixo"
+
+#: src/msgfmt.c:1284
+#, c-format
+msgid "`domain %s' directive ignored"
+msgstr "`domain %s': diretiva ignorada"
+
+#: src/msgfmt.c:1356
+msgid "empty `msgstr' entry ignored"
+msgstr "`msgstr' vazia: mensagem ignorada"
+
+#: src/msgfmt.c:1357
+msgid "fuzzy `msgstr' entry ignored"
+msgstr "`msgstr' aproximada (fuzzy): mensagem ignorada"
+
+#: src/msgfmt.c:1426
+#, c-format
+msgid "%s: warning: source file contains fuzzy translation"
+msgstr "%s: aviso: arquivo fonte contém traduções aproximadas"
+
+#: src/msggrep.c:359
 #, c-format
 msgid "option '%c' cannot be used before 'K' or 'T' has been specified"
 msgstr ""
 
-#: src/msggrep.c:376
+#: src/msggrep.c:381
 #, no-wrap
 msgid ""
 "Extracts all messages of a translation catalog that match a given pattern\n"
 "or belong to some given source files.\n"
 msgstr ""
 
-#: src/msggrep.c:403
+#: src/msggrep.c:408
 #, no-wrap
 msgid ""
 "Message selection:\n"
@@ -876,8 +1284,15 @@ msgid ""
 "or if it comes from one of the specified domains,\n"
 "or if -K is given and its key (msgid or msgid_plural) matches MSGID-PATTERN,\n"
 "or if -T is given and its translation (msgstr) matches MSGSTR-PATTERN.\n"
+"\n"
+"When more than one selection criterion is specified, the set of selected\n"
+"messages is the union of the selected messages of each criterion.\n"
+"\n"
+"MSGID-PATTERN or MSGSTR-PATTERN syntax:\n"
+"  [-E | -F] [-e PATTERN | -f FILE]...\n"
 "PATTERNs are basic regular expressions by default, or extended regular\n"
 "expressions if -E is given, or fixed strings if -F is given.\n"
+"\n"
 "  -N, --location=SOURCEFILE   select messages extracted from SOURCEFILE\n"
 "  -M, --domain=DOMAINNAME     select messages belonging to domain DOMAINNAME\n"
 "  -K, --msgid                 start of patterns for the msgid\n"
@@ -889,41 +1304,192 @@ msgid ""
 "  -i, --ignore-case           ignore case distinctions\n"
 msgstr ""
 
-#: src/msggrep.c:424
-#, fuzzy, no-wrap
+#: src/msggrep.c:436
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
+"      --no-escape             do not use C escapes in output (default)\n"
+"      --escape                use C escapes in output, no extended chars\n"
+"      --force-po              write PO file even if empty\n"
+"      --indent                indented output style\n"
+"      --no-location           suppress '#: filename:line' lines\n"
+"      --add-location          preserve '#: filename:line' lines (default)\n"
+"      --strict                strict Uniforum output style\n"
+"  -w, --width=NUMBER          set output page width\n"
+"      --sort-output           generate sorted output\n"
+"      --sort-by-file          sort output by file location\n"
+msgstr ""
+"Uso: %s [OPÇÃO] def.po ref.po\n"
+"Parâmetros obrigatórios para opções longas são também obrigatórios\n"
+"para as opções curtas\n"
+"  -D, --directory=DIR      adiciona DIR para a lista de pesquisa de arquivos de entrada\n"
+"  -e, --no-escape          não utilizar escapes C na saída (padrão)\n"
+"  -E, --escape             usar escapes C na saída sem caracteres estendidos\n"
+"      --force-po           grava o arquivo .po mesmo que vazio\n"
+"  -h, --help               apresenta esta ajuda e finaliza\n"
+"  -i, --indent             estilo de saída indentado\n"
+"  -o, --output-file=ARQ    resultado será gravado em ARQ\n"
+"      --no-location        suprime as linhas '#: arquivo:linha'\n"
+"      --add-location       preserva as linhas '#: arquivo:linha' (padrão)\n"
+"  -S, --strict             habilita o modo Uniforum estrito\n"
+"  -V, --version            apresenta informações de versão e finaliza\n"
+
+#: src/msggrep.c:510
+msgid "write to grep subprocess failed"
+msgstr ""
+
+#: src/msginit.c:275
+msgid ""
+"You are in a language indifferent environment.  Please set\n"
+"your LANG environment variable, as described in the ABOUT-NLS\n"
+"file.  This is necessary so you can test your translations.\n"
+msgstr ""
+
+#: src/msginit.c:303
+#, c-format
+msgid ""
+"Output file %s already exists.\n"
+"Please specify the locale through the --locale option or\n"
+"the output .po file through the --output-file option.\n"
+msgstr ""
+
+#: src/msginit.c:326
+#, c-format
+msgid "Created %s.\n"
+msgstr ""
+
+#: src/msginit.c:348
+#, no-wrap
+msgid ""
+"Creates a new PO file, initializing the meta information with values from the\n"
+"user's environment.\n"
+msgstr ""
+
+#: src/msginit.c:359
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  -i, --input=INPUTFILE       input POT file\n"
+"If no input file is given, the current directory is searched for the POT file.\n"
+"If it is -, standard input is read.\n"
+msgstr ""
+
+#: src/msginit.c:367
+#, no-wrap
+msgid ""
+"Output file location:\n"
+"  -o, --output-file=FILE      write output to specified PO file\n"
+"If no output file is given, it depends on the --locale option or the user's\n"
+"locale setting.  If it is -, the results are written to standard output.\n"
+msgstr ""
+
+#: src/msginit.c:375
+#, no-wrap
+msgid ""
+"Output details:\n"
+"  -l, --locale=LL_CC          set target locale\n"
+"      --no-translator         assume the PO file is automatically generated\n"
+"  -w, --width=NUMBER          set output page width\n"
+msgstr ""
+
+#: src/msginit.c:426
+msgid ""
+"Found more than one .pot file.\n"
+"Please specify the input .pot file through the --input option.\n"
+msgstr ""
+
+#: src/msginit.c:434 src/msginit.c:439
+msgid "error reading current directory"
+msgstr ""
+
+#: src/msginit.c:447
+msgid ""
+"Found no .pot file in the current directory.\n"
+"Please specify the input .pot file through the --input option.\n"
+msgstr ""
+
+#: src/msginit.c:887 src/msginit.c:932 src/msginit.c:1070 src/msginit.c:1137
+#: src/read-java.c:80
+msgid "fdopen() failed"
+msgstr ""
+
+#: src/msginit.c:892 src/msginit.c:937 src/msginit.c:1075
+#, c-format
+msgid "%s subprocess I/O error"
+msgstr ""
+
+#: src/msginit.c:901 src/msginit.c:946 src/msginit.c:1084 src/msginit.c:1151
+#: src/read-java.c:90
+#, c-format
+msgid "%s subprocess failed with exit code %d"
+msgstr ""
+
+#: src/msginit.c:1060
+msgid ""
+"The new message catalog should contain your email address, so that users "
+"can\n"
+"give you feedback about the translations, and so that maintainers can "
+"contact\n"
+"you in case of unexpected technical problems.\n"
+msgstr ""
+
+#. TRANSLATORS: "English" needs to be replaced by your language.
+#. For example in it.po write "Traduzioni italiani ...",
+#. *not* "Traduzioni inglesi ...".
+#: src/msginit.c:1440
+#, c-format
+msgid "English translations for %s package"
+msgstr ""
+
+#: src/msgl-cat.c:173 src/msgl-charset.c:86 src/msgl-iconv.c:299
+#, fuzzy, c-format
+msgid "present charset \"%s\" is not a portable encoding name"
+msgstr "%s: aviso: charset \"%s\" não é suportado pelo iconv%s"
+
+#: src/msgl-cat.c:181 src/msgl-iconv.c:307
+#, c-format
+msgid "two different charsets \"%s\" and \"%s\" in input file"
+msgstr ""
+
+#: src/msgl-cat.c:194
+#, c-format
+msgid ""
+"input file `%s' doesn't contain a header entry with a charset specification"
+msgstr ""
+
+#: src/msgl-cat.c:198
+#, c-format
 msgid ""
-"Output details:\n"
-"      --no-escape             do not use C escapes in output (default)\n"
-"      --escape                use C escapes in output, no extended chars\n"
-"      --force-po              write PO file even if empty\n"
-"      --indent                indented output style\n"
-"      --no-location           suppress '#: filename:line' lines\n"
-"      --add-location          preserve '#: filename:line' lines (default)\n"
-"      --strict                strict Uniforum output style\n"
-"  -w, --width=NUMBER          set output page width\n"
-"      --sort-output           generate sorted output and remove duplicates\n"
-"      --sort-by-file          sort output by file location\n"
+"domain \"%s\" in input file `%s' doesn't contain a header entry with a "
+"charset specification"
 msgstr ""
-"Uso: %s [OPÇÃO] def.po ref.po\n"
-"Parâmetros obrigatórios para opções longas são também obrigatórios\n"
-"para as opções curtas\n"
-"  -D, --directory=DIR      adiciona DIR para a lista de pesquisa de arquivos de entrada\n"
-"  -e, --no-escape          não utilizar escapes C na saída (padrão)\n"
-"  -E, --escape             usar escapes C na saída sem caracteres estendidos\n"
-"      --force-po           grava o arquivo .po mesmo que vazio\n"
-"  -h, --help               apresenta esta ajuda e finaliza\n"
-"  -i, --indent             estilo de saída indentado\n"
-"  -o, --output-file=ARQ    resultado será gravado em ARQ\n"
-"      --no-location        suprime as linhas '#: arquivo:linha'\n"
-"      --add-location       preserva as linhas '#: arquivo:linha' (padrão)\n"
-"  -S, --strict             habilita o modo Uniforum estrito\n"
-"  -V, --version            apresenta informações de versão e finaliza\n"
 
-#: src/msggrep.c:498
-msgid "write to grep subprocess failed"
+#: src/msgl-cat.c:359 src/msgl-iconv.c:382
+#, fuzzy, c-format
+msgid "target charset \"%s\" is not a portable encoding name."
+msgstr "%s: aviso: charset \"%s\" não é suportado pelo iconv%s"
+
+#: src/msgl-cat.c:409 src/msgl-cat.c:415 src/msgl-charset.c:91
+#: src/msgl-charset.c:126 src/write-po.c:723 src/write-po.c:817
+msgid "warning: "
+msgstr ""
+
+#: src/msgl-cat.c:410
+msgid ""
+"Input files contain messages in different encodings, UTF-8 among others.\n"
+"Converting the output to UTF-8.\n"
+msgstr ""
+
+#: src/msgl-cat.c:416
+#, c-format
+msgid ""
+"Input files contain messages in different encodings, %s and %s among "
+"others.\n"
+"Converting the output to UTF-8.\n"
+"To select a different output encoding, use the --to-code option.\n"
 msgstr ""
 
-#: src/msgl-charset.c:88
+#: src/msgl-charset.c:92
 #, c-format
 msgid ""
 "Locale charset \"%s\" is different from\n"
@@ -932,12 +1498,12 @@ msgid ""
 "Possible workarounds are:\n"
 msgstr ""
 
-#: src/msgl-charset.c:95
+#: src/msgl-charset.c:99
 #, c-format
 msgid "- Set LC_ALL to a locale with encoding %s.\n"
 msgstr ""
 
-#: src/msgl-charset.c:100
+#: src/msgl-charset.c:104
 #, c-format
 msgid ""
 "- Convert the translation catalog to %s using 'msgconv',\n"
@@ -945,7 +1511,7 @@ msgid ""
 "  then convert back to %s using 'msgconv'.\n"
 msgstr ""
 
-#: src/msgl-charset.c:109
+#: src/msgl-charset.c:113
 #, c-format
 msgid ""
 "- Set LC_ALL to a locale with encoding %s,\n"
@@ -954,7 +1520,7 @@ msgid ""
 "  then convert back to %s using 'msgconv'.\n"
 msgstr ""
 
-#: src/msgl-charset.c:123
+#: src/msgl-charset.c:127
 #, c-format
 msgid ""
 "Locale charset \"%s\" is not a portable encoding name.\n"
@@ -962,29 +1528,33 @@ msgid ""
 "A possible workaround is to set LC_ALL=C.\n"
 msgstr ""
 
-#: src/msgl-iconv.c:192 src/msgl-iconv.c:246
+#: src/msgl-iconv.c:200 src/msgl-iconv.c:254
 msgid "conversion failure"
 msgstr ""
 
-#: src/msgl-iconv.c:317
+#: src/msgl-iconv.c:328
 msgid "input file doesn't contain a header entry with a charset specification"
 msgstr ""
 
-#: src/msgl-iconv.c:334
+#: src/msgl-iconv.c:346
 #, c-format
 msgid ""
 "Cannot convert from \"%s\" to \"%s\". %s relies on iconv(), and iconv() does "
 "not support this conversion."
 msgstr ""
 
-#: src/msgl-iconv.c:350
+#: src/msgl-iconv.c:362
 #, c-format
 msgid ""
 "Cannot convert from \"%s\" to \"%s\". %s relies on iconv(). This version was "
 "built without iconv()."
 msgstr ""
 
-#: src/msgmerge.c:283
+#: src/msgmerge.c:340
+msgid "backup type"
+msgstr ""
+
+#: src/msgmerge.c:377
 #, fuzzy, no-wrap
 msgid ""
 "Merges two Uniforum style .po files together.  The def.po file is an\n"
@@ -1009,7 +1579,7 @@ msgstr ""
 "Os resultados serão gravados na saída padrão, a menos que um arquivo de\n"
 "saída seja especificado.\n"
 
-#: src/msgmerge.c:301
+#: src/msgmerge.c:395
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -1020,7 +1590,32 @@ msgid ""
 "                              may be specified more than once\n"
 msgstr ""
 
-#: src/msgmerge.c:340
+#: src/msgmerge.c:405
+#, no-wrap
+msgid ""
+"Operation mode:\n"
+"  -U, --update                update def.po,\n"
+"                              do nothing if def.po already up to date\n"
+msgstr ""
+
+#: src/msgmerge.c:420
+#, no-wrap
+msgid ""
+"Output file location in update mode:\n"
+"The result is written back to def.po.\n"
+"      --backup=CONTROL        make a backup of def.po\n"
+"      --suffix=SUFFIX         override the usual backup suffix\n"
+"The version control method may be selected via the --backup option or through\n"
+"the VERSION_CONTROL environment variable.  Here are the values:\n"
+"  none, off       never make backups (even if --backup is given)\n"
+"  numbered, t     make numbered backups\n"
+"  existing, nil   numbered if numbered backups exist, simple otherwise\n"
+"  simple, never   always make simple backups\n"
+"The backup suffix is `~', unless set with --suffix or the SIMPLE_BACKUP_SUFFIX\n"
+"environment variable.\n"
+msgstr ""
+
+#: src/msgmerge.c:457
 #, no-wrap
 msgid ""
 "Informative output:\n"
@@ -1030,7 +1625,17 @@ msgid ""
 "  -q, --quiet, --silent       suppress progress indicators\n"
 msgstr ""
 
-#: src/msgmerge.c:578
+#: src/msgmerge.c:625
+#, fuzzy
+msgid "this message should define plural forms"
+msgstr "esta mensagem é utilizada mas não definida em %s"
+
+#: src/msgmerge.c:648
+#, fuzzy
+msgid "this message should not define plural forms"
+msgstr "esta mensagem é utilizada mas não definida em %s"
+
+#: src/msgmerge.c:779
 #, c-format
 msgid ""
 "%sRead %ld old + %ld reference, merged %ld, fuzzied %ld, missing %ld, "
@@ -1039,92 +1644,33 @@ msgstr ""
 "%sLido %ld antigas + %ld referência, concatenadas %ld, aproximadas %ld, "
 "perdidas %ld, obsoletas %ld.\n"
 
-#: src/msgmerge.c:586
+#: src/msgmerge.c:787
 msgid " done.\n"
 msgstr " feito.\n"
 
-#: src/msgsed.c:267
-#, fuzzy
-msgid "at least one sed script must be specified"
-msgstr "pelo menos dois arquivos devem ser especificados"
-
-#: src/msgsed.c:323
-#, no-wrap
-msgid "Applies a sed script to all translations of a translation catalog.\n"
-msgstr ""
-
-#: src/msgsed.c:349
-#, no-wrap
-msgid ""
-"Sed options:\n"
-"  -e, --expression=SCRIPT     add SCRIPT to the commands to be executed\n"
-"  -f, --file=SCRIPTFILE       add the contents of SCRIPTFILE to the commands\n"
-"                                to be executed\n"
-"  -n, --quiet, --silent       suppress automatic printing of pattern space\n"
-msgstr ""
-
-#: src/msgsed.c:358
-#, fuzzy, no-wrap
-msgid ""
-"Output details:\n"
-"      --no-escape             do not use C escapes in output (default)\n"
-"  -E, --escape                use C escapes in output, no extended chars\n"
-"      --force-po              write PO file even if empty\n"
-"  -i, --indent                indented output style\n"
-"      --no-location           suppress '#: filename:line' lines\n"
-"      --add-location          preserve '#: filename:line' lines (default)\n"
-"      --strict                strict Uniforum output style\n"
-"  -w, --width=NUMBER          set output page width\n"
-"  -s, --sort-output           generate sorted output and remove duplicates\n"
-"  -F, --sort-by-file          sort output by file location\n"
-msgstr ""
-"Uso: %s [OPÇÃO] def.po ref.po\n"
-"Parâmetros obrigatórios para opções longas são também obrigatórios\n"
-"para as opções curtas\n"
-"  -D, --directory=DIR      adiciona DIR para a lista de pesquisa de arquivos de entrada\n"
-"  -e, --no-escape          não utilizar escapes C na saída (padrão)\n"
-"  -E, --escape             usar escapes C na saída sem caracteres estendidos\n"
-"      --force-po           grava o arquivo .po mesmo que vazio\n"
-"  -h, --help               apresenta esta ajuda e finaliza\n"
-"  -i, --indent             estilo de saída indentado\n"
-"  -o, --output-file=ARQ    resultado será gravado em ARQ\n"
-"      --no-location        suprime as linhas '#: arquivo:linha'\n"
-"      --add-location       preserva as linhas '#: arquivo:linha' (padrão)\n"
-"  -S, --strict             habilita o modo Uniforum estrito\n"
-"  -V, --version            apresenta informações de versão e finaliza\n"
-
-#: src/msgsed.c:514
-msgid "cannot set up nonblocking I/O to sed subprocess"
-msgstr ""
-
-#: src/msgsed.c:542
-msgid "communication with sed subprocess failed"
-msgstr ""
-
-#: src/msgsed.c:562
-msgid "write to sed subprocess failed"
-msgstr ""
-
-#: src/msgsed.c:592
-msgid "read from sed subprocess failed"
-msgstr ""
-
-#: src/msgsed.c:608
-#, c-format
-msgid "sed subprocess terminated with exit code %d"
-msgstr ""
+#: src/msgunfmt.c:201
+#, fuzzy, c-format
+msgid "%s and explicit file names are mutually exclusive"
+msgstr "%s e %s são mutuamente exclusivos"
 
-#: src/msgunfmt.c:224
+#: src/msgunfmt.c:267
 #, c-format, no-wrap
 msgid "Usage: %s [OPTION] [FILE]...\n"
 msgstr ""
 
-#: src/msgunfmt.c:229
+#: src/msgunfmt.c:272
 #, no-wrap
 msgid "Convert binary message catalog to Uniforum style .po file.\n"
 msgstr ""
 
-#: src/msgunfmt.c:239
+#: src/msgunfmt.c:282
+#, no-wrap
+msgid ""
+"Operation mode:\n"
+"  -j, --java               Java mode: generate a Java ResourceBundle class\n"
+msgstr ""
+
+#: src/msgunfmt.c:288
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -1132,7 +1678,17 @@ msgid ""
 "If no input file is given or if it is -, standard input is read.\n"
 msgstr ""
 
-#: src/msgunfmt.c:246
+#: src/msgunfmt.c:295
+#, no-wrap
+msgid ""
+"Input file location in Java mode:\n"
+"  -r, --resource=RESOURCE  resource name\n"
+"  -l, --locale=LOCALE      locale name, either language or language_COUNTRY\n"
+"The class name is determined by appending the locale name to the resource name,\n"
+"separated with an underscore.  The class is located using the CLASSPATH.\n"
+msgstr ""
+
+#: src/msgunfmt.c:304
 #, no-wrap
 msgid ""
 "Output file location:\n"
@@ -1141,7 +1697,7 @@ msgid ""
 "or if it is -.\n"
 msgstr ""
 
-#: src/msgunfmt.c:254
+#: src/msgunfmt.c:312
 #, fuzzy, no-wrap
 msgid ""
 "Output details:\n"
@@ -1151,7 +1707,7 @@ msgid ""
 "  -i, --indent             write indented output style\n"
 "      --strict             write strict uniforum style\n"
 "  -w, --width=NUMBER       set output page width\n"
-"  -s, --sort-output        generate sorted output and remove duplicates\n"
+"  -s, --sort-output        generate sorted output\n"
 msgstr ""
 "Uso: %s [OPÇÃO] [ARQUIVO]...\n"
 "Parâmetros obrigatórios para opções longas são também obrigatórios para\n"
@@ -1166,52 +1722,49 @@ msgstr ""
 "  -V, --version            apresenta informações de versão e finaliza\n"
 "  -w, --width=NÚMERO       configura largura da página de saída\n"
 
-#: src/msgunfmt.c:266
+#: src/msgunfmt.c:324
 #, no-wrap
 msgid ""
 "Informative output:\n"
 "  -h, --help               display this help and exit\n"
 "  -V, --version            output version information and exit\n"
+"  -v, --verbose            increase verbosity level\n"
 msgstr ""
 
-#: src/msgunfmt.c:294 src/msgunfmt.c:359 src/po-lex.c:213 src/xget-lex.c:245
-#, c-format
-msgid "error while reading \"%s\""
-msgstr "erro ao ler \"%s\""
-
-#: src/msgunfmt.c:295 src/msgunfmt.c:360
-#, c-format
-msgid "file \"%s\" truncated"
-msgstr "arquivo \"%s\" truncado"
-
-#: src/msgunfmt.c:326
-#, c-format
-msgid "seek \"%s\" offset %ld failed"
-msgstr "falha na pesquisa \"%s\" offset %ld"
-
-#: src/msgunfmt.c:365
-#, c-format
-msgid "file \"%s\" contains a not NUL terminated string"
-msgstr "arquivo \"%s\" contém string não terminada em NULL"
+#: src/msguniq.c:279
+#, no-wrap
+msgid ""
+"Unifies duplicate translations in a translation catalog.\n"
+"Finds duplicate translations of the same message ID.  Such duplicates are\n"
+"invalid input for other programs like msgfmt, msgmerge or msgcat.  By\n"
+"default, duplicates are merged together.  When using the --repeated option,\n"
+"only duplicates are output, and all other messages are discarded.  Comments\n"
+"and extracted comments will be cumulated, except that if --use-first is\n"
+"specified, they will be taken from the first translation.  File positions\n"
+"will be cumulated.  When using the --unique option, duplicates are discarded.\n"
+msgstr ""
 
-#: src/msgunfmt.c:410
-#, c-format
-msgid "file \"%s\" is not in GNU .mo format"
-msgstr "arquivo \"%s\" não está no formato GNU .mo"
+#: src/msguniq.c:312
+#, no-wrap
+msgid ""
+"Message selection:\n"
+"  -d, --repeated                 print only duplicates\n"
+"  -u, --unique                   print only unique messages, discard duplicates\n"
+msgstr ""
 
-#: src/ngettext.c:213
+#: src/ngettext.c:215
 #, c-format, no-wrap
 msgid "Usage: %s [OPTION] [TEXTDOMAIN] MSGID MSGID-PLURAL COUNT\n"
 msgstr ""
 
-#: src/ngettext.c:218
+#: src/ngettext.c:220
 #, no-wrap
 msgid ""
 "Display native language translation of a textual message whose grammatical\n"
 "form depends on a number.\n"
 msgstr ""
 
-#: src/ngettext.c:223
+#: src/ngettext.c:225
 #, fuzzy, no-wrap
 msgid ""
 "  -d, --domain=TEXTDOMAIN   retrieve translated message from TEXTDOMAIN\n"
@@ -1233,7 +1786,7 @@ msgstr ""
 "  [DOMÍNIO] MSGID           recupera mensagens traduzidas correspondentes\n"
 "                            para MSGID no DOMÍNIO\n"
 
-#: src/ngettext.c:234
+#: src/ngettext.c:236
 #, fuzzy, c-format, no-wrap
 msgid ""
 "If the TEXTDOMAIN parameter is not given, the domain is determined from the\n"
@@ -1252,17 +1805,17 @@ msgstr ""
 "mensagens encontradas no catálogo selecionado\n"
 "Diretório de pesquisa padrão: %s\n"
 
-#: src/open-po.c:64
+#: src/open-po.c:69
 msgid "<stdin>"
 msgstr "<stdin>"
 
-#: src/po-charset.c:145 src/po-charset.c:213 src/po-charset.c:239
-#: src/po-charset.c:265
+#: src/po-charset.c:172 src/po-charset.c:240 src/po-charset.c:268
+#: src/po-charset.c:294
 #, c-format
 msgid "%s: warning: "
 msgstr ""
 
-#: src/po-charset.c:146
+#: src/po-charset.c:173
 #, fuzzy, c-format
 msgid ""
 "Charset \"%s\" is not a portable encoding name.\n"
@@ -1271,40 +1824,40 @@ msgstr ""
 "%s: aviso: charset \"%s\" não é um encoding portável\n"
 "%*s aviso: conversão de charset pode não funcionar"
 
-#: src/po-charset.c:209 src/po-charset.c:237
+#: src/po-charset.c:236 src/po-charset.c:266
 msgid "Continuing anyway, expect parse errors."
 msgstr ""
 
-#: src/po-charset.c:211
+#: src/po-charset.c:238
 msgid "Continuing anyway."
 msgstr ""
 
-#: src/po-charset.c:214
+#: src/po-charset.c:241
 #, c-format
 msgid ""
 "Charset \"%s\" is not supported. %s relies on iconv(),\n"
 "and iconv() does not support \"%s\".\n"
 msgstr ""
 
-#: src/po-charset.c:223 src/po-charset.c:247
+#: src/po-charset.c:250 src/po-charset.c:276
 msgid ""
 "Installing GNU libiconv and then reinstalling GNU gettext\n"
 "would fix this problem.\n"
 msgstr ""
 
-#: src/po-charset.c:228 src/po-charset.c:251
+#: src/po-charset.c:255 src/po-charset.c:280
 #, c-format
 msgid "%s\n"
 msgstr ""
 
-#: src/po-charset.c:240
+#: src/po-charset.c:269
 #, c-format
 msgid ""
 "Charset \"%s\" is not supported. %s relies on iconv().\n"
 "This version was built without iconv().\n"
 msgstr ""
 
-#: src/po-charset.c:266
+#: src/po-charset.c:295
 #, fuzzy
 msgid ""
 "Charset missing in header.\n"
@@ -1313,127 +1866,211 @@ msgstr ""
 "%s: aviso: falta o cabeçalho relativo ao charset\n"
 "%*s aviso: conversão de charset não vai funcionar"
 
-#: po-gram-gen.y:88
+#: po-gram-gen.y:91
 msgid "inconsistent use of #~"
 msgstr "uso inconsistente de #~"
 
-#: po-gram-gen.y:178
+#: po-gram-gen.y:181
 msgid "missing `msgstr[]' section"
 msgstr "seção `msgstr[]' não localizada"
 
-#: po-gram-gen.y:186
+#: po-gram-gen.y:189
 msgid "missing `msgid_plural' section"
 msgstr "seção `msgid_plural' não localizada"
 
-#: po-gram-gen.y:193
+#: po-gram-gen.y:196
 msgid "missing `msgstr' section"
 msgstr "seção `msgstr' não localizada"
 
-#: po-gram-gen.y:238
+#: po-gram-gen.y:241
 msgid "first plural form has nonzero index"
 msgstr "primeira forma em plural tem o índice diferente de zero"
 
-#: po-gram-gen.y:240
+#: po-gram-gen.y:243
 msgid "plural form has wrong index"
 msgstr "forma plural tem o índice errado"
 
-#. CAUTION: If you change this macro, you must also make identical
-#. changes to the function of the same name in src/po-lex.c
-#: src/po-lex.c:152 src/po-lex.c:195 src/po-lex.h:77 src/po-lex.h:93
-#: src/po-lex.h:111 src/po-lex.h:127
+#: src/po-lex.h:91 src/po-lex.h:106 src/po-lex.h:126 src/po-lex.h:141
+#: src/po-lex.c:135 src/po-lex.c:176
 msgid "too many errors, aborting"
 msgstr "excesso de erros - finalizando"
 
-#: src/po-lex.c:271
+#: src/po-lex.c:545 src/write-po.c:331 src/write-po.c:421
+msgid "invalid multibyte sequence"
+msgstr "sequência multibyte inválido"
+
+#: src/po-lex.c:571
+#, fuzzy
+msgid "incomplete multibyte sequence at end of file"
+msgstr "sequência multibyte inválido"
+
+#: src/po-lex.c:581
+#, fuzzy
+msgid "incomplete multibyte sequence at end of line"
+msgstr "sequência multibyte inválido"
+
+#: src/po-lex.c:589
+msgid "iconv failure"
+msgstr ""
+
+#: src/po-lex.c:763 src/read-mo.c:70 src/read-mo.c:135 src/x-c.c:216
+#: src/x-rst.c:227 src/x-ycp.c:103
+#, c-format
+msgid "error while reading \"%s\""
+msgstr "erro ao ler \"%s\""
+
+#: src/po-lex.c:829
 #, c-format
 msgid "keyword \"%s\" unknown"
 msgstr "palavra chave \"%s\" desconhecida"
 
-#: src/po-lex.c:374
+#: src/po-lex.c:939
 msgid "invalid control sequence"
 msgstr "seqüência de controle ilegal"
 
-#: src/po-lex.c:477
+#: src/po-lex.c:1047
 msgid "end-of-file within string"
 msgstr "fim de arquivo sem string"
 
-#: src/po-lex.c:482
+#: src/po-lex.c:1053
 msgid "end-of-line within string"
 msgstr "fim de linha sem string"
 
-#: src/po-lex.c:525 src/write-po.c:291 src/write-po.c:373
-msgid "invalid multibyte sequence"
-msgstr "sequência multibyte inválido"
+#: src/read-mo.c:71 src/read-mo.c:136
+#, c-format
+msgid "file \"%s\" truncated"
+msgstr "arquivo \"%s\" truncado"
+
+#: src/read-mo.c:102
+#, c-format
+msgid "seek \"%s\" offset %ld failed"
+msgstr "falha na pesquisa \"%s\" offset %ld"
+
+#: src/read-mo.c:141
+#, c-format
+msgid "file \"%s\" contains a not NUL terminated string"
+msgstr "arquivo \"%s\" contém string não terminada em NULL"
+
+#: src/read-mo.c:186
+#, c-format
+msgid "file \"%s\" is not in GNU .mo format"
+msgstr "arquivo \"%s\" não está no formato GNU .mo"
+
+#: src/write-java.c:1108
+msgid "cannot find a temporary directory, try setting $TMPDIR"
+msgstr ""
+
+#: src/write-java.c:1118
+#, fuzzy, c-format
+msgid "cannot create a temporary directory using template \"%s\""
+msgstr "não foi possível criar o arquivo de saída \"%s\""
 
-#: src/write-po.c:322
+#: src/write-java.c:1131
+#, c-format
+msgid "not a valid Java class name: %s"
+msgstr ""
+
+#: src/write-java.c:1188 src/write-java.c:1201
+#, c-format
+msgid "failed to create \"%s\""
+msgstr ""
+
+#: src/write-java.c:1209 src/write-mo.c:289 src/write-po.c:966
+#, c-format
+msgid "error while writing \"%s\" file"
+msgstr "erro ao gravar o arquivo \"%s\""
+
+#: src/write-java.c:1223
+msgid "compilation of Java class failed, please try --verbose or set $JAVAC"
+msgstr ""
+
+#: src/write-mo.c:277
+#, c-format
+msgid "error while opening \"%s\" for writing"
+msgstr "erro ao abrir o arquivo \"%s\" para gravação"
+
+#: src/write-po.c:370
 #, c-format
 msgid ""
 "internationalized messages should not contain the `\\%c' escape sequence"
 msgstr ""
 "mensagens internacionalizadas não devem conter o caractere de escape `\\%c'"
 
-#: src/write-po.c:816
+#: src/write-po.c:724 src/write-po.c:818
+#, c-format
+msgid ""
+"The following msgid contains non-ASCII characters.\n"
+"This will cause problems to translators who use a character encoding\n"
+"different from yours. Consider using a pure ASCII msgid instead.\n"
+"%s\n"
+msgstr ""
+
+#: src/write-po.c:885
 #, c-format
 msgid "cannot create output file \"%s\""
 msgstr "não foi possível criar o arquivo de saída \"%s\""
 
-#: src/write-po.c:823
+#: src/write-po.c:892
 #, no-c-format
 msgid "standard output"
 msgstr "saída padrão"
 
-#: src/write-po.c:893
-#, c-format
-msgid "error while writing \"%s\" file"
-msgstr "erro ao gravar o arquivo \"%s\""
-
-#: src/xget-lex.c:150
-msgid "standard input"
-msgstr "entrada padrão"
-
-#: src/xget-lex.c:879
+#: src/x-c.c:858
 #, c-format
 msgid "%s:%d: warning: unterminated character constant"
 msgstr "%s:%d: aviso: caractere constante indeterminado"
 
-#: src/xget-lex.c:903
+#: src/x-c.c:882
 #, c-format
 msgid "%s:%d: warning: unterminated string literal"
 msgstr "%s:%d: aviso: string literal indeterminada"
 
-#. We are about to construct the absolute path to the
-#. directory for the output files but asprintf failed.
-#: src/xgettext.c:325 src/xgettext.c:1368
-msgid "while preparing output"
-msgstr "enquanto preparando a saída"
+#: src/x-po.c:106 src/xgettext.c:605
+msgid "this file may not contain domain directives"
+msgstr "este arquivo parece não conter diretivas de domínio"
+
+#: src/x-rst.c:108
+#, c-format
+msgid "%s:%d: invalid string definition"
+msgstr ""
+
+#: src/x-rst.c:168
+#, c-format
+msgid "%s:%d: missing number after #"
+msgstr ""
+
+#: src/x-rst.c:203
+#, c-format
+msgid "%s:%d: invalid string expression"
+msgstr ""
 
-#: src/xgettext.c:371
+#: src/xgettext.c:375
 msgid "--join-existing cannot be used when output is written to stdout"
 msgstr ""
 "--join-existing não pode ser usado enquanto a saída é escrita na saída padrão"
 
-#: src/xgettext.c:376
+#: src/xgettext.c:380
 msgid "xgettext cannot work without keywords to look for"
 msgstr "xgettext não pode funcionar sem as teclas para procurar"
 
-#: src/xgettext.c:482
+#: src/xgettext.c:468
 #, c-format
 msgid "warning: file `%s' extension `%s' is unknown; will try C"
 msgstr "aviso: arquivo `%s' extensão `%s' é desconhecida; tentarei C"
 
-#: src/xgettext.c:523
+#: src/xgettext.c:509
 #, no-wrap
 msgid "Extract translatable strings from given input files.\n"
 msgstr ""
 
-#: src/xgettext.c:528
+#: src/xgettext.c:514
 #, no-wrap
 msgid ""
 "Mandatory arguments to long options are mandatory for short options too.\n"
 "Similarly for optional arguments.\n"
 msgstr ""
 
-#: src/xgettext.c:543
+#: src/xgettext.c:529
 #, no-wrap
 msgid ""
 "Output file location:\n"
@@ -1443,16 +2080,17 @@ msgid ""
 "If output file is -, output is written to standard output.\n"
 msgstr ""
 
-#: src/xgettext.c:552
+#: src/xgettext.c:538
 #, no-wrap
 msgid ""
 "Choice of input file language:\n"
-"  -L, --language=NAME            recognise the specified language (C, C++, PO)\n"
+"  -L, --language=NAME            recognise the specified language\n"
+"                                   (C, C++, ObjectiveC, PO, Java, YCP)\n"
 "  -C, --c++                      shorthand for --language=C++\n"
 "By default the language is guessed depending on the input file name extension.\n"
 msgstr ""
 
-#: src/xgettext.c:560
+#: src/xgettext.c:547
 #, no-wrap
 msgid ""
 "Operation mode:\n"
@@ -1462,7 +2100,7 @@ msgid ""
 "                                 preceding keyword lines) in output file\n"
 msgstr ""
 
-#: src/xgettext.c:569
+#: src/xgettext.c:556
 #, no-wrap
 msgid ""
 "Language=C/C++ specific options:\n"
@@ -1473,8 +2111,8 @@ msgid ""
 "      --debug                    more detailed formatstring recognition result\n"
 msgstr ""
 
-#: src/xgettext.c:579
-#, no-wrap
+#: src/xgettext.c:566
+#, fuzzy, no-wrap
 msgid ""
 "Output details:\n"
 "  -e, --no-escape                do not use C escapes in output (default)\n"
@@ -1485,29 +2123,54 @@ msgid ""
 "  -n, --add-location             generate '#: filename:line' lines (default)\n"
 "      --strict                   write out strict Uniforum conforming .po file\n"
 "  -w, --width=NUMBER             set output page width\n"
-"  -s, --sort-output              generate sorted output and remove duplicates\n"
+"  -s, --sort-output              generate sorted output\n"
 "  -F, --sort-by-file             sort output by file location\n"
 "      --omit-header              don't write header with `msgid \"\"' entry\n"
 "      --foreign-user             omit FSF copyright in output for foreign user\n"
 "  -m, --msgstr-prefix[=STRING]   use STRING or \"\" as prefix for msgstr entries\n"
 "  -M, --msgstr-suffix[=STRING]   use STRING or \"\" as suffix for msgstr entries\n"
 msgstr ""
+"Uso: %s [OPÇÃO] def.po ref.po\n"
+"Parâmetros obrigatórios para opções longas são também obrigatórios\n"
+"para as opções curtas\n"
+"  -D, --directory=DIR      adiciona DIR para a lista de pesquisa de arquivos de entrada\n"
+"  -e, --no-escape          não utilizar escapes C na saída (padrão)\n"
+"  -E, --escape             usar escapes C na saída sem caracteres estendidos\n"
+"      --force-po           grava o arquivo .po mesmo que vazio\n"
+"  -h, --help               apresenta esta ajuda e finaliza\n"
+"  -i, --indent             estilo de saída indentado\n"
+"  -o, --output-file=ARQ    resultado será gravado em ARQ\n"
+"      --no-location        suprime as linhas '#: arquivo:linha'\n"
+"      --add-location       preserva as linhas '#: arquivo:linha' (padrão)\n"
+"  -S, --strict             habilita o modo Uniforum estrito\n"
+"  -V, --version            apresenta informações de versão e finaliza\n"
 
-#: src/xgettext.c:945
-#, c-format
-msgid "%s:%d: warning: keyword nested in keyword arg"
-msgstr ""
+#: src/xgettext.c:720
+msgid "standard input"
+msgstr "entrada padrão"
 
-#: src/xgettext.c:957
-#, c-format
-msgid "%s:%d: warning: keyword between outer keyword and its arg"
+#: src/xgettext.c:830
+msgid ""
+"Empty msgid.  It is reserved by GNU gettext:\n"
+"gettext(\"\") returns the header entry with\n"
+"meta information, not the empty string.\n"
 msgstr ""
 
-#: src/xgettext.c:1446
+#: src/xgettext.c:1099
 #, c-format
 msgid "language `%s' unknown"
 msgstr "idioma `%s' desconhecido"
 
+#~ msgid "while creating hash table"
+#~ msgstr "enquanto criando tabela hash"
+
+#, fuzzy
+#~ msgid "%s:%lu: warning: keyword nested in keyword arg"
+#~ msgstr "%s:%d: aviso: string literal indeterminada"
+
+#~ msgid "while preparing output"
+#~ msgstr "enquanto preparando a saída"
+
 #~ msgid "this message has no definition in the \"%s\" domain"
 #~ msgstr "esta mensagem não tem definição no domínio \"%s\""
 
index a34b6a9de9cdde942fe39b2bcb9680c5117b6977..06f4f3dfbfbf6902326c6708c714d5730f08f1df 100644 (file)
--- a/po/ru.po
+++ b/po/ru.po
@@ -27,7 +27,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: GNU gettext 0.10.40\n"
-"POT-Creation-Date: 2001-06-12 15:05+0200\n"
+"POT-Creation-Date: 2001-11-30 14:18+0100\n"
 "PO-Revision-Date: 2001-09-17 07:50+0400\n"
 "Last-Translator: Oleg S. Tihonov <tihonov@ffke-campus.mipt.ru>\n"
 "Language-Team: Russian <ru@li.org>\n"
@@ -37,10 +37,57 @@ msgstr ""
 "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
 "10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
 
+#: lib/argmatch.c:141
+#, c-format
+msgid "invalid argument `%s' for `%s'"
+msgstr ""
+
+#: lib/argmatch.c:142
+#, c-format
+msgid "ambiguous argument `%s' for `%s'"
+msgstr ""
+
+#: lib/argmatch.c:162
+msgid "Valid arguments are:"
+msgstr ""
+
+#: lib/copy-file.c:60 src/file-list.c:57 src/po-lex.c:732 src/read-mo.c:170
+#: src/xgettext.c:729 src/xgettext.c:742 src/xgettext.c:752
+#, c-format
+msgid "error while opening \"%s\" for reading"
+msgstr "ÏÛÉÂËÁ ÏÔËÒÙÔÉÑ ÆÁÊÌÁ \"%s\" ÄÌÑ ÞÔÅÎÉÑ"
+
+#: lib/copy-file.c:67
+#, fuzzy, c-format
+msgid "cannot open backup file \"%s\" for writing"
+msgstr "ÏÛÉÂËÁ ÏÔËÒÙÔÉÑ ÆÁÊÌÁ \"%s\" ÄÌÑ ÚÁÐÉÓÉ"
+
+#: lib/copy-file.c:80
+#, fuzzy, c-format
+msgid "error reading \"%s\""
+msgstr "ÏÛÉÂËÁ ÞÔÅÎÉÑ \"%s\""
+
+#: lib/copy-file.c:86 lib/copy-file.c:90
+#, fuzzy, c-format
+msgid "error writing \"%s\""
+msgstr "ÏÛÉÂËÁ ÚÁÐÉÓÉ ÆÁÊÌÁ \"%s\""
+
+#: lib/copy-file.c:92
+#, fuzzy, c-format
+msgid "error after reading \"%s\""
+msgstr "ÏÛÉÂËÁ ÞÔÅÎÉÑ \"%s\""
+
 #: lib/error.c:115
 msgid "Unknown system error"
 msgstr "îÅÉÚ×ÅÓÔÎÁÑ ÓÉÓÔÅÍÎÁÑ ÏÛÉÂËÁ"
 
+#: lib/execute.c:170 lib/execute.c:205 lib/pipe-bidi.c:156 lib/pipe-bidi.c:191
+#: lib/pipe-in.c:167 lib/pipe-in.c:202 lib/pipe-out.c:167 lib/pipe-out.c:202
+#: lib/wait-process.c:136
+#, c-format
+msgid "%s subprocess failed"
+msgstr ""
+
 #: lib/getopt.c:691
 #, c-format
 msgid "%s: option `%s' is ambiguous\n"
@@ -61,19 +108,16 @@ msgstr "%s: 
 msgid "%s: option `%s' requires an argument\n"
 msgstr "%s: ËÌÀÞ `%s' ÄÏÌÖÅΠÉÓÐÏÌØÚÏ×ÁÔØÓÑ c ÁÒÇÕÍÅÎÔÏÍ\n"
 
-#. --option
 #: lib/getopt.c:768
 #, c-format
 msgid "%s: unrecognized option `--%s'\n"
 msgstr "%s: ÎÅÉÚ×ÅÓÔÎÙÊ ËÌÀÞ `--%s'\n"
 
-#. +option or -option
 #: lib/getopt.c:772
 #, c-format
 msgid "%s: unrecognized option `%c%s'\n"
 msgstr "%s: ÎÅÉÚ×ÅÓÔÎÙÊ ËÌÀÞ `%c%s'\n"
 
-#. 1003.2 specifies the format of this message.
 #: lib/getopt.c:798
 #, c-format
 msgid "%s: illegal option -- %c\n"
@@ -84,7 +128,6 @@ msgstr "%s: 
 msgid "%s: invalid option -- %c\n"
 msgstr "%s: ÎÅ×ÅÒÎÙÊ ËÌÀÞ -- %c\n"
 
-#. 1003.2 specifies the format of this message.
 #: lib/getopt.c:831 lib/getopt.c:961
 #, c-format
 msgid "%s: option requires an argument -- %c\n"
@@ -100,36 +143,114 @@ msgstr "%s: 
 msgid "%s: option `-W %s' doesn't allow an argument\n"
 msgstr "%s: ËÌÀÞ `-W %s' ÄÏÌÖÅΠÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÂÅÚ ÁÒÇÕÍÅÎÔÁ\n"
 
-#: lib/obstack.c:474 lib/xerror.c:69 lib/xmalloc.c:86
+#: lib/javacomp.c:465
+msgid "Java compiler not found, try installing gcj or set $JAVAC"
+msgstr ""
+
+#: lib/javaexec.c:404
+msgid "Java virtual machine not found, try installing gij or set $JAVA"
+msgstr ""
+
+#: lib/obstack.c:474 lib/xerror.c:75 lib/xmalloc.c:56
 msgid "memory exhausted"
 msgstr "ÏÐÅÒÁÔÉ×ÎÁÑ ÐÁÍÑÔØ ÉÓÞÅÒÐÁÎÁ"
 
-#: lib/pipe-bidi.c:101 lib/pipe-bidi.c:103 lib/pipe-in.c:117
-#: lib/pipe-out.c:117
+#: lib/pipe-bidi.c:119 lib/pipe-bidi.c:121 lib/pipe-in.c:136
+#: lib/pipe-out.c:136
 #, fuzzy
 msgid "cannot create pipe"
 msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÓÏÚÄÁÔØ ÆÁÊÌ ×Ù×ÏÄÁ \"%s\""
 
-#: lib/pipe-bidi.c:125 lib/pipe-bidi.c:142 lib/pipe-in.c:135 lib/pipe-in.c:155
-#: lib/pipe-out.c:135 lib/pipe-out.c:155
-#, c-format
-msgid "%s subprocess failed"
-msgstr ""
-
-#: lib/wait-process.c:109
+#: lib/wait-process.c:117
 #, c-format
 msgid "%s subprocess"
 msgstr ""
 
-#: lib/wait-process.c:117
+#: lib/wait-process.c:129
 #, c-format
 msgid "%s subprocess got fatal signal"
 msgstr ""
 
-#: src/gettext.c:144 src/msgcat.c:245 src/msgcmp.c:132 src/msgcomm.c:242
-#: src/msgconv.c:180 src/msgen.c:168 src/msgfmt.c:272 src/msggrep.c:276
-#: src/msgmerge.c:222 src/msgsed.c:242 src/msgunfmt.c:174 src/ngettext.c:124
-#: src/xgettext.c:386
+#: src/format-c.c:578 src/format-python.c:463
+#, fuzzy
+msgid "number of format specifications in 'msgid' and 'msgstr' does not match"
+msgstr "ÎÅ ÓÏ×ÐÁÄÁÅÔ ÞÉÓÌÏ ÓÐÅÃÉÆÉËÁÃÉÊ ÆÏÒÍÁÔÁ ÐÅÞÁÔÉ × `msgid' É `msgstr'"
+
+#: src/format-c.c:588 src/format-python.c:473
+#, fuzzy, c-format
+msgid ""
+"format specifications in 'msgid' and 'msgstr' for argument %u are not the "
+"same"
+msgstr "ÎÅ ÓÏ×ÐÁÄÁÀÔ ÓÐÅÃÉÆÉËÁÃÉÉ ÆÏÒÍÁÔÁ ÄÌÑ ÁÒÇÕÍÅÎÔÁ %lu"
+
+#: src/format-java.c:652 src/format-pascal.c:396
+#, fuzzy, c-format
+msgid "a format specification for argument {%u} doesn't exist in 'msgid'"
+msgstr "ÎÅ ÓÏ×ÐÁÄÁÀÔ ÓÐÅÃÉÆÉËÁÃÉÉ ÆÏÒÍÁÔÁ ÄÌÑ ÁÒÇÕÍÅÎÔÁ %lu"
+
+#: src/format-java.c:662 src/format-pascal.c:406
+#, fuzzy, c-format
+msgid "a format specification for argument {%u} doesn't exist in 'msgstr'"
+msgstr "ÎÅ ÓÏ×ÐÁÄÁÀÔ ÓÐÅÃÉÆÉËÁÃÉÉ ÆÏÒÍÁÔÁ ÄÌÑ ÁÒÇÕÍÅÎÔÁ %lu"
+
+#: src/format-java.c:676 src/format-pascal.c:420
+#, fuzzy, c-format
+msgid ""
+"format specifications in 'msgid' and 'msgstr' for argument {%u} are not the "
+"same"
+msgstr "ÎÅ ÓÏ×ÐÁÄÁÀÔ ÓÐÅÃÉÆÉËÁÃÉÉ ÆÏÒÍÁÔÁ ÄÌÑ ÁÒÇÕÍÅÎÔÁ %lu"
+
+#: src/format-lisp.c:3371
+#, fuzzy
+msgid "format specifications in 'msgid' and 'msgstr' are not equivalent"
+msgstr "ÎÅ ÓÏ×ÐÁÄÁÅÔ ÞÉÓÌÏ ÓÐÅÃÉÆÉËÁÃÉÊ ÆÏÒÍÁÔÁ ÐÅÞÁÔÉ × `msgid' É `msgstr'"
+
+#: src/format-python.c:391
+#, fuzzy
+msgid ""
+"format specifications in 'msgid' expect a mapping, those in 'msgstr' expect "
+"a tuple"
+msgstr "ÎÅ ÓÏ×ÐÁÄÁÅÔ ÞÉÓÌÏ ÓÐÅÃÉÆÉËÁÃÉÊ ÆÏÒÍÁÔÁ ÐÅÞÁÔÉ × `msgid' É `msgstr'"
+
+#: src/format-python.c:399
+#, fuzzy
+msgid ""
+"format specifications in 'msgid' expect a tuple, those in 'msgstr' expect a "
+"mapping"
+msgstr "ÎÅ ÓÏ×ÐÁÄÁÅÔ ÞÉÓÌÏ ÓÐÅÃÉÆÉËÁÃÉÊ ÆÏÒÍÁÔÁ ÐÅÞÁÔÉ × `msgid' É `msgstr'"
+
+#: src/format-python.c:422
+#, fuzzy, c-format
+msgid "a format specification for argument '%s' doesn't exist in 'msgid'"
+msgstr "ÎÅ ÓÏ×ÐÁÄÁÀÔ ÓÐÅÃÉÆÉËÁÃÉÉ ÆÏÒÍÁÔÁ ÄÌÑ ÁÒÇÕÍÅÎÔÁ %lu"
+
+#: src/format-python.c:432
+#, fuzzy, c-format
+msgid "a format specification for argument '%s' doesn't exist in 'msgstr'"
+msgstr "ÎÅ ÓÏ×ÐÁÄÁÀÔ ÓÐÅÃÉÆÉËÁÃÉÉ ÆÏÒÍÁÔÁ ÄÌÑ ÁÒÇÕÍÅÎÔÁ %lu"
+
+#: src/format-python.c:446
+#, fuzzy, c-format
+msgid ""
+"format specifications in 'msgid' and 'msgstr' for argument '%s' are not the "
+"same"
+msgstr "ÎÅ ÓÏ×ÐÁÄÁÀÔ ÓÐÅÃÉÆÉËÁÃÉÉ ÆÏÒÍÁÔÁ ÄÌÑ ÁÒÇÕÍÅÎÔÁ %lu"
+
+#: src/format-ycp.c:137
+#, fuzzy, c-format
+msgid "a format specification for argument %u doesn't exist in 'msgstr'"
+msgstr "ÎÅ ÓÏ×ÐÁÄÁÀÔ ÓÐÅÃÉÆÉËÁÃÉÉ ÆÏÒÍÁÔÁ ÄÌÑ ÁÒÇÕÍÅÎÔÁ %lu"
+
+#: src/format-ycp.c:138
+#, fuzzy, c-format
+msgid "a format specification for argument %u doesn't exist in 'msgid'"
+msgstr "ÎÅ ÓÏ×ÐÁÄÁÀÔ ÓÐÅÃÉÆÉËÁÃÉÉ ÆÏÒÍÁÔÁ ÄÌÑ ÁÒÇÕÍÅÎÔÁ %lu"
+
+#: src/gettext.c:146 src/hostname.c:168 src/msgattrib.c:264 src/msgcat.c:229
+#: src/msgcmp.c:134 src/msgcomm.c:232 src/msgconv.c:182 src/msgen.c:171
+#: src/msgexec.c:240 src/msgfmt.c:333 src/msggrep.c:276 src/msginit.c:247
+#: src/msgmerge.c:252 src/msgunfmt.c:182 src/msguniq.c:207 src/ngettext.c:126
+#: src/xgettext.c:352
 #, c-format, no-wrap
 msgid ""
 "Copyright (C) %s Free Software Foundation, Inc.\n"
@@ -141,43 +262,45 @@ msgstr ""
 "× ÉÓÈÏÄÎÏÍ ÔÅËÓÔÅ.  íÙ îå ÐÒÅÄÏÓÔÁ×ÌÑÅÍ ÇÁÒÁÎÔÉÊ; ÄÁÖÅ ÇÁÒÁÎÔÉÊ\n"
 "ëïííåòþåóëïê ãåîîïóôé ÉÌÉ ðòéçïäîïóôé äìñ ëïîëòåôîïê ãåìé.\n"
 
-#: src/gettext.c:149 src/msgcat.c:250 src/msgcmp.c:137 src/msgcomm.c:247
-#: src/msgconv.c:185 src/msgen.c:173 src/msgfmt.c:277 src/msggrep.c:281
-#: src/msgmerge.c:227 src/msgsed.c:247 src/msgunfmt.c:179 src/ngettext.c:129
-#: src/xgettext.c:391
+#: src/gettext.c:151 src/hostname.c:173 src/msgattrib.c:269 src/msgcat.c:234
+#: src/msgcmp.c:139 src/msgcomm.c:237 src/msgconv.c:187 src/msgen.c:176
+#: src/msgexec.c:245 src/msgfmt.c:338 src/msggrep.c:281 src/msginit.c:252
+#: src/msgmerge.c:257 src/msgunfmt.c:187 src/msguniq.c:212 src/ngettext.c:131
+#: src/xgettext.c:357
 #, c-format
 msgid "Written by %s.\n"
 msgstr "á×ÔÏÒ ÐÒÏÇÒÁÍÍÙ -- %s.\n"
 
-#: src/gettext.c:167 src/ngettext.c:141
+#: src/gettext.c:169 src/hostname.c:183 src/msginit.c:262 src/ngettext.c:143
 msgid "too many arguments"
 msgstr "ÓÌÉÛËÏÍ ÍÎÏÇÏ ÁÒÇÕÍÅÎÔÏ×"
 
-#: src/gettext.c:177 src/ngettext.c:153
+#: src/gettext.c:179 src/ngettext.c:155
 msgid "missing arguments"
 msgstr "ÎÅÏÂÈÏÄÉÍÏ ÚÁÄÁÔØ ÁÒÇÕÍÅÎÔÙ"
 
-#: src/gettext.c:249 src/msgcat.c:297 src/msgcmp.c:169 src/msgcomm.c:312
-#: src/msgconv.c:234 src/msgen.c:219 src/msgfmt.c:384 src/msggrep.c:366
-#: src/msgmerge.c:273 src/msgsed.c:313 src/msgunfmt.c:219 src/ngettext.c:208
-#: src/xgettext.c:513
+#: src/gettext.c:251 src/hostname.c:197 src/msgattrib.c:322 src/msgcat.c:290
+#: src/msgcmp.c:171 src/msgcomm.c:306 src/msgconv.c:241 src/msgen.c:227
+#: src/msgexec.c:338 src/msgfmt.c:479 src/msggrep.c:371 src/msginit.c:338
+#: src/msgmerge.c:367 src/msgunfmt.c:262 src/msguniq.c:269 src/ngettext.c:210
+#: src/xgettext.c:499
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "ðÏÐÒÏÂÕÊÔÅ `%s --help' ÄÌÑ ÐÏÌÕÞÅÎÉÑ ÂÏÌÅÅ ÐÏÄÒÏÂÎÏÇÏ ÏÐÉÓÁÎÉÑ.\n"
 
-#: src/gettext.c:254
+#: src/gettext.c:256
 #, c-format, no-wrap
 msgid ""
 "Usage: %s [OPTION] [[TEXTDOMAIN] MSGID]\n"
 "or:    %s [OPTION] -s [MSGID]...\n"
 msgstr ""
 
-#: src/gettext.c:260
+#: src/gettext.c:262
 #, no-wrap
 msgid "Display native language translation of a textual message.\n"
 msgstr ""
 
-#: src/gettext.c:264
+#: src/gettext.c:266
 #, fuzzy, no-wrap
 msgid ""
 "  -d, --domain=TEXTDOMAIN   retrieve translated messages from TEXTDOMAIN\n"
@@ -200,7 +323,7 @@ msgstr ""
 "  -V, --version             ÐÏËÁÚÁÔØ ÉÎÆÏÒÍÁÃÉÀ Ï ×ÅÒÓÉÉ É ×ÙÊÔÉ\n"
 "  [TEXTDOMAIN] MSGID        ÎÁÊÔÉ ÐÅÒÅ×ÏÄ ÓÏÏÂÝÅÎÉÑ MSGID × TEXTDOMAIN\n"
 
-#: src/gettext.c:275
+#: src/gettext.c:277
 #, fuzzy, c-format, no-wrap
 msgid ""
 "If the TEXTDOMAIN parameter is not given, the domain is determined from the\n"
@@ -222,31 +345,176 @@ msgstr ""
 "×Ù×ÏÄÑÔÓÑ ÉÈ ÐÅÒÅ×ÏÄÙ ÉÚ ÕËÁÚÁÎÎÏÇÏ ÄÏÍÅÎÁ.\n"
 "óÔÁÎÄÁÒÔÎÙÊ ËÁÔÁÌÏÇ ÐÏÉÓËÁ: %s\n"
 
-#: src/gettext.c:285 src/msgcat.c:378 src/msgcmp.c:214 src/msgcomm.c:390
-#: src/msgconv.c:298 src/msgen.c:279 src/msgfmt.c:443 src/msggrep.c:445
-#: src/msgmerge.c:348 src/msgsed.c:379 src/msgunfmt.c:272 src/ngettext.c:241
-#: src/xgettext.c:604
-msgid "Report bugs to <bug-gnu-utils@gnu.org>.\n"
+#: src/gettext.c:288 src/hostname.c:227 src/msgattrib.c:402 src/msgcat.c:371
+#: src/msgcmp.c:216 src/msgcomm.c:384 src/msgconv.c:305 src/msgen.c:287
+#: src/msgexec.c:410 src/msgfmt.c:563 src/msggrep.c:457 src/msginit.c:389
+#: src/msgmerge.c:465 src/msgunfmt.c:331 src/msguniq.c:343 src/ngettext.c:244
+#: src/xgettext.c:591
+#, fuzzy
+msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
 msgstr "ï ÏÛÉÂËÁÈ ÓÏÏÂÝÁÊÔÅ <bug-gnu-utils@gnu.org>.\n"
 
-#: src/msgcat.c:233 src/msgcat.c:237 src/msgcomm.c:230 src/msgcomm.c:234
-#: src/msgconv.c:205 src/msgen.c:194 src/msggrep.c:301 src/msgmerge.c:248
-#: src/msgsed.c:270 src/xgettext.c:363 src/xgettext.c:367
+#: src/hostname.c:202 src/msginit.c:343
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION]\n"
+msgstr ""
+
+#: src/hostname.c:207
+#, no-wrap
+msgid "Print the machine's hostname.\n"
+msgstr ""
+
+#: src/hostname.c:212
+#, no-wrap
+msgid ""
+"Output format:\n"
+"  -s, --short           short host name\n"
+"  -f, --fqdn, --long    long host name, includes fully qualified domain name,\n"
+"                          and aliases\n"
+"  -i, --ip-address      addresses for the hostname\n"
+msgstr ""
+
+#: src/hostname.c:221 src/msgattrib.c:396 src/msgcmp.c:210 src/msgconv.c:299
+#: src/msgen.c:281 src/msgexec.c:404 src/msggrep.c:451 src/msginit.c:383
+#, no-wrap
+msgid ""
+"Informative output:\n"
+"  -h, --help                  display this help and exit\n"
+"  -V, --version               output version information and exit\n"
+msgstr ""
+
+#: src/hostname.c:242 src/hostname.c:249
+msgid "could not get host name"
+msgstr ""
+
+#: src/msgattrib.c:284 src/msgconv.c:202 src/msgexec.c:190 src/msggrep.c:296
+#: src/msginit.c:205 src/msguniq.c:227
+msgid "at most one input file allowed"
+msgstr ""
+
+#: src/msgattrib.c:290 src/msgattrib.c:294 src/msgcat.c:244 src/msgcat.c:248
+#: src/msgcomm.c:247 src/msgcomm.c:251 src/msgconv.c:208 src/msgconv.c:212
+#: src/msgen.c:198 src/msgen.c:202 src/msgexec.c:260 src/msgexec.c:264
+#: src/msgfmt.c:358 src/msggrep.c:302 src/msggrep.c:306 src/msgmerge.c:282
+#: src/msgmerge.c:303 src/msgmerge.c:307 src/msguniq.c:233 src/msguniq.c:237
+#: src/xgettext.c:367 src/xgettext.c:371
 #, c-format
 msgid "%s and %s are mutually exclusive"
 msgstr "%s É %s ×ÚÁÉÍÎÏ ÉÓËÌÀÞÁÀÔ ÄÒÕÇ ÄÒÕÇÁ"
 
-#: src/msgcat.c:270 src/msgcomm.c:278
+#: src/msgattrib.c:327 src/msgconv.c:246 src/msggrep.c:376 src/msguniq.c:274
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] [INPUTFILE]\n"
+msgstr ""
+
+#: src/msgattrib.c:332
+#, no-wrap
+msgid ""
+"Filters the messages of a translation catalog according to their attributes,\n"
+"and manipulates the attributes.\n"
+msgstr ""
+
+#: src/msgattrib.c:338 src/msgcat.c:313 src/msgcmp.c:191 src/msgcomm.c:328
+#: src/msgconv.c:256 src/msgen.c:245 src/msgexec.c:353 src/msgfmt.c:494
+#: src/msggrep.c:387 src/msginit.c:354 src/msgmerge.c:390 src/msgunfmt.c:277
+#: src/msguniq.c:291
+#, no-wrap
+msgid "Mandatory arguments to long options are mandatory for short options too.\n"
+msgstr ""
+
+#: src/msgattrib.c:343 src/msgconv.c:261 src/msggrep.c:392 src/msguniq.c:296
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  INPUTFILE                   input PO file\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"If no input file is given or if it is -, standard input is read.\n"
+msgstr ""
+
+#: src/msgattrib.c:351 src/msgconv.c:269 src/msgen.c:258 src/msgexec.c:366
+#: src/msggrep.c:400 src/msgmerge.c:412
+#, no-wrap
+msgid ""
+"Output file location:\n"
+"  -o, --output-file=FILE      write output to specified file\n"
+"The results are written to standard output if no output file is specified\n"
+"or if it is -.\n"
+msgstr ""
+
+#: src/msgattrib.c:359
+#, no-wrap
+msgid ""
+"Message selection:\n"
+"      --translated            keep translated, remove untranslated messages\n"
+"      --untranslated          keep untranslated, remove translated messages\n"
+"      --no-fuzzy              remove 'fuzzy' marked messages\n"
+"      --only-fuzzy            keep 'fuzzy' marked messages\n"
+"      --no-obsolete           remove obsolete #~ messages\n"
+"      --only-obsolete         keep obsolete #~ messages\n"
+msgstr ""
+
+#: src/msgattrib.c:370
+#, no-wrap
+msgid ""
+"Attribute manipulation:\n"
+"      --set-fuzzy             set all messages 'fuzzy'\n"
+"      --clear-fuzzy           set all messages non-'fuzzy'\n"
+"      --set-obsolete          set all messages obsolete\n"
+"      --clear-obsolete        set all messages non-obsolete\n"
+"      --fuzzy                 synonym for --only-fuzzy --clear-fuzzy\n"
+"      --obsolete              synonym for --only-obsolete --clear-obsolete\n"
+msgstr ""
+
+#: src/msgattrib.c:381
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
+"  -e, --no-escape             do not use C escapes in output (default)\n"
+"  -E, --escape                use C escapes in output, no extended chars\n"
+"      --force-po              write PO file even if empty\n"
+"  -i, --indent                write the .po file using indented style\n"
+"      --no-location           do not write '#: filename:line' lines\n"
+"  -n, --add-location          generate '#: filename:line' lines (default)\n"
+"      --strict                write out strict Uniforum conforming .po file\n"
+"  -w, --width=NUMBER          set output page width\n"
+"  -s, --sort-output           generate sorted output\n"
+"  -F, --sort-by-file          sort output by file location\n"
+msgstr ""
+"éÓÐÏÌØÚÏ×ÁÎÉÅ: %s [ëìàþ] def.po ref.po\n"
+"áÒÇÕÍÅÎÔÙ, ÏÂÑÚÁÔÅÌØÎÙÅ ÄÌÑ ÄÌÉÎÎÙÈ ËÌÀÞÅÊ, ÏÂÑÚÁÔÅÌØÎÙ É ÄÌÑ ËÏÒÏÔËÉÈ.\n"
+"  -C, --compendium=æáêì       ÄÏÐÏÌÎÉÔÅÌØÎÁÑ ÂÉÂÌÉÏÔÅËÁ ÐÅÒÅ×ÏÄÏ×,\n"
+"                              ÍÏÖÎÏ ÕËÁÚÁÔØ ÎÅÓËÏÌØËÏ\n"
+"  -D, --directory=ëáôáìïç     ÄÏÂÁ×ÉÔØ ëáôáìïç × ÓÐÉÓÏË ËÁÔÁÌÏÇÏ× ÄÌÑ ÐÏÉÓËÁ\n"
+"                              ×ÈÏÄÎÙÈ ÆÁÊÌÏ×\n"
+"  -e, --no-escape             ÎÅ ÉÓÐÏÌØÚÏ×ÁÔØ ÐÒÉ ×Ù×ÏÄÅ escape-\n"
+"                              ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔÉ ÑÚÙËÁ C (ÕÓÔÁÎÏ×ÌÅÎÏ ÐÏ\n"
+"                              ÕÍÏÌÞÁÎÉÀ)\n"
+"  -E, --escape                ÉÓÐÏÌØÚÏ×ÁÔØ escape-ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔÉ, Á ÎÅ\n"
+"                              ÒÁÓÛÉÒÅÎÎÙÅ ÓÉÍ×ÏÌÙ\n"
+"      --force-po              ÚÁÐÉÓÁÔØ PO-ÆÁÊÌ, ÄÁÖÅ ÅÓÌÉ ÏΠÐÕÓÔ\n"
+"  -h, --help                  ÐÏËÁÚÁÔØ ÜÔÕ ÓÐÒÁ×ËÕ É ×ÙÊÔÉ\n"
+"  -i, --indent                ÄÅÌÁÔØ ÏÔÓÔÕÐÙ × ×Ù×ÏÄÅ\n"
+"  -o, --output-file=æáêì      ÚÁÐÉÓÁÔØ ×Ù×ÏÄ × ÕËÁÚÁÎÎÙÊ ÆÁÊÌ\n"
+"      --no-location           ÎÅ ×Ù×ÏÄÉÔØ ÓÔÒÏËÉ '#: filename:line'\n"
+"      --add-location          ×Ù×ÏÄÉÔØ ÓÔÒÏËÉ '#: filename:line' (ÐÏ ÕÍÏÌÞÁÎÉÀ)\n"
+"      --strict                ×Ù×ÏÄ × ÒÅÖÉÍÅ ÓÔÒÏÇÏÇÏ ÓÏÏÔ×ÅÔÓÔ×ÉÑ ÓÔÁÎÄÁÒÔÕ\n"
+"                              Uniforum\n"
+"  -v, --verbose               Õ×ÅÌÉÞÉÔØ ÓÔÅÐÅÎØ ÐÏÄÒÏÂÎÏÓÔÉ ÏÐÉÓÁÎÉÑ\n"
+"                              ÐÒÅÄÐÒÉÎÉÍÁÅÍÙÈ ÄÅÊÓÔ×ÉÊ\n"
+"  -V, --version               ÐÏËÁÚÁÔØ ÉÎÆÏÒÍÁÃÉÀ Ï ×ÅÒÓÉÉ É ×ÙÊÔÉ\n"
+"  -w, --width=þéóìï           ÕÓÔÁÎÏ×ÉÔØ ÛÉÒÉÎÕ ÓÔÒÁÎÉÃÙ ×Ù×ÏÄÁ ÒÁ×ÎÏÊ þéóìõ\n"
+
+#: src/msgcat.c:254 src/msgcomm.c:277
 #, c-format
 msgid "impossible selection criteria specified (%d < n < %d)"
 msgstr "ÚÁÄÁΠÎÅÄÏÐÕÓÔÉÍÙÊ ËÒÉÔÅÒÉÊ ×ÙÂÏÒÁ (%d < n < %d)"
 
-#: src/msgcat.c:302 src/msgcomm.c:317 src/xgettext.c:518
+#: src/msgcat.c:295 src/msgcomm.c:311 src/xgettext.c:504
 #, c-format, no-wrap
 msgid "Usage: %s [OPTION] [INPUTFILE]...\n"
 msgstr ""
 
-#: src/msgcat.c:307
+#: src/msgcat.c:300
 #, fuzzy, no-wrap
 msgid ""
 "Concatenates and merges the specified PO files.\n"
@@ -276,14 +544,7 @@ msgstr ""
 "ÔÏÌØËÏ ÉÚ ÐÅÒ×ÏÇÏ PO-ÆÁÊÌÁ, × ËÏÔÏÒÏÍ ÏÎÉ ÂÙÌÉ ÏÐÒÅÄÅÌÅÎÙ.  ëÏÍÍÅÎÔÁÒÉÉ,\n"
 "ÓÏÄÅÒÖÁÝÉÅ ÉÍÑ ÆÁÊÌÁ É ÎÏÍÅÒ ÓÔÒÏËÉ ÓÏÈÒÁÎÑÀÔÓÑ ÄÌÑ ×ÓÅÈ PO-ÆÁÊÌÏ×.\n"
 
-#: src/msgcat.c:320 src/msgcmp.c:189 src/msgcomm.c:334 src/msgconv.c:249
-#: src/msgen.c:237 src/msgfmt.c:399 src/msggrep.c:382 src/msgmerge.c:296
-#: src/msgsed.c:328 src/msgunfmt.c:234
-#, no-wrap
-msgid "Mandatory arguments to long options are mandatory for short options too.\n"
-msgstr ""
-
-#: src/msgcat.c:325 src/msgcomm.c:339 src/xgettext.c:534
+#: src/msgcat.c:318 src/msgcomm.c:333 src/xgettext.c:520
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -293,7 +554,7 @@ msgid ""
 "If input file is -, standard input is read.\n"
 msgstr ""
 
-#: src/msgcat.c:334 src/msgcomm.c:348
+#: src/msgcat.c:327 src/msgcomm.c:342 src/msguniq.c:304
 #, no-wrap
 msgid ""
 "Output file location:\n"
@@ -302,7 +563,7 @@ msgid ""
 "or if it is -.\n"
 msgstr ""
 
-#: src/msgcat.c:342 src/msgcomm.c:356
+#: src/msgcat.c:335
 #, fuzzy, no-wrap
 msgid ""
 "Message selection:\n"
@@ -310,7 +571,7 @@ msgid ""
 "                                 definitions, defaults to infinite if not\n"
 "                                 set\n"
 "  ->, --more-than=NUMBER         print messages with more than this many\n"
-"                                 definitions, defaults to 1 if not set\n"
+"                                 definitions, defaults to 0 if not set\n"
 "  -u, --unique                   shorthand for --less-than=2, requests\n"
 "                                 that only unique messages be printed\n"
 msgstr ""
@@ -331,7 +592,7 @@ msgstr ""
 "ÔÏÌØËÏ ÉÚ ÐÅÒ×ÏÇÏ PO-ÆÁÊÌÁ, × ËÏÔÏÒÏÍ ÏÎÉ ÂÙÌÉ ÏÐÒÅÄÅÌÅÎÙ.  ëÏÍÍÅÎÔÁÒÉÉ,\n"
 "ÓÏÄÅÒÖÁÝÉÅ ÉÍÑ ÆÁÊÌÁ É ÎÏÍÅÒ ÓÔÒÏËÉ ÓÏÈÒÁÎÑÀÔÓÑ ÄÌÑ ×ÓÅÈ PO-ÆÁÊÌÏ×.\n"
 
-#: src/msgcat.c:354
+#: src/msgcat.c:347 src/msguniq.c:319
 #, fuzzy, no-wrap
 msgid ""
 "Output details:\n"
@@ -346,7 +607,7 @@ msgid ""
 "  -n, --add-location             generate '#: filename:line' lines (default)\n"
 "      --strict                   write out strict Uniforum conforming .po file\n"
 "  -w, --width=NUMBER             set output page width\n"
-"  -s, --sort-output              generate sorted output and remove duplicates\n"
+"  -s, --sort-output              generate sorted output\n"
 "  -F, --sort-by-file             sort output by file location\n"
 msgstr ""
 "éÓÐÏÌØÚÏ×ÁÎÉÅ: %s [ëìàþ] def.po ref.po\n"
@@ -373,7 +634,7 @@ msgstr ""
 "  -V, --version               ÐÏËÁÚÁÔØ ÉÎÆÏÒÍÁÃÉÀ Ï ×ÅÒÓÉÉ É ×ÙÊÔÉ\n"
 "  -w, --width=þéóìï           ÕÓÔÁÎÏ×ÉÔØ ÛÉÒÉÎÕ ÓÔÒÁÎÉÃÙ ×Ù×ÏÄÁ ÒÁ×ÎÏÊ þéóìõ\n"
 
-#: src/msgcat.c:372 src/msgcomm.c:384 src/xgettext.c:598
+#: src/msgcat.c:365 src/msgcomm.c:378 src/msguniq.c:337 src/xgettext.c:585
 #, no-wrap
 msgid ""
 "Informative output:\n"
@@ -381,75 +642,20 @@ msgid ""
 "  -V, --version                  output version information and exit\n"
 msgstr ""
 
-#: src/msgcat.c:403 src/msgcomm.c:415 src/msgunfmt.c:394 src/po-lex.c:85
-#: src/xget-lex.c:159 src/xget-lex.c:172 src/xget-lex.c:182 src/xgettext.c:629
-#, c-format
-msgid "error while opening \"%s\" for reading"
-msgstr "ÏÛÉÂËÁ ÏÔËÒÙÔÉÑ ÆÁÊÌÁ \"%s\" ÄÌÑ ÞÔÅÎÉÑ"
-
-#: src/msgcat.c:544 src/msgl-charset.c:82 src/msgl-iconv.c:292
-#, c-format
-msgid "present charset \"%s\" is not a portable encoding name"
-msgstr ""
-
-#: src/msgcat.c:552 src/msgl-iconv.c:300
-#, c-format
-msgid "two different charsets \"%s\" and \"%s\" in input file"
-msgstr ""
-
-#: src/msgcat.c:561
-#, c-format
-msgid ""
-"input file `%s' doesn't contain a header entry with a charset specification"
-msgstr ""
-
-#: src/msgcat.c:565
-#, c-format
-msgid ""
-"domain \"%s\" in input file `%s' doesn't contain a header entry with a "
-"charset specification"
-msgstr ""
-
-#: src/msgcat.c:719 src/msgl-iconv.c:370
-#, c-format
-msgid "target charset \"%s\" is not a portable encoding name."
-msgstr ""
-
-#: src/msgcat.c:752 src/msgcat.c:758 src/msgl-charset.c:87
-#: src/msgl-charset.c:122
-#, fuzzy
-msgid "warning: "
-msgstr "%s: ÐÒÅÄÕÐÒÅÖÄÅÎÉÅ: "
-
-#: src/msgcat.c:753
-msgid ""
-"Input files contain messages in different encodings, UTF-8 among others.\n"
-"Converting the output to UTF-8.\n"
-msgstr ""
-
-#: src/msgcat.c:759
-#, c-format
-msgid ""
-"Input files contain messages in different encodings, %s and %s among "
-"others.\n"
-"Converting the output to UTF-8.\n"
-"To select a different output encoding, use the --to-code option.\n"
-msgstr ""
-
-#: src/msgcmp.c:148 src/msgmerge.c:238
+#: src/msgcmp.c:150 src/msgmerge.c:268
 msgid "no input files given"
 msgstr "ÎÅ ÚÁÄÁÎÙ ×ÈÏÄÎÙÅ ÆÁÊÌÙ"
 
-#: src/msgcmp.c:153 src/msgmerge.c:243
+#: src/msgcmp.c:155 src/msgmerge.c:273
 msgid "exactly 2 input files required"
 msgstr "ÎÅÏÂÈÏÄÉÍÏ ÚÁÄÁÔØ Ä×Á ×ÈÏÄÎÙÈ ÆÁÊÌÁ"
 
-#: src/msgcmp.c:174 src/msgmerge.c:278
+#: src/msgcmp.c:176 src/msgmerge.c:372
 #, c-format, no-wrap
 msgid "Usage: %s [OPTION] def.po ref.pot\n"
 msgstr ""
 
-#: src/msgcmp.c:179
+#: src/msgcmp.c:181
 #, fuzzy, no-wrap
 msgid ""
 "Compare two Uniforum style .po files to check that both contain the same\n"
@@ -473,7 +679,7 @@ msgstr ""
 "ÄÉÁÇÎÏÓÔÉËÉ ÉÓÐÏÌØÚÕÅÔÓÑ ÐÒÉÂÌÉÚÉÔÅÌØÎÏÅ ÓÒÁ×ÎÅÎÉÅ, ÅÓÌÉ ÎÅÌØÚÑ ÎÁÊÔÉ ÔÏÞÎÏÅ\n"
 "ÓÏ×ÐÁÄÅÎÉÅ.\n"
 
-#: src/msgcmp.c:194
+#: src/msgcmp.c:196
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -482,40 +688,31 @@ msgid ""
 "  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
 msgstr ""
 
-#: src/msgcmp.c:202 src/msgmerge.c:319
+#: src/msgcmp.c:204 src/msgmerge.c:436
 #, no-wrap
 msgid ""
 "Operation modifiers:\n"
 "  -m, --multi-domain          apply ref.pot to each of the domains in def.po\n"
 msgstr ""
 
-#: src/msgcmp.c:208 src/msgconv.c:292 src/msgen.c:273 src/msggrep.c:439
-#: src/msgsed.c:373
-#, no-wrap
-msgid ""
-"Informative output:\n"
-"  -h, --help                  display this help and exit\n"
-"  -V, --version               output version information and exit\n"
-msgstr ""
-
-#: src/msgcmp.c:251 src/msgmerge.c:426
+#: src/msgcmp.c:253 src/msgmerge.c:543
 msgid "this message is used but not defined..."
 msgstr "ÜÔÏ ÓÏÏÂÝÅÎÉÅ ÉÓÐÏÌØÚÕÅÔÓÑ ÐÒÏÇÒÁÍÍÏÊ, ÎÏ ÎÅ ÂÙÌÏ ÏÐÒÅÄÅÌÅÎÏ..."
 
-#: src/msgcmp.c:253 src/msgmerge.c:428
+#: src/msgcmp.c:255 src/msgmerge.c:545
 msgid "...but this definition is similar"
 msgstr "...ÏÄÎÁËÏ ÚÄÅÓØ ÏÐÒÅÄÅÌÅÎÏ ÐÏÈÏÖÅÅ ÓÏÏÂÝÅÎÉÅ"
 
-#: src/msgcmp.c:258 src/msgmerge.c:455
+#: src/msgcmp.c:260 src/msgmerge.c:572
 #, c-format
 msgid "this message is used but not defined in %s"
 msgstr "ÜÔÏ ÓÏÏÂÝÅÎÉÅ ÎÅ ÂÙÌÏ ÏÐÒÅÄÅÌÅÎÏ × %s"
 
-#: src/msgcmp.c:330
+#: src/msgcmp.c:332
 msgid "warning: this message is not used"
 msgstr "ÐÒÅÄÕÐÒÅÖÄÅÎÉÅ: ÜÔÏ ÓÏÏÂÝÅÎÉÅ ÎÅ ÉÓÐÏÌØÚÕÅÔÓÑ"
 
-#: src/msgcmp.c:337 src/po-lex.c:99
+#: src/msgcmp.c:339 src/po-lex.c:705
 #, c-format
 msgid "found %d fatal error"
 msgid_plural "found %d fatal errors"
@@ -523,19 +720,19 @@ msgstr[0] "
 msgstr[1] "ÎÁÊÄÅÎÏ ËÒÉÔÉÞÅÓËÉÈ ÏÛÉÂÏË: %d"
 msgstr[2] "ÎÁÊÄÅÎÏ ËÒÉÔÉÞÅÓËÉÈ ÏÛÉÂÏË: %d"
 
-#: src/msgcmp.c:418 src/msgfmt.c:703 src/read-po.c:184 src/xgettext.c:1147
+#: src/msgcmp.c:420 src/msgfmt.c:1323 src/read-po.c:202 src/x-po.c:163
 msgid "duplicate message definition"
 msgstr "ÐÏ×ÔÏÒÎÏÅ ÏÐÒÅÄÅÌÅÎÉÅ ÓÏÏÂÝÅÎÉÑ"
 
-#: src/msgcmp.c:419 src/msgfmt.c:705 src/read-po.c:185 src/xgettext.c:1148
+#: src/msgcmp.c:421 src/msgfmt.c:1324 src/read-po.c:203 src/x-po.c:164
 msgid "...this is the location of the first definition"
 msgstr "...ÍÅÓÔÏ ÐÏÑ×ÌÅÎÉÑ ÐÅÒ×ÏÇÏ ÏÐÒÅÄÅÌÅÎÉÑ"
 
-#: src/msgcomm.c:267
+#: src/msgcomm.c:266
 msgid "at least two files must be specified"
 msgstr "ÎÅÏÂÈÏÄÉÍÏ ÚÁÄÁÔØ ÎÅ ÍÅÎÅÅ Ä×ÕÈ ÆÁÊÌÏ×"
 
-#: src/msgcomm.c:322
+#: src/msgcomm.c:316
 #, fuzzy, no-wrap
 msgid ""
 "Find messages which are common to two or more of the specified PO files.\n"
@@ -564,28 +761,57 @@ msgstr ""
 "ÔÏÌØËÏ ÉÚ ÐÅÒ×ÏÇÏ PO-ÆÁÊÌÁ, × ËÏÔÏÒÏÍ ÏÎÉ ÂÙÌÉ ÏÐÒÅÄÅÌÅÎÙ.  ëÏÍÍÅÎÔÁÒÉÉ,\n"
 "ÓÏÄÅÒÖÁÝÉÅ ÉÍÑ ÆÁÊÌÁ É ÎÏÍÅÒ ÓÔÒÏËÉ ÓÏÈÒÁÎÑÀÔÓÑ ÄÌÑ ×ÓÅÈ PO-ÆÁÊÌÏ×.\n"
 
-#: src/msgcomm.c:368
+#: src/msgcomm.c:350
 #, fuzzy, no-wrap
 msgid ""
-"Output details:\n"
-"  -e, --no-escape                do not use C escapes in output (default)\n"
-"  -E, --escape                   use C escapes in output, no extended chars\n"
-"      --force-po                 write PO file even if empty\n"
-"  -i, --indent                   write the .po file using indented style\n"
-"      --no-location              do not write '#: filename:line' lines\n"
-"  -n, --add-location             generate '#: filename:line' lines (default)\n"
-"      --strict                   write out strict Uniforum conforming .po file\n"
-"  -w, --width=NUMBER             set output page width\n"
-"  -s, --sort-output              generate sorted output and remove duplicates\n"
-"  -F, --sort-by-file             sort output by file location\n"
-"      --omit-header              don't write header with `msgid \"\"' entry\n"
+"Message selection:\n"
+"  -<, --less-than=NUMBER         print messages with less than this many\n"
+"                                 definitions, defaults to infinite if not\n"
+"                                 set\n"
+"  ->, --more-than=NUMBER         print messages with more than this many\n"
+"                                 definitions, defaults to 1 if not set\n"
+"  -u, --unique                   shorthand for --less-than=2, requests\n"
+"                                 that only unique messages be printed\n"
 msgstr ""
-"éÓÐÏÌØÚÏ×ÁÎÉÅ: %s [ëìàþ] def.po ref.po\n"
-"áÒÇÕÍÅÎÔÙ, ÏÂÑÚÁÔÅÌØÎÙÅ ÄÌÑ ÄÌÉÎÎÙÈ ËÌÀÞÅÊ, ÏÂÑÚÁÔÅÌØÎÙ É ÄÌÑ ËÏÒÏÔËÉÈ.\n"
-"  -C, --compendium=æáêì       ÄÏÐÏÌÎÉÔÅÌØÎÁÑ ÂÉÂÌÉÏÔÅËÁ ÐÅÒÅ×ÏÄÏ×,\n"
-"                              ÍÏÖÎÏ ÕËÁÚÁÔØ ÎÅÓËÏÌØËÏ\n"
-"  -D, --directory=ëáôáìïç     ÄÏÂÁ×ÉÔØ ëáôáìïç × ÓÐÉÓÏË ËÁÔÁÌÏÇÏ× ÄÌÑ ÐÏÉÓËÁ\n"
-"                              ×ÈÏÄÎÙÈ ÆÁÊÌÏ×\n"
+"  -V, --version                  ÐÏËÁÚÁÔØ ÉÎÆÏÒÍÁÃÉÀ Ï ×ÅÒÓÉÉ É ×ÙÊÔÉ\n"
+"  -w, --width=þéóìï              ÕÓÔÁÎÏ×ÉÔØ ÛÉÒÉÎÕ ÓÔÒÁÎÉÃÙ ×Ù×ÏÄÁ ÒÁ×ÎÏÊ þéóìõ\n"
+"  -<, --less-than=þéóìï          ×Ù×ÅÓÔÉ ÔÅ ÓÏÏÂÝÅÎÉÑ, ÄÌÑ ËÏÔÏÒÙÈ ÞÉÓÌÏ\n"
+"                                 ÏÐÒÅÄÅÌÅÎÉÊ ÍÅÎØÛÅ ÚÁÄÁÎÏÇÏ þéóìá (ÐÏ ÕÍÏÌÞÁÎÉÀ\n"
+"                                 ÎÅ ÏÇÒÁÎÉÞÅÎÏ)\n"
+"  ->, --more-than=þéóìï          ×Ù×ÅÓÔÉ ÔÅ ÓÏÏÂÝÅÎÉÑ, ÄÌÑ ËÏÔÏÒÙÈ ÞÉÓÌÏ\n"
+"                                 ÏÐÒÅÄÅÌÅÎÉÊ ÂÏÌØÛÅ ÚÁÄÁÎÏÇÏ þéóìá (ÐÏ ÕÍÏÌÞÁÎÉÀ\n"
+"                                 ÂÏÌØÛÅ ÏÄÎÏÇÏ)\n"
+"\n"
+"îÁÈÏÄÉÔ ÏÄÉÎÁËÏ×ÙÅ ÓÏÏÂÝÅÎÉÑ × Ä×ÕÈ ÉÌÉ ÂÏÌÅÅ ÕËÁÚÁÎÎÙÈ PO-ÆÁÊÌÁÈ.\n"
+"ó ÐÏÍÏÝØÀ ËÌÀÞÁ --more-than ÍÏÖÎÏ ÚÁÔÒÅÂÏ×ÁÔØ ×Ù×ÏÄ ÓÏÏÂÝÅÎÉÊ, ×ÓÔÒÅÞÁÀÝÉÈÓÑ\n"
+"ÞÁÝÅ ÄÒÕÇÉÈ.  é ÏÂÒÁÔÎÏ, --less-than ÍÏÖÅÔ ÂÙÔØ ÉÓÐÏÌØÚÏ×ÁΠÄÌÑ ÐÏÌÕÞÅÎÉÑ ÍÅÎÅÅ\n"
+"ÞÁÓÔÏ ×ÓÔÒÅÞÁÀÝÉÈÓÑ ÓÏÏÂÝÅÎÉÊ (Ô.Å. --less-than=2 ×Ù×ÅÄÅÔ ÔÏÌØËÏ ÕÎÉËÁÌØÎÙÅ\n"
+"ÓÏÏÂÝÅÎÉÑ).  ðÅÒÅ×ÏÄÙ, ËÏÍÍÅÎÔÁÒÉÉ É ÉÚ×ÌÅÞÅÎÎÙÅ ËÏÍÍÅÎÔÁÒÉÉ ÓÏÈÒÁÎÑÀÔÓÑ, ÎÏ\n"
+"ÔÏÌØËÏ ÉÚ ÐÅÒ×ÏÇÏ PO-ÆÁÊÌÁ, × ËÏÔÏÒÏÍ ÏÎÉ ÂÙÌÉ ÏÐÒÅÄÅÌÅÎÙ.  ëÏÍÍÅÎÔÁÒÉÉ,\n"
+"ÓÏÄÅÒÖÁÝÉÅ ÉÍÑ ÆÁÊÌÁ É ÎÏÍÅÒ ÓÔÒÏËÉ ÓÏÈÒÁÎÑÀÔÓÑ ÄÌÑ ×ÓÅÈ PO-ÆÁÊÌÏ×.\n"
+
+#: src/msgcomm.c:362
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
+"  -e, --no-escape                do not use C escapes in output (default)\n"
+"  -E, --escape                   use C escapes in output, no extended chars\n"
+"      --force-po                 write PO file even if empty\n"
+"  -i, --indent                   write the .po file using indented style\n"
+"      --no-location              do not write '#: filename:line' lines\n"
+"  -n, --add-location             generate '#: filename:line' lines (default)\n"
+"      --strict                   write out strict Uniforum conforming .po file\n"
+"  -w, --width=NUMBER             set output page width\n"
+"  -s, --sort-output              generate sorted output\n"
+"  -F, --sort-by-file             sort output by file location\n"
+"      --omit-header              don't write header with `msgid \"\"' entry\n"
+msgstr ""
+"éÓÐÏÌØÚÏ×ÁÎÉÅ: %s [ëìàþ] def.po ref.po\n"
+"áÒÇÕÍÅÎÔÙ, ÏÂÑÚÁÔÅÌØÎÙÅ ÄÌÑ ÄÌÉÎÎÙÈ ËÌÀÞÅÊ, ÏÂÑÚÁÔÅÌØÎÙ É ÄÌÑ ËÏÒÏÔËÉÈ.\n"
+"  -C, --compendium=æáêì       ÄÏÐÏÌÎÉÔÅÌØÎÁÑ ÂÉÂÌÉÏÔÅËÁ ÐÅÒÅ×ÏÄÏ×,\n"
+"                              ÍÏÖÎÏ ÕËÁÚÁÔØ ÎÅÓËÏÌØËÏ\n"
+"  -D, --directory=ëáôáìïç     ÄÏÂÁ×ÉÔØ ëáôáìïç × ÓÐÉÓÏË ËÁÔÁÌÏÇÏ× ÄÌÑ ÐÏÉÓËÁ\n"
+"                              ×ÈÏÄÎÙÈ ÆÁÊÌÏ×\n"
 "  -e, --no-escape             ÎÅ ÉÓÐÏÌØÚÏ×ÁÔØ ÐÒÉ ×Ù×ÏÄÅ escape-\n"
 "                              ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔÉ ÑÚÙËÁ C (ÕÓÔÁÎÏ×ÌÅÎÏ ÐÏ\n"
 "                              ÕÍÏÌÞÁÎÉÀ)\n"
@@ -604,45 +830,12 @@ msgstr ""
 "  -V, --version               ÐÏËÁÚÁÔØ ÉÎÆÏÒÍÁÃÉÀ Ï ×ÅÒÓÉÉ É ×ÙÊÔÉ\n"
 "  -w, --width=þéóìï           ÕÓÔÁÎÏ×ÉÔØ ÛÉÒÉÎÕ ÓÔÒÁÎÉÃÙ ×Ù×ÏÄÁ ÒÁ×ÎÏÊ þéóìõ\n"
 
-# ÜÔÏ ÓÏÏÂÝÅÎÉÅ ÐÏËÁ ÎÅ ÉÓÐÏÌØÚÕÅÔÓÑ
-#: src/msgcomm.c:510 src/xgettext.c:676 src/xgettext.c:1093
-msgid "this file may not contain domain directives"
-msgstr "ÜÔÏÔ ÆÁÊÌ ÎÅ ÍÏÖÅÔ ÓÏÄÅÒÖÁÔØ ÄÉÒÅËÔÉ×Ù ÄÏÍÅÎÁ"
-
-#: src/msgconv.c:200 src/msggrep.c:296 src/msgsed.c:262
-msgid "at most one input file allowed"
-msgstr ""
-
-#: src/msgconv.c:239 src/msggrep.c:371 src/msgsed.c:318
-#, c-format, no-wrap
-msgid "Usage: %s [OPTION] [INPUTFILE]\n"
-msgstr ""
-
-#: src/msgconv.c:244
+#: src/msgconv.c:251
 #, no-wrap
 msgid "Converts a translation catalog to a different character encoding.\n"
 msgstr ""
 
-#: src/msgconv.c:254 src/msggrep.c:387 src/msgsed.c:333
-#, no-wrap
-msgid ""
-"Input file location:\n"
-"  INPUTFILE                   input PO file\n"
-"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
-"If no input file is given or if it is -, standard input is read.\n"
-msgstr ""
-
-#: src/msgconv.c:262 src/msgen.c:250 src/msggrep.c:395 src/msgmerge.c:311
-#: src/msgsed.c:341
-#, no-wrap
-msgid ""
-"Output file location:\n"
-"  -o, --output-file=FILE      write output to specified file\n"
-"The results are written to standard output if no output file is specified\n"
-"or if it is -.\n"
-msgstr ""
-
-#: src/msgconv.c:270
+#: src/msgconv.c:277
 #, no-wrap
 msgid ""
 "Conversion target:\n"
@@ -650,7 +843,7 @@ msgid ""
 "The default encoding is the current locale's encoding.\n"
 msgstr ""
 
-#: src/msgconv.c:277 src/msgen.c:258 src/msgmerge.c:325
+#: src/msgconv.c:284 src/msgen.c:266 src/msgmerge.c:442
 #, fuzzy, no-wrap
 msgid ""
 "Output details:\n"
@@ -662,7 +855,7 @@ msgid ""
 "      --add-location          preserve '#: filename:line' lines (default)\n"
 "      --strict                strict Uniforum output style\n"
 "  -w, --width=NUMBER          set output page width\n"
-"  -s, --sort-output           generate sorted output and remove duplicates\n"
+"  -s, --sort-output           generate sorted output\n"
 "  -F, --sort-by-file          sort output by file location\n"
 msgstr ""
 "éÓÐÏÌØÚÏ×ÁÎÉÅ: %s [ëìàþ] def.po ref.po\n"
@@ -689,21 +882,21 @@ msgstr ""
 "  -V, --version               ÐÏËÁÚÁÔØ ÉÎÆÏÒÍÁÃÉÀ Ï ×ÅÒÓÉÉ É ×ÙÊÔÉ\n"
 "  -w, --width=þéóìï           ÕÓÔÁÎÏ×ÉÔØ ÛÉÒÉÎÕ ÓÔÒÁÎÉÃÙ ×Ù×ÏÄÁ ÒÁ×ÎÏÊ þéóìõ\n"
 
-#: src/msgen.c:184 src/msgfmt.c:288 src/xgettext.c:402
+#: src/msgen.c:187 src/msgfmt.c:349 src/xgettext.c:388
 msgid "no input file given"
 msgstr "ÎÅ ÚÁÄÁΠ×ÈÏÄÎÏÊ ÆÁÊÌ"
 
-#: src/msgen.c:189
+#: src/msgen.c:192
 #, fuzzy
 msgid "exactly one input file required"
 msgstr "ÎÅÏÂÈÏÄÉÍÏ ÚÁÄÁÔØ Ä×Á ×ÈÏÄÎÙÈ ÆÁÊÌÁ"
 
-#: src/msgen.c:224
+#: src/msgen.c:232
 #, c-format, no-wrap
 msgid "Usage: %s [OPTION] INPUTFILE\n"
 msgstr ""
 
-#: src/msgen.c:229
+#: src/msgen.c:237
 #, no-wrap
 msgid ""
 "Creates an English translation catalog.  The input file is the last\n"
@@ -712,7 +905,7 @@ msgid ""
 "identical to the msgid, and are marked fuzzy.\n"
 msgstr ""
 
-#: src/msgen.c:242
+#: src/msgen.c:250
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -721,12 +914,133 @@ msgid ""
 "If input file is -, standard input is read.\n"
 msgstr ""
 
-#: src/msgfmt.c:339
+#: src/msgexec.c:255
+#, fuzzy
+msgid "missing filter name"
+msgstr "ÎÅÏÂÈÏÄÉÍÏ ÚÁÄÁÔØ ÁÒÇÕÍÅÎÔÙ"
+
+#: src/msgexec.c:279
+#, fuzzy
+msgid "at least one sed script must be specified"
+msgstr "ÎÅÏÂÈÏÄÉÍÏ ÚÁÄÁÔØ ÎÅ ÍÅÎÅÅ Ä×ÕÈ ÆÁÊÌÏ×"
+
+#: src/msgexec.c:343
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] FILTER [FILTER-OPTION]\n"
+msgstr ""
+
+#: src/msgexec.c:348
+#, no-wrap
+msgid "Applies a filter to all translations of a translation catalog.\n"
+msgstr ""
+
+#: src/msgexec.c:358
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  -i, --input=INPUTFILE       input PO file\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"If no input file is given or if it is -, standard input is read.\n"
+msgstr ""
+
+#: src/msgexec.c:374
+#, no-wrap
+msgid ""
+"The FILTER can be any program that reads a translation from standard input\n"
+"and writes a modified translation to standard output.\n"
+msgstr ""
+
+#: src/msgexec.c:380
+#, no-wrap
+msgid ""
+"Useful FILTER-OPTIONs when the FILTER is 'sed':\n"
+"  -e, --expression=SCRIPT     add SCRIPT to the commands to be executed\n"
+"  -f, --file=SCRIPTFILE       add the contents of SCRIPTFILE to the commands\n"
+"                                to be executed\n"
+"  -n, --quiet, --silent       suppress automatic printing of pattern space\n"
+msgstr ""
+
+#: src/msgexec.c:389
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
+"      --no-escape             do not use C escapes in output (default)\n"
+"  -E, --escape                use C escapes in output, no extended chars\n"
+"      --force-po              write PO file even if empty\n"
+"      --indent                indented output style\n"
+"      --no-location           suppress '#: filename:line' lines\n"
+"      --add-location          preserve '#: filename:line' lines (default)\n"
+"      --strict                strict Uniforum output style\n"
+"  -w, --width=NUMBER          set output page width\n"
+"  -s, --sort-output           generate sorted output\n"
+"  -F, --sort-by-file          sort output by file location\n"
+msgstr ""
+"éÓÐÏÌØÚÏ×ÁÎÉÅ: %s [ëìàþ] def.po ref.po\n"
+"áÒÇÕÍÅÎÔÙ, ÏÂÑÚÁÔÅÌØÎÙÅ ÄÌÑ ÄÌÉÎÎÙÈ ËÌÀÞÅÊ, ÏÂÑÚÁÔÅÌØÎÙ É ÄÌÑ ËÏÒÏÔËÉÈ.\n"
+"  -C, --compendium=æáêì       ÄÏÐÏÌÎÉÔÅÌØÎÁÑ ÂÉÂÌÉÏÔÅËÁ ÐÅÒÅ×ÏÄÏ×,\n"
+"                              ÍÏÖÎÏ ÕËÁÚÁÔØ ÎÅÓËÏÌØËÏ\n"
+"  -D, --directory=ëáôáìïç     ÄÏÂÁ×ÉÔØ ëáôáìïç × ÓÐÉÓÏË ËÁÔÁÌÏÇÏ× ÄÌÑ ÐÏÉÓËÁ\n"
+"                              ×ÈÏÄÎÙÈ ÆÁÊÌÏ×\n"
+"  -e, --no-escape             ÎÅ ÉÓÐÏÌØÚÏ×ÁÔØ ÐÒÉ ×Ù×ÏÄÅ escape-\n"
+"                              ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔÉ ÑÚÙËÁ C (ÕÓÔÁÎÏ×ÌÅÎÏ ÐÏ\n"
+"                              ÕÍÏÌÞÁÎÉÀ)\n"
+"  -E, --escape                ÉÓÐÏÌØÚÏ×ÁÔØ escape-ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔÉ, Á ÎÅ\n"
+"                              ÒÁÓÛÉÒÅÎÎÙÅ ÓÉÍ×ÏÌÙ\n"
+"      --force-po              ÚÁÐÉÓÁÔØ PO-ÆÁÊÌ, ÄÁÖÅ ÅÓÌÉ ÏΠÐÕÓÔ\n"
+"  -h, --help                  ÐÏËÁÚÁÔØ ÜÔÕ ÓÐÒÁ×ËÕ É ×ÙÊÔÉ\n"
+"  -i, --indent                ÄÅÌÁÔØ ÏÔÓÔÕÐÙ × ×Ù×ÏÄÅ\n"
+"  -o, --output-file=æáêì      ÚÁÐÉÓÁÔØ ×Ù×ÏÄ × ÕËÁÚÁÎÎÙÊ ÆÁÊÌ\n"
+"      --no-location           ÎÅ ×Ù×ÏÄÉÔØ ÓÔÒÏËÉ '#: filename:line'\n"
+"      --add-location          ×Ù×ÏÄÉÔØ ÓÔÒÏËÉ '#: filename:line' (ÐÏ ÕÍÏÌÞÁÎÉÀ)\n"
+"      --strict                ×Ù×ÏÄ × ÒÅÖÉÍÅ ÓÔÒÏÇÏÇÏ ÓÏÏÔ×ÅÔÓÔ×ÉÑ ÓÔÁÎÄÁÒÔÕ\n"
+"                              Uniforum\n"
+"  -v, --verbose               Õ×ÅÌÉÞÉÔØ ÓÔÅÐÅÎØ ÐÏÄÒÏÂÎÏÓÔÉ ÏÐÉÓÁÎÉÑ\n"
+"                              ÐÒÅÄÐÒÉÎÉÍÁÅÍÙÈ ÄÅÊÓÔ×ÉÊ\n"
+"  -V, --version               ÐÏËÁÚÁÔØ ÉÎÆÏÒÍÁÃÉÀ Ï ×ÅÒÓÉÉ É ×ÙÊÔÉ\n"
+"  -w, --width=þéóìï           ÕÓÔÁÎÏ×ÉÔØ ÛÉÒÉÎÕ ÓÔÒÁÎÉÃÙ ×Ù×ÏÄÁ ÒÁ×ÎÏÊ þéóìõ\n"
+
+#: src/msgexec.c:546
 #, c-format
-msgid "error while opening \"%s\" for writing"
-msgstr "ÏÛÉÂËÁ ÏÔËÒÙÔÉÑ ÆÁÊÌÁ \"%s\" ÄÌÑ ÚÁÐÉÓÉ"
+msgid "cannot set up nonblocking I/O to %s subprocess"
+msgstr ""
+
+#: src/msgexec.c:574
+#, c-format
+msgid "communication with %s subprocess failed"
+msgstr ""
+
+#: src/msgexec.c:594
+#, c-format
+msgid "write to %s subprocess failed"
+msgstr ""
+
+#: src/msgexec.c:625
+#, c-format
+msgid "read from %s subprocess failed"
+msgstr ""
+
+#: src/msgexec.c:641
+#, c-format
+msgid "%s subprocess terminated with exit code %d"
+msgstr ""
+
+#: src/msgfmt.c:303
+#, c-format
+msgid "the argument to %s should be a single punctuation character"
+msgstr ""
+
+#: src/msgfmt.c:364
+#, c-format
+msgid "%s requires a \"-d directory\" specification"
+msgstr ""
+
+#: src/msgfmt.c:373 src/msgfmt.c:379 src/msgfmt.c:385 src/msgmerge.c:290
+#: src/msgmerge.c:296 src/msgunfmt.c:209 src/msgunfmt.c:215
+#, c-format
+msgid "%s is only valid with %s"
+msgstr ""
 
-#: src/msgfmt.c:357
+#: src/msgfmt.c:452
 #, c-format
 msgid "%d translated message"
 msgid_plural "%d translated messages"
@@ -734,7 +1048,7 @@ msgstr[0] "
 msgstr[1] "ÐÅÒÅ×ÅÄÅÎÎÙÈ ÓÏÏÂÝÅÎÉÊ: %d"
 msgstr[2] "ÐÅÒÅ×ÅÄÅÎÎÙÈ ÓÏÏÂÝÅÎÉÊ: %d"
 
-#: src/msgfmt.c:362
+#: src/msgfmt.c:457
 #, c-format
 msgid ", %d fuzzy translation"
 msgid_plural ", %d fuzzy translations"
@@ -742,7 +1056,7 @@ msgstr[0] ", 
 msgstr[1] ", ÎÅÔÏÞÎÙÈ ÐÅÒÅ×ÏÄÏ×: %d"
 msgstr[2] ", ÎÅÔÏÞÎÙÈ ÐÅÒÅ×ÏÄÏ×: %d"
 
-#: src/msgfmt.c:367
+#: src/msgfmt.c:462
 #, c-format
 msgid ", %d untranslated message"
 msgid_plural ", %d untranslated messages"
@@ -750,17 +1064,17 @@ msgstr[0] ", 
 msgstr[1] ", ÎÅÐÅÒÅ×ÅÄÅÎÎÙÈ ÓÏÏÂÝÅÎÉÊ: %d"
 msgstr[2] ", ÎÅÐÅÒÅ×ÅÄÅÎÎÙÈ ÓÏÏÂÝÅÎÉÊ: %d"
 
-#: src/msgfmt.c:389
+#: src/msgfmt.c:484
 #, c-format, no-wrap
 msgid "Usage: %s [OPTION] filename.po ...\n"
 msgstr ""
 
-#: src/msgfmt.c:394
+#: src/msgfmt.c:489
 #, no-wrap
 msgid "Generate binary message catalog from textual translation description.\n"
 msgstr ""
 
-#: src/msgfmt.c:404
+#: src/msgfmt.c:499
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -769,7 +1083,15 @@ msgid ""
 "If input file is -, standard input is read.\n"
 msgstr ""
 
-#: src/msgfmt.c:412
+#: src/msgfmt.c:507
+#, no-wrap
+msgid ""
+"Operation mode:\n"
+"  -j, --java                  Java mode: generate a Java ResourceBundle class\n"
+"      --java2                 like --java, and assume Java2 (JDK 1.2 or higher)\n"
+msgstr ""
+
+#: src/msgfmt.c:514
 #, no-wrap
 msgid ""
 "Output file location:\n"
@@ -778,15 +1100,35 @@ msgid ""
 "If output file is -, output is written to standard output.\n"
 msgstr ""
 
-#: src/msgfmt.c:420
+#: src/msgfmt.c:522
+#, no-wrap
+msgid ""
+"Output file location in Java mode:\n"
+"  -r, --resource=RESOURCE     resource name\n"
+"  -l, --locale=LOCALE         locale name, either language or language_COUNTRY\n"
+"  -d DIRECTORY                base directory of classes directory hierarchy\n"
+"The class name is determined by appending the locale name to the resource name,\n"
+"separated with an underscore.  The -d option is mandatory.  The class is\n"
+"written under the specified directory.\n"
+msgstr ""
+
+#: src/msgfmt.c:533
 #, no-wrap
 msgid ""
 "Input file interpretation:\n"
-"  -c, --check                 perform language dependent checks on strings\n"
+"  -c, --check                 perform all the checks implied by\n"
+"                                --check-format, --check-header, --check-domain\n"
+"      --check-format          check language dependent format strings\n"
+"      --check-header          verify presence and contents of the header entry\n"
+"      --check-domain          check for conflicts between domain directives\n"
+"                                and the --output-file option\n"
+"  -C, --check-compatibility   check that GNU msgfmt behaves like X/Open msgfmt\n"
+"      --check-accelerators[=CHAR]  check presence of keyboard accelerators for\n"
+"                                menu items\n"
 "  -f, --use-fuzzy             use fuzzy entries in output\n"
 msgstr ""
 
-#: src/msgfmt.c:427
+#: src/msgfmt.c:548
 #, c-format, no-wrap
 msgid ""
 "Output details:\n"
@@ -794,87 +1136,80 @@ msgid ""
 "      --no-hash               binary file will not include the hash table\n"
 msgstr ""
 
-#: src/msgfmt.c:434
+#: src/msgfmt.c:555
 #, no-wrap
 msgid ""
 "Informative output:\n"
 "  -h, --help                  display this help and exit\n"
 "  -V, --version               output version information and exit\n"
 "      --statistics            print statistics about translations\n"
-"  -v, --verbose               list input file anomalies\n"
-"Giving the -v option more than once increases the verbosity level.\n"
+"  -v, --verbose               increase verbosity level\n"
 msgstr ""
 
-#: src/msgfmt.c:466
-msgid "while creating hash table"
-msgstr "ÐÒÉ ÓÏÚÄÁÎÉÉ ÈÅÛ-ÔÁÂÌÉÃÙ"
+#: src/msgfmt.c:707
+msgid "plural expression can produce negative values"
+msgstr ""
 
-#: src/msgfmt.c:504
-#, fuzzy
-msgid "warning: PO file header missing, fuzzy, or invalid\n"
+#: src/msgfmt.c:720
+#, c-format
+msgid "nplurals = %lu but plural expression can produce values as large as %lu"
 msgstr ""
-"%s: ÐÒÅÄÕÐÒÅÖÄÅÎÉÅ: ÚÁÇÏÌÏ×ÏË PO-ÆÁÊÌÁ ÏÔÓÕÔÓÔ×ÕÅÔ, ÐÏÍÅÞÅΠËÁË ÎÅÔÏÞÎÙÊ ÉÌÉ "
-"ÎÅÐÒÁ×ÉÌÅÎ\n"
-"%*s  ÐÒÅÄÕÐÒÅÖÄÅÎÉÅ: ÐÒÅÏÂÒÁÚÏ×ÁÎÉÅ ËÏÄÉÒÏ×ËÉ ÎÅ ÓÒÁÂÏÔÁÅÔ"
 
-#: src/msgfmt.c:507
-#, fuzzy
-msgid "warning: charset conversion will not work\n"
+#: src/msgfmt.c:746
+msgid "plural expression can produce division by zero"
 msgstr ""
-"÷ ÚÁÇÏÌÏ×ËÅ ÎÅ ÕËÁÚÁÎÁ ËÏÄÉÒÏ×ËÁ.\n"
-"ðÒÅÏÂÒÁÚÏ×ÁÎÉÅ ÓÏÏÂÝÅÎÉÊ Ë ËÏÄÉÒÏ×ËÅ ÐÏÌØÚÏ×ÁÔÅÌÑ ÎÅ ÓÒÁÂÏÔÁÅÔ.\n"
 
-#: src/msgfmt.c:531
-#, c-format
-msgid "domain name \"%s\" not suitable as file name"
-msgstr "ÉÍÑ ÄÏÍÅÎÁ \"%s\" ÎÅ ÍÏÖÅÔ ÂÙÔØ ÉÓÐÏÌØÚÏ×ÁÎÏ × ËÁÞÅÓÔ×Å ÉÍÅÎÉ ÆÁÊÌÁ"
+#: src/msgfmt.c:751
+msgid "plural expression can produce integer overflow"
+msgstr ""
 
-#: src/msgfmt.c:536
-#, c-format
-msgid "domain name \"%s\" not suitable as file name: will use prefix"
+#: src/msgfmt.c:756
+msgid ""
+"plural expression can produce arithmetic exceptions, possibly division by "
+"zero"
 msgstr ""
-"ÉÍÑ ÄÏÍÅÎÁ \"%s\" ÎÅÄÏÐÕÓÔÉÍÏ × ËÁÞÅÓÔ×Å ÉÍÅÎÉ ÆÁÊÌÁ, ÂÕÄÅÔ ÉÓÐÏÌØÚÏ×ÁÎÏ\n"
-"ÞÁÓÔÉÞÎÏ ÕÓÅÞÅÎÎÏÅ ÉÍÑ ÄÏÍÅÎÁ"
 
-#. We don't change the exit status here because this is really
-#. only an information.
-#: src/msgfmt.c:549
-#, c-format
-msgid "`domain %s' directive ignored"
-msgstr "ÄÉÒÅËÔÉ×Á `domain %s' ÉÇÎÏÒÉÒÏ×ÁÎÁ"
+#: src/msgfmt.c:830 src/msgfmt.c:841
+msgid "message catalog has plural form translations..."
+msgstr ""
 
-#: src/msgfmt.c:585
-msgid "empty `msgstr' entry ignored"
-msgstr "ÐÕÓÔÏÅ ×ÈÏÖÄÅÎÉÅ `msgstr' ÉÇÎÏÒÉÒÏ×ÁÎÏ"
+#: src/msgfmt.c:833
+msgid "...but header entry lacks a \"plural=EXPRESSION\" attribute"
+msgstr ""
 
-#: src/msgfmt.c:586
-msgid "fuzzy `msgstr' entry ignored"
-msgstr "ÎÅÔÏÞÎÏÅ ×ÈÏÖÄÅÎÉÅ `msgstr' ÉÇÎÏÒÉÒÏ×ÁÎÏ"
+#: src/msgfmt.c:844
+msgid "...but header entry lacks a \"nplurals=INTEGER\" attribute"
+msgstr ""
 
-#: src/msgfmt.c:629
-#, c-format
-msgid "headerfield `%s' missing in header"
-msgstr "ÐÒÏÐÕÝÅÎÏ ÐÏÌÅ `%s' × ÚÁÇÏÌÏ×ËÅ"
+#: src/msgfmt.c:868
+#, fuzzy
+msgid "invalid nplurals value"
+msgstr "ÎÅ×ÅÒÎÁÑ ÕÐÒÁ×ÌÑÀÝÁÑ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔØ"
 
-#: src/msgfmt.c:632
-#, c-format
-msgid "header field `%s' should start at beginning of line"
-msgstr "ÐÏÌÅ ÚÁÇÏÌÏ×ËÁ `%s' ÄÏÌÖÎÏ ÎÁÞÉÎÁÔØÓÑ Ó ÎÏ×ÏÊ ÓÔÒÏËÉ"
+#: src/msgfmt.c:881
+msgid "invalid plural expression"
+msgstr ""
 
-#: src/msgfmt.c:642
-msgid "some header fields still have the initial default value"
+#: src/msgfmt.c:899 src/msgfmt.c:912
+#, c-format
+msgid "nplurals = %lu..."
 msgstr ""
-"ÎÅËÏÔÏÒÙÅ ÐÏÌÑ ÚÁÇÏÌÏ×ËÁ ×ÓÅ ÅÝÅ ÉÍÅÀÔ ÐÅÒ×ÏÎÁÞÁÌØÎÏÅ ÛÁÂÌÏÎÎÏÅ ÚÎÁÞÅÎÉÅ"
 
-#: src/msgfmt.c:653
+#: src/msgfmt.c:902
 #, c-format
-msgid "field `%s' still has initial default value"
-msgstr "ÐÏÌÅ `%s' ×ÓÅ ÅÝÅ ÉÍÅÅÔ ÐÅÒ×ÏÎÁÞÁÌØÎÏÅ ÛÁÂÌÏÎÎÏÅ ÚÎÁÞÅÎÉÅ"
+msgid "...but some messages have only %lu plural forms"
+msgstr ""
 
-#: src/msgfmt.c:745
+#: src/msgfmt.c:915
 #, c-format
-msgid "%s: warning: source file contains fuzzy translation"
-msgstr "%s: ÐÒÅÄÕÐÒÅÖÄÅÎÉÅ: ÉÓÈÏÄÎÙÊ ÆÁÊÌ ÓÏÄÅÒÖÉÔ ÎÅÔÏÞÎÙÅ ÐÅÒÅ×ÏÄÙ"
+msgid "...but some messages have %lu plural forms"
+msgstr ""
+
+#: src/msgfmt.c:930
+msgid ""
+"message catalog has plural form translations, but lacks a header entry with "
+"\"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\""
+msgstr ""
 
 #: src/msgfmt.c:968
 msgid "`msgid' and `msgid_plural' entries do not both begin with '\\n'"
@@ -913,28 +1248,115 @@ msgid "`msgid' and `msgstr' entries do not both end with '\\n'"
 msgstr ""
 "ÏÄÎÏ ÉÚ ÐÏÌÅÊ `msgid' ÉÌÉ `msgstr' ÚÁ×ÅÒÛÁÅÔÓÑ '\\n', ÔÏÇÄÁ ËÁË ÄÒÕÇÏÅ -- ÎÅÔ"
 
-#: src/msgfmt.c:1047
-msgid "number of format specifications in `msgid' and `msgstr' does not match"
-msgstr "ÎÅ ÓÏ×ÐÁÄÁÅÔ ÞÉÓÌÏ ÓÐÅÃÉÆÉËÁÃÉÊ ÆÏÒÍÁÔÁ ÐÅÞÁÔÉ × `msgid' É `msgstr'"
+#: src/msgfmt.c:1041
+msgid "plural handling is a GNU gettext extension"
+msgstr ""
 
-#: src/msgfmt.c:1066
+#: src/msgfmt.c:1088
 #, c-format
-msgid "format specifications for argument %lu are not the same"
-msgstr "ÎÅ ÓÏ×ÐÁÄÁÀÔ ÓÐÅÃÉÆÉËÁÃÉÉ ÆÏÒÍÁÔÁ ÄÌÑ ÁÒÇÕÍÅÎÔÁ %lu"
+msgid "'msgstr' is not a valid %s format string, unlike 'msgid'"
+msgstr ""
+
+#: src/msgfmt.c:1122
+#, c-format
+msgid "msgstr lacks the keyboard accelerator mark '%c'"
+msgstr ""
+
+#: src/msgfmt.c:1130
+#, c-format
+msgid "msgstr has too many keyboard accelerator marks '%c'"
+msgstr ""
+
+#: src/msgfmt.c:1164
+#, c-format
+msgid "headerfield `%s' missing in header"
+msgstr "ÐÒÏÐÕÝÅÎÏ ÐÏÌÅ `%s' × ÚÁÇÏÌÏ×ËÅ"
+
+#: src/msgfmt.c:1167
+#, c-format
+msgid "header field `%s' should start at beginning of line"
+msgstr "ÐÏÌÅ ÚÁÇÏÌÏ×ËÁ `%s' ÄÏÌÖÎÏ ÎÁÞÉÎÁÔØÓÑ Ó ÎÏ×ÏÊ ÓÔÒÏËÉ"
+
+#: src/msgfmt.c:1176
+msgid "some header fields still have the initial default value"
+msgstr ""
+"ÎÅËÏÔÏÒÙÅ ÐÏÌÑ ÚÁÇÏÌÏ×ËÁ ×ÓÅ ÅÝÅ ÉÍÅÀÔ ÐÅÒ×ÏÎÁÞÁÌØÎÏÅ ÛÁÂÌÏÎÎÏÅ ÚÎÁÞÅÎÉÅ"
 
-#: src/msggrep.c:354
+#: src/msgfmt.c:1187
+#, c-format
+msgid "field `%s' still has initial default value"
+msgstr "ÐÏÌÅ `%s' ×ÓÅ ÅÝÅ ÉÍÅÅÔ ÐÅÒ×ÏÎÁÞÁÌØÎÏÅ ÛÁÂÌÏÎÎÏÅ ÚÎÁÞÅÎÉÅ"
+
+#: src/msgfmt.c:1228
+#, fuzzy
+msgid "warning: PO file header missing or invalid\n"
+msgstr ""
+"%s: ÐÒÅÄÕÐÒÅÖÄÅÎÉÅ: ÚÁÇÏÌÏ×ÏË PO-ÆÁÊÌÁ ÏÔÓÕÔÓÔ×ÕÅÔ, ÐÏÍÅÞÅΠËÁË ÎÅÔÏÞÎÙÊ ÉÌÉ "
+"ÎÅÐÒÁ×ÉÌÅÎ\n"
+"%*s  ÐÒÅÄÕÐÒÅÖÄÅÎÉÅ: ÐÒÅÏÂÒÁÚÏ×ÁÎÉÅ ËÏÄÉÒÏ×ËÉ ÎÅ ÓÒÁÂÏÔÁÅÔ"
+
+#: src/msgfmt.c:1231
+#, fuzzy
+msgid "warning: charset conversion will not work\n"
+msgstr ""
+"÷ ÚÁÇÏÌÏ×ËÅ ÎÅ ÕËÁÚÁÎÁ ËÏÄÉÒÏ×ËÁ.\n"
+"ðÒÅÏÂÒÁÚÏ×ÁÎÉÅ ÓÏÏÂÝÅÎÉÊ Ë ËÏÄÉÒÏ×ËÅ ÐÏÌØÚÏ×ÁÔÅÌÑ ÎÅ ÓÒÁÂÏÔÁÅÔ.\n"
+
+#: src/msgfmt.c:1241
+#, fuzzy
+msgid "warning: PO file header fuzzy\n"
+msgstr ""
+"%s: ÐÒÅÄÕÐÒÅÖÄÅÎÉÅ: ÚÁÇÏÌÏ×ÏË PO-ÆÁÊÌÁ ÏÔÓÕÔÓÔ×ÕÅÔ, ÐÏÍÅÞÅΠËÁË ÎÅÔÏÞÎÙÊ ÉÌÉ "
+"ÎÅÐÒÁ×ÉÌÅÎ\n"
+"%*s  ÐÒÅÄÕÐÒÅÖÄÅÎÉÅ: ÐÒÅÏÂÒÁÚÏ×ÁÎÉÅ ËÏÄÉÒÏ×ËÉ ÎÅ ÓÒÁÂÏÔÁÅÔ"
+
+#: src/msgfmt.c:1243
+msgid "warning: older versions of msgfmt will give an error on this\n"
+msgstr ""
+
+#: src/msgfmt.c:1268
+#, c-format
+msgid "domain name \"%s\" not suitable as file name"
+msgstr "ÉÍÑ ÄÏÍÅÎÁ \"%s\" ÎÅ ÍÏÖÅÔ ÂÙÔØ ÉÓÐÏÌØÚÏ×ÁÎÏ × ËÁÞÅÓÔ×Å ÉÍÅÎÉ ÆÁÊÌÁ"
+
+#: src/msgfmt.c:1273
+#, c-format
+msgid "domain name \"%s\" not suitable as file name: will use prefix"
+msgstr ""
+"ÉÍÑ ÄÏÍÅÎÁ \"%s\" ÎÅÄÏÐÕÓÔÉÍÏ × ËÁÞÅÓÔ×Å ÉÍÅÎÉ ÆÁÊÌÁ, ÂÕÄÅÔ ÉÓÐÏÌØÚÏ×ÁÎÏ\n"
+"ÞÁÓÔÉÞÎÏ ÕÓÅÞÅÎÎÏÅ ÉÍÑ ÄÏÍÅÎÁ"
+
+#: src/msgfmt.c:1284
+#, c-format
+msgid "`domain %s' directive ignored"
+msgstr "ÄÉÒÅËÔÉ×Á `domain %s' ÉÇÎÏÒÉÒÏ×ÁÎÁ"
+
+#: src/msgfmt.c:1356
+msgid "empty `msgstr' entry ignored"
+msgstr "ÐÕÓÔÏÅ ×ÈÏÖÄÅÎÉÅ `msgstr' ÉÇÎÏÒÉÒÏ×ÁÎÏ"
+
+#: src/msgfmt.c:1357
+msgid "fuzzy `msgstr' entry ignored"
+msgstr "ÎÅÔÏÞÎÏÅ ×ÈÏÖÄÅÎÉÅ `msgstr' ÉÇÎÏÒÉÒÏ×ÁÎÏ"
+
+#: src/msgfmt.c:1426
+#, c-format
+msgid "%s: warning: source file contains fuzzy translation"
+msgstr "%s: ÐÒÅÄÕÐÒÅÖÄÅÎÉÅ: ÉÓÈÏÄÎÙÊ ÆÁÊÌ ÓÏÄÅÒÖÉÔ ÎÅÔÏÞÎÙÅ ÐÅÒÅ×ÏÄÙ"
+
+#: src/msggrep.c:359
 #, c-format
 msgid "option '%c' cannot be used before 'K' or 'T' has been specified"
 msgstr ""
 
-#: src/msggrep.c:376
+#: src/msggrep.c:381
 #, no-wrap
 msgid ""
 "Extracts all messages of a translation catalog that match a given pattern\n"
 "or belong to some given source files.\n"
 msgstr ""
 
-#: src/msggrep.c:403
+#: src/msggrep.c:408
 #, no-wrap
 msgid ""
 "Message selection:\n"
@@ -943,8 +1365,15 @@ msgid ""
 "or if it comes from one of the specified domains,\n"
 "or if -K is given and its key (msgid or msgid_plural) matches MSGID-PATTERN,\n"
 "or if -T is given and its translation (msgstr) matches MSGSTR-PATTERN.\n"
+"\n"
+"When more than one selection criterion is specified, the set of selected\n"
+"messages is the union of the selected messages of each criterion.\n"
+"\n"
+"MSGID-PATTERN or MSGSTR-PATTERN syntax:\n"
+"  [-E | -F] [-e PATTERN | -f FILE]...\n"
 "PATTERNs are basic regular expressions by default, or extended regular\n"
 "expressions if -E is given, or fixed strings if -F is given.\n"
+"\n"
 "  -N, --location=SOURCEFILE   select messages extracted from SOURCEFILE\n"
 "  -M, --domain=DOMAINNAME     select messages belonging to domain DOMAINNAME\n"
 "  -K, --msgid                 start of patterns for the msgid\n"
@@ -956,7 +1385,7 @@ msgid ""
 "  -i, --ignore-case           ignore case distinctions\n"
 msgstr ""
 
-#: src/msggrep.c:424
+#: src/msggrep.c:436
 #, fuzzy, no-wrap
 msgid ""
 "Output details:\n"
@@ -968,7 +1397,7 @@ msgid ""
 "      --add-location          preserve '#: filename:line' lines (default)\n"
 "      --strict                strict Uniforum output style\n"
 "  -w, --width=NUMBER          set output page width\n"
-"      --sort-output           generate sorted output and remove duplicates\n"
+"      --sort-output           generate sorted output\n"
 "      --sort-by-file          sort output by file location\n"
 msgstr ""
 "éÓÐÏÌØÚÏ×ÁÎÉÅ: %s [ëìàþ] def.po ref.po\n"
@@ -995,11 +1424,163 @@ msgstr ""
 "  -V, --version               ÐÏËÁÚÁÔØ ÉÎÆÏÒÍÁÃÉÀ Ï ×ÅÒÓÉÉ É ×ÙÊÔÉ\n"
 "  -w, --width=þéóìï           ÕÓÔÁÎÏ×ÉÔØ ÛÉÒÉÎÕ ÓÔÒÁÎÉÃÙ ×Ù×ÏÄÁ ÒÁ×ÎÏÊ þéóìõ\n"
 
-#: src/msggrep.c:498
-msgid "write to grep subprocess failed"
+#: src/msggrep.c:510
+msgid "write to grep subprocess failed"
+msgstr ""
+
+#: src/msginit.c:275
+msgid ""
+"You are in a language indifferent environment.  Please set\n"
+"your LANG environment variable, as described in the ABOUT-NLS\n"
+"file.  This is necessary so you can test your translations.\n"
+msgstr ""
+
+#: src/msginit.c:303
+#, c-format
+msgid ""
+"Output file %s already exists.\n"
+"Please specify the locale through the --locale option or\n"
+"the output .po file through the --output-file option.\n"
+msgstr ""
+
+#: src/msginit.c:326
+#, c-format
+msgid "Created %s.\n"
+msgstr ""
+
+#: src/msginit.c:348
+#, no-wrap
+msgid ""
+"Creates a new PO file, initializing the meta information with values from the\n"
+"user's environment.\n"
+msgstr ""
+
+#: src/msginit.c:359
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  -i, --input=INPUTFILE       input POT file\n"
+"If no input file is given, the current directory is searched for the POT file.\n"
+"If it is -, standard input is read.\n"
+msgstr ""
+
+#: src/msginit.c:367
+#, no-wrap
+msgid ""
+"Output file location:\n"
+"  -o, --output-file=FILE      write output to specified PO file\n"
+"If no output file is given, it depends on the --locale option or the user's\n"
+"locale setting.  If it is -, the results are written to standard output.\n"
+msgstr ""
+
+#: src/msginit.c:375
+#, no-wrap
+msgid ""
+"Output details:\n"
+"  -l, --locale=LL_CC          set target locale\n"
+"      --no-translator         assume the PO file is automatically generated\n"
+"  -w, --width=NUMBER          set output page width\n"
+msgstr ""
+
+#: src/msginit.c:426
+msgid ""
+"Found more than one .pot file.\n"
+"Please specify the input .pot file through the --input option.\n"
+msgstr ""
+
+#: src/msginit.c:434 src/msginit.c:439
+msgid "error reading current directory"
+msgstr ""
+
+#: src/msginit.c:447
+msgid ""
+"Found no .pot file in the current directory.\n"
+"Please specify the input .pot file through the --input option.\n"
+msgstr ""
+
+#: src/msginit.c:887 src/msginit.c:932 src/msginit.c:1070 src/msginit.c:1137
+#: src/read-java.c:80
+msgid "fdopen() failed"
+msgstr ""
+
+#: src/msginit.c:892 src/msginit.c:937 src/msginit.c:1075
+#, c-format
+msgid "%s subprocess I/O error"
+msgstr ""
+
+#: src/msginit.c:901 src/msginit.c:946 src/msginit.c:1084 src/msginit.c:1151
+#: src/read-java.c:90
+#, c-format
+msgid "%s subprocess failed with exit code %d"
+msgstr ""
+
+#: src/msginit.c:1060
+msgid ""
+"The new message catalog should contain your email address, so that users "
+"can\n"
+"give you feedback about the translations, and so that maintainers can "
+"contact\n"
+"you in case of unexpected technical problems.\n"
+msgstr ""
+
+#. TRANSLATORS: "English" needs to be replaced by your language.
+#. For example in it.po write "Traduzioni italiani ...",
+#. *not* "Traduzioni inglesi ...".
+#: src/msginit.c:1440
+#, c-format
+msgid "English translations for %s package"
+msgstr ""
+
+#: src/msgl-cat.c:173 src/msgl-charset.c:86 src/msgl-iconv.c:299
+#, c-format
+msgid "present charset \"%s\" is not a portable encoding name"
+msgstr ""
+
+#: src/msgl-cat.c:181 src/msgl-iconv.c:307
+#, c-format
+msgid "two different charsets \"%s\" and \"%s\" in input file"
+msgstr ""
+
+#: src/msgl-cat.c:194
+#, c-format
+msgid ""
+"input file `%s' doesn't contain a header entry with a charset specification"
+msgstr ""
+
+#: src/msgl-cat.c:198
+#, c-format
+msgid ""
+"domain \"%s\" in input file `%s' doesn't contain a header entry with a "
+"charset specification"
+msgstr ""
+
+#: src/msgl-cat.c:359 src/msgl-iconv.c:382
+#, c-format
+msgid "target charset \"%s\" is not a portable encoding name."
+msgstr ""
+
+#: src/msgl-cat.c:409 src/msgl-cat.c:415 src/msgl-charset.c:91
+#: src/msgl-charset.c:126 src/write-po.c:723 src/write-po.c:817
+#, fuzzy
+msgid "warning: "
+msgstr "%s: ÐÒÅÄÕÐÒÅÖÄÅÎÉÅ: "
+
+#: src/msgl-cat.c:410
+msgid ""
+"Input files contain messages in different encodings, UTF-8 among others.\n"
+"Converting the output to UTF-8.\n"
+msgstr ""
+
+#: src/msgl-cat.c:416
+#, c-format
+msgid ""
+"Input files contain messages in different encodings, %s and %s among "
+"others.\n"
+"Converting the output to UTF-8.\n"
+"To select a different output encoding, use the --to-code option.\n"
 msgstr ""
 
-#: src/msgl-charset.c:88
+#: src/msgl-charset.c:92
 #, c-format
 msgid ""
 "Locale charset \"%s\" is different from\n"
@@ -1008,12 +1589,12 @@ msgid ""
 "Possible workarounds are:\n"
 msgstr ""
 
-#: src/msgl-charset.c:95
+#: src/msgl-charset.c:99
 #, c-format
 msgid "- Set LC_ALL to a locale with encoding %s.\n"
 msgstr ""
 
-#: src/msgl-charset.c:100
+#: src/msgl-charset.c:104
 #, c-format
 msgid ""
 "- Convert the translation catalog to %s using 'msgconv',\n"
@@ -1021,7 +1602,7 @@ msgid ""
 "  then convert back to %s using 'msgconv'.\n"
 msgstr ""
 
-#: src/msgl-charset.c:109
+#: src/msgl-charset.c:113
 #, c-format
 msgid ""
 "- Set LC_ALL to a locale with encoding %s,\n"
@@ -1030,7 +1611,7 @@ msgid ""
 "  then convert back to %s using 'msgconv'.\n"
 msgstr ""
 
-#: src/msgl-charset.c:123
+#: src/msgl-charset.c:127
 #, c-format
 msgid ""
 "Locale charset \"%s\" is not a portable encoding name.\n"
@@ -1038,15 +1619,15 @@ msgid ""
 "A possible workaround is to set LC_ALL=C.\n"
 msgstr ""
 
-#: src/msgl-iconv.c:192 src/msgl-iconv.c:246
+#: src/msgl-iconv.c:200 src/msgl-iconv.c:254
 msgid "conversion failure"
 msgstr ""
 
-#: src/msgl-iconv.c:317
+#: src/msgl-iconv.c:328
 msgid "input file doesn't contain a header entry with a charset specification"
 msgstr ""
 
-#: src/msgl-iconv.c:334
+#: src/msgl-iconv.c:346
 #, fuzzy, c-format
 msgid ""
 "Cannot convert from \"%s\" to \"%s\". %s relies on iconv(), and iconv() does "
@@ -1055,7 +1636,7 @@ msgstr ""
 "ëÏÄÉÒÏËÁ \"%s\" ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ.  %s ÐÏÌÁÇÁÅÔÓÑ ÎÁ iconv(), ÎÏ iconv() ÎÅ "
 "ÐÏÄÄÅÒÖÉ×ÁÅÔ \"%s\".\n"
 
-#: src/msgl-iconv.c:350
+#: src/msgl-iconv.c:362
 #, fuzzy, c-format
 msgid ""
 "Cannot convert from \"%s\" to \"%s\". %s relies on iconv(). This version was "
@@ -1064,7 +1645,11 @@ msgstr ""
 "ëÏÄÉÒÏËÁ \"%s\" ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ.  %s ÐÏÌÁÇÁÅÔÓÑ ÎÁ iconv().\n"
 "üÔÁ ×ÅÒÓÉÑ ÓÏÂÒÁÎÁ ÂÅÚ iconv().\n"
 
-#: src/msgmerge.c:283
+#: src/msgmerge.c:340
+msgid "backup type"
+msgstr ""
+
+#: src/msgmerge.c:377
 #, fuzzy, no-wrap
 msgid ""
 "Merges two Uniforum style .po files together.  The def.po file is an\n"
@@ -1087,7 +1672,7 @@ msgstr ""
 "ÐÒÉÂÌÉÚÉÔÅÌØÎÏÅ ÓÒÁ×ÎÅÎÉÅ, ÅÓÌÉ ÎÅÌØÚÑ ÎÁÊÔÉ ÔÏÞÎÏÅ ÓÏ×ÐÁÄÅÎÉÅ.  åÓÌÉ ÎÅ ÕËÁÚÁÎ\n"
 "×ÙÈÏÄÎÏÊ ÆÁÊÌ, ÚÁÐÉÓØ ÐÒÏÉÚ×ÏÄÉÔÓÑ × ÓÔÁÎÄÁÒÔÎÙÊ ×Ù×ÏÄ.\n"
 
-#: src/msgmerge.c:301
+#: src/msgmerge.c:395
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -1098,7 +1683,32 @@ msgid ""
 "                              may be specified more than once\n"
 msgstr ""
 
-#: src/msgmerge.c:340
+#: src/msgmerge.c:405
+#, no-wrap
+msgid ""
+"Operation mode:\n"
+"  -U, --update                update def.po,\n"
+"                              do nothing if def.po already up to date\n"
+msgstr ""
+
+#: src/msgmerge.c:420
+#, no-wrap
+msgid ""
+"Output file location in update mode:\n"
+"The result is written back to def.po.\n"
+"      --backup=CONTROL        make a backup of def.po\n"
+"      --suffix=SUFFIX         override the usual backup suffix\n"
+"The version control method may be selected via the --backup option or through\n"
+"the VERSION_CONTROL environment variable.  Here are the values:\n"
+"  none, off       never make backups (even if --backup is given)\n"
+"  numbered, t     make numbered backups\n"
+"  existing, nil   numbered if numbered backups exist, simple otherwise\n"
+"  simple, never   always make simple backups\n"
+"The backup suffix is `~', unless set with --suffix or the SIMPLE_BACKUP_SUFFIX\n"
+"environment variable.\n"
+msgstr ""
+
+#: src/msgmerge.c:457
 #, no-wrap
 msgid ""
 "Informative output:\n"
@@ -1108,7 +1718,17 @@ msgid ""
 "  -q, --quiet, --silent       suppress progress indicators\n"
 msgstr ""
 
-#: src/msgmerge.c:578
+#: src/msgmerge.c:625
+#, fuzzy
+msgid "this message should define plural forms"
+msgstr "ÜÔÏ ÓÏÏÂÝÅÎÉÅ ÎÅ ÂÙÌÏ ÏÐÒÅÄÅÌÅÎÏ × %s"
+
+#: src/msgmerge.c:648
+#, fuzzy
+msgid "this message should not define plural forms"
+msgstr "ÜÔÏ ÓÏÏÂÝÅÎÉÅ ÎÅ ÂÙÌÏ ÏÐÒÅÄÅÌÅÎÏ × %s"
+
+#: src/msgmerge.c:779
 #, c-format
 msgid ""
 "%sRead %ld old + %ld reference, merged %ld, fuzzied %ld, missing %ld, "
@@ -1117,101 +1737,33 @@ msgstr ""
 "%sðÒÏÞÉÔÁÎÏ ÓÏÏÂÝÅÎÉÊ: ÓÔÁÒÙÈ %ld + ÎÏ×ÙÈ %ld; ÏÂßÅÄÉÎÅÎÏ %ld, ÐÏÍÅÞÅÎÏ "
 "ÎÅÔÏÞÎÙÍÉ %ld, ÎÅÄÏÓÔÁÀÝÉÈ %ld, ÎÅÄÅÊÓÔ×ÉÔÅÌØÎÙÈ %ld.\n"
 
-#: src/msgmerge.c:586
+#: src/msgmerge.c:787
 msgid " done.\n"
 msgstr " ÚÁ×ÅÒÛÅÎÏ.\n"
 
-#: src/msgsed.c:267
-#, fuzzy
-msgid "at least one sed script must be specified"
-msgstr "ÎÅÏÂÈÏÄÉÍÏ ÚÁÄÁÔØ ÎÅ ÍÅÎÅÅ Ä×ÕÈ ÆÁÊÌÏ×"
-
-#: src/msgsed.c:323
-#, no-wrap
-msgid "Applies a sed script to all translations of a translation catalog.\n"
-msgstr ""
-
-#: src/msgsed.c:349
-#, no-wrap
-msgid ""
-"Sed options:\n"
-"  -e, --expression=SCRIPT     add SCRIPT to the commands to be executed\n"
-"  -f, --file=SCRIPTFILE       add the contents of SCRIPTFILE to the commands\n"
-"                                to be executed\n"
-"  -n, --quiet, --silent       suppress automatic printing of pattern space\n"
-msgstr ""
-
-#: src/msgsed.c:358
-#, fuzzy, no-wrap
-msgid ""
-"Output details:\n"
-"      --no-escape             do not use C escapes in output (default)\n"
-"  -E, --escape                use C escapes in output, no extended chars\n"
-"      --force-po              write PO file even if empty\n"
-"  -i, --indent                indented output style\n"
-"      --no-location           suppress '#: filename:line' lines\n"
-"      --add-location          preserve '#: filename:line' lines (default)\n"
-"      --strict                strict Uniforum output style\n"
-"  -w, --width=NUMBER          set output page width\n"
-"  -s, --sort-output           generate sorted output and remove duplicates\n"
-"  -F, --sort-by-file          sort output by file location\n"
-msgstr ""
-"éÓÐÏÌØÚÏ×ÁÎÉÅ: %s [ëìàþ] def.po ref.po\n"
-"áÒÇÕÍÅÎÔÙ, ÏÂÑÚÁÔÅÌØÎÙÅ ÄÌÑ ÄÌÉÎÎÙÈ ËÌÀÞÅÊ, ÏÂÑÚÁÔÅÌØÎÙ É ÄÌÑ ËÏÒÏÔËÉÈ.\n"
-"  -C, --compendium=æáêì       ÄÏÐÏÌÎÉÔÅÌØÎÁÑ ÂÉÂÌÉÏÔÅËÁ ÐÅÒÅ×ÏÄÏ×,\n"
-"                              ÍÏÖÎÏ ÕËÁÚÁÔØ ÎÅÓËÏÌØËÏ\n"
-"  -D, --directory=ëáôáìïç     ÄÏÂÁ×ÉÔØ ëáôáìïç × ÓÐÉÓÏË ËÁÔÁÌÏÇÏ× ÄÌÑ ÐÏÉÓËÁ\n"
-"                              ×ÈÏÄÎÙÈ ÆÁÊÌÏ×\n"
-"  -e, --no-escape             ÎÅ ÉÓÐÏÌØÚÏ×ÁÔØ ÐÒÉ ×Ù×ÏÄÅ escape-\n"
-"                              ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔÉ ÑÚÙËÁ C (ÕÓÔÁÎÏ×ÌÅÎÏ ÐÏ\n"
-"                              ÕÍÏÌÞÁÎÉÀ)\n"
-"  -E, --escape                ÉÓÐÏÌØÚÏ×ÁÔØ escape-ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔÉ, Á ÎÅ\n"
-"                              ÒÁÓÛÉÒÅÎÎÙÅ ÓÉÍ×ÏÌÙ\n"
-"      --force-po              ÚÁÐÉÓÁÔØ PO-ÆÁÊÌ, ÄÁÖÅ ÅÓÌÉ ÏΠÐÕÓÔ\n"
-"  -h, --help                  ÐÏËÁÚÁÔØ ÜÔÕ ÓÐÒÁ×ËÕ É ×ÙÊÔÉ\n"
-"  -i, --indent                ÄÅÌÁÔØ ÏÔÓÔÕÐÙ × ×Ù×ÏÄÅ\n"
-"  -o, --output-file=æáêì      ÚÁÐÉÓÁÔØ ×Ù×ÏÄ × ÕËÁÚÁÎÎÙÊ ÆÁÊÌ\n"
-"      --no-location           ÎÅ ×Ù×ÏÄÉÔØ ÓÔÒÏËÉ '#: filename:line'\n"
-"      --add-location          ×Ù×ÏÄÉÔØ ÓÔÒÏËÉ '#: filename:line' (ÐÏ ÕÍÏÌÞÁÎÉÀ)\n"
-"      --strict                ×Ù×ÏÄ × ÒÅÖÉÍÅ ÓÔÒÏÇÏÇÏ ÓÏÏÔ×ÅÔÓÔ×ÉÑ ÓÔÁÎÄÁÒÔÕ\n"
-"                              Uniforum\n"
-"  -v, --verbose               Õ×ÅÌÉÞÉÔØ ÓÔÅÐÅÎØ ÐÏÄÒÏÂÎÏÓÔÉ ÏÐÉÓÁÎÉÑ\n"
-"                              ÐÒÅÄÐÒÉÎÉÍÁÅÍÙÈ ÄÅÊÓÔ×ÉÊ\n"
-"  -V, --version               ÐÏËÁÚÁÔØ ÉÎÆÏÒÍÁÃÉÀ Ï ×ÅÒÓÉÉ É ×ÙÊÔÉ\n"
-"  -w, --width=þéóìï           ÕÓÔÁÎÏ×ÉÔØ ÛÉÒÉÎÕ ÓÔÒÁÎÉÃÙ ×Ù×ÏÄÁ ÒÁ×ÎÏÊ þéóìõ\n"
-
-#: src/msgsed.c:514
-msgid "cannot set up nonblocking I/O to sed subprocess"
-msgstr ""
-
-#: src/msgsed.c:542
-msgid "communication with sed subprocess failed"
-msgstr ""
-
-#: src/msgsed.c:562
-msgid "write to sed subprocess failed"
-msgstr ""
-
-#: src/msgsed.c:592
-msgid "read from sed subprocess failed"
-msgstr ""
-
-#: src/msgsed.c:608
-#, c-format
-msgid "sed subprocess terminated with exit code %d"
-msgstr ""
+#: src/msgunfmt.c:201
+#, fuzzy, c-format
+msgid "%s and explicit file names are mutually exclusive"
+msgstr "%s É %s ×ÚÁÉÍÎÏ ÉÓËÌÀÞÁÀÔ ÄÒÕÇ ÄÒÕÇÁ"
 
-#: src/msgunfmt.c:224
+#: src/msgunfmt.c:267
 #, c-format, no-wrap
 msgid "Usage: %s [OPTION] [FILE]...\n"
 msgstr ""
 
-#: src/msgunfmt.c:229
+#: src/msgunfmt.c:272
 #, no-wrap
 msgid "Convert binary message catalog to Uniforum style .po file.\n"
 msgstr ""
 
-#: src/msgunfmt.c:239
+#: src/msgunfmt.c:282
+#, no-wrap
+msgid ""
+"Operation mode:\n"
+"  -j, --java               Java mode: generate a Java ResourceBundle class\n"
+msgstr ""
+
+#: src/msgunfmt.c:288
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -1219,7 +1771,17 @@ msgid ""
 "If no input file is given or if it is -, standard input is read.\n"
 msgstr ""
 
-#: src/msgunfmt.c:246
+#: src/msgunfmt.c:295
+#, no-wrap
+msgid ""
+"Input file location in Java mode:\n"
+"  -r, --resource=RESOURCE  resource name\n"
+"  -l, --locale=LOCALE      locale name, either language or language_COUNTRY\n"
+"The class name is determined by appending the locale name to the resource name,\n"
+"separated with an underscore.  The class is located using the CLASSPATH.\n"
+msgstr ""
+
+#: src/msgunfmt.c:304
 #, no-wrap
 msgid ""
 "Output file location:\n"
@@ -1228,7 +1790,7 @@ msgid ""
 "or if it is -.\n"
 msgstr ""
 
-#: src/msgunfmt.c:254
+#: src/msgunfmt.c:312
 #, fuzzy, no-wrap
 msgid ""
 "Output details:\n"
@@ -1238,7 +1800,7 @@ msgid ""
 "  -i, --indent             write indented output style\n"
 "      --strict             write strict uniforum style\n"
 "  -w, --width=NUMBER       set output page width\n"
-"  -s, --sort-output        generate sorted output and remove duplicates\n"
+"  -s, --sort-output        generate sorted output\n"
 msgstr ""
 "éÓÐÏÌØÚÏ×ÁÎÉÅ: %s [OPTION] [FILE]...\n"
 "áÒÇÕÍÅÎÔÙ, ÏÂÑÚÁÔÅÌØÎÙÅ ÄÌÑ ÄÌÉÎÎÙÈ ËÌÀÞÅÊ, ÏÂÑÚÁÔÅÌØÎÙ É ÄÌÑ ËÏÒÏÔËÉÈ.\n"
@@ -1255,52 +1817,49 @@ msgstr ""
 "  -V, --version            ÐÏËÁÚÁÔØ ÉÎÆÏÒÍÁÃÉÀ Ï ×ÅÒÓÉÉ É ×ÙÊÔÉ\n"
 "  -w, --width=þéóìï        ÕÓÔÁÎÏ×ÉÔØ ÛÉÒÉÎÕ ÓÔÒÁÎÉÃÙ ×Ù×ÏÄÁ ÒÁ×ÎÏÊ þéóìõ\n"
 
-#: src/msgunfmt.c:266
+#: src/msgunfmt.c:324
 #, no-wrap
 msgid ""
 "Informative output:\n"
 "  -h, --help               display this help and exit\n"
 "  -V, --version            output version information and exit\n"
+"  -v, --verbose            increase verbosity level\n"
 msgstr ""
 
-#: src/msgunfmt.c:294 src/msgunfmt.c:359 src/po-lex.c:213 src/xget-lex.c:245
-#, c-format
-msgid "error while reading \"%s\""
-msgstr "ÏÛÉÂËÁ ÞÔÅÎÉÑ \"%s\""
-
-#: src/msgunfmt.c:295 src/msgunfmt.c:360
-#, c-format
-msgid "file \"%s\" truncated"
-msgstr "ÆÁÊÌ \"%s\" ÕÓÅÞÅÎ"
-
-#: src/msgunfmt.c:326
-#, c-format
-msgid "seek \"%s\" offset %ld failed"
-msgstr "ÏÛÉÂËÁ ÏÂÒÁÝÅÎÉÑ Ë ÆÁÊÌÕ \"%s\" ÐÏ ÓÍÅÝÅÎÉÀ %ld"
-
-#: src/msgunfmt.c:365
-#, c-format
-msgid "file \"%s\" contains a not NUL terminated string"
-msgstr "ÆÁÊÌ \"%s\" ÓÏÄÅÒÖÉÔ ÓÔÒÏËÕ, ÎÅ ÚÁ×ÅÒÛÅÎÎÕÀ ÎÕÌÅÍ"
+#: src/msguniq.c:279
+#, no-wrap
+msgid ""
+"Unifies duplicate translations in a translation catalog.\n"
+"Finds duplicate translations of the same message ID.  Such duplicates are\n"
+"invalid input for other programs like msgfmt, msgmerge or msgcat.  By\n"
+"default, duplicates are merged together.  When using the --repeated option,\n"
+"only duplicates are output, and all other messages are discarded.  Comments\n"
+"and extracted comments will be cumulated, except that if --use-first is\n"
+"specified, they will be taken from the first translation.  File positions\n"
+"will be cumulated.  When using the --unique option, duplicates are discarded.\n"
+msgstr ""
 
-#: src/msgunfmt.c:410
-#, c-format
-msgid "file \"%s\" is not in GNU .mo format"
-msgstr "ÆÁÊÌ \"%s\" ÎÅ × ÓÏÏÔ×ÅÔÓÔ×ÕÅÔ ÆÏÒÍÁÔÕ GNU .mo"
+#: src/msguniq.c:312
+#, no-wrap
+msgid ""
+"Message selection:\n"
+"  -d, --repeated                 print only duplicates\n"
+"  -u, --unique                   print only unique messages, discard duplicates\n"
+msgstr ""
 
-#: src/ngettext.c:213
+#: src/ngettext.c:215
 #, c-format, no-wrap
 msgid "Usage: %s [OPTION] [TEXTDOMAIN] MSGID MSGID-PLURAL COUNT\n"
 msgstr ""
 
-#: src/ngettext.c:218
+#: src/ngettext.c:220
 #, no-wrap
 msgid ""
 "Display native language translation of a textual message whose grammatical\n"
 "form depends on a number.\n"
 msgstr ""
 
-#: src/ngettext.c:223
+#: src/ngettext.c:225
 #, fuzzy, no-wrap
 msgid ""
 "  -d, --domain=TEXTDOMAIN   retrieve translated message from TEXTDOMAIN\n"
@@ -1325,7 +1884,7 @@ msgstr ""
 "  MSGID MSGID-PLURAL     ÐÅÒÅ×ÅÓÔÉ MSGID (ÅÄ. ÞÉÓÌÏ) / MSGID-PLURAL (ÍÎ. ÞÉÓÌÏ)\n"
 "  þéóìï                  ×ÙÂÒÁÔØ ÅÄ./ÍÎ. ÞÉÓÌÏ ÎÁ ÏÓÎÏ×Å ÜÔÏÇÏ ÚÎÁÞÅÎÉÑ\n"
 
-#: src/ngettext.c:234
+#: src/ngettext.c:236
 #, fuzzy, c-format, no-wrap
 msgid ""
 "If the TEXTDOMAIN parameter is not given, the domain is determined from the\n"
@@ -1341,17 +1900,17 @@ msgstr ""
 "ÐÅÒÅÍÅÎÎÏÊ ÓÒÅÄÙ TEXTDOMAINDIR.\n"
 "óÔÁÎÄÁÒÔÎÙÊ ËÁÔÁÌÏÇ ÐÏÉÓËÁ: %s\n"
 
-#: src/open-po.c:64
+#: src/open-po.c:69
 msgid "<stdin>"
 msgstr "<ÓÔÁÎÄÁÒÔÎÙÊ ××ÏÄ>"
 
-#: src/po-charset.c:145 src/po-charset.c:213 src/po-charset.c:239
-#: src/po-charset.c:265
+#: src/po-charset.c:172 src/po-charset.c:240 src/po-charset.c:268
+#: src/po-charset.c:294
 #, c-format
 msgid "%s: warning: "
 msgstr "%s: ÐÒÅÄÕÐÒÅÖÄÅÎÉÅ: "
 
-#: src/po-charset.c:146
+#: src/po-charset.c:173
 #, c-format
 msgid ""
 "Charset \"%s\" is not a portable encoding name.\n"
@@ -1360,15 +1919,15 @@ msgstr ""
 "\"%s\" ÎÅ Ñ×ÌÑÅÔÓÑ ÐÅÒÅÎÏÓÉÍÙÍ ÎÁÚ×ÁÎÉÅÍ ËÏÄÉÒÏ×ËÉ.\n"
 "ðÒÅÏÂÒÁÚÏ×ÁÎÉÅ ÓÏÏÂÝÅÎÉÊ Ë ËÏÄÉÒÏ×ËÅ ÐÏÌØÚÏ×ÁÔÅÌÑ ÍÏÖÅÔ ÎÅ ÓÒÁÂÏÔÁÔØ.\n"
 
-#: src/po-charset.c:209 src/po-charset.c:237
+#: src/po-charset.c:236 src/po-charset.c:266
 msgid "Continuing anyway, expect parse errors."
 msgstr "÷ÙÐÏÌÎÅÎÉÅ ÐÒÏÄÏÌÖÁÅÔÓÑ, ÂÕÄÕÔ ÏÛÉÂËÉ ÒÁÚÂÏÒÁ."
 
-#: src/po-charset.c:211
+#: src/po-charset.c:238
 msgid "Continuing anyway."
 msgstr "÷ÙÐÏÌÎÅÎÉÅ ÐÒÏÄÏÌÖÁÅÔÓÑ."
 
-#: src/po-charset.c:214
+#: src/po-charset.c:241
 #, c-format
 msgid ""
 "Charset \"%s\" is not supported. %s relies on iconv(),\n"
@@ -1377,7 +1936,7 @@ msgstr ""
 "ëÏÄÉÒÏËÁ \"%s\" ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ.  %s ÐÏÌÁÇÁÅÔÓÑ ÎÁ iconv(), ÎÏ iconv() ÎÅ "
 "ÐÏÄÄÅÒÖÉ×ÁÅÔ \"%s\".\n"
 
-#: src/po-charset.c:223 src/po-charset.c:247
+#: src/po-charset.c:250 src/po-charset.c:276
 msgid ""
 "Installing GNU libiconv and then reinstalling GNU gettext\n"
 "would fix this problem.\n"
@@ -1385,12 +1944,12 @@ msgstr ""
 "þÔÏÂÙ ÒÅÛÉÔØ ÜÔÕ ÐÒÏÂÌÅÍÕ, ÕÓÔÁÎÏ×ÉÔÅ GNU libiconv É ÐÅÒÅÕÓÔÁÎÏ×ÉÔÅ GNU "
 "gettext.\n"
 
-#: src/po-charset.c:228 src/po-charset.c:251
+#: src/po-charset.c:255 src/po-charset.c:280
 #, c-format
 msgid "%s\n"
 msgstr "%s\n"
 
-#: src/po-charset.c:240
+#: src/po-charset.c:269
 #, c-format
 msgid ""
 "Charset \"%s\" is not supported. %s relies on iconv().\n"
@@ -1399,7 +1958,7 @@ msgstr ""
 "ëÏÄÉÒÏËÁ \"%s\" ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ.  %s ÐÏÌÁÇÁÅÔÓÑ ÎÁ iconv().\n"
 "üÔÁ ×ÅÒÓÉÑ ÓÏÂÒÁÎÁ ÂÅÚ iconv().\n"
 
-#: src/po-charset.c:266
+#: src/po-charset.c:295
 msgid ""
 "Charset missing in header.\n"
 "Message conversion to user's charset will not work.\n"
@@ -1407,128 +1966,213 @@ msgstr ""
 "÷ ÚÁÇÏÌÏ×ËÅ ÎÅ ÕËÁÚÁÎÁ ËÏÄÉÒÏ×ËÁ.\n"
 "ðÒÅÏÂÒÁÚÏ×ÁÎÉÅ ÓÏÏÂÝÅÎÉÊ Ë ËÏÄÉÒÏ×ËÅ ÐÏÌØÚÏ×ÁÔÅÌÑ ÎÅ ÓÒÁÂÏÔÁÅÔ.\n"
 
-#: po-gram-gen.y:88
+#: po-gram-gen.y:91
 msgid "inconsistent use of #~"
 msgstr "ÎÅÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÅ ÐÒÉÍÅÎÅÎÉÅ #~"
 
-#: po-gram-gen.y:178
+#: po-gram-gen.y:181
 msgid "missing `msgstr[]' section"
 msgstr "ÐÒÏÐÕÝÅÎÁ ÓÅËÃÉÑ `msgstr[]'"
 
-#: po-gram-gen.y:186
+#: po-gram-gen.y:189
 msgid "missing `msgid_plural' section"
 msgstr "ÐÒÏÐÕÝÅÎÁ ÓÅËÃÉÑ `msgid_plural'"
 
-#: po-gram-gen.y:193
+#: po-gram-gen.y:196
 msgid "missing `msgstr' section"
 msgstr "ÐÒÏÐÕÝÅÎÁ ÓÅËÃÉÑ `msgstr'"
 
-#: po-gram-gen.y:238
+#: po-gram-gen.y:241
 msgid "first plural form has nonzero index"
 msgstr "ÐÅÒ×ÁÑ ÆÏÒÍÁ ÍÎÏÖÅÓÔ×ÅÎÎÏÇÏ ÞÉÓÌÁ ÉÍÅÅÔ ÎÅÎÕÌÅ×ÏÊ ÉÎÄÅËÓ"
 
-#: po-gram-gen.y:240
+#: po-gram-gen.y:243
 msgid "plural form has wrong index"
 msgstr "ÆÏÒÍÁ ÍÎÏÖÅÓÔ×ÅÎÎÏÇÏ ÞÉÓÌÁ ÉÍÅÅÔ ÎÅÐÒÁ×ÉÌØÎÙÊ ÉÎÄÅËÓ"
 
-#. CAUTION: If you change this macro, you must also make identical
-#. changes to the function of the same name in src/po-lex.c
-#: src/po-lex.c:152 src/po-lex.c:195 src/po-lex.h:77 src/po-lex.h:93
-#: src/po-lex.h:111 src/po-lex.h:127
+#: src/po-lex.h:91 src/po-lex.h:106 src/po-lex.h:126 src/po-lex.h:141
+#: src/po-lex.c:135 src/po-lex.c:176
 msgid "too many errors, aborting"
 msgstr "ÓÌÉÛËÏÍ ÍÎÏÇÏ ÏÛÉÂÏË, ÚÁ×ÅÒÛÅÎÉÅ"
 
-#: src/po-lex.c:271
+#: src/po-lex.c:545 src/write-po.c:331 src/write-po.c:421
+msgid "invalid multibyte sequence"
+msgstr "ÎÅ×ÅÒÎÁÑ ÍÎÏÇÏÂÁÊÔÏ×ÁÑ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔØ"
+
+#: src/po-lex.c:571
+#, fuzzy
+msgid "incomplete multibyte sequence at end of file"
+msgstr "ÎÅ×ÅÒÎÁÑ ÍÎÏÇÏÂÁÊÔÏ×ÁÑ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔØ"
+
+#: src/po-lex.c:581
+#, fuzzy
+msgid "incomplete multibyte sequence at end of line"
+msgstr "ÎÅ×ÅÒÎÁÑ ÍÎÏÇÏÂÁÊÔÏ×ÁÑ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔØ"
+
+#: src/po-lex.c:589
+msgid "iconv failure"
+msgstr ""
+
+#: src/po-lex.c:763 src/read-mo.c:70 src/read-mo.c:135 src/x-c.c:216
+#: src/x-rst.c:227 src/x-ycp.c:103
+#, c-format
+msgid "error while reading \"%s\""
+msgstr "ÏÛÉÂËÁ ÞÔÅÎÉÑ \"%s\""
+
+#: src/po-lex.c:829
 #, c-format
 msgid "keyword \"%s\" unknown"
 msgstr "ÎÅÉÚ×ÅÓÔÎÏÅ ËÌÀÞÅ×ÏÅ ÓÌÏ×Ï \"%s\""
 
-#: src/po-lex.c:374
+#: src/po-lex.c:939
 msgid "invalid control sequence"
 msgstr "ÎÅ×ÅÒÎÁÑ ÕÐÒÁ×ÌÑÀÝÁÑ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔØ"
 
-#: src/po-lex.c:477
+#: src/po-lex.c:1047
 msgid "end-of-file within string"
 msgstr "ÓÉÍ×ÏÌ ËÏÎÃÁ ÆÁÊÌÁ ×ÓÔÒÅÞÅΠ×ÎÕÔÒÉ ÓÔÒÏËÉ"
 
-#: src/po-lex.c:482
+#: src/po-lex.c:1053
 msgid "end-of-line within string"
 msgstr "ÓÉÍ×ÏÌ ËÏÎÃÁ ÓÔÒÏËÉ ×ÓÔÒÅÞÅΠ×ÎÕÔÒÉ ÓÔÒÏËÉ"
 
-#: src/po-lex.c:525 src/write-po.c:291 src/write-po.c:373
-msgid "invalid multibyte sequence"
-msgstr "ÎÅ×ÅÒÎÁÑ ÍÎÏÇÏÂÁÊÔÏ×ÁÑ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔØ"
+#: src/read-mo.c:71 src/read-mo.c:136
+#, c-format
+msgid "file \"%s\" truncated"
+msgstr "ÆÁÊÌ \"%s\" ÕÓÅÞÅÎ"
+
+#: src/read-mo.c:102
+#, c-format
+msgid "seek \"%s\" offset %ld failed"
+msgstr "ÏÛÉÂËÁ ÏÂÒÁÝÅÎÉÑ Ë ÆÁÊÌÕ \"%s\" ÐÏ ÓÍÅÝÅÎÉÀ %ld"
+
+#: src/read-mo.c:141
+#, c-format
+msgid "file \"%s\" contains a not NUL terminated string"
+msgstr "ÆÁÊÌ \"%s\" ÓÏÄÅÒÖÉÔ ÓÔÒÏËÕ, ÎÅ ÚÁ×ÅÒÛÅÎÎÕÀ ÎÕÌÅÍ"
+
+#: src/read-mo.c:186
+#, c-format
+msgid "file \"%s\" is not in GNU .mo format"
+msgstr "ÆÁÊÌ \"%s\" ÎÅ × ÓÏÏÔ×ÅÔÓÔ×ÕÅÔ ÆÏÒÍÁÔÕ GNU .mo"
+
+#: src/write-java.c:1108
+msgid "cannot find a temporary directory, try setting $TMPDIR"
+msgstr ""
 
-#: src/write-po.c:322
+#: src/write-java.c:1118
+#, fuzzy, c-format
+msgid "cannot create a temporary directory using template \"%s\""
+msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÓÏÚÄÁÔØ ÆÁÊÌ ×Ù×ÏÄÁ \"%s\""
+
+#: src/write-java.c:1131
+#, c-format
+msgid "not a valid Java class name: %s"
+msgstr ""
+
+#: src/write-java.c:1188 src/write-java.c:1201
+#, c-format
+msgid "failed to create \"%s\""
+msgstr ""
+
+#: src/write-java.c:1209 src/write-mo.c:289 src/write-po.c:966
+#, c-format
+msgid "error while writing \"%s\" file"
+msgstr "ÏÛÉÂËÁ ÚÁÐÉÓÉ ÆÁÊÌÁ \"%s\""
+
+#: src/write-java.c:1223
+msgid "compilation of Java class failed, please try --verbose or set $JAVAC"
+msgstr ""
+
+#: src/write-mo.c:277
+#, c-format
+msgid "error while opening \"%s\" for writing"
+msgstr "ÏÛÉÂËÁ ÏÔËÒÙÔÉÑ ÆÁÊÌÁ \"%s\" ÄÌÑ ÚÁÐÉÓÉ"
+
+#: src/write-po.c:370
 #, c-format
 msgid ""
 "internationalized messages should not contain the `\\%c' escape sequence"
 msgstr ""
 "ðÅÒÅ×ÏÄÉÍÙÅ ÓÏÏÂÝÅÎÉÑ ÎÅ ÄÏÌÖÎÙ ÓÏÄÅÒÖÁÔØ escape-ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔØ `\\%c'"
 
-#: src/write-po.c:816
+#: src/write-po.c:724 src/write-po.c:818
+#, c-format
+msgid ""
+"The following msgid contains non-ASCII characters.\n"
+"This will cause problems to translators who use a character encoding\n"
+"different from yours. Consider using a pure ASCII msgid instead.\n"
+"%s\n"
+msgstr ""
+
+#: src/write-po.c:885
 #, c-format
 msgid "cannot create output file \"%s\""
 msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÓÏÚÄÁÔØ ÆÁÊÌ ×Ù×ÏÄÁ \"%s\""
 
-#: src/write-po.c:823
+#: src/write-po.c:892
 #, no-c-format
 msgid "standard output"
 msgstr "ÓÔÁÎÄÁÒÔÎÙÊ ×Ù×ÏÄ"
 
-#: src/write-po.c:893
-#, c-format
-msgid "error while writing \"%s\" file"
-msgstr "ÏÛÉÂËÁ ÚÁÐÉÓÉ ÆÁÊÌÁ \"%s\""
-
-#: src/xget-lex.c:150
-msgid "standard input"
-msgstr "ÓÔÁÎÄÁÒÔÎÙÊ ××ÏÄ"
-
-#: src/xget-lex.c:879
+#: src/x-c.c:858
 #, c-format
 msgid "%s:%d: warning: unterminated character constant"
 msgstr "%s:%d: ÐÒÅÄÕÐÒÅÖÄÅÎÉÅ: ÎÅÚÁ×ÅÒÛÅÎÎÁÑ ÓÉÍ×ÏÌØÎÁÑ ËÏÎÓÔÁÎÔÁ"
 
-#: src/xget-lex.c:903
+#: src/x-c.c:882
 #, c-format
 msgid "%s:%d: warning: unterminated string literal"
 msgstr "%s:%d: ÐÒÅÄÕÐÒÅÖÄÅÎÉÅ: ÎÅÚÁ×ÅÒÛÅÎÎÁÑ ÓÔÒÏËÁ"
 
-#. We are about to construct the absolute path to the
-#. directory for the output files but asprintf failed.
-#: src/xgettext.c:325 src/xgettext.c:1368
-msgid "while preparing output"
-msgstr "ÐÒÉ ÐÏÄÇÏÔÏ×ËÅ ×Ù×ÏÄÁ"
+# ÜÔÏ ÓÏÏÂÝÅÎÉÅ ÐÏËÁ ÎÅ ÉÓÐÏÌØÚÕÅÔÓÑ
+#: src/x-po.c:106 src/xgettext.c:605
+msgid "this file may not contain domain directives"
+msgstr "ÜÔÏÔ ÆÁÊÌ ÎÅ ÍÏÖÅÔ ÓÏÄÅÒÖÁÔØ ÄÉÒÅËÔÉ×Ù ÄÏÍÅÎÁ"
+
+#: src/x-rst.c:108
+#, c-format
+msgid "%s:%d: invalid string definition"
+msgstr ""
+
+#: src/x-rst.c:168
+#, c-format
+msgid "%s:%d: missing number after #"
+msgstr ""
+
+#: src/x-rst.c:203
+#, c-format
+msgid "%s:%d: invalid string expression"
+msgstr ""
 
-#: src/xgettext.c:371
+#: src/xgettext.c:375
 msgid "--join-existing cannot be used when output is written to stdout"
 msgstr ""
 "ËÌÀÞ --join-existing ÎÅ ÍÏÖÅÔ ÂÙÔØ ÉÓÐÏÌØÚÏ×ÁΠÐÒÉ ÚÁÐÉÓÉ × ÓÔÁÎÄÁÒÔÎÙÊ ×Ù×ÏÄ"
 
-#: src/xgettext.c:376
+#: src/xgettext.c:380
 msgid "xgettext cannot work without keywords to look for"
 msgstr "xgettext ÎÅ ÍÏÖÅÔ ÒÁÂÏÔÁÔØ, ÎÅ ÚÎÁÑ ÉÓËÏÍÙÈ ËÌÀÞÅ×ÙÈ ÓÌÏ×"
 
-#: src/xgettext.c:482
+#: src/xgettext.c:468
 #, c-format
 msgid "warning: file `%s' extension `%s' is unknown; will try C"
 msgstr ""
 "ÐÒÅÄÕÐÒÅÖÄÅÎÉÅ: ÆÁÊÌ `%s' ÉÍÅÅÔ ÎÅÉÚ×ÅÓÔÎÏÅ ÒÁÓÛÉÒÅÎÉÅ `%s'; ÔÒÁËÔÕÅÔÓÑ ËÁË C"
 
-#: src/xgettext.c:523
+#: src/xgettext.c:509
 #, no-wrap
 msgid "Extract translatable strings from given input files.\n"
 msgstr ""
 
-#: src/xgettext.c:528
+#: src/xgettext.c:514
 #, no-wrap
 msgid ""
 "Mandatory arguments to long options are mandatory for short options too.\n"
 "Similarly for optional arguments.\n"
 msgstr ""
 
-#: src/xgettext.c:543
+#: src/xgettext.c:529
 #, no-wrap
 msgid ""
 "Output file location:\n"
@@ -1538,16 +2182,17 @@ msgid ""
 "If output file is -, output is written to standard output.\n"
 msgstr ""
 
-#: src/xgettext.c:552
+#: src/xgettext.c:538
 #, no-wrap
 msgid ""
 "Choice of input file language:\n"
-"  -L, --language=NAME            recognise the specified language (C, C++, PO)\n"
+"  -L, --language=NAME            recognise the specified language\n"
+"                                   (C, C++, ObjectiveC, PO, Java, YCP)\n"
 "  -C, --c++                      shorthand for --language=C++\n"
 "By default the language is guessed depending on the input file name extension.\n"
 msgstr ""
 
-#: src/xgettext.c:560
+#: src/xgettext.c:547
 #, no-wrap
 msgid ""
 "Operation mode:\n"
@@ -1557,7 +2202,7 @@ msgid ""
 "                                 preceding keyword lines) in output file\n"
 msgstr ""
 
-#: src/xgettext.c:569
+#: src/xgettext.c:556
 #, no-wrap
 msgid ""
 "Language=C/C++ specific options:\n"
@@ -1568,8 +2213,8 @@ msgid ""
 "      --debug                    more detailed formatstring recognition result\n"
 msgstr ""
 
-#: src/xgettext.c:579
-#, no-wrap
+#: src/xgettext.c:566
+#, fuzzy, no-wrap
 msgid ""
 "Output details:\n"
 "  -e, --no-escape                do not use C escapes in output (default)\n"
@@ -1580,43 +2225,85 @@ msgid ""
 "  -n, --add-location             generate '#: filename:line' lines (default)\n"
 "      --strict                   write out strict Uniforum conforming .po file\n"
 "  -w, --width=NUMBER             set output page width\n"
-"  -s, --sort-output              generate sorted output and remove duplicates\n"
+"  -s, --sort-output              generate sorted output\n"
 "  -F, --sort-by-file             sort output by file location\n"
 "      --omit-header              don't write header with `msgid \"\"' entry\n"
 "      --foreign-user             omit FSF copyright in output for foreign user\n"
 "  -m, --msgstr-prefix[=STRING]   use STRING or \"\" as prefix for msgstr entries\n"
 "  -M, --msgstr-suffix[=STRING]   use STRING or \"\" as suffix for msgstr entries\n"
 msgstr ""
+"éÓÐÏÌØÚÏ×ÁÎÉÅ: %s [ëìàþ] def.po ref.po\n"
+"áÒÇÕÍÅÎÔÙ, ÏÂÑÚÁÔÅÌØÎÙÅ ÄÌÑ ÄÌÉÎÎÙÈ ËÌÀÞÅÊ, ÏÂÑÚÁÔÅÌØÎÙ É ÄÌÑ ËÏÒÏÔËÉÈ.\n"
+"  -C, --compendium=æáêì       ÄÏÐÏÌÎÉÔÅÌØÎÁÑ ÂÉÂÌÉÏÔÅËÁ ÐÅÒÅ×ÏÄÏ×,\n"
+"                              ÍÏÖÎÏ ÕËÁÚÁÔØ ÎÅÓËÏÌØËÏ\n"
+"  -D, --directory=ëáôáìïç     ÄÏÂÁ×ÉÔØ ëáôáìïç × ÓÐÉÓÏË ËÁÔÁÌÏÇÏ× ÄÌÑ ÐÏÉÓËÁ\n"
+"                              ×ÈÏÄÎÙÈ ÆÁÊÌÏ×\n"
+"  -e, --no-escape             ÎÅ ÉÓÐÏÌØÚÏ×ÁÔØ ÐÒÉ ×Ù×ÏÄÅ escape-\n"
+"                              ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔÉ ÑÚÙËÁ C (ÕÓÔÁÎÏ×ÌÅÎÏ ÐÏ\n"
+"                              ÕÍÏÌÞÁÎÉÀ)\n"
+"  -E, --escape                ÉÓÐÏÌØÚÏ×ÁÔØ escape-ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔÉ, Á ÎÅ\n"
+"                              ÒÁÓÛÉÒÅÎÎÙÅ ÓÉÍ×ÏÌÙ\n"
+"      --force-po              ÚÁÐÉÓÁÔØ PO-ÆÁÊÌ, ÄÁÖÅ ÅÓÌÉ ÏΠÐÕÓÔ\n"
+"  -h, --help                  ÐÏËÁÚÁÔØ ÜÔÕ ÓÐÒÁ×ËÕ É ×ÙÊÔÉ\n"
+"  -i, --indent                ÄÅÌÁÔØ ÏÔÓÔÕÐÙ × ×Ù×ÏÄÅ\n"
+"  -o, --output-file=æáêì      ÚÁÐÉÓÁÔØ ×Ù×ÏÄ × ÕËÁÚÁÎÎÙÊ ÆÁÊÌ\n"
+"      --no-location           ÎÅ ×Ù×ÏÄÉÔØ ÓÔÒÏËÉ '#: filename:line'\n"
+"      --add-location          ×Ù×ÏÄÉÔØ ÓÔÒÏËÉ '#: filename:line' (ÐÏ ÕÍÏÌÞÁÎÉÀ)\n"
+"      --strict                ×Ù×ÏÄ × ÒÅÖÉÍÅ ÓÔÒÏÇÏÇÏ ÓÏÏÔ×ÅÔÓÔ×ÉÑ ÓÔÁÎÄÁÒÔÕ\n"
+"                              Uniforum\n"
+"  -v, --verbose               Õ×ÅÌÉÞÉÔØ ÓÔÅÐÅÎØ ÐÏÄÒÏÂÎÏÓÔÉ ÏÐÉÓÁÎÉÑ\n"
+"                              ÐÒÅÄÐÒÉÎÉÍÁÅÍÙÈ ÄÅÊÓÔ×ÉÊ\n"
+"  -V, --version               ÐÏËÁÚÁÔØ ÉÎÆÏÒÍÁÃÉÀ Ï ×ÅÒÓÉÉ É ×ÙÊÔÉ\n"
+"  -w, --width=þéóìï           ÕÓÔÁÎÏ×ÉÔØ ÛÉÒÉÎÕ ÓÔÒÁÎÉÃÙ ×Ù×ÏÄÁ ÒÁ×ÎÏÊ þéóìõ\n"
 
-#: src/xgettext.c:945
-#, c-format
-msgid "%s:%d: warning: keyword nested in keyword arg"
-msgstr ""
-"%s:%d: ÐÒÅÄÕÐÒÅÖÄÅÎÉÅ: ËÌÀÞÅ×ÏÅ ÓÌÏ×Ï ×ÌÏÖÅÎÏ × ÁÒÇÕÍÅÎÔ ÄÒÕÇÏÇÏ ËÌÀÞÅ×ÏÇÏ "
-"ÓÌÏ×Á"
+#: src/xgettext.c:720
+msgid "standard input"
+msgstr "ÓÔÁÎÄÁÒÔÎÙÊ ××ÏÄ"
 
-#: src/xgettext.c:957
-#, c-format
-msgid "%s:%d: warning: keyword between outer keyword and its arg"
+#: src/xgettext.c:830
+msgid ""
+"Empty msgid.  It is reserved by GNU gettext:\n"
+"gettext(\"\") returns the header entry with\n"
+"meta information, not the empty string.\n"
 msgstr ""
-"%s:%d: ÐÒÅÄÕÐÒÅÖÄÅÎÉÅ: ËÌÀÞÅ×ÏÅ ÓÌÏ×Ï ÍÅÖÄÕ ×ÎÅÛÎÉÍ ËÌÀÞÅ×ÙÍ ÓÌÏ×ÏÍ É ÅÇÏ "
-"ÁÒÇÕÍÅÎÔÏÍ"
 
-#: src/xgettext.c:1446
+#: src/xgettext.c:1099
 #, c-format
 msgid "language `%s' unknown"
 msgstr "ÑÚÙË `%s' ÎÅÉÚ×ÅÓÔÅÎ"
 
+#~ msgid "while creating hash table"
+#~ msgstr "ÐÒÉ ÓÏÚÄÁÎÉÉ ÈÅÛ-ÔÁÂÌÉÃÙ"
+
+#, fuzzy
+#~ msgid "%s:%lu: warning: keyword nested in keyword arg"
+#~ msgstr ""
+#~ "%s:%d: ÐÒÅÄÕÐÒÅÖÄÅÎÉÅ: ËÌÀÞÅ×ÏÅ ÓÌÏ×Ï ×ÌÏÖÅÎÏ × ÁÒÇÕÍÅÎÔ ÄÒÕÇÏÇÏ "
+#~ "ËÌÀÞÅ×ÏÇÏ ÓÌÏ×Á"
+
+#, fuzzy
+#~ msgid "%s:%lu: warning: keyword between outer keyword and its arg"
+#~ msgstr ""
+#~ "%s:%d: ÐÒÅÄÕÐÒÅÖÄÅÎÉÅ: ËÌÀÞÅ×ÏÅ ÓÌÏ×Ï ÍÅÖÄÕ ×ÎÅÛÎÉÍ ËÌÀÞÅ×ÙÍ ÓÌÏ×ÏÍ É ÅÇÏ "
+#~ "ÁÒÇÕÍÅÎÔÏÍ"
+
+#~ msgid "while preparing output"
+#~ msgstr "ÐÒÉ ÐÏÄÇÏÔÏ×ËÅ ×Ù×ÏÄÁ"
+
 #~ msgid "this message has no definition in the \"%s\" domain"
 #~ msgstr "ÜÔÏ ÓÏÏÂÝÅÎÉÅ ÎÅ ÏÐÒÅÄÅÌÅÎÏ × ÄÏÍÅÎÅ \"%s\""
 
 #~ msgid ""
 #~ "Usage: %s [OPTION] INPUTFILE ...\n"
 #~ "Mandatory arguments to long options are mandatory for short options too.\n"
-#~ "  -d, --default-domain=NAME      use NAME.po for output (instead of messages.po)\n"
-#~ "  -D, --directory=DIRECTORY      add DIRECTORY to list for input files search\n"
-#~ "  -e, --no-escape                do not use C escapes in output (default)\n"
-#~ "  -E, --escape                   use C escapes in output, no extended chars\n"
+#~ "  -d, --default-domain=NAME      use NAME.po for output (instead of "
+#~ "messages.po)\n"
+#~ "  -D, --directory=DIRECTORY      add DIRECTORY to list for input files "
+#~ "search\n"
+#~ "  -e, --no-escape                do not use C escapes in output "
+#~ "(default)\n"
+#~ "  -E, --escape                   use C escapes in output, no extended "
+#~ "chars\n"
 #~ "  -f, --files-from=FILE          get list of input files from FILE\n"
 #~ "      --force-po                 write PO file even if empty\n"
 #~ "  -F, --sort-by-file             sort output by file location\n"
@@ -1624,15 +2311,20 @@ msgstr "
 #~ msgstr ""
 #~ "éÓÐÏÌØÚÏ×ÁÎÉÅ: %s [OPTION] INPUTFILE ...\n"
 #~ "áÒÇÕÍÅÎÔÙ, ÏÂÑÚÁÔÅÌØÎÙÅ ÄÌÑ ÄÌÉÎÎÙÈ ËÌÀÞÅÊ, ÏÂÑÚÁÔÅÌØÎÙ É ÄÌÑ ËÏÒÏÔËÉÈ.\n"
-#~ "  -d, --default-domain=éíñ       ÉÓÐÏÌØÚÏ×ÁÔØ ×ÙÈÏÄÎÏÊ ÆÁÊÌ éíñ.po (×ÍÅÓÔÏ\n"
+#~ "  -d, --default-domain=éíñ       ÉÓÐÏÌØÚÏ×ÁÔØ ×ÙÈÏÄÎÏÊ ÆÁÊÌ éíñ.po "
+#~ "(×ÍÅÓÔÏ\n"
 #~ "                                 messages.po)\n"
-#~ "  -D, --directory=ëáôáìïç        ÄÏÂÁ×ÉÔØ ëáôáìïç × ÓÐÉÓÏË ËÁÔÁÌÏÇÏ× ÄÌÑ ÐÏÉÓËÁ\n"
+#~ "  -D, --directory=ëáôáìïç        ÄÏÂÁ×ÉÔØ ëáôáìïç × ÓÐÉÓÏË ËÁÔÁÌÏÇÏ× ÄÌÑ "
+#~ "ÐÏÉÓËÁ\n"
 #~ "  -e, --no-escape                ÎÅ ÉÓÐÏÌØÚÏ×ÁÔØ ÐÒÉ ×Ù×ÏÄÅ escape-\n"
-#~ "                                 ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔÉ ÑÚÙËÁ C (ÕÓÔÁÎÏ×ÌÅÎÏ ÐÏ \n"
+#~ "                                 ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔÉ ÑÚÙËÁ C (ÕÓÔÁÎÏ×ÌÅÎÏ "
+#~ "ÐÏ \n"
 #~ "                                 ÕÍÏÌÞÁÎÉÀ)\n"
-#~ "  -E, --escape                   ÉÓÐÏÌØÚÏ×ÁÔØ escape-ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔÉ, Á ÎÅ\n"
+#~ "  -E, --escape                   ÉÓÐÏÌØÚÏ×ÁÔØ escape-ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔÉ, "
+#~ "Á ÎÅ\n"
 #~ "                                 ÒÁÓÛÉÒÅÎÎÙÅ ÓÉÍ×ÏÌÙ\n"
-#~ "  -f, --files-from=æáêì          ÐÒÏÞÉÔÁÔØ ÓÐÉÓÏË ×ÈÏÄÎÙÈ ÆÁÊÌÏ× ÉÚ æáêìá\n"
+#~ "  -f, --files-from=æáêì          ÐÒÏÞÉÔÁÔØ ÓÐÉÓÏË ×ÈÏÄÎÙÈ ÆÁÊÌÏ× ÉÚ "
+#~ "æáêìá\n"
 #~ "      --force-po                 ÚÁÐÉÓÁÔØ PO-ÆÁÊÌ ÄÁÖÅ ÅÓÌÉ ÏΠÐÕÓÔ\n"
 #~ "  -F, --sort-by-file             ÓÏÒÔÉÒÏ×ÁÔØ ×Ù×ÏÄ ÐÏ ÐÏÒÑÄËÕ ÆÁÊÌÏ×\n"
 #~ "  -h, --help                     ÐÏËÁÚÁÔØ ÜÔÕ ÓÐÒÁ×ËÕ É ×ÙÊÔÉ\n"
@@ -1676,12 +2368,16 @@ msgstr "
 #~ "Generate binary message catalog from textual translation description.\n"
 #~ "\n"
 #~ "Mandatory arguments to long options are mandatory for short options too.\n"
-#~ "  -a, --alignment=NUMBER      align strings to NUMBER bytes (default: %d)\n"
-#~ "  -c, --check                 perform language dependent checks on strings\n"
-#~ "  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+#~ "  -a, --alignment=NUMBER      align strings to NUMBER bytes (default: %"
+#~ "d)\n"
+#~ "  -c, --check                 perform language dependent checks on "
+#~ "strings\n"
+#~ "  -D, --directory=DIRECTORY   add DIRECTORY to list for input files "
+#~ "search\n"
 #~ "  -f, --use-fuzzy             use fuzzy entries in output\n"
 #~ "  -h, --help                  display this help and exit\n"
-#~ "      --no-hash               binary file will not include the hash table\n"
+#~ "      --no-hash               binary file will not include the hash "
+#~ "table\n"
 #~ "  -o, --output-file=FILE      specify output file name as FILE\n"
 #~ "      --statistics            print statistics about translations\n"
 #~ "      --strict                enable strict Uniforum mode\n"
@@ -1697,24 +2393,30 @@ msgstr "
 #~ "óÏÚÄÁÅÔ Ä×ÏÉÞÎÙÊ ÆÁÊÌ ÓÏÏÂÝÅÎÉÊ ÉÚ ÔÅËÓÔÏ×ÏÇÏ ÏÐÉÓÁÎÉÑ ÐÅÒÅ×ÏÄÏ×.\n"
 #~ "\n"
 #~ "áÒÇÕÍÅÎÔÙ, ÏÂÑÚÁÔÅÌØÎÙÅ ÄÌÑ ÄÌÉÎÎÙÈ ËÌÀÞÅÊ, ÏÂÑÚÁÔÅÌØÎÙ É ÄÌÑ ËÏÒÏÔËÉÈ.\n"
-#~ "  -a, --alignment=þéóìï       ×ÙÒÁ×ÎÉ×ÁÔØ ÓÔÒÏËÉ ÐÏ þéóìõ ÂÁÊÔ (ÐÏ ÕÍÏÌÞÁÎÉÀ: %d)\n"
-#~ "  -c, --check                 ÐÒÏÉÚ×ÏÄÉÔØ ÚÁ×ÉÓÑÝÕÀ ÏÔ ÑÚÙËÁ ÐÒÏ×ÅÒËÕ ÓÔÒÏË\n"
+#~ "  -a, --alignment=þéóìï       ×ÙÒÁ×ÎÉ×ÁÔØ ÓÔÒÏËÉ ÐÏ þéóìõ ÂÁÊÔ (ÐÏ "
+#~ "ÕÍÏÌÞÁÎÉÀ: %d)\n"
+#~ "  -c, --check                 ÐÒÏÉÚ×ÏÄÉÔØ ÚÁ×ÉÓÑÝÕÀ ÏÔ ÑÚÙËÁ ÐÒÏ×ÅÒËÕ "
+#~ "ÓÔÒÏË\n"
 #~ "  -D, --directory=ëáôáìïç     ÄÏÂÁ×ÉÔØ ëáôáìïç × ÓÐÉÓÏË ËÁÔÁÌÏÇÏ× ÄÌÑ\n"
 #~ "                              ÐÏÉÓËÁ ×ÈÏÄÎÙÈ ÆÁÊÌÏ×\n"
 #~ "  -f, --use-fuzzy             ÉÓÐÏÌØÚÏ×ÁÔØ ÎÅÔÏÞÎÙÅ ÐÅÒÅ×ÏÄÙ\n"
 #~ "  -h, --help                  ÐÏËÁÚÁÔØ ÜÔÕ ÓÐÒÁ×ËÕ É ×ÙÊÔÉ\n"
 #~ "      --no-hash               ÎÅ ×ËÌÀÞÁÔØ × Ä×ÏÉÞÎÙÊ ÆÁÊÌ ÈÜÛ-ÔÁÂÌÉÃÕ\n"
 #~ "  -o, --output-file=æáêì      ÚÁÐÉÓÁÔØ ×Ù×ÏÄ × ÕËÁÚÁÎÎÙÊ ÆÁÊÌ\n"
-#~ "      --statistics            ÐÏËÁÚÁÔØ ÓÔÁÔÉÓÔÉÞÅÓËÉÅ Ó×ÅÄÅÎÉÑ Ï ÐÅÒÅ×ÏÄÁÈ\n"
-#~ "      --strict                ×ËÌÀÞÉÔØ ÒÅÖÉÍ ÓÔÒÏÇÏÇÏ ÓÏÏÔ×ÅÔÓÔ×ÉÑ ÓÔÁÎÄÁÒÔÕ\n"
+#~ "      --statistics            ÐÏËÁÚÁÔØ ÓÔÁÔÉÓÔÉÞÅÓËÉÅ Ó×ÅÄÅÎÉÑ Ï "
+#~ "ÐÅÒÅ×ÏÄÁÈ\n"
+#~ "      --strict                ×ËÌÀÞÉÔØ ÒÅÖÉÍ ÓÔÒÏÇÏÇÏ ÓÏÏÔ×ÅÔÓÔ×ÉÑ "
+#~ "ÓÔÁÎÄÁÒÔÕ\n"
 #~ "                              Uniforum\n"
-#~ "  -v, --verbose               ÐÅÒÅÞÉÓÌÉÔØ ×ÙÚÙ×ÁÀÝÉÅ ÎÅÄÏ×ÅÒÉÅ Ó×ÏÊÓÔ×Á ×ÈÏÄÎÏÇÏ\n"
+#~ "  -v, --verbose               ÐÅÒÅÞÉÓÌÉÔØ ×ÙÚÙ×ÁÀÝÉÅ ÎÅÄÏ×ÅÒÉÅ Ó×ÏÊÓÔ×Á "
+#~ "×ÈÏÄÎÏÇÏ\n"
 #~ "                              ÆÁÊÌÁ\n"
 #~ "  -V, --version               ÐÏËÁÚÁÔØ ÉÎÆÏÒÍÁÃÉÀ Ï ×ÅÒÓÉÉ É ×ÙÊÔÉ\n"
 #~ "\n"
 #~ "íÎÏÇÏËÒÁÔÎÏÅ ÚÁÄÁÎÉÅ ËÌÀÞÁ -v Õ×ÅÌÉÞÉ×ÁÅÔ ÓÔÅÐÅÎØ ÐÏÄÒÏÂÎÏÓÔÉ ÏÔÞÅÔÁ.\n"
 #~ "\n"
-#~ "åÓÌÉ ×ÍÅÓÔÏ ×ÈÏÄÎÏÇÏ ÆÁÊÌÁ ÚÁÄÁÎÏ '-', ÞÉÔÁÅÔÓÑ ÓÔÁÎÄÁÒÔÎÙÊ ××ÏÄ.  åÓÌÉ '-'\n"
+#~ "åÓÌÉ ×ÍÅÓÔÏ ×ÈÏÄÎÏÇÏ ÆÁÊÌÁ ÚÁÄÁÎÏ '-', ÞÉÔÁÅÔÓÑ ÓÔÁÎÄÁÒÔÎÙÊ ××ÏÄ.  åÓÌÉ "
+#~ "'-'\n"
 #~ "ÚÁÄÁÎÏ ×ÍÅÓÔÏ ×ÙÈÏÄÎÏÇÏ ÆÁÊÌÁ, ÚÁÐÉÓØ ÐÒÏÉÚ×ÏÄÉÔÓÑ ÎÁ ÓÔÁÎÄÁÒÔÎÙÊ ×Ù×ÏÄ.\n"
 
 #~ msgid ""
@@ -1727,7 +2429,8 @@ msgstr "
 #~ "\n"
 #~ "ðÒÅÏÂÒÁÚÏ×Ù×ÁÅÔ Ä×ÏÉÞÎÙÅ MO-ÆÁÊÌÙ × PO-ÆÁÊÌÙ × ÓÔÉÌÅ Uniforum.\n"
 #~ "÷ÏÓÐÒÉÎÉÍÁÀÔÓÑ MO-ÆÁÊÌÙ ËÁË c ÐÒÑÍÙÍ, ÔÁË É Ó ÏÂÒÁÔÎÙÍ ÐÏÒÑÄËÏÍ ÂÁÊÔ ×\n"
-#~ "ÓÌÏ×Å.  åÓÌÉ ÎÅ ÚÁÄÁΠ×ÈÏÄÎÏÊ ÆÁÊÌ, ÉÌÉ ÚÁÄÁΠËÁË '-', ÞÉÔÁÅÔÓÑ ÓÔÁÎÄÁÒÔÎÙÊ\n"
+#~ "ÓÌÏ×Å.  åÓÌÉ ÎÅ ÚÁÄÁΠ×ÈÏÄÎÏÊ ÆÁÊÌ, ÉÌÉ ÚÁÄÁΠËÁË '-', ÞÉÔÁÅÔÓÑ "
+#~ "ÓÔÁÎÄÁÒÔÎÙÊ\n"
 #~ "××ÏÄ.  ðÏ ÕÍÏÌÞÁÎÉÀ ÚÁÐÉÓØ ÐÒÏÉÚ×ÏÄÉÔÓÑ × ÓÔÁÎÄÁÒÔÎÙÊ ×Ù×ÏÄ.\n"
 
 #~ msgid ""
@@ -1739,14 +2442,20 @@ msgstr "
 #~ "  -c, --add-comments[=TAG]       place comment block with TAG (or those\n"
 #~ "                                 preceding keyword lines) in output file\n"
 #~ "  -C, --c++                      shorthand for --language=C++\n"
-#~ "      --debug                    more detailed formatstring recognision result\n"
-#~ "  -d, --default-domain=NAME      use NAME.po for output (instead of messages.po)\n"
-#~ "  -D, --directory=DIRECTORY      add DIRECTORY to list for input files search\n"
-#~ "  -e, --no-escape                do not use C escapes in output (default)\n"
-#~ "  -E, --escape                   use C escapes in output, no extended chars\n"
+#~ "      --debug                    more detailed formatstring recognision "
+#~ "result\n"
+#~ "  -d, --default-domain=NAME      use NAME.po for output (instead of "
+#~ "messages.po)\n"
+#~ "  -D, --directory=DIRECTORY      add DIRECTORY to list for input files "
+#~ "search\n"
+#~ "  -e, --no-escape                do not use C escapes in output "
+#~ "(default)\n"
+#~ "  -E, --escape                   use C escapes in output, no extended "
+#~ "chars\n"
 #~ "  -f, --files-from=FILE          get list of input files from FILE\n"
 #~ "      --force-po                 write PO file even if empty\n"
-#~ "      --foreign-user             omit FSF copyright in output for foreign user\n"
+#~ "      --foreign-user             omit FSF copyright in output for foreign "
+#~ "user\n"
 #~ "  -F, --sort-by-file             sort output by file location\n"
 #~ msgstr ""
 #~ "éÓÐÏÌØÚÏ×ÁÎÉÅ: %s [OPTION] INPUTFILE ...\n"
@@ -1754,23 +2463,31 @@ msgstr "
 #~ "\n"
 #~ "áÒÇÕÍÅÎÔÙ, ÏÂÑÚÁÔÅÌØÎÙÅ ÄÌÑ ÄÌÉÎÎÙÈ ËÌÀÞÅÊ, ÏÂÑÚÁÔÅÌØÎÙ É ÄÌÑ ËÏÒÏÔËÉÈ.\n"
 #~ "  -a, --extract-all              ÉÚ×ÌÅÞØ ×ÓÅ ÓÔÒÏËÉ\n"
-#~ "  -c, --add-comments[=óìï÷ï]     ÐÏÍÅÓÔÉÔØ × ×ÙÈÏÄÎÏÊ ÆÁÊÌ ÂÌÏËÉ ËÏÍÍÅÎÔÁÒÉÅ×,\n"
-#~ "                                 ÓÏÄÅÒÖÁÝÉÈ óìï÷ï (ÉÌÉ ÂÌÏËÉ ÐÒÅÄÛÅÓÔ×ÕÀÝÉÅ\n"
+#~ "  -c, --add-comments[=óìï÷ï]     ÐÏÍÅÓÔÉÔØ × ×ÙÈÏÄÎÏÊ ÆÁÊÌ ÂÌÏËÉ "
+#~ "ËÏÍÍÅÎÔÁÒÉÅ×,\n"
+#~ "                                 ÓÏÄÅÒÖÁÝÉÈ óìï÷ï (ÉÌÉ ÂÌÏËÉ "
+#~ "ÐÒÅÄÛÅÓÔ×ÕÀÝÉÅ\n"
 #~ "                                 ËÌÀÞÅ×ÙÍ ÓÔÒÏËÁÍ)\n"
 #~ "  -C, --c++                      ÓÏËÒÁÝÅÎÉÅ ÄÌÑ --language=C++\n"
 #~ "      --debug                    ÂÏÌÅÅ ÄÅÔÁÌØÎÙÊ ÒÁÚÂÏÒ ÓÔÒÏË ÆÏÒÍÁÔÁ\n"
-#~ "  -d, --default-domain=éíñ       ÉÓÐÏÌØÚÏ×ÁÔØ ×ÙÈÏÄÎÏÊ ÆÁÊÌ éíñ.po (×ÍÅÓÔÏ\n"
+#~ "  -d, --default-domain=éíñ       ÉÓÐÏÌØÚÏ×ÁÔØ ×ÙÈÏÄÎÏÊ ÆÁÊÌ éíñ.po "
+#~ "(×ÍÅÓÔÏ\n"
 #~ "                                 messages.po)\n"
-#~ "  -D, --directory=ëáôáìïç        ÄÏÂÁ×ÉÔØ ëáôáìïç × ÓÐÉÓÏË ËÁÔÁÌÏÇÏ× ÄÌÑ ÐÏÉÓËÁ\n"
+#~ "  -D, --directory=ëáôáìïç        ÄÏÂÁ×ÉÔØ ëáôáìïç × ÓÐÉÓÏË ËÁÔÁÌÏÇÏ× ÄÌÑ "
+#~ "ÐÏÉÓËÁ\n"
 #~ "                                 ×ÈÏÄÎÙÈ ÆÁÊÌÏ×\n"
 #~ "  -e, --no-escape                ÎÅ ÉÓÐÏÌØÚÏ×ÁÔØ ÐÒÉ ×Ù×ÏÄÅ escape-\n"
-#~ "                                 ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔÉ ÑÚÙËÁ C (ÕÓÔÁÎÏ×ÌÅÎÏ ÐÏ\n"
+#~ "                                 ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔÉ ÑÚÙËÁ C (ÕÓÔÁÎÏ×ÌÅÎÏ "
+#~ "ÐÏ\n"
 #~ "                                 ÕÍÏÌÞÁÎÉÀ)\n"
-#~ "  -E, --escape                   ÉÓÐÏÌØÚÏ×ÁÔØ escape-ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔÉ, Á ÎÅ\n"
+#~ "  -E, --escape                   ÉÓÐÏÌØÚÏ×ÁÔØ escape-ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔÉ, "
+#~ "Á ÎÅ\n"
 #~ "                                 ÒÁÓÛÉÒÅÎÎÙÅ ÓÉÍ×ÏÌÙ\n"
-#~ "  -f, --files-from=æáêì          ÐÒÏÞÉÔÁÔØ ÓÐÉÓÏË ×ÈÏÄÎÙÈ ÆÁÊÌÏ× ÉÚ æáêìá\n"
+#~ "  -f, --files-from=æáêì          ÐÒÏÞÉÔÁÔØ ÓÐÉÓÏË ×ÈÏÄÎÙÈ ÆÁÊÌÏ× ÉÚ "
+#~ "æáêìá\n"
 #~ "      --force-po                 ÚÁÐÉÓÁÔØ PO-ÆÁÊÌ ÄÁÖÅ ÅÓÌÉ ÏΠÐÕÓÔ\n"
-#~ "      --foreign-user             ÎÅ ×Ù×ÏÄÉÔØ FSF copyright ÄÌÑ ÐÏÓÔÏÒÏÎÎÅÇÏ\n"
+#~ "      --foreign-user             ÎÅ ×Ù×ÏÄÉÔØ FSF copyright ÄÌÑ "
+#~ "ÐÏÓÔÏÒÏÎÎÅÇÏ\n"
 #~ "                                 ÐÏÌØÚÏ×ÁÔÅÌÑ\n"
 #~ "  -F, --sort-by-file             ÓÏÒÔÉÒÏ×ÁÔØ ×Ù×ÏÄ ÐÏ ÐÏÒÑÄËÕ ÆÁÊÌÏ×\n"
 
@@ -1778,35 +2495,51 @@ msgstr "
 #~ "  -h, --help                     display this help and exit\n"
 #~ "  -i, --indent                   write the .po file using indented style\n"
 #~ "  -j, --join-existing            join messages with existing file\n"
-#~ "  -k, --keyword[=WORD]           additonal keyword to be looked for (without\n"
+#~ "  -k, --keyword[=WORD]           additonal keyword to be looked for "
+#~ "(without\n"
 #~ "                                 WORD means not to use default keywords)\n"
-#~ "  -L, --language=NAME            recognise the specified language (C, C++, PO),\n"
-#~ "                                 otherwise is guessed from file extension\n"
-#~ "  -m, --msgstr-prefix[=STRING]   use STRING or \"\" as prefix for msgstr entries\n"
-#~ "  -M, --msgstr-suffix[=STRING]   use STRING or \"\" as suffix for msgstr entries\n"
+#~ "  -L, --language=NAME            recognise the specified language (C, C+"
+#~ "+, PO),\n"
+#~ "                                 otherwise is guessed from file "
+#~ "extension\n"
+#~ "  -m, --msgstr-prefix[=STRING]   use STRING or \"\" as prefix for msgstr "
+#~ "entries\n"
+#~ "  -M, --msgstr-suffix[=STRING]   use STRING or \"\" as suffix for msgstr "
+#~ "entries\n"
 #~ "      --no-location              do not write '#: filename:line' lines\n"
 #~ msgstr ""
 #~ "  -h, --help                     ÐÏËÁÚÁÔØ ÜÔÕ ÓÐÒÁ×ËÕ É ×ÙÊÔÉ\n"
-#~ "  -i, --indent                   ÆÏÒÍÁÔÉÒÏ×ÁÔØ PO-ÆÁÊÌ, ÉÓÐÏÌØÚÕÑ ÏÔÓÔÕÐÙ\n"
+#~ "  -i, --indent                   ÆÏÒÍÁÔÉÒÏ×ÁÔØ PO-ÆÁÊÌ, ÉÓÐÏÌØÚÕÑ "
+#~ "ÏÔÓÔÕÐÙ\n"
 #~ "  -j, --join-existing            ÄÏÐÉÓÁÔØ ÓÏÏÂÝÅÎÉÑ × ÓÕÝÅÓÔ×ÕÀÝÉÊ ÆÁÊÌ\n"
-#~ "  -k, --keyword[=óìï÷ï]          ÄÏÐÏÌÎÉÔÅÌØÎÏÅ ËÌÀÞÅ×ÏÅ ÓÌÏ×Ï ÄÌÑ ÐÏÉÓËÁ \n"
+#~ "  -k, --keyword[=óìï÷ï]          ÄÏÐÏÌÎÉÔÅÌØÎÏÅ ËÌÀÞÅ×ÏÅ ÓÌÏ×Ï ÄÌÑ "
+#~ "ÐÏÉÓËÁ \n"
 #~ "                                 (ÅÓÌÉ óìï÷ï ÐÕÓÔÏ, ÔÏ ÎÅ ÉÓÐÏÌØÚÏ×ÁÔØ\n"
 #~ "                                 ÓÔÁÎÄÁÒÔÎÙÅ ËÌÀÞÅ×ÙÅ ÓÌÏ×Á)\n"
-#~ "  -L, --language=ñúùë            ÕÓÔÁÎÏ×ÉÔØ ÚÁÄÁÎÎÙÊ ñúùë (C, C++, PO); ÐÏ\n"
-#~ "                                 ÕÍÏÌÞÁÎÉÀ ÑÚÙË ÏÐÒÅÄÅÌÑÅÔÓÑ ÐÏ ÒÁÓÛÉÒÅÎÉÀ\n"
-#~ "  -m, --msgstr-prefix[=óôòïëá]   ÉÓÐÏÌØÚÏ×ÁÔØ óôòïëõ ËÁË ÐÒÅÆÉËÓ Ë ×ÈÏÖÄÅÎÉÑÍ\n"
+#~ "  -L, --language=ñúùë            ÕÓÔÁÎÏ×ÉÔØ ÚÁÄÁÎÎÙÊ ñúùë (C, C++, PO); "
+#~ "ÐÏ\n"
+#~ "                                 ÕÍÏÌÞÁÎÉÀ ÑÚÙË ÏÐÒÅÄÅÌÑÅÔÓÑ ÐÏ "
+#~ "ÒÁÓÛÉÒÅÎÉÀ\n"
+#~ "  -m, --msgstr-prefix[=óôòïëá]   ÉÓÐÏÌØÚÏ×ÁÔØ óôòïëõ ËÁË ÐÒÅÆÉËÓ Ë "
+#~ "×ÈÏÖÄÅÎÉÑÍ\n"
 #~ "                                 msgstr\n"
-#~ "  -M, --msgstr-suffix[=óôòïëá]   ÉÓÐÏÌØÚÏ×ÁÔØ óôòïëõ ËÁË ÓÕÆÆÉËÓ Ë ×ÈÏÖÄÅÎÉÑÍ\n"
+#~ "  -M, --msgstr-suffix[=óôòïëá]   ÉÓÐÏÌØÚÏ×ÁÔØ óôòïëõ ËÁË ÓÕÆÆÉËÓ Ë "
+#~ "×ÈÏÖÄÅÎÉÑÍ\n"
 #~ "                                 msgstr\n"
 #~ "      --no-location              ÎÅ ×Ù×ÏÄÉÔØ ÓÔÒÏËÉ '#: filename:line'\n"
 
 #~ msgid ""
-#~ "  -n, --add-location             generate '#: filename:line' lines (default)\n"
-#~ "      --omit-header              don't write header with `msgid \"\"' entry\n"
+#~ "  -n, --add-location             generate '#: filename:line' lines "
+#~ "(default)\n"
+#~ "      --omit-header              don't write header with `msgid \"\"' "
+#~ "entry\n"
 #~ "  -o, --output=FILE              write output to specified file\n"
-#~ "  -p, --output-dir=DIR           output files will be placed in directory DIR\n"
-#~ "  -s, --sort-output              generate sorted output and remove duplicates\n"
-#~ "      --strict                   write out strict Uniforum conforming .po file\n"
+#~ "  -p, --output-dir=DIR           output files will be placed in directory "
+#~ "DIR\n"
+#~ "  -s, --sort-output              generate sorted output and remove "
+#~ "duplicates\n"
+#~ "      --strict                   write out strict Uniforum conforming .po "
+#~ "file\n"
 #~ "  -T, --trigraphs                understand ANSI C trigraphs for input\n"
 #~ "  -V, --version                  output version information and exit\n"
 #~ "  -w, --width=NUMBER             set output page width\n"
@@ -1816,15 +2549,18 @@ msgstr "
 #~ msgstr ""
 #~ "  -n, --add-location             ×Ù×ÏÄÉÔØ ÓÔÒÏËÉ '#: filename:line' (ÐÏ\n"
 #~ "                                 ÕÍÏÌÞÁÎÉÀ)\n"
-#~ "      --omit-header              ÎÅ ×Ù×ÏÄÉÔØ ÚÁÇÏÌÏ×ÏË Ó ÐÏÌÅÍ `msgid \"\"'\n"
+#~ "      --omit-header              ÎÅ ×Ù×ÏÄÉÔØ ÚÁÇÏÌÏ×ÏË Ó ÐÏÌÅÍ `msgid "
+#~ "\"\"'\n"
 #~ "  -o, --output=æáêì              ÚÁÐÉÓÁÔØ ×Ù×ÏÄ × ÕËÁÚÁÎÎÙÊ ÆÁÊÌ\n"
-#~ "  -p, --output-dir=ëáôáìïç       ÐÏÍÅÓÔÉÔØ ×ÙÈÏÄÎÙÅ ÆÁÊÌÙ × ÕËÁÚÁÎÎÙÊ ËÁÔÁÌÏÇ\n"
+#~ "  -p, --output-dir=ëáôáìïç       ÐÏÍÅÓÔÉÔØ ×ÙÈÏÄÎÙÅ ÆÁÊÌÙ × ÕËÁÚÁÎÎÙÊ "
+#~ "ËÁÔÁÌÏÇ\n"
 #~ "  -s, --sort-output              ÓÏÒÔÉÒÏ×ÁÔØ ×Ù×ÏÄ É ÕÄÁÌÉÔØ ÐÏ×ÔÏÒÅÎÉÑ\n"
 #~ "      --strict                   ÚÁÐÉÓÁÔØ po-ÆÁÊÌ ÓÔÒÏÇÏ ÕÄÏ×ÌÅÔ×ÏÒÑÀÝÉÊ\n"
 #~ "                                 ÓÔÁÎÄÁÒÔÕ Uniforum\n"
 #~ "  -T, --trigraphs                ÐÒÉÎÉÍÁÔØ ÄÌÑ ××ÏÄÁ ÔÒÉÇÒÁÆÙ ANSI C\n"
 #~ "  -V, --version                  ÐÏËÁÚÁÔØ ÉÎÆÏÒÍÁÃÉÀ Ï ×ÅÒÓÉÉ É ×ÙÊÔÉ\n"
-#~ "  -w, --width=þéóìï              ÕÓÔÁÎÏ×ÉÔØ ÛÉÒÉÎÕ ÓÔÒÁÎÉÃÙ ×Ù×ÏÄÁ ÒÁ×ÎÏÊ þéóìõ\n"
+#~ "  -w, --width=þéóìï              ÕÓÔÁÎÏ×ÉÔØ ÛÉÒÉÎÕ ÓÔÒÁÎÉÃÙ ×Ù×ÏÄÁ ÒÁ×ÎÏÊ "
+#~ "þéóìõ\n"
 #~ "  -x, --exclude-file=æáêì        ÎÅ ÏÂÒÁÂÁÔÙ×ÁÔØ ÚÁÄÁÎÎÙÊ ÆÁÊÌ\n"
 #~ "\n"
 #~ "åÓÌÉ INPUTFILE ÚÁÄÁΠÒÁ×ÎÙÍ '-', ÔÏ ÞÉÔÁÅÔÓÑ ÓÔÁÎÄÁÒÔÎÙÊ ××ÏÄ.\n"
index f7cfc8d4ff8275a436f67dfd9141022ef7e57c61..0f074c13a5c1b870c8c12742b281b12359335851 100644 (file)
--- a/po/sk.po
+++ b/po/sk.po
@@ -6,7 +6,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: GNU gettext 0.10.40\n"
-"POT-Creation-Date: 2001-06-12 15:05+0200\n"
+"POT-Creation-Date: 2001-11-30 14:18+0100\n"
 "PO-Revision-Date: 2001-08-24 23:08+0200\n"
 "Last-Translator: Marcel Telka <marcel@telka.sk>\n"
 "Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
@@ -15,10 +15,57 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=3; plural= (n==1) ? 1 : (n>=2 && n<=4) ? 2 : 0;\n"
 
+#: lib/argmatch.c:141
+#, c-format
+msgid "invalid argument `%s' for `%s'"
+msgstr ""
+
+#: lib/argmatch.c:142
+#, c-format
+msgid "ambiguous argument `%s' for `%s'"
+msgstr ""
+
+#: lib/argmatch.c:162
+msgid "Valid arguments are:"
+msgstr ""
+
+#: lib/copy-file.c:60 src/file-list.c:57 src/po-lex.c:732 src/read-mo.c:170
+#: src/xgettext.c:729 src/xgettext.c:742 src/xgettext.c:752
+#, c-format
+msgid "error while opening \"%s\" for reading"
+msgstr "chyba pri otváraní súboru \"%s\" na èítanie"
+
+#: lib/copy-file.c:67
+#, fuzzy, c-format
+msgid "cannot open backup file \"%s\" for writing"
+msgstr "chyba pri otváraní súboru  \"%s\" na zápis"
+
+#: lib/copy-file.c:80
+#, fuzzy, c-format
+msgid "error reading \"%s\""
+msgstr "chyba pri èítaní súboru \"%s\""
+
+#: lib/copy-file.c:86 lib/copy-file.c:90
+#, fuzzy, c-format
+msgid "error writing \"%s\""
+msgstr "chyba poèas zápisu do súboru \"%s\""
+
+#: lib/copy-file.c:92
+#, fuzzy, c-format
+msgid "error after reading \"%s\""
+msgstr "chyba pri èítaní súboru \"%s\""
+
 #: lib/error.c:115
 msgid "Unknown system error"
 msgstr "Neznáma systémová chyba"
 
+#: lib/execute.c:170 lib/execute.c:205 lib/pipe-bidi.c:156 lib/pipe-bidi.c:191
+#: lib/pipe-in.c:167 lib/pipe-in.c:202 lib/pipe-out.c:167 lib/pipe-out.c:202
+#: lib/wait-process.c:136
+#, c-format
+msgid "%s subprocess failed"
+msgstr ""
+
 #: lib/getopt.c:691
 #, c-format
 msgid "%s: option `%s' is ambiguous\n"
@@ -39,19 +86,16 @@ msgstr "%s: vo
 msgid "%s: option `%s' requires an argument\n"
 msgstr "%s: voµba `%s' vy¾aduje parameter\n"
 
-#. --option
 #: lib/getopt.c:768
 #, c-format
 msgid "%s: unrecognized option `--%s'\n"
 msgstr "%s: neznáma voµba `--%s'\n"
 
-#. +option or -option
 #: lib/getopt.c:772
 #, c-format
 msgid "%s: unrecognized option `%c%s'\n"
 msgstr "%s: neznáma voµba `%c%s'\n"
 
-#. 1003.2 specifies the format of this message.
 #: lib/getopt.c:798
 #, c-format
 msgid "%s: illegal option -- %c\n"
@@ -62,7 +106,6 @@ msgstr "%s: nepr
 msgid "%s: invalid option -- %c\n"
 msgstr "%s: neplatná voµba -- %c\n"
 
-#. 1003.2 specifies the format of this message.
 #: lib/getopt.c:831 lib/getopt.c:961
 #, c-format
 msgid "%s: option requires an argument -- %c\n"
@@ -78,36 +121,114 @@ msgstr "%s: vo
 msgid "%s: option `-W %s' doesn't allow an argument\n"
 msgstr "%s: voµba `-W %s' nedovoµuje pou¾itie parametra\n"
 
-#: lib/obstack.c:474 lib/xerror.c:69 lib/xmalloc.c:86
+#: lib/javacomp.c:465
+msgid "Java compiler not found, try installing gcj or set $JAVAC"
+msgstr ""
+
+#: lib/javaexec.c:404
+msgid "Java virtual machine not found, try installing gij or set $JAVA"
+msgstr ""
+
+#: lib/obstack.c:474 lib/xerror.c:75 lib/xmalloc.c:56
 msgid "memory exhausted"
 msgstr "pamä» je vyèerpaná"
 
-#: lib/pipe-bidi.c:101 lib/pipe-bidi.c:103 lib/pipe-in.c:117
-#: lib/pipe-out.c:117
+#: lib/pipe-bidi.c:119 lib/pipe-bidi.c:121 lib/pipe-in.c:136
+#: lib/pipe-out.c:136
 #, fuzzy
 msgid "cannot create pipe"
 msgstr "nie je mo¾né vytvori» výstupný súbor \"%s\""
 
-#: lib/pipe-bidi.c:125 lib/pipe-bidi.c:142 lib/pipe-in.c:135 lib/pipe-in.c:155
-#: lib/pipe-out.c:135 lib/pipe-out.c:155
-#, c-format
-msgid "%s subprocess failed"
-msgstr ""
-
-#: lib/wait-process.c:109
+#: lib/wait-process.c:117
 #, c-format
 msgid "%s subprocess"
 msgstr ""
 
-#: lib/wait-process.c:117
+#: lib/wait-process.c:129
 #, c-format
 msgid "%s subprocess got fatal signal"
 msgstr ""
 
-#: src/gettext.c:144 src/msgcat.c:245 src/msgcmp.c:132 src/msgcomm.c:242
-#: src/msgconv.c:180 src/msgen.c:168 src/msgfmt.c:272 src/msggrep.c:276
-#: src/msgmerge.c:222 src/msgsed.c:242 src/msgunfmt.c:174 src/ngettext.c:124
-#: src/xgettext.c:386
+#: src/format-c.c:578 src/format-python.c:463
+#, fuzzy
+msgid "number of format specifications in 'msgid' and 'msgstr' does not match"
+msgstr "nezhoduje sa poèet formátovacích znaèiek v `msgid' a `msgstr'"
+
+#: src/format-c.c:588 src/format-python.c:473
+#, fuzzy, c-format
+msgid ""
+"format specifications in 'msgid' and 'msgstr' for argument %u are not the "
+"same"
+msgstr "formátovacie znaèky pre parameter %lu nie sú zhodné"
+
+#: src/format-java.c:652 src/format-pascal.c:396
+#, fuzzy, c-format
+msgid "a format specification for argument {%u} doesn't exist in 'msgid'"
+msgstr "formátovacie znaèky pre parameter %lu nie sú zhodné"
+
+#: src/format-java.c:662 src/format-pascal.c:406
+#, fuzzy, c-format
+msgid "a format specification for argument {%u} doesn't exist in 'msgstr'"
+msgstr "formátovacie znaèky pre parameter %lu nie sú zhodné"
+
+#: src/format-java.c:676 src/format-pascal.c:420
+#, fuzzy, c-format
+msgid ""
+"format specifications in 'msgid' and 'msgstr' for argument {%u} are not the "
+"same"
+msgstr "formátovacie znaèky pre parameter %lu nie sú zhodné"
+
+#: src/format-lisp.c:3371
+#, fuzzy
+msgid "format specifications in 'msgid' and 'msgstr' are not equivalent"
+msgstr "nezhoduje sa poèet formátovacích znaèiek v `msgid' a `msgstr'"
+
+#: src/format-python.c:391
+#, fuzzy
+msgid ""
+"format specifications in 'msgid' expect a mapping, those in 'msgstr' expect "
+"a tuple"
+msgstr "nezhoduje sa poèet formátovacích znaèiek v `msgid' a `msgstr'"
+
+#: src/format-python.c:399
+#, fuzzy
+msgid ""
+"format specifications in 'msgid' expect a tuple, those in 'msgstr' expect a "
+"mapping"
+msgstr "nezhoduje sa poèet formátovacích znaèiek v `msgid' a `msgstr'"
+
+#: src/format-python.c:422
+#, fuzzy, c-format
+msgid "a format specification for argument '%s' doesn't exist in 'msgid'"
+msgstr "formátovacie znaèky pre parameter %lu nie sú zhodné"
+
+#: src/format-python.c:432
+#, fuzzy, c-format
+msgid "a format specification for argument '%s' doesn't exist in 'msgstr'"
+msgstr "formátovacie znaèky pre parameter %lu nie sú zhodné"
+
+#: src/format-python.c:446
+#, fuzzy, c-format
+msgid ""
+"format specifications in 'msgid' and 'msgstr' for argument '%s' are not the "
+"same"
+msgstr "formátovacie znaèky pre parameter %lu nie sú zhodné"
+
+#: src/format-ycp.c:137
+#, fuzzy, c-format
+msgid "a format specification for argument %u doesn't exist in 'msgstr'"
+msgstr "formátovacie znaèky pre parameter %lu nie sú zhodné"
+
+#: src/format-ycp.c:138
+#, fuzzy, c-format
+msgid "a format specification for argument %u doesn't exist in 'msgid'"
+msgstr "formátovacie znaèky pre parameter %lu nie sú zhodné"
+
+#: src/gettext.c:146 src/hostname.c:168 src/msgattrib.c:264 src/msgcat.c:229
+#: src/msgcmp.c:134 src/msgcomm.c:232 src/msgconv.c:182 src/msgen.c:171
+#: src/msgexec.c:240 src/msgfmt.c:333 src/msggrep.c:276 src/msginit.c:247
+#: src/msgmerge.c:252 src/msgunfmt.c:182 src/msguniq.c:207 src/ngettext.c:126
+#: src/xgettext.c:352
 #, c-format, no-wrap
 msgid ""
 "Copyright (C) %s Free Software Foundation, Inc.\n"
@@ -119,43 +240,45 @@ msgstr ""
 "textoch. Neposkytujú sa ¾iadne záruky; ani v prípade predaja alebo pou¾itia\n"
 "na ¹peciálny úèel.\n"
 
-#: src/gettext.c:149 src/msgcat.c:250 src/msgcmp.c:137 src/msgcomm.c:247
-#: src/msgconv.c:185 src/msgen.c:173 src/msgfmt.c:277 src/msggrep.c:281
-#: src/msgmerge.c:227 src/msgsed.c:247 src/msgunfmt.c:179 src/ngettext.c:129
-#: src/xgettext.c:391
+#: src/gettext.c:151 src/hostname.c:173 src/msgattrib.c:269 src/msgcat.c:234
+#: src/msgcmp.c:139 src/msgcomm.c:237 src/msgconv.c:187 src/msgen.c:176
+#: src/msgexec.c:245 src/msgfmt.c:338 src/msggrep.c:281 src/msginit.c:252
+#: src/msgmerge.c:257 src/msgunfmt.c:187 src/msguniq.c:212 src/ngettext.c:131
+#: src/xgettext.c:357
 #, c-format
 msgid "Written by %s.\n"
 msgstr "Napísal %s.\n"
 
-#: src/gettext.c:167 src/ngettext.c:141
+#: src/gettext.c:169 src/hostname.c:183 src/msginit.c:262 src/ngettext.c:143
 msgid "too many arguments"
 msgstr "veµmi veµa parametrov"
 
-#: src/gettext.c:177 src/ngettext.c:153
+#: src/gettext.c:179 src/ngettext.c:155
 msgid "missing arguments"
 msgstr "chýbajúci parameter"
 
-#: src/gettext.c:249 src/msgcat.c:297 src/msgcmp.c:169 src/msgcomm.c:312
-#: src/msgconv.c:234 src/msgen.c:219 src/msgfmt.c:384 src/msggrep.c:366
-#: src/msgmerge.c:273 src/msgsed.c:313 src/msgunfmt.c:219 src/ngettext.c:208
-#: src/xgettext.c:513
+#: src/gettext.c:251 src/hostname.c:197 src/msgattrib.c:322 src/msgcat.c:290
+#: src/msgcmp.c:171 src/msgcomm.c:306 src/msgconv.c:241 src/msgen.c:227
+#: src/msgexec.c:338 src/msgfmt.c:479 src/msggrep.c:371 src/msginit.c:338
+#: src/msgmerge.c:367 src/msgunfmt.c:262 src/msguniq.c:269 src/ngettext.c:210
+#: src/xgettext.c:499
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "Skúste `%s --help' a dozviete sa viac informácií.\n"
 
-#: src/gettext.c:254
+#: src/gettext.c:256
 #, c-format, no-wrap
 msgid ""
 "Usage: %s [OPTION] [[TEXTDOMAIN] MSGID]\n"
 "or:    %s [OPTION] -s [MSGID]...\n"
 msgstr ""
 
-#: src/gettext.c:260
+#: src/gettext.c:262
 #, no-wrap
 msgid "Display native language translation of a textual message.\n"
 msgstr ""
 
-#: src/gettext.c:264
+#: src/gettext.c:266
 #, fuzzy, no-wrap
 msgid ""
 "  -d, --domain=TEXTDOMAIN   retrieve translated messages from TEXTDOMAIN\n"
@@ -178,7 +301,7 @@ msgstr ""
 "  [DOMÉNA] ID_SPRÁVY        vybra» prelo¾enú správu zodpovedajúcu ID_SPRÁVY\n"
 "                            z DOMÉNY\n"
 
-#: src/gettext.c:275
+#: src/gettext.c:277
 #, fuzzy, c-format, no-wrap
 msgid ""
 "If the TEXTDOMAIN parameter is not given, the domain is determined from the\n"
@@ -199,31 +322,174 @@ msgstr ""
 "ktoré sa nachádzajú vo vybranom katalógu správ budú prelo¾ené.\n"
 "©tandardný adresár, v ktorom sa budú hµada» katalógy: %s\n"
 
-#: src/gettext.c:285 src/msgcat.c:378 src/msgcmp.c:214 src/msgcomm.c:390
-#: src/msgconv.c:298 src/msgen.c:279 src/msgfmt.c:443 src/msggrep.c:445
-#: src/msgmerge.c:348 src/msgsed.c:379 src/msgunfmt.c:272 src/ngettext.c:241
-#: src/xgettext.c:604
-msgid "Report bugs to <bug-gnu-utils@gnu.org>.\n"
+#: src/gettext.c:288 src/hostname.c:227 src/msgattrib.c:402 src/msgcat.c:371
+#: src/msgcmp.c:216 src/msgcomm.c:384 src/msgconv.c:305 src/msgen.c:287
+#: src/msgexec.c:410 src/msgfmt.c:563 src/msggrep.c:457 src/msginit.c:389
+#: src/msgmerge.c:465 src/msgunfmt.c:331 src/msguniq.c:343 src/ngettext.c:244
+#: src/xgettext.c:591
+#, fuzzy
+msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
 msgstr "Chyby oznámte na <bug-gnu-utils@gnu.org>.\n"
 
-#: src/msgcat.c:233 src/msgcat.c:237 src/msgcomm.c:230 src/msgcomm.c:234
-#: src/msgconv.c:205 src/msgen.c:194 src/msggrep.c:301 src/msgmerge.c:248
-#: src/msgsed.c:270 src/xgettext.c:363 src/xgettext.c:367
+#: src/hostname.c:202 src/msginit.c:343
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION]\n"
+msgstr ""
+
+#: src/hostname.c:207
+#, no-wrap
+msgid "Print the machine's hostname.\n"
+msgstr ""
+
+#: src/hostname.c:212
+#, no-wrap
+msgid ""
+"Output format:\n"
+"  -s, --short           short host name\n"
+"  -f, --fqdn, --long    long host name, includes fully qualified domain name,\n"
+"                          and aliases\n"
+"  -i, --ip-address      addresses for the hostname\n"
+msgstr ""
+
+#: src/hostname.c:221 src/msgattrib.c:396 src/msgcmp.c:210 src/msgconv.c:299
+#: src/msgen.c:281 src/msgexec.c:404 src/msggrep.c:451 src/msginit.c:383
+#, no-wrap
+msgid ""
+"Informative output:\n"
+"  -h, --help                  display this help and exit\n"
+"  -V, --version               output version information and exit\n"
+msgstr ""
+
+#: src/hostname.c:242 src/hostname.c:249
+msgid "could not get host name"
+msgstr ""
+
+#: src/msgattrib.c:284 src/msgconv.c:202 src/msgexec.c:190 src/msggrep.c:296
+#: src/msginit.c:205 src/msguniq.c:227
+msgid "at most one input file allowed"
+msgstr ""
+
+#: src/msgattrib.c:290 src/msgattrib.c:294 src/msgcat.c:244 src/msgcat.c:248
+#: src/msgcomm.c:247 src/msgcomm.c:251 src/msgconv.c:208 src/msgconv.c:212
+#: src/msgen.c:198 src/msgen.c:202 src/msgexec.c:260 src/msgexec.c:264
+#: src/msgfmt.c:358 src/msggrep.c:302 src/msggrep.c:306 src/msgmerge.c:282
+#: src/msgmerge.c:303 src/msgmerge.c:307 src/msguniq.c:233 src/msguniq.c:237
+#: src/xgettext.c:367 src/xgettext.c:371
 #, c-format
 msgid "%s and %s are mutually exclusive"
 msgstr "%s a %s sa navzájom vyluèujú"
 
-#: src/msgcat.c:270 src/msgcomm.c:278
+#: src/msgattrib.c:327 src/msgconv.c:246 src/msggrep.c:376 src/msguniq.c:274
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] [INPUTFILE]\n"
+msgstr ""
+
+#: src/msgattrib.c:332
+#, no-wrap
+msgid ""
+"Filters the messages of a translation catalog according to their attributes,\n"
+"and manipulates the attributes.\n"
+msgstr ""
+
+#: src/msgattrib.c:338 src/msgcat.c:313 src/msgcmp.c:191 src/msgcomm.c:328
+#: src/msgconv.c:256 src/msgen.c:245 src/msgexec.c:353 src/msgfmt.c:494
+#: src/msggrep.c:387 src/msginit.c:354 src/msgmerge.c:390 src/msgunfmt.c:277
+#: src/msguniq.c:291
+#, no-wrap
+msgid "Mandatory arguments to long options are mandatory for short options too.\n"
+msgstr ""
+
+#: src/msgattrib.c:343 src/msgconv.c:261 src/msggrep.c:392 src/msguniq.c:296
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  INPUTFILE                   input PO file\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"If no input file is given or if it is -, standard input is read.\n"
+msgstr ""
+
+#: src/msgattrib.c:351 src/msgconv.c:269 src/msgen.c:258 src/msgexec.c:366
+#: src/msggrep.c:400 src/msgmerge.c:412
+#, no-wrap
+msgid ""
+"Output file location:\n"
+"  -o, --output-file=FILE      write output to specified file\n"
+"The results are written to standard output if no output file is specified\n"
+"or if it is -.\n"
+msgstr ""
+
+#: src/msgattrib.c:359
+#, no-wrap
+msgid ""
+"Message selection:\n"
+"      --translated            keep translated, remove untranslated messages\n"
+"      --untranslated          keep untranslated, remove translated messages\n"
+"      --no-fuzzy              remove 'fuzzy' marked messages\n"
+"      --only-fuzzy            keep 'fuzzy' marked messages\n"
+"      --no-obsolete           remove obsolete #~ messages\n"
+"      --only-obsolete         keep obsolete #~ messages\n"
+msgstr ""
+
+#: src/msgattrib.c:370
+#, no-wrap
+msgid ""
+"Attribute manipulation:\n"
+"      --set-fuzzy             set all messages 'fuzzy'\n"
+"      --clear-fuzzy           set all messages non-'fuzzy'\n"
+"      --set-obsolete          set all messages obsolete\n"
+"      --clear-obsolete        set all messages non-obsolete\n"
+"      --fuzzy                 synonym for --only-fuzzy --clear-fuzzy\n"
+"      --obsolete              synonym for --only-obsolete --clear-obsolete\n"
+msgstr ""
+
+#: src/msgattrib.c:381
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
+"  -e, --no-escape             do not use C escapes in output (default)\n"
+"  -E, --escape                use C escapes in output, no extended chars\n"
+"      --force-po              write PO file even if empty\n"
+"  -i, --indent                write the .po file using indented style\n"
+"      --no-location           do not write '#: filename:line' lines\n"
+"  -n, --add-location          generate '#: filename:line' lines (default)\n"
+"      --strict                write out strict Uniforum conforming .po file\n"
+"  -w, --width=NUMBER          set output page width\n"
+"  -s, --sort-output           generate sorted output\n"
+"  -F, --sort-by-file          sort output by file location\n"
+msgstr ""
+"Pou¾itie: %s [VO¥BY] def.po ref.po\n"
+"Povinné parametre pre dlh¹ie voµby sú povinné aj pre skrátené voµby.\n"
+"  -C, --compendium=SÚBOR      prídavna kni¾nica prekladov správ, mô¾e by»\n"
+"                              zadaná viac ako raz\n"
+"  -D, --directory=ADRESÁR     pripoji» ADRESÁR do zoznamu adresárov, v ktorých\n"
+"                              sa budú hµada» vstupné súbory\n"
+"  -e, --no-escape             nepou¾i» na výstupe riadiace sekvencie\n"
+"                              jazyka C (predvolené)\n"
+"  -E, --escape                pou¾i» na výstupe riadiace sekvencie jazyka C,\n"
+"                              namiesto roz¹írených znakov\n"
+"      --force-po              zapísa» súbor PO, aj keï bude prázdny\n"
+"  -h, --help                  zobrazi» túto nápovedu a skonèi»\n"
+"  -i, --indent                vytvori» .po s pou¾itím odsadzovania\n"
+"  -o, --output-file=SÚBOR     výstupný súbor bude ma» názov SÚBOR\n"
+"      --no-location           nezapisova» riadky '#: meno_súboru:riadok'\n"
+"      --add-location          generova» riadky '#: meno_súboru:riadok'\n"
+"                              (predvolené)\n"
+"      --strict                aktivova» presné dor¾iavanie módu Uniforum\n"
+"  -v, --verbose               zvý¹i» stupeò ukecanosti\n"
+"  -V, --version               zobrazi» informácie o verzii a skonèi»\n"
+"  -w, --width=©ÍRKA           nastavi» ¹írku výstupnej stránky\n"
+
+#: src/msgcat.c:254 src/msgcomm.c:277
 #, c-format
 msgid "impossible selection criteria specified (%d < n < %d)"
 msgstr "je uvedené nepovolené kritérium výberu (%d < n < %d)"
 
-#: src/msgcat.c:302 src/msgcomm.c:317 src/xgettext.c:518
+#: src/msgcat.c:295 src/msgcomm.c:311 src/xgettext.c:504
 #, c-format, no-wrap
 msgid "Usage: %s [OPTION] [INPUTFILE]...\n"
 msgstr ""
 
-#: src/msgcat.c:307
+#: src/msgcat.c:300
 #, fuzzy, no-wrap
 msgid ""
 "Concatenates and merges the specified PO files.\n"
@@ -252,14 +518,7 @@ msgstr ""
 "komentáre budú zachované iba z prvého PO súboru, v ktorom sú definované.\n"
 "Pozície v zdrojovom súbore budú zachované zo v¹etkých PO súborov.\n"
 
-#: src/msgcat.c:320 src/msgcmp.c:189 src/msgcomm.c:334 src/msgconv.c:249
-#: src/msgen.c:237 src/msgfmt.c:399 src/msggrep.c:382 src/msgmerge.c:296
-#: src/msgsed.c:328 src/msgunfmt.c:234
-#, no-wrap
-msgid "Mandatory arguments to long options are mandatory for short options too.\n"
-msgstr ""
-
-#: src/msgcat.c:325 src/msgcomm.c:339 src/xgettext.c:534
+#: src/msgcat.c:318 src/msgcomm.c:333 src/xgettext.c:520
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -269,7 +528,7 @@ msgid ""
 "If input file is -, standard input is read.\n"
 msgstr ""
 
-#: src/msgcat.c:334 src/msgcomm.c:348
+#: src/msgcat.c:327 src/msgcomm.c:342 src/msguniq.c:304
 #, no-wrap
 msgid ""
 "Output file location:\n"
@@ -278,7 +537,7 @@ msgid ""
 "or if it is -.\n"
 msgstr ""
 
-#: src/msgcat.c:342 src/msgcomm.c:356
+#: src/msgcat.c:335
 #, fuzzy, no-wrap
 msgid ""
 "Message selection:\n"
@@ -286,7 +545,7 @@ msgid ""
 "                                 definitions, defaults to infinite if not\n"
 "                                 set\n"
 "  ->, --more-than=NUMBER         print messages with more than this many\n"
-"                                 definitions, defaults to 1 if not set\n"
+"                                 definitions, defaults to 0 if not set\n"
 "  -u, --unique                   shorthand for --less-than=2, requests\n"
 "                                 that only unique messages be printed\n"
 msgstr ""
@@ -306,7 +565,7 @@ msgstr ""
 "komentáre budú zachované iba z prvého PO súboru, v ktorom sú definované.\n"
 "Pozície v zdrojovom súbore budú zachované zo v¹etkých PO súborov.\n"
 
-#: src/msgcat.c:354
+#: src/msgcat.c:347 src/msguniq.c:319
 #, fuzzy, no-wrap
 msgid ""
 "Output details:\n"
@@ -321,7 +580,7 @@ msgid ""
 "  -n, --add-location             generate '#: filename:line' lines (default)\n"
 "      --strict                   write out strict Uniforum conforming .po file\n"
 "  -w, --width=NUMBER             set output page width\n"
-"  -s, --sort-output              generate sorted output and remove duplicates\n"
+"  -s, --sort-output              generate sorted output\n"
 "  -F, --sort-by-file             sort output by file location\n"
 msgstr ""
 "Pou¾itie: %s [VO¥BY] def.po ref.po\n"
@@ -346,7 +605,7 @@ msgstr ""
 "  -V, --version               zobrazi» informácie o verzii a skonèi»\n"
 "  -w, --width=©ÍRKA           nastavi» ¹írku výstupnej stránky\n"
 
-#: src/msgcat.c:372 src/msgcomm.c:384 src/xgettext.c:598
+#: src/msgcat.c:365 src/msgcomm.c:378 src/msguniq.c:337 src/xgettext.c:585
 #, no-wrap
 msgid ""
 "Informative output:\n"
@@ -354,75 +613,20 @@ msgid ""
 "  -V, --version                  output version information and exit\n"
 msgstr ""
 
-#: src/msgcat.c:403 src/msgcomm.c:415 src/msgunfmt.c:394 src/po-lex.c:85
-#: src/xget-lex.c:159 src/xget-lex.c:172 src/xget-lex.c:182 src/xgettext.c:629
-#, c-format
-msgid "error while opening \"%s\" for reading"
-msgstr "chyba pri otváraní súboru \"%s\" na èítanie"
-
-#: src/msgcat.c:544 src/msgl-charset.c:82 src/msgl-iconv.c:292
-#, c-format
-msgid "present charset \"%s\" is not a portable encoding name"
-msgstr ""
-
-#: src/msgcat.c:552 src/msgl-iconv.c:300
-#, c-format
-msgid "two different charsets \"%s\" and \"%s\" in input file"
-msgstr ""
-
-#: src/msgcat.c:561
-#, c-format
-msgid ""
-"input file `%s' doesn't contain a header entry with a charset specification"
-msgstr ""
-
-#: src/msgcat.c:565
-#, c-format
-msgid ""
-"domain \"%s\" in input file `%s' doesn't contain a header entry with a "
-"charset specification"
-msgstr ""
-
-#: src/msgcat.c:719 src/msgl-iconv.c:370
-#, c-format
-msgid "target charset \"%s\" is not a portable encoding name."
-msgstr ""
-
-#: src/msgcat.c:752 src/msgcat.c:758 src/msgl-charset.c:87
-#: src/msgl-charset.c:122
-#, fuzzy
-msgid "warning: "
-msgstr "%s: upozornenie: "
-
-#: src/msgcat.c:753
-msgid ""
-"Input files contain messages in different encodings, UTF-8 among others.\n"
-"Converting the output to UTF-8.\n"
-msgstr ""
-
-#: src/msgcat.c:759
-#, c-format
-msgid ""
-"Input files contain messages in different encodings, %s and %s among "
-"others.\n"
-"Converting the output to UTF-8.\n"
-"To select a different output encoding, use the --to-code option.\n"
-msgstr ""
-
-#: src/msgcmp.c:148 src/msgmerge.c:238
+#: src/msgcmp.c:150 src/msgmerge.c:268
 msgid "no input files given"
 msgstr "neboli zadané vstupné súbory"
 
-#: src/msgcmp.c:153 src/msgmerge.c:243
+#: src/msgcmp.c:155 src/msgmerge.c:273
 msgid "exactly 2 input files required"
 msgstr "potrebné sú presne 2 vstupné súbory"
 
-#: src/msgcmp.c:174 src/msgmerge.c:278
+#: src/msgcmp.c:176 src/msgmerge.c:372
 #, c-format, no-wrap
 msgid "Usage: %s [OPTION] def.po ref.pot\n"
 msgstr ""
 
-#: src/msgcmp.c:179
+#: src/msgcmp.c:181
 #, fuzzy, no-wrap
 msgid ""
 "Compare two Uniforum style .po files to check that both contain the same\n"
@@ -446,7 +650,7 @@ msgstr ""
 "z programu. Keï nie je mo¾né nájs» presnú zhodu, je pou¾itý fuzzy algoritmus,\n"
 "ktorý umo¾òuje lep¹iu kontrolu zhody.\n"
 
-#: src/msgcmp.c:194
+#: src/msgcmp.c:196
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -455,40 +659,31 @@ msgid ""
 "  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
 msgstr ""
 
-#: src/msgcmp.c:202 src/msgmerge.c:319
+#: src/msgcmp.c:204 src/msgmerge.c:436
 #, no-wrap
 msgid ""
 "Operation modifiers:\n"
 "  -m, --multi-domain          apply ref.pot to each of the domains in def.po\n"
 msgstr ""
 
-#: src/msgcmp.c:208 src/msgconv.c:292 src/msgen.c:273 src/msggrep.c:439
-#: src/msgsed.c:373
-#, no-wrap
-msgid ""
-"Informative output:\n"
-"  -h, --help                  display this help and exit\n"
-"  -V, --version               output version information and exit\n"
-msgstr ""
-
-#: src/msgcmp.c:251 src/msgmerge.c:426
+#: src/msgcmp.c:253 src/msgmerge.c:543
 msgid "this message is used but not defined..."
 msgstr "táto správa je pou¾itá, ale nie je definovaná..."
 
-#: src/msgcmp.c:253 src/msgmerge.c:428
+#: src/msgcmp.c:255 src/msgmerge.c:545
 msgid "...but this definition is similar"
 msgstr "...ale táto definícia je podobná"
 
-#: src/msgcmp.c:258 src/msgmerge.c:455
+#: src/msgcmp.c:260 src/msgmerge.c:572
 #, c-format
 msgid "this message is used but not defined in %s"
 msgstr "táto správa je pou¾itá, ale nie je definovaná v %s"
 
-#: src/msgcmp.c:330
+#: src/msgcmp.c:332
 msgid "warning: this message is not used"
 msgstr "upozornenie: táto správa nie je pou¾itá"
 
-#: src/msgcmp.c:337 src/po-lex.c:99
+#: src/msgcmp.c:339 src/po-lex.c:705
 #, c-format
 msgid "found %d fatal error"
 msgid_plural "found %d fatal errors"
@@ -496,19 +691,19 @@ msgstr[0] "n
 msgstr[1] "nájdená %d záva¾ná chyba"
 msgstr[2] "nájdené %d záva¾né chyby"
 
-#: src/msgcmp.c:418 src/msgfmt.c:703 src/read-po.c:184 src/xgettext.c:1147
+#: src/msgcmp.c:420 src/msgfmt.c:1323 src/read-po.c:202 src/x-po.c:163
 msgid "duplicate message definition"
 msgstr "duplicitná definícia správy"
 
-#: src/msgcmp.c:419 src/msgfmt.c:705 src/read-po.c:185 src/xgettext.c:1148
+#: src/msgcmp.c:421 src/msgfmt.c:1324 src/read-po.c:203 src/x-po.c:164
 msgid "...this is the location of the first definition"
 msgstr "...toto je miesto prvého definovania"
 
-#: src/msgcomm.c:267
+#: src/msgcomm.c:266
 msgid "at least two files must be specified"
 msgstr "musia by» uvedené minimálne dva súbory"
 
-#: src/msgcomm.c:322
+#: src/msgcomm.c:316
 #, fuzzy, no-wrap
 msgid ""
 "Find messages which are common to two or more of the specified PO files.\n"
@@ -536,7 +731,35 @@ msgstr ""
 "komentáre budú zachované iba z prvého PO súboru, v ktorom sú definované.\n"
 "Pozície v zdrojovom súbore budú zachované zo v¹etkých PO súborov.\n"
 
-#: src/msgcomm.c:368
+#: src/msgcomm.c:350
+#, fuzzy, no-wrap
+msgid ""
+"Message selection:\n"
+"  -<, --less-than=NUMBER         print messages with less than this many\n"
+"                                 definitions, defaults to infinite if not\n"
+"                                 set\n"
+"  ->, --more-than=NUMBER         print messages with more than this many\n"
+"                                 definitions, defaults to 1 if not set\n"
+"  -u, --unique                   shorthand for --less-than=2, requests\n"
+"                                 that only unique messages be printed\n"
+msgstr ""
+"  -V, --version                  zobrazi» informácie o verzii a skonèi»\n"
+"  -w, --width=©ÍRKA              nastavi» ¹írku výstupnej stránky\n"
+"  -<, --less-than=POÈET          vypísa» správy, ktoré sú definované menej\n"
+"                                 ako POÈET-krát, ¹tandardne nastavené na\n"
+"                                 nekoneèno\n"
+"  ->, --more-than=POÈET          vypísa» správy, ktoré sú defineované viac\n"
+"                                 ako POÈET-krát, ¹tandardne nastavené na 1\n"
+"\n"
+"Nájde správy, ktoré sú spoloèné pre dva alebo viac zadaných PO súborov.\n"
+"S pou¾itím voµby --more-than, bude dosiahnutá väè¹ia jednoznaènos» pred\n"
+"výpisom správ. Naopak voµba --less-than mô¾e by» pou¾itá na dosiahnutie\n"
+"men¹ej jednoznaènosti pred výpisom správ (t.j. pri zadaní --less-than=2,\n"
+"budú vypísané iba jedineèné správy). Preklady, komentáre a extrahované\n"
+"komentáre budú zachované iba z prvého PO súboru, v ktorom sú definované.\n"
+"Pozície v zdrojovom súbore budú zachované zo v¹etkých PO súborov.\n"
+
+#: src/msgcomm.c:362
 #, fuzzy, no-wrap
 msgid ""
 "Output details:\n"
@@ -548,7 +771,7 @@ msgid ""
 "  -n, --add-location             generate '#: filename:line' lines (default)\n"
 "      --strict                   write out strict Uniforum conforming .po file\n"
 "  -w, --width=NUMBER             set output page width\n"
-"  -s, --sort-output              generate sorted output and remove duplicates\n"
+"  -s, --sort-output              generate sorted output\n"
 "  -F, --sort-by-file             sort output by file location\n"
 "      --omit-header              don't write header with `msgid \"\"' entry\n"
 msgstr ""
@@ -574,44 +797,12 @@ msgstr ""
 "  -V, --version               zobrazi» informácie o verzii a skonèi»\n"
 "  -w, --width=©ÍRKA           nastavi» ¹írku výstupnej stránky\n"
 
-#: src/msgcomm.c:510 src/xgettext.c:676 src/xgettext.c:1093
-msgid "this file may not contain domain directives"
-msgstr "tento súbor nesmie obsahova» direktívy pre doménu"
-
-#: src/msgconv.c:200 src/msggrep.c:296 src/msgsed.c:262
-msgid "at most one input file allowed"
-msgstr ""
-
-#: src/msgconv.c:239 src/msggrep.c:371 src/msgsed.c:318
-#, c-format, no-wrap
-msgid "Usage: %s [OPTION] [INPUTFILE]\n"
-msgstr ""
-
-#: src/msgconv.c:244
+#: src/msgconv.c:251
 #, no-wrap
 msgid "Converts a translation catalog to a different character encoding.\n"
 msgstr ""
 
-#: src/msgconv.c:254 src/msggrep.c:387 src/msgsed.c:333
-#, no-wrap
-msgid ""
-"Input file location:\n"
-"  INPUTFILE                   input PO file\n"
-"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
-"If no input file is given or if it is -, standard input is read.\n"
-msgstr ""
-
-#: src/msgconv.c:262 src/msgen.c:250 src/msggrep.c:395 src/msgmerge.c:311
-#: src/msgsed.c:341
-#, no-wrap
-msgid ""
-"Output file location:\n"
-"  -o, --output-file=FILE      write output to specified file\n"
-"The results are written to standard output if no output file is specified\n"
-"or if it is -.\n"
-msgstr ""
-
-#: src/msgconv.c:270
+#: src/msgconv.c:277
 #, no-wrap
 msgid ""
 "Conversion target:\n"
@@ -619,7 +810,7 @@ msgid ""
 "The default encoding is the current locale's encoding.\n"
 msgstr ""
 
-#: src/msgconv.c:277 src/msgen.c:258 src/msgmerge.c:325
+#: src/msgconv.c:284 src/msgen.c:266 src/msgmerge.c:442
 #, fuzzy, no-wrap
 msgid ""
 "Output details:\n"
@@ -631,7 +822,7 @@ msgid ""
 "      --add-location          preserve '#: filename:line' lines (default)\n"
 "      --strict                strict Uniforum output style\n"
 "  -w, --width=NUMBER          set output page width\n"
-"  -s, --sort-output           generate sorted output and remove duplicates\n"
+"  -s, --sort-output           generate sorted output\n"
 "  -F, --sort-by-file          sort output by file location\n"
 msgstr ""
 "Pou¾itie: %s [VO¥BY] def.po ref.po\n"
@@ -656,21 +847,21 @@ msgstr ""
 "  -V, --version               zobrazi» informácie o verzii a skonèi»\n"
 "  -w, --width=©ÍRKA           nastavi» ¹írku výstupnej stránky\n"
 
-#: src/msgen.c:184 src/msgfmt.c:288 src/xgettext.c:402
+#: src/msgen.c:187 src/msgfmt.c:349 src/xgettext.c:388
 msgid "no input file given"
 msgstr "nie sú zadané vstupné súbory"
 
-#: src/msgen.c:189
+#: src/msgen.c:192
 #, fuzzy
 msgid "exactly one input file required"
 msgstr "potrebné sú presne 2 vstupné súbory"
 
-#: src/msgen.c:224
+#: src/msgen.c:232
 #, c-format, no-wrap
 msgid "Usage: %s [OPTION] INPUTFILE\n"
 msgstr ""
 
-#: src/msgen.c:229
+#: src/msgen.c:237
 #, no-wrap
 msgid ""
 "Creates an English translation catalog.  The input file is the last\n"
@@ -679,7 +870,7 @@ msgid ""
 "identical to the msgid, and are marked fuzzy.\n"
 msgstr ""
 
-#: src/msgen.c:242
+#: src/msgen.c:250
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -688,12 +879,131 @@ msgid ""
 "If input file is -, standard input is read.\n"
 msgstr ""
 
-#: src/msgfmt.c:339
+#: src/msgexec.c:255
+#, fuzzy
+msgid "missing filter name"
+msgstr "chýbajúci parameter"
+
+#: src/msgexec.c:279
+#, fuzzy
+msgid "at least one sed script must be specified"
+msgstr "musia by» uvedené minimálne dva súbory"
+
+#: src/msgexec.c:343
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] FILTER [FILTER-OPTION]\n"
+msgstr ""
+
+#: src/msgexec.c:348
+#, no-wrap
+msgid "Applies a filter to all translations of a translation catalog.\n"
+msgstr ""
+
+#: src/msgexec.c:358
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  -i, --input=INPUTFILE       input PO file\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"If no input file is given or if it is -, standard input is read.\n"
+msgstr ""
+
+#: src/msgexec.c:374
+#, no-wrap
+msgid ""
+"The FILTER can be any program that reads a translation from standard input\n"
+"and writes a modified translation to standard output.\n"
+msgstr ""
+
+#: src/msgexec.c:380
+#, no-wrap
+msgid ""
+"Useful FILTER-OPTIONs when the FILTER is 'sed':\n"
+"  -e, --expression=SCRIPT     add SCRIPT to the commands to be executed\n"
+"  -f, --file=SCRIPTFILE       add the contents of SCRIPTFILE to the commands\n"
+"                                to be executed\n"
+"  -n, --quiet, --silent       suppress automatic printing of pattern space\n"
+msgstr ""
+
+#: src/msgexec.c:389
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
+"      --no-escape             do not use C escapes in output (default)\n"
+"  -E, --escape                use C escapes in output, no extended chars\n"
+"      --force-po              write PO file even if empty\n"
+"      --indent                indented output style\n"
+"      --no-location           suppress '#: filename:line' lines\n"
+"      --add-location          preserve '#: filename:line' lines (default)\n"
+"      --strict                strict Uniforum output style\n"
+"  -w, --width=NUMBER          set output page width\n"
+"  -s, --sort-output           generate sorted output\n"
+"  -F, --sort-by-file          sort output by file location\n"
+msgstr ""
+"Pou¾itie: %s [VO¥BY] def.po ref.po\n"
+"Povinné parametre pre dlh¹ie voµby sú povinné aj pre skrátené voµby.\n"
+"  -C, --compendium=SÚBOR      prídavna kni¾nica prekladov správ, mô¾e by»\n"
+"                              zadaná viac ako raz\n"
+"  -D, --directory=ADRESÁR     pripoji» ADRESÁR do zoznamu adresárov, v ktorých\n"
+"                              sa budú hµada» vstupné súbory\n"
+"  -e, --no-escape             nepou¾i» na výstupe riadiace sekvencie\n"
+"                              jazyka C (predvolené)\n"
+"  -E, --escape                pou¾i» na výstupe riadiace sekvencie jazyka C,\n"
+"                              namiesto roz¹írených znakov\n"
+"      --force-po              zapísa» súbor PO, aj keï bude prázdny\n"
+"  -h, --help                  zobrazi» túto nápovedu a skonèi»\n"
+"  -i, --indent                vytvori» .po s pou¾itím odsadzovania\n"
+"  -o, --output-file=SÚBOR     výstupný súbor bude ma» názov SÚBOR\n"
+"      --no-location           nezapisova» riadky '#: meno_súboru:riadok'\n"
+"      --add-location          generova» riadky '#: meno_súboru:riadok'\n"
+"                              (predvolené)\n"
+"      --strict                aktivova» presné dor¾iavanie módu Uniforum\n"
+"  -v, --verbose               zvý¹i» stupeò ukecanosti\n"
+"  -V, --version               zobrazi» informácie o verzii a skonèi»\n"
+"  -w, --width=©ÍRKA           nastavi» ¹írku výstupnej stránky\n"
+
+#: src/msgexec.c:546
 #, c-format
-msgid "error while opening \"%s\" for writing"
-msgstr "chyba pri otváraní súboru  \"%s\" na zápis"
+msgid "cannot set up nonblocking I/O to %s subprocess"
+msgstr ""
+
+#: src/msgexec.c:574
+#, c-format
+msgid "communication with %s subprocess failed"
+msgstr ""
 
-#: src/msgfmt.c:357
+#: src/msgexec.c:594
+#, c-format
+msgid "write to %s subprocess failed"
+msgstr ""
+
+#: src/msgexec.c:625
+#, c-format
+msgid "read from %s subprocess failed"
+msgstr ""
+
+#: src/msgexec.c:641
+#, c-format
+msgid "%s subprocess terminated with exit code %d"
+msgstr ""
+
+#: src/msgfmt.c:303
+#, c-format
+msgid "the argument to %s should be a single punctuation character"
+msgstr ""
+
+#: src/msgfmt.c:364
+#, c-format
+msgid "%s requires a \"-d directory\" specification"
+msgstr ""
+
+#: src/msgfmt.c:373 src/msgfmt.c:379 src/msgfmt.c:385 src/msgmerge.c:290
+#: src/msgmerge.c:296 src/msgunfmt.c:209 src/msgunfmt.c:215
+#, c-format
+msgid "%s is only valid with %s"
+msgstr ""
+
+#: src/msgfmt.c:452
 #, c-format
 msgid "%d translated message"
 msgid_plural "%d translated messages"
@@ -701,7 +1011,7 @@ msgstr[0] "%d prelo
 msgstr[1] "%d prelo¾ená správa"
 msgstr[2] "%d prelo¾ené správy"
 
-#: src/msgfmt.c:362
+#: src/msgfmt.c:457
 #, c-format
 msgid ", %d fuzzy translation"
 msgid_plural ", %d fuzzy translations"
@@ -709,7 +1019,7 @@ msgstr[0] ", %d nepresn
 msgstr[1] ", %d nepresný preklad"
 msgstr[2] ", %d nepresné preklady"
 
-#: src/msgfmt.c:367
+#: src/msgfmt.c:462
 #, c-format
 msgid ", %d untranslated message"
 msgid_plural ", %d untranslated messages"
@@ -717,17 +1027,17 @@ msgstr[0] ", %d neprelo
 msgstr[1] ", %d neprelo¾ená správa"
 msgstr[2] ", %d neprelo¾ené správy"
 
-#: src/msgfmt.c:389
+#: src/msgfmt.c:484
 #, c-format, no-wrap
 msgid "Usage: %s [OPTION] filename.po ...\n"
 msgstr ""
 
-#: src/msgfmt.c:394
+#: src/msgfmt.c:489
 #, no-wrap
 msgid "Generate binary message catalog from textual translation description.\n"
 msgstr ""
 
-#: src/msgfmt.c:404
+#: src/msgfmt.c:499
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -736,7 +1046,15 @@ msgid ""
 "If input file is -, standard input is read.\n"
 msgstr ""
 
-#: src/msgfmt.c:412
+#: src/msgfmt.c:507
+#, no-wrap
+msgid ""
+"Operation mode:\n"
+"  -j, --java                  Java mode: generate a Java ResourceBundle class\n"
+"      --java2                 like --java, and assume Java2 (JDK 1.2 or higher)\n"
+msgstr ""
+
+#: src/msgfmt.c:514
 #, no-wrap
 msgid ""
 "Output file location:\n"
@@ -745,15 +1063,35 @@ msgid ""
 "If output file is -, output is written to standard output.\n"
 msgstr ""
 
-#: src/msgfmt.c:420
+#: src/msgfmt.c:522
+#, no-wrap
+msgid ""
+"Output file location in Java mode:\n"
+"  -r, --resource=RESOURCE     resource name\n"
+"  -l, --locale=LOCALE         locale name, either language or language_COUNTRY\n"
+"  -d DIRECTORY                base directory of classes directory hierarchy\n"
+"The class name is determined by appending the locale name to the resource name,\n"
+"separated with an underscore.  The -d option is mandatory.  The class is\n"
+"written under the specified directory.\n"
+msgstr ""
+
+#: src/msgfmt.c:533
 #, no-wrap
 msgid ""
 "Input file interpretation:\n"
-"  -c, --check                 perform language dependent checks on strings\n"
+"  -c, --check                 perform all the checks implied by\n"
+"                                --check-format, --check-header, --check-domain\n"
+"      --check-format          check language dependent format strings\n"
+"      --check-header          verify presence and contents of the header entry\n"
+"      --check-domain          check for conflicts between domain directives\n"
+"                                and the --output-file option\n"
+"  -C, --check-compatibility   check that GNU msgfmt behaves like X/Open msgfmt\n"
+"      --check-accelerators[=CHAR]  check presence of keyboard accelerators for\n"
+"                                menu items\n"
 "  -f, --use-fuzzy             use fuzzy entries in output\n"
 msgstr ""
 
-#: src/msgfmt.c:427
+#: src/msgfmt.c:548
 #, c-format, no-wrap
 msgid ""
 "Output details:\n"
@@ -761,84 +1099,80 @@ msgid ""
 "      --no-hash               binary file will not include the hash table\n"
 msgstr ""
 
-#: src/msgfmt.c:434
+#: src/msgfmt.c:555
 #, no-wrap
 msgid ""
 "Informative output:\n"
 "  -h, --help                  display this help and exit\n"
 "  -V, --version               output version information and exit\n"
 "      --statistics            print statistics about translations\n"
-"  -v, --verbose               list input file anomalies\n"
-"Giving the -v option more than once increases the verbosity level.\n"
+"  -v, --verbose               increase verbosity level\n"
 msgstr ""
 
-#: src/msgfmt.c:466
-msgid "while creating hash table"
-msgstr "kým sa vytvára ha¹ovacia tabuµka"
+#: src/msgfmt.c:707
+msgid "plural expression can produce negative values"
+msgstr ""
 
-#: src/msgfmt.c:504
-#, fuzzy
-msgid "warning: PO file header missing, fuzzy, or invalid\n"
+#: src/msgfmt.c:720
+#, c-format
+msgid "nplurals = %lu but plural expression can produce values as large as %lu"
 msgstr ""
-"%s: upozornenie: hlavièka súboru PO chýba, je nepresná alebo neplatná\n"
-"%*s  upozornenie: konverzia znakových sád nebude fungova»"
 
-#: src/msgfmt.c:507
-#, fuzzy
-msgid "warning: charset conversion will not work\n"
+#: src/msgfmt.c:746
+msgid "plural expression can produce division by zero"
 msgstr ""
-"V hlavièke chýba znaková sada.\n"
-"Konverzia hlásení do znakovej sady pou¾ívateµa nebude fungova».\n"
 
-#: src/msgfmt.c:531
-#, c-format
-msgid "domain name \"%s\" not suitable as file name"
-msgstr "meno domény \"%s\" nie je pou¾itelné ako meno súboru"
+#: src/msgfmt.c:751
+msgid "plural expression can produce integer overflow"
+msgstr ""
 
-#: src/msgfmt.c:536
-#, c-format
-msgid "domain name \"%s\" not suitable as file name: will use prefix"
+#: src/msgfmt.c:756
+msgid ""
+"plural expression can produce arithmetic exceptions, possibly division by "
+"zero"
 msgstr ""
-"meno domény \"%s\" nie je pou¾itelné ako meno súboru: pou¾ije sa predpona"
 
-#. We don't change the exit status here because this is really
-#. only an information.
-#: src/msgfmt.c:549
-#, c-format
-msgid "`domain %s' directive ignored"
-msgstr "direktíva `domain %s' bola ignorovaná"
+#: src/msgfmt.c:830 src/msgfmt.c:841
+msgid "message catalog has plural form translations..."
+msgstr ""
 
-#: src/msgfmt.c:585
-msgid "empty `msgstr' entry ignored"
-msgstr "prázdna polo¾ka `msgstr' bola ignorovaná"
+#: src/msgfmt.c:833
+msgid "...but header entry lacks a \"plural=EXPRESSION\" attribute"
+msgstr ""
 
-#: src/msgfmt.c:586
-msgid "fuzzy `msgstr' entry ignored"
-msgstr "nepresná polo¾ka `msgstr' bola ignorovaná"
+#: src/msgfmt.c:844
+msgid "...but header entry lacks a \"nplurals=INTEGER\" attribute"
+msgstr ""
 
-#: src/msgfmt.c:629
-#, c-format
-msgid "headerfield `%s' missing in header"
-msgstr "hlavièková polo¾ka `%s' chýba v hlavièke"
+#: src/msgfmt.c:868
+#, fuzzy
+msgid "invalid nplurals value"
+msgstr "neplatná riadiaca sekvencia"
 
-#: src/msgfmt.c:632
-#, c-format
-msgid "header field `%s' should start at beginning of line"
-msgstr "hlavièková polo¾ka `%s' má zaèína» na zaèiatku riadku"
+#: src/msgfmt.c:881
+msgid "invalid plural expression"
+msgstr ""
 
-#: src/msgfmt.c:642
-msgid "some header fields still have the initial default value"
-msgstr "niektoré polo¾ky hlavièky e¹te obsahujú poèiatoèné ¹tandardné hodnoty"
+#: src/msgfmt.c:899 src/msgfmt.c:912
+#, c-format
+msgid "nplurals = %lu..."
+msgstr ""
 
-#: src/msgfmt.c:653
+#: src/msgfmt.c:902
 #, c-format
-msgid "field `%s' still has initial default value"
-msgstr "polo¾ka `%s' e¹te obsahuje poèiatoènú ¹tandardnú hodnotu"
+msgid "...but some messages have only %lu plural forms"
+msgstr ""
 
-#: src/msgfmt.c:745
+#: src/msgfmt.c:915
 #, c-format
-msgid "%s: warning: source file contains fuzzy translation"
-msgstr "%s: upozornenie: zdrojový súbor obsahuje nepresné preklady"
+msgid "...but some messages have %lu plural forms"
+msgstr ""
+
+#: src/msgfmt.c:930
+msgid ""
+"message catalog has plural form translations, but lacks a header entry with "
+"\"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\""
+msgstr ""
 
 #: src/msgfmt.c:968
 msgid "`msgid' and `msgid_plural' entries do not both begin with '\\n'"
@@ -866,28 +1200,111 @@ msgstr "polo
 msgid "`msgid' and `msgstr' entries do not both end with '\\n'"
 msgstr "polo¾ky `msgid' a `msgstr' nie sú obe ukonèené s '\\n'"
 
-#: src/msgfmt.c:1047
-msgid "number of format specifications in `msgid' and `msgstr' does not match"
-msgstr "nezhoduje sa poèet formátovacích znaèiek v `msgid' a `msgstr'"
+#: src/msgfmt.c:1041
+msgid "plural handling is a GNU gettext extension"
+msgstr ""
 
-#: src/msgfmt.c:1066
+#: src/msgfmt.c:1088
 #, c-format
-msgid "format specifications for argument %lu are not the same"
-msgstr "formátovacie znaèky pre parameter %lu nie sú zhodné"
+msgid "'msgstr' is not a valid %s format string, unlike 'msgid'"
+msgstr ""
+
+#: src/msgfmt.c:1122
+#, c-format
+msgid "msgstr lacks the keyboard accelerator mark '%c'"
+msgstr ""
+
+#: src/msgfmt.c:1130
+#, c-format
+msgid "msgstr has too many keyboard accelerator marks '%c'"
+msgstr ""
+
+#: src/msgfmt.c:1164
+#, c-format
+msgid "headerfield `%s' missing in header"
+msgstr "hlavièková polo¾ka `%s' chýba v hlavièke"
+
+#: src/msgfmt.c:1167
+#, c-format
+msgid "header field `%s' should start at beginning of line"
+msgstr "hlavièková polo¾ka `%s' má zaèína» na zaèiatku riadku"
+
+#: src/msgfmt.c:1176
+msgid "some header fields still have the initial default value"
+msgstr "niektoré polo¾ky hlavièky e¹te obsahujú poèiatoèné ¹tandardné hodnoty"
+
+#: src/msgfmt.c:1187
+#, c-format
+msgid "field `%s' still has initial default value"
+msgstr "polo¾ka `%s' e¹te obsahuje poèiatoènú ¹tandardnú hodnotu"
+
+#: src/msgfmt.c:1228
+#, fuzzy
+msgid "warning: PO file header missing or invalid\n"
+msgstr ""
+"%s: upozornenie: hlavièka súboru PO chýba, je nepresná alebo neplatná\n"
+"%*s  upozornenie: konverzia znakových sád nebude fungova»"
 
-#: src/msggrep.c:354
+#: src/msgfmt.c:1231
+#, fuzzy
+msgid "warning: charset conversion will not work\n"
+msgstr ""
+"V hlavièke chýba znaková sada.\n"
+"Konverzia hlásení do znakovej sady pou¾ívateµa nebude fungova».\n"
+
+#: src/msgfmt.c:1241
+#, fuzzy
+msgid "warning: PO file header fuzzy\n"
+msgstr ""
+"%s: upozornenie: hlavièka súboru PO chýba, je nepresná alebo neplatná\n"
+"%*s  upozornenie: konverzia znakových sád nebude fungova»"
+
+#: src/msgfmt.c:1243
+msgid "warning: older versions of msgfmt will give an error on this\n"
+msgstr ""
+
+#: src/msgfmt.c:1268
+#, c-format
+msgid "domain name \"%s\" not suitable as file name"
+msgstr "meno domény \"%s\" nie je pou¾itelné ako meno súboru"
+
+#: src/msgfmt.c:1273
+#, c-format
+msgid "domain name \"%s\" not suitable as file name: will use prefix"
+msgstr ""
+"meno domény \"%s\" nie je pou¾itelné ako meno súboru: pou¾ije sa predpona"
+
+#: src/msgfmt.c:1284
+#, c-format
+msgid "`domain %s' directive ignored"
+msgstr "direktíva `domain %s' bola ignorovaná"
+
+#: src/msgfmt.c:1356
+msgid "empty `msgstr' entry ignored"
+msgstr "prázdna polo¾ka `msgstr' bola ignorovaná"
+
+#: src/msgfmt.c:1357
+msgid "fuzzy `msgstr' entry ignored"
+msgstr "nepresná polo¾ka `msgstr' bola ignorovaná"
+
+#: src/msgfmt.c:1426
+#, c-format
+msgid "%s: warning: source file contains fuzzy translation"
+msgstr "%s: upozornenie: zdrojový súbor obsahuje nepresné preklady"
+
+#: src/msggrep.c:359
 #, c-format
 msgid "option '%c' cannot be used before 'K' or 'T' has been specified"
 msgstr ""
 
-#: src/msggrep.c:376
+#: src/msggrep.c:381
 #, no-wrap
 msgid ""
 "Extracts all messages of a translation catalog that match a given pattern\n"
 "or belong to some given source files.\n"
 msgstr ""
 
-#: src/msggrep.c:403
+#: src/msggrep.c:408
 #, no-wrap
 msgid ""
 "Message selection:\n"
@@ -896,8 +1313,15 @@ msgid ""
 "or if it comes from one of the specified domains,\n"
 "or if -K is given and its key (msgid or msgid_plural) matches MSGID-PATTERN,\n"
 "or if -T is given and its translation (msgstr) matches MSGSTR-PATTERN.\n"
+"\n"
+"When more than one selection criterion is specified, the set of selected\n"
+"messages is the union of the selected messages of each criterion.\n"
+"\n"
+"MSGID-PATTERN or MSGSTR-PATTERN syntax:\n"
+"  [-E | -F] [-e PATTERN | -f FILE]...\n"
 "PATTERNs are basic regular expressions by default, or extended regular\n"
 "expressions if -E is given, or fixed strings if -F is given.\n"
+"\n"
 "  -N, --location=SOURCEFILE   select messages extracted from SOURCEFILE\n"
 "  -M, --domain=DOMAINNAME     select messages belonging to domain DOMAINNAME\n"
 "  -K, --msgid                 start of patterns for the msgid\n"
@@ -909,7 +1333,7 @@ msgid ""
 "  -i, --ignore-case           ignore case distinctions\n"
 msgstr ""
 
-#: src/msggrep.c:424
+#: src/msggrep.c:436
 #, fuzzy, no-wrap
 msgid ""
 "Output details:\n"
@@ -921,7 +1345,7 @@ msgid ""
 "      --add-location          preserve '#: filename:line' lines (default)\n"
 "      --strict                strict Uniforum output style\n"
 "  -w, --width=NUMBER          set output page width\n"
-"      --sort-output           generate sorted output and remove duplicates\n"
+"      --sort-output           generate sorted output\n"
 "      --sort-by-file          sort output by file location\n"
 msgstr ""
 "Pou¾itie: %s [VO¥BY] def.po ref.po\n"
@@ -946,11 +1370,163 @@ msgstr ""
 "  -V, --version               zobrazi» informácie o verzii a skonèi»\n"
 "  -w, --width=©ÍRKA           nastavi» ¹írku výstupnej stránky\n"
 
-#: src/msggrep.c:498
-msgid "write to grep subprocess failed"
+#: src/msggrep.c:510
+msgid "write to grep subprocess failed"
+msgstr ""
+
+#: src/msginit.c:275
+msgid ""
+"You are in a language indifferent environment.  Please set\n"
+"your LANG environment variable, as described in the ABOUT-NLS\n"
+"file.  This is necessary so you can test your translations.\n"
+msgstr ""
+
+#: src/msginit.c:303
+#, c-format
+msgid ""
+"Output file %s already exists.\n"
+"Please specify the locale through the --locale option or\n"
+"the output .po file through the --output-file option.\n"
+msgstr ""
+
+#: src/msginit.c:326
+#, c-format
+msgid "Created %s.\n"
+msgstr ""
+
+#: src/msginit.c:348
+#, no-wrap
+msgid ""
+"Creates a new PO file, initializing the meta information with values from the\n"
+"user's environment.\n"
+msgstr ""
+
+#: src/msginit.c:359
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  -i, --input=INPUTFILE       input POT file\n"
+"If no input file is given, the current directory is searched for the POT file.\n"
+"If it is -, standard input is read.\n"
+msgstr ""
+
+#: src/msginit.c:367
+#, no-wrap
+msgid ""
+"Output file location:\n"
+"  -o, --output-file=FILE      write output to specified PO file\n"
+"If no output file is given, it depends on the --locale option or the user's\n"
+"locale setting.  If it is -, the results are written to standard output.\n"
+msgstr ""
+
+#: src/msginit.c:375
+#, no-wrap
+msgid ""
+"Output details:\n"
+"  -l, --locale=LL_CC          set target locale\n"
+"      --no-translator         assume the PO file is automatically generated\n"
+"  -w, --width=NUMBER          set output page width\n"
+msgstr ""
+
+#: src/msginit.c:426
+msgid ""
+"Found more than one .pot file.\n"
+"Please specify the input .pot file through the --input option.\n"
+msgstr ""
+
+#: src/msginit.c:434 src/msginit.c:439
+msgid "error reading current directory"
+msgstr ""
+
+#: src/msginit.c:447
+msgid ""
+"Found no .pot file in the current directory.\n"
+"Please specify the input .pot file through the --input option.\n"
+msgstr ""
+
+#: src/msginit.c:887 src/msginit.c:932 src/msginit.c:1070 src/msginit.c:1137
+#: src/read-java.c:80
+msgid "fdopen() failed"
+msgstr ""
+
+#: src/msginit.c:892 src/msginit.c:937 src/msginit.c:1075
+#, c-format
+msgid "%s subprocess I/O error"
+msgstr ""
+
+#: src/msginit.c:901 src/msginit.c:946 src/msginit.c:1084 src/msginit.c:1151
+#: src/read-java.c:90
+#, c-format
+msgid "%s subprocess failed with exit code %d"
+msgstr ""
+
+#: src/msginit.c:1060
+msgid ""
+"The new message catalog should contain your email address, so that users "
+"can\n"
+"give you feedback about the translations, and so that maintainers can "
+"contact\n"
+"you in case of unexpected technical problems.\n"
+msgstr ""
+
+#. TRANSLATORS: "English" needs to be replaced by your language.
+#. For example in it.po write "Traduzioni italiani ...",
+#. *not* "Traduzioni inglesi ...".
+#: src/msginit.c:1440
+#, c-format
+msgid "English translations for %s package"
+msgstr ""
+
+#: src/msgl-cat.c:173 src/msgl-charset.c:86 src/msgl-iconv.c:299
+#, c-format
+msgid "present charset \"%s\" is not a portable encoding name"
+msgstr ""
+
+#: src/msgl-cat.c:181 src/msgl-iconv.c:307
+#, c-format
+msgid "two different charsets \"%s\" and \"%s\" in input file"
+msgstr ""
+
+#: src/msgl-cat.c:194
+#, c-format
+msgid ""
+"input file `%s' doesn't contain a header entry with a charset specification"
+msgstr ""
+
+#: src/msgl-cat.c:198
+#, c-format
+msgid ""
+"domain \"%s\" in input file `%s' doesn't contain a header entry with a "
+"charset specification"
+msgstr ""
+
+#: src/msgl-cat.c:359 src/msgl-iconv.c:382
+#, c-format
+msgid "target charset \"%s\" is not a portable encoding name."
+msgstr ""
+
+#: src/msgl-cat.c:409 src/msgl-cat.c:415 src/msgl-charset.c:91
+#: src/msgl-charset.c:126 src/write-po.c:723 src/write-po.c:817
+#, fuzzy
+msgid "warning: "
+msgstr "%s: upozornenie: "
+
+#: src/msgl-cat.c:410
+msgid ""
+"Input files contain messages in different encodings, UTF-8 among others.\n"
+"Converting the output to UTF-8.\n"
+msgstr ""
+
+#: src/msgl-cat.c:416
+#, c-format
+msgid ""
+"Input files contain messages in different encodings, %s and %s among "
+"others.\n"
+"Converting the output to UTF-8.\n"
+"To select a different output encoding, use the --to-code option.\n"
 msgstr ""
 
-#: src/msgl-charset.c:88
+#: src/msgl-charset.c:92
 #, c-format
 msgid ""
 "Locale charset \"%s\" is different from\n"
@@ -959,12 +1535,12 @@ msgid ""
 "Possible workarounds are:\n"
 msgstr ""
 
-#: src/msgl-charset.c:95
+#: src/msgl-charset.c:99
 #, c-format
 msgid "- Set LC_ALL to a locale with encoding %s.\n"
 msgstr ""
 
-#: src/msgl-charset.c:100
+#: src/msgl-charset.c:104
 #, c-format
 msgid ""
 "- Convert the translation catalog to %s using 'msgconv',\n"
@@ -972,7 +1548,7 @@ msgid ""
 "  then convert back to %s using 'msgconv'.\n"
 msgstr ""
 
-#: src/msgl-charset.c:109
+#: src/msgl-charset.c:113
 #, c-format
 msgid ""
 "- Set LC_ALL to a locale with encoding %s,\n"
@@ -981,7 +1557,7 @@ msgid ""
 "  then convert back to %s using 'msgconv'.\n"
 msgstr ""
 
-#: src/msgl-charset.c:123
+#: src/msgl-charset.c:127
 #, c-format
 msgid ""
 "Locale charset \"%s\" is not a portable encoding name.\n"
@@ -989,15 +1565,15 @@ msgid ""
 "A possible workaround is to set LC_ALL=C.\n"
 msgstr ""
 
-#: src/msgl-iconv.c:192 src/msgl-iconv.c:246
+#: src/msgl-iconv.c:200 src/msgl-iconv.c:254
 msgid "conversion failure"
 msgstr ""
 
-#: src/msgl-iconv.c:317
+#: src/msgl-iconv.c:328
 msgid "input file doesn't contain a header entry with a charset specification"
 msgstr ""
 
-#: src/msgl-iconv.c:334
+#: src/msgl-iconv.c:346
 #, fuzzy, c-format
 msgid ""
 "Cannot convert from \"%s\" to \"%s\". %s relies on iconv(), and iconv() does "
@@ -1006,7 +1582,7 @@ msgstr ""
 "Znaková sada \"%s\" nie je podporovaná. %s spolieha na iconv()\n"
 "a iconv() nepodporuje \"%s\".\n"
 
-#: src/msgl-iconv.c:350
+#: src/msgl-iconv.c:362
 #, fuzzy, c-format
 msgid ""
 "Cannot convert from \"%s\" to \"%s\". %s relies on iconv(). This version was "
@@ -1015,7 +1591,11 @@ msgstr ""
 "Znaková sada \"%s\" nie je podporovaná. %s spolieha na iconv().\n"
 "Táto verzia bola prelo¾ená bez iconv().\n"
 
-#: src/msgmerge.c:283
+#: src/msgmerge.c:340
+msgid "backup type"
+msgstr ""
+
+#: src/msgmerge.c:377
 #, fuzzy, no-wrap
 msgid ""
 "Merges two Uniforum style .po files together.  The def.po file is an\n"
@@ -1040,7 +1620,7 @@ msgstr ""
 "fuzzy algoritmus, ktorý umo¾òuje lep¹iu kontrolu zhody. Ak nie je\n"
 "zadaný výstupný súbor, výsledok bude zapísaný na ¹tandardný výstup.\n"
 
-#: src/msgmerge.c:301
+#: src/msgmerge.c:395
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -1051,7 +1631,32 @@ msgid ""
 "                              may be specified more than once\n"
 msgstr ""
 
-#: src/msgmerge.c:340
+#: src/msgmerge.c:405
+#, no-wrap
+msgid ""
+"Operation mode:\n"
+"  -U, --update                update def.po,\n"
+"                              do nothing if def.po already up to date\n"
+msgstr ""
+
+#: src/msgmerge.c:420
+#, no-wrap
+msgid ""
+"Output file location in update mode:\n"
+"The result is written back to def.po.\n"
+"      --backup=CONTROL        make a backup of def.po\n"
+"      --suffix=SUFFIX         override the usual backup suffix\n"
+"The version control method may be selected via the --backup option or through\n"
+"the VERSION_CONTROL environment variable.  Here are the values:\n"
+"  none, off       never make backups (even if --backup is given)\n"
+"  numbered, t     make numbered backups\n"
+"  existing, nil   numbered if numbered backups exist, simple otherwise\n"
+"  simple, never   always make simple backups\n"
+"The backup suffix is `~', unless set with --suffix or the SIMPLE_BACKUP_SUFFIX\n"
+"environment variable.\n"
+msgstr ""
+
+#: src/msgmerge.c:457
 #, no-wrap
 msgid ""
 "Informative output:\n"
@@ -1061,7 +1666,17 @@ msgid ""
 "  -q, --quiet, --silent       suppress progress indicators\n"
 msgstr ""
 
-#: src/msgmerge.c:578
+#: src/msgmerge.c:625
+#, fuzzy
+msgid "this message should define plural forms"
+msgstr "táto správa je pou¾itá, ale nie je definovaná v %s"
+
+#: src/msgmerge.c:648
+#, fuzzy
+msgid "this message should not define plural forms"
+msgstr "táto správa je pou¾itá, ale nie je definovaná v %s"
+
+#: src/msgmerge.c:779
 #, c-format
 msgid ""
 "%sRead %ld old + %ld reference, merged %ld, fuzzied %ld, missing %ld, "
@@ -1070,99 +1685,33 @@ msgstr ""
 "%sNaèítané %ld starých + %ld odkazov, %ld zluèených, %ld nepresných, %ld "
 "chýbajucich, %ld zru¹ených.\n"
 
-#: src/msgmerge.c:586
+#: src/msgmerge.c:787
 msgid " done.\n"
 msgstr " hotovo.\n"
 
-#: src/msgsed.c:267
-#, fuzzy
-msgid "at least one sed script must be specified"
-msgstr "musia by» uvedené minimálne dva súbory"
-
-#: src/msgsed.c:323
-#, no-wrap
-msgid "Applies a sed script to all translations of a translation catalog.\n"
-msgstr ""
-
-#: src/msgsed.c:349
-#, no-wrap
-msgid ""
-"Sed options:\n"
-"  -e, --expression=SCRIPT     add SCRIPT to the commands to be executed\n"
-"  -f, --file=SCRIPTFILE       add the contents of SCRIPTFILE to the commands\n"
-"                                to be executed\n"
-"  -n, --quiet, --silent       suppress automatic printing of pattern space\n"
-msgstr ""
-
-#: src/msgsed.c:358
-#, fuzzy, no-wrap
-msgid ""
-"Output details:\n"
-"      --no-escape             do not use C escapes in output (default)\n"
-"  -E, --escape                use C escapes in output, no extended chars\n"
-"      --force-po              write PO file even if empty\n"
-"  -i, --indent                indented output style\n"
-"      --no-location           suppress '#: filename:line' lines\n"
-"      --add-location          preserve '#: filename:line' lines (default)\n"
-"      --strict                strict Uniforum output style\n"
-"  -w, --width=NUMBER          set output page width\n"
-"  -s, --sort-output           generate sorted output and remove duplicates\n"
-"  -F, --sort-by-file          sort output by file location\n"
-msgstr ""
-"Pou¾itie: %s [VO¥BY] def.po ref.po\n"
-"Povinné parametre pre dlh¹ie voµby sú povinné aj pre skrátené voµby.\n"
-"  -C, --compendium=SÚBOR      prídavna kni¾nica prekladov správ, mô¾e by»\n"
-"                              zadaná viac ako raz\n"
-"  -D, --directory=ADRESÁR     pripoji» ADRESÁR do zoznamu adresárov, v ktorých\n"
-"                              sa budú hµada» vstupné súbory\n"
-"  -e, --no-escape             nepou¾i» na výstupe riadiace sekvencie\n"
-"                              jazyka C (predvolené)\n"
-"  -E, --escape                pou¾i» na výstupe riadiace sekvencie jazyka C,\n"
-"                              namiesto roz¹írených znakov\n"
-"      --force-po              zapísa» súbor PO, aj keï bude prázdny\n"
-"  -h, --help                  zobrazi» túto nápovedu a skonèi»\n"
-"  -i, --indent                vytvori» .po s pou¾itím odsadzovania\n"
-"  -o, --output-file=SÚBOR     výstupný súbor bude ma» názov SÚBOR\n"
-"      --no-location           nezapisova» riadky '#: meno_súboru:riadok'\n"
-"      --add-location          generova» riadky '#: meno_súboru:riadok'\n"
-"                              (predvolené)\n"
-"      --strict                aktivova» presné dor¾iavanie módu Uniforum\n"
-"  -v, --verbose               zvý¹i» stupeò ukecanosti\n"
-"  -V, --version               zobrazi» informácie o verzii a skonèi»\n"
-"  -w, --width=©ÍRKA           nastavi» ¹írku výstupnej stránky\n"
-
-#: src/msgsed.c:514
-msgid "cannot set up nonblocking I/O to sed subprocess"
-msgstr ""
-
-#: src/msgsed.c:542
-msgid "communication with sed subprocess failed"
-msgstr ""
-
-#: src/msgsed.c:562
-msgid "write to sed subprocess failed"
-msgstr ""
-
-#: src/msgsed.c:592
-msgid "read from sed subprocess failed"
-msgstr ""
-
-#: src/msgsed.c:608
-#, c-format
-msgid "sed subprocess terminated with exit code %d"
-msgstr ""
+#: src/msgunfmt.c:201
+#, fuzzy, c-format
+msgid "%s and explicit file names are mutually exclusive"
+msgstr "%s a %s sa navzájom vyluèujú"
 
-#: src/msgunfmt.c:224
+#: src/msgunfmt.c:267
 #, c-format, no-wrap
 msgid "Usage: %s [OPTION] [FILE]...\n"
 msgstr ""
 
-#: src/msgunfmt.c:229
+#: src/msgunfmt.c:272
 #, no-wrap
 msgid "Convert binary message catalog to Uniforum style .po file.\n"
 msgstr ""
 
-#: src/msgunfmt.c:239
+#: src/msgunfmt.c:282
+#, no-wrap
+msgid ""
+"Operation mode:\n"
+"  -j, --java               Java mode: generate a Java ResourceBundle class\n"
+msgstr ""
+
+#: src/msgunfmt.c:288
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -1170,7 +1719,17 @@ msgid ""
 "If no input file is given or if it is -, standard input is read.\n"
 msgstr ""
 
-#: src/msgunfmt.c:246
+#: src/msgunfmt.c:295
+#, no-wrap
+msgid ""
+"Input file location in Java mode:\n"
+"  -r, --resource=RESOURCE  resource name\n"
+"  -l, --locale=LOCALE      locale name, either language or language_COUNTRY\n"
+"The class name is determined by appending the locale name to the resource name,\n"
+"separated with an underscore.  The class is located using the CLASSPATH.\n"
+msgstr ""
+
+#: src/msgunfmt.c:304
 #, no-wrap
 msgid ""
 "Output file location:\n"
@@ -1179,7 +1738,7 @@ msgid ""
 "or if it is -.\n"
 msgstr ""
 
-#: src/msgunfmt.c:254
+#: src/msgunfmt.c:312
 #, fuzzy, no-wrap
 msgid ""
 "Output details:\n"
@@ -1189,7 +1748,7 @@ msgid ""
 "  -i, --indent             write indented output style\n"
 "      --strict             write strict uniforum style\n"
 "  -w, --width=NUMBER       set output page width\n"
-"  -s, --sort-output        generate sorted output and remove duplicates\n"
+"  -s, --sort-output        generate sorted output\n"
 msgstr ""
 "Pou¾itie: %s [VO¥BA] [SÚBOR]...\n"
 "Povinné parametre pre dlh¹ie voµby sú povinné aj pre skrátené voµby.\n"
@@ -1205,52 +1764,49 @@ msgstr ""
 "  -V, --version             zobrazi» informácie o verzii a skonèi»\n"
 "  -w, --width=©ÍRKA         nastavi» ¹írku výstupnej stránky\n"
 
-#: src/msgunfmt.c:266
+#: src/msgunfmt.c:324
 #, no-wrap
 msgid ""
 "Informative output:\n"
 "  -h, --help               display this help and exit\n"
 "  -V, --version            output version information and exit\n"
+"  -v, --verbose            increase verbosity level\n"
 msgstr ""
 
-#: src/msgunfmt.c:294 src/msgunfmt.c:359 src/po-lex.c:213 src/xget-lex.c:245
-#, c-format
-msgid "error while reading \"%s\""
-msgstr "chyba pri èítaní súboru \"%s\""
-
-#: src/msgunfmt.c:295 src/msgunfmt.c:360
-#, c-format
-msgid "file \"%s\" truncated"
-msgstr "súbor \"%s\" je skrátený"
-
-#: src/msgunfmt.c:326
-#, c-format
-msgid "seek \"%s\" offset %ld failed"
-msgstr "nastavenie v súbore \"%s\" na poziciu %ld zlyhalo"
-
-#: src/msgunfmt.c:365
-#, c-format
-msgid "file \"%s\" contains a not NUL terminated string"
-msgstr "súbor \"%s\" obsahuje re»azce, ktoré nie sú ukonèené nulou"
+#: src/msguniq.c:279
+#, no-wrap
+msgid ""
+"Unifies duplicate translations in a translation catalog.\n"
+"Finds duplicate translations of the same message ID.  Such duplicates are\n"
+"invalid input for other programs like msgfmt, msgmerge or msgcat.  By\n"
+"default, duplicates are merged together.  When using the --repeated option,\n"
+"only duplicates are output, and all other messages are discarded.  Comments\n"
+"and extracted comments will be cumulated, except that if --use-first is\n"
+"specified, they will be taken from the first translation.  File positions\n"
+"will be cumulated.  When using the --unique option, duplicates are discarded.\n"
+msgstr ""
 
-#: src/msgunfmt.c:410
-#, c-format
-msgid "file \"%s\" is not in GNU .mo format"
-msgstr "súbor \"%s\" nie je vo formáte GNU .mo"
+#: src/msguniq.c:312
+#, no-wrap
+msgid ""
+"Message selection:\n"
+"  -d, --repeated                 print only duplicates\n"
+"  -u, --unique                   print only unique messages, discard duplicates\n"
+msgstr ""
 
-#: src/ngettext.c:213
+#: src/ngettext.c:215
 #, c-format, no-wrap
 msgid "Usage: %s [OPTION] [TEXTDOMAIN] MSGID MSGID-PLURAL COUNT\n"
 msgstr ""
 
-#: src/ngettext.c:218
+#: src/ngettext.c:220
 #, no-wrap
 msgid ""
 "Display native language translation of a textual message whose grammatical\n"
 "form depends on a number.\n"
 msgstr ""
 
-#: src/ngettext.c:223
+#: src/ngettext.c:225
 #, fuzzy, no-wrap
 msgid ""
 "  -d, --domain=TEXTDOMAIN   retrieve translated message from TEXTDOMAIN\n"
@@ -1274,7 +1830,7 @@ msgstr ""
 "                            (mno¾né èíslo)\n"
 "  POÈET                     vybra» jednotné/mno¾né èíslo na základetejto hodnoty\n"
 
-#: src/ngettext.c:234
+#: src/ngettext.c:236
 #, fuzzy, c-format, no-wrap
 msgid ""
 "If the TEXTDOMAIN parameter is not given, the domain is determined from the\n"
@@ -1289,17 +1845,17 @@ msgstr ""
 "mô¾e by» urèený obsahom premennej prostredia TEXTDOMAINDIR.\n"
 "©tandardný adresár, v ktorom sa budú hµada» katalógy: %s\n"
 
-#: src/open-po.c:64
+#: src/open-po.c:69
 msgid "<stdin>"
 msgstr "<¹tandardný vstup>"
 
-#: src/po-charset.c:145 src/po-charset.c:213 src/po-charset.c:239
-#: src/po-charset.c:265
+#: src/po-charset.c:172 src/po-charset.c:240 src/po-charset.c:268
+#: src/po-charset.c:294
 #, c-format
 msgid "%s: warning: "
 msgstr "%s: upozornenie: "
 
-#: src/po-charset.c:146
+#: src/po-charset.c:173
 #, c-format
 msgid ""
 "Charset \"%s\" is not a portable encoding name.\n"
@@ -1308,15 +1864,15 @@ msgstr ""
 "Znaková sada \"%s\" nie je prenositeµné meno kódovania.\n"
 "Konverzia hlásení do znakovej sady pou¾ívateµa nemusí fungova».\n"
 
-#: src/po-charset.c:209 src/po-charset.c:237
+#: src/po-charset.c:236 src/po-charset.c:266
 msgid "Continuing anyway, expect parse errors."
 msgstr "Pokraèovanie aj napriek tomu. Mo¾no sa vyskytnú chyby pri analýze."
 
-#: src/po-charset.c:211
+#: src/po-charset.c:238
 msgid "Continuing anyway."
 msgstr "Pokraèovanie aj napriek tomu."
 
-#: src/po-charset.c:214
+#: src/po-charset.c:241
 #, c-format
 msgid ""
 "Charset \"%s\" is not supported. %s relies on iconv(),\n"
@@ -1325,7 +1881,7 @@ msgstr ""
 "Znaková sada \"%s\" nie je podporovaná. %s spolieha na iconv()\n"
 "a iconv() nepodporuje \"%s\".\n"
 
-#: src/po-charset.c:223 src/po-charset.c:247
+#: src/po-charset.c:250 src/po-charset.c:276
 msgid ""
 "Installing GNU libiconv and then reinstalling GNU gettext\n"
 "would fix this problem.\n"
@@ -1333,12 +1889,12 @@ msgstr ""
 "In¹talácia GNU balíka libiconv a následná prein¹talácia\n"
 "balíka GNU gettext by mala tento problém odstráni».\n"
 
-#: src/po-charset.c:228 src/po-charset.c:251
+#: src/po-charset.c:255 src/po-charset.c:280
 #, c-format
 msgid "%s\n"
 msgstr "%s\n"
 
-#: src/po-charset.c:240
+#: src/po-charset.c:269
 #, c-format
 msgid ""
 "Charset \"%s\" is not supported. %s relies on iconv().\n"
@@ -1347,7 +1903,7 @@ msgstr ""
 "Znaková sada \"%s\" nie je podporovaná. %s spolieha na iconv().\n"
 "Táto verzia bola prelo¾ená bez iconv().\n"
 
-#: src/po-charset.c:266
+#: src/po-charset.c:295
 msgid ""
 "Charset missing in header.\n"
 "Message conversion to user's charset will not work.\n"
@@ -1355,127 +1911,211 @@ msgstr ""
 "V hlavièke chýba znaková sada.\n"
 "Konverzia hlásení do znakovej sady pou¾ívateµa nebude fungova».\n"
 
-#: po-gram-gen.y:88
+#: po-gram-gen.y:91
 msgid "inconsistent use of #~"
 msgstr "nekonzistentné pou¾itie #~"
 
-#: po-gram-gen.y:178
+#: po-gram-gen.y:181
 msgid "missing `msgstr[]' section"
 msgstr "chýba sekcia `msgstr[]'"
 
-#: po-gram-gen.y:186
+#: po-gram-gen.y:189
 msgid "missing `msgid_plural' section"
 msgstr "chýba sekcia `msgid_plural'"
 
-#: po-gram-gen.y:193
+#: po-gram-gen.y:196
 msgid "missing `msgstr' section"
 msgstr "chýba sekcia `msgstr'"
 
-#: po-gram-gen.y:238
+#: po-gram-gen.y:241
 msgid "first plural form has nonzero index"
 msgstr "prvé mno¾né èíslo má nenulový index"
 
-#: po-gram-gen.y:240
+#: po-gram-gen.y:243
 msgid "plural form has wrong index"
 msgstr "mno¾né èíslo má nesprávny index"
 
-#. CAUTION: If you change this macro, you must also make identical
-#. changes to the function of the same name in src/po-lex.c
-#: src/po-lex.c:152 src/po-lex.c:195 src/po-lex.h:77 src/po-lex.h:93
-#: src/po-lex.h:111 src/po-lex.h:127
+#: src/po-lex.h:91 src/po-lex.h:106 src/po-lex.h:126 src/po-lex.h:141
+#: src/po-lex.c:135 src/po-lex.c:176
 msgid "too many errors, aborting"
 msgstr "vyskytlo sa príli¹ veµa chýb, ukonèuje sa program"
 
-#: src/po-lex.c:271
+#: src/po-lex.c:545 src/write-po.c:331 src/write-po.c:421
+msgid "invalid multibyte sequence"
+msgstr "neplatná viacznaková sekvencia"
+
+#: src/po-lex.c:571
+#, fuzzy
+msgid "incomplete multibyte sequence at end of file"
+msgstr "neplatná viacznaková sekvencia"
+
+#: src/po-lex.c:581
+#, fuzzy
+msgid "incomplete multibyte sequence at end of line"
+msgstr "neplatná viacznaková sekvencia"
+
+#: src/po-lex.c:589
+msgid "iconv failure"
+msgstr ""
+
+#: src/po-lex.c:763 src/read-mo.c:70 src/read-mo.c:135 src/x-c.c:216
+#: src/x-rst.c:227 src/x-ycp.c:103
+#, c-format
+msgid "error while reading \"%s\""
+msgstr "chyba pri èítaní súboru \"%s\""
+
+#: src/po-lex.c:829
 #, c-format
 msgid "keyword \"%s\" unknown"
 msgstr "neznáme kµúèové slovo \"%s\""
 
-#: src/po-lex.c:374
+#: src/po-lex.c:939
 msgid "invalid control sequence"
 msgstr "neplatná riadiaca sekvencia"
 
-#: src/po-lex.c:477
+#: src/po-lex.c:1047
 msgid "end-of-file within string"
 msgstr "koniec súboru uprostred re»azca"
 
-#: src/po-lex.c:482
+#: src/po-lex.c:1053
 msgid "end-of-line within string"
 msgstr "koniec riadku uprostred re»azca"
 
-#: src/po-lex.c:525 src/write-po.c:291 src/write-po.c:373
-msgid "invalid multibyte sequence"
-msgstr "neplatná viacznaková sekvencia"
+#: src/read-mo.c:71 src/read-mo.c:136
+#, c-format
+msgid "file \"%s\" truncated"
+msgstr "súbor \"%s\" je skrátený"
+
+#: src/read-mo.c:102
+#, c-format
+msgid "seek \"%s\" offset %ld failed"
+msgstr "nastavenie v súbore \"%s\" na poziciu %ld zlyhalo"
+
+#: src/read-mo.c:141
+#, c-format
+msgid "file \"%s\" contains a not NUL terminated string"
+msgstr "súbor \"%s\" obsahuje re»azce, ktoré nie sú ukonèené nulou"
+
+#: src/read-mo.c:186
+#, c-format
+msgid "file \"%s\" is not in GNU .mo format"
+msgstr "súbor \"%s\" nie je vo formáte GNU .mo"
+
+#: src/write-java.c:1108
+msgid "cannot find a temporary directory, try setting $TMPDIR"
+msgstr ""
+
+#: src/write-java.c:1118
+#, fuzzy, c-format
+msgid "cannot create a temporary directory using template \"%s\""
+msgstr "nie je mo¾né vytvori» výstupný súbor \"%s\""
+
+#: src/write-java.c:1131
+#, c-format
+msgid "not a valid Java class name: %s"
+msgstr ""
+
+#: src/write-java.c:1188 src/write-java.c:1201
+#, c-format
+msgid "failed to create \"%s\""
+msgstr ""
+
+#: src/write-java.c:1209 src/write-mo.c:289 src/write-po.c:966
+#, c-format
+msgid "error while writing \"%s\" file"
+msgstr "chyba poèas zápisu do súboru \"%s\""
+
+#: src/write-java.c:1223
+msgid "compilation of Java class failed, please try --verbose or set $JAVAC"
+msgstr ""
+
+#: src/write-mo.c:277
+#, c-format
+msgid "error while opening \"%s\" for writing"
+msgstr "chyba pri otváraní súboru  \"%s\" na zápis"
 
-#: src/write-po.c:322
+#: src/write-po.c:370
 #, c-format
 msgid ""
 "internationalized messages should not contain the `\\%c' escape sequence"
 msgstr "internacionalizované správy nesmú obsahova» riadiacu sekvenciu `\\%c'"
 
-#: src/write-po.c:816
+#: src/write-po.c:724 src/write-po.c:818
+#, c-format
+msgid ""
+"The following msgid contains non-ASCII characters.\n"
+"This will cause problems to translators who use a character encoding\n"
+"different from yours. Consider using a pure ASCII msgid instead.\n"
+"%s\n"
+msgstr ""
+
+#: src/write-po.c:885
 #, c-format
 msgid "cannot create output file \"%s\""
 msgstr "nie je mo¾né vytvori» výstupný súbor \"%s\""
 
-#: src/write-po.c:823
+#: src/write-po.c:892
 #, no-c-format
 msgid "standard output"
 msgstr "¹tandardný výstup"
 
-#: src/write-po.c:893
-#, c-format
-msgid "error while writing \"%s\" file"
-msgstr "chyba poèas zápisu do súboru \"%s\""
-
-#: src/xget-lex.c:150
-msgid "standard input"
-msgstr "¹tandardný vstup"
-
-#: src/xget-lex.c:879
+#: src/x-c.c:858
 #, c-format
 msgid "%s:%d: warning: unterminated character constant"
 msgstr "%s:%d: upozornenie: neukonèená znaková kon¹tanta"
 
-#: src/xget-lex.c:903
+#: src/x-c.c:882
 #, c-format
 msgid "%s:%d: warning: unterminated string literal"
 msgstr "%s:%d: upozornenie: neukonèený znakový re»azec"
 
-#. We are about to construct the absolute path to the
-#. directory for the output files but asprintf failed.
-#: src/xgettext.c:325 src/xgettext.c:1368
-msgid "while preparing output"
-msgstr "kým sa pripravuje výstup"
+#: src/x-po.c:106 src/xgettext.c:605
+msgid "this file may not contain domain directives"
+msgstr "tento súbor nesmie obsahova» direktívy pre doménu"
+
+#: src/x-rst.c:108
+#, c-format
+msgid "%s:%d: invalid string definition"
+msgstr ""
+
+#: src/x-rst.c:168
+#, c-format
+msgid "%s:%d: missing number after #"
+msgstr ""
+
+#: src/x-rst.c:203
+#, c-format
+msgid "%s:%d: invalid string expression"
+msgstr ""
 
-#: src/xgettext.c:371
+#: src/xgettext.c:375
 msgid "--join-existing cannot be used when output is written to stdout"
 msgstr ""
 "--join-existing nesmie by» pou¾ité ak je výstup posielaný na ¹tandardný "
 "výstup"
 
-#: src/xgettext.c:376
+#: src/xgettext.c:380
 msgid "xgettext cannot work without keywords to look for"
 msgstr "xgettext nemô¾e pracova» bez kµúèových slov, ktoré má hµada»"
 
-#: src/xgettext.c:482
+#: src/xgettext.c:468
 #, c-format
 msgid "warning: file `%s' extension `%s' is unknown; will try C"
 msgstr "upozornenie: súbor `%s' s príponou `%s' je neznámy; skú¹am C"
 
-#: src/xgettext.c:523
+#: src/xgettext.c:509
 #, no-wrap
 msgid "Extract translatable strings from given input files.\n"
 msgstr ""
 
-#: src/xgettext.c:528
+#: src/xgettext.c:514
 #, no-wrap
 msgid ""
 "Mandatory arguments to long options are mandatory for short options too.\n"
 "Similarly for optional arguments.\n"
 msgstr ""
 
-#: src/xgettext.c:543
+#: src/xgettext.c:529
 #, no-wrap
 msgid ""
 "Output file location:\n"
@@ -1485,16 +2125,17 @@ msgid ""
 "If output file is -, output is written to standard output.\n"
 msgstr ""
 
-#: src/xgettext.c:552
+#: src/xgettext.c:538
 #, no-wrap
 msgid ""
 "Choice of input file language:\n"
-"  -L, --language=NAME            recognise the specified language (C, C++, PO)\n"
+"  -L, --language=NAME            recognise the specified language\n"
+"                                   (C, C++, ObjectiveC, PO, Java, YCP)\n"
 "  -C, --c++                      shorthand for --language=C++\n"
 "By default the language is guessed depending on the input file name extension.\n"
 msgstr ""
 
-#: src/xgettext.c:560
+#: src/xgettext.c:547
 #, no-wrap
 msgid ""
 "Operation mode:\n"
@@ -1504,7 +2145,7 @@ msgid ""
 "                                 preceding keyword lines) in output file\n"
 msgstr ""
 
-#: src/xgettext.c:569
+#: src/xgettext.c:556
 #, no-wrap
 msgid ""
 "Language=C/C++ specific options:\n"
@@ -1515,8 +2156,8 @@ msgid ""
 "      --debug                    more detailed formatstring recognition result\n"
 msgstr ""
 
-#: src/xgettext.c:579
-#, no-wrap
+#: src/xgettext.c:566
+#, fuzzy, no-wrap
 msgid ""
 "Output details:\n"
 "  -e, --no-escape                do not use C escapes in output (default)\n"
@@ -1527,41 +2168,81 @@ msgid ""
 "  -n, --add-location             generate '#: filename:line' lines (default)\n"
 "      --strict                   write out strict Uniforum conforming .po file\n"
 "  -w, --width=NUMBER             set output page width\n"
-"  -s, --sort-output              generate sorted output and remove duplicates\n"
+"  -s, --sort-output              generate sorted output\n"
 "  -F, --sort-by-file             sort output by file location\n"
 "      --omit-header              don't write header with `msgid \"\"' entry\n"
 "      --foreign-user             omit FSF copyright in output for foreign user\n"
 "  -m, --msgstr-prefix[=STRING]   use STRING or \"\" as prefix for msgstr entries\n"
 "  -M, --msgstr-suffix[=STRING]   use STRING or \"\" as suffix for msgstr entries\n"
 msgstr ""
+"Pou¾itie: %s [VO¥BY] def.po ref.po\n"
+"Povinné parametre pre dlh¹ie voµby sú povinné aj pre skrátené voµby.\n"
+"  -C, --compendium=SÚBOR      prídavna kni¾nica prekladov správ, mô¾e by»\n"
+"                              zadaná viac ako raz\n"
+"  -D, --directory=ADRESÁR     pripoji» ADRESÁR do zoznamu adresárov, v ktorých\n"
+"                              sa budú hµada» vstupné súbory\n"
+"  -e, --no-escape             nepou¾i» na výstupe riadiace sekvencie\n"
+"                              jazyka C (predvolené)\n"
+"  -E, --escape                pou¾i» na výstupe riadiace sekvencie jazyka C,\n"
+"                              namiesto roz¹írených znakov\n"
+"      --force-po              zapísa» súbor PO, aj keï bude prázdny\n"
+"  -h, --help                  zobrazi» túto nápovedu a skonèi»\n"
+"  -i, --indent                vytvori» .po s pou¾itím odsadzovania\n"
+"  -o, --output-file=SÚBOR     výstupný súbor bude ma» názov SÚBOR\n"
+"      --no-location           nezapisova» riadky '#: meno_súboru:riadok'\n"
+"      --add-location          generova» riadky '#: meno_súboru:riadok'\n"
+"                              (predvolené)\n"
+"      --strict                aktivova» presné dor¾iavanie módu Uniforum\n"
+"  -v, --verbose               zvý¹i» stupeò ukecanosti\n"
+"  -V, --version               zobrazi» informácie o verzii a skonèi»\n"
+"  -w, --width=©ÍRKA           nastavi» ¹írku výstupnej stránky\n"
 
-#: src/xgettext.c:945
-#, c-format
-msgid "%s:%d: warning: keyword nested in keyword arg"
-msgstr "%s:%d: upozornenie: kµúèové slovo je parametrom kµúèového slova"
+#: src/xgettext.c:720
+msgid "standard input"
+msgstr "¹tandardný vstup"
 
-#: src/xgettext.c:957
-#, c-format
-msgid "%s:%d: warning: keyword between outer keyword and its arg"
+#: src/xgettext.c:830
+msgid ""
+"Empty msgid.  It is reserved by GNU gettext:\n"
+"gettext(\"\") returns the header entry with\n"
+"meta information, not the empty string.\n"
 msgstr ""
-"%s:%d: upozornenie: kµúèové slovo medzi vonkaj¹ím kµúèovým slovom a jeho "
-"parametrom"
 
-#: src/xgettext.c:1446
+#: src/xgettext.c:1099
 #, c-format
 msgid "language `%s' unknown"
 msgstr "jazyk `%s' je neznámy"
 
+#~ msgid "while creating hash table"
+#~ msgstr "kým sa vytvára ha¹ovacia tabuµka"
+
+#, fuzzy
+#~ msgid "%s:%lu: warning: keyword nested in keyword arg"
+#~ msgstr "%s:%d: upozornenie: kµúèové slovo je parametrom kµúèového slova"
+
+#, fuzzy
+#~ msgid "%s:%lu: warning: keyword between outer keyword and its arg"
+#~ msgstr ""
+#~ "%s:%d: upozornenie: kµúèové slovo medzi vonkaj¹ím kµúèovým slovom a jeho "
+#~ "parametrom"
+
+#~ msgid "while preparing output"
+#~ msgstr "kým sa pripravuje výstup"
+
 #~ msgid "this message has no definition in the \"%s\" domain"
 #~ msgstr "táto správa nie je definovaná v doméne \"%s\""
 
 #~ msgid ""
 #~ "Usage: %s [OPTION] INPUTFILE ...\n"
 #~ "Mandatory arguments to long options are mandatory for short options too.\n"
-#~ "  -d, --default-domain=NAME      use NAME.po for output (instead of messages.po)\n"
-#~ "  -D, --directory=DIRECTORY      add DIRECTORY to list for input files search\n"
-#~ "  -e, --no-escape                do not use C escapes in output (default)\n"
-#~ "  -E, --escape                   use C escapes in output, no extended chars\n"
+#~ "  -d, --default-domain=NAME      use NAME.po for output (instead of "
+#~ "messages.po)\n"
+#~ "  -D, --directory=DIRECTORY      add DIRECTORY to list for input files "
+#~ "search\n"
+#~ "  -e, --no-escape                do not use C escapes in output "
+#~ "(default)\n"
+#~ "  -E, --escape                   use C escapes in output, no extended "
+#~ "chars\n"
 #~ "  -f, --files-from=FILE          get list of input files from FILE\n"
 #~ "      --force-po                 write PO file even if empty\n"
 #~ "  -F, --sort-by-file             sort output by file location\n"
@@ -1571,13 +2252,16 @@ msgstr "jazyk `%s' je nezn
 #~ "Povinné parametre pre dlh¹ie voµby sú povinné aj pre skrátené voµby.\n"
 #~ "  -d, --default-domain=MENO      meno výstupného súboru bude MENO.po\n"
 #~ "                                 (namiesto messages.po)\n"
-#~ "  -D, --directory=ADRESÁR        pripoji» ADRESÁR do zoznamu adresárov, v ktorých\n"
+#~ "  -D, --directory=ADRESÁR        pripoji» ADRESÁR do zoznamu adresárov, v "
+#~ "ktorých\n"
 #~ "                                 sa budú hµada» vstupné súbory\n"
 #~ "  -e, --no-escape                nepou¾i» na výstupe riadiace sekvencie\n"
 #~ "                                 jazyka C (predvolené)\n"
-#~ "  -E, --escape                   pou¾i» na výstupe riadiace sekvencie jazyka C\n"
+#~ "  -E, --escape                   pou¾i» na výstupe riadiace sekvencie "
+#~ "jazyka C\n"
 #~ "                                 namiesto roz¹írených znakov\n"
-#~ "  -f, --files-from=SÚBOR         zobra» zoznam vstupných súborov zo súboru SÚBOR\n"
+#~ "  -f, --files-from=SÚBOR         zobra» zoznam vstupných súborov zo "
+#~ "súboru SÚBOR\n"
 #~ "      --force-po                 zapísa» súbor PO, aj keï bude prázdny\n"
 #~ "  -F, --sort-by-file             zoradi» výstup podµa umiestnenia súboru\n"
 #~ "  -h, --help                     zobrazi» túto nápovedu a skonèi»\n"
@@ -1626,12 +2310,16 @@ msgstr "jazyk `%s' je nezn
 #~ "Generate binary message catalog from textual translation description.\n"
 #~ "\n"
 #~ "Mandatory arguments to long options are mandatory for short options too.\n"
-#~ "  -a, --alignment=NUMBER      align strings to NUMBER bytes (default: %d)\n"
-#~ "  -c, --check                 perform language dependent checks on strings\n"
-#~ "  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+#~ "  -a, --alignment=NUMBER      align strings to NUMBER bytes (default: %"
+#~ "d)\n"
+#~ "  -c, --check                 perform language dependent checks on "
+#~ "strings\n"
+#~ "  -D, --directory=DIRECTORY   add DIRECTORY to list for input files "
+#~ "search\n"
 #~ "  -f, --use-fuzzy             use fuzzy entries in output\n"
 #~ "  -h, --help                  display this help and exit\n"
-#~ "      --no-hash               binary file will not include the hash table\n"
+#~ "      --no-hash               binary file will not include the hash "
+#~ "table\n"
 #~ "  -o, --output-file=FILE      specify output file name as FILE\n"
 #~ "      --statistics            print statistics about translations\n"
 #~ "      --strict                enable strict Uniforum mode\n"
@@ -1647,18 +2335,22 @@ msgstr "jazyk `%s' je nezn
 #~ "Vytvori» binárny katalóg správ z textového prekladu v PO súbore.\n"
 #~ "\n"
 #~ "Povinné parametre pre dlh¹ie voµby sú povinné aj pre skrátené voµby.\n"
-#~ "  -a, --alignment=POÈET       zarovna» v¹etky re»azce na då¾ku POÈET bajtov\n"
+#~ "  -a, --alignment=POÈET       zarovna» v¹etky re»azce na då¾ku POÈET "
+#~ "bajtov\n"
 #~ "                              (¹tandardne: %d)\n"
 #~ "  -c, --check                 vykona» jazykovo závislé kontroly re»azcov\n"
-#~ "  -D, --directory=ADRESÁR     pripoji» ADRESÁR do zoznamu adresárov, v ktorých\n"
+#~ "  -D, --directory=ADRESÁR     pripoji» ADRESÁR do zoznamu adresárov, v "
+#~ "ktorých\n"
 #~ "                              sa budú hµada» vstupné súbory\n"
 #~ "  -f, --use-fuzzy             pou¾i» nepresné (fuzzy) polo¾ky na výstupe\n"
 #~ "  -h, --help                  zobrazi» túto nápovedu a skonèi»\n"
-#~ "      --no-hash               binárny katalóg správ nebude obsahova» ha¹ovaciu\n"
+#~ "      --no-hash               binárny katalóg správ nebude obsahova» "
+#~ "ha¹ovaciu\n"
 #~ "                              tabuµku\n"
 #~ "  -o, --output-file=SÚBOR     výstupný súbor bude ma» názov SÚBOR\n"
 #~ "      --statistics            zobrazi» ¹tatistiku o preklade\n"
-#~ "      --strict                aktivova» presné dodr¾iavanie módu Uniforum\n"
+#~ "      --strict                aktivova» presné dodr¾iavanie módu "
+#~ "Uniforum\n"
 #~ "  -v, --verbose               vypísa» zvlá¹tnosti vstupného súboru\n"
 #~ "  -V, --version               zobrazi» informácie o verzii a skonèi»\n"
 #~ "\n"
@@ -1672,7 +2364,8 @@ msgstr "jazyk `%s' je nezn
 #~ msgstr ""
 #~ "\n"
 #~ "Konvertova» binárny súborov .mo na súbory .po v ¹týle Uniforum.\n"
-#~ "Podporované sú súbory .mo v bitovom usporiadaní little-endian aj big-endian.\n"
+#~ "Podporované sú súbory .mo v bitovom usporiadaní little-endian aj big-"
+#~ "endian.\n"
 #~ "Ak nie je zadaný vstupný súbor alebo je zadaný ako -, bude sa naèítava»\n"
 #~ "¹tandardný vstup. ©tandardne sa výstup posiela na ¹tandardný výstup.\n"
 
@@ -1685,14 +2378,20 @@ msgstr "jazyk `%s' je nezn
 #~ "  -c, --add-comments[=TAG]       place comment block with TAG (or those\n"
 #~ "                                 preceding keyword lines) in output file\n"
 #~ "  -C, --c++                      shorthand for --language=C++\n"
-#~ "      --debug                    more detailed formatstring recognision result\n"
-#~ "  -d, --default-domain=NAME      use NAME.po for output (instead of messages.po)\n"
-#~ "  -D, --directory=DIRECTORY      add DIRECTORY to list for input files search\n"
-#~ "  -e, --no-escape                do not use C escapes in output (default)\n"
-#~ "  -E, --escape                   use C escapes in output, no extended chars\n"
+#~ "      --debug                    more detailed formatstring recognision "
+#~ "result\n"
+#~ "  -d, --default-domain=NAME      use NAME.po for output (instead of "
+#~ "messages.po)\n"
+#~ "  -D, --directory=DIRECTORY      add DIRECTORY to list for input files "
+#~ "search\n"
+#~ "  -e, --no-escape                do not use C escapes in output "
+#~ "(default)\n"
+#~ "  -E, --escape                   use C escapes in output, no extended "
+#~ "chars\n"
 #~ "  -f, --files-from=FILE          get list of input files from FILE\n"
 #~ "      --force-po                 write PO file even if empty\n"
-#~ "      --foreign-user             omit FSF copyright in output for foreign user\n"
+#~ "      --foreign-user             omit FSF copyright in output for foreign "
+#~ "user\n"
 #~ "  -F, --sort-by-file             sort output by file location\n"
 #~ msgstr ""
 #~ "Pou¾itie: %s [VO¥BA] VSTUPNÝ_SÚBOR ...\n"
@@ -1700,21 +2399,26 @@ msgstr "jazyk `%s' je nezn
 #~ "\n"
 #~ "Povinné parametre pre dlh¹ie voµby sú povinné aj pre skrátené voµby.\n"
 #~ "  -a, --extract-all              vybra» v¹etky re»azce\n"
-#~ "  -c, --add-comments[=ZNAÈKA]    umiestni» komentáre so ZNAÈKOU (alebo tie\n"
-#~ "                                 riadky, ktoré zaèínajú kµúèovým slovom) vo\n"
+#~ "  -c, --add-comments[=ZNAÈKA]    umiestni» komentáre so ZNAÈKOU (alebo "
+#~ "tie\n"
+#~ "                                 riadky, ktoré zaèínajú kµúèovým slovom) "
+#~ "vo\n"
 #~ "                                 výstupnom súbore\n"
 #~ "  -C, --c++                      skratka pre --language=C++\n"
 #~ "      --debug                    detailnej¹ie výsledky rozpoznávania\n"
 #~ "                                 formátovacích re»azcov\n"
 #~ "  -d, --default-domain=MENO      meno výstupného súboru bude MENO.po\n"
 #~ "                                 (miesto messages.po)\n"
-#~ "  -D, --directory=ADRESÁR        pripoji» ADRESÁR do zoznamu adresárov, v ktorých\n"
+#~ "  -D, --directory=ADRESÁR        pripoji» ADRESÁR do zoznamu adresárov, v "
+#~ "ktorých\n"
 #~ "                                 sa budú hµada» vstupné súbory\n"
 #~ "  -e, --no-escape                nepou¾i» na výstupe riadiace sekvencie\n"
 #~ "                                 jazyka C (predvolené)\n"
-#~ "  -E, --escape                   pou¾i» na výstupe riadiace sekvencie jazyka C\n"
+#~ "  -E, --escape                   pou¾i» na výstupe riadiace sekvencie "
+#~ "jazyka C\n"
 #~ "                                 namiesto roz¹írených znakov\n"
-#~ "  -f, --files-from=SÚBOR         zobra» zoznam vstupných súborov zo SÚBORU\n"
+#~ "  -f, --files-from=SÚBOR         zobra» zoznam vstupných súborov zo "
+#~ "SÚBORU\n"
 #~ "      --force-po                 zapísa» súbor PO, aj keï bude prázdny\n"
 #~ "      --foreign-user             vynacha» výpis autorských práv FSF\n"
 #~ "                                 pre cudzích pou¾ívateµov\n"
@@ -1724,37 +2428,54 @@ msgstr "jazyk `%s' je nezn
 #~ "  -h, --help                     display this help and exit\n"
 #~ "  -i, --indent                   write the .po file using indented style\n"
 #~ "  -j, --join-existing            join messages with existing file\n"
-#~ "  -k, --keyword[=WORD]           additonal keyword to be looked for (without\n"
+#~ "  -k, --keyword[=WORD]           additonal keyword to be looked for "
+#~ "(without\n"
 #~ "                                 WORD means not to use default keywords)\n"
-#~ "  -L, --language=NAME            recognise the specified language (C, C++, PO),\n"
-#~ "                                 otherwise is guessed from file extension\n"
-#~ "  -m, --msgstr-prefix[=STRING]   use STRING or \"\" as prefix for msgstr entries\n"
-#~ "  -M, --msgstr-suffix[=STRING]   use STRING or \"\" as suffix for msgstr entries\n"
+#~ "  -L, --language=NAME            recognise the specified language (C, C+"
+#~ "+, PO),\n"
+#~ "                                 otherwise is guessed from file "
+#~ "extension\n"
+#~ "  -m, --msgstr-prefix[=STRING]   use STRING or \"\" as prefix for msgstr "
+#~ "entries\n"
+#~ "  -M, --msgstr-suffix[=STRING]   use STRING or \"\" as suffix for msgstr "
+#~ "entries\n"
 #~ "      --no-location              do not write '#: filename:line' lines\n"
 #~ msgstr ""
 #~ "  -h, --help                     zobrazi» túto nápovedu a skonèi»\n"
 #~ "  -i, --indent                   vytvori» .po s pou¾itím odsadzovania\n"
 #~ "  -j, --join-existing            pripoji» správy k existujúcemu súboru\n"
-#~ "  -k, --keyword[=SLOVO]          ïal¹ie kµúèové slovo, ktoré sa bude vyhladáva»\n"
-#~ "                                 (ak je voµba uvedená bez èasti SLOVO, znamená\n"
-#~ "                                 to, ¾e ¹tandardné kµuèové slová sa nebudú\n"
+#~ "  -k, --keyword[=SLOVO]          ïal¹ie kµúèové slovo, ktoré sa bude "
+#~ "vyhladáva»\n"
+#~ "                                 (ak je voµba uvedená bez èasti SLOVO, "
+#~ "znamená\n"
+#~ "                                 to, ¾e ¹tandardné kµuèové slová sa "
+#~ "nebudú\n"
 #~ "                                 vyhµadáva»)\n"
 #~ "  -L, --language=MENO            rozpozna» zadaný jazyk (C, C++, PO),\n"
-#~ "                                 ak voµba nie je uvedená, jazyk sa zis»uj podµa\n"
+#~ "                                 ak voµba nie je uvedená, jazyk sa zis»uj "
+#~ "podµa\n"
 #~ "                                 prípony súboru\n"
-#~ "  -m, --msgstr-prefix[=RE«AZEC]  pou¾i» RE«AZEC alebo \"\" ako predponu pre\n"
+#~ "  -m, --msgstr-prefix[=RE«AZEC]  pou¾i» RE«AZEC alebo \"\" ako predponu "
+#~ "pre\n"
 #~ "                                 polo¾ku msgstr\n"
-#~ "  -M, --msgstr-suffix[=RE«AZEC]  pou¾i» RE«AZEC alebo \"\" ako príponu pre\n"
+#~ "  -M, --msgstr-suffix[=RE«AZEC]  pou¾i» RE«AZEC alebo \"\" ako príponu "
+#~ "pre\n"
 #~ "                                 polo¾ku msgstr\n"
-#~ "      --no-location              nezapisova» riadky '#: meno_súboru:riadok'\n"
+#~ "      --no-location              nezapisova» riadky '#: meno_súboru:"
+#~ "riadok'\n"
 
 #~ msgid ""
-#~ "  -n, --add-location             generate '#: filename:line' lines (default)\n"
-#~ "      --omit-header              don't write header with `msgid \"\"' entry\n"
+#~ "  -n, --add-location             generate '#: filename:line' lines "
+#~ "(default)\n"
+#~ "      --omit-header              don't write header with `msgid \"\"' "
+#~ "entry\n"
 #~ "  -o, --output=FILE              write output to specified file\n"
-#~ "  -p, --output-dir=DIR           output files will be placed in directory DIR\n"
-#~ "  -s, --sort-output              generate sorted output and remove duplicates\n"
-#~ "      --strict                   write out strict Uniforum conforming .po file\n"
+#~ "  -p, --output-dir=DIR           output files will be placed in directory "
+#~ "DIR\n"
+#~ "  -s, --sort-output              generate sorted output and remove "
+#~ "duplicates\n"
+#~ "      --strict                   write out strict Uniforum conforming .po "
+#~ "file\n"
 #~ "  -T, --trigraphs                understand ANSI C trigraphs for input\n"
 #~ "  -V, --version                  output version information and exit\n"
 #~ "  -w, --width=NUMBER             set output page width\n"
@@ -1762,16 +2483,22 @@ msgstr "jazyk `%s' je nezn
 #~ "\n"
 #~ "If INPUTFILE is -, standard input is read.\n"
 #~ msgstr ""
-#~ "  -n, --add-location             generova» riadky '#: meno_súboru:riadok'\n"
+#~ "  -n, --add-location             generova» riadky '#: meno_súboru:"
+#~ "riadok'\n"
 #~ "                                 (predvolené)\n"
-#~ "      --omit-header              nezapísa» hlavièku s polo¾kou `msgid \"\"'\n"
+#~ "      --omit-header              nezapísa» hlavièku s polo¾kou `msgid "
+#~ "\"\"'\n"
 #~ "  -o, --output=SÚBOR             zapísa» výstup do zadaného súboru\n"
-#~ "  -p, --output-dir=ADRESÁR       výstupné súbory budú ulo¾ené v adresári ADRESÁR\n"
-#~ "  -s, --sort-output              generova» zoradený výstup a zmaza» duplikáty\n"
-#~ "      --strict                   aktivova» presné dodr¾iavanie módu Uniforum\n"
+#~ "  -p, --output-dir=ADRESÁR       výstupné súbory budú ulo¾ené v adresári "
+#~ "ADRESÁR\n"
+#~ "  -s, --sort-output              generova» zoradený výstup a zmaza» "
+#~ "duplikáty\n"
+#~ "      --strict                   aktivova» presné dodr¾iavanie módu "
+#~ "Uniforum\n"
 #~ "  -T, --trigraphs                pozna» ANSI C trojznaky na vstupe\n"
 #~ "  -V, --version                  zobrazi» informácie o verzii a skonèi»\n"
 #~ "  -w, --width=©ÍRKA              nastavi» ¹írku výstupnej stránky\n"
-#~ "  -x, --exclude-file=SÚBOR       polo¾ky zo súboru SÚBOR sa nebudú vybera»\n"
+#~ "  -x, --exclude-file=SÚBOR       polo¾ky zo súboru SÚBOR sa nebudú "
+#~ "vybera»\n"
 #~ "\n"
 #~ "Ak VSTUPNÝ_SÚBOR je -, naèíta sa ¹tandardný vstup.\n"
index 145ffb25f376a63c2fc5c7de4b5facfd6947a299..02d1ba8979556cf3aa79c0ee6b9b77dcc6023dd5 100644 (file)
Binary files a/po/sl.gmo and b/po/sl.gmo differ
index 16345b08d821e0c43d95f06197de12ae2b69645c..9ea8be23fa0aff387b343f985656f657381b5d49 100644 (file)
--- a/po/sl.po
+++ b/po/sl.po
@@ -2,25 +2,72 @@
 # Copyright (C) 1995, 1996, 1997, 1998, 2000, 2001 Free Software Foundation, Inc.
 # Primo¾ Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>, 1996, 1999, 2000, 2001.
 #
-# $Id: gettext-0.10.38.sl.po,v 1.2 2001/05/26 15:41:05 peterlin Exp $
+# $Id: sl.po,v 1.15 2001/05/28 15:13:22 haible Exp $
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: GNU gettext 0.10.38\n"
-"POT-Creation-Date: 2001-05-18 16:24+0200\n"
+"POT-Creation-Date: 2001-11-30 14:18+0100\n"
 "PO-Revision-Date: 2001-05-26 17:40+02:00\n"
 "Last-Translator: Primoz Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>\n"
 "Language-Team: Slovenian <sl@li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=ISO-8859-2\n"
-"Content-Transfer-Encoding: 8-bit\n"
+"Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n"
 "%100==4 ? 2 : 3);\n"
 
+#: lib/argmatch.c:141
+#, c-format
+msgid "invalid argument `%s' for `%s'"
+msgstr ""
+
+#: lib/argmatch.c:142
+#, c-format
+msgid "ambiguous argument `%s' for `%s'"
+msgstr ""
+
+#: lib/argmatch.c:162
+msgid "Valid arguments are:"
+msgstr ""
+
+#: lib/copy-file.c:60 src/file-list.c:57 src/po-lex.c:732 src/read-mo.c:170
+#: src/xgettext.c:729 src/xgettext.c:742 src/xgettext.c:752
+#, c-format
+msgid "error while opening \"%s\" for reading"
+msgstr "datoteke \"%s\" ni moè odpreti za branje"
+
+#: lib/copy-file.c:67
+#, fuzzy, c-format
+msgid "cannot open backup file \"%s\" for writing"
+msgstr "napaka pri pisanju na \"%s\""
+
+#: lib/copy-file.c:80
+#, fuzzy, c-format
+msgid "error reading \"%s\""
+msgstr "napaka pri branju \"%s\""
+
+#: lib/copy-file.c:86 lib/copy-file.c:90
+#, fuzzy, c-format
+msgid "error writing \"%s\""
+msgstr "napaka pri pisanju na datoteko \"%s\""
+
+#: lib/copy-file.c:92
+#, fuzzy, c-format
+msgid "error after reading \"%s\""
+msgstr "napaka pri branju \"%s\""
+
 #: lib/error.c:115
 msgid "Unknown system error"
 msgstr "Neznana sistemska napaka"
 
+#: lib/execute.c:170 lib/execute.c:205 lib/pipe-bidi.c:156 lib/pipe-bidi.c:191
+#: lib/pipe-in.c:167 lib/pipe-in.c:202 lib/pipe-out.c:167 lib/pipe-out.c:202
+#: lib/wait-process.c:136
+#, c-format
+msgid "%s subprocess failed"
+msgstr ""
+
 #: lib/getopt.c:691
 #, c-format
 msgid "%s: option `%s' is ambiguous\n"
@@ -41,19 +88,16 @@ msgstr "%s: izbira ,%c%s` ne dovoljuje argumenta\n"
 msgid "%s: option `%s' requires an argument\n"
 msgstr "%s: izbira ,%s` zahteva argument\n"
 
-#. --option
 #: lib/getopt.c:768
 #, c-format
 msgid "%s: unrecognized option `--%s'\n"
 msgstr "%s: neprepoznana izbira ,--%s`\n"
 
-#. +option or -option
 #: lib/getopt.c:772
 #, c-format
 msgid "%s: unrecognized option `%c%s'\n"
 msgstr "%s: neprepoznana izbira ,%c%s`\n"
 
-#. 1003.2 specifies the format of this message.
 #: lib/getopt.c:798
 #, c-format
 msgid "%s: illegal option -- %c\n"
@@ -64,7 +108,6 @@ msgstr "%s: nedovoljena izbira -- %c\n"
 msgid "%s: invalid option -- %c\n"
 msgstr "%s: neveljavna izbira -- %c\n"
 
-#. 1003.2 specifies the format of this message.
 #: lib/getopt.c:831 lib/getopt.c:961
 #, c-format
 msgid "%s: option requires an argument -- %c\n"
@@ -80,13 +123,115 @@ msgstr "%s: izbira ,-W %s` je dvoumna\n"
 msgid "%s: option `-W %s' doesn't allow an argument\n"
 msgstr "%s: izbira ,-W %s` ne dovoljuje argumenta\n"
 
+#: lib/javacomp.c:465
+msgid "Java compiler not found, try installing gcj or set $JAVAC"
+msgstr ""
+
+#: lib/javaexec.c:404
+msgid "Java virtual machine not found, try installing gij or set $JAVA"
+msgstr ""
+
 #  Morda ,,Zmanjkalo pomnilnika''?
-#: lib/obstack.c:474 lib/xerror.c:69 lib/xmalloc.c:86
+#: lib/obstack.c:474 lib/xerror.c:75 lib/xmalloc.c:56
 msgid "memory exhausted"
 msgstr "zmanjkalo pomnilnika"
 
-#: src/gettext.c:143 src/msgcmp.c:138 src/msgcomm.c:275 src/msgfmt.c:268
-#: src/msgmerge.c:199 src/msgunfmt.c:172 src/ngettext.c:123 src/xgettext.c:387
+#: lib/pipe-bidi.c:119 lib/pipe-bidi.c:121 lib/pipe-in.c:136
+#: lib/pipe-out.c:136
+#, fuzzy
+msgid "cannot create pipe"
+msgstr "izhodne datoteke \"%s\" ni mogoèe ustvariti"
+
+#: lib/wait-process.c:117
+#, c-format
+msgid "%s subprocess"
+msgstr ""
+
+#: lib/wait-process.c:129
+#, c-format
+msgid "%s subprocess got fatal signal"
+msgstr ""
+
+#: src/format-c.c:578 src/format-python.c:463
+#, fuzzy
+msgid "number of format specifications in 'msgid' and 'msgstr' does not match"
+msgstr "¹tevili formatnih doloèil v ,msgid` in ,msgstr` se ne ujemata"
+
+#: src/format-c.c:588 src/format-python.c:473
+#, fuzzy, c-format
+msgid ""
+"format specifications in 'msgid' and 'msgstr' for argument %u are not the "
+"same"
+msgstr "formatni doloèili za argument %lu nista enaki"
+
+#: src/format-java.c:652 src/format-pascal.c:396
+#, fuzzy, c-format
+msgid "a format specification for argument {%u} doesn't exist in 'msgid'"
+msgstr "formatni doloèili za argument %lu nista enaki"
+
+#: src/format-java.c:662 src/format-pascal.c:406
+#, fuzzy, c-format
+msgid "a format specification for argument {%u} doesn't exist in 'msgstr'"
+msgstr "formatni doloèili za argument %lu nista enaki"
+
+#: src/format-java.c:676 src/format-pascal.c:420
+#, fuzzy, c-format
+msgid ""
+"format specifications in 'msgid' and 'msgstr' for argument {%u} are not the "
+"same"
+msgstr "formatni doloèili za argument %lu nista enaki"
+
+#: src/format-lisp.c:3371
+#, fuzzy
+msgid "format specifications in 'msgid' and 'msgstr' are not equivalent"
+msgstr "¹tevili formatnih doloèil v ,msgid` in ,msgstr` se ne ujemata"
+
+#: src/format-python.c:391
+#, fuzzy
+msgid ""
+"format specifications in 'msgid' expect a mapping, those in 'msgstr' expect "
+"a tuple"
+msgstr "¹tevili formatnih doloèil v ,msgid` in ,msgstr` se ne ujemata"
+
+#: src/format-python.c:399
+#, fuzzy
+msgid ""
+"format specifications in 'msgid' expect a tuple, those in 'msgstr' expect a "
+"mapping"
+msgstr "¹tevili formatnih doloèil v ,msgid` in ,msgstr` se ne ujemata"
+
+#: src/format-python.c:422
+#, fuzzy, c-format
+msgid "a format specification for argument '%s' doesn't exist in 'msgid'"
+msgstr "formatni doloèili za argument %lu nista enaki"
+
+#: src/format-python.c:432
+#, fuzzy, c-format
+msgid "a format specification for argument '%s' doesn't exist in 'msgstr'"
+msgstr "formatni doloèili za argument %lu nista enaki"
+
+#: src/format-python.c:446
+#, fuzzy, c-format
+msgid ""
+"format specifications in 'msgid' and 'msgstr' for argument '%s' are not the "
+"same"
+msgstr "formatni doloèili za argument %lu nista enaki"
+
+#: src/format-ycp.c:137
+#, fuzzy, c-format
+msgid "a format specification for argument %u doesn't exist in 'msgstr'"
+msgstr "formatni doloèili za argument %lu nista enaki"
+
+#: src/format-ycp.c:138
+#, fuzzy, c-format
+msgid "a format specification for argument %u doesn't exist in 'msgid'"
+msgstr "formatni doloèili za argument %lu nista enaki"
+
+#: src/gettext.c:146 src/hostname.c:168 src/msgattrib.c:264 src/msgcat.c:229
+#: src/msgcmp.c:134 src/msgcomm.c:232 src/msgconv.c:182 src/msgen.c:171
+#: src/msgexec.c:240 src/msgfmt.c:333 src/msggrep.c:276 src/msginit.c:247
+#: src/msgmerge.c:252 src/msgunfmt.c:182 src/msguniq.c:207 src/ngettext.c:126
+#: src/xgettext.c:352
 #, c-format, no-wrap
 msgid ""
 "Copyright (C) %s Free Software Foundation, Inc.\n"
@@ -98,39 +243,45 @@ msgstr ""
 "raz¹irjate so navedeni v izvorni kodi. Za program ni NOBENEGA jamstva,\n"
 "niti jamstev USTREZNOSTI ZA PRODAJO ali PRIMERNOSTI ZA RABO.\n"
 
-#: src/gettext.c:148 src/msgcmp.c:143 src/msgcomm.c:280 src/msgfmt.c:273
-#: src/msgmerge.c:204 src/msgunfmt.c:177 src/ngettext.c:128 src/xgettext.c:392
+#: src/gettext.c:151 src/hostname.c:173 src/msgattrib.c:269 src/msgcat.c:234
+#: src/msgcmp.c:139 src/msgcomm.c:237 src/msgconv.c:187 src/msgen.c:176
+#: src/msgexec.c:245 src/msgfmt.c:338 src/msggrep.c:281 src/msginit.c:252
+#: src/msgmerge.c:257 src/msgunfmt.c:187 src/msguniq.c:212 src/ngettext.c:131
+#: src/xgettext.c:357
 #, c-format
 msgid "Written by %s.\n"
 msgstr "Avtor %s.\n"
 
-#: src/gettext.c:166 src/ngettext.c:140
+#: src/gettext.c:169 src/hostname.c:183 src/msginit.c:262 src/ngettext.c:143
 msgid "too many arguments"
 msgstr "preveè argumentov"
 
-#: src/gettext.c:176 src/ngettext.c:152
+#: src/gettext.c:179 src/ngettext.c:155
 msgid "missing arguments"
 msgstr "argumenti manjkajo"
 
-#: src/gettext.c:248 src/msgcmp.c:175 src/msgcomm.c:373 src/msgfmt.c:385
-#: src/msgmerge.c:263 src/msgunfmt.c:211 src/ngettext.c:207 src/xgettext.c:514
+#: src/gettext.c:251 src/hostname.c:197 src/msgattrib.c:322 src/msgcat.c:290
+#: src/msgcmp.c:171 src/msgcomm.c:306 src/msgconv.c:241 src/msgen.c:227
+#: src/msgexec.c:338 src/msgfmt.c:479 src/msggrep.c:371 src/msginit.c:338
+#: src/msgmerge.c:367 src/msgunfmt.c:262 src/msguniq.c:269 src/ngettext.c:210
+#: src/xgettext.c:499
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "Poskusite ,%s --help` za izèrpnej¹a navodila\n"
 
-#: src/gettext.c:253
+#: src/gettext.c:256
 #, c-format, no-wrap
 msgid ""
 "Usage: %s [OPTION] [[TEXTDOMAIN] MSGID]\n"
 "or:    %s [OPTION] -s [MSGID]...\n"
 msgstr ""
 
-#: src/gettext.c:259
+#: src/gettext.c:262
 #, no-wrap
 msgid "Display native language translation of a textual message.\n"
 msgstr ""
 
-#: src/gettext.c:263
+#: src/gettext.c:266
 #, fuzzy, no-wrap
 msgid ""
 "  -d, --domain=TEXTDOMAIN   retrieve translated messages from TEXTDOMAIN\n"
@@ -151,7 +302,7 @@ msgstr ""
 "  -V, --version             razlièica programa\n"
 "  [DOMENA] MSGID            i¹èemo prevod gesla MSGID v podani DOMENI\n"
 
-#: src/gettext.c:274
+#: src/gettext.c:277
 #, fuzzy, c-format, no-wrap
 msgid ""
 "If the TEXTDOMAIN parameter is not given, the domain is determined from the\n"
@@ -172,63 +323,37 @@ msgstr ""
 "kataloga sporoèil.\n"
 "Privzet imenik s katalogom sporoèil: %s\n"
 
-#: src/gettext.c:284 src/msgcmp.c:214 src/msgcomm.c:452 src/msgfmt.c:444
-#: src/msgmerge.c:332 src/msgunfmt.c:264 src/ngettext.c:240 src/xgettext.c:605
-msgid "Report bugs to <bug-gnu-utils@gnu.org>.\n"
+#: src/gettext.c:288 src/hostname.c:227 src/msgattrib.c:402 src/msgcat.c:371
+#: src/msgcmp.c:216 src/msgcomm.c:384 src/msgconv.c:305 src/msgen.c:287
+#: src/msgexec.c:410 src/msgfmt.c:563 src/msggrep.c:457 src/msginit.c:389
+#: src/msgmerge.c:465 src/msgunfmt.c:331 src/msguniq.c:343 src/ngettext.c:244
+#: src/xgettext.c:591
+#, fuzzy
+msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
 msgstr "Morebitne napake v programu sporoèite na <bug-gnu-utils@gnu.org>.\n"
 
-#: src/msgcmp.c:154 src/msgmerge.c:215
-msgid "no input files given"
-msgstr "vhodni datoteki nista podani"
-
-#: src/msgcmp.c:159 src/msgmerge.c:220
-msgid "exactly 2 input files required"
-msgstr "potrebni sta natanèno dve vhodni datoteki"
-
-#: src/msgcmp.c:180 src/msgmerge.c:268
+#: src/hostname.c:202 src/msginit.c:343
 #, c-format, no-wrap
-msgid "Usage: %s [OPTION] def.po ref.pot\n"
-msgstr ""
-
-#: src/msgcmp.c:185
-#, fuzzy, no-wrap
-msgid ""
-"Compare two Uniforum style .po files to check that both contain the same\n"
-"set of msgid strings.  The def.po file is an existing PO file with the\n"
-"translations.  The ref.pot file is the last created PO file, or a PO Template\n"
-"file (generally created by xgettext).  This is useful for checking that\n"
-"you have translated each and every message in your program.  Where an exact\n"
-"match cannot be found, fuzzy matching is used to produce better diagnostics.\n"
+msgid "Usage: %s [OPTION]\n"
 msgstr ""
-"Uporaba: %s [IZBIRA] def.po ref.po\n"
-"Argumenti, obvezni za dolge oblike izbire, so obvezni tudi za kratke.\n"
-"  -D, --directory=IMENIK   vhodne datoteke i¹èemo tudi v imeniku IMENIK\n"
-"  -h, --help               ta navodila\n"
-"  -V, --version            razlièica programa\n"
-"\n"
-"Preverimo, èe dve podani datoteki v obliki Uniforum vsebujeta isti nabor\n"
-"nizov msgid. Datoteka def.po je obstojeèa datoteka PO s starimi prevodi,\n"
-"datoteka ref.po pa nazadnje ustvarjena datoteka PO (v splo¹nem z xgettext).\n"
-"To je uporabno, ko ¾elimo preveriti, èe so prevedena res vsa sporoèila\n"
-"v programu.  Kadar ne najdemo natanènega ujemanja msgid, zaradi bolj¹e\n"
-"diagnostike poskusimo z ohlapnim (fuzzy) algoritmom.\n"
 
-#: src/msgcmp.c:195 src/msgcomm.c:395 src/msgfmt.c:400 src/msgmerge.c:286
-#: src/msgunfmt.c:226
+#: src/hostname.c:207
 #, no-wrap
-msgid "Mandatory arguments to long options are mandatory for short options too.\n"
+msgid "Print the machine's hostname.\n"
 msgstr ""
 
-#: src/msgcmp.c:200
+#: src/hostname.c:212
 #, no-wrap
 msgid ""
-"Input file location:\n"
-"  def.po                      translations\n"
-"  ref.pot                     references to the sources\n"
-"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"Output format:\n"
+"  -s, --short           short host name\n"
+"  -f, --fqdn, --long    long host name, includes fully qualified domain name,\n"
+"                          and aliases\n"
+"  -i, --ip-address      addresses for the hostname\n"
 msgstr ""
 
-#: src/msgcmp.c:208
+#: src/hostname.c:221 src/msgattrib.c:396 src/msgcmp.c:210 src/msgconv.c:299
+#: src/msgen.c:281 src/msgexec.c:404 src/msggrep.c:451 src/msginit.c:383
 #, no-wrap
 msgid ""
 "Informative output:\n"
@@ -236,82 +361,143 @@ msgid ""
 "  -V, --version               output version information and exit\n"
 msgstr ""
 
-#: src/msgcmp.c:263 src/msgmerge.c:414
-msgid "this message is used but not defined..."
-msgstr "to sporoèilo je uporabljeno, a ne definirano..."
+#: src/hostname.c:242 src/hostname.c:249
+msgid "could not get host name"
+msgstr ""
 
-#: src/msgcmp.c:265 src/msgmerge.c:416
-msgid "...but this definition is similar"
-msgstr "...a ta definicija je podobna"
+#: src/msgattrib.c:284 src/msgconv.c:202 src/msgexec.c:190 src/msggrep.c:296
+#: src/msginit.c:205 src/msguniq.c:227
+msgid "at most one input file allowed"
+msgstr ""
 
-#: src/msgcmp.c:271 src/msgmerge.c:443
+#: src/msgattrib.c:290 src/msgattrib.c:294 src/msgcat.c:244 src/msgcat.c:248
+#: src/msgcomm.c:247 src/msgcomm.c:251 src/msgconv.c:208 src/msgconv.c:212
+#: src/msgen.c:198 src/msgen.c:202 src/msgexec.c:260 src/msgexec.c:264
+#: src/msgfmt.c:358 src/msggrep.c:302 src/msggrep.c:306 src/msgmerge.c:282
+#: src/msgmerge.c:303 src/msgmerge.c:307 src/msguniq.c:233 src/msguniq.c:237
+#: src/xgettext.c:367 src/xgettext.c:371
 #, c-format
-msgid "this message is used but not defined in %s"
-msgstr "to sporoèilo je uporabljeno, a ne definirano v %s"
+msgid "%s and %s are mutually exclusive"
+msgstr "%s in %s se med seboj izkljuèujeta"
 
-#: src/msgcmp.c:285
-msgid "warning: this message is not used"
-msgstr "opozorilo: to sporoèilo ni uporabljeno"
+#: src/msgattrib.c:327 src/msgconv.c:246 src/msggrep.c:376 src/msguniq.c:274
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] [INPUTFILE]\n"
+msgstr ""
 
-#: src/msgcmp.c:291 src/po-lex.c:98
-#, c-format
-msgid "found %d fatal error"
-msgid_plural "found %d fatal errors"
-msgstr[0] "%d kritièna napaka"
-msgstr[1] "%d kritièni napaki"
-msgstr[2] "%d kritiène napake"
-msgstr[3] "%d kritiènih napak"
+#: src/msgattrib.c:332
+#, no-wrap
+msgid ""
+"Filters the messages of a translation catalog according to their attributes,\n"
+"and manipulates the attributes.\n"
+msgstr ""
 
-#: src/msgcmp.c:365 src/msgfmt.c:699 src/read-po.c:237 src/xgettext.c:1199
-msgid "duplicate message definition"
-msgstr "podvojena definicija sporoèila"
+#: src/msgattrib.c:338 src/msgcat.c:313 src/msgcmp.c:191 src/msgcomm.c:328
+#: src/msgconv.c:256 src/msgen.c:245 src/msgexec.c:353 src/msgfmt.c:494
+#: src/msggrep.c:387 src/msginit.c:354 src/msgmerge.c:390 src/msgunfmt.c:277
+#: src/msguniq.c:291
+#, no-wrap
+msgid "Mandatory arguments to long options are mandatory for short options too.\n"
+msgstr ""
 
-#: src/msgcmp.c:366 src/msgfmt.c:701 src/read-po.c:238 src/xgettext.c:1200
-msgid "...this is the location of the first definition"
-msgstr "...to je kraj prve definicije"
+#: src/msgattrib.c:343 src/msgconv.c:261 src/msggrep.c:392 src/msguniq.c:296
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  INPUTFILE                   input PO file\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"If no input file is given or if it is -, standard input is read.\n"
+msgstr ""
 
-#: src/msgcmp.c:406 src/read-po.c:286
-#, c-format
-msgid "this message has no definition in the \"%s\" domain"
-msgstr "to sporoèilo ni definirano v domeni \"%s\""
+#: src/msgattrib.c:351 src/msgconv.c:269 src/msgen.c:258 src/msgexec.c:366
+#: src/msggrep.c:400 src/msgmerge.c:412
+#, no-wrap
+msgid ""
+"Output file location:\n"
+"  -o, --output-file=FILE      write output to specified file\n"
+"The results are written to standard output if no output file is specified\n"
+"or if it is -.\n"
+msgstr ""
 
-#. We are about to construct the absolute path to the
-#. directory for the output files but asprintf failed.
-#: src/msgcomm.c:231 src/xgettext.c:326 src/xgettext.c:1395
-msgid "while preparing output"
-msgstr "med pripravo izpisa"
+#: src/msgattrib.c:359
+#, no-wrap
+msgid ""
+"Message selection:\n"
+"      --translated            keep translated, remove untranslated messages\n"
+"      --untranslated          keep untranslated, remove translated messages\n"
+"      --no-fuzzy              remove 'fuzzy' marked messages\n"
+"      --only-fuzzy            keep 'fuzzy' marked messages\n"
+"      --no-obsolete           remove obsolete #~ messages\n"
+"      --only-obsolete         keep obsolete #~ messages\n"
+msgstr ""
 
-#: src/msgcomm.c:263 src/msgcomm.c:267 src/msgmerge.c:225 src/xgettext.c:364
-#: src/xgettext.c:368
-#, c-format
-msgid "%s and %s are mutually exclusive"
-msgstr "%s in %s se med seboj izkljuèujeta"
+#: src/msgattrib.c:370
+#, no-wrap
+msgid ""
+"Attribute manipulation:\n"
+"      --set-fuzzy             set all messages 'fuzzy'\n"
+"      --clear-fuzzy           set all messages non-'fuzzy'\n"
+"      --set-obsolete          set all messages obsolete\n"
+"      --clear-obsolete        set all messages non-obsolete\n"
+"      --fuzzy                 synonym for --only-fuzzy --clear-fuzzy\n"
+"      --obsolete              synonym for --only-obsolete --clear-obsolete\n"
+msgstr ""
 
-#: src/msgcomm.c:319
-msgid "at least two files must be specified"
-msgstr "podani morata biti vsaj dve datoteki"
+#: src/msgattrib.c:381
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
+"  -e, --no-escape             do not use C escapes in output (default)\n"
+"  -E, --escape                use C escapes in output, no extended chars\n"
+"      --force-po              write PO file even if empty\n"
+"  -i, --indent                write the .po file using indented style\n"
+"      --no-location           do not write '#: filename:line' lines\n"
+"  -n, --add-location          generate '#: filename:line' lines (default)\n"
+"      --strict                write out strict Uniforum conforming .po file\n"
+"  -w, --width=NUMBER          set output page width\n"
+"  -s, --sort-output           generate sorted output\n"
+"  -F, --sort-by-file          sort output by file location\n"
+msgstr ""
+"Uporaba: %s [IZBIRA] def.po ref.po\n"
+"Argumenti, obvezni za dolge oblike izbire, so obvezni tudi za kratke.\n"
+"  -C, --compendimu=FILE       dodatna knji¾nica prevodov sporoèil; podana je\n"
+"                              lahko veè kot ena\n"
+"  -D, --directory=IMENIK      vhodne datoteke i¹èemo tudi v imeniku IMENIK\n"
+"  -e, --no-escape             brez ube¾nih sekvenc v obliki C (privzeto)\n"
+"  -E, --escape                z ube¾nimi sekvencami C, brez raz¹irjenega \n"
+"                              nabora znakov\n"
+"  -h, --help                  ta navodila\n"
+"  -i, --indent                izpis z zamiki\n"
+"  -o, --output-file=DATOTEKA  izhodna DATOTEKA\n"
+"      --no-location           brez vrstic ,#: filename:line`\n"
+"      --add-location          z vrsticami ,#: filename:line` (privzeto)\n"
+"      --strict                stroga oblika Uniforum pri izpisu\n"
+"  -v, --verbose               z dodatnimi sporoèili med izvajanjem\n"
+"  -V, --version               razlièica programa\n"
+"  -w, --width=©TEVILO         ¹irina strani pri izpisu, v znakih\n"
 
-#: src/msgcomm.c:330
+#: src/msgcat.c:254 src/msgcomm.c:277
 #, c-format
 msgid "impossible selection criteria specified (%d < n < %d)"
 msgstr "doloèeni kriteriji izbire niso mogoèi (%d < n < %d)"
 
-#: src/msgcomm.c:378 src/xgettext.c:519
+#: src/msgcat.c:295 src/msgcomm.c:311 src/xgettext.c:504
 #, c-format, no-wrap
 msgid "Usage: %s [OPTION] [INPUTFILE]...\n"
 msgstr ""
 
-#: src/msgcomm.c:383
+#: src/msgcat.c:300
 #, fuzzy, no-wrap
 msgid ""
+"Concatenates and merges the specified PO files.\n"
 "Find messages which are common to two or more of the specified PO files.\n"
 "By using the --more-than option, greater commonality may be requested\n"
 "before messages are printed.  Conversely, the --less-than option may be\n"
 "used to specify less commonality before messages are printed (i.e.\n"
 "--less-than=2 will only print the unique messages).  Translations,\n"
-"comments and extract comments will be preserved, but only from the first\n"
-"PO file to define them.  File positions from all PO files will be\n"
-"cumulated.\n"
+"comments and extract comments will be cumulated, except that if --use-first\n"
+"is specified, they will be taken from the first PO file to define them.\n"
+"File positions from all PO files will be cumulated.\n"
 msgstr ""
 "  -V, --version                  razlièica programa\n"
 "  -w, --width=©TEVILO            ¹irina vrstice pri izpisu, v znakih\n"
@@ -327,7 +513,7 @@ msgstr ""
 "pri izvlaèenju se ohranijo samo iz prve podane datoteke PO. Mesta v datotekah \n"
 "iz vseh datotek PO se ohranijo.\n"
 
-#: src/msgcomm.c:400 src/xgettext.c:535
+#: src/msgcat.c:318 src/msgcomm.c:333 src/xgettext.c:520
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -337,17 +523,16 @@ msgid ""
 "If input file is -, standard input is read.\n"
 msgstr ""
 
-#: src/msgcomm.c:409 src/xgettext.c:544
+#: src/msgcat.c:327 src/msgcomm.c:342 src/msguniq.c:304
 #, no-wrap
 msgid ""
 "Output file location:\n"
-"  -d, --default-domain=NAME      use NAME.po for output (instead of messages.po)\n"
-"  -o, --output=FILE              write output to specified file\n"
-"  -p, --output-dir=DIR           output files will be placed in directory DIR\n"
-"If output file is -, output is written to standard output.\n"
+"  -o, --output-file=FILE         write output to specified file\n"
+"The results are written to standard output if no output file is specified\n"
+"or if it is -.\n"
 msgstr ""
 
-#: src/msgcomm.c:418
+#: src/msgcat.c:335
 #, fuzzy, no-wrap
 msgid ""
 "Message selection:\n"
@@ -355,7 +540,7 @@ msgid ""
 "                                 definitions, defaults to infinite if not\n"
 "                                 set\n"
 "  ->, --more-than=NUMBER         print messages with more than this many\n"
-"                                 definitions, defaults to 1 if not set\n"
+"                                 definitions, defaults to 0 if not set\n"
 "  -u, --unique                   shorthand for --less-than=2, requests\n"
 "                                 that only unique messages be printed\n"
 msgstr ""
@@ -373,10 +558,13 @@ msgstr ""
 "pri izvlaèenju se ohranijo samo iz prve podane datoteke PO. Mesta v datotekah \n"
 "iz vseh datotek PO se ohranijo.\n"
 
-#: src/msgcomm.c:430
+#: src/msgcat.c:347 src/msguniq.c:319
 #, fuzzy, no-wrap
 msgid ""
 "Output details:\n"
+"  -t, --to-code=NAME             encoding for output\n"
+"      --use-first                use first available translation for each\n"
+"                                 message, don't merge several translations\n"
 "  -e, --no-escape                do not use C escapes in output (default)\n"
 "  -E, --escape                   use C escapes in output, no extended chars\n"
 "      --force-po                 write PO file even if empty\n"
@@ -385,9 +573,8 @@ msgid ""
 "  -n, --add-location             generate '#: filename:line' lines (default)\n"
 "      --strict                   write out strict Uniforum conforming .po file\n"
 "  -w, --width=NUMBER             set output page width\n"
-"  -s, --sort-output              generate sorted output and remove duplicates\n"
+"  -s, --sort-output              generate sorted output\n"
 "  -F, --sort-by-file             sort output by file location\n"
-"      --omit-header              don't write header with `msgid \"\"' entry\n"
 msgstr ""
 "Uporaba: %s [IZBIRA] def.po ref.po\n"
 "Argumenti, obvezni za dolge oblike izbire, so obvezni tudi za kratke.\n"
@@ -407,7 +594,7 @@ msgstr ""
 "  -V, --version               razlièica programa\n"
 "  -w, --width=©TEVILO         ¹irina strani pri izpisu, v znakih\n"
 
-#: src/msgcomm.c:446 src/xgettext.c:599
+#: src/msgcat.c:365 src/msgcomm.c:378 src/msguniq.c:337 src/xgettext.c:585
 #, no-wrap
 msgid ""
 "Informative output:\n"
@@ -415,73 +602,436 @@ msgid ""
 "  -V, --version                  output version information and exit\n"
 msgstr ""
 
-#: src/msgcomm.c:477 src/msgunfmt.c:386 src/po-lex.c:84 src/xget-lex.c:158
-#: src/xget-lex.c:171 src/xget-lex.c:181 src/xgettext.c:630
-#, c-format
-msgid "error while opening \"%s\" for reading"
-msgstr "datoteke \"%s\" ni moè odpreti za branje"
-
-#: src/msgcomm.c:563 src/xgettext.c:677 src/xgettext.c:1100
-msgid "this file may not contain domain directives"
-msgstr "ta datoteka morda ne vsebuje direktiv domene"
-
-#: src/msgfmt.c:284 src/xgettext.c:403
-msgid "no input file given"
-msgstr "vhodna datoteka ni podana"
-
-#: src/msgfmt.c:335
-#, c-format
-msgid "error while opening \"%s\" for writing"
-msgstr "napaka pri pisanju na \"%s\""
-
-#: src/msgfmt.c:358
-#, c-format
-msgid "%d translated message"
-msgid_plural "%d translated messages"
-msgstr[0] "%d prevedeno sporoèilo"
-msgstr[1] "%d prevedeni sporoèili"
-msgstr[2] "%d prevedena sporoèila"
-msgstr[3] "%d prevedenih sporoèil"
-
-#: src/msgfmt.c:363
-#, c-format
-msgid ", %d fuzzy translation"
-msgid_plural ", %d fuzzy translations"
-msgstr[0] ", %d ohlapni prevod"
-msgstr[1] ", %d ohlapna prevoda"
-msgstr[2] ", %d ohlapni prevodi"
-msgstr[3] ", %d ohlapnih prevodov"
+#: src/msgcmp.c:150 src/msgmerge.c:268
+msgid "no input files given"
+msgstr "vhodni datoteki nista podani"
 
-#: src/msgfmt.c:368
-#, c-format
-msgid ", %d untranslated message"
-msgid_plural ", %d untranslated messages"
-msgstr[0] ", %d neprevedeno sporoèilo"
-msgstr[1] ", %d neprevedeni sporoèili"
-msgstr[2] ", %d neprevedena sporoèila"
-msgstr[3] ", %d neprevedenih sporoèil"
+#: src/msgcmp.c:155 src/msgmerge.c:273
+msgid "exactly 2 input files required"
+msgstr "potrebni sta natanèno dve vhodni datoteki"
 
-#: src/msgfmt.c:390
+#: src/msgcmp.c:176 src/msgmerge.c:372
 #, c-format, no-wrap
-msgid "Usage: %s [OPTION] filename.po ...\n"
-msgstr ""
-
-#: src/msgfmt.c:395
-#, no-wrap
-msgid "Generate binary message catalog from textual translation description.\n"
-msgstr ""
-
-#: src/msgfmt.c:405
-#, no-wrap
-msgid ""
-"Input file location:\n"
-"  filename.po ...             input files\n"
-"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
-"If input file is -, standard input is read.\n"
+msgid "Usage: %s [OPTION] def.po ref.pot\n"
 msgstr ""
 
-#: src/msgfmt.c:413
-#, no-wrap
+#: src/msgcmp.c:181
+#, fuzzy, no-wrap
+msgid ""
+"Compare two Uniforum style .po files to check that both contain the same\n"
+"set of msgid strings.  The def.po file is an existing PO file with the\n"
+"translations.  The ref.pot file is the last created PO file, or a PO Template\n"
+"file (generally created by xgettext).  This is useful for checking that\n"
+"you have translated each and every message in your program.  Where an exact\n"
+"match cannot be found, fuzzy matching is used to produce better diagnostics.\n"
+msgstr ""
+"Uporaba: %s [IZBIRA] def.po ref.po\n"
+"Argumenti, obvezni za dolge oblike izbire, so obvezni tudi za kratke.\n"
+"  -D, --directory=IMENIK   vhodne datoteke i¹èemo tudi v imeniku IMENIK\n"
+"  -h, --help               ta navodila\n"
+"  -V, --version            razlièica programa\n"
+"\n"
+"Preverimo, èe dve podani datoteki v obliki Uniforum vsebujeta isti nabor\n"
+"nizov msgid. Datoteka def.po je obstojeèa datoteka PO s starimi prevodi,\n"
+"datoteka ref.po pa nazadnje ustvarjena datoteka PO (v splo¹nem z xgettext).\n"
+"To je uporabno, ko ¾elimo preveriti, èe so prevedena res vsa sporoèila\n"
+"v programu.  Kadar ne najdemo natanènega ujemanja msgid, zaradi bolj¹e\n"
+"diagnostike poskusimo z ohlapnim (fuzzy) algoritmom.\n"
+
+#: src/msgcmp.c:196
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  def.po                      translations\n"
+"  ref.pot                     references to the sources\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+msgstr ""
+
+#: src/msgcmp.c:204 src/msgmerge.c:436
+#, no-wrap
+msgid ""
+"Operation modifiers:\n"
+"  -m, --multi-domain          apply ref.pot to each of the domains in def.po\n"
+msgstr ""
+
+#: src/msgcmp.c:253 src/msgmerge.c:543
+msgid "this message is used but not defined..."
+msgstr "to sporoèilo je uporabljeno, a ne definirano..."
+
+#: src/msgcmp.c:255 src/msgmerge.c:545
+msgid "...but this definition is similar"
+msgstr "...a ta definicija je podobna"
+
+#: src/msgcmp.c:260 src/msgmerge.c:572
+#, c-format
+msgid "this message is used but not defined in %s"
+msgstr "to sporoèilo je uporabljeno, a ne definirano v %s"
+
+#: src/msgcmp.c:332
+msgid "warning: this message is not used"
+msgstr "opozorilo: to sporoèilo ni uporabljeno"
+
+#: src/msgcmp.c:339 src/po-lex.c:705
+#, c-format
+msgid "found %d fatal error"
+msgid_plural "found %d fatal errors"
+msgstr[0] "%d kritièna napaka"
+msgstr[1] "%d kritièni napaki"
+msgstr[2] "%d kritiène napake"
+msgstr[3] "%d kritiènih napak"
+
+#: src/msgcmp.c:420 src/msgfmt.c:1323 src/read-po.c:202 src/x-po.c:163
+msgid "duplicate message definition"
+msgstr "podvojena definicija sporoèila"
+
+#: src/msgcmp.c:421 src/msgfmt.c:1324 src/read-po.c:203 src/x-po.c:164
+msgid "...this is the location of the first definition"
+msgstr "...to je kraj prve definicije"
+
+#: src/msgcomm.c:266
+msgid "at least two files must be specified"
+msgstr "podani morata biti vsaj dve datoteki"
+
+#: src/msgcomm.c:316
+#, fuzzy, no-wrap
+msgid ""
+"Find messages which are common to two or more of the specified PO files.\n"
+"By using the --more-than option, greater commonality may be requested\n"
+"before messages are printed.  Conversely, the --less-than option may be\n"
+"used to specify less commonality before messages are printed (i.e.\n"
+"--less-than=2 will only print the unique messages).  Translations,\n"
+"comments and extract comments will be preserved, but only from the first\n"
+"PO file to define them.  File positions from all PO files will be\n"
+"cumulated.\n"
+msgstr ""
+"  -V, --version                  razlièica programa\n"
+"  -w, --width=©TEVILO            ¹irina vrstice pri izpisu, v znakih\n"
+"  -<, --less-than=©TEVILO        izpi¹i sporoèila z manj kot ©TEVILO definicij\n"
+"                                 (privzeta vrednost je neskonèno)\n"
+"  ->, --more-than=©TEVILO        izpi¹i sporoèila z veè kot ©TEVILO definicij\n"
+"                                 (privzeta vrednost je 1)\n"
+"\n"
+"Poi¹èe sporoèila, ki so skupna dvema ali veè podanima datotekama PO. Z\n"
+"izbiro --more-than pred izpisom zahtevamo veè skupnih lastnosti. Obratno\n"
+"z izbiro --less-than izberemo manj skupnih lastnosti (npr. --less-than=2\n"
+"izpi¹e samo unikatna sporoèila). Prevodi, komentarji prevajalcev in komentarji\n"
+"pri izvlaèenju se ohranijo samo iz prve podane datoteke PO. Mesta v datotekah \n"
+"iz vseh datotek PO se ohranijo.\n"
+
+#: src/msgcomm.c:350
+#, fuzzy, no-wrap
+msgid ""
+"Message selection:\n"
+"  -<, --less-than=NUMBER         print messages with less than this many\n"
+"                                 definitions, defaults to infinite if not\n"
+"                                 set\n"
+"  ->, --more-than=NUMBER         print messages with more than this many\n"
+"                                 definitions, defaults to 1 if not set\n"
+"  -u, --unique                   shorthand for --less-than=2, requests\n"
+"                                 that only unique messages be printed\n"
+msgstr ""
+"  -V, --version                  razlièica programa\n"
+"  -w, --width=©TEVILO            ¹irina vrstice pri izpisu, v znakih\n"
+"  -<, --less-than=©TEVILO        izpi¹i sporoèila z manj kot ©TEVILO definicij\n"
+"                                 (privzeta vrednost je neskonèno)\n"
+"  ->, --more-than=©TEVILO        izpi¹i sporoèila z veè kot ©TEVILO definicij\n"
+"                                 (privzeta vrednost je 1)\n"
+"\n"
+"Poi¹èe sporoèila, ki so skupna dvema ali veè podanima datotekama PO. Z\n"
+"izbiro --more-than pred izpisom zahtevamo veè skupnih lastnosti. Obratno\n"
+"z izbiro --less-than izberemo manj skupnih lastnosti (npr. --less-than=2\n"
+"izpi¹e samo unikatna sporoèila). Prevodi, komentarji prevajalcev in komentarji\n"
+"pri izvlaèenju se ohranijo samo iz prve podane datoteke PO. Mesta v datotekah \n"
+"iz vseh datotek PO se ohranijo.\n"
+
+#: src/msgcomm.c:362
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
+"  -e, --no-escape                do not use C escapes in output (default)\n"
+"  -E, --escape                   use C escapes in output, no extended chars\n"
+"      --force-po                 write PO file even if empty\n"
+"  -i, --indent                   write the .po file using indented style\n"
+"      --no-location              do not write '#: filename:line' lines\n"
+"  -n, --add-location             generate '#: filename:line' lines (default)\n"
+"      --strict                   write out strict Uniforum conforming .po file\n"
+"  -w, --width=NUMBER             set output page width\n"
+"  -s, --sort-output              generate sorted output\n"
+"  -F, --sort-by-file             sort output by file location\n"
+"      --omit-header              don't write header with `msgid \"\"' entry\n"
+msgstr ""
+"Uporaba: %s [IZBIRA] def.po ref.po\n"
+"Argumenti, obvezni za dolge oblike izbire, so obvezni tudi za kratke.\n"
+"  -C, --compendimu=FILE       dodatna knji¾nica prevodov sporoèil; podana je\n"
+"                              lahko veè kot ena\n"
+"  -D, --directory=IMENIK      vhodne datoteke i¹èemo tudi v imeniku IMENIK\n"
+"  -e, --no-escape             brez ube¾nih sekvenc v obliki C (privzeto)\n"
+"  -E, --escape                z ube¾nimi sekvencami C, brez raz¹irjenega \n"
+"                              nabora znakov\n"
+"  -h, --help                  ta navodila\n"
+"  -i, --indent                izpis z zamiki\n"
+"  -o, --output-file=DATOTEKA  izhodna DATOTEKA\n"
+"      --no-location           brez vrstic ,#: filename:line`\n"
+"      --add-location          z vrsticami ,#: filename:line` (privzeto)\n"
+"      --strict                stroga oblika Uniforum pri izpisu\n"
+"  -v, --verbose               z dodatnimi sporoèili med izvajanjem\n"
+"  -V, --version               razlièica programa\n"
+"  -w, --width=©TEVILO         ¹irina strani pri izpisu, v znakih\n"
+
+#: src/msgconv.c:251
+#, no-wrap
+msgid "Converts a translation catalog to a different character encoding.\n"
+msgstr ""
+
+#: src/msgconv.c:277
+#, no-wrap
+msgid ""
+"Conversion target:\n"
+"  -t, --to-code=NAME          encoding for output\n"
+"The default encoding is the current locale's encoding.\n"
+msgstr ""
+
+#: src/msgconv.c:284 src/msgen.c:266 src/msgmerge.c:442
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
+"  -e, --no-escape             do not use C escapes in output (default)\n"
+"  -E, --escape                use C escapes in output, no extended chars\n"
+"      --force-po              write PO file even if empty\n"
+"  -i, --indent                indented output style\n"
+"      --no-location           suppress '#: filename:line' lines\n"
+"      --add-location          preserve '#: filename:line' lines (default)\n"
+"      --strict                strict Uniforum output style\n"
+"  -w, --width=NUMBER          set output page width\n"
+"  -s, --sort-output           generate sorted output\n"
+"  -F, --sort-by-file          sort output by file location\n"
+msgstr ""
+"Uporaba: %s [IZBIRA] def.po ref.po\n"
+"Argumenti, obvezni za dolge oblike izbire, so obvezni tudi za kratke.\n"
+"  -C, --compendimu=FILE       dodatna knji¾nica prevodov sporoèil; podana je\n"
+"                              lahko veè kot ena\n"
+"  -D, --directory=IMENIK      vhodne datoteke i¹èemo tudi v imeniku IMENIK\n"
+"  -e, --no-escape             brez ube¾nih sekvenc v obliki C (privzeto)\n"
+"  -E, --escape                z ube¾nimi sekvencami C, brez raz¹irjenega \n"
+"                              nabora znakov\n"
+"  -h, --help                  ta navodila\n"
+"  -i, --indent                izpis z zamiki\n"
+"  -o, --output-file=DATOTEKA  izhodna DATOTEKA\n"
+"      --no-location           brez vrstic ,#: filename:line`\n"
+"      --add-location          z vrsticami ,#: filename:line` (privzeto)\n"
+"      --strict                stroga oblika Uniforum pri izpisu\n"
+"  -v, --verbose               z dodatnimi sporoèili med izvajanjem\n"
+"  -V, --version               razlièica programa\n"
+"  -w, --width=©TEVILO         ¹irina strani pri izpisu, v znakih\n"
+
+#: src/msgen.c:187 src/msgfmt.c:349 src/xgettext.c:388
+msgid "no input file given"
+msgstr "vhodna datoteka ni podana"
+
+#: src/msgen.c:192
+#, fuzzy
+msgid "exactly one input file required"
+msgstr "potrebni sta natanèno dve vhodni datoteki"
+
+#: src/msgen.c:232
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] INPUTFILE\n"
+msgstr ""
+
+#: src/msgen.c:237
+#, no-wrap
+msgid ""
+"Creates an English translation catalog.  The input file is the last\n"
+"created English PO file, or a PO Template file (generally created by\n"
+"xgettext).  Untranslated entries are assigned a translation that is\n"
+"identical to the msgid, and are marked fuzzy.\n"
+msgstr ""
+
+#: src/msgen.c:250
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  INPUTFILE                   input PO or POT file\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"If input file is -, standard input is read.\n"
+msgstr ""
+
+#: src/msgexec.c:255
+#, fuzzy
+msgid "missing filter name"
+msgstr "argumenti manjkajo"
+
+#: src/msgexec.c:279
+#, fuzzy
+msgid "at least one sed script must be specified"
+msgstr "podani morata biti vsaj dve datoteki"
+
+#: src/msgexec.c:343
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] FILTER [FILTER-OPTION]\n"
+msgstr ""
+
+#: src/msgexec.c:348
+#, no-wrap
+msgid "Applies a filter to all translations of a translation catalog.\n"
+msgstr ""
+
+#: src/msgexec.c:358
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  -i, --input=INPUTFILE       input PO file\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"If no input file is given or if it is -, standard input is read.\n"
+msgstr ""
+
+#: src/msgexec.c:374
+#, no-wrap
+msgid ""
+"The FILTER can be any program that reads a translation from standard input\n"
+"and writes a modified translation to standard output.\n"
+msgstr ""
+
+#: src/msgexec.c:380
+#, no-wrap
+msgid ""
+"Useful FILTER-OPTIONs when the FILTER is 'sed':\n"
+"  -e, --expression=SCRIPT     add SCRIPT to the commands to be executed\n"
+"  -f, --file=SCRIPTFILE       add the contents of SCRIPTFILE to the commands\n"
+"                                to be executed\n"
+"  -n, --quiet, --silent       suppress automatic printing of pattern space\n"
+msgstr ""
+
+#: src/msgexec.c:389
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
+"      --no-escape             do not use C escapes in output (default)\n"
+"  -E, --escape                use C escapes in output, no extended chars\n"
+"      --force-po              write PO file even if empty\n"
+"      --indent                indented output style\n"
+"      --no-location           suppress '#: filename:line' lines\n"
+"      --add-location          preserve '#: filename:line' lines (default)\n"
+"      --strict                strict Uniforum output style\n"
+"  -w, --width=NUMBER          set output page width\n"
+"  -s, --sort-output           generate sorted output\n"
+"  -F, --sort-by-file          sort output by file location\n"
+msgstr ""
+"Uporaba: %s [IZBIRA] def.po ref.po\n"
+"Argumenti, obvezni za dolge oblike izbire, so obvezni tudi za kratke.\n"
+"  -C, --compendimu=FILE       dodatna knji¾nica prevodov sporoèil; podana je\n"
+"                              lahko veè kot ena\n"
+"  -D, --directory=IMENIK      vhodne datoteke i¹èemo tudi v imeniku IMENIK\n"
+"  -e, --no-escape             brez ube¾nih sekvenc v obliki C (privzeto)\n"
+"  -E, --escape                z ube¾nimi sekvencami C, brez raz¹irjenega \n"
+"                              nabora znakov\n"
+"  -h, --help                  ta navodila\n"
+"  -i, --indent                izpis z zamiki\n"
+"  -o, --output-file=DATOTEKA  izhodna DATOTEKA\n"
+"      --no-location           brez vrstic ,#: filename:line`\n"
+"      --add-location          z vrsticami ,#: filename:line` (privzeto)\n"
+"      --strict                stroga oblika Uniforum pri izpisu\n"
+"  -v, --verbose               z dodatnimi sporoèili med izvajanjem\n"
+"  -V, --version               razlièica programa\n"
+"  -w, --width=©TEVILO         ¹irina strani pri izpisu, v znakih\n"
+
+#: src/msgexec.c:546
+#, c-format
+msgid "cannot set up nonblocking I/O to %s subprocess"
+msgstr ""
+
+#: src/msgexec.c:574
+#, c-format
+msgid "communication with %s subprocess failed"
+msgstr ""
+
+#: src/msgexec.c:594
+#, c-format
+msgid "write to %s subprocess failed"
+msgstr ""
+
+#: src/msgexec.c:625
+#, c-format
+msgid "read from %s subprocess failed"
+msgstr ""
+
+#: src/msgexec.c:641
+#, c-format
+msgid "%s subprocess terminated with exit code %d"
+msgstr ""
+
+#: src/msgfmt.c:303
+#, c-format
+msgid "the argument to %s should be a single punctuation character"
+msgstr ""
+
+#: src/msgfmt.c:364
+#, c-format
+msgid "%s requires a \"-d directory\" specification"
+msgstr ""
+
+#: src/msgfmt.c:373 src/msgfmt.c:379 src/msgfmt.c:385 src/msgmerge.c:290
+#: src/msgmerge.c:296 src/msgunfmt.c:209 src/msgunfmt.c:215
+#, c-format
+msgid "%s is only valid with %s"
+msgstr ""
+
+#: src/msgfmt.c:452
+#, c-format
+msgid "%d translated message"
+msgid_plural "%d translated messages"
+msgstr[0] "%d prevedeno sporoèilo"
+msgstr[1] "%d prevedeni sporoèili"
+msgstr[2] "%d prevedena sporoèila"
+msgstr[3] "%d prevedenih sporoèil"
+
+#: src/msgfmt.c:457
+#, c-format
+msgid ", %d fuzzy translation"
+msgid_plural ", %d fuzzy translations"
+msgstr[0] ", %d ohlapni prevod"
+msgstr[1] ", %d ohlapna prevoda"
+msgstr[2] ", %d ohlapni prevodi"
+msgstr[3] ", %d ohlapnih prevodov"
+
+#: src/msgfmt.c:462
+#, c-format
+msgid ", %d untranslated message"
+msgid_plural ", %d untranslated messages"
+msgstr[0] ", %d neprevedeno sporoèilo"
+msgstr[1] ", %d neprevedeni sporoèili"
+msgstr[2] ", %d neprevedena sporoèila"
+msgstr[3] ", %d neprevedenih sporoèil"
+
+#: src/msgfmt.c:484
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] filename.po ...\n"
+msgstr ""
+
+#: src/msgfmt.c:489
+#, no-wrap
+msgid "Generate binary message catalog from textual translation description.\n"
+msgstr ""
+
+#: src/msgfmt.c:499
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  filename.po ...             input files\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"If input file is -, standard input is read.\n"
+msgstr ""
+
+#: src/msgfmt.c:507
+#, no-wrap
+msgid ""
+"Operation mode:\n"
+"  -j, --java                  Java mode: generate a Java ResourceBundle class\n"
+"      --java2                 like --java, and assume Java2 (JDK 1.2 or higher)\n"
+msgstr ""
+
+#: src/msgfmt.c:514
+#, no-wrap
 msgid ""
 "Output file location:\n"
 "  -o, --output-file=FILE      write output to specified file\n"
@@ -489,15 +1039,35 @@ msgid ""
 "If output file is -, output is written to standard output.\n"
 msgstr ""
 
-#: src/msgfmt.c:421
+#: src/msgfmt.c:522
+#, no-wrap
+msgid ""
+"Output file location in Java mode:\n"
+"  -r, --resource=RESOURCE     resource name\n"
+"  -l, --locale=LOCALE         locale name, either language or language_COUNTRY\n"
+"  -d DIRECTORY                base directory of classes directory hierarchy\n"
+"The class name is determined by appending the locale name to the resource name,\n"
+"separated with an underscore.  The -d option is mandatory.  The class is\n"
+"written under the specified directory.\n"
+msgstr ""
+
+#: src/msgfmt.c:533
 #, no-wrap
 msgid ""
 "Input file interpretation:\n"
-"  -c, --check                 perform language dependent checks on strings\n"
+"  -c, --check                 perform all the checks implied by\n"
+"                                --check-format, --check-header, --check-domain\n"
+"      --check-format          check language dependent format strings\n"
+"      --check-header          verify presence and contents of the header entry\n"
+"      --check-domain          check for conflicts between domain directives\n"
+"                                and the --output-file option\n"
+"  -C, --check-compatibility   check that GNU msgfmt behaves like X/Open msgfmt\n"
+"      --check-accelerators[=CHAR]  check presence of keyboard accelerators for\n"
+"                                menu items\n"
 "  -f, --use-fuzzy             use fuzzy entries in output\n"
 msgstr ""
 
-#: src/msgfmt.c:428
+#: src/msgfmt.c:548
 #, c-format, no-wrap
 msgid ""
 "Output details:\n"
@@ -505,120 +1075,498 @@ msgid ""
 "      --no-hash               binary file will not include the hash table\n"
 msgstr ""
 
-#: src/msgfmt.c:435
+#: src/msgfmt.c:555
 #, no-wrap
 msgid ""
 "Informative output:\n"
 "  -h, --help                  display this help and exit\n"
 "  -V, --version               output version information and exit\n"
 "      --statistics            print statistics about translations\n"
-"  -v, --verbose               list input file anomalies\n"
-"Giving the -v option more than once increases the verbosity level.\n"
+"  -v, --verbose               increase verbosity level\n"
+msgstr ""
+
+#: src/msgfmt.c:707
+msgid "plural expression can produce negative values"
+msgstr ""
+
+#: src/msgfmt.c:720
+#, c-format
+msgid "nplurals = %lu but plural expression can produce values as large as %lu"
+msgstr ""
+
+#: src/msgfmt.c:746
+msgid "plural expression can produce division by zero"
+msgstr ""
+
+#: src/msgfmt.c:751
+msgid "plural expression can produce integer overflow"
+msgstr ""
+
+#: src/msgfmt.c:756
+msgid ""
+"plural expression can produce arithmetic exceptions, possibly division by "
+"zero"
+msgstr ""
+
+#: src/msgfmt.c:830 src/msgfmt.c:841
+msgid "message catalog has plural form translations..."
+msgstr ""
+
+#: src/msgfmt.c:833
+msgid "...but header entry lacks a \"plural=EXPRESSION\" attribute"
+msgstr ""
+
+#: src/msgfmt.c:844
+msgid "...but header entry lacks a \"nplurals=INTEGER\" attribute"
+msgstr ""
+
+#: src/msgfmt.c:868
+#, fuzzy
+msgid "invalid nplurals value"
+msgstr "neveljavno krmilno zaporedje"
+
+#: src/msgfmt.c:881
+msgid "invalid plural expression"
+msgstr ""
+
+#: src/msgfmt.c:899 src/msgfmt.c:912
+#, c-format
+msgid "nplurals = %lu..."
+msgstr ""
+
+#: src/msgfmt.c:902
+#, c-format
+msgid "...but some messages have only %lu plural forms"
+msgstr ""
+
+#: src/msgfmt.c:915
+#, c-format
+msgid "...but some messages have %lu plural forms"
+msgstr ""
+
+#: src/msgfmt.c:930
+msgid ""
+"message catalog has plural form translations, but lacks a header entry with "
+"\"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\""
+msgstr ""
+
+#: src/msgfmt.c:968
+msgid "`msgid' and `msgid_plural' entries do not both begin with '\\n'"
+msgstr "polji ,msgid` in ,msgid_plural` se ne zaèneta obe z ,\\n`"
+
+#: src/msgfmt.c:978
+#, c-format
+msgid "`msgid' and `msgstr[%u]' entries do not both begin with '\\n'"
+msgstr "polji ,msgid` in ,msgstr[%u]` se ne zaèneta obe z ,\\n`"
+
+#: src/msgfmt.c:990
+msgid "`msgid' and `msgstr' entries do not both begin with '\\n'"
+msgstr "polji ,msgid` in ,msgstr` se ne zaèneta obe z ,\\n`"
+
+#: src/msgfmt.c:1007
+msgid "`msgid' and `msgid_plural' entries do not both end with '\\n'"
+msgstr "polji ,msgid` in ,msgid_plural` se ne konèata obe z ,\\n`"
+
+#: src/msgfmt.c:1017
+#, c-format
+msgid "`msgid' and `msgstr[%u]' entries do not both end with '\\n'"
+msgstr "polji ,msgid` in ,msgstr[%u]` se ne konèata obe z ,\\n`"
+
+#: src/msgfmt.c:1029
+msgid "`msgid' and `msgstr' entries do not both end with '\\n'"
+msgstr "polji ,msgid' in ,msgstr` se ne konèata obe z ,\\n`"
+
+#: src/msgfmt.c:1041
+msgid "plural handling is a GNU gettext extension"
+msgstr ""
+
+#: src/msgfmt.c:1088
+#, c-format
+msgid "'msgstr' is not a valid %s format string, unlike 'msgid'"
+msgstr ""
+
+#: src/msgfmt.c:1122
+#, c-format
+msgid "msgstr lacks the keyboard accelerator mark '%c'"
 msgstr ""
 
-#: src/msgfmt.c:465
-msgid "while creating hash table"
-msgstr "med ustvarjanjem razpr¹ene tabele"
+#: src/msgfmt.c:1130
+#, c-format
+msgid "msgstr has too many keyboard accelerator marks '%c'"
+msgstr ""
+
+#: src/msgfmt.c:1164
+#, c-format
+msgid "headerfield `%s' missing in header"
+msgstr "v glavi manjka polje ,%s`"
+
+#: src/msgfmt.c:1167
+#, c-format
+msgid "header field `%s' should start at beginning of line"
+msgstr "polje ,%s` v glavi se mora zaèeti na zaèetku vrstice"
+
+#: src/msgfmt.c:1176
+msgid "some header fields still have the initial default value"
+msgstr "nekatera polja v glavi imajo ¹e vedno zaèetne privzete vrednosti"
+
+#: src/msgfmt.c:1187
+#, c-format
+msgid "field `%s' still has initial default value"
+msgstr "polje ,%s' ima ¹e vedno zaèetno privzeto vrednost"
 
-#: src/msgfmt.c:501
+#: src/msgfmt.c:1228
 #, fuzzy
-msgid "warning: PO file header missing, fuzzy, or invalid\n"
+msgid "warning: PO file header missing or invalid\n"
 msgstr ""
 "%s: opozorilo: glava datoteke PO manjkajoèa, ohlapna ali neveljavna\n"
 "%*s  opozorilo: pretvorba nabora znakov ne bo delovala"
 
-#: src/msgfmt.c:504
+#: src/msgfmt.c:1231
 #, fuzzy
 msgid "warning: charset conversion will not work\n"
 msgstr ""
 "V glavi ni naveden nabor znakov.\n"
 "Pretvorba sporoèil v uporabnikov nabor znakov ne bo delovala.\n"
 
-#: src/msgfmt.c:528
+#: src/msgfmt.c:1241
+#, fuzzy
+msgid "warning: PO file header fuzzy\n"
+msgstr ""
+"%s: opozorilo: glava datoteke PO manjkajoèa, ohlapna ali neveljavna\n"
+"%*s  opozorilo: pretvorba nabora znakov ne bo delovala"
+
+#: src/msgfmt.c:1243
+msgid "warning: older versions of msgfmt will give an error on this\n"
+msgstr ""
+
+#: src/msgfmt.c:1268
 #, c-format
 msgid "domain name \"%s\" not suitable as file name"
 msgstr "ime domene \"%s\" ni primerno kot ime datoteke"
 
-#: src/msgfmt.c:533
+#: src/msgfmt.c:1273
 #, c-format
 msgid "domain name \"%s\" not suitable as file name: will use prefix"
 msgstr "ime domene \"%s\" ni primerno kot ime datoteke: uporabimo predpono"
 
-#. We don't change the exit status here because this is really
-#. only an information.
-#: src/msgfmt.c:546
+#: src/msgfmt.c:1284
 #, c-format
 msgid "`domain %s' directive ignored"
 msgstr "direktiva ,domain %s` ni bila upo¹tevana"
 
-#: src/msgfmt.c:582
+#: src/msgfmt.c:1356
 msgid "empty `msgstr' entry ignored"
 msgstr "prazno polje ,msgstr` zavr¾eno"
 
-#: src/msgfmt.c:583
+#: src/msgfmt.c:1357
 msgid "fuzzy `msgstr' entry ignored"
 msgstr "ohlapni vnos za polje ,msgstr` zavr¾en"
 
-#: src/msgfmt.c:626
+#: src/msgfmt.c:1426
 #, c-format
-msgid "headerfield `%s' missing in header"
-msgstr "v glavi manjka polje ,%s`"
+msgid "%s: warning: source file contains fuzzy translation"
+msgstr "%s: opozorilo: vhodna datoteka vsebuje ohlapne (fuzzy) prevode"
 
-#: src/msgfmt.c:629
+#: src/msggrep.c:359
 #, c-format
-msgid "header field `%s' should start at beginning of line"
-msgstr "polje ,%s` v glavi se mora zaèeti na zaèetku vrstice"
+msgid "option '%c' cannot be used before 'K' or 'T' has been specified"
+msgstr ""
+
+#: src/msggrep.c:381
+#, no-wrap
+msgid ""
+"Extracts all messages of a translation catalog that match a given pattern\n"
+"or belong to some given source files.\n"
+msgstr ""
+
+#: src/msggrep.c:408
+#, no-wrap
+msgid ""
+"Message selection:\n"
+"  [-N SOURCEFILE]... [-M DOMAINNAME]... [-K MSGID-PATTERN] [-T MSGSTR-PATTERN]\n"
+"A message is selected if it comes from one of the specified source files,\n"
+"or if it comes from one of the specified domains,\n"
+"or if -K is given and its key (msgid or msgid_plural) matches MSGID-PATTERN,\n"
+"or if -T is given and its translation (msgstr) matches MSGSTR-PATTERN.\n"
+"\n"
+"When more than one selection criterion is specified, the set of selected\n"
+"messages is the union of the selected messages of each criterion.\n"
+"\n"
+"MSGID-PATTERN or MSGSTR-PATTERN syntax:\n"
+"  [-E | -F] [-e PATTERN | -f FILE]...\n"
+"PATTERNs are basic regular expressions by default, or extended regular\n"
+"expressions if -E is given, or fixed strings if -F is given.\n"
+"\n"
+"  -N, --location=SOURCEFILE   select messages extracted from SOURCEFILE\n"
+"  -M, --domain=DOMAINNAME     select messages belonging to domain DOMAINNAME\n"
+"  -K, --msgid                 start of patterns for the msgid\n"
+"  -T, --msgstr                start of patterns for the msgstr\n"
+"  -E, --extended-regexp       PATTERN is an extended regular expression\n"
+"  -F, --fixed-strings         PATTERN is a set of newline-separated strings\n"
+"  -e, --regexp=PATTERN        use PATTERN as a regular expression\n"
+"  -f, --file=FILE             obtain PATTERN from FILE\n"
+"  -i, --ignore-case           ignore case distinctions\n"
+msgstr ""
+
+#: src/msggrep.c:436
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
+"      --no-escape             do not use C escapes in output (default)\n"
+"      --escape                use C escapes in output, no extended chars\n"
+"      --force-po              write PO file even if empty\n"
+"      --indent                indented output style\n"
+"      --no-location           suppress '#: filename:line' lines\n"
+"      --add-location          preserve '#: filename:line' lines (default)\n"
+"      --strict                strict Uniforum output style\n"
+"  -w, --width=NUMBER          set output page width\n"
+"      --sort-output           generate sorted output\n"
+"      --sort-by-file          sort output by file location\n"
+msgstr ""
+"Uporaba: %s [IZBIRA] def.po ref.po\n"
+"Argumenti, obvezni za dolge oblike izbire, so obvezni tudi za kratke.\n"
+"  -C, --compendimu=FILE       dodatna knji¾nica prevodov sporoèil; podana je\n"
+"                              lahko veè kot ena\n"
+"  -D, --directory=IMENIK      vhodne datoteke i¹èemo tudi v imeniku IMENIK\n"
+"  -e, --no-escape             brez ube¾nih sekvenc v obliki C (privzeto)\n"
+"  -E, --escape                z ube¾nimi sekvencami C, brez raz¹irjenega \n"
+"                              nabora znakov\n"
+"  -h, --help                  ta navodila\n"
+"  -i, --indent                izpis z zamiki\n"
+"  -o, --output-file=DATOTEKA  izhodna DATOTEKA\n"
+"      --no-location           brez vrstic ,#: filename:line`\n"
+"      --add-location          z vrsticami ,#: filename:line` (privzeto)\n"
+"      --strict                stroga oblika Uniforum pri izpisu\n"
+"  -v, --verbose               z dodatnimi sporoèili med izvajanjem\n"
+"  -V, --version               razlièica programa\n"
+"  -w, --width=©TEVILO         ¹irina strani pri izpisu, v znakih\n"
+
+#: src/msggrep.c:510
+msgid "write to grep subprocess failed"
+msgstr ""
+
+#: src/msginit.c:275
+msgid ""
+"You are in a language indifferent environment.  Please set\n"
+"your LANG environment variable, as described in the ABOUT-NLS\n"
+"file.  This is necessary so you can test your translations.\n"
+msgstr ""
+
+#: src/msginit.c:303
+#, c-format
+msgid ""
+"Output file %s already exists.\n"
+"Please specify the locale through the --locale option or\n"
+"the output .po file through the --output-file option.\n"
+msgstr ""
+
+#: src/msginit.c:326
+#, c-format
+msgid "Created %s.\n"
+msgstr ""
+
+#: src/msginit.c:348
+#, no-wrap
+msgid ""
+"Creates a new PO file, initializing the meta information with values from the\n"
+"user's environment.\n"
+msgstr ""
+
+#: src/msginit.c:359
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  -i, --input=INPUTFILE       input POT file\n"
+"If no input file is given, the current directory is searched for the POT file.\n"
+"If it is -, standard input is read.\n"
+msgstr ""
+
+#: src/msginit.c:367
+#, no-wrap
+msgid ""
+"Output file location:\n"
+"  -o, --output-file=FILE      write output to specified PO file\n"
+"If no output file is given, it depends on the --locale option or the user's\n"
+"locale setting.  If it is -, the results are written to standard output.\n"
+msgstr ""
+
+#: src/msginit.c:375
+#, no-wrap
+msgid ""
+"Output details:\n"
+"  -l, --locale=LL_CC          set target locale\n"
+"      --no-translator         assume the PO file is automatically generated\n"
+"  -w, --width=NUMBER          set output page width\n"
+msgstr ""
+
+#: src/msginit.c:426
+msgid ""
+"Found more than one .pot file.\n"
+"Please specify the input .pot file through the --input option.\n"
+msgstr ""
+
+#: src/msginit.c:434 src/msginit.c:439
+msgid "error reading current directory"
+msgstr ""
+
+#: src/msginit.c:447
+msgid ""
+"Found no .pot file in the current directory.\n"
+"Please specify the input .pot file through the --input option.\n"
+msgstr ""
+
+#: src/msginit.c:887 src/msginit.c:932 src/msginit.c:1070 src/msginit.c:1137
+#: src/read-java.c:80
+msgid "fdopen() failed"
+msgstr ""
+
+#: src/msginit.c:892 src/msginit.c:937 src/msginit.c:1075
+#, c-format
+msgid "%s subprocess I/O error"
+msgstr ""
+
+#: src/msginit.c:901 src/msginit.c:946 src/msginit.c:1084 src/msginit.c:1151
+#: src/read-java.c:90
+#, c-format
+msgid "%s subprocess failed with exit code %d"
+msgstr ""
+
+#: src/msginit.c:1060
+msgid ""
+"The new message catalog should contain your email address, so that users "
+"can\n"
+"give you feedback about the translations, and so that maintainers can "
+"contact\n"
+"you in case of unexpected technical problems.\n"
+msgstr ""
+
+#. TRANSLATORS: "English" needs to be replaced by your language.
+#. For example in it.po write "Traduzioni italiani ...",
+#. *not* "Traduzioni inglesi ...".
+#: src/msginit.c:1440
+#, c-format
+msgid "English translations for %s package"
+msgstr ""
+
+#: src/msgl-cat.c:173 src/msgl-charset.c:86 src/msgl-iconv.c:299
+#, c-format
+msgid "present charset \"%s\" is not a portable encoding name"
+msgstr ""
+
+#: src/msgl-cat.c:181 src/msgl-iconv.c:307
+#, c-format
+msgid "two different charsets \"%s\" and \"%s\" in input file"
+msgstr ""
+
+#: src/msgl-cat.c:194
+#, c-format
+msgid ""
+"input file `%s' doesn't contain a header entry with a charset specification"
+msgstr ""
+
+#: src/msgl-cat.c:198
+#, c-format
+msgid ""
+"domain \"%s\" in input file `%s' doesn't contain a header entry with a "
+"charset specification"
+msgstr ""
+
+#: src/msgl-cat.c:359 src/msgl-iconv.c:382
+#, c-format
+msgid "target charset \"%s\" is not a portable encoding name."
+msgstr ""
+
+#: src/msgl-cat.c:409 src/msgl-cat.c:415 src/msgl-charset.c:91
+#: src/msgl-charset.c:126 src/write-po.c:723 src/write-po.c:817
+#, fuzzy
+msgid "warning: "
+msgstr "%s: opozorilo: "
+
+#: src/msgl-cat.c:410
+msgid ""
+"Input files contain messages in different encodings, UTF-8 among others.\n"
+"Converting the output to UTF-8.\n"
+msgstr ""
 
-#: src/msgfmt.c:639
-msgid "some header fields still have the initial default value"
-msgstr "nekatera polja v glavi imajo ¹e vedno zaèetne privzete vrednosti"
+#: src/msgl-cat.c:416
+#, c-format
+msgid ""
+"Input files contain messages in different encodings, %s and %s among "
+"others.\n"
+"Converting the output to UTF-8.\n"
+"To select a different output encoding, use the --to-code option.\n"
+msgstr ""
 
-#: src/msgfmt.c:650
+#: src/msgl-charset.c:92
 #, c-format
-msgid "field `%s' still has initial default value"
-msgstr "polje ,%s' ima ¹e vedno zaèetno privzeto vrednost"
+msgid ""
+"Locale charset \"%s\" is different from\n"
+"input file charset \"%s\".\n"
+"Output of '%s' might be incorrect.\n"
+"Possible workarounds are:\n"
+msgstr ""
 
-#: src/msgfmt.c:741
+#: src/msgl-charset.c:99
 #, c-format
-msgid "%s: warning: source file contains fuzzy translation"
-msgstr "%s: opozorilo: vhodna datoteka vsebuje ohlapne (fuzzy) prevode"
+msgid "- Set LC_ALL to a locale with encoding %s.\n"
+msgstr ""
 
-#: src/msgfmt.c:964
-msgid "`msgid' and `msgid_plural' entries do not both begin with '\\n'"
-msgstr "polji ,msgid` in ,msgid_plural` se ne zaèneta obe z ,\\n`"
+#: src/msgl-charset.c:104
+#, c-format
+msgid ""
+"- Convert the translation catalog to %s using 'msgconv',\n"
+"  then apply '%s',\n"
+"  then convert back to %s using 'msgconv'.\n"
+msgstr ""
 
-#: src/msgfmt.c:974
+#: src/msgl-charset.c:113
 #, c-format
-msgid "`msgid' and `msgstr[%u]' entries do not both begin with '\\n'"
-msgstr "polji ,msgid` in ,msgstr[%u]` se ne zaèneta obe z ,\\n`"
+msgid ""
+"- Set LC_ALL to a locale with encoding %s,\n"
+"  convert the translation catalog to %s using 'msgconv',\n"
+"  then apply '%s',\n"
+"  then convert back to %s using 'msgconv'.\n"
+msgstr ""
 
-#: src/msgfmt.c:986
-msgid "`msgid' and `msgstr' entries do not both begin with '\\n'"
-msgstr "polji ,msgid` in ,msgstr` se ne zaèneta obe z ,\\n`"
+#: src/msgl-charset.c:127
+#, c-format
+msgid ""
+"Locale charset \"%s\" is not a portable encoding name.\n"
+"Output of '%s' might be incorrect.\n"
+"A possible workaround is to set LC_ALL=C.\n"
+msgstr ""
 
-#: src/msgfmt.c:1003
-msgid "`msgid' and `msgid_plural' entries do not both end with '\\n'"
-msgstr "polji ,msgid` in ,msgid_plural` se ne konèata obe z ,\\n`"
+#: src/msgl-iconv.c:200 src/msgl-iconv.c:254
+msgid "conversion failure"
+msgstr ""
 
-#: src/msgfmt.c:1013
-#, c-format
-msgid "`msgid' and `msgstr[%u]' entries do not both end with '\\n'"
-msgstr "polji ,msgid` in ,msgstr[%u]` se ne konèata obe z ,\\n`"
+#: src/msgl-iconv.c:328
+msgid "input file doesn't contain a header entry with a charset specification"
+msgstr ""
 
-#: src/msgfmt.c:1025
-msgid "`msgid' and `msgstr' entries do not both end with '\\n'"
-msgstr "polji ,msgid' in ,msgstr` se ne konèata obe z ,\\n`"
+#: src/msgl-iconv.c:346
+#, fuzzy, c-format
+msgid ""
+"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(), and iconv() does "
+"not support this conversion."
+msgstr ""
+"Nabor \"%s\" ni podprt. %s se naslanja na iconv(),\n"
+"in iconv() ne podpira \"%s\".\n"
 
-#: src/msgfmt.c:1043
-msgid "number of format specifications in `msgid' and `msgstr' does not match"
-msgstr "¹tevili formatnih doloèil v ,msgid` in ,msgstr` se ne ujemata"
+#: src/msgl-iconv.c:362
+#, fuzzy, c-format
+msgid ""
+"Cannot convert from \"%s\" to \"%s\". %s relies on iconv(). This version was "
+"built without iconv()."
+msgstr ""
+"Nabor \"%s\" ni podprt. %s se naslanja na iconv().\n"
+"Ta izdaja je bila prevedena brez iconv().\n"
 
-#: src/msgfmt.c:1062
-#, c-format
-msgid "format specifications for argument %lu are not the same"
-msgstr "formatni doloèili za argument %lu nista enaki"
+#: src/msgmerge.c:340
+msgid "backup type"
+msgstr ""
 
-#: src/msgmerge.c:273
+#: src/msgmerge.c:377
 #, fuzzy, no-wrap
 msgid ""
 "Merges two Uniforum style .po files together.  The def.po file is an\n"
@@ -642,7 +1590,7 @@ msgstr ""
 "ni, se uporabi ohlapni (fuzzy) algoritem. Èe izhodna datoteka ni podana, gre\n"
 "izpis na standardni izhod.\n"
 
-#: src/msgmerge.c:291
+#: src/msgmerge.c:395
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -653,49 +1601,32 @@ msgid ""
 "                              may be specified more than once\n"
 msgstr ""
 
-#: src/msgmerge.c:301
+#: src/msgmerge.c:405
 #, no-wrap
 msgid ""
-"Output file location:\n"
-"  -o, --output-file=FILE      write output to specified file\n"
-"The results are written to standard output if no output file is specified\n"
-"or if it is -.\n"
+"Operation mode:\n"
+"  -U, --update                update def.po,\n"
+"                              do nothing if def.po already up to date\n"
 msgstr ""
 
-#: src/msgmerge.c:309
-#, fuzzy, no-wrap
+#: src/msgmerge.c:420
+#, no-wrap
 msgid ""
-"Output details:\n"
-"  -e, --no-escape             do not use C escapes in output (default)\n"
-"  -E, --escape                use C escapes in output, no extended chars\n"
-"      --force-po              write PO file even if empty\n"
-"  -i, --indent                indented output style\n"
-"      --no-location           suppress '#: filename:line' lines\n"
-"      --add-location          preserve '#: filename:line' lines (default)\n"
-"      --strict                strict Uniforum output style\n"
-"  -w, --width=NUMBER          set output page width\n"
-"  -s, --sort-output           generate sorted output and remove duplicates\n"
-"  -F, --sort-by-file          sort output by file location\n"
+"Output file location in update mode:\n"
+"The result is written back to def.po.\n"
+"      --backup=CONTROL        make a backup of def.po\n"
+"      --suffix=SUFFIX         override the usual backup suffix\n"
+"The version control method may be selected via the --backup option or through\n"
+"the VERSION_CONTROL environment variable.  Here are the values:\n"
+"  none, off       never make backups (even if --backup is given)\n"
+"  numbered, t     make numbered backups\n"
+"  existing, nil   numbered if numbered backups exist, simple otherwise\n"
+"  simple, never   always make simple backups\n"
+"The backup suffix is `~', unless set with --suffix or the SIMPLE_BACKUP_SUFFIX\n"
+"environment variable.\n"
 msgstr ""
-"Uporaba: %s [IZBIRA] def.po ref.po\n"
-"Argumenti, obvezni za dolge oblike izbire, so obvezni tudi za kratke.\n"
-"  -C, --compendimu=FILE       dodatna knji¾nica prevodov sporoèil; podana je\n"
-"                              lahko veè kot ena\n"
-"  -D, --directory=IMENIK      vhodne datoteke i¹èemo tudi v imeniku IMENIK\n"
-"  -e, --no-escape             brez ube¾nih sekvenc v obliki C (privzeto)\n"
-"  -E, --escape                z ube¾nimi sekvencami C, brez raz¹irjenega \n"
-"                              nabora znakov\n"
-"  -h, --help                  ta navodila\n"
-"  -i, --indent                izpis z zamiki\n"
-"  -o, --output-file=DATOTEKA  izhodna DATOTEKA\n"
-"      --no-location           brez vrstic ,#: filename:line`\n"
-"      --add-location          z vrsticami ,#: filename:line` (privzeto)\n"
-"      --strict                stroga oblika Uniforum pri izpisu\n"
-"  -v, --verbose               z dodatnimi sporoèili med izvajanjem\n"
-"  -V, --version               razlièica programa\n"
-"  -w, --width=©TEVILO         ¹irina strani pri izpisu, v znakih\n"
 
-#: src/msgmerge.c:324
+#: src/msgmerge.c:457
 #, no-wrap
 msgid ""
 "Informative output:\n"
@@ -705,7 +1636,17 @@ msgid ""
 "  -q, --quiet, --silent       suppress progress indicators\n"
 msgstr ""
 
-#: src/msgmerge.c:472
+#: src/msgmerge.c:625
+#, fuzzy
+msgid "this message should define plural forms"
+msgstr "to sporoèilo je uporabljeno, a ne definirano v %s"
+
+#: src/msgmerge.c:648
+#, fuzzy
+msgid "this message should not define plural forms"
+msgstr "to sporoèilo je uporabljeno, a ne definirano v %s"
+
+#: src/msgmerge.c:779
 #, c-format
 msgid ""
 "%sRead %ld old + %ld reference, merged %ld, fuzzied %ld, missing %ld, "
@@ -714,21 +1655,33 @@ msgstr ""
 "%sPrebrano %ld starih + %ld referenènih, zdru¾enih %ld, ohlapnih %ld, "
 "manjkajoèih %ld, opu¹èenih %ld.\n"
 
-#: src/msgmerge.c:479
+#: src/msgmerge.c:787
 msgid " done.\n"
 msgstr " opravljeno.\n"
 
-#: src/msgunfmt.c:216
+#: src/msgunfmt.c:201
+#, fuzzy, c-format
+msgid "%s and explicit file names are mutually exclusive"
+msgstr "%s in %s se med seboj izkljuèujeta"
+
+#: src/msgunfmt.c:267
 #, c-format, no-wrap
 msgid "Usage: %s [OPTION] [FILE]...\n"
 msgstr ""
 
-#: src/msgunfmt.c:221
+#: src/msgunfmt.c:272
 #, no-wrap
 msgid "Convert binary message catalog to Uniforum style .po file.\n"
 msgstr ""
 
-#: src/msgunfmt.c:231
+#: src/msgunfmt.c:282
+#, no-wrap
+msgid ""
+"Operation mode:\n"
+"  -j, --java               Java mode: generate a Java ResourceBundle class\n"
+msgstr ""
+
+#: src/msgunfmt.c:288
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -736,7 +1689,17 @@ msgid ""
 "If no input file is given or if it is -, standard input is read.\n"
 msgstr ""
 
-#: src/msgunfmt.c:238
+#: src/msgunfmt.c:295
+#, no-wrap
+msgid ""
+"Input file location in Java mode:\n"
+"  -r, --resource=RESOURCE  resource name\n"
+"  -l, --locale=LOCALE      locale name, either language or language_COUNTRY\n"
+"The class name is determined by appending the locale name to the resource name,\n"
+"separated with an underscore.  The class is located using the CLASSPATH.\n"
+msgstr ""
+
+#: src/msgunfmt.c:304
 #, no-wrap
 msgid ""
 "Output file location:\n"
@@ -745,7 +1708,7 @@ msgid ""
 "or if it is -.\n"
 msgstr ""
 
-#: src/msgunfmt.c:246
+#: src/msgunfmt.c:312
 #, fuzzy, no-wrap
 msgid ""
 "Output details:\n"
@@ -755,7 +1718,7 @@ msgid ""
 "  -i, --indent             write indented output style\n"
 "      --strict             write strict uniforum style\n"
 "  -w, --width=NUMBER       set output page width\n"
-"  -s, --sort-output        generate sorted output and remove duplicates\n"
+"  -s, --sort-output        generate sorted output\n"
 msgstr ""
 "Uporaba: %s [IZBIRA] [DATOTEKA]\n"
 "Argumenti, obvezni za dolge oblike izbire, so obvezni tudi za kratke.\n"
@@ -770,52 +1733,49 @@ msgstr ""
 "  -V, --version            razlièica programa\n"
 "  -w, --width=©TEVILO      ¹irina strani pri izpisu, v znakih\n"
 
-#: src/msgunfmt.c:258
+#: src/msgunfmt.c:324
 #, no-wrap
 msgid ""
 "Informative output:\n"
 "  -h, --help               display this help and exit\n"
 "  -V, --version            output version information and exit\n"
+"  -v, --verbose            increase verbosity level\n"
 msgstr ""
 
-#: src/msgunfmt.c:286 src/msgunfmt.c:351 src/po-lex.c:212 src/xget-lex.c:244
-#, c-format
-msgid "error while reading \"%s\""
-msgstr "napaka pri branju \"%s\""
-
-#: src/msgunfmt.c:287 src/msgunfmt.c:352
-#, c-format
-msgid "file \"%s\" truncated"
-msgstr "datoteka \"%s\" okrnjena"
-
-#: src/msgunfmt.c:318
-#, c-format
-msgid "seek \"%s\" offset %ld failed"
-msgstr "dostop do \"%s\" ofset %ld ni mo¾en"
-
-#: src/msgunfmt.c:357
-#, c-format
-msgid "file \"%s\" contains a not NUL terminated string"
-msgstr "datoteka \"%s\" vsebuje niz, ki ni zakljuèen z NUL"
+#: src/msguniq.c:279
+#, no-wrap
+msgid ""
+"Unifies duplicate translations in a translation catalog.\n"
+"Finds duplicate translations of the same message ID.  Such duplicates are\n"
+"invalid input for other programs like msgfmt, msgmerge or msgcat.  By\n"
+"default, duplicates are merged together.  When using the --repeated option,\n"
+"only duplicates are output, and all other messages are discarded.  Comments\n"
+"and extracted comments will be cumulated, except that if --use-first is\n"
+"specified, they will be taken from the first translation.  File positions\n"
+"will be cumulated.  When using the --unique option, duplicates are discarded.\n"
+msgstr ""
 
-#: src/msgunfmt.c:402
-#, c-format
-msgid "file \"%s\" is not in GNU .mo format"
-msgstr "datoteka \"%s\" ni v obliki GNU .mo"
+#: src/msguniq.c:312
+#, no-wrap
+msgid ""
+"Message selection:\n"
+"  -d, --repeated                 print only duplicates\n"
+"  -u, --unique                   print only unique messages, discard duplicates\n"
+msgstr ""
 
-#: src/ngettext.c:212
+#: src/ngettext.c:215
 #, c-format, no-wrap
 msgid "Usage: %s [OPTION] [TEXTDOMAIN] MSGID MSGID-PLURAL COUNT\n"
 msgstr ""
 
-#: src/ngettext.c:217
+#: src/ngettext.c:220
 #, no-wrap
 msgid ""
 "Display native language translation of a textual message whose grammatical\n"
 "form depends on a number.\n"
 msgstr ""
 
-#: src/ngettext.c:222
+#: src/ngettext.c:225
 #, fuzzy, no-wrap
 msgid ""
 "  -d, --domain=TEXTDOMAIN   retrieve translated message from TEXTDOMAIN\n"
@@ -837,7 +1797,7 @@ msgstr ""
 "  MSGID MSGID-PLURAL        prevod MSGID (ednina) ali MSGID_PLURAL (mno¾ina)\n"
 "  ©TEVEC                    doloèitev edninske/mno¾inske oblike\n"
 
-#: src/ngettext.c:233
+#: src/ngettext.c:236
 #, fuzzy, c-format, no-wrap
 msgid ""
 "If the TEXTDOMAIN parameter is not given, the domain is determined from the\n"
@@ -852,17 +1812,17 @@ msgstr ""
 "doloèimo alternativno lokacijo s spremenljivko TEXTDOMAINDIR.\n"
 "Privzet imenik s katalogom sporoèil: %s\n"
 
-#: src/open-po.c:64
+#: src/open-po.c:69
 msgid "<stdin>"
 msgstr "<st. vhod>"
 
-#: src/po-charset.c:145 src/po-charset.c:213 src/po-charset.c:239
-#: src/po-charset.c:265
+#: src/po-charset.c:172 src/po-charset.c:240 src/po-charset.c:268
+#: src/po-charset.c:294
 #, c-format
 msgid "%s: warning: "
 msgstr "%s: opozorilo: "
 
-#: src/po-charset.c:146
+#: src/po-charset.c:173
 #, c-format
 msgid ""
 "Charset \"%s\" is not a portable encoding name.\n"
@@ -871,15 +1831,15 @@ msgstr ""
 "Nabor \"%s\" ni prenosljivo ime kodnega nabora.\n"
 "Pretvorba sporoèil v uporabnikov kodni nabor morda ne bo delovala.\n"
 
-#: src/po-charset.c:209 src/po-charset.c:237
+#: src/po-charset.c:236 src/po-charset.c:266
 msgid "Continuing anyway, expect parse errors."
 msgstr "Te¾avam navzlic nadaljujemo, prièakujte napake pri razèlembi."
 
-#: src/po-charset.c:211
+#: src/po-charset.c:238
 msgid "Continuing anyway."
 msgstr "Te¾avam navzlic nadaljujemo."
 
-#: src/po-charset.c:214
+#: src/po-charset.c:241
 #, c-format
 msgid ""
 "Charset \"%s\" is not supported. %s relies on iconv(),\n"
@@ -888,7 +1848,7 @@ msgstr ""
 "Nabor \"%s\" ni podprt. %s se naslanja na iconv(),\n"
 "in iconv() ne podpira \"%s\".\n"
 
-#: src/po-charset.c:223 src/po-charset.c:247
+#: src/po-charset.c:250 src/po-charset.c:276
 msgid ""
 "Installing GNU libiconv and then reinstalling GNU gettext\n"
 "would fix this problem.\n"
@@ -896,12 +1856,12 @@ msgstr ""
 "Namestitev knji¾nice GNU libiconv in ponovno prevajanje paketa\n"
 "GNU Gettext bi moralo odpraviti to te¾avo.\n"
 
-#: src/po-charset.c:228 src/po-charset.c:251
+#: src/po-charset.c:255 src/po-charset.c:280
 #, c-format
 msgid "%s\n"
 msgstr "%s\n"
 
-#: src/po-charset.c:240
+#: src/po-charset.c:269
 #, c-format
 msgid ""
 "Charset \"%s\" is not supported. %s relies on iconv().\n"
@@ -910,7 +1870,7 @@ msgstr ""
 "Nabor \"%s\" ni podprt. %s se naslanja na iconv().\n"
 "Ta izdaja je bila prevedena brez iconv().\n"
 
-#: src/po-charset.c:266
+#: src/po-charset.c:295
 msgid ""
 "Charset missing in header.\n"
 "Message conversion to user's charset will not work.\n"
@@ -918,130 +1878,231 @@ msgstr ""
 "V glavi ni naveden nabor znakov.\n"
 "Pretvorba sporoèil v uporabnikov nabor znakov ne bo delovala.\n"
 
-#: po-gram-gen.y:88
+#: po-gram-gen.y:91
 msgid "inconsistent use of #~"
 msgstr "neskladna raba #~"
 
-#: po-gram-gen.y:178
+#: po-gram-gen.y:181
 msgid "missing `msgstr[]' section"
 msgstr "manjkajoè razdelek ,msgstr[]`"
 
-#: po-gram-gen.y:186
+#: po-gram-gen.y:189
 msgid "missing `msgid_plural' section"
 msgstr "manjkajoè razdelek ,msgid_plural`"
 
-#: po-gram-gen.y:193
+#: po-gram-gen.y:196
 msgid "missing `msgstr' section"
 msgstr "manjkajoè razdelek ,msgstr`"
 
-#: po-gram-gen.y:238
+#: po-gram-gen.y:241
 msgid "first plural form has nonzero index"
 msgstr "prva mno¾inska oblika ima indeks razlièen od niè"
 
-#: po-gram-gen.y:240
+#: po-gram-gen.y:243
 msgid "plural form has wrong index"
 msgstr "mno¾inska oblika ima napaèen indeks"
 
-#. CAUTION: If you change this macro, you must also make identical
-#. changes to the function of the same name in src/po-lex.c
-#: src/po-lex.c:151 src/po-lex.c:194 src/po-lex.h:77 src/po-lex.h:93
-#: src/po-lex.h:111 src/po-lex.h:127
+#: src/po-lex.h:91 src/po-lex.h:106 src/po-lex.h:126 src/po-lex.h:141
+#: src/po-lex.c:135 src/po-lex.c:176
 msgid "too many errors, aborting"
 msgstr "preveè napak, nadaljevanje ni mo¾no"
 
-#: src/po-lex.c:270
+#: src/po-lex.c:545 src/write-po.c:331 src/write-po.c:421
+msgid "invalid multibyte sequence"
+msgstr "neveljavno veèzlo¾no zaporedje"
+
+#: src/po-lex.c:571
+#, fuzzy
+msgid "incomplete multibyte sequence at end of file"
+msgstr "neveljavno veèzlo¾no zaporedje"
+
+#: src/po-lex.c:581
+#, fuzzy
+msgid "incomplete multibyte sequence at end of line"
+msgstr "neveljavno veèzlo¾no zaporedje"
+
+#: src/po-lex.c:589
+msgid "iconv failure"
+msgstr ""
+
+#: src/po-lex.c:763 src/read-mo.c:70 src/read-mo.c:135 src/x-c.c:216
+#: src/x-rst.c:227 src/x-ycp.c:103
+#, c-format
+msgid "error while reading \"%s\""
+msgstr "napaka pri branju \"%s\""
+
+#: src/po-lex.c:829
 #, c-format
 msgid "keyword \"%s\" unknown"
 msgstr "kljuèna beseda \"%s\" neprepoznana"
 
-#: src/po-lex.c:373
+#: src/po-lex.c:939
 msgid "invalid control sequence"
 msgstr "neveljavno krmilno zaporedje"
 
-#: src/po-lex.c:476
+#: src/po-lex.c:1047
 msgid "end-of-file within string"
 msgstr "znak za konec datoteke sredi niza"
 
-#: src/po-lex.c:481
+#: src/po-lex.c:1053
 msgid "end-of-line within string"
 msgstr "znak za konec vrstice sredi niza"
 
-#: src/po-lex.c:524 src/write-po.c:285 src/write-po.c:367
-msgid "invalid multibyte sequence"
-msgstr "neveljavno veèzlo¾no zaporedje"
+#: src/read-mo.c:71 src/read-mo.c:136
+#, c-format
+msgid "file \"%s\" truncated"
+msgstr "datoteka \"%s\" okrnjena"
+
+#: src/read-mo.c:102
+#, c-format
+msgid "seek \"%s\" offset %ld failed"
+msgstr "dostop do \"%s\" ofset %ld ni mo¾en"
+
+#: src/read-mo.c:141
+#, c-format
+msgid "file \"%s\" contains a not NUL terminated string"
+msgstr "datoteka \"%s\" vsebuje niz, ki ni zakljuèen z NUL"
+
+#: src/read-mo.c:186
+#, c-format
+msgid "file \"%s\" is not in GNU .mo format"
+msgstr "datoteka \"%s\" ni v obliki GNU .mo"
+
+#: src/write-java.c:1108
+msgid "cannot find a temporary directory, try setting $TMPDIR"
+msgstr ""
+
+#: src/write-java.c:1118
+#, fuzzy, c-format
+msgid "cannot create a temporary directory using template \"%s\""
+msgstr "vrnitev v imenik \"%s\" ni mo¾na"
+
+#: src/write-java.c:1131
+#, c-format
+msgid "not a valid Java class name: %s"
+msgstr ""
+
+#: src/write-java.c:1188 src/write-java.c:1201
+#, c-format
+msgid "failed to create \"%s\""
+msgstr ""
+
+#: src/write-java.c:1209 src/write-mo.c:289 src/write-po.c:966
+#, c-format
+msgid "error while writing \"%s\" file"
+msgstr "napaka pri pisanju na datoteko \"%s\""
 
-#: src/write-po.c:316
+#: src/write-java.c:1223
+msgid "compilation of Java class failed, please try --verbose or set $JAVAC"
+msgstr ""
+
+#: src/write-mo.c:277
+#, c-format
+msgid "error while opening \"%s\" for writing"
+msgstr "napaka pri pisanju na \"%s\""
+
+#: src/write-po.c:370
 #, c-format
 msgid ""
 "internationalized messages should not contain the `\\%c' escape sequence"
 msgstr ""
 "internacionalizirana sporoèila ne smejo vsebovati ube¾ne sekvence ,\\%c'"
 
-#: src/write-po.c:857
+#: src/write-po.c:724 src/write-po.c:818
+#, c-format
+msgid ""
+"The following msgid contains non-ASCII characters.\n"
+"This will cause problems to translators who use a character encoding\n"
+"different from yours. Consider using a pure ASCII msgid instead.\n"
+"%s\n"
+msgstr ""
+
+#: src/write-po.c:885
 #, c-format
 msgid "cannot create output file \"%s\""
 msgstr "izhodne datoteke \"%s\" ni mogoèe ustvariti"
 
-#: src/write-po.c:864
+#: src/write-po.c:892
 #, no-c-format
 msgid "standard output"
 msgstr "standardni izhod"
 
-#: src/write-po.c:939
-#, c-format
-msgid "error while writing \"%s\" file"
-msgstr "napaka pri pisanju na datoteko \"%s\""
-
-#: src/xget-lex.c:149
-msgid "standard input"
-msgstr "standardni vhod"
-
-#: src/xget-lex.c:878
+#: src/x-c.c:858
 #, c-format
 msgid "%s:%d: warning: unterminated character constant"
 msgstr "%s:%d: opozorilo: nezakljuèena znakovna konstanta"
 
-#: src/xget-lex.c:902
+#: src/x-c.c:882
 #, c-format
 msgid "%s:%d: warning: unterminated string literal"
 msgstr "%s:%d: opozorilo: nezakljuèen niz"
 
-#: src/xgettext.c:372
+#: src/x-po.c:106 src/xgettext.c:605
+msgid "this file may not contain domain directives"
+msgstr "ta datoteka morda ne vsebuje direktiv domene"
+
+#: src/x-rst.c:108
+#, c-format
+msgid "%s:%d: invalid string definition"
+msgstr ""
+
+#: src/x-rst.c:168
+#, c-format
+msgid "%s:%d: missing number after #"
+msgstr ""
+
+#: src/x-rst.c:203
+#, c-format
+msgid "%s:%d: invalid string expression"
+msgstr ""
+
+#: src/xgettext.c:375
 msgid "--join-existing cannot be used when output is written to stdout"
 msgstr "pri izpisu na standardni izhod ne moremo uporabiti --join-existing"
 
-#: src/xgettext.c:377
+#: src/xgettext.c:380
 msgid "xgettext cannot work without keywords to look for"
 msgstr "xgettext ne deluje brez kljuènih besed, ki naj jih i¹èe"
 
-#: src/xgettext.c:483
+#: src/xgettext.c:468
 #, c-format
 msgid "warning: file `%s' extension `%s' is unknown; will try C"
 msgstr ""
 "opozorilo: vrsta datoteka ,%s' s pripono ,%s' ni prepoznana; posku¹amo C"
 
-#: src/xgettext.c:524
+#: src/xgettext.c:509
 #, no-wrap
 msgid "Extract translatable strings from given input files.\n"
 msgstr ""
 
-#: src/xgettext.c:529
+#: src/xgettext.c:514
 #, no-wrap
 msgid ""
 "Mandatory arguments to long options are mandatory for short options too.\n"
 "Similarly for optional arguments.\n"
 msgstr ""
 
-#: src/xgettext.c:553
+#: src/xgettext.c:529
+#, no-wrap
+msgid ""
+"Output file location:\n"
+"  -d, --default-domain=NAME      use NAME.po for output (instead of messages.po)\n"
+"  -o, --output=FILE              write output to specified file\n"
+"  -p, --output-dir=DIR           output files will be placed in directory DIR\n"
+"If output file is -, output is written to standard output.\n"
+msgstr ""
+
+#: src/xgettext.c:538
 #, no-wrap
 msgid ""
 "Choice of input file language:\n"
-"  -L, --language=NAME            recognise the specified language (C, C++, PO)\n"
+"  -L, --language=NAME            recognise the specified language\n"
+"                                   (C, C++, ObjectiveC, PO, Java, YCP)\n"
 "  -C, --c++                      shorthand for --language=C++\n"
 "By default the language is guessed depending on the input file name extension.\n"
 msgstr ""
 
-#: src/xgettext.c:561
+#: src/xgettext.c:547
 #, no-wrap
 msgid ""
 "Operation mode:\n"
@@ -1051,7 +2112,7 @@ msgid ""
 "                                 preceding keyword lines) in output file\n"
 msgstr ""
 
-#: src/xgettext.c:570
+#: src/xgettext.c:556
 #, no-wrap
 msgid ""
 "Language=C/C++ specific options:\n"
@@ -1062,8 +2123,8 @@ msgid ""
 "      --debug                    more detailed formatstring recognition result\n"
 msgstr ""
 
-#: src/xgettext.c:580
-#, no-wrap
+#: src/xgettext.c:566
+#, fuzzy, no-wrap
 msgid ""
 "Output details:\n"
 "  -e, --no-escape                do not use C escapes in output (default)\n"
@@ -1074,38 +2135,78 @@ msgid ""
 "  -n, --add-location             generate '#: filename:line' lines (default)\n"
 "      --strict                   write out strict Uniforum conforming .po file\n"
 "  -w, --width=NUMBER             set output page width\n"
-"  -s, --sort-output              generate sorted output and remove duplicates\n"
+"  -s, --sort-output              generate sorted output\n"
 "  -F, --sort-by-file             sort output by file location\n"
 "      --omit-header              don't write header with `msgid \"\"' entry\n"
 "      --foreign-user             omit FSF copyright in output for foreign user\n"
 "  -m, --msgstr-prefix[=STRING]   use STRING or \"\" as prefix for msgstr entries\n"
 "  -M, --msgstr-suffix[=STRING]   use STRING or \"\" as suffix for msgstr entries\n"
 msgstr ""
+"Uporaba: %s [IZBIRA] def.po ref.po\n"
+"Argumenti, obvezni za dolge oblike izbire, so obvezni tudi za kratke.\n"
+"  -C, --compendimu=FILE       dodatna knji¾nica prevodov sporoèil; podana je\n"
+"                              lahko veè kot ena\n"
+"  -D, --directory=IMENIK      vhodne datoteke i¹èemo tudi v imeniku IMENIK\n"
+"  -e, --no-escape             brez ube¾nih sekvenc v obliki C (privzeto)\n"
+"  -E, --escape                z ube¾nimi sekvencami C, brez raz¹irjenega \n"
+"                              nabora znakov\n"
+"  -h, --help                  ta navodila\n"
+"  -i, --indent                izpis z zamiki\n"
+"  -o, --output-file=DATOTEKA  izhodna DATOTEKA\n"
+"      --no-location           brez vrstic ,#: filename:line`\n"
+"      --add-location          z vrsticami ,#: filename:line` (privzeto)\n"
+"      --strict                stroga oblika Uniforum pri izpisu\n"
+"  -v, --verbose               z dodatnimi sporoèili med izvajanjem\n"
+"  -V, --version               razlièica programa\n"
+"  -w, --width=©TEVILO         ¹irina strani pri izpisu, v znakih\n"
 
-#: src/xgettext.c:952
-#, c-format
-msgid "%s:%d: warning: keyword nested in keyword arg"
-msgstr "%s:%d: opozorilo: gnezdena kljuèna beseda v argumentu"
+#: src/xgettext.c:720
+msgid "standard input"
+msgstr "standardni vhod"
 
-#: src/xgettext.c:964
-#, c-format
-msgid "%s:%d: warning: keyword between outer keyword and its arg"
+#: src/xgettext.c:830
+msgid ""
+"Empty msgid.  It is reserved by GNU gettext:\n"
+"gettext(\"\") returns the header entry with\n"
+"meta information, not the empty string.\n"
 msgstr ""
-"%s:%d: opozorilo: kljuèna beseda med zun. kljuèno besedo in njenim argumentom"
 
-#: src/xgettext.c:1462
+#: src/xgettext.c:1099
 #, c-format
 msgid "language `%s' unknown"
 msgstr "jezik ,%s` ni poznan"
 
+#~ msgid "while creating hash table"
+#~ msgstr "med ustvarjanjem razpr¹ene tabele"
+
+#, fuzzy
+#~ msgid "%s:%lu: warning: keyword nested in keyword arg"
+#~ msgstr "%s:%d: opozorilo: gnezdena kljuèna beseda v argumentu"
+
+#, fuzzy
+#~ msgid "%s:%lu: warning: keyword between outer keyword and its arg"
+#~ msgstr ""
+#~ "%s:%d: opozorilo: kljuèna beseda med zun. kljuèno besedo in njenim "
+#~ "argumentom"
+
+#~ msgid "while preparing output"
+#~ msgstr "med pripravo izpisa"
+
+#~ msgid "this message has no definition in the \"%s\" domain"
+#~ msgstr "to sporoèilo ni definirano v domeni \"%s\""
+
 #  POZOR!  Nepopolni prevodi
 #~ msgid ""
 #~ "Usage: %s [OPTION] INPUTFILE ...\n"
 #~ "Mandatory arguments to long options are mandatory for short options too.\n"
-#~ "  -d, --default-domain=NAME      use NAME.po for output (instead of messages.po)\n"
-#~ "  -D, --directory=DIRECTORY      add DIRECTORY to list for input files search\n"
-#~ "  -e, --no-escape                do not use C escapes in output (default)\n"
-#~ "  -E, --escape                   use C escapes in output, no extended chars\n"
+#~ "  -d, --default-domain=NAME      use NAME.po for output (instead of "
+#~ "messages.po)\n"
+#~ "  -D, --directory=DIRECTORY      add DIRECTORY to list for input files "
+#~ "search\n"
+#~ "  -e, --no-escape                do not use C escapes in output "
+#~ "(default)\n"
+#~ "  -E, --escape                   use C escapes in output, no extended "
+#~ "chars\n"
 #~ "  -f, --files-from=FILE          get list of input files from FILE\n"
 #~ "      --force-po                 write PO file even if empty\n"
 #~ "  -F, --sort-by-file             sort output by file location\n"
@@ -1114,11 +2215,15 @@ msgstr "jezik ,%s` ni poznan"
 #~ "Uporaba: %s [IZBIRA] VHODNA_DATOTEKA ...\n"
 #~ "Argumenti, obvezni za dolge oblike izbire, so obvezni tudi za kratke.\n"
 #~ "  -d, --default-domain=IME       izhod na IME.po (namesto messages.po)\n"
-#~ "  -D, --directory=IMENIK         vhodne datoteke i¹èemo tudi v imeniku IMENIK\n"
-#~ "  -e, --no-escape                brez ube¾nih sekvenc v obliki C (privzeto)\n"
-#~ "  -E, --escape                   z ube¾nimi sekvencami C, brez raz¹irjenega\n"
+#~ "  -D, --directory=IMENIK         vhodne datoteke i¹èemo tudi v imeniku "
+#~ "IMENIK\n"
+#~ "  -e, --no-escape                brez ube¾nih sekvenc v obliki C "
+#~ "(privzeto)\n"
+#~ "  -E, --escape                   z ube¾nimi sekvencami C, brez "
+#~ "raz¹irjenega\n"
 #~ "                                 nabora znakov\n"
-#~ "  -f, --files-from=DATOTEKA      seznam vhodnih datotek preberemo z DATOTEKE\n"
+#~ "  -f, --files-from=DATOTEKA      seznam vhodnih datotek preberemo z "
+#~ "DATOTEKE\n"
 #~ "      --force-po                 datoteko PO zapi¹emo, èetudi je prazna\n"
 #~ "  -F, --sort-by-file             izhod uredimo po lokaciji datotek\n"
 #~ "  -h, --help                     ta navodila\n"
@@ -1163,12 +2268,16 @@ msgstr "jezik ,%s` ni poznan"
 #~ "Generate binary message catalog from textual translation description.\n"
 #~ "\n"
 #~ "Mandatory arguments to long options are mandatory for short options too.\n"
-#~ "  -a, --alignment=NUMBER      align strings to NUMBER bytes (default: %d)\n"
-#~ "  -c, --check                 perform language dependent checks on strings\n"
-#~ "  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+#~ "  -a, --alignment=NUMBER      align strings to NUMBER bytes (default: %"
+#~ "d)\n"
+#~ "  -c, --check                 perform language dependent checks on "
+#~ "strings\n"
+#~ "  -D, --directory=DIRECTORY   add DIRECTORY to list for input files "
+#~ "search\n"
 #~ "  -f, --use-fuzzy             use fuzzy entries in output\n"
 #~ "  -h, --help                  display this help and exit\n"
-#~ "      --no-hash               binary file will not include the hash table\n"
+#~ "      --no-hash               binary file will not include the hash "
+#~ "table\n"
 #~ "  -o, --output-file=FILE      specify output file name as FILE\n"
 #~ "      --statistics            print statistics about translations\n"
 #~ "      --strict                enable strict Uniforum mode\n"
@@ -1184,7 +2293,8 @@ msgstr "jezik ,%s` ni poznan"
 #~ "Tekstovni opis prevodov prevedemo v binarni katalog sporoèil.\n"
 #~ "\n"
 #~ "Argumenti, obvezni za dolge oblike izbire, so obvezni tudi za kratke.\n"
-#~ "  -a, --alignment=©TEVILO  poravnaj nize znakov na ©TEVILO bytov (privzeto: %d)\n"
+#~ "  -a, --alignment=©TEVILO  poravnaj nize znakov na ©TEVILO bytov "
+#~ "(privzeto: %d)\n"
 #~ "  -c, --check              na nizih izvedi teste, odvisne od jezika\n"
 #~ "  -D, --directory=IMENIK   vhodne datoteke i¹èemo tudi v imeniku IMENIK\n"
 #~ "  -f, --use-fuzzy          uporaba ohlapnih prevodov pri izpisu\n"
@@ -1198,8 +2308,10 @@ msgstr "jezik ,%s` ni poznan"
 #~ "\n"
 #~ "Veèkratna izbira -v poveèa raven komentarjev ob delovanju.\n"
 #~ "\n"
-#~ "Èe je kot ime vhodne datoteke navedeno - (minus), program bere s standardnega\n"
-#~ "vhoda. Èe je kot ime izhodne datoteke navedeno - (minus), program pi¹e na\n"
+#~ "Èe je kot ime vhodne datoteke navedeno - (minus), program bere s "
+#~ "standardnega\n"
+#~ "vhoda. Èe je kot ime izhodne datoteke navedeno - (minus), program pi¹e "
+#~ "na\n"
 #~ "standardni izhod.\n"
 
 #~ msgid ""
@@ -1212,7 +2324,8 @@ msgstr "jezik ,%s` ni poznan"
 #~ "\n"
 #~ "Pretvorba datoteke iz binarne oblike .mo v obliko Uniforum .po\n"
 #~ "Datoteke .mo so lahko little-endian ali big-endian.\n"
-#~ "Èe vhodna datoteka ni podana, ali pa je podano ime -, beremo standardni vhod.\n"
+#~ "Èe vhodna datoteka ni podana, ali pa je podano ime -, beremo standardni "
+#~ "vhod.\n"
 #~ "Èe ni izbrano drugaèe, gre izpis na standardni izhod.\n"
 
 #  POZOR!  Nepopolni prevodi
@@ -1225,31 +2338,44 @@ msgstr "jezik ,%s` ni poznan"
 #~ "  -c, --add-comments[=TAG]       place comment block with TAG (or those\n"
 #~ "                                 preceding keyword lines) in output file\n"
 #~ "  -C, --c++                      shorthand for --language=C++\n"
-#~ "      --debug                    more detailed formatstring recognision result\n"
-#~ "  -d, --default-domain=NAME      use NAME.po for output (instead of messages.po)\n"
-#~ "  -D, --directory=DIRECTORY      add DIRECTORY to list for input files search\n"
-#~ "  -e, --no-escape                do not use C escapes in output (default)\n"
-#~ "  -E, --escape                   use C escapes in output, no extended chars\n"
+#~ "      --debug                    more detailed formatstring recognision "
+#~ "result\n"
+#~ "  -d, --default-domain=NAME      use NAME.po for output (instead of "
+#~ "messages.po)\n"
+#~ "  -D, --directory=DIRECTORY      add DIRECTORY to list for input files "
+#~ "search\n"
+#~ "  -e, --no-escape                do not use C escapes in output "
+#~ "(default)\n"
+#~ "  -E, --escape                   use C escapes in output, no extended "
+#~ "chars\n"
 #~ "  -f, --files-from=FILE          get list of input files from FILE\n"
 #~ "      --force-po                 write PO file even if empty\n"
-#~ "      --foreign-user             omit FSF copyright in output for foreign user\n"
+#~ "      --foreign-user             omit FSF copyright in output for foreign "
+#~ "user\n"
 #~ "  -F, --sort-by-file             sort output by file location\n"
 #~ msgstr ""
 #~ "Uporaba: %s [IZBIRA] VHODNA_DATOTEKA ...\n"
 #~ "Argumenti, obvezni za dolge oblike izbire, so obvezni tudi za kratke.\n"
 #~ "  -a, --extract-all              iz datotek potegnemo vse nize\n"
 #~ "  -c, --add-comments[=ZNAÈKA]    komentarji oznaèeni z ZNAÈKO (ali tisti\n"
-#~ "                                 pred vrsticami s kljuènimi besedami) naj se\n"
+#~ "                                 pred vrsticami s kljuènimi besedami) naj "
+#~ "se\n"
 #~ "                                 izpi¹ejo\n"
 #~ "  -C, --c++                      okraj¹ava za --language=C++\n"
-#~ "  -d, --default-domain=IME       izhod na IME.po (namesto na messages.po)\n"
-#~ "  -D, --directory=IMENIK         vhodne datoteke i¹èemo tudi v imeniku IMENIK\n"
-#~ "  -e, --no-escape                brez ube¾nih sekvenc v stilu C (privzeto)\n"
-#~ "  -E, --escape                   z ube¾nimi sekvencami C, brez raz¹irjenega\n"
+#~ "  -d, --default-domain=IME       izhod na IME.po (namesto na messages."
+#~ "po)\n"
+#~ "  -D, --directory=IMENIK         vhodne datoteke i¹èemo tudi v imeniku "
+#~ "IMENIK\n"
+#~ "  -e, --no-escape                brez ube¾nih sekvenc v stilu C "
+#~ "(privzeto)\n"
+#~ "  -E, --escape                   z ube¾nimi sekvencami C, brez "
+#~ "raz¹irjenega\n"
 #~ "                                 nabora znakov\n"
-#~ "  -f, --files-from=DATOTEKA      seznam vhodnih datotek preberemo z DATOTEKE\n"
+#~ "  -f, --files-from=DATOTEKA      seznam vhodnih datotek preberemo z "
+#~ "DATOTEKE\n"
 #~ "      --force-po                 datoteko PO zapi¹emo, èetudi je prazna\n"
-#~ "      --foreign-user             brez sporoèila FSF v izhodni datoteki za\n"
+#~ "      --foreign-user             brez sporoèila FSF v izhodni datoteki "
+#~ "za\n"
 #~ "                                 tujega uporabnika\n"
 #~ "  -F, --sort-by-file             izhod sortiramo po lokaciji datotek\n"
 
@@ -1257,21 +2383,30 @@ msgstr "jezik ,%s` ni poznan"
 #~ "  -h, --help                     display this help and exit\n"
 #~ "  -i, --indent                   write the .po file using indented style\n"
 #~ "  -j, --join-existing            join messages with existing file\n"
-#~ "  -k, --keyword[=WORD]           additonal keyword to be looked for (without\n"
+#~ "  -k, --keyword[=WORD]           additonal keyword to be looked for "
+#~ "(without\n"
 #~ "                                 WORD means not to use default keywords)\n"
-#~ "  -L, --language=NAME            recognise the specified language (C, C++, PO),\n"
-#~ "                                 otherwise is guessed from file extension\n"
-#~ "  -m, --msgstr-prefix[=STRING]   use STRING or \"\" as prefix for msgstr entries\n"
-#~ "  -M, --msgstr-suffix[=STRING]   use STRING or \"\" as suffix for msgstr entries\n"
+#~ "  -L, --language=NAME            recognise the specified language (C, C+"
+#~ "+, PO),\n"
+#~ "                                 otherwise is guessed from file "
+#~ "extension\n"
+#~ "  -m, --msgstr-prefix[=STRING]   use STRING or \"\" as prefix for msgstr "
+#~ "entries\n"
+#~ "  -M, --msgstr-suffix[=STRING]   use STRING or \"\" as suffix for msgstr "
+#~ "entries\n"
 #~ "      --no-location              do not write '#: filename:line' lines\n"
 #~ msgstr ""
 #~ "  -h, --help                     ta navodila\n"
-#~ "  -i, --indent                   izpis datoteke PO z zamiki od levega roba\n"
+#~ "  -i, --indent                   izpis datoteke PO z zamiki od levega "
+#~ "roba\n"
 #~ "  -j, --join-existing            zdru¾i sporoèila z obstojeèo datoteko\n"
-#~ "  -k, --keyword[=BESEDA]         iskanje po dodatnih kljuèih besedah (prazen\n"
-#~ "                                 niz BESEDA pomeni brez uporabe privzetih\n"
+#~ "  -k, --keyword[=BESEDA]         iskanje po dodatnih kljuèih besedah "
+#~ "(prazen\n"
+#~ "                                 niz BESEDA pomeni brez uporabe "
+#~ "privzetih\n"
 #~ "                                 kljuènih besed)\n"
-#~ "  -L, --language=JEZIK           izrecno navedemo programski JEZIK (C, C++, PO);\n"
+#~ "  -L, --language=JEZIK           izrecno navedemo programski JEZIK (C, C+"
+#~ "+, PO);\n"
 #~ "                                 sicer ga poskusimo uganiti iz pripone\n"
 #~ "  -m, --msgstr-prefix[=NIZ]      NIZ ali \"\" kot predpona za msgstr\n"
 #~ "  -M, --msgstr-suffix[=NIZ]      NIZ ali \"\" kot pripona za msgstr\n"
@@ -1279,12 +2414,17 @@ msgstr "jezik ,%s` ni poznan"
 
 #  POZOR!  Nepopolni prevodi
 #~ msgid ""
-#~ "  -n, --add-location             generate '#: filename:line' lines (default)\n"
-#~ "      --omit-header              don't write header with `msgid \"\"' entry\n"
+#~ "  -n, --add-location             generate '#: filename:line' lines "
+#~ "(default)\n"
+#~ "      --omit-header              don't write header with `msgid \"\"' "
+#~ "entry\n"
 #~ "  -o, --output=FILE              write output to specified file\n"
-#~ "  -p, --output-dir=DIR           output files will be placed in directory DIR\n"
-#~ "  -s, --sort-output              generate sorted output and remove duplicates\n"
-#~ "      --strict                   write out strict Uniforum conforming .po file\n"
+#~ "  -p, --output-dir=DIR           output files will be placed in directory "
+#~ "DIR\n"
+#~ "  -s, --sort-output              generate sorted output and remove "
+#~ "duplicates\n"
+#~ "      --strict                   write out strict Uniforum conforming .po "
+#~ "file\n"
 #~ "  -T, --trigraphs                understand ANSI C trigraphs for input\n"
 #~ "  -V, --version                  output version information and exit\n"
 #~ "  -w, --width=NUMBER             set output page width\n"
@@ -1292,12 +2432,14 @@ msgstr "jezik ,%s` ni poznan"
 #~ "\n"
 #~ "If INPUTFILE is -, standard input is read.\n"
 #~ msgstr ""
-#~ "  -n, --add-location             z vrsticami '#: filename:line' (privzeto)\n"
+#~ "  -n, --add-location             z vrsticami '#: filename:"
+#~ "line' (privzeto)\n"
 #~ "      --omit-header              brez glave z ,msgid \"\"'\n"
 #~ "  -o, --output=DATOTEKA          izhod zapi¹emo na podano DATOTEKO\n"
 #~ "  -p, --output-dir=IMENIK        izhodne datoteke zapisane v IMENIK\n"
 #~ "  -s, --sort-output              urejen izpis brez podvojenih vnosov\n"
-#~ "      --strict                   strogi stil Uniforum pri izpisu datoteke .po\n"
+#~ "      --strict                   strogi stil Uniforum pri izpisu "
+#~ "datoteke .po\n"
 #~ "  -T, --trigraphs                razumi trigrafe ANSI C na vhodu\n"
 #~ "  -V, --version                  verzija programa\n"
 #~ "  -w, --width=©TEVILO            ¹irina vrstice pri izpisu, v znakih\n"
@@ -1336,6 +2478,3 @@ msgstr "jezik ,%s` ni poznan"
 
 #~ msgid "cannot change to directory \"%s\""
 #~ msgstr "dostop do imenika \"%s\" ni mo¾en"
-
-#~ msgid "cannot change back to directory \"%s\""
-#~ msgstr "vrnitev v imenik \"%s\" ni mo¾na"
index c52a76a83a0ed9920d8fef7cc66466a8b0111d14..8d735d66cfd30d598ed1fabd9430e0e3a06c313b 100644 (file)
Binary files a/po/sv.gmo and b/po/sv.gmo differ
index 21d7cc6abb106d6960078a7579a1a9c4d5e85521..4e25c33ad4467cefb24facf652b37ab1a196c208 100644 (file)
--- a/po/sv.po
+++ b/po/sv.po
@@ -6,7 +6,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: gettext 0.11-pre1\n"
-"POT-Creation-Date: 2001-11-01 13:09+0100\n"
+"POT-Creation-Date: 2001-11-30 14:18+0100\n"
 "PO-Revision-Date: 2001-11-13 18:51+0100\n"
 "Last-Translator: Jan Djärv <Jan.Djarv@mbox200.swipnet.se>\n"
 "Language-Team: Swedish <sv@li.org>\n"
@@ -30,7 +30,7 @@ msgid "Valid arguments are:"
 msgstr "Giltiga argument är:"
 
 #: lib/copy-file.c:60 src/file-list.c:57 src/po-lex.c:732 src/read-mo.c:170
-#: src/xgettext.c:737 src/xgettext.c:750 src/xgettext.c:760
+#: src/xgettext.c:729 src/xgettext.c:742 src/xgettext.c:752
 #, c-format
 msgid "error while opening \"%s\" for reading"
 msgstr "fel uppstod när \"%s\" öppnades för läsning"
@@ -125,7 +125,7 @@ msgstr "%s: flaggan \"-W %s\" tar inget argument\n"
 msgid "Java compiler not found, try installing gcj or set $JAVAC"
 msgstr "Javakompilator hittades inte, försök installera gcj eller sätt $JAVAC"
 
-#: lib/javaexec.c:402
+#: lib/javaexec.c:404
 msgid "Java virtual machine not found, try installing gij or set $JAVA"
 msgstr ""
 "Virtuell Javamaskin hittades inte, försök installera gij eller sätt $JAVA"
@@ -181,7 +181,7 @@ msgstr ""
 "formateringsdirektiv för argument {%u} i \"msgid\" och \"msgstr\" är inte "
 "likadana"
 
-#: src/format-lisp.c:3385
+#: src/format-lisp.c:3371
 msgid "format specifications in 'msgid' and 'msgstr' are not equivalent"
 msgstr "formateringsdirektiv i \"msgid\" och \"msgstr\" är inte ekvivalenta"
 
@@ -220,21 +220,21 @@ msgstr ""
 "formateringsdirektiv i \"msgid\" och \"msgstr\" för argument %s är inte "
 "likadana"
 
-#: src/format-ycp.c:135
+#: src/format-ycp.c:137
 #, c-format
 msgid "a format specification for argument %u doesn't exist in 'msgstr'"
 msgstr "formateringsdirektiv för argument %u finns inte i \"msgstr\""
 
-#: src/format-ycp.c:136
+#: src/format-ycp.c:138
 #, c-format
 msgid "a format specification for argument %u doesn't exist in 'msgid'"
 msgstr "formateringsdirektiv för argument %u finns inte i \"msgid\""
 
 #: src/gettext.c:146 src/hostname.c:168 src/msgattrib.c:264 src/msgcat.c:229
-#: src/msgcmp.c:133 src/msgcomm.c:232 src/msgconv.c:182 src/msgen.c:171
-#: src/msgexec.c:240 src/msgfmt.c:312 src/msggrep.c:276 src/msginit.c:249
-#: src/msgmerge.c:249 src/msgunfmt.c:182 src/msguniq.c:207 src/ngettext.c:126
-#: src/xgettext.c:356
+#: src/msgcmp.c:134 src/msgcomm.c:232 src/msgconv.c:182 src/msgen.c:171
+#: src/msgexec.c:240 src/msgfmt.c:333 src/msggrep.c:276 src/msginit.c:247
+#: src/msgmerge.c:252 src/msgunfmt.c:182 src/msguniq.c:207 src/ngettext.c:126
+#: src/xgettext.c:352
 #, c-format, no-wrap
 msgid ""
 "Copyright (C) %s Free Software Foundation, Inc.\n"
@@ -247,15 +247,15 @@ msgstr ""
 "ÄNDAMÅL.\n"
 
 #: src/gettext.c:151 src/hostname.c:173 src/msgattrib.c:269 src/msgcat.c:234
-#: src/msgcmp.c:138 src/msgcomm.c:237 src/msgconv.c:187 src/msgen.c:176
-#: src/msgexec.c:245 src/msgfmt.c:317 src/msggrep.c:281 src/msginit.c:254
-#: src/msgmerge.c:254 src/msgunfmt.c:187 src/msguniq.c:212 src/ngettext.c:131
-#: src/xgettext.c:361
+#: src/msgcmp.c:139 src/msgcomm.c:237 src/msgconv.c:187 src/msgen.c:176
+#: src/msgexec.c:245 src/msgfmt.c:338 src/msggrep.c:281 src/msginit.c:252
+#: src/msgmerge.c:257 src/msgunfmt.c:187 src/msguniq.c:212 src/ngettext.c:131
+#: src/xgettext.c:357
 #, c-format
 msgid "Written by %s.\n"
 msgstr "Skrivet av %s.\n"
 
-#: src/gettext.c:169 src/hostname.c:183 src/msginit.c:264 src/ngettext.c:143
+#: src/gettext.c:169 src/hostname.c:183 src/msginit.c:262 src/ngettext.c:143
 msgid "too many arguments"
 msgstr "för många argument"
 
@@ -264,10 +264,10 @@ msgid "missing arguments"
 msgstr "argument saknas"
 
 #: src/gettext.c:251 src/hostname.c:197 src/msgattrib.c:322 src/msgcat.c:290
-#: src/msgcmp.c:170 src/msgcomm.c:306 src/msgconv.c:241 src/msgen.c:227
-#: src/msgexec.c:338 src/msgfmt.c:455 src/msggrep.c:371 src/msginit.c:340
-#: src/msgmerge.c:364 src/msgunfmt.c:262 src/msguniq.c:269 src/ngettext.c:210
-#: src/xgettext.c:507
+#: src/msgcmp.c:171 src/msgcomm.c:306 src/msgconv.c:241 src/msgen.c:227
+#: src/msgexec.c:338 src/msgfmt.c:479 src/msggrep.c:371 src/msginit.c:338
+#: src/msgmerge.c:367 src/msgunfmt.c:262 src/msguniq.c:269 src/ngettext.c:210
+#: src/xgettext.c:499
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "Försök med \"%s --help\" för mer information.\n"
@@ -328,16 +328,16 @@ msgstr ""
 "Normal katalog för meddelandekataloger: %s\n"
 
 #: src/gettext.c:288 src/hostname.c:227 src/msgattrib.c:402 src/msgcat.c:371
-#: src/msgcmp.c:215 src/msgcomm.c:384 src/msgconv.c:305 src/msgen.c:287
-#: src/msgexec.c:410 src/msgfmt.c:537 src/msggrep.c:457 src/msginit.c:391
-#: src/msgmerge.c:462 src/msgunfmt.c:331 src/msguniq.c:343 src/ngettext.c:244
-#: src/xgettext.c:599
+#: src/msgcmp.c:216 src/msgcomm.c:384 src/msgconv.c:305 src/msgen.c:287
+#: src/msgexec.c:410 src/msgfmt.c:563 src/msggrep.c:457 src/msginit.c:389
+#: src/msgmerge.c:465 src/msgunfmt.c:331 src/msguniq.c:343 src/ngettext.c:244
+#: src/xgettext.c:591
 msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
 msgstr ""
 "Rapportera fel till <bug-gnu-gettext@gnu.org>.\n"
 "Rapportera fel och synpunkter på översättningen till <sv@li.org>.\n"
 
-#: src/hostname.c:202 src/msginit.c:345
+#: src/hostname.c:202 src/msginit.c:343
 #, c-format, no-wrap
 msgid "Usage: %s [OPTION]\n"
 msgstr "Användning: %s [FLAGGA]\n"
@@ -361,8 +361,8 @@ msgstr ""
 "  -f, --fqdn, --long    långt värdnamn, innehåller hela domännamnet och alias\n"
 "  -i, --ip-address      adresser för värdnamnet\n"
 
-#: src/hostname.c:221 src/msgattrib.c:396 src/msgcmp.c:209 src/msgconv.c:299
-#: src/msgen.c:281 src/msgexec.c:404 src/msggrep.c:451
+#: src/hostname.c:221 src/msgattrib.c:396 src/msgcmp.c:210 src/msgconv.c:299
+#: src/msgen.c:281 src/msgexec.c:404 src/msggrep.c:451 src/msginit.c:383
 #, no-wrap
 msgid ""
 "Informative output:\n"
@@ -378,16 +378,16 @@ msgid "could not get host name"
 msgstr "kunde inte hämta värdnamn"
 
 #: src/msgattrib.c:284 src/msgconv.c:202 src/msgexec.c:190 src/msggrep.c:296
-#: src/msginit.c:207 src/msguniq.c:227
+#: src/msginit.c:205 src/msguniq.c:227
 msgid "at most one input file allowed"
 msgstr "högst en infil tillåten"
 
 #: src/msgattrib.c:290 src/msgattrib.c:294 src/msgcat.c:244 src/msgcat.c:248
 #: src/msgcomm.c:247 src/msgcomm.c:251 src/msgconv.c:208 src/msgconv.c:212
 #: src/msgen.c:198 src/msgen.c:202 src/msgexec.c:260 src/msgexec.c:264
-#: src/msgfmt.c:337 src/msggrep.c:302 src/msggrep.c:306 src/msgmerge.c:279
-#: src/msgmerge.c:300 src/msgmerge.c:304 src/msguniq.c:233 src/msguniq.c:237
-#: src/xgettext.c:375 src/xgettext.c:379
+#: src/msgfmt.c:358 src/msggrep.c:302 src/msggrep.c:306 src/msgmerge.c:282
+#: src/msgmerge.c:303 src/msgmerge.c:307 src/msguniq.c:233 src/msguniq.c:237
+#: src/xgettext.c:367 src/xgettext.c:371
 #, c-format
 msgid "%s and %s are mutually exclusive"
 msgstr "%s och %s är ömsesidigt uteslutande"
@@ -406,9 +406,9 @@ msgstr ""
 "Filtrerar meddelanden i en meddelandekatalog efter deras attribut och\n"
 "manipulerar attributen.\n"
 
-#: src/msgattrib.c:338 src/msgcat.c:313 src/msgcmp.c:190 src/msgcomm.c:328
-#: src/msgconv.c:256 src/msgen.c:245 src/msgexec.c:353 src/msgfmt.c:470
-#: src/msggrep.c:387 src/msginit.c:356 src/msgmerge.c:387 src/msgunfmt.c:277
+#: src/msgattrib.c:338 src/msgcat.c:313 src/msgcmp.c:191 src/msgcomm.c:328
+#: src/msgconv.c:256 src/msgen.c:245 src/msgexec.c:353 src/msgfmt.c:494
+#: src/msggrep.c:387 src/msginit.c:354 src/msgmerge.c:390 src/msgunfmt.c:277
 #: src/msguniq.c:291
 #, no-wrap
 msgid "Mandatory arguments to long options are mandatory for short options too.\n"
@@ -428,7 +428,7 @@ msgstr ""
 "Om ingen infil är given eller om den är - läses standard in.\n"
 
 #: src/msgattrib.c:351 src/msgconv.c:269 src/msgen.c:258 src/msgexec.c:366
-#: src/msggrep.c:400 src/msgmerge.c:409
+#: src/msggrep.c:400 src/msgmerge.c:412
 #, no-wrap
 msgid ""
 "Output file location:\n"
@@ -512,7 +512,7 @@ msgstr ""
 msgid "impossible selection criteria specified (%d < n < %d)"
 msgstr "omöjligt urvalskriterium angivet (%d < n < %d)"
 
-#: src/msgcat.c:295 src/msgcomm.c:311 src/xgettext.c:512
+#: src/msgcat.c:295 src/msgcomm.c:311 src/xgettext.c:504
 #, c-format, no-wrap
 msgid "Usage: %s [OPTION] [INPUTFILE]...\n"
 msgstr "Användning: %s [FLAGGA] [INFIL]...\n"
@@ -540,7 +540,7 @@ msgstr ""
 "utom om --use-first ges.  Då tas de endast från den första PO-filen som\n"
 "definierar dem.  Filpositioner från alla filer bevaras.\n"
 
-#: src/msgcat.c:318 src/msgcomm.c:333 src/xgettext.c:528
+#: src/msgcat.c:318 src/msgcomm.c:333 src/xgettext.c:520
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -622,7 +622,7 @@ msgstr ""
 "  -s, --sort-output              sortera resultatet\n"
 "  -F, --sort-by-file             sortera resultatet efter filposition  \n"
 
-#: src/msgcat.c:365 src/msgcomm.c:378 src/msguniq.c:337 src/xgettext.c:593
+#: src/msgcat.c:365 src/msgcomm.c:378 src/msguniq.c:337 src/xgettext.c:585
 #, no-wrap
 msgid ""
 "Informative output:\n"
@@ -633,20 +633,20 @@ msgstr ""
 "  -h, --help                     visa denna hjälptext och avsluta\n"
 "  -V, --version                  visa versionsinformation och avsluta\n"
 
-#: src/msgcmp.c:149 src/msgmerge.c:265
+#: src/msgcmp.c:150 src/msgmerge.c:268
 msgid "no input files given"
 msgstr "inga infiler givna"
 
-#: src/msgcmp.c:154 src/msgmerge.c:270
+#: src/msgcmp.c:155 src/msgmerge.c:273
 msgid "exactly 2 input files required"
 msgstr "exakt 2 infiler krävs"
 
-#: src/msgcmp.c:175 src/msgmerge.c:369
+#: src/msgcmp.c:176 src/msgmerge.c:372
 #, c-format, no-wrap
 msgid "Usage: %s [OPTION] def.po ref.pot\n"
 msgstr "Användning: %s [FLAGGA] def.po ref.pot\n"
 
-#: src/msgcmp.c:180
+#: src/msgcmp.c:181
 #, no-wrap
 msgid ""
 "Compare two Uniforum style .po files to check that both contain the same\n"
@@ -664,7 +664,7 @@ msgstr ""
 "programmet.  Om en exakt likhet inte kan hittas används luddig jämförelse \n"
 "för att ge bättre felmeddelanden.\n"
 
-#: src/msgcmp.c:195
+#: src/msgcmp.c:196
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -677,7 +677,7 @@ msgstr ""
 "  ref.pot                     referenser till källkod\n"
 "  -D, --directory=KATALOG     sök infiler även i KATALOG\n"
 
-#: src/msgcmp.c:203 src/msgmerge.c:433
+#: src/msgcmp.c:204 src/msgmerge.c:436
 #, no-wrap
 msgid ""
 "Operation modifiers:\n"
@@ -686,35 +686,35 @@ msgstr ""
 "Bearbetningsvarianter:\n"
 "  -m, --multi-domain          tillämpa ref.pot till alla domäner i def.po\n"
 
-#: src/msgcmp.c:252 src/msgmerge.c:540
+#: src/msgcmp.c:253 src/msgmerge.c:543
 msgid "this message is used but not defined..."
 msgstr "detta meddelande används men är inte definierat..."
 
-#: src/msgcmp.c:254 src/msgmerge.c:542
+#: src/msgcmp.c:255 src/msgmerge.c:545
 msgid "...but this definition is similar"
 msgstr "...men denna definition är likartad"
 
-#: src/msgcmp.c:259 src/msgmerge.c:569
+#: src/msgcmp.c:260 src/msgmerge.c:572
 #, c-format
 msgid "this message is used but not defined in %s"
 msgstr "detta meddelande används men är inte definierat i %s"
 
-#: src/msgcmp.c:331
+#: src/msgcmp.c:332
 msgid "warning: this message is not used"
 msgstr "varning: detta meddelande används inte"
 
-#: src/msgcmp.c:338 src/po-lex.c:705
+#: src/msgcmp.c:339 src/po-lex.c:705
 #, c-format
 msgid "found %d fatal error"
 msgid_plural "found %d fatal errors"
 msgstr[0] "%d allvarligt fel hittat"
 msgstr[1] "%d allvarliga fel hittades"
 
-#: src/msgcmp.c:419 src/msgfmt.c:1298 src/read-po.c:198 src/x-po.c:163
+#: src/msgcmp.c:420 src/msgfmt.c:1323 src/read-po.c:202 src/x-po.c:163
 msgid "duplicate message definition"
 msgstr "meddelandedefinitionen är dubblerad"
 
-#: src/msgcmp.c:420 src/msgfmt.c:1300 src/read-po.c:199 src/x-po.c:164
+#: src/msgcmp.c:421 src/msgfmt.c:1324 src/read-po.c:203 src/x-po.c:164
 msgid "...this is the location of the first definition"
 msgstr "...detta är platsen för den första definitionen"
 
@@ -810,7 +810,7 @@ msgstr ""
 "  -t, --to-code=NAMN          Kodning för utdata\n"
 "Standardvärde är nuvarande lokals kodning.\n"
 
-#: src/msgconv.c:284 src/msgen.c:266 src/msgmerge.c:439
+#: src/msgconv.c:284 src/msgen.c:266 src/msgmerge.c:442
 #, no-wrap
 msgid ""
 "Output details:\n"
@@ -839,7 +839,7 @@ msgstr ""
 "  -s, --sort-output           sortera resultatet\n"
 "  -F, --sort-by-file          sortera resultatet efter filposition\n"
 
-#: src/msgen.c:187 src/msgfmt.c:328 src/xgettext.c:396
+#: src/msgen.c:187 src/msgfmt.c:349 src/xgettext.c:388
 msgid "no input file given"
 msgstr "inga infiler givna"
 
@@ -987,49 +987,54 @@ msgstr "l
 msgid "%s subprocess terminated with exit code %d"
 msgstr "%s-barnprocess avslutade med slutstatus %d"
 
-#: src/msgfmt.c:343
+#: src/msgfmt.c:303
+#, c-format
+msgid "the argument to %s should be a single punctuation character"
+msgstr ""
+
+#: src/msgfmt.c:364
 #, c-format
 msgid "%s requires a \"-d directory\" specification"
 msgstr "%s kräver att \"-d katalog\" anges"
 
-#: src/msgfmt.c:352 src/msgfmt.c:358 src/msgfmt.c:364 src/msgmerge.c:287
-#: src/msgmerge.c:293 src/msgunfmt.c:209 src/msgunfmt.c:215
+#: src/msgfmt.c:373 src/msgfmt.c:379 src/msgfmt.c:385 src/msgmerge.c:290
+#: src/msgmerge.c:296 src/msgunfmt.c:209 src/msgunfmt.c:215
 #, c-format
 msgid "%s is only valid with %s"
 msgstr "%s är endast giltig med %s"
 
-#: src/msgfmt.c:428
+#: src/msgfmt.c:452
 #, c-format
 msgid "%d translated message"
 msgid_plural "%d translated messages"
 msgstr[0] "%d översatt meddelande"
 msgstr[1] "%d översatta meddelanden"
 
-#: src/msgfmt.c:433
+#: src/msgfmt.c:457
 #, c-format
 msgid ", %d fuzzy translation"
 msgid_plural ", %d fuzzy translations"
 msgstr[0] ", %d luddig översättning"
 msgstr[1] ", %d luddiga översättningar"
 
-#: src/msgfmt.c:438
+#: src/msgfmt.c:462
 #, c-format
 msgid ", %d untranslated message"
 msgid_plural ", %d untranslated messages"
 msgstr[0] ", %d oöversatt meddelande"
 msgstr[1] ", %d oöversatta meddelanden"
 
-#: src/msgfmt.c:460
+#: src/msgfmt.c:484
 #, c-format, no-wrap
 msgid "Usage: %s [OPTION] filename.po ...\n"
 msgstr "Användning: %s [FLAGGA] filnamn.po ...\n"
 
-#: src/msgfmt.c:465
+#: src/msgfmt.c:489
 #, no-wrap
 msgid "Generate binary message catalog from textual translation description.\n"
 msgstr "Generera en binär meddelandekatalog från en textuell meddelandekatalog.\n"
 
-#: src/msgfmt.c:475
+#: src/msgfmt.c:499
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -1042,7 +1047,7 @@ msgstr ""
 "  -D, --directory=KATALOG     säk infiler även i KATALOG\n"
 "Om infil är - läses standard in.\n"
 
-#: src/msgfmt.c:483
+#: src/msgfmt.c:507
 #, no-wrap
 msgid ""
 "Operation mode:\n"
@@ -1053,7 +1058,7 @@ msgstr ""
 "  -j, --java                  Javaläge: generera en Java ResourceBundle-klass\n"
 "      --java2                 som --java, och anta Java2 (JDK 1.2 eller högre)\n"
 
-#: src/msgfmt.c:490
+#: src/msgfmt.c:514
 #, no-wrap
 msgid ""
 "Output file location:\n"
@@ -1066,7 +1071,7 @@ msgstr ""
 "      --strict                strikt Uniforum-format på resultatet\n"
 "Om UTFIL är - skrivs resultatet till standard ut.\n"
 
-#: src/msgfmt.c:498
+#: src/msgfmt.c:522
 #, no-wrap
 msgid ""
 "Output file location in Java mode:\n"
@@ -1085,8 +1090,8 @@ msgstr ""
 "avskiljt med ett understreck.  Flaggan -d är obligatorisk.  Klassen skrivs\n"
 "till den givna katalogen.\n"
 
-#: src/msgfmt.c:509
-#, no-wrap
+#: src/msgfmt.c:533
+#, fuzzy, no-wrap
 msgid ""
 "Input file interpretation:\n"
 "  -c, --check                 perform all the checks implied by\n"
@@ -1096,6 +1101,8 @@ msgid ""
 "      --check-domain          check for conflicts between domain directives\n"
 "                                and the --output-file option\n"
 "  -C, --check-compatibility   check that GNU msgfmt behaves like X/Open msgfmt\n"
+"      --check-accelerators[=CHAR]  check presence of keyboard accelerators for\n"
+"                                menu items\n"
 "  -f, --use-fuzzy             use fuzzy entries in output\n"
 msgstr ""
 "Tolkning av infil:\n"
@@ -1109,7 +1116,7 @@ msgstr ""
 "                                X/Open msgfmt\n"
 "  -f, --use-fuzzy             använd luddiga poster i resultatet\n"
 
-#: src/msgfmt.c:522
+#: src/msgfmt.c:548
 #, c-format, no-wrap
 msgid ""
 "Output details:\n"
@@ -1120,7 +1127,7 @@ msgstr ""
 "  -a, --alignment=TAL         lägg strängar på jämna TAL byte (normalt: %d)\n"
 "      --no-hash               binärfil innehåller inte hashtabellen\n"
 
-#: src/msgfmt.c:529
+#: src/msgfmt.c:555
 #, no-wrap
 msgid ""
 "Informative output:\n"
@@ -1135,69 +1142,65 @@ msgstr ""
 "      --statistics            skriv ut statistik om översättningarna\n"
 "  -v, --verbose               öka mängden information i meddelanden\n"
 
-#: src/msgfmt.c:579
-msgid "while creating hash table"
-msgstr "när hashtabellen skapades"
-
-#: src/msgfmt.c:675
+#: src/msgfmt.c:707
 msgid "plural expression can produce negative values"
 msgstr "pluraluttryck kan producera negativa värden"
 
-#: src/msgfmt.c:688
+#: src/msgfmt.c:720
 #, c-format
 msgid "nplurals = %lu but plural expression can produce values as large as %lu"
 msgstr "nplurals = %lu men pluraluttryck kan ge värden upp till %lu"
 
-#: src/msgfmt.c:714
+#: src/msgfmt.c:746
 msgid "plural expression can produce division by zero"
 msgstr "pluraluttryck kan ge division med noll"
 
-#: src/msgfmt.c:719
+#: src/msgfmt.c:751
 msgid "plural expression can produce integer overflow"
 msgstr "pluraluttryck kan ge överflöde av heltal"
 
-#: src/msgfmt.c:724
+#: src/msgfmt.c:756
 msgid ""
 "plural expression can produce arithmetic exceptions, possibly division by "
 "zero"
 msgstr "pluraluttryck kan ge aritmetiska fel, möjligen division med noll"
 
-#: src/msgfmt.c:798 src/msgfmt.c:809
+#: src/msgfmt.c:830 src/msgfmt.c:841
 msgid "message catalog has plural form translations..."
 msgstr "meddelandekatalog har översättningar med pluralform..."
 
-#: src/msgfmt.c:801
+#: src/msgfmt.c:833
 msgid "...but header entry lacks a \"plural=EXPRESSION\" attribute"
 msgstr "...men huvudrader saknar attribut av typ \"plurals=UTTRYCK\""
 
-#: src/msgfmt.c:812
+#: src/msgfmt.c:844
 msgid "...but header entry lacks a \"nplurals=INTEGER\" attribute"
 msgstr "...men huvudrader saknar attribut av typ \"plurals=HELTAL\""
 
-#: src/msgfmt.c:836
+#: src/msgfmt.c:868
 msgid "invalid nplurals value"
 msgstr "ogiltigt värde för nplurals"
 
-#: src/msgfmt.c:849
+#: src/msgfmt.c:881
 msgid "invalid plural expression"
 msgstr "ogiltigt pluraluttryck"
 
-#: src/msgfmt.c:867 src/msgfmt.c:880
+#: src/msgfmt.c:899 src/msgfmt.c:912
 #, c-format
 msgid "nplurals = %lu..."
 msgstr "nplurals = %lu..."
 
-#: src/msgfmt.c:870
+#: src/msgfmt.c:902
 #, c-format
 msgid "...but some messages have only %lu plural forms"
 msgstr "...men några meddelanden har bara %lu pluralformer"
 
-#: src/msgfmt.c:883
+#: src/msgfmt.c:915
 #, c-format
 msgid "...but some messages have %lu plural forms"
 msgstr "...men några meddelanden har %lu pluralformer"
 
-#: src/msgfmt.c:898
+#: src/msgfmt.c:930
 msgid ""
 "message catalog has plural form translations, but lacks a header entry with "
 "\"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\""
@@ -1205,94 +1208,114 @@ msgstr ""
 "meddelandekatalog har översättningar med pluralformer, men saknar huvudrad "
 "med \"Plural-Forms: nplurals=HELTAL; plural=UTTRYCK;\""
 
-#: src/msgfmt.c:936
+#: src/msgfmt.c:968
 msgid "`msgid' and `msgid_plural' entries do not both begin with '\\n'"
 msgstr "\"msgid\"- och \"msgid_plural\"-raderna börjar inte båda med \"\\n\""
 
-#: src/msgfmt.c:946
+#: src/msgfmt.c:978
 #, c-format
 msgid "`msgid' and `msgstr[%u]' entries do not both begin with '\\n'"
 msgstr "\"msgid\"- och \"msgstr[%u]\"-raderna börjar inte båda med \"\\n\""
 
-#: src/msgfmt.c:958
+#: src/msgfmt.c:990
 msgid "`msgid' and `msgstr' entries do not both begin with '\\n'"
 msgstr "\"msgid\"- och \"msgstr\"-raderna börjar inte båda med \"\\n\""
 
-#: src/msgfmt.c:975
+#: src/msgfmt.c:1007
 msgid "`msgid' and `msgid_plural' entries do not both end with '\\n'"
 msgstr "\"msgid\"- och \"msgid_plural\"-raderna slutar inte båda med \"\\n\""
 
-#: src/msgfmt.c:985
+#: src/msgfmt.c:1017
 #, c-format
 msgid "`msgid' and `msgstr[%u]' entries do not both end with '\\n'"
 msgstr "\"msgid\"- och \"msgstr[%u]\"-raderna slutar inte båda med \"\\n\""
 
-#: src/msgfmt.c:997
+#: src/msgfmt.c:1029
 msgid "`msgid' and `msgstr' entries do not both end with '\\n'"
 msgstr "\"msgid\"- och \"msgstr\"-raderna slutar inte båda med \"\\n\""
 
-#: src/msgfmt.c:1009
+#: src/msgfmt.c:1041
 msgid "plural handling is a GNU gettext extension"
 msgstr "hantering av plural är en utökning i GNU gettext"
 
-#: src/msgfmt.c:1056
+#: src/msgfmt.c:1088
 #, c-format
 msgid "'msgstr' is not a valid %s format string, unlike 'msgid'"
 msgstr "'msgstr' är inte en giltig %s-formatsträng, till skillnad från 'msgid'"
 
-#: src/msgfmt.c:1104
-msgid "warning: PO file header missing, fuzzy, or invalid\n"
+#: src/msgfmt.c:1122
+#, c-format
+msgid "msgstr lacks the keyboard accelerator mark '%c'"
+msgstr ""
+
+#: src/msgfmt.c:1130
+#, c-format
+msgid "msgstr has too many keyboard accelerator marks '%c'"
+msgstr ""
+
+#: src/msgfmt.c:1164
+#, c-format
+msgid "headerfield `%s' missing in header"
+msgstr "huvudrad \"%s\" saknas i huvudet"
+
+#: src/msgfmt.c:1167
+#, c-format
+msgid "header field `%s' should start at beginning of line"
+msgstr "huvudrad \"%s\" bör ligga i början på raden"
+
+#: src/msgfmt.c:1176
+msgid "some header fields still have the initial default value"
+msgstr "vissa huvudrader har kvar initiala standardvärden"
+
+#: src/msgfmt.c:1187
+#, c-format
+msgid "field `%s' still has initial default value"
+msgstr "huvudrad \"%s\" har kvar initialt standardvärde"
+
+#: src/msgfmt.c:1228
+#, fuzzy
+msgid "warning: PO file header missing or invalid\n"
 msgstr "varning: PO-filens huvudrader saknas, är luddiga eller ogiltiga\n"
 
-#: src/msgfmt.c:1107
+#: src/msgfmt.c:1231
 msgid "warning: charset conversion will not work\n"
 msgstr ""
 "varning: konvertering till användarens teckenuppsättning kommer att "
 "misslyckas.\n"
 
-#: src/msgfmt.c:1131
+#: src/msgfmt.c:1241
+#, fuzzy
+msgid "warning: PO file header fuzzy\n"
+msgstr "varning: PO-filens huvudrader saknas, är luddiga eller ogiltiga\n"
+
+#: src/msgfmt.c:1243
+msgid "warning: older versions of msgfmt will give an error on this\n"
+msgstr ""
+
+#: src/msgfmt.c:1268
 #, c-format
 msgid "domain name \"%s\" not suitable as file name"
 msgstr "domännamnet \"%s\" är inte lämpligt som filnamn"
 
-#: src/msgfmt.c:1136
+#: src/msgfmt.c:1273
 #, c-format
 msgid "domain name \"%s\" not suitable as file name: will use prefix"
 msgstr "domännamnet \"%s\" är inte lämpligt som filnamn: använder ett prefix"
 
-#: src/msgfmt.c:1147
+#: src/msgfmt.c:1284
 #, c-format
 msgid "`domain %s' directive ignored"
 msgstr "direktivet \"domain %s\" ignoreras"
 
-#: src/msgfmt.c:1182
+#: src/msgfmt.c:1356
 msgid "empty `msgstr' entry ignored"
 msgstr "tom \"msgstr\"-rad ignorerad"
 
-#: src/msgfmt.c:1183
+#: src/msgfmt.c:1357
 msgid "fuzzy `msgstr' entry ignored"
 msgstr "luddig \"msgstr\"-rad ignorerad"
 
-#: src/msgfmt.c:1226
-#, c-format
-msgid "headerfield `%s' missing in header"
-msgstr "huvudrad \"%s\" saknas i huvudet"
-
-#: src/msgfmt.c:1229
-#, c-format
-msgid "header field `%s' should start at beginning of line"
-msgstr "huvudrad \"%s\" bör ligga i början på raden"
-
-#: src/msgfmt.c:1239
-msgid "some header fields still have the initial default value"
-msgstr "vissa huvudrader har kvar initiala standardvärden"
-
-#: src/msgfmt.c:1250
-#, c-format
-msgid "field `%s' still has initial default value"
-msgstr "huvudrad \"%s\" har kvar initialt standardvärde"
-
-#: src/msgfmt.c:1339
+#: src/msgfmt.c:1426
 #, c-format
 msgid "%s: warning: source file contains fuzzy translation"
 msgstr "%s: varning: källfilen innehåller luddiga översättningar"
@@ -1398,7 +1421,7 @@ msgstr ""
 msgid "write to grep subprocess failed"
 msgstr "skrivning till grep barnprocess misslyckades"
 
-#: src/msginit.c:277
+#: src/msginit.c:275
 msgid ""
 "You are in a language indifferent environment.  Please set\n"
 "your LANG environment variable, as described in the ABOUT-NLS\n"
@@ -1408,7 +1431,7 @@ msgstr ""
 "LANG såsom beskrivs i filen ABOUT-NLS.  Detta är nödvändigt för att\n"
 "du ska kunna testa dina översättningar.\n"
 
-#: src/msginit.c:305
+#: src/msginit.c:303
 #, c-format
 msgid ""
 "Output file %s already exists.\n"
@@ -1419,7 +1442,12 @@ msgstr ""
 "Ange lokal med flaggan --locale eller\n"
 ".po-utfilen med flaggan --output-file.\n"
 
-#: src/msginit.c:350
+#: src/msginit.c:326
+#, c-format
+msgid "Created %s.\n"
+msgstr ""
+
+#: src/msginit.c:348
 #, no-wrap
 msgid ""
 "Creates a new PO file, initializing the meta information with values from the\n"
@@ -1428,7 +1456,7 @@ msgstr ""
 "Skapar en ny PO-fil och initierar metainformation med värden från\n"
 "användarens miljövariabler.\n"
 
-#: src/msginit.c:361
+#: src/msginit.c:359
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -1441,7 +1469,7 @@ msgstr ""
 "Om ingen infil ges söks POT-filen i aktuell katalog.\n"
 "Om den är - läses standard in.\n"
 
-#: src/msginit.c:369
+#: src/msginit.c:367
 #, no-wrap
 msgid ""
 "Output file location:\n"
@@ -1454,31 +1482,19 @@ msgstr ""
 "Om ingen utfil ges beror den på flaggan --locale eller användarens\n"
 "lokalinställning.  Om den är - skrivs resultatet till standard ut.\n"
 
-#: src/msginit.c:377
-#, no-wrap
+#: src/msginit.c:375
+#, fuzzy, no-wrap
 msgid ""
 "Output details:\n"
 "  -l, --locale=LL_CC          set target locale\n"
+"      --no-translator         assume the PO file is automatically generated\n"
 "  -w, --width=NUMBER          set output page width\n"
 msgstr ""
 "Utdatadetaljer:\n"
 "  -l, --locale=LL_CC          sätt mållokal\n"
 "  -w, --width=ANTAL           sätt antal kolumner i resultatet\n"
 
-#: src/msginit.c:384
-#, no-wrap
-msgid ""
-"Informative output:\n"
-"  -h, --help                  display this help and exit\n"
-"  -V, --version               output version information and exit\n"
-"  -v, --verbose               increase verbosity level\n"
-msgstr ""
-"Informativ utskrift:\n"
-"  -h, --help                  visa denna hjälptext och avsluta\n"
-"  -V, --version               visa versionsinformation och avsluta\n"
-"  -v, --verbose               öka mängden information i meddelanden\n"
-
-#: src/msginit.c:428
+#: src/msginit.c:426
 msgid ""
 "Found more than one .pot file.\n"
 "Please specify the input .pot file through the --input option.\n"
@@ -1486,11 +1502,11 @@ msgstr ""
 "Hittade fler än en .pot-fil.\n"
 "Ange .pot-infil med flaggan --input.\n"
 
-#: src/msginit.c:436 src/msginit.c:441
+#: src/msginit.c:434 src/msginit.c:439
 msgid "error reading current directory"
 msgstr "fel vid läsning av aktuell katalog"
 
-#: src/msginit.c:449
+#: src/msginit.c:447
 msgid ""
 "Found no .pot file in the current directory.\n"
 "Please specify the input .pot file through the --input option.\n"
@@ -1498,23 +1514,23 @@ msgstr ""
 "Hittade ingen .pot-fil i aktuell katalog.\n"
 "Ange .pot-infil med flaggan --input.\n"
 
-#: src/msginit.c:861 src/msginit.c:906 src/msginit.c:1035 src/msginit.c:1098
+#: src/msginit.c:887 src/msginit.c:932 src/msginit.c:1070 src/msginit.c:1137
 #: src/read-java.c:80
 msgid "fdopen() failed"
 msgstr "fdopen() misslyckades"
 
-#: src/msginit.c:866 src/msginit.c:911 src/msginit.c:1040
+#: src/msginit.c:892 src/msginit.c:937 src/msginit.c:1075
 #, c-format
 msgid "%s subprocess I/O error"
 msgstr "I/O-fel i %s-barnprocess"
 
-#: src/msginit.c:875 src/msginit.c:920 src/msginit.c:1049 src/msginit.c:1112
+#: src/msginit.c:901 src/msginit.c:946 src/msginit.c:1084 src/msginit.c:1151
 #: src/read-java.c:90
 #, c-format
 msgid "%s subprocess failed with exit code %d"
 msgstr "%s-barnprocess terminerade med slutstatus %d"
 
-#: src/msginit.c:1025
+#: src/msginit.c:1060
 msgid ""
 "The new message catalog should contain your email address, so that users "
 "can\n"
@@ -1529,28 +1545,28 @@ msgstr ""
 #. TRANSLATORS: "English" needs to be replaced by your language.
 #. For example in it.po write "Traduzioni italiani ...",
 #. *not* "Traduzioni inglesi ...".
-#: src/msginit.c:1385
+#: src/msginit.c:1440
 #, c-format
 msgid "English translations for %s package"
 msgstr "Svenska översättningar för paket %s"
 
-#: src/msgl-cat.c:172 src/msgl-charset.c:86 src/msgl-iconv.c:299
+#: src/msgl-cat.c:173 src/msgl-charset.c:86 src/msgl-iconv.c:299
 #, c-format
 msgid "present charset \"%s\" is not a portable encoding name"
 msgstr "nuvarande teckenuppsättning \"%s\" är inte ett portabelt kodningsnamn"
 
-#: src/msgl-cat.c:180 src/msgl-iconv.c:307
+#: src/msgl-cat.c:181 src/msgl-iconv.c:307
 #, c-format
 msgid "two different charsets \"%s\" and \"%s\" in input file"
 msgstr "två olika teckenuppsättningar \"%s\" och \"%s\" i infilen"
 
-#: src/msgl-cat.c:193
+#: src/msgl-cat.c:194
 #, c-format
 msgid ""
 "input file `%s' doesn't contain a header entry with a charset specification"
 msgstr "infilen \"%s\" saknar en huvudrad som anger teckenuppsättning"
 
-#: src/msgl-cat.c:197
+#: src/msgl-cat.c:198
 #, c-format
 msgid ""
 "domain \"%s\" in input file `%s' doesn't contain a header entry with a "
@@ -1558,17 +1574,17 @@ msgid ""
 msgstr ""
 "domän \"%s\" i infil \"%s\" saknar en huvudrad som anger teckenuppsättning"
 
-#: src/msgl-cat.c:358 src/msgl-iconv.c:382
+#: src/msgl-cat.c:359 src/msgl-iconv.c:382
 #, c-format
 msgid "target charset \"%s\" is not a portable encoding name."
 msgstr "målteckenuppsättning \"%s\" är inte ett portabelt kodningsnamn"
 
-#: src/msgl-cat.c:408 src/msgl-cat.c:414 src/msgl-charset.c:91
+#: src/msgl-cat.c:409 src/msgl-cat.c:415 src/msgl-charset.c:91
 #: src/msgl-charset.c:126 src/write-po.c:723 src/write-po.c:817
 msgid "warning: "
 msgstr "varning: "
 
-#: src/msgl-cat.c:409
+#: src/msgl-cat.c:410
 msgid ""
 "Input files contain messages in different encodings, UTF-8 among others.\n"
 "Converting the output to UTF-8.\n"
@@ -1576,7 +1592,7 @@ msgstr ""
 "Infiler har meddelanden med flera kodningar, däribland UTF-8.\n"
 "Konverterar resultatet till UTF-8.\n"
 
-#: src/msgl-cat.c:415
+#: src/msgl-cat.c:416
 #, c-format
 msgid ""
 "Input files contain messages in different encodings, %s and %s among "
@@ -1667,11 +1683,11 @@ msgstr ""
 "Kan inte konvertera från \"%s\" till \"%s\". %s beror på iconv().\n"
 "Denna version byggdes utan iconv()."
 
-#: src/msgmerge.c:337
+#: src/msgmerge.c:340
 msgid "backup type"
 msgstr "säkerhetskopieringstyp"
 
-#: src/msgmerge.c:374
+#: src/msgmerge.c:377
 #, no-wrap
 msgid ""
 "Merges two Uniforum style .po files together.  The def.po file is an\n"
@@ -1694,7 +1710,7 @@ msgstr ""
 "dock bevaras punktkommentarer och filpositioner.  Om en exakt likhet\n"
 "inte kan hittas används luddig jämförelse för att ge bättre resultat.\n"
 
-#: src/msgmerge.c:392
+#: src/msgmerge.c:395
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -1711,7 +1727,7 @@ msgstr ""
 "  -C, --compendium=FIL        ytterligare kataloger med översättningar,\n"
 "                              kan anges flera gånger\n"
 
-#: src/msgmerge.c:402
+#: src/msgmerge.c:405
 #, no-wrap
 msgid ""
 "Operation mode:\n"
@@ -1722,7 +1738,7 @@ msgstr ""
 "  -U, --update                updatera def.po,\n"
 "                              gör ingenting om def.po redan är aktuell\n"
 
-#: src/msgmerge.c:417
+#: src/msgmerge.c:420
 #, no-wrap
 msgid ""
 "Output file location in update mode:\n"
@@ -1751,7 +1767,7 @@ msgstr ""
 "Suffix för säkerhetskopior är \"~\", om den inte sätts med --suffix eller\n"
 "miljövariabeln SIMPLE_BACKUP_SUFFIX.\n"
 
-#: src/msgmerge.c:454
+#: src/msgmerge.c:457
 #, no-wrap
 msgid ""
 "Informative output:\n"
@@ -1766,7 +1782,17 @@ msgstr ""
 "  -v, --verbose               öka mängden information i meddelanden\n"
 "  -q, --quiet, --silent       visa inte framstegsindikatorer\n"
 
-#: src/msgmerge.c:696
+#: src/msgmerge.c:625
+#, fuzzy
+msgid "this message should define plural forms"
+msgstr "...men några meddelanden har bara %lu pluralformer"
+
+#: src/msgmerge.c:648
+#, fuzzy
+msgid "this message should not define plural forms"
+msgstr "detta meddelande används men är inte definierat i %s"
+
+#: src/msgmerge.c:779
 #, c-format
 msgid ""
 "%sRead %ld old + %ld reference, merged %ld, fuzzied %ld, missing %ld, "
@@ -1775,7 +1801,7 @@ msgstr ""
 "%sLäste %ld gamla + %ld referenser, %ld sammanslagna, %ld luddiga, %ld "
 "saknade, %ld föråldrade.\n"
 
-#: src/msgmerge.c:704
+#: src/msgmerge.c:787
 msgid " done.\n"
 msgstr " klar.\n"
 
@@ -2071,8 +2097,8 @@ msgstr "ofullst
 msgid "iconv failure"
 msgstr "iconv misslyckades"
 
-#: src/po-lex.c:763 src/read-mo.c:70 src/read-mo.c:135 src/x-c.c:213
-#: src/x-rst.c:227 src/x-ycp.c:102
+#: src/po-lex.c:763 src/read-mo.c:70 src/read-mo.c:135 src/x-c.c:216
+#: src/x-rst.c:227 src/x-ycp.c:103
 #, c-format
 msgid "error while reading \"%s\""
 msgstr "fel uppstod då \"%s\" lästes"
@@ -2178,27 +2204,17 @@ msgstr "kan inte skapa utfilen \"%s\""
 msgid "standard output"
 msgstr "standard ut"
 
-#: src/x-c.c:843
+#: src/x-c.c:858
 #, c-format
 msgid "%s:%d: warning: unterminated character constant"
 msgstr "%s:%d: varning: oavslutad teckenkonstant"
 
-#: src/x-c.c:867
+#: src/x-c.c:882
 #, c-format
 msgid "%s:%d: warning: unterminated string literal"
 msgstr "%s:%d: varning: oavslutad sträng"
 
-#: src/x-c.c:1269
-#, c-format
-msgid "%s:%lu: warning: keyword nested in keyword arg"
-msgstr "%s:%lu: varning: nyckelord förekommer i argument till annat nyckelord"
-
-#: src/x-c.c:1282
-#, c-format
-msgid "%s:%lu: warning: keyword between outer keyword and its arg"
-msgstr "%s:%lu: varning: nyckelord mellan yttre nyckelord och dess argument"
-
-#: src/x-po.c:106 src/xgettext.c:613
+#: src/x-po.c:106 src/xgettext.c:605
 msgid "this file may not contain domain directives"
 msgstr "denna fil kan inte innehålla domändirektiv"
 
@@ -2217,26 +2233,26 @@ msgstr "%s:%d fattas tal efter #"
 msgid "%s:%d: invalid string expression"
 msgstr "%s:%d: ogiltigt strängmönster"
 
-#: src/xgettext.c:383
+#: src/xgettext.c:375
 msgid "--join-existing cannot be used when output is written to stdout"
 msgstr ""
 "--join-existing kan inte användas då resultatet skrivs till standard ut"
 
-#: src/xgettext.c:388
+#: src/xgettext.c:380
 msgid "xgettext cannot work without keywords to look for"
 msgstr "xgettext måste ha nyckelord att söka efter för att fungera"
 
-#: src/xgettext.c:476
+#: src/xgettext.c:468
 #, c-format
 msgid "warning: file `%s' extension `%s' is unknown; will try C"
 msgstr "varning: filtyp \"%s\" med suffix \"%s\" är okänd; försöker med C"
 
-#: src/xgettext.c:517
+#: src/xgettext.c:509
 #, no-wrap
 msgid "Extract translatable strings from given input files.\n"
 msgstr "Extrahera översättbara strängar från givna infiler.\n"
 
-#: src/xgettext.c:522
+#: src/xgettext.c:514
 #, no-wrap
 msgid ""
 "Mandatory arguments to long options are mandatory for short options too.\n"
@@ -2245,7 +2261,7 @@ msgstr ""
 "Obligatoriska argument för långa flaggor är obligatoriska även för korta.\n"
 "Motsvarande gäller för frivilliga argument.\n"
 
-#: src/xgettext.c:537
+#: src/xgettext.c:529
 #, no-wrap
 msgid ""
 "Output file location:\n"
@@ -2260,7 +2276,7 @@ msgstr ""
 "  -p, --output-dir=KATALOG       utfiler placeras i katalogen KATALOG\n"
 "Om utfilen är - skrivs resultatet till standard ut.\n"
 
-#: src/xgettext.c:546
+#: src/xgettext.c:538
 #, no-wrap
 msgid ""
 "Choice of input file language:\n"
@@ -2275,7 +2291,7 @@ msgstr ""
 "  -C, --c++                      samma som --language=C++\n"
 "I normalläge gissas språket från filändelsen på infilen.\n"
 
-#: src/xgettext.c:555
+#: src/xgettext.c:547
 #, no-wrap
 msgid ""
 "Operation mode:\n"
@@ -2290,7 +2306,7 @@ msgstr ""
 "  -c, --add-comments[=MÄRKE]     skriv kommentarsblock med MÄRKE (eller de\n"
 "                                 före nyckelordsrader) till resultatet\n"
 
-#: src/xgettext.c:564
+#: src/xgettext.c:556
 #, no-wrap
 msgid ""
 "Language=C/C++ specific options:\n"
@@ -2307,7 +2323,7 @@ msgstr ""
 "  -T, --trigraphs                hantera ANSI C treteckenssekvenser i infiler\n"
 "      --debug                    mer detaljerad igenkänning av formatsträngar\n"
 
-#: src/xgettext.c:574
+#: src/xgettext.c:566
 #, no-wrap
 msgid ""
 "Output details:\n"
@@ -2344,11 +2360,11 @@ msgstr ""
 "  -m, --msgstr-prefix[=STRÄNG]   inled översatta strängar med STRÄNG eller \"\"\n"
 "  -M, --msgstr-suffix[=STRÄNG]   avsluta översatta strängar med STRÄNG eller \"\"\n"
 
-#: src/xgettext.c:728
+#: src/xgettext.c:720
 msgid "standard input"
 msgstr "standard in"
 
-#: src/xgettext.c:838
+#: src/xgettext.c:830
 msgid ""
 "Empty msgid.  It is reserved by GNU gettext:\n"
 "gettext(\"\") returns the header entry with\n"
@@ -2358,7 +2374,28 @@ msgstr ""
 "gettext(\"\") returnerar huvudet med metainformation,\n"
 "inte den tomma stängen.\n"
 
-#: src/xgettext.c:1107
+#: src/xgettext.c:1099
 #, c-format
 msgid "language `%s' unknown"
 msgstr "språket \"%s\" okänt"
+
+#~ msgid "while creating hash table"
+#~ msgstr "när hashtabellen skapades"
+
+#~ msgid ""
+#~ "Informative output:\n"
+#~ "  -h, --help                  display this help and exit\n"
+#~ "  -V, --version               output version information and exit\n"
+#~ "  -v, --verbose               increase verbosity level\n"
+#~ msgstr ""
+#~ "Informativ utskrift:\n"
+#~ "  -h, --help                  visa denna hjälptext och avsluta\n"
+#~ "  -V, --version               visa versionsinformation och avsluta\n"
+#~ "  -v, --verbose               öka mängden information i meddelanden\n"
+
+#~ msgid "%s:%lu: warning: keyword nested in keyword arg"
+#~ msgstr ""
+#~ "%s:%lu: varning: nyckelord förekommer i argument till annat nyckelord"
+
+#~ msgid "%s:%lu: warning: keyword between outer keyword and its arg"
+#~ msgstr "%s:%lu: varning: nyckelord mellan yttre nyckelord och dess argument"
index 2f51fdf9b72d838c275d1f8fa9abdbb1e86b884c..301c0d937eeab84b2e571c6282aa8284979601ec 100644 (file)
Binary files a/po/tr.gmo and b/po/tr.gmo differ
index fbdd6257e96dd8b89e7a5457eccf09c9ebbb278b..9e4ef226dd0b0fdfc369b977168b1cf64cf459b6 100644 (file)
--- a/po/tr.po
+++ b/po/tr.po
@@ -5,7 +5,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: GNU gettext 0.11-pre1\n"
-"POT-Creation-Date: 2001-11-01 13:09+0100\n"
+"POT-Creation-Date: 2001-11-30 14:18+0100\n"
 "PO-Revision-Date: 2001-11-03 13:42+0200\n"
 "Last-Translator: Nilgün Belma Bugüner <nilgun@fide.org>\n"
 "Language-Team: Turkish <gnu-tr-u12a@lists.sourceforge.net>\n"
@@ -30,7 +30,7 @@ msgid "Valid arguments are:"
 msgstr "Geçerli argümanlar:"
 
 #: lib/copy-file.c:60 src/file-list.c:57 src/po-lex.c:732 src/read-mo.c:170
-#: src/xgettext.c:737 src/xgettext.c:750 src/xgettext.c:760
+#: src/xgettext.c:729 src/xgettext.c:742 src/xgettext.c:752
 #, c-format
 msgid "error while opening \"%s\" for reading"
 msgstr "\"%s\" okunmak için açýlýrken hata"
@@ -126,7 +126,7 @@ msgid "Java compiler not found, try installing gcj or set $JAVAC"
 msgstr ""
 "Java derleyici bulunamadý, ya gcj kurun ya da $JAVAC deðiþkenini belirleyin"
 
-#: lib/javaexec.c:402
+#: lib/javaexec.c:404
 msgid "Java virtual machine not found, try installing gij or set $JAVA"
 msgstr ""
 "Java sanal makinasý bulunamadý,\n"
@@ -182,7 +182,7 @@ msgid ""
 msgstr ""
 "`msgid' ve `msgstr' girdilerindeki biçem belirteçleri {%u} için ayný deðil"
 
-#: src/format-lisp.c:3385
+#: src/format-lisp.c:3371
 msgid "format specifications in 'msgid' and 'msgstr' are not equivalent"
 msgstr "`msgid' ve `msgstr' girdilerindeki biçem belirteçleri ayný deðil"
 
@@ -219,21 +219,21 @@ msgid ""
 "same"
 msgstr "'%s' için biçem belirteci 'msgid' ve 'msgstr' içinde ayný deðil"
 
-#: src/format-ycp.c:135
+#: src/format-ycp.c:137
 #, c-format
 msgid "a format specification for argument %u doesn't exist in 'msgstr'"
 msgstr "'msgstr' içinde '%u' için bir biçem belirteci yok"
 
-#: src/format-ycp.c:136
+#: src/format-ycp.c:138
 #, c-format
 msgid "a format specification for argument %u doesn't exist in 'msgid'"
 msgstr "'msgid' içinde '%u' için bir biçem belirteci yok"
 
 #: src/gettext.c:146 src/hostname.c:168 src/msgattrib.c:264 src/msgcat.c:229
-#: src/msgcmp.c:133 src/msgcomm.c:232 src/msgconv.c:182 src/msgen.c:171
-#: src/msgexec.c:240 src/msgfmt.c:312 src/msggrep.c:276 src/msginit.c:249
-#: src/msgmerge.c:249 src/msgunfmt.c:182 src/msguniq.c:207 src/ngettext.c:126
-#: src/xgettext.c:356
+#: src/msgcmp.c:134 src/msgcomm.c:232 src/msgconv.c:182 src/msgen.c:171
+#: src/msgexec.c:240 src/msgfmt.c:333 src/msggrep.c:276 src/msginit.c:247
+#: src/msgmerge.c:252 src/msgunfmt.c:182 src/msguniq.c:207 src/ngettext.c:126
+#: src/xgettext.c:352
 #, c-format, no-wrap
 msgid ""
 "Copyright (C) %s Free Software Foundation, Inc.\n"
@@ -246,15 +246,15 @@ msgstr ""
 "UYGUNLUÐU için bile garanti verilmez.\n"
 
 #: src/gettext.c:151 src/hostname.c:173 src/msgattrib.c:269 src/msgcat.c:234
-#: src/msgcmp.c:138 src/msgcomm.c:237 src/msgconv.c:187 src/msgen.c:176
-#: src/msgexec.c:245 src/msgfmt.c:317 src/msggrep.c:281 src/msginit.c:254
-#: src/msgmerge.c:254 src/msgunfmt.c:187 src/msguniq.c:212 src/ngettext.c:131
-#: src/xgettext.c:361
+#: src/msgcmp.c:139 src/msgcomm.c:237 src/msgconv.c:187 src/msgen.c:176
+#: src/msgexec.c:245 src/msgfmt.c:338 src/msggrep.c:281 src/msginit.c:252
+#: src/msgmerge.c:257 src/msgunfmt.c:187 src/msguniq.c:212 src/ngettext.c:131
+#: src/xgettext.c:357
 #, c-format
 msgid "Written by %s.\n"
 msgstr "%s tarafýndan yazýldý.\n"
 
-#: src/gettext.c:169 src/hostname.c:183 src/msginit.c:264 src/ngettext.c:143
+#: src/gettext.c:169 src/hostname.c:183 src/msginit.c:262 src/ngettext.c:143
 msgid "too many arguments"
 msgstr "çok fazla argüman"
 
@@ -263,10 +263,10 @@ msgid "missing arguments"
 msgstr "argümanlar eksik"
 
 #: src/gettext.c:251 src/hostname.c:197 src/msgattrib.c:322 src/msgcat.c:290
-#: src/msgcmp.c:170 src/msgcomm.c:306 src/msgconv.c:241 src/msgen.c:227
-#: src/msgexec.c:338 src/msgfmt.c:455 src/msggrep.c:371 src/msginit.c:340
-#: src/msgmerge.c:364 src/msgunfmt.c:262 src/msguniq.c:269 src/ngettext.c:210
-#: src/xgettext.c:507
+#: src/msgcmp.c:171 src/msgcomm.c:306 src/msgconv.c:241 src/msgen.c:227
+#: src/msgexec.c:338 src/msgfmt.c:479 src/msggrep.c:371 src/msginit.c:338
+#: src/msgmerge.c:367 src/msgunfmt.c:262 src/msguniq.c:269 src/ngettext.c:210
+#: src/xgettext.c:499
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "Daha fazla bilgilendirilmek için `%s --help' yazýnýz.\n"
@@ -325,16 +325,16 @@ msgstr ""
 "Standart arama dizini: %s\n"
 
 #: src/gettext.c:288 src/hostname.c:227 src/msgattrib.c:402 src/msgcat.c:371
-#: src/msgcmp.c:215 src/msgcomm.c:384 src/msgconv.c:305 src/msgen.c:287
-#: src/msgexec.c:410 src/msgfmt.c:537 src/msggrep.c:457 src/msginit.c:391
-#: src/msgmerge.c:462 src/msgunfmt.c:331 src/msguniq.c:343 src/ngettext.c:244
-#: src/xgettext.c:599
+#: src/msgcmp.c:216 src/msgcomm.c:384 src/msgconv.c:305 src/msgen.c:287
+#: src/msgexec.c:410 src/msgfmt.c:563 src/msggrep.c:457 src/msginit.c:389
+#: src/msgmerge.c:465 src/msgunfmt.c:331 src/msguniq.c:343 src/ngettext.c:244
+#: src/xgettext.c:591
 msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
 msgstr ""
 "Yazýlým hatalarýný <bug-gnu-utils@gnu.org> adresine,\n"
 "Çeviri hatalarýný <gnu-tr-u12a@lists.sourceforge.net> adresine bildiriniz.\n"
 
-#: src/hostname.c:202 src/msginit.c:345
+#: src/hostname.c:202 src/msginit.c:343
 #, c-format, no-wrap
 msgid "Usage: %s [OPTION]\n"
 msgstr "Kullanýmý: %s [SEÇENEK]\n"
@@ -359,8 +359,8 @@ msgstr ""
 "                              içerir\n"
 "  -i, --ip-address            makinanýn IP adresi\n"
 
-#: src/hostname.c:221 src/msgattrib.c:396 src/msgcmp.c:209 src/msgconv.c:299
-#: src/msgen.c:281 src/msgexec.c:404 src/msggrep.c:451
+#: src/hostname.c:221 src/msgattrib.c:396 src/msgcmp.c:210 src/msgconv.c:299
+#: src/msgen.c:281 src/msgexec.c:404 src/msggrep.c:451 src/msginit.c:383
 #, no-wrap
 msgid ""
 "Informative output:\n"
@@ -376,16 +376,16 @@ msgid "could not get host name"
 msgstr "makina ismi alýnamadý"
 
 #: src/msgattrib.c:284 src/msgconv.c:202 src/msgexec.c:190 src/msggrep.c:296
-#: src/msginit.c:207 src/msguniq.c:227
+#: src/msginit.c:205 src/msguniq.c:227
 msgid "at most one input file allowed"
 msgstr "en fazla bir girdi dosyasýna izin var"
 
 #: src/msgattrib.c:290 src/msgattrib.c:294 src/msgcat.c:244 src/msgcat.c:248
 #: src/msgcomm.c:247 src/msgcomm.c:251 src/msgconv.c:208 src/msgconv.c:212
 #: src/msgen.c:198 src/msgen.c:202 src/msgexec.c:260 src/msgexec.c:264
-#: src/msgfmt.c:337 src/msggrep.c:302 src/msggrep.c:306 src/msgmerge.c:279
-#: src/msgmerge.c:300 src/msgmerge.c:304 src/msguniq.c:233 src/msguniq.c:237
-#: src/xgettext.c:375 src/xgettext.c:379
+#: src/msgfmt.c:358 src/msggrep.c:302 src/msggrep.c:306 src/msgmerge.c:282
+#: src/msgmerge.c:303 src/msgmerge.c:307 src/msguniq.c:233 src/msguniq.c:237
+#: src/xgettext.c:367 src/xgettext.c:371
 #, c-format
 msgid "%s and %s are mutually exclusive"
 msgstr "%s ile %s baðdaþmýyor"
@@ -404,9 +404,9 @@ msgstr ""
 "Çeviri kataloðundaki iletileri belirtilen özelliklere göre süzer,\n"
 "ve özellikleri uygular.\n"
 
-#: src/msgattrib.c:338 src/msgcat.c:313 src/msgcmp.c:190 src/msgcomm.c:328
-#: src/msgconv.c:256 src/msgen.c:245 src/msgexec.c:353 src/msgfmt.c:470
-#: src/msggrep.c:387 src/msginit.c:356 src/msgmerge.c:387 src/msgunfmt.c:277
+#: src/msgattrib.c:338 src/msgcat.c:313 src/msgcmp.c:191 src/msgcomm.c:328
+#: src/msgconv.c:256 src/msgen.c:245 src/msgexec.c:353 src/msgfmt.c:494
+#: src/msggrep.c:387 src/msginit.c:354 src/msgmerge.c:390 src/msgunfmt.c:277
 #: src/msguniq.c:291
 #, no-wrap
 msgid "Mandatory arguments to long options are mandatory for short options too.\n"
@@ -426,7 +426,7 @@ msgstr ""
 "Girdi dosyasý verilmemiþse ya da yerine - verilmiþse standart girdi okunur.\n"
 
 #: src/msgattrib.c:351 src/msgconv.c:269 src/msgen.c:258 src/msgexec.c:366
-#: src/msggrep.c:400 src/msgmerge.c:409
+#: src/msggrep.c:400 src/msgmerge.c:412
 #, no-wrap
 msgid ""
 "Output file location:\n"
@@ -510,7 +510,7 @@ msgstr ""
 msgid "impossible selection criteria specified (%d < n < %d)"
 msgstr "belirtilen seçim kriteri mümkün deðil (%d < n < %d)"
 
-#: src/msgcat.c:295 src/msgcomm.c:311 src/xgettext.c:512
+#: src/msgcat.c:295 src/msgcomm.c:311 src/xgettext.c:504
 #, c-format, no-wrap
 msgid "Usage: %s [OPTION] [INPUTFILE]...\n"
 msgstr "Kullanýmý: %s [SEÇENEK] [GÝRDÝDOSYASI]...\n"
@@ -539,7 +539,7 @@ msgstr ""
 "korunur, belirtildiðinde bunlar ilk PO dosyasýnda belirtildiði þekliyle\n"
 "alýnýr.\n"
 
-#: src/msgcat.c:318 src/msgcomm.c:333 src/xgettext.c:528
+#: src/msgcat.c:318 src/msgcomm.c:333 src/xgettext.c:520
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -622,7 +622,7 @@ msgstr ""
 "  -s, --sort-output           çýktýyý sýralý üretir\n"
 "  -F, --sort-by-file          çýktýyý dosya konumuna göre sýralar\n"
 
-#: src/msgcat.c:365 src/msgcomm.c:378 src/msguniq.c:337 src/xgettext.c:593
+#: src/msgcat.c:365 src/msgcomm.c:378 src/msguniq.c:337 src/xgettext.c:585
 #, no-wrap
 msgid ""
 "Informative output:\n"
@@ -633,20 +633,20 @@ msgstr ""
 "  -h, --help                  Bu yardýmý gösterir ve çýkar\n"
 "  -V, --version               Sürüm bilgilerini gösterir ve çýkar\n"
 
-#: src/msgcmp.c:149 src/msgmerge.c:265
+#: src/msgcmp.c:150 src/msgmerge.c:268
 msgid "no input files given"
 msgstr "hiçbir girdi dosyasý verilmemiþ"
 
-#: src/msgcmp.c:154 src/msgmerge.c:270
+#: src/msgcmp.c:155 src/msgmerge.c:273
 msgid "exactly 2 input files required"
 msgstr "tam olarak 2 girdi dosyasý gerekli"
 
-#: src/msgcmp.c:175 src/msgmerge.c:369
+#: src/msgcmp.c:176 src/msgmerge.c:372
 #, c-format, no-wrap
 msgid "Usage: %s [OPTION] def.po ref.pot\n"
 msgstr "Kullanýmý: %s [SEÇENEK] def.po ref.pot\n"
 
-#: src/msgcmp.c:180
+#: src/msgcmp.c:181
 #, no-wrap
 msgid ""
 "Compare two Uniforum style .po files to check that both contain the same\n"
@@ -662,7 +662,7 @@ msgstr ""
 "ve çevirisini kontrol etmek için kullanýþlýdýr. Zorunlu eþleþme bulunamazsa,\n"
 "belirsiz (fuzzy) eþleþtirme yapýlýr.\n"
 
-#: src/msgcmp.c:195
+#: src/msgcmp.c:196
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -676,7 +676,7 @@ msgstr ""
 "                              dosya\n"
 "  -D, --directory=DÝZÝN       girdi dosyalarý arama yoluna eklenecek DÝZÝN\n"
 
-#: src/msgcmp.c:203 src/msgmerge.c:433
+#: src/msgcmp.c:204 src/msgmerge.c:436
 #, no-wrap
 msgid ""
 "Operation modifiers:\n"
@@ -685,34 +685,34 @@ msgstr ""
 "Ýþlem seçenekleri:\n"
 "  -m, --multi-domain          ref.pot'u tüm def.po dosyalarýna uygular\n"
 
-#: src/msgcmp.c:252 src/msgmerge.c:540
+#: src/msgcmp.c:253 src/msgmerge.c:543
 msgid "this message is used but not defined..."
 msgstr "bu ileti kullanýldý ama tanýmlý deðil..."
 
-#: src/msgcmp.c:254 src/msgmerge.c:542
+#: src/msgcmp.c:255 src/msgmerge.c:545
 msgid "...but this definition is similar"
 msgstr "...ama bu tanýmlama benzer"
 
-#: src/msgcmp.c:259 src/msgmerge.c:569
+#: src/msgcmp.c:260 src/msgmerge.c:572
 #, c-format
 msgid "this message is used but not defined in %s"
 msgstr "bu ileti kullanýldý ama %s'de tanýmlý deðil"
 
-#: src/msgcmp.c:331
+#: src/msgcmp.c:332
 msgid "warning: this message is not used"
 msgstr "uyarý: bu ileti kullanýlmamýþ"
 
-#: src/msgcmp.c:338 src/po-lex.c:705
+#: src/msgcmp.c:339 src/po-lex.c:705
 #, c-format
 msgid "found %d fatal error"
 msgid_plural "found %d fatal errors"
 msgstr[0] "%d ölümcül hata bulundu"
 
-#: src/msgcmp.c:419 src/msgfmt.c:1298 src/read-po.c:198 src/x-po.c:163
+#: src/msgcmp.c:420 src/msgfmt.c:1323 src/read-po.c:202 src/x-po.c:163
 msgid "duplicate message definition"
 msgstr "ileti iki defa tanýmlanmýþ"
 
-#: src/msgcmp.c:420 src/msgfmt.c:1300 src/read-po.c:199 src/x-po.c:164
+#: src/msgcmp.c:421 src/msgfmt.c:1324 src/read-po.c:203 src/x-po.c:164
 msgid "...this is the location of the first definition"
 msgstr "...bu ilk tanýmlamanýn konumu"
 
@@ -810,7 +810,7 @@ msgstr ""
 "  -t, --to-code=ÝSÝM          çýktý için kodlama belirtilir\n"
 "Öntanýmlý kodlama mevcut yerelin kodlamasýdýr.\n"
 
-#: src/msgconv.c:284 src/msgen.c:266 src/msgmerge.c:439
+#: src/msgconv.c:284 src/msgen.c:266 src/msgmerge.c:442
 #, no-wrap
 msgid ""
 "Output details:\n"
@@ -838,7 +838,7 @@ msgstr ""
 "  -s, --sort-output           çýktýyý sýralý üretir\n"
 "  -F, --sort-by-file          çýktýyý dosya konumuna göre sýralar\n"
 
-#: src/msgen.c:187 src/msgfmt.c:328 src/xgettext.c:396
+#: src/msgen.c:187 src/msgfmt.c:349 src/xgettext.c:388
 msgid "no input file given"
 msgstr "hiç girdi dosyasý verilmemiþ"
 
@@ -985,46 +985,51 @@ msgstr "%s alt s
 msgid "%s subprocess terminated with exit code %d"
 msgstr "%s alt süreci %d çýkýþ kodu ile sonlandýrýldý"
 
-#: src/msgfmt.c:343
+#: src/msgfmt.c:303
+#, c-format
+msgid "the argument to %s should be a single punctuation character"
+msgstr ""
+
+#: src/msgfmt.c:364
 #, c-format
 msgid "%s requires a \"-d directory\" specification"
 msgstr "%s bir \"-d dizin\" uygulanmasýný gerektiriyor"
 
-#: src/msgfmt.c:352 src/msgfmt.c:358 src/msgfmt.c:364 src/msgmerge.c:287
-#: src/msgmerge.c:293 src/msgunfmt.c:209 src/msgunfmt.c:215
+#: src/msgfmt.c:373 src/msgfmt.c:379 src/msgfmt.c:385 src/msgmerge.c:290
+#: src/msgmerge.c:296 src/msgunfmt.c:209 src/msgunfmt.c:215
 #, c-format
 msgid "%s is only valid with %s"
 msgstr "%s sadece %s ile geçerlidir"
 
-#: src/msgfmt.c:428
+#: src/msgfmt.c:452
 #, c-format
 msgid "%d translated message"
 msgid_plural "%d translated messages"
 msgstr[0] "%d çevrilmiþ ileti"
 
-#: src/msgfmt.c:433
+#: src/msgfmt.c:457
 #, c-format
 msgid ", %d fuzzy translation"
 msgid_plural ", %d fuzzy translations"
 msgstr[0] ", %d belirsiz çeviri"
 
-#: src/msgfmt.c:438
+#: src/msgfmt.c:462
 #, c-format
 msgid ", %d untranslated message"
 msgid_plural ", %d untranslated messages"
 msgstr[0] ", %d çevrilmemiþ ileti"
 
-#: src/msgfmt.c:460
+#: src/msgfmt.c:484
 #, c-format, no-wrap
 msgid "Usage: %s [OPTION] filename.po ...\n"
 msgstr "Kullanýmý: %s [SEÇENEK] dosyaismi.po ...\n"
 
-#: src/msgfmt.c:465
+#: src/msgfmt.c:489
 #, no-wrap
 msgid "Generate binary message catalog from textual translation description.\n"
 msgstr "Çevirilerin bulunduðu dosyadan ikilik ileti kataloðunu üretir.\n"
 
-#: src/msgfmt.c:475
+#: src/msgfmt.c:499
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -1037,7 +1042,7 @@ msgstr ""
 "  -D, --directory=DÝZÝN       Girdi dosyalarýnýn arama yoluna DÝZÝNi ekler\n"
 "Girdi dosyasý verilmemiþse ya da yerine - verilmiþse standart girdi okunur.\n"
 
-#: src/msgfmt.c:483
+#: src/msgfmt.c:507
 #, no-wrap
 msgid ""
 "Operation mode:\n"
@@ -1048,7 +1053,7 @@ msgstr ""
 "  -j, --java              Java kipi: bir Java ÖzkaynakPaketi sýnýfý üretir\n"
 "      --java2             --java gibi, ama Java2 (JDK 1.2 ve üstü) kabul eder\n"
 
-#: src/msgfmt.c:490
+#: src/msgfmt.c:514
 #, no-wrap
 msgid ""
 "Output file location:\n"
@@ -1061,7 +1066,7 @@ msgstr ""
 "      --strict                Uniforum kipini etkinleþtirir\n"
 "Çýktý dosyasý verilmemiþse ya da yerine - verilmiþse standart çýktýya yazýlýr.\n"
 
-#: src/msgfmt.c:498
+#: src/msgfmt.c:522
 #, no-wrap
 msgid ""
 "Output file location in Java mode:\n"
@@ -1079,8 +1084,8 @@ msgstr ""
 "Sýnýf ismi, özkaynak ismine yerel isminin bir altçizgi ile eklenmesiyle\n"
 "saptanýr. Sýnýf DÝZÝNe yazýlacaðýndan -d seçeneði zorunludur.\n"
 
-#: src/msgfmt.c:509
-#, no-wrap
+#: src/msgfmt.c:533
+#, fuzzy, no-wrap
 msgid ""
 "Input file interpretation:\n"
 "  -c, --check                 perform all the checks implied by\n"
@@ -1090,6 +1095,8 @@ msgid ""
 "      --check-domain          check for conflicts between domain directives\n"
 "                                and the --output-file option\n"
 "  -C, --check-compatibility   check that GNU msgfmt behaves like X/Open msgfmt\n"
+"      --check-accelerators[=CHAR]  check presence of keyboard accelerators for\n"
+"                                menu items\n"
 "  -f, --use-fuzzy             use fuzzy entries in output\n"
 msgstr ""
 "Girdi dosyasýný yorumu:\n"
@@ -1104,7 +1111,7 @@ msgstr ""
 "                              denetler\n"
 "  -f, --use-fuzzy             çýktýda fuzzy girdileri kullanýr\n"
 
-#: src/msgfmt.c:522
+#: src/msgfmt.c:548
 #, c-format, no-wrap
 msgid ""
 "Output details:\n"
@@ -1115,7 +1122,7 @@ msgstr ""
 "  -a, --alignment=SAYI        dizgeleri SAYI bayta ayarlar (öntanýmlý: %d)\n"
 "      --no-hash               ikilik dosya saçýlma tablosunu içermeyecek\n"
 
-#: src/msgfmt.c:529
+#: src/msgfmt.c:555
 #, no-wrap
 msgid ""
 "Informative output:\n"
@@ -1130,70 +1137,66 @@ msgstr ""
 "      --statistics            çeviri istatistiklerini gösterir\n"
 "  -v, --verbose               sonuçlar daha ayrýntýlý verilir\n"
 
-#: src/msgfmt.c:579
-msgid "while creating hash table"
-msgstr "saçýlma tablosu oluþturulurken"
-
-#: src/msgfmt.c:675
+#: src/msgfmt.c:707
 msgid "plural expression can produce negative values"
 msgstr "çoðul ifadeler negatif deðerler üretebilir"
 
-#: src/msgfmt.c:688
+#: src/msgfmt.c:720
 #, c-format
 msgid "nplurals = %lu but plural expression can produce values as large as %lu"
 msgstr "nplurals = %lu ama çoðul ifadeler en çok %lu deðer üretebilir"
 
-#: src/msgfmt.c:714
+#: src/msgfmt.c:746
 msgid "plural expression can produce division by zero"
 msgstr "çoðul ifade sýfýrla bölme hatasý üretebilir"
 
-#: src/msgfmt.c:719
+#: src/msgfmt.c:751
 msgid "plural expression can produce integer overflow"
 msgstr "çoðul ifade tamsayý taþmasý üretebilir"
 
-#: src/msgfmt.c:724
+#: src/msgfmt.c:756
 msgid ""
 "plural expression can produce arithmetic exceptions, possibly division by "
 "zero"
 msgstr ""
 "çoðul ifade aritmetik hatalar, özellikle de sýfýrla bölme hatasý üretebilir"
 
-#: src/msgfmt.c:798 src/msgfmt.c:809
+#: src/msgfmt.c:830 src/msgfmt.c:841
 msgid "message catalog has plural form translations..."
 msgstr "ileti kataloðu çoðul çeviriler içeriyor"
 
-#: src/msgfmt.c:801
+#: src/msgfmt.c:833
 msgid "...but header entry lacks a \"plural=EXPRESSION\" attribute"
 msgstr "...ama baþlýkta \"plural=ÝFADE\" gibi bir þey yok"
 
-#: src/msgfmt.c:812
+#: src/msgfmt.c:844
 msgid "...but header entry lacks a \"nplurals=INTEGER\" attribute"
 msgstr "...ama baþlýkta \"nplurals=TAMSAYI\" gibi bir þey yok"
 
-#: src/msgfmt.c:836
+#: src/msgfmt.c:868
 msgid "invalid nplurals value"
 msgstr "nplurals deðeri geçersiz"
 
-#: src/msgfmt.c:849
+#: src/msgfmt.c:881
 msgid "invalid plural expression"
 msgstr "plural= ile verilen ifade geçersiz"
 
-#: src/msgfmt.c:867 src/msgfmt.c:880
+#: src/msgfmt.c:899 src/msgfmt.c:912
 #, c-format
 msgid "nplurals = %lu..."
 msgstr "nplurals = %lu..."
 
-#: src/msgfmt.c:870
+#: src/msgfmt.c:902
 #, c-format
 msgid "...but some messages have only %lu plural forms"
 msgstr "...ama bazý iletiler sadece %lu çoðul biçem içeriyor"
 
-#: src/msgfmt.c:883
+#: src/msgfmt.c:915
 #, c-format
 msgid "...but some messages have %lu plural forms"
 msgstr "...ama bazý iletiler %lu çoðul biçem içeriyor"
 
-#: src/msgfmt.c:898
+#: src/msgfmt.c:930
 msgid ""
 "message catalog has plural form translations, but lacks a header entry with "
 "\"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\""
@@ -1201,93 +1204,113 @@ msgstr ""
 "ileti kataloðu çoðul çeviriler içermesine raðmen baþlýkta\n"
 "\"Plural-Forms: nplurals=TAMSAYI; plural=ÝFADE;\" satýrý yok."
 
-#: src/msgfmt.c:936
+#: src/msgfmt.c:968
 msgid "`msgid' and `msgid_plural' entries do not both begin with '\\n'"
 msgstr ""
 "`msgid' ve `msgid_plural' girdilerinin her ikisi de '\\n' ile baþlamýyor"
 
-#: src/msgfmt.c:946
+#: src/msgfmt.c:978
 #, c-format
 msgid "`msgid' and `msgstr[%u]' entries do not both begin with '\\n'"
 msgstr "`msgid' ve `msgstr[%u]' girdilerinin her ikisi de '\\n' ile baþlamýyor"
 
-#: src/msgfmt.c:958
+#: src/msgfmt.c:990
 msgid "`msgid' and `msgstr' entries do not both begin with '\\n'"
 msgstr "`msgid' ve `msgstr' girdilerinin her ikisi de '\\n' ile baþlamýyor"
 
-#: src/msgfmt.c:975
+#: src/msgfmt.c:1007
 msgid "`msgid' and `msgid_plural' entries do not both end with '\\n'"
 msgstr "`msgid' ve `msgid_plural' girdilerinin her ikisi de '\\n' ile bitmiyor"
 
-#: src/msgfmt.c:985
+#: src/msgfmt.c:1017
 #, c-format
 msgid "`msgid' and `msgstr[%u]' entries do not both end with '\\n'"
 msgstr "`msgid' ve `msgstr[%u]' girdilerinin her ikisi de '\\n' ile bitmiyor"
 
-#: src/msgfmt.c:997
+#: src/msgfmt.c:1029
 msgid "`msgid' and `msgstr' entries do not both end with '\\n'"
 msgstr "`msgid' ve `msgstr' girdilerinin her ikisi de '\\n' ile bitmiyor"
 
-#: src/msgfmt.c:1009
+#: src/msgfmt.c:1041
 msgid "plural handling is a GNU gettext extension"
 msgstr "çoðul biçemler bir GNU gettext özelliðidir"
 
-#: src/msgfmt.c:1056
+#: src/msgfmt.c:1088
 #, c-format
 msgid "'msgstr' is not a valid %s format string, unlike 'msgid'"
 msgstr "'msgstr', 'msgid' gibi geçerli bir %s biçem dizgesi deðil"
 
-#: src/msgfmt.c:1104
-msgid "warning: PO file header missing, fuzzy, or invalid\n"
+#: src/msgfmt.c:1122
+#, c-format
+msgid "msgstr lacks the keyboard accelerator mark '%c'"
+msgstr ""
+
+#: src/msgfmt.c:1130
+#, c-format
+msgid "msgstr has too many keyboard accelerator marks '%c'"
+msgstr ""
+
+#: src/msgfmt.c:1164
+#, c-format
+msgid "headerfield `%s' missing in header"
+msgstr "baþlýkta `%s' baþlýk alaný yok"
+
+#: src/msgfmt.c:1167
+#, c-format
+msgid "header field `%s' should start at beginning of line"
+msgstr "`%s' baþlýk alaný satýrýn baþýnda olmalýydý"
+
+#: src/msgfmt.c:1176
+msgid "some header fields still have the initial default value"
+msgstr "bazý baþlýk alanlarý hala öntanýmlý ilk deðere sahip"
+
+#: src/msgfmt.c:1187
+#, c-format
+msgid "field `%s' still has initial default value"
+msgstr "`%s' baþlýk alaný hala öntanýmlý ilk deðere sahip"
+
+#: src/msgfmt.c:1228
+#, fuzzy
+msgid "warning: PO file header missing or invalid\n"
 msgstr "uyarý: PO dosya baþlýðý ya yok ya fuzzy ya da geçerli deðil\n"
 
-#: src/msgfmt.c:1107
+#: src/msgfmt.c:1231
 msgid "warning: charset conversion will not work\n"
 msgstr "uyarý: Kullanýcýnýn karakter kümesinde ileti dönüþümü yapýlamayacak.\n"
 
-#: src/msgfmt.c:1131
+#: src/msgfmt.c:1241
+#, fuzzy
+msgid "warning: PO file header fuzzy\n"
+msgstr "uyarý: PO dosya baþlýðý ya yok ya fuzzy ya da geçerli deðil\n"
+
+#: src/msgfmt.c:1243
+msgid "warning: older versions of msgfmt will give an error on this\n"
+msgstr ""
+
+#: src/msgfmt.c:1268
 #, c-format
 msgid "domain name \"%s\" not suitable as file name"
 msgstr "dosya ismi olarak paket ismi \"%s\" uygun deðil"
 
-#: src/msgfmt.c:1136
+#: src/msgfmt.c:1273
 #, c-format
 msgid "domain name \"%s\" not suitable as file name: will use prefix"
 msgstr "dosya ismi olarak paket ismi \"%s\" uygun deðil: önek kullanýlacak"
 
-#: src/msgfmt.c:1147
+#: src/msgfmt.c:1284
 #, c-format
 msgid "`domain %s' directive ignored"
 msgstr "`domain %s' yönergesi yoksayýldý"
 
-#: src/msgfmt.c:1182
+#: src/msgfmt.c:1356
 msgid "empty `msgstr' entry ignored"
 msgstr "boþ `msgstr' girdisi yoksayýldý"
 
-#: src/msgfmt.c:1183
+#: src/msgfmt.c:1357
 msgid "fuzzy `msgstr' entry ignored"
 msgstr "fuzzy `msgstr' girdisi yoksayýldý"
 
-#: src/msgfmt.c:1226
-#, c-format
-msgid "headerfield `%s' missing in header"
-msgstr "baþlýkta `%s' baþlýk alaný yok"
-
-#: src/msgfmt.c:1229
-#, c-format
-msgid "header field `%s' should start at beginning of line"
-msgstr "`%s' baþlýk alaný satýrýn baþýnda olmalýydý"
-
-#: src/msgfmt.c:1239
-msgid "some header fields still have the initial default value"
-msgstr "bazý baþlýk alanlarý hala öntanýmlý ilk deðere sahip"
-
-#: src/msgfmt.c:1250
-#, c-format
-msgid "field `%s' still has initial default value"
-msgstr "`%s' baþlýk alaný hala öntanýmlý ilk deðere sahip"
-
-#: src/msgfmt.c:1339
+#: src/msgfmt.c:1426
 #, c-format
 msgid "%s: warning: source file contains fuzzy translation"
 msgstr "%s: uyarý: kaynak dosya fuzzy çeviriler içeriyor"
@@ -1391,7 +1414,7 @@ msgstr ""
 msgid "write to grep subprocess failed"
 msgstr "grep alt sürecine yazýlamadý"
 
-#: src/msginit.c:277
+#: src/msginit.c:275
 msgid ""
 "You are in a language indifferent environment.  Please set\n"
 "your LANG environment variable, as described in the ABOUT-NLS\n"
@@ -1401,7 +1424,7 @@ msgstr ""
 "deðiþkenini ABOUT-NLS dosyasýnda açýklandýðý gibi belirtin.\n"
 "Bu çevirinizi test edebilmeniz için gereklidir.\n"
 
-#: src/msginit.c:305
+#: src/msginit.c:303
 #, c-format
 msgid ""
 "Output file %s already exists.\n"
@@ -1412,14 +1435,19 @@ msgstr ""
 "Lütfen --locale seçeneðinden bir yerel ya da\n"
 "--output-file seçeneðinden .po çýktý dosyasý belirtin.\n"
 
-#: src/msginit.c:350
+#: src/msginit.c:326
+#, c-format
+msgid "Created %s.\n"
+msgstr ""
+
+#: src/msginit.c:348
 #, no-wrap
 msgid ""
 "Creates a new PO file, initializing the meta information with values from the\n"
 "user's environment.\n"
 msgstr "Kullanýcýnýn ortam deðiþkenlerindeki bilgilerle bir yeni PO dosyasý oluþturur.\n"
 
-#: src/msginit.c:361
+#: src/msginit.c:359
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -1432,7 +1460,7 @@ msgstr ""
 "Girdi dosyasý verilmemiþse, POT dosyasý içinde bulunulan dizinde aranýr,\n"
 "- verilmiþse standart girdi okunur.\n"
 
-#: src/msginit.c:369
+#: src/msginit.c:367
 #, no-wrap
 msgid ""
 "Output file location:\n"
@@ -1445,31 +1473,19 @@ msgstr ""
 "Çýktý dosyasý verilmemiþse, --locale seçeneði ya da kullanýcýnýn yerel\n"
 "ayarlarý kullanýlýr, - verilmiþse sonuçlar standart çýktýya yazýlýr.\n"
 
-#: src/msginit.c:377
-#, no-wrap
+#: src/msginit.c:375
+#, fuzzy, no-wrap
 msgid ""
 "Output details:\n"
 "  -l, --locale=LL_CC          set target locale\n"
+"      --no-translator         assume the PO file is automatically generated\n"
 "  -w, --width=NUMBER          set output page width\n"
 msgstr ""
 "Çýktý ayrýntýlarý:\n"
 "  -l, --locale=tr_TR          hedef yerel belirtilir\n"
 "  -w, --width=SAYI            sayfa geniþliði SAYIya ayarlanýr\n"
 
-#: src/msginit.c:384
-#, no-wrap
-msgid ""
-"Informative output:\n"
-"  -h, --help                  display this help and exit\n"
-"  -V, --version               output version information and exit\n"
-"  -v, --verbose               increase verbosity level\n"
-msgstr ""
-"Bilgilendirme seçenekleri:\n"
-"  -h, --help                  Bu yardýmý gösterir ve çýkar\n"
-"  -V, --version               Sürüm bilgilerini gösterir ve çýkar\n"
-"  -v, --verbose               sonuçlar daha ayrýntýlý verilir\n"
-
-#: src/msginit.c:428
+#: src/msginit.c:426
 msgid ""
 "Found more than one .pot file.\n"
 "Please specify the input .pot file through the --input option.\n"
@@ -1478,11 +1494,11 @@ msgstr ""
 "Lütfen girdi olarak kullanýlacak .pot dosyasýný --input seçeneði ile "
 "belirtin.\n"
 
-#: src/msginit.c:436 src/msginit.c:441
+#: src/msginit.c:434 src/msginit.c:439
 msgid "error reading current directory"
 msgstr "dizin okunurken hata"
 
-#: src/msginit.c:449
+#: src/msginit.c:447
 msgid ""
 "Found no .pot file in the current directory.\n"
 "Please specify the input .pot file through the --input option.\n"
@@ -1491,23 +1507,23 @@ msgstr ""
 "Lütfen girdi olarak kullanýlacak .pot dosyasýný --input seçeneði ile "
 "belirtin.\n"
 
-#: src/msginit.c:861 src/msginit.c:906 src/msginit.c:1035 src/msginit.c:1098
+#: src/msginit.c:887 src/msginit.c:932 src/msginit.c:1070 src/msginit.c:1137
 #: src/read-java.c:80
 msgid "fdopen() failed"
 msgstr "fdopen() baþarýsýz"
 
-#: src/msginit.c:866 src/msginit.c:911 src/msginit.c:1040
+#: src/msginit.c:892 src/msginit.c:937 src/msginit.c:1075
 #, c-format
 msgid "%s subprocess I/O error"
 msgstr "%s alt süreci G/Ç hatasý"
 
-#: src/msginit.c:875 src/msginit.c:920 src/msginit.c:1049 src/msginit.c:1112
+#: src/msginit.c:901 src/msginit.c:946 src/msginit.c:1084 src/msginit.c:1151
 #: src/read-java.c:90
 #, c-format
 msgid "%s subprocess failed with exit code %d"
 msgstr "%s alt süreci çýkýþ kodu %d ile baþarýsýz"
 
-#: src/msginit.c:1025
+#: src/msginit.c:1060
 msgid ""
 "The new message catalog should contain your email address, so that users "
 "can\n"
@@ -1522,28 +1538,28 @@ msgstr ""
 #. TRANSLATORS: "English" needs to be replaced by your language.
 #. For example in it.po write "Traduzioni italiani ...",
 #. *not* "Traduzioni inglesi ...".
-#: src/msginit.c:1385
+#: src/msginit.c:1440
 #, c-format
 msgid "English translations for %s package"
 msgstr "%s paketi için Türkçe çeviriler"
 
-#: src/msgl-cat.c:172 src/msgl-charset.c:86 src/msgl-iconv.c:299
+#: src/msgl-cat.c:173 src/msgl-charset.c:86 src/msgl-iconv.c:299
 #, c-format
 msgid "present charset \"%s\" is not a portable encoding name"
 msgstr "mevcut karakter kümesi \"%s\" kabul görmüþ bir kodlama ismi deðil"
 
-#: src/msgl-cat.c:180 src/msgl-iconv.c:307
+#: src/msgl-cat.c:181 src/msgl-iconv.c:307
 #, c-format
 msgid "two different charsets \"%s\" and \"%s\" in input file"
 msgstr "girdi dosyasýnda iki farklý karakter kümesi: \"%s\" ve \"%s\""
 
-#: src/msgl-cat.c:193
+#: src/msgl-cat.c:194
 #, c-format
 msgid ""
 "input file `%s' doesn't contain a header entry with a charset specification"
 msgstr "girdi dosyasý `%s' baþlýðýnda bir karakter kümesi belirtilmemiþ."
 
-#: src/msgl-cat.c:197
+#: src/msgl-cat.c:198
 #, c-format
 msgid ""
 "domain \"%s\" in input file `%s' doesn't contain a header entry with a "
@@ -1552,17 +1568,17 @@ msgstr ""
 "\"%s\" paketi girdi dosyasý `%s' baþlýðýndaki charset alanýnda bir karakter\n"
 "kümesi belirtilmemiþ"
 
-#: src/msgl-cat.c:358 src/msgl-iconv.c:382
+#: src/msgl-cat.c:359 src/msgl-iconv.c:382
 #, c-format
 msgid "target charset \"%s\" is not a portable encoding name."
 msgstr "hedef karakter kümesi \"%s\" kabul görmüþ bir kodlama ismi deðil."
 
-#: src/msgl-cat.c:408 src/msgl-cat.c:414 src/msgl-charset.c:91
+#: src/msgl-cat.c:409 src/msgl-cat.c:415 src/msgl-charset.c:91
 #: src/msgl-charset.c:126 src/write-po.c:723 src/write-po.c:817
 msgid "warning: "
 msgstr "uyarý: "
 
-#: src/msgl-cat.c:409
+#: src/msgl-cat.c:410
 msgid ""
 "Input files contain messages in different encodings, UTF-8 among others.\n"
 "Converting the output to UTF-8.\n"
@@ -1570,7 +1586,7 @@ msgstr ""
 "Girdi dosyasý UTF-8 ile karýþýk farklý kodlamalar içeriyor.\n"
 "Çýktý UTF-8'e dönüþtürülüyor.\n"
 
-#: src/msgl-cat.c:415
+#: src/msgl-cat.c:416
 #, c-format
 msgid ""
 "Input files contain messages in different encodings, %s and %s among "
@@ -1661,11 +1677,11 @@ msgstr ""
 "\"%s\" \"%s\" e dönüþtürülemiyor. %s iconv()ye baðlý.\n"
 "Bu sürüm iconv() olmaksýzýn kurgulanmýþ."
 
-#: src/msgmerge.c:337
+#: src/msgmerge.c:340
 msgid "backup type"
 msgstr "yedekleme türü"
 
-#: src/msgmerge.c:374
+#: src/msgmerge.c:377
 #, no-wrap
 msgid ""
 "Merges two Uniforum style .po files together.  The def.po file is an\n"
@@ -1688,7 +1704,7 @@ msgstr ""
 "Daha iyi sonuçlar elde edebilmek için zorunlu eþleþmeler bulunamadýðýnda\n"
 "belirsiz eþleþmeler kullanýlmýþtýr.\n"
 
-#: src/msgmerge.c:392
+#: src/msgmerge.c:395
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -1705,7 +1721,7 @@ msgstr ""
 "  -C, --compendium=DOSYA      ileti çevirilerinin birden fazlasýný içerebilen\n"
 "                              ek veritabaný\n"
 
-#: src/msgmerge.c:402
+#: src/msgmerge.c:405
 #, no-wrap
 msgid ""
 "Operation mode:\n"
@@ -1716,7 +1732,7 @@ msgstr ""
 "  -U, --update                def.po dosyasýný günceller,\n"
 "                              def.po zaten güncelse bir þey yapmaz\n"
 
-#: src/msgmerge.c:417
+#: src/msgmerge.c:420
 #, no-wrap
 msgid ""
 "Output file location in update mode:\n"
@@ -1746,7 +1762,7 @@ msgstr ""
 "--suffix seçeneði ile ya da SIMPLE_BACKUP_SUFFIX ortam deðiþkeni ile\n"
 "belirtilmedikçe yedekleme dosyasýnýn soneki `~' dir.\n"
 
-#: src/msgmerge.c:454
+#: src/msgmerge.c:457
 #, no-wrap
 msgid ""
 "Informative output:\n"
@@ -1761,7 +1777,17 @@ msgstr ""
 "  -v, --verbose               sonuçlar daha ayrýntýlý verilir\n"
 "  -q, --quiet, --silent       bilgi verilmez\n"
 
-#: src/msgmerge.c:696
+#: src/msgmerge.c:625
+#, fuzzy
+msgid "this message should define plural forms"
+msgstr "...ama bazý iletiler sadece %lu çoðul biçem içeriyor"
+
+#: src/msgmerge.c:648
+#, fuzzy
+msgid "this message should not define plural forms"
+msgstr "bu ileti kullanýldý ama %s'de tanýmlý deðil"
+
+#: src/msgmerge.c:779
 #, c-format
 msgid ""
 "%sRead %ld old + %ld reference, merged %ld, fuzzied %ld, missing %ld, "
@@ -1770,7 +1796,7 @@ msgstr ""
 "%s%ld eski + %ld referans, %ld katýþýk, %ld fuzzy, %ld eksik, %ld artýk "
 "kullanýlmayan ileti okundu.\n"
 
-#: src/msgmerge.c:704
+#: src/msgmerge.c:787
 msgid " done.\n"
 msgstr " bitti.\n"
 
@@ -2061,8 +2087,8 @@ msgstr "sat
 msgid "iconv failure"
 msgstr "iconv baþarýsýzlýðý"
 
-#: src/po-lex.c:763 src/read-mo.c:70 src/read-mo.c:135 src/x-c.c:213
-#: src/x-rst.c:227 src/x-ycp.c:102
+#: src/po-lex.c:763 src/read-mo.c:70 src/read-mo.c:135 src/x-c.c:216
+#: src/x-rst.c:227 src/x-ycp.c:103
 #, c-format
 msgid "error while reading \"%s\""
 msgstr "\"%s\" okunurken hata"
@@ -2168,27 +2194,17 @@ msgstr "\"%s\" 
 msgid "standard output"
 msgstr "standart çýktý"
 
-#: src/x-c.c:843
+#: src/x-c.c:858
 #, c-format
 msgid "%s:%d: warning: unterminated character constant"
 msgstr "%s:%d: uyarý: sonlandýrýlmamýþ karakter sabiti"
 
-#: src/x-c.c:867
+#: src/x-c.c:882
 #, c-format
 msgid "%s:%d: warning: unterminated string literal"
 msgstr "%s:%d: uyarý: sonlandýrýlmamýþ dizge sabiti"
 
-#: src/x-c.c:1269
-#, c-format
-msgid "%s:%lu: warning: keyword nested in keyword arg"
-msgstr "%s:%lu: uyarý: anahtar sözcük diðerinin argümaný içinde yuvalanmýþ"
-
-#: src/x-c.c:1282
-#, c-format
-msgid "%s:%lu: warning: keyword between outer keyword and its arg"
-msgstr "%s:%lu: uyarý: anahtar sözcük dýþ anahtar sözcük ile argümaný arasýnda"
-
-#: src/x-po.c:106 src/xgettext.c:613
+#: src/x-po.c:106 src/xgettext.c:605
 msgid "this file may not contain domain directives"
 msgstr "bu dosya paket yönergelerini içermeyebilir"
 
@@ -2207,25 +2223,25 @@ msgstr "%s:%d:  # dan sonra say
 msgid "%s:%d: invalid string expression"
 msgstr "%s:%d: dizge ifade geçersiz"
 
-#: src/xgettext.c:383
+#: src/xgettext.c:375
 msgid "--join-existing cannot be used when output is written to stdout"
 msgstr "standart çýktýya yazýlýrken --join-existing kullanýlamaz"
 
-#: src/xgettext.c:388
+#: src/xgettext.c:380
 msgid "xgettext cannot work without keywords to look for"
 msgstr "xgettext anahtar sözcükler olmaksýzýn bulamaz"
 
-#: src/xgettext.c:476
+#: src/xgettext.c:468
 #, c-format
 msgid "warning: file `%s' extension `%s' is unknown; will try C"
 msgstr "uyarý: `%s' dosyasý `%s' uzantýsý bilinmiyor; C denenecek"
 
-#: src/xgettext.c:517
+#: src/xgettext.c:509
 #, no-wrap
 msgid "Extract translatable strings from given input files.\n"
 msgstr "Belirtilen girdi dosyalarýndan çevrilebilir dizgeleri çýkartýr.\n"
 
-#: src/xgettext.c:522
+#: src/xgettext.c:514
 #, no-wrap
 msgid ""
 "Mandatory arguments to long options are mandatory for short options too.\n"
@@ -2234,7 +2250,7 @@ msgstr ""
 "Uzun seçeneklerdeki zorunlu argümanlar kýsa seçeneklerde de zorunludur.\n"
 "Benzer durum seçimlik argümanlar içinde geçerlidir.\n"
 
-#: src/xgettext.c:537
+#: src/xgettext.c:529
 #, no-wrap
 msgid ""
 "Output file location:\n"
@@ -2250,7 +2266,7 @@ msgstr ""
 "  -p, --output-dir=DÝZÝN      çýktý dosyalarý DÝZÝNe konulacaktýr.\n"
 "Çýktý dosyasý olarak - verilmiþse çýktý standart çýktýya yazýlýr.\n"
 
-#: src/xgettext.c:546
+#: src/xgettext.c:538
 #, no-wrap
 msgid ""
 "Choice of input file language:\n"
@@ -2265,7 +2281,7 @@ msgstr ""
 "  -C, --c++                   --language=C++ için kýsaltma\n"
 "Dil öntanýmlý olarak girdi dosyasýnýn uzantýsýna göre seçilir.\n"
 
-#: src/xgettext.c:555
+#: src/xgettext.c:547
 #, no-wrap
 msgid ""
 "Operation mode:\n"
@@ -2279,7 +2295,7 @@ msgstr ""
 "  -x, --exclude-file=DOSYA.po DOSYA.po dosyasýndaki iletiler çýkartýlmaz\n"
 "  -c, --add-comments[=ETÝTET] ETÝKETli yorum bloðunu çýktý dosyasýna yazar\n"
 
-#: src/xgettext.c:564
+#: src/xgettext.c:556
 #, no-wrap
 msgid ""
 "Language=C/C++ specific options:\n"
@@ -2298,7 +2314,7 @@ msgstr ""
 "      --debug                 biçem dizgesi tanýmasý ile ilgili daha fazla\n"
 "                              ayrýntý verilir.\n"
 
-#: src/xgettext.c:574
+#: src/xgettext.c:566
 #, no-wrap
 msgid ""
 "Output details:\n"
@@ -2337,11 +2353,11 @@ msgstr ""
 "  -M, --msgstr-suffix[=DÝZGE] msgstr girdileri için sonek olarak DÝZGE ya da\n"
 "                              \"\" kullanýlýr\n"
 
-#: src/xgettext.c:728
+#: src/xgettext.c:720
 msgid "standard input"
 msgstr "standart girdi"
 
-#: src/xgettext.c:838
+#: src/xgettext.c:830
 msgid ""
 "Empty msgid.  It is reserved by GNU gettext:\n"
 "gettext(\"\") returns the header entry with\n"
@@ -2351,7 +2367,28 @@ msgstr ""
 "gettext(\"\") ile baþlýk girdilerindeki bilgileri\n"
 "döndürür. Boþ dizge deðildir.\n"
 
-#: src/xgettext.c:1107
+#: src/xgettext.c:1099
 #, c-format
 msgid "language `%s' unknown"
 msgstr "dil `%s' bilinmiyor"
+
+#~ msgid "while creating hash table"
+#~ msgstr "saçýlma tablosu oluþturulurken"
+
+#~ msgid ""
+#~ "Informative output:\n"
+#~ "  -h, --help                  display this help and exit\n"
+#~ "  -V, --version               output version information and exit\n"
+#~ "  -v, --verbose               increase verbosity level\n"
+#~ msgstr ""
+#~ "Bilgilendirme seçenekleri:\n"
+#~ "  -h, --help                  Bu yardýmý gösterir ve çýkar\n"
+#~ "  -V, --version               Sürüm bilgilerini gösterir ve çýkar\n"
+#~ "  -v, --verbose               sonuçlar daha ayrýntýlý verilir\n"
+
+#~ msgid "%s:%lu: warning: keyword nested in keyword arg"
+#~ msgstr "%s:%lu: uyarý: anahtar sözcük diðerinin argümaný içinde yuvalanmýþ"
+
+#~ msgid "%s:%lu: warning: keyword between outer keyword and its arg"
+#~ msgstr ""
+#~ "%s:%lu: uyarý: anahtar sözcük dýþ anahtar sözcük ile argümaný arasýnda"
index c440796bb015726a3a83ace9f4a1cab157cde238..3868df6b024f60953b630ecb962affba645f5b50 100644 (file)
--- a/po/zh.po
+++ b/po/zh.po
@@ -6,7 +6,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: GNU gettext 0.10.38\n"
-"POT-Creation-Date: 2001-06-12 15:05+0200\n"
+"POT-Creation-Date: 2001-11-30 14:18+0100\n"
 "PO-Revision-Date: 2001-06-03 16:03 +0800\n"
 "Last-Translator: Yuan-Chung Cheng <platin@ms.ccafps.khc.edu.tw>\n"
 "Language-Team: Chinese <zh-l10n@linux.org.tw>\n"
@@ -15,10 +15,57 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
 
+#: lib/argmatch.c:141
+#, c-format
+msgid "invalid argument `%s' for `%s'"
+msgstr ""
+
+#: lib/argmatch.c:142
+#, c-format
+msgid "ambiguous argument `%s' for `%s'"
+msgstr ""
+
+#: lib/argmatch.c:162
+msgid "Valid arguments are:"
+msgstr ""
+
+#: lib/copy-file.c:60 src/file-list.c:57 src/po-lex.c:732 src/read-mo.c:170
+#: src/xgettext.c:729 src/xgettext.c:742 src/xgettext.c:752
+#, c-format
+msgid "error while opening \"%s\" for reading"
+msgstr "·í¶}±ÒÀÉ®× \"%s\" ·Ç³ÆÅª¨ú®Éµo¥Í¿ù»~ "
+
+#: lib/copy-file.c:67
+#, fuzzy, c-format
+msgid "cannot open backup file \"%s\" for writing"
+msgstr "·í¶}±Ò \"%s\" ³o­ÓÀɮסA·Ç³Æ¼g¤Jªº®É­Ôµo¥Í¿ù»~"
+
+#: lib/copy-file.c:80
+#, fuzzy, c-format
+msgid "error reading \"%s\""
+msgstr "¥¿¦bŪ¨ú \"%s\" ªº®É­Ô¸I¨ì¿ù»~"
+
+#: lib/copy-file.c:86 lib/copy-file.c:90
+#, fuzzy, c-format
+msgid "error writing \"%s\""
+msgstr "·í¼g¤J \"%s\" ³o­ÓÀɮ׮ɵo¥Í¿ù»~"
+
+#: lib/copy-file.c:92
+#, fuzzy, c-format
+msgid "error after reading \"%s\""
+msgstr "¥¿¦bŪ¨ú \"%s\" ªº®É­Ô¸I¨ì¿ù»~"
+
 #: lib/error.c:115
 msgid "Unknown system error"
 msgstr "¤£©úªº¨t²Î¿ù»~"
 
+#: lib/execute.c:170 lib/execute.c:205 lib/pipe-bidi.c:156 lib/pipe-bidi.c:191
+#: lib/pipe-in.c:167 lib/pipe-in.c:202 lib/pipe-out.c:167 lib/pipe-out.c:202
+#: lib/wait-process.c:136
+#, c-format
+msgid "%s subprocess failed"
+msgstr ""
+
 #: lib/getopt.c:691
 #, c-format
 msgid "%s: option `%s' is ambiguous\n"
@@ -39,19 +86,16 @@ msgstr "%s: 
 msgid "%s: option `%s' requires an argument\n"
 msgstr "%s: ¿ï¶µ `%s' »Ý­n¤@­Ó°Ñ¼Æ \n"
 
-#. --option
 #: lib/getopt.c:768
 #, c-format
 msgid "%s: unrecognized option `--%s'\n"
 msgstr "%s: `--%s' ³o­Ó¿ï¶µ¤£¦s¦b \n"
 
-#. +option or -option
 #: lib/getopt.c:772
 #, c-format
 msgid "%s: unrecognized option `%c%s'\n"
 msgstr "%s: `%c%s' ³o­Ó¿ï¶µ¤£¦s¦b \n"
 
-#. 1003.2 specifies the format of this message.
 #: lib/getopt.c:798
 #, c-format
 msgid "%s: illegal option -- %c\n"
@@ -62,7 +106,6 @@ msgstr "%s: 
 msgid "%s: invalid option -- %c\n"
 msgstr "%s: µL®Äªº¿ï¶µ -- %c \n"
 
-#. 1003.2 specifies the format of this message.
 #: lib/getopt.c:831 lib/getopt.c:961
 #, c-format
 msgid "%s: option requires an argument -- %c\n"
@@ -78,36 +121,114 @@ msgstr "%s: 
 msgid "%s: option `-W %s' doesn't allow an argument\n"
 msgstr "%s: ¿ï¶µ `-W %s' ¨Ã¤£»Ý­n°Ñ¼Æ \n"
 
-#: lib/obstack.c:474 lib/xerror.c:69 lib/xmalloc.c:86
+#: lib/javacomp.c:465
+msgid "Java compiler not found, try installing gcj or set $JAVAC"
+msgstr ""
+
+#: lib/javaexec.c:404
+msgid "Java virtual machine not found, try installing gij or set $JAVA"
+msgstr ""
+
+#: lib/obstack.c:474 lib/xerror.c:75 lib/xmalloc.c:56
 msgid "memory exhausted"
 msgstr "°O¾ÐÅé¯ÓºÉ"
 
-#: lib/pipe-bidi.c:101 lib/pipe-bidi.c:103 lib/pipe-in.c:117
-#: lib/pipe-out.c:117
+#: lib/pipe-bidi.c:119 lib/pipe-bidi.c:121 lib/pipe-in.c:136
+#: lib/pipe-out.c:136
 #, fuzzy
 msgid "cannot create pipe"
 msgstr "¿é¥XÀÉ \"%s\" µLªk«Ø¥ß"
 
-#: lib/pipe-bidi.c:125 lib/pipe-bidi.c:142 lib/pipe-in.c:135 lib/pipe-in.c:155
-#: lib/pipe-out.c:135 lib/pipe-out.c:155
-#, c-format
-msgid "%s subprocess failed"
-msgstr ""
-
-#: lib/wait-process.c:109
+#: lib/wait-process.c:117
 #, c-format
 msgid "%s subprocess"
 msgstr ""
 
-#: lib/wait-process.c:117
+#: lib/wait-process.c:129
 #, c-format
 msgid "%s subprocess got fatal signal"
 msgstr ""
 
-#: src/gettext.c:144 src/msgcat.c:245 src/msgcmp.c:132 src/msgcomm.c:242
-#: src/msgconv.c:180 src/msgen.c:168 src/msgfmt.c:272 src/msggrep.c:276
-#: src/msgmerge.c:222 src/msgsed.c:242 src/msgunfmt.c:174 src/ngettext.c:124
-#: src/xgettext.c:386
+#: src/format-c.c:578 src/format-python.c:463
+#, fuzzy
+msgid "number of format specifications in 'msgid' and 'msgstr' does not match"
+msgstr "¦b `msgid' ©M `msgstr' Äæ¦ì¸Ì«ü©wªº®æ¦¡¸¹½X¨Ã¤£²Å¦X"
+
+#: src/format-c.c:588 src/format-python.c:473
+#, fuzzy, c-format
+msgid ""
+"format specifications in 'msgid' and 'msgstr' for argument %u are not the "
+"same"
+msgstr "²Ä %lu ­Ó°Ñ¼Æ«ü©wªº®æ¦¡¨Ã¤£¬Û¦P"
+
+#: src/format-java.c:652 src/format-pascal.c:396
+#, fuzzy, c-format
+msgid "a format specification for argument {%u} doesn't exist in 'msgid'"
+msgstr "²Ä %lu ­Ó°Ñ¼Æ«ü©wªº®æ¦¡¨Ã¤£¬Û¦P"
+
+#: src/format-java.c:662 src/format-pascal.c:406
+#, fuzzy, c-format
+msgid "a format specification for argument {%u} doesn't exist in 'msgstr'"
+msgstr "²Ä %lu ­Ó°Ñ¼Æ«ü©wªº®æ¦¡¨Ã¤£¬Û¦P"
+
+#: src/format-java.c:676 src/format-pascal.c:420
+#, fuzzy, c-format
+msgid ""
+"format specifications in 'msgid' and 'msgstr' for argument {%u} are not the "
+"same"
+msgstr "²Ä %lu ­Ó°Ñ¼Æ«ü©wªº®æ¦¡¨Ã¤£¬Û¦P"
+
+#: src/format-lisp.c:3371
+#, fuzzy
+msgid "format specifications in 'msgid' and 'msgstr' are not equivalent"
+msgstr "¦b `msgid' ©M `msgstr' Äæ¦ì¸Ì«ü©wªº®æ¦¡¸¹½X¨Ã¤£²Å¦X"
+
+#: src/format-python.c:391
+#, fuzzy
+msgid ""
+"format specifications in 'msgid' expect a mapping, those in 'msgstr' expect "
+"a tuple"
+msgstr "¦b `msgid' ©M `msgstr' Äæ¦ì¸Ì«ü©wªº®æ¦¡¸¹½X¨Ã¤£²Å¦X"
+
+#: src/format-python.c:399
+#, fuzzy
+msgid ""
+"format specifications in 'msgid' expect a tuple, those in 'msgstr' expect a "
+"mapping"
+msgstr "¦b `msgid' ©M `msgstr' Äæ¦ì¸Ì«ü©wªº®æ¦¡¸¹½X¨Ã¤£²Å¦X"
+
+#: src/format-python.c:422
+#, fuzzy, c-format
+msgid "a format specification for argument '%s' doesn't exist in 'msgid'"
+msgstr "²Ä %lu ­Ó°Ñ¼Æ«ü©wªº®æ¦¡¨Ã¤£¬Û¦P"
+
+#: src/format-python.c:432
+#, fuzzy, c-format
+msgid "a format specification for argument '%s' doesn't exist in 'msgstr'"
+msgstr "²Ä %lu ­Ó°Ñ¼Æ«ü©wªº®æ¦¡¨Ã¤£¬Û¦P"
+
+#: src/format-python.c:446
+#, fuzzy, c-format
+msgid ""
+"format specifications in 'msgid' and 'msgstr' for argument '%s' are not the "
+"same"
+msgstr "²Ä %lu ­Ó°Ñ¼Æ«ü©wªº®æ¦¡¨Ã¤£¬Û¦P"
+
+#: src/format-ycp.c:137
+#, fuzzy, c-format
+msgid "a format specification for argument %u doesn't exist in 'msgstr'"
+msgstr "²Ä %lu ­Ó°Ñ¼Æ«ü©wªº®æ¦¡¨Ã¤£¬Û¦P"
+
+#: src/format-ycp.c:138
+#, fuzzy, c-format
+msgid "a format specification for argument %u doesn't exist in 'msgid'"
+msgstr "²Ä %lu ­Ó°Ñ¼Æ«ü©wªº®æ¦¡¨Ã¤£¬Û¦P"
+
+#: src/gettext.c:146 src/hostname.c:168 src/msgattrib.c:264 src/msgcat.c:229
+#: src/msgcmp.c:134 src/msgcomm.c:232 src/msgconv.c:182 src/msgen.c:171
+#: src/msgexec.c:240 src/msgfmt.c:333 src/msggrep.c:276 src/msginit.c:247
+#: src/msgmerge.c:252 src/msgunfmt.c:182 src/msguniq.c:207 src/ngettext.c:126
+#: src/xgettext.c:352
 #, c-format, no-wrap
 msgid ""
 "Copyright (C) %s Free Software Foundation, Inc.\n"
@@ -118,43 +239,45 @@ msgstr ""
 "³o¬O¦Û¥Ñ³nÅé; ½Ð°Ñ¦Ò­ì©l½Xªºª©ÅvÁn©ú.\n"
 "§Y¨Ï±z¬O¬°¤F¯S©wªº¥Øªº¦ÓÁʶR¤F¥»³nÅé, ¥»³nÅé¨ÌµM¤£´£¨Ñ¥ô¦ó«OÃÒ.\n"
 
-#: src/gettext.c:149 src/msgcat.c:250 src/msgcmp.c:137 src/msgcomm.c:247
-#: src/msgconv.c:185 src/msgen.c:173 src/msgfmt.c:277 src/msggrep.c:281
-#: src/msgmerge.c:227 src/msgsed.c:247 src/msgunfmt.c:179 src/ngettext.c:129
-#: src/xgettext.c:391
+#: src/gettext.c:151 src/hostname.c:173 src/msgattrib.c:269 src/msgcat.c:234
+#: src/msgcmp.c:139 src/msgcomm.c:237 src/msgconv.c:187 src/msgen.c:176
+#: src/msgexec.c:245 src/msgfmt.c:338 src/msggrep.c:281 src/msginit.c:252
+#: src/msgmerge.c:257 src/msgunfmt.c:187 src/msguniq.c:212 src/ngettext.c:131
+#: src/xgettext.c:357
 #, c-format
 msgid "Written by %s.\n"
 msgstr "¥Ñ %s ©Òòü¼g \n"
 
-#: src/gettext.c:167 src/ngettext.c:141
+#: src/gettext.c:169 src/hostname.c:183 src/msginit.c:262 src/ngettext.c:143
 msgid "too many arguments"
 msgstr "°Ñ¼Æ¤Ó¦h¤F"
 
-#: src/gettext.c:177 src/ngettext.c:153
+#: src/gettext.c:179 src/ngettext.c:155
 msgid "missing arguments"
 msgstr "¨S¦³°Ñ¼Æ"
 
-#: src/gettext.c:249 src/msgcat.c:297 src/msgcmp.c:169 src/msgcomm.c:312
-#: src/msgconv.c:234 src/msgen.c:219 src/msgfmt.c:384 src/msggrep.c:366
-#: src/msgmerge.c:273 src/msgsed.c:313 src/msgunfmt.c:219 src/ngettext.c:208
-#: src/xgettext.c:513
+#: src/gettext.c:251 src/hostname.c:197 src/msgattrib.c:322 src/msgcat.c:290
+#: src/msgcmp.c:171 src/msgcomm.c:306 src/msgconv.c:241 src/msgen.c:227
+#: src/msgexec.c:338 src/msgfmt.c:479 src/msggrep.c:371 src/msginit.c:338
+#: src/msgmerge.c:367 src/msgunfmt.c:262 src/msguniq.c:269 src/ngettext.c:210
+#: src/xgettext.c:499
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "¸Õ¸Õ¬Ý¥´ `%s --help' ¨ÓÀò±o§ó¦h¸ê°T \n"
 
-#: src/gettext.c:254
+#: src/gettext.c:256
 #, c-format, no-wrap
 msgid ""
 "Usage: %s [OPTION] [[TEXTDOMAIN] MSGID]\n"
 "or:    %s [OPTION] -s [MSGID]...\n"
 msgstr ""
 
-#: src/gettext.c:260
+#: src/gettext.c:262
 #, no-wrap
 msgid "Display native language translation of a textual message.\n"
 msgstr ""
 
-#: src/gettext.c:264
+#: src/gettext.c:266
 #, fuzzy, no-wrap
 msgid ""
 "  -d, --domain=TEXTDOMAIN   retrieve translated messages from TEXTDOMAIN\n"
@@ -176,7 +299,7 @@ msgstr ""
 "  [TEXTDOMAIN] MSGID        ¥Ñ TEXTDOMAIN ³o­Ó¤å¦r»â°ì¡A¨Ì¾Ú MSGID Åª¨ú½Ķ \n"
 "                            «áªº°T®§¡C \n"
 
-#: src/gettext.c:275
+#: src/gettext.c:277
 #, fuzzy, c-format, no-wrap
 msgid ""
 "If the TEXTDOMAIN parameter is not given, the domain is determined from the\n"
@@ -197,31 +320,169 @@ msgstr ""
 "¨ì¼Ð·Ç¿é¥X¡C \n"
 "¥Ø«eªº¼Ð·Ç·j´M¸ô®|¬°: %s \n"
 
-#: src/gettext.c:285 src/msgcat.c:378 src/msgcmp.c:214 src/msgcomm.c:390
-#: src/msgconv.c:298 src/msgen.c:279 src/msgfmt.c:443 src/msggrep.c:445
-#: src/msgmerge.c:348 src/msgsed.c:379 src/msgunfmt.c:272 src/ngettext.c:241
-#: src/xgettext.c:604
-msgid "Report bugs to <bug-gnu-utils@gnu.org>.\n"
+#: src/gettext.c:288 src/hostname.c:227 src/msgattrib.c:402 src/msgcat.c:371
+#: src/msgcmp.c:216 src/msgcomm.c:384 src/msgconv.c:305 src/msgen.c:287
+#: src/msgexec.c:410 src/msgfmt.c:563 src/msggrep.c:457 src/msginit.c:389
+#: src/msgmerge.c:465 src/msgunfmt.c:331 src/msguniq.c:343 src/ngettext.c:244
+#: src/xgettext.c:591
+#, fuzzy
+msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
 msgstr "½Ð¦^³ø¿ù»~¦Ü <bug-gnu-utils@gnu.org>.\n"
 
-#: src/msgcat.c:233 src/msgcat.c:237 src/msgcomm.c:230 src/msgcomm.c:234
-#: src/msgconv.c:205 src/msgen.c:194 src/msggrep.c:301 src/msgmerge.c:248
-#: src/msgsed.c:270 src/xgettext.c:363 src/xgettext.c:367
+#: src/hostname.c:202 src/msginit.c:343
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION]\n"
+msgstr ""
+
+#: src/hostname.c:207
+#, no-wrap
+msgid "Print the machine's hostname.\n"
+msgstr ""
+
+#: src/hostname.c:212
+#, no-wrap
+msgid ""
+"Output format:\n"
+"  -s, --short           short host name\n"
+"  -f, --fqdn, --long    long host name, includes fully qualified domain name,\n"
+"                          and aliases\n"
+"  -i, --ip-address      addresses for the hostname\n"
+msgstr ""
+
+#: src/hostname.c:221 src/msgattrib.c:396 src/msgcmp.c:210 src/msgconv.c:299
+#: src/msgen.c:281 src/msgexec.c:404 src/msggrep.c:451 src/msginit.c:383
+#, no-wrap
+msgid ""
+"Informative output:\n"
+"  -h, --help                  display this help and exit\n"
+"  -V, --version               output version information and exit\n"
+msgstr ""
+
+#: src/hostname.c:242 src/hostname.c:249
+msgid "could not get host name"
+msgstr ""
+
+#: src/msgattrib.c:284 src/msgconv.c:202 src/msgexec.c:190 src/msggrep.c:296
+#: src/msginit.c:205 src/msguniq.c:227
+msgid "at most one input file allowed"
+msgstr ""
+
+#: src/msgattrib.c:290 src/msgattrib.c:294 src/msgcat.c:244 src/msgcat.c:248
+#: src/msgcomm.c:247 src/msgcomm.c:251 src/msgconv.c:208 src/msgconv.c:212
+#: src/msgen.c:198 src/msgen.c:202 src/msgexec.c:260 src/msgexec.c:264
+#: src/msgfmt.c:358 src/msggrep.c:302 src/msggrep.c:306 src/msgmerge.c:282
+#: src/msgmerge.c:303 src/msgmerge.c:307 src/msguniq.c:233 src/msguniq.c:237
+#: src/xgettext.c:367 src/xgettext.c:371
 #, c-format
 msgid "%s and %s are mutually exclusive"
 msgstr "%s ©M %s ¨âªÌ¬O¤¬¤£¬Û®eªº"
 
-#: src/msgcat.c:270 src/msgcomm.c:278
+#: src/msgattrib.c:327 src/msgconv.c:246 src/msggrep.c:376 src/msguniq.c:274
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] [INPUTFILE]\n"
+msgstr ""
+
+#: src/msgattrib.c:332
+#, no-wrap
+msgid ""
+"Filters the messages of a translation catalog according to their attributes,\n"
+"and manipulates the attributes.\n"
+msgstr ""
+
+#: src/msgattrib.c:338 src/msgcat.c:313 src/msgcmp.c:191 src/msgcomm.c:328
+#: src/msgconv.c:256 src/msgen.c:245 src/msgexec.c:353 src/msgfmt.c:494
+#: src/msggrep.c:387 src/msginit.c:354 src/msgmerge.c:390 src/msgunfmt.c:277
+#: src/msguniq.c:291
+#, no-wrap
+msgid "Mandatory arguments to long options are mandatory for short options too.\n"
+msgstr ""
+
+#: src/msgattrib.c:343 src/msgconv.c:261 src/msggrep.c:392 src/msguniq.c:296
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  INPUTFILE                   input PO file\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"If no input file is given or if it is -, standard input is read.\n"
+msgstr ""
+
+#: src/msgattrib.c:351 src/msgconv.c:269 src/msgen.c:258 src/msgexec.c:366
+#: src/msggrep.c:400 src/msgmerge.c:412
+#, no-wrap
+msgid ""
+"Output file location:\n"
+"  -o, --output-file=FILE      write output to specified file\n"
+"The results are written to standard output if no output file is specified\n"
+"or if it is -.\n"
+msgstr ""
+
+#: src/msgattrib.c:359
+#, no-wrap
+msgid ""
+"Message selection:\n"
+"      --translated            keep translated, remove untranslated messages\n"
+"      --untranslated          keep untranslated, remove translated messages\n"
+"      --no-fuzzy              remove 'fuzzy' marked messages\n"
+"      --only-fuzzy            keep 'fuzzy' marked messages\n"
+"      --no-obsolete           remove obsolete #~ messages\n"
+"      --only-obsolete         keep obsolete #~ messages\n"
+msgstr ""
+
+#: src/msgattrib.c:370
+#, no-wrap
+msgid ""
+"Attribute manipulation:\n"
+"      --set-fuzzy             set all messages 'fuzzy'\n"
+"      --clear-fuzzy           set all messages non-'fuzzy'\n"
+"      --set-obsolete          set all messages obsolete\n"
+"      --clear-obsolete        set all messages non-obsolete\n"
+"      --fuzzy                 synonym for --only-fuzzy --clear-fuzzy\n"
+"      --obsolete              synonym for --only-obsolete --clear-obsolete\n"
+msgstr ""
+
+#: src/msgattrib.c:381
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
+"  -e, --no-escape             do not use C escapes in output (default)\n"
+"  -E, --escape                use C escapes in output, no extended chars\n"
+"      --force-po              write PO file even if empty\n"
+"  -i, --indent                write the .po file using indented style\n"
+"      --no-location           do not write '#: filename:line' lines\n"
+"  -n, --add-location          generate '#: filename:line' lines (default)\n"
+"      --strict                write out strict Uniforum conforming .po file\n"
+"  -w, --width=NUMBER          set output page width\n"
+"  -s, --sort-output           generate sorted output\n"
+"  -F, --sort-by-file          sort output by file location\n"
+msgstr ""
+"Usage: %s [OPTION] def.po ref.po\n"
+" (µu¿ï¶µ¥Îªº°Ñ¼Æ©Mªø¿ï¶µ¥Îªº¬O¤@¼Ëªº) \n"
+"  -C, --compendium=FILE       ¼W¥[°T®§Â½Ä¶ªºÀÉ®×®w, ¥i¥H«ü©w¤@­Ó¥H¤W\n"
+"  -D, --directory=DIRECTORY   ¦b¿é¤JÀɮתº·j´M¥Ø¿ý¦W³æ¤¤, ¼W¥[ DIRECTORY \n"
+"  -e, --no-escape             ¿é¥Xªºµ²ªG¤£¨Ï¥Î C ·¸¥X¦r¤¸ (¹w³])¡C \n"
+"  -E, --escape                ¿é¥Xµ²ªG¥Î C ·¸¥X¦r¤¸¡A¤£ª½±µ¿é¥X©µ¦ù¦r¤¸¡C\n"
+"      --force-po              §Y¨Ï¤º®e¬OªÅªº, ¤´±j­¢¼g¤J PO ÀÉ \n"
+"  -h, --help                  Åã¥Ü³o¬q»¡©ú°T®§¡C \n"
+"  -i, --indent                ¹ï¿é¥Xµ²ªG°µÁY±Æ³B²z¡C \n"
+"  -o, --output-file=FILE      §â¿é¥Xªºµ²ªG¼g¤J FILE ³o­ÓÀɮסC \n"
+"      --no-location           Ãö³¬ '#: filename:line' \n"
+"      --add-location          «O¯d '#: filename:line' (¹w³])\n"
+"      --strict                ¨Ï¥ÎÄY®æ²Î¤@¼Ð·Çªº¿é¥Xµ²ªG¡C\n"
+"  -v, --verbose               ¼W¥[Åã¥Ü¤¾ªø°T®§\n"
+"  -V, --version               Åã¥ÜÃö©óª©¥»ªº¸ê°T\n"
+"  -w, --width=NUMBER          ³]©w¿é¥X­¶¼e\n"
+
+#: src/msgcat.c:254 src/msgcomm.c:277
 #, c-format
 msgid "impossible selection criteria specified (%d < n < %d)"
 msgstr "¤£¥i¯àªº¿ï¾Ü (%d < n <%d) "
 
-#: src/msgcat.c:302 src/msgcomm.c:317 src/xgettext.c:518
+#: src/msgcat.c:295 src/msgcomm.c:311 src/xgettext.c:504
 #, c-format, no-wrap
 msgid "Usage: %s [OPTION] [INPUTFILE]...\n"
 msgstr ""
 
-#: src/msgcat.c:307
+#: src/msgcat.c:300
 #, fuzzy, no-wrap
 msgid ""
 "Concatenates and merges the specified PO files.\n"
@@ -250,14 +511,7 @@ msgstr ""
 "PO file to define them.  File positions from all PO files will be\n"
 "preserved.\n"
 
-#: src/msgcat.c:320 src/msgcmp.c:189 src/msgcomm.c:334 src/msgconv.c:249
-#: src/msgen.c:237 src/msgfmt.c:399 src/msggrep.c:382 src/msgmerge.c:296
-#: src/msgsed.c:328 src/msgunfmt.c:234
-#, no-wrap
-msgid "Mandatory arguments to long options are mandatory for short options too.\n"
-msgstr ""
-
-#: src/msgcat.c:325 src/msgcomm.c:339 src/xgettext.c:534
+#: src/msgcat.c:318 src/msgcomm.c:333 src/xgettext.c:520
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -267,7 +521,7 @@ msgid ""
 "If input file is -, standard input is read.\n"
 msgstr ""
 
-#: src/msgcat.c:334 src/msgcomm.c:348
+#: src/msgcat.c:327 src/msgcomm.c:342 src/msguniq.c:304
 #, no-wrap
 msgid ""
 "Output file location:\n"
@@ -276,7 +530,7 @@ msgid ""
 "or if it is -.\n"
 msgstr ""
 
-#: src/msgcat.c:342 src/msgcomm.c:356
+#: src/msgcat.c:335
 #, fuzzy, no-wrap
 msgid ""
 "Message selection:\n"
@@ -284,7 +538,7 @@ msgid ""
 "                                 definitions, defaults to infinite if not\n"
 "                                 set\n"
 "  ->, --more-than=NUMBER         print messages with more than this many\n"
-"                                 definitions, defaults to 1 if not set\n"
+"                                 definitions, defaults to 0 if not set\n"
 "  -u, --unique                   shorthand for --less-than=2, requests\n"
 "                                 that only unique messages be printed\n"
 msgstr ""
@@ -304,7 +558,7 @@ msgstr ""
 "PO file to define them.  File positions from all PO files will be\n"
 "preserved.\n"
 
-#: src/msgcat.c:354
+#: src/msgcat.c:347 src/msguniq.c:319
 #, fuzzy, no-wrap
 msgid ""
 "Output details:\n"
@@ -319,7 +573,7 @@ msgid ""
 "  -n, --add-location             generate '#: filename:line' lines (default)\n"
 "      --strict                   write out strict Uniforum conforming .po file\n"
 "  -w, --width=NUMBER             set output page width\n"
-"  -s, --sort-output              generate sorted output and remove duplicates\n"
+"  -s, --sort-output              generate sorted output\n"
 "  -F, --sort-by-file             sort output by file location\n"
 msgstr ""
 "Usage: %s [OPTION] def.po ref.po\n"
@@ -339,7 +593,7 @@ msgstr ""
 "  -V, --version               Åã¥ÜÃö©óª©¥»ªº¸ê°T\n"
 "  -w, --width=NUMBER          ³]©w¿é¥X­¶¼e\n"
 
-#: src/msgcat.c:372 src/msgcomm.c:384 src/xgettext.c:598
+#: src/msgcat.c:365 src/msgcomm.c:378 src/msguniq.c:337 src/xgettext.c:585
 #, no-wrap
 msgid ""
 "Informative output:\n"
@@ -347,75 +601,20 @@ msgid ""
 "  -V, --version                  output version information and exit\n"
 msgstr ""
 
-#: src/msgcat.c:403 src/msgcomm.c:415 src/msgunfmt.c:394 src/po-lex.c:85
-#: src/xget-lex.c:159 src/xget-lex.c:172 src/xget-lex.c:182 src/xgettext.c:629
-#, c-format
-msgid "error while opening \"%s\" for reading"
-msgstr "·í¶}±ÒÀÉ®× \"%s\" ·Ç³ÆÅª¨ú®Éµo¥Í¿ù»~ "
-
-#: src/msgcat.c:544 src/msgl-charset.c:82 src/msgl-iconv.c:292
-#, c-format
-msgid "present charset \"%s\" is not a portable encoding name"
-msgstr ""
-
-#: src/msgcat.c:552 src/msgl-iconv.c:300
-#, c-format
-msgid "two different charsets \"%s\" and \"%s\" in input file"
-msgstr ""
-
-#: src/msgcat.c:561
-#, c-format
-msgid ""
-"input file `%s' doesn't contain a header entry with a charset specification"
-msgstr ""
-
-#: src/msgcat.c:565
-#, c-format
-msgid ""
-"domain \"%s\" in input file `%s' doesn't contain a header entry with a "
-"charset specification"
-msgstr ""
-
-#: src/msgcat.c:719 src/msgl-iconv.c:370
-#, c-format
-msgid "target charset \"%s\" is not a portable encoding name."
-msgstr ""
-
-#: src/msgcat.c:752 src/msgcat.c:758 src/msgl-charset.c:87
-#: src/msgl-charset.c:122
-#, fuzzy
-msgid "warning: "
-msgstr "%s: Äµ§i: "
-
-#: src/msgcat.c:753
-msgid ""
-"Input files contain messages in different encodings, UTF-8 among others.\n"
-"Converting the output to UTF-8.\n"
-msgstr ""
-
-#: src/msgcat.c:759
-#, c-format
-msgid ""
-"Input files contain messages in different encodings, %s and %s among "
-"others.\n"
-"Converting the output to UTF-8.\n"
-"To select a different output encoding, use the --to-code option.\n"
-msgstr ""
-
-#: src/msgcmp.c:148 src/msgmerge.c:238
+#: src/msgcmp.c:150 src/msgmerge.c:268
 msgid "no input files given"
 msgstr "¥¼µ¹»P©Ò­n³B²zªºÀÉ®×"
 
-#: src/msgcmp.c:153 src/msgmerge.c:243
+#: src/msgcmp.c:155 src/msgmerge.c:273
 msgid "exactly 2 input files required"
 msgstr "¦¹¥\¯à»Ý­n«ê¦n«ü©w¨â­Ó¿é¤JÀÉ"
 
-#: src/msgcmp.c:174 src/msgmerge.c:278
+#: src/msgcmp.c:176 src/msgmerge.c:372
 #, c-format, no-wrap
 msgid "Usage: %s [OPTION] def.po ref.pot\n"
 msgstr ""
 
-#: src/msgcmp.c:179
+#: src/msgcmp.c:181
 #, fuzzy, no-wrap
 msgid ""
 "Compare two Uniforum style .po files to check that both contain the same\n"
@@ -438,7 +637,7 @@ msgstr ""
 "¤ñ¸ûªº®É­Ô¡A°²¦p§ä¤£¨ì§¹¥þ¤@­PªºÄæ¦ì¡A¨º»òµ{¦¡·|¥Î¼Ò½kÅ޿誺¤èªk \n"
 "¨Ó±o¨ì¤ñ¸û¦nªºÀˬdµ²ªG¡C\n"
 
-#: src/msgcmp.c:194
+#: src/msgcmp.c:196
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -447,58 +646,49 @@ msgid ""
 "  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
 msgstr ""
 
-#: src/msgcmp.c:202 src/msgmerge.c:319
+#: src/msgcmp.c:204 src/msgmerge.c:436
 #, no-wrap
 msgid ""
 "Operation modifiers:\n"
 "  -m, --multi-domain          apply ref.pot to each of the domains in def.po\n"
 msgstr ""
 
-#: src/msgcmp.c:208 src/msgconv.c:292 src/msgen.c:273 src/msggrep.c:439
-#: src/msgsed.c:373
-#, no-wrap
-msgid ""
-"Informative output:\n"
-"  -h, --help                  display this help and exit\n"
-"  -V, --version               output version information and exit\n"
-msgstr ""
-
-#: src/msgcmp.c:251 src/msgmerge.c:426
+#: src/msgcmp.c:253 src/msgmerge.c:543
 msgid "this message is used but not defined..."
 msgstr "³o­Ó°T®§¦³³Q¨Ï¥Î¨ì¦ý¬O¨Ã¥¼³Q©w¸q¹L..."
 
-#: src/msgcmp.c:253 src/msgmerge.c:428
+#: src/msgcmp.c:255 src/msgmerge.c:545
 msgid "...but this definition is similar"
 msgstr "...¤£¹L³o­Ó©w¸q¬Û¦ü"
 
-#: src/msgcmp.c:258 src/msgmerge.c:455
+#: src/msgcmp.c:260 src/msgmerge.c:572
 #, c-format
 msgid "this message is used but not defined in %s"
 msgstr "¦b %s ¸Ì¨Ï¥Î¨ìªº°T®§¨Ã¥¼³Q©w¸q"
 
-#: src/msgcmp.c:330
+#: src/msgcmp.c:332
 msgid "warning: this message is not used"
 msgstr "ĵ§i¡G³o­Ó°T®§¨S¦³³Q¥Î¨ì"
 
-#: src/msgcmp.c:337 src/po-lex.c:99
+#: src/msgcmp.c:339 src/po-lex.c:705
 #, c-format
 msgid "found %d fatal error"
 msgid_plural "found %d fatal errors"
 msgstr[0] "§ä¨ì¤F %d ­Ó­«¤jªº¿ù»~"
 
-#: src/msgcmp.c:418 src/msgfmt.c:703 src/read-po.c:184 src/xgettext.c:1147
+#: src/msgcmp.c:420 src/msgfmt.c:1323 src/read-po.c:202 src/x-po.c:163
 msgid "duplicate message definition"
 msgstr "­«½Æªº°T®§©w¸q"
 
-#: src/msgcmp.c:419 src/msgfmt.c:705 src/read-po.c:185 src/xgettext.c:1148
+#: src/msgcmp.c:421 src/msgfmt.c:1324 src/read-po.c:203 src/x-po.c:164
 msgid "...this is the location of the first definition"
 msgstr "... ³o¬O²Ä¤@¦¸©w¸qªº¦ì¸m"
 
-#: src/msgcomm.c:267
+#: src/msgcomm.c:266
 msgid "at least two files must be specified"
 msgstr "¥²¶·«ê¦n«ü©w¨â­ÓÀÉ®×"
 
-#: src/msgcomm.c:322
+#: src/msgcomm.c:316
 #, fuzzy, no-wrap
 msgid ""
 "Find messages which are common to two or more of the specified PO files.\n"
@@ -526,7 +716,35 @@ msgstr ""
 "PO file to define them.  File positions from all PO files will be\n"
 "preserved.\n"
 
-#: src/msgcomm.c:368
+#: src/msgcomm.c:350
+#, fuzzy, no-wrap
+msgid ""
+"Message selection:\n"
+"  -<, --less-than=NUMBER         print messages with less than this many\n"
+"                                 definitions, defaults to infinite if not\n"
+"                                 set\n"
+"  ->, --more-than=NUMBER         print messages with more than this many\n"
+"                                 definitions, defaults to 1 if not set\n"
+"  -u, --unique                   shorthand for --less-than=2, requests\n"
+"                                 that only unique messages be printed\n"
+msgstr ""
+"  -V, --version                  Åã¥ÜÃö©óª©¥»ªº¸ê°T \n"
+"  -w, --width=NUMBER             ³]©w¿é¥X­¶¼e\n"
+"  -<, --less-than=NUMBER         Åã¥Ü©w¸q¼Æ¥Ø¤p©ó NUMBER ªº°T®§\n"
+"                                 ¤º©w­È¬°µL­­¤j \n"
+"  ->, --more-than=NUMBER         Åã¥Ü©w¸q¼Æ¥Ø¤p©ó NUMBER ªº°T®§\n"
+"                                 ¤º©w­È¬°µL­­¤j \n"
+"\n"
+"Find messages which are common to two or more of the specified PO files.\n"
+"By using the --more-than option, greater commonality may be requested\n"
+"before messages are printed.  Conversely, the --less-than option may be\n"
+"used to specify less commonality before messages are printed (i.e.\n"
+"--less-than=2 will only print the unique messages).  Translations,\n"
+"comments and extract comments will be preserved, but only from the first\n"
+"PO file to define them.  File positions from all PO files will be\n"
+"preserved.\n"
+
+#: src/msgcomm.c:362
 #, fuzzy, no-wrap
 msgid ""
 "Output details:\n"
@@ -538,7 +756,7 @@ msgid ""
 "  -n, --add-location             generate '#: filename:line' lines (default)\n"
 "      --strict                   write out strict Uniforum conforming .po file\n"
 "  -w, --width=NUMBER             set output page width\n"
-"  -s, --sort-output              generate sorted output and remove duplicates\n"
+"  -s, --sort-output              generate sorted output\n"
 "  -F, --sort-by-file             sort output by file location\n"
 "      --omit-header              don't write header with `msgid \"\"' entry\n"
 msgstr ""
@@ -559,44 +777,12 @@ msgstr ""
 "  -V, --version               Åã¥ÜÃö©óª©¥»ªº¸ê°T\n"
 "  -w, --width=NUMBER          ³]©w¿é¥X­¶¼e\n"
 
-#: src/msgcomm.c:510 src/xgettext.c:676 src/xgettext.c:1093
-msgid "this file may not contain domain directives"
-msgstr "³o­ÓÀɮפ£¯à§t¦³»â°ì«ü¥O"
+#: src/msgconv.c:251
+#, no-wrap
+msgid "Converts a translation catalog to a different character encoding.\n"
+msgstr ""
 
-#: src/msgconv.c:200 src/msggrep.c:296 src/msgsed.c:262
-msgid "at most one input file allowed"
-msgstr ""
-
-#: src/msgconv.c:239 src/msggrep.c:371 src/msgsed.c:318
-#, c-format, no-wrap
-msgid "Usage: %s [OPTION] [INPUTFILE]\n"
-msgstr ""
-
-#: src/msgconv.c:244
-#, no-wrap
-msgid "Converts a translation catalog to a different character encoding.\n"
-msgstr ""
-
-#: src/msgconv.c:254 src/msggrep.c:387 src/msgsed.c:333
-#, no-wrap
-msgid ""
-"Input file location:\n"
-"  INPUTFILE                   input PO file\n"
-"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
-"If no input file is given or if it is -, standard input is read.\n"
-msgstr ""
-
-#: src/msgconv.c:262 src/msgen.c:250 src/msggrep.c:395 src/msgmerge.c:311
-#: src/msgsed.c:341
-#, no-wrap
-msgid ""
-"Output file location:\n"
-"  -o, --output-file=FILE      write output to specified file\n"
-"The results are written to standard output if no output file is specified\n"
-"or if it is -.\n"
-msgstr ""
-
-#: src/msgconv.c:270
+#: src/msgconv.c:277
 #, no-wrap
 msgid ""
 "Conversion target:\n"
@@ -604,7 +790,7 @@ msgid ""
 "The default encoding is the current locale's encoding.\n"
 msgstr ""
 
-#: src/msgconv.c:277 src/msgen.c:258 src/msgmerge.c:325
+#: src/msgconv.c:284 src/msgen.c:266 src/msgmerge.c:442
 #, fuzzy, no-wrap
 msgid ""
 "Output details:\n"
@@ -616,7 +802,7 @@ msgid ""
 "      --add-location          preserve '#: filename:line' lines (default)\n"
 "      --strict                strict Uniforum output style\n"
 "  -w, --width=NUMBER          set output page width\n"
-"  -s, --sort-output           generate sorted output and remove duplicates\n"
+"  -s, --sort-output           generate sorted output\n"
 "  -F, --sort-by-file          sort output by file location\n"
 msgstr ""
 "Usage: %s [OPTION] def.po ref.po\n"
@@ -636,21 +822,21 @@ msgstr ""
 "  -V, --version               Åã¥ÜÃö©óª©¥»ªº¸ê°T\n"
 "  -w, --width=NUMBER          ³]©w¿é¥X­¶¼e\n"
 
-#: src/msgen.c:184 src/msgfmt.c:288 src/xgettext.c:402
+#: src/msgen.c:187 src/msgfmt.c:349 src/xgettext.c:388
 msgid "no input file given"
 msgstr "¥¼µ¹»P©Ò­n³B²zªºÀÉ®×"
 
-#: src/msgen.c:189
+#: src/msgen.c:192
 #, fuzzy
 msgid "exactly one input file required"
 msgstr "¦¹¥\¯à»Ý­n«ê¦n«ü©w¨â­Ó¿é¤JÀÉ"
 
-#: src/msgen.c:224
+#: src/msgen.c:232
 #, c-format, no-wrap
 msgid "Usage: %s [OPTION] INPUTFILE\n"
 msgstr ""
 
-#: src/msgen.c:229
+#: src/msgen.c:237
 #, no-wrap
 msgid ""
 "Creates an English translation catalog.  The input file is the last\n"
@@ -659,7 +845,7 @@ msgid ""
 "identical to the msgid, and are marked fuzzy.\n"
 msgstr ""
 
-#: src/msgen.c:242
+#: src/msgen.c:250
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -668,40 +854,154 @@ msgid ""
 "If input file is -, standard input is read.\n"
 msgstr ""
 
-#: src/msgfmt.c:339
+#: src/msgexec.c:255
+#, fuzzy
+msgid "missing filter name"
+msgstr "¨S¦³°Ñ¼Æ"
+
+#: src/msgexec.c:279
+#, fuzzy
+msgid "at least one sed script must be specified"
+msgstr "¥²¶·«ê¦n«ü©w¨â­ÓÀÉ®×"
+
+#: src/msgexec.c:343
+#, c-format, no-wrap
+msgid "Usage: %s [OPTION] FILTER [FILTER-OPTION]\n"
+msgstr ""
+
+#: src/msgexec.c:348
+#, no-wrap
+msgid "Applies a filter to all translations of a translation catalog.\n"
+msgstr ""
+
+#: src/msgexec.c:358
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  -i, --input=INPUTFILE       input PO file\n"
+"  -D, --directory=DIRECTORY   add DIRECTORY to list for input files search\n"
+"If no input file is given or if it is -, standard input is read.\n"
+msgstr ""
+
+#: src/msgexec.c:374
+#, no-wrap
+msgid ""
+"The FILTER can be any program that reads a translation from standard input\n"
+"and writes a modified translation to standard output.\n"
+msgstr ""
+
+#: src/msgexec.c:380
+#, no-wrap
+msgid ""
+"Useful FILTER-OPTIONs when the FILTER is 'sed':\n"
+"  -e, --expression=SCRIPT     add SCRIPT to the commands to be executed\n"
+"  -f, --file=SCRIPTFILE       add the contents of SCRIPTFILE to the commands\n"
+"                                to be executed\n"
+"  -n, --quiet, --silent       suppress automatic printing of pattern space\n"
+msgstr ""
+
+#: src/msgexec.c:389
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
+"      --no-escape             do not use C escapes in output (default)\n"
+"  -E, --escape                use C escapes in output, no extended chars\n"
+"      --force-po              write PO file even if empty\n"
+"      --indent                indented output style\n"
+"      --no-location           suppress '#: filename:line' lines\n"
+"      --add-location          preserve '#: filename:line' lines (default)\n"
+"      --strict                strict Uniforum output style\n"
+"  -w, --width=NUMBER          set output page width\n"
+"  -s, --sort-output           generate sorted output\n"
+"  -F, --sort-by-file          sort output by file location\n"
+msgstr ""
+"Usage: %s [OPTION] def.po ref.po\n"
+" (µu¿ï¶µ¥Îªº°Ñ¼Æ©Mªø¿ï¶µ¥Îªº¬O¤@¼Ëªº) \n"
+"  -C, --compendium=FILE       ¼W¥[°T®§Â½Ä¶ªºÀÉ®×®w, ¥i¥H«ü©w¤@­Ó¥H¤W\n"
+"  -D, --directory=DIRECTORY   ¦b¿é¤JÀɮתº·j´M¥Ø¿ý¦W³æ¤¤, ¼W¥[ DIRECTORY \n"
+"  -e, --no-escape             ¿é¥Xªºµ²ªG¤£¨Ï¥Î C ·¸¥X¦r¤¸ (¹w³])¡C \n"
+"  -E, --escape                ¿é¥Xµ²ªG¥Î C ·¸¥X¦r¤¸¡A¤£ª½±µ¿é¥X©µ¦ù¦r¤¸¡C\n"
+"      --force-po              §Y¨Ï¤º®e¬OªÅªº, ¤´±j­¢¼g¤J PO ÀÉ \n"
+"  -h, --help                  Åã¥Ü³o¬q»¡©ú°T®§¡C \n"
+"  -i, --indent                ¹ï¿é¥Xµ²ªG°µÁY±Æ³B²z¡C \n"
+"  -o, --output-file=FILE      §â¿é¥Xªºµ²ªG¼g¤J FILE ³o­ÓÀɮסC \n"
+"      --no-location           Ãö³¬ '#: filename:line' \n"
+"      --add-location          «O¯d '#: filename:line' (¹w³])\n"
+"      --strict                ¨Ï¥ÎÄY®æ²Î¤@¼Ð·Çªº¿é¥Xµ²ªG¡C\n"
+"  -v, --verbose               ¼W¥[Åã¥Ü¤¾ªø°T®§\n"
+"  -V, --version               Åã¥ÜÃö©óª©¥»ªº¸ê°T\n"
+"  -w, --width=NUMBER          ³]©w¿é¥X­¶¼e\n"
+
+#: src/msgexec.c:546
+#, c-format
+msgid "cannot set up nonblocking I/O to %s subprocess"
+msgstr ""
+
+#: src/msgexec.c:574
 #, c-format
-msgid "error while opening \"%s\" for writing"
-msgstr "·í¶}±Ò \"%s\" ³o­ÓÀɮסA·Ç³Æ¼g¤Jªº®É­Ôµo¥Í¿ù»~"
+msgid "communication with %s subprocess failed"
+msgstr ""
+
+#: src/msgexec.c:594
+#, c-format
+msgid "write to %s subprocess failed"
+msgstr ""
+
+#: src/msgexec.c:625
+#, c-format
+msgid "read from %s subprocess failed"
+msgstr ""
+
+#: src/msgexec.c:641
+#, c-format
+msgid "%s subprocess terminated with exit code %d"
+msgstr ""
+
+#: src/msgfmt.c:303
+#, c-format
+msgid "the argument to %s should be a single punctuation character"
+msgstr ""
+
+#: src/msgfmt.c:364
+#, c-format
+msgid "%s requires a \"-d directory\" specification"
+msgstr ""
+
+#: src/msgfmt.c:373 src/msgfmt.c:379 src/msgfmt.c:385 src/msgmerge.c:290
+#: src/msgmerge.c:296 src/msgunfmt.c:209 src/msgunfmt.c:215
+#, c-format
+msgid "%s is only valid with %s"
+msgstr ""
 
-#: src/msgfmt.c:357
+#: src/msgfmt.c:452
 #, c-format
 msgid "%d translated message"
 msgid_plural "%d translated messages"
 msgstr[0] "%d ¤w½Ķªº°T®§ "
 
-#: src/msgfmt.c:362
+#: src/msgfmt.c:457
 #, c-format
 msgid ", %d fuzzy translation"
 msgid_plural ", %d fuzzy translations"
 msgstr[0] ", %d ­Ó¼Ò½k½Ķ"
 
-#: src/msgfmt.c:367
+#: src/msgfmt.c:462
 #, c-format
 msgid ", %d untranslated message"
 msgid_plural ", %d untranslated messages"
 msgstr[0] ", %d ­Ó¥¼Ä¶ªº°T®§ "
 
-#: src/msgfmt.c:389
+#: src/msgfmt.c:484
 #, c-format, no-wrap
 msgid "Usage: %s [OPTION] filename.po ...\n"
 msgstr ""
 
-#: src/msgfmt.c:394
+#: src/msgfmt.c:489
 #, no-wrap
 msgid "Generate binary message catalog from textual translation description.\n"
 msgstr ""
 
-#: src/msgfmt.c:404
+#: src/msgfmt.c:499
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -710,7 +1010,15 @@ msgid ""
 "If input file is -, standard input is read.\n"
 msgstr ""
 
-#: src/msgfmt.c:412
+#: src/msgfmt.c:507
+#, no-wrap
+msgid ""
+"Operation mode:\n"
+"  -j, --java                  Java mode: generate a Java ResourceBundle class\n"
+"      --java2                 like --java, and assume Java2 (JDK 1.2 or higher)\n"
+msgstr ""
+
+#: src/msgfmt.c:514
 #, no-wrap
 msgid ""
 "Output file location:\n"
@@ -719,15 +1027,35 @@ msgid ""
 "If output file is -, output is written to standard output.\n"
 msgstr ""
 
-#: src/msgfmt.c:420
+#: src/msgfmt.c:522
+#, no-wrap
+msgid ""
+"Output file location in Java mode:\n"
+"  -r, --resource=RESOURCE     resource name\n"
+"  -l, --locale=LOCALE         locale name, either language or language_COUNTRY\n"
+"  -d DIRECTORY                base directory of classes directory hierarchy\n"
+"The class name is determined by appending the locale name to the resource name,\n"
+"separated with an underscore.  The -d option is mandatory.  The class is\n"
+"written under the specified directory.\n"
+msgstr ""
+
+#: src/msgfmt.c:533
 #, no-wrap
 msgid ""
 "Input file interpretation:\n"
-"  -c, --check                 perform language dependent checks on strings\n"
+"  -c, --check                 perform all the checks implied by\n"
+"                                --check-format, --check-header, --check-domain\n"
+"      --check-format          check language dependent format strings\n"
+"      --check-header          verify presence and contents of the header entry\n"
+"      --check-domain          check for conflicts between domain directives\n"
+"                                and the --output-file option\n"
+"  -C, --check-compatibility   check that GNU msgfmt behaves like X/Open msgfmt\n"
+"      --check-accelerators[=CHAR]  check presence of keyboard accelerators for\n"
+"                                menu items\n"
 "  -f, --use-fuzzy             use fuzzy entries in output\n"
 msgstr ""
 
-#: src/msgfmt.c:427
+#: src/msgfmt.c:548
 #, c-format, no-wrap
 msgid ""
 "Output details:\n"
@@ -735,83 +1063,80 @@ msgid ""
 "      --no-hash               binary file will not include the hash table\n"
 msgstr ""
 
-#: src/msgfmt.c:434
+#: src/msgfmt.c:555
 #, no-wrap
 msgid ""
 "Informative output:\n"
 "  -h, --help                  display this help and exit\n"
 "  -V, --version               output version information and exit\n"
 "      --statistics            print statistics about translations\n"
-"  -v, --verbose               list input file anomalies\n"
-"Giving the -v option more than once increases the verbosity level.\n"
+"  -v, --verbose               increase verbosity level\n"
 msgstr ""
 
-#: src/msgfmt.c:466
-msgid "while creating hash table"
-msgstr "¥¿¦b«Ø¥ßÂø´êªí®É"
+#: src/msgfmt.c:707
+msgid "plural expression can produce negative values"
+msgstr ""
 
-#: src/msgfmt.c:504
-#, fuzzy
-msgid "warning: PO file header missing, fuzzy, or invalid\n"
+#: src/msgfmt.c:720
+#, c-format
+msgid "nplurals = %lu but plural expression can produce values as large as %lu"
 msgstr ""
-"%s: Äµ§i: PO ÀɼÐÀY¯Ê¥¢, ©Î¬O«Dªkªº, ©Î¬O¼Ò½kªº\n"
-"%*s  Äµ§i: ¦r¤¸¶°(charset)Âà´«±N¤£¹B§@"
 
-#: src/msgfmt.c:507
-#, fuzzy
-msgid "warning: charset conversion will not work\n"
+#: src/msgfmt.c:746
+msgid "plural expression can produce division by zero"
 msgstr ""
-"ÀÉÀY§ä¤£¨ì¦r¤¸¶°.\n"
-"Âà´«°T®§¦Ü¨Ï¥ÎªÌ¦r¤¸¶°ªº¥\¯à±N¤£·|¹B§@\n"
 
-#: src/msgfmt.c:531
-#, c-format
-msgid "domain name \"%s\" not suitable as file name"
-msgstr "»â°ì¦WºÙ \"%s\" ¤£¾A¦X°µ¬°ÀɮצWºÙ"
+#: src/msgfmt.c:751
+msgid "plural expression can produce integer overflow"
+msgstr ""
 
-#: src/msgfmt.c:536
-#, c-format
-msgid "domain name \"%s\" not suitable as file name: will use prefix"
-msgstr "»â°ì¦WºÙ \"%s\" ¤£¾A¦X°µ¬°ÀɮצWºÙ¡G±N¨Ï¥Î¦r­º"
+#: src/msgfmt.c:756
+msgid ""
+"plural expression can produce arithmetic exceptions, possibly division by "
+"zero"
+msgstr ""
 
-#. We don't change the exit status here because this is really
-#. only an information.
-#: src/msgfmt.c:549
-#, c-format
-msgid "`domain %s' directive ignored"
-msgstr "©¿²¤ `domain %s' «ü¥O"
+#: src/msgfmt.c:830 src/msgfmt.c:841
+msgid "message catalog has plural form translations..."
+msgstr ""
 
-#: src/msgfmt.c:585
-msgid "empty `msgstr' entry ignored"
-msgstr "©¿²¤ªÅªº `msgstr' Äæ¦ì"
+#: src/msgfmt.c:833
+msgid "...but header entry lacks a \"plural=EXPRESSION\" attribute"
+msgstr ""
 
-#: src/msgfmt.c:586
-msgid "fuzzy `msgstr' entry ignored"
-msgstr "©¿²¤¼Ò½k½Ķªº `msgstr' Äæ¦ì"
+#: src/msgfmt.c:844
+msgid "...but header entry lacks a \"nplurals=INTEGER\" attribute"
+msgstr ""
 
-#: src/msgfmt.c:629
-#, c-format
-msgid "headerfield `%s' missing in header"
-msgstr "¯Ê¤Ö¼ÐÀYÄæ¦ì `%s'"
+#: src/msgfmt.c:868
+#, fuzzy
+msgid "invalid nplurals value"
+msgstr "¤£¦Xªkªº±±¨î§Ç¦C"
 
-#: src/msgfmt.c:632
-#, c-format
-msgid "header field `%s' should start at beginning of line"
-msgstr "¼ÐÀYÄæ¦ì `%s' À³¸Ó¦ì©ó¦æ­º"
+#: src/msgfmt.c:881
+msgid "invalid plural expression"
+msgstr ""
 
-#: src/msgfmt.c:642
-msgid "some header fields still have the initial default value"
-msgstr "¤@¨Ç¼ÐÀYÄæ¦ì¤´µM¬O¤º©w­È"
+#: src/msgfmt.c:899 src/msgfmt.c:912
+#, c-format
+msgid "nplurals = %lu..."
+msgstr ""
 
-#: src/msgfmt.c:653
+#: src/msgfmt.c:902
 #, c-format
-msgid "field `%s' still has initial default value"
-msgstr "¼ÐÀYÄæ¦ì `%s' ¤´µM¬O¤º©w­È"
+msgid "...but some messages have only %lu plural forms"
+msgstr ""
 
-#: src/msgfmt.c:745
+#: src/msgfmt.c:915
 #, c-format
-msgid "%s: warning: source file contains fuzzy translation"
-msgstr "%s: Äµ§i: ­ì©lÀÉ¥]§t¼Ò½k½Ķ"
+msgid "...but some messages have %lu plural forms"
+msgstr ""
+
+#: src/msgfmt.c:930
+msgid ""
+"message catalog has plural form translations, but lacks a header entry with "
+"\"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\""
+msgstr ""
 
 #: src/msgfmt.c:968
 msgid "`msgid' and `msgid_plural' entries do not both begin with '\\n'"
@@ -839,28 +1164,110 @@ msgstr "`msgid' 
 msgid "`msgid' and `msgstr' entries do not both end with '\\n'"
 msgstr "`msgid' ©M `msgstr' Äæ¦ì¨Ã¥¼¦P®É¥H '\\n' µ²§ô"
 
-#: src/msgfmt.c:1047
-msgid "number of format specifications in `msgid' and `msgstr' does not match"
-msgstr "¦b `msgid' ©M `msgstr' Äæ¦ì¸Ì«ü©wªº®æ¦¡¸¹½X¨Ã¤£²Å¦X"
+#: src/msgfmt.c:1041
+msgid "plural handling is a GNU gettext extension"
+msgstr ""
 
-#: src/msgfmt.c:1066
+#: src/msgfmt.c:1088
 #, c-format
-msgid "format specifications for argument %lu are not the same"
-msgstr "²Ä %lu ­Ó°Ñ¼Æ«ü©wªº®æ¦¡¨Ã¤£¬Û¦P"
+msgid "'msgstr' is not a valid %s format string, unlike 'msgid'"
+msgstr ""
+
+#: src/msgfmt.c:1122
+#, c-format
+msgid "msgstr lacks the keyboard accelerator mark '%c'"
+msgstr ""
+
+#: src/msgfmt.c:1130
+#, c-format
+msgid "msgstr has too many keyboard accelerator marks '%c'"
+msgstr ""
+
+#: src/msgfmt.c:1164
+#, c-format
+msgid "headerfield `%s' missing in header"
+msgstr "¯Ê¤Ö¼ÐÀYÄæ¦ì `%s'"
+
+#: src/msgfmt.c:1167
+#, c-format
+msgid "header field `%s' should start at beginning of line"
+msgstr "¼ÐÀYÄæ¦ì `%s' À³¸Ó¦ì©ó¦æ­º"
+
+#: src/msgfmt.c:1176
+msgid "some header fields still have the initial default value"
+msgstr "¤@¨Ç¼ÐÀYÄæ¦ì¤´µM¬O¤º©w­È"
+
+#: src/msgfmt.c:1187
+#, c-format
+msgid "field `%s' still has initial default value"
+msgstr "¼ÐÀYÄæ¦ì `%s' ¤´µM¬O¤º©w­È"
+
+#: src/msgfmt.c:1228
+#, fuzzy
+msgid "warning: PO file header missing or invalid\n"
+msgstr ""
+"%s: Äµ§i: PO ÀɼÐÀY¯Ê¥¢, ©Î¬O«Dªkªº, ©Î¬O¼Ò½kªº\n"
+"%*s  Äµ§i: ¦r¤¸¶°(charset)Âà´«±N¤£¹B§@"
+
+#: src/msgfmt.c:1231
+#, fuzzy
+msgid "warning: charset conversion will not work\n"
+msgstr ""
+"ÀÉÀY§ä¤£¨ì¦r¤¸¶°.\n"
+"Âà´«°T®§¦Ü¨Ï¥ÎªÌ¦r¤¸¶°ªº¥\¯à±N¤£·|¹B§@\n"
+
+#: src/msgfmt.c:1241
+#, fuzzy
+msgid "warning: PO file header fuzzy\n"
+msgstr ""
+"%s: Äµ§i: PO ÀɼÐÀY¯Ê¥¢, ©Î¬O«Dªkªº, ©Î¬O¼Ò½kªº\n"
+"%*s  Äµ§i: ¦r¤¸¶°(charset)Âà´«±N¤£¹B§@"
+
+#: src/msgfmt.c:1243
+msgid "warning: older versions of msgfmt will give an error on this\n"
+msgstr ""
 
-#: src/msggrep.c:354
+#: src/msgfmt.c:1268
+#, c-format
+msgid "domain name \"%s\" not suitable as file name"
+msgstr "»â°ì¦WºÙ \"%s\" ¤£¾A¦X°µ¬°ÀɮצWºÙ"
+
+#: src/msgfmt.c:1273
+#, c-format
+msgid "domain name \"%s\" not suitable as file name: will use prefix"
+msgstr "»â°ì¦WºÙ \"%s\" ¤£¾A¦X°µ¬°ÀɮצWºÙ¡G±N¨Ï¥Î¦r­º"
+
+#: src/msgfmt.c:1284
+#, c-format
+msgid "`domain %s' directive ignored"
+msgstr "©¿²¤ `domain %s' «ü¥O"
+
+#: src/msgfmt.c:1356
+msgid "empty `msgstr' entry ignored"
+msgstr "©¿²¤ªÅªº `msgstr' Äæ¦ì"
+
+#: src/msgfmt.c:1357
+msgid "fuzzy `msgstr' entry ignored"
+msgstr "©¿²¤¼Ò½k½Ķªº `msgstr' Äæ¦ì"
+
+#: src/msgfmt.c:1426
+#, c-format
+msgid "%s: warning: source file contains fuzzy translation"
+msgstr "%s: Äµ§i: ­ì©lÀÉ¥]§t¼Ò½k½Ķ"
+
+#: src/msggrep.c:359
 #, c-format
 msgid "option '%c' cannot be used before 'K' or 'T' has been specified"
 msgstr ""
 
-#: src/msggrep.c:376
+#: src/msggrep.c:381
 #, no-wrap
 msgid ""
 "Extracts all messages of a translation catalog that match a given pattern\n"
 "or belong to some given source files.\n"
 msgstr ""
 
-#: src/msggrep.c:403
+#: src/msggrep.c:408
 #, no-wrap
 msgid ""
 "Message selection:\n"
@@ -869,8 +1276,15 @@ msgid ""
 "or if it comes from one of the specified domains,\n"
 "or if -K is given and its key (msgid or msgid_plural) matches MSGID-PATTERN,\n"
 "or if -T is given and its translation (msgstr) matches MSGSTR-PATTERN.\n"
+"\n"
+"When more than one selection criterion is specified, the set of selected\n"
+"messages is the union of the selected messages of each criterion.\n"
+"\n"
+"MSGID-PATTERN or MSGSTR-PATTERN syntax:\n"
+"  [-E | -F] [-e PATTERN | -f FILE]...\n"
 "PATTERNs are basic regular expressions by default, or extended regular\n"
 "expressions if -E is given, or fixed strings if -F is given.\n"
+"\n"
 "  -N, --location=SOURCEFILE   select messages extracted from SOURCEFILE\n"
 "  -M, --domain=DOMAINNAME     select messages belonging to domain DOMAINNAME\n"
 "  -K, --msgid                 start of patterns for the msgid\n"
@@ -882,43 +1296,195 @@ msgid ""
 "  -i, --ignore-case           ignore case distinctions\n"
 msgstr ""
 
-#: src/msggrep.c:424
-#, fuzzy, no-wrap
+#: src/msggrep.c:436
+#, fuzzy, no-wrap
+msgid ""
+"Output details:\n"
+"      --no-escape             do not use C escapes in output (default)\n"
+"      --escape                use C escapes in output, no extended chars\n"
+"      --force-po              write PO file even if empty\n"
+"      --indent                indented output style\n"
+"      --no-location           suppress '#: filename:line' lines\n"
+"      --add-location          preserve '#: filename:line' lines (default)\n"
+"      --strict                strict Uniforum output style\n"
+"  -w, --width=NUMBER          set output page width\n"
+"      --sort-output           generate sorted output\n"
+"      --sort-by-file          sort output by file location\n"
+msgstr ""
+"Usage: %s [OPTION] def.po ref.po\n"
+" (µu¿ï¶µ¥Îªº°Ñ¼Æ©Mªø¿ï¶µ¥Îªº¬O¤@¼Ëªº) \n"
+"  -C, --compendium=FILE       ¼W¥[°T®§Â½Ä¶ªºÀÉ®×®w, ¥i¥H«ü©w¤@­Ó¥H¤W\n"
+"  -D, --directory=DIRECTORY   ¦b¿é¤JÀɮתº·j´M¥Ø¿ý¦W³æ¤¤, ¼W¥[ DIRECTORY \n"
+"  -e, --no-escape             ¿é¥Xªºµ²ªG¤£¨Ï¥Î C ·¸¥X¦r¤¸ (¹w³])¡C \n"
+"  -E, --escape                ¿é¥Xµ²ªG¥Î C ·¸¥X¦r¤¸¡A¤£ª½±µ¿é¥X©µ¦ù¦r¤¸¡C\n"
+"      --force-po              §Y¨Ï¤º®e¬OªÅªº, ¤´±j­¢¼g¤J PO ÀÉ \n"
+"  -h, --help                  Åã¥Ü³o¬q»¡©ú°T®§¡C \n"
+"  -i, --indent                ¹ï¿é¥Xµ²ªG°µÁY±Æ³B²z¡C \n"
+"  -o, --output-file=FILE      §â¿é¥Xªºµ²ªG¼g¤J FILE ³o­ÓÀɮסC \n"
+"      --no-location           Ãö³¬ '#: filename:line' \n"
+"      --add-location          «O¯d '#: filename:line' (¹w³])\n"
+"      --strict                ¨Ï¥ÎÄY®æ²Î¤@¼Ð·Çªº¿é¥Xµ²ªG¡C\n"
+"  -v, --verbose               ¼W¥[Åã¥Ü¤¾ªø°T®§\n"
+"  -V, --version               Åã¥ÜÃö©óª©¥»ªº¸ê°T\n"
+"  -w, --width=NUMBER          ³]©w¿é¥X­¶¼e\n"
+
+#: src/msggrep.c:510
+msgid "write to grep subprocess failed"
+msgstr ""
+
+#: src/msginit.c:275
+msgid ""
+"You are in a language indifferent environment.  Please set\n"
+"your LANG environment variable, as described in the ABOUT-NLS\n"
+"file.  This is necessary so you can test your translations.\n"
+msgstr ""
+
+#: src/msginit.c:303
+#, c-format
+msgid ""
+"Output file %s already exists.\n"
+"Please specify the locale through the --locale option or\n"
+"the output .po file through the --output-file option.\n"
+msgstr ""
+
+#: src/msginit.c:326
+#, c-format
+msgid "Created %s.\n"
+msgstr ""
+
+#: src/msginit.c:348
+#, no-wrap
+msgid ""
+"Creates a new PO file, initializing the meta information with values from the\n"
+"user's environment.\n"
+msgstr ""
+
+#: src/msginit.c:359
+#, no-wrap
+msgid ""
+"Input file location:\n"
+"  -i, --input=INPUTFILE       input POT file\n"
+"If no input file is given, the current directory is searched for the POT file.\n"
+"If it is -, standard input is read.\n"
+msgstr ""
+
+#: src/msginit.c:367
+#, no-wrap
+msgid ""
+"Output file location:\n"
+"  -o, --output-file=FILE      write output to specified PO file\n"
+"If no output file is given, it depends on the --locale option or the user's\n"
+"locale setting.  If it is -, the results are written to standard output.\n"
+msgstr ""
+
+#: src/msginit.c:375
+#, no-wrap
+msgid ""
+"Output details:\n"
+"  -l, --locale=LL_CC          set target locale\n"
+"      --no-translator         assume the PO file is automatically generated\n"
+"  -w, --width=NUMBER          set output page width\n"
+msgstr ""
+
+#: src/msginit.c:426
+msgid ""
+"Found more than one .pot file.\n"
+"Please specify the input .pot file through the --input option.\n"
+msgstr ""
+
+#: src/msginit.c:434 src/msginit.c:439
+msgid "error reading current directory"
+msgstr ""
+
+#: src/msginit.c:447
+msgid ""
+"Found no .pot file in the current directory.\n"
+"Please specify the input .pot file through the --input option.\n"
+msgstr ""
+
+#: src/msginit.c:887 src/msginit.c:932 src/msginit.c:1070 src/msginit.c:1137
+#: src/read-java.c:80
+msgid "fdopen() failed"
+msgstr ""
+
+#: src/msginit.c:892 src/msginit.c:937 src/msginit.c:1075
+#, c-format
+msgid "%s subprocess I/O error"
+msgstr ""
+
+#: src/msginit.c:901 src/msginit.c:946 src/msginit.c:1084 src/msginit.c:1151
+#: src/read-java.c:90
+#, c-format
+msgid "%s subprocess failed with exit code %d"
+msgstr ""
+
+#: src/msginit.c:1060
+msgid ""
+"The new message catalog should contain your email address, so that users "
+"can\n"
+"give you feedback about the translations, and so that maintainers can "
+"contact\n"
+"you in case of unexpected technical problems.\n"
+msgstr ""
+
+#. TRANSLATORS: "English" needs to be replaced by your language.
+#. For example in it.po write "Traduzioni italiani ...",
+#. *not* "Traduzioni inglesi ...".
+#: src/msginit.c:1440
+#, c-format
+msgid "English translations for %s package"
+msgstr ""
+
+#: src/msgl-cat.c:173 src/msgl-charset.c:86 src/msgl-iconv.c:299
+#, c-format
+msgid "present charset \"%s\" is not a portable encoding name"
+msgstr ""
+
+#: src/msgl-cat.c:181 src/msgl-iconv.c:307
+#, c-format
+msgid "two different charsets \"%s\" and \"%s\" in input file"
+msgstr ""
+
+#: src/msgl-cat.c:194
+#, c-format
+msgid ""
+"input file `%s' doesn't contain a header entry with a charset specification"
+msgstr ""
+
+#: src/msgl-cat.c:198
+#, c-format
+msgid ""
+"domain \"%s\" in input file `%s' doesn't contain a header entry with a "
+"charset specification"
+msgstr ""
+
+#: src/msgl-cat.c:359 src/msgl-iconv.c:382
+#, c-format
+msgid "target charset \"%s\" is not a portable encoding name."
+msgstr ""
+
+#: src/msgl-cat.c:409 src/msgl-cat.c:415 src/msgl-charset.c:91
+#: src/msgl-charset.c:126 src/write-po.c:723 src/write-po.c:817
+#, fuzzy
+msgid "warning: "
+msgstr "%s: Äµ§i: "
+
+#: src/msgl-cat.c:410
 msgid ""
-"Output details:\n"
-"      --no-escape             do not use C escapes in output (default)\n"
-"      --escape                use C escapes in output, no extended chars\n"
-"      --force-po              write PO file even if empty\n"
-"      --indent                indented output style\n"
-"      --no-location           suppress '#: filename:line' lines\n"
-"      --add-location          preserve '#: filename:line' lines (default)\n"
-"      --strict                strict Uniforum output style\n"
-"  -w, --width=NUMBER          set output page width\n"
-"      --sort-output           generate sorted output and remove duplicates\n"
-"      --sort-by-file          sort output by file location\n"
+"Input files contain messages in different encodings, UTF-8 among others.\n"
+"Converting the output to UTF-8.\n"
 msgstr ""
-"Usage: %s [OPTION] def.po ref.po\n"
-" (µu¿ï¶µ¥Îªº°Ñ¼Æ©Mªø¿ï¶µ¥Îªº¬O¤@¼Ëªº) \n"
-"  -C, --compendium=FILE       ¼W¥[°T®§Â½Ä¶ªºÀÉ®×®w, ¥i¥H«ü©w¤@­Ó¥H¤W\n"
-"  -D, --directory=DIRECTORY   ¦b¿é¤JÀɮתº·j´M¥Ø¿ý¦W³æ¤¤, ¼W¥[ DIRECTORY \n"
-"  -e, --no-escape             ¿é¥Xªºµ²ªG¤£¨Ï¥Î C ·¸¥X¦r¤¸ (¹w³])¡C \n"
-"  -E, --escape                ¿é¥Xµ²ªG¥Î C ·¸¥X¦r¤¸¡A¤£ª½±µ¿é¥X©µ¦ù¦r¤¸¡C\n"
-"      --force-po              §Y¨Ï¤º®e¬OªÅªº, ¤´±j­¢¼g¤J PO ÀÉ \n"
-"  -h, --help                  Åã¥Ü³o¬q»¡©ú°T®§¡C \n"
-"  -i, --indent                ¹ï¿é¥Xµ²ªG°µÁY±Æ³B²z¡C \n"
-"  -o, --output-file=FILE      §â¿é¥Xªºµ²ªG¼g¤J FILE ³o­ÓÀɮסC \n"
-"      --no-location           Ãö³¬ '#: filename:line' \n"
-"      --add-location          «O¯d '#: filename:line' (¹w³])\n"
-"      --strict                ¨Ï¥ÎÄY®æ²Î¤@¼Ð·Çªº¿é¥Xµ²ªG¡C\n"
-"  -v, --verbose               ¼W¥[Åã¥Ü¤¾ªø°T®§\n"
-"  -V, --version               Åã¥ÜÃö©óª©¥»ªº¸ê°T\n"
-"  -w, --width=NUMBER          ³]©w¿é¥X­¶¼e\n"
 
-#: src/msggrep.c:498
-msgid "write to grep subprocess failed"
+#: src/msgl-cat.c:416
+#, c-format
+msgid ""
+"Input files contain messages in different encodings, %s and %s among "
+"others.\n"
+"Converting the output to UTF-8.\n"
+"To select a different output encoding, use the --to-code option.\n"
 msgstr ""
 
-#: src/msgl-charset.c:88
+#: src/msgl-charset.c:92
 #, c-format
 msgid ""
 "Locale charset \"%s\" is different from\n"
@@ -927,12 +1493,12 @@ msgid ""
 "Possible workarounds are:\n"
 msgstr ""
 
-#: src/msgl-charset.c:95
+#: src/msgl-charset.c:99
 #, c-format
 msgid "- Set LC_ALL to a locale with encoding %s.\n"
 msgstr ""
 
-#: src/msgl-charset.c:100
+#: src/msgl-charset.c:104
 #, c-format
 msgid ""
 "- Convert the translation catalog to %s using 'msgconv',\n"
@@ -940,7 +1506,7 @@ msgid ""
 "  then convert back to %s using 'msgconv'.\n"
 msgstr ""
 
-#: src/msgl-charset.c:109
+#: src/msgl-charset.c:113
 #, c-format
 msgid ""
 "- Set LC_ALL to a locale with encoding %s,\n"
@@ -949,7 +1515,7 @@ msgid ""
 "  then convert back to %s using 'msgconv'.\n"
 msgstr ""
 
-#: src/msgl-charset.c:123
+#: src/msgl-charset.c:127
 #, c-format
 msgid ""
 "Locale charset \"%s\" is not a portable encoding name.\n"
@@ -957,15 +1523,15 @@ msgid ""
 "A possible workaround is to set LC_ALL=C.\n"
 msgstr ""
 
-#: src/msgl-iconv.c:192 src/msgl-iconv.c:246
+#: src/msgl-iconv.c:200 src/msgl-iconv.c:254
 msgid "conversion failure"
 msgstr ""
 
-#: src/msgl-iconv.c:317
+#: src/msgl-iconv.c:328
 msgid "input file doesn't contain a header entry with a charset specification"
 msgstr ""
 
-#: src/msgl-iconv.c:334
+#: src/msgl-iconv.c:346
 #, fuzzy, c-format
 msgid ""
 "Cannot convert from \"%s\" to \"%s\". %s relies on iconv(), and iconv() does "
@@ -974,7 +1540,7 @@ msgstr ""
 "¤£¤ä´©¦r¤¸¶° \"%s\" %s ¨Ì¿à iconv() \n"
 "¦Ó iconv() ¥Ø«e¤£¤ä´© \"%s\"\n"
 
-#: src/msgl-iconv.c:350
+#: src/msgl-iconv.c:362
 #, fuzzy, c-format
 msgid ""
 "Cannot convert from \"%s\" to \"%s\". %s relies on iconv(). This version was "
@@ -983,7 +1549,11 @@ msgstr ""
 "¤£¤ä´©¦r¤¸¶° \"%s\" \n"
 "%s ¨Ì¿à iconv(), ¦Ó¦¹ª©¥»¨S¦³¤º«Ø iconv().\n"
 
-#: src/msgmerge.c:283
+#: src/msgmerge.c:340
+msgid "backup type"
+msgstr ""
+
+#: src/msgmerge.c:377
 #, fuzzy, no-wrap
 msgid ""
 "Merges two Uniforum style .po files together.  The def.po file is an\n"
@@ -1007,7 +1577,7 @@ msgstr ""
 "¦¡·|¥Î¼Ò½kÅ޿誺¤èªk¨Ó±o¨ì¤ñ¸û¦nªºµ²ªG¡C \n"
 "°£«D§A«ü©w¤@­Ó¿é¥XÀɮסA§_«h¦X¨Öªºµ²ªG·|³Q°e¨ì¼Ð·Ç¿é¥X¥h¡C \n"
 
-#: src/msgmerge.c:301
+#: src/msgmerge.c:395
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -1018,7 +1588,32 @@ msgid ""
 "                              may be specified more than once\n"
 msgstr ""
 
-#: src/msgmerge.c:340
+#: src/msgmerge.c:405
+#, no-wrap
+msgid ""
+"Operation mode:\n"
+"  -U, --update                update def.po,\n"
+"                              do nothing if def.po already up to date\n"
+msgstr ""
+
+#: src/msgmerge.c:420
+#, no-wrap
+msgid ""
+"Output file location in update mode:\n"
+"The result is written back to def.po.\n"
+"      --backup=CONTROL        make a backup of def.po\n"
+"      --suffix=SUFFIX         override the usual backup suffix\n"
+"The version control method may be selected via the --backup option or through\n"
+"the VERSION_CONTROL environment variable.  Here are the values:\n"
+"  none, off       never make backups (even if --backup is given)\n"
+"  numbered, t     make numbered backups\n"
+"  existing, nil   numbered if numbered backups exist, simple otherwise\n"
+"  simple, never   always make simple backups\n"
+"The backup suffix is `~', unless set with --suffix or the SIMPLE_BACKUP_SUFFIX\n"
+"environment variable.\n"
+msgstr ""
+
+#: src/msgmerge.c:457
 #, no-wrap
 msgid ""
 "Informative output:\n"
@@ -1028,7 +1623,17 @@ msgid ""
 "  -q, --quiet, --silent       suppress progress indicators\n"
 msgstr ""
 
-#: src/msgmerge.c:578
+#: src/msgmerge.c:625
+#, fuzzy
+msgid "this message should define plural forms"
+msgstr "¦b %s ¸Ì¨Ï¥Î¨ìªº°T®§¨Ã¥¼³Q©w¸q"
+
+#: src/msgmerge.c:648
+#, fuzzy
+msgid "this message should not define plural forms"
+msgstr "¦b %s ¸Ì¨Ï¥Î¨ìªº°T®§¨Ã¥¼³Q©w¸q"
+
+#: src/msgmerge.c:779
 #, c-format
 msgid ""
 "%sRead %ld old + %ld reference, merged %ld, fuzzied %ld, missing %ld, "
@@ -1037,94 +1642,33 @@ msgstr ""
 "%sŪ¤J %ld old + %ld reference, merged %ld, fuzzied %ld, missing %ld, "
 "obsolete %ld.\n"
 
-#: src/msgmerge.c:586
+#: src/msgmerge.c:787
 msgid " done.\n"
 msgstr " §¹¦¨.\n"
 
-#: src/msgsed.c:267
-#, fuzzy
-msgid "at least one sed script must be specified"
-msgstr "¥²¶·«ê¦n«ü©w¨â­ÓÀÉ®×"
-
-#: src/msgsed.c:323
-#, no-wrap
-msgid "Applies a sed script to all translations of a translation catalog.\n"
-msgstr ""
-
-#: src/msgsed.c:349
-#, no-wrap
-msgid ""
-"Sed options:\n"
-"  -e, --expression=SCRIPT     add SCRIPT to the commands to be executed\n"
-"  -f, --file=SCRIPTFILE       add the contents of SCRIPTFILE to the commands\n"
-"                                to be executed\n"
-"  -n, --quiet, --silent       suppress automatic printing of pattern space\n"
-msgstr ""
-
-#: src/msgsed.c:358
-#, fuzzy, no-wrap
-msgid ""
-"Output details:\n"
-"      --no-escape             do not use C escapes in output (default)\n"
-"  -E, --escape                use C escapes in output, no extended chars\n"
-"      --force-po              write PO file even if empty\n"
-"  -i, --indent                indented output style\n"
-"      --no-location           suppress '#: filename:line' lines\n"
-"      --add-location          preserve '#: filename:line' lines (default)\n"
-"      --strict                strict Uniforum output style\n"
-"  -w, --width=NUMBER          set output page width\n"
-"  -s, --sort-output           generate sorted output and remove duplicates\n"
-"  -F, --sort-by-file          sort output by file location\n"
-msgstr ""
-"Usage: %s [OPTION] def.po ref.po\n"
-" (µu¿ï¶µ¥Îªº°Ñ¼Æ©Mªø¿ï¶µ¥Îªº¬O¤@¼Ëªº) \n"
-"  -C, --compendium=FILE       ¼W¥[°T®§Â½Ä¶ªºÀÉ®×®w, ¥i¥H«ü©w¤@­Ó¥H¤W\n"
-"  -D, --directory=DIRECTORY   ¦b¿é¤JÀɮתº·j´M¥Ø¿ý¦W³æ¤¤, ¼W¥[ DIRECTORY \n"
-"  -e, --no-escape             ¿é¥Xªºµ²ªG¤£¨Ï¥Î C ·¸¥X¦r¤¸ (¹w³])¡C \n"
-"  -E, --escape                ¿é¥Xµ²ªG¥Î C ·¸¥X¦r¤¸¡A¤£ª½±µ¿é¥X©µ¦ù¦r¤¸¡C\n"
-"      --force-po              §Y¨Ï¤º®e¬OªÅªº, ¤´±j­¢¼g¤J PO ÀÉ \n"
-"  -h, --help                  Åã¥Ü³o¬q»¡©ú°T®§¡C \n"
-"  -i, --indent                ¹ï¿é¥Xµ²ªG°µÁY±Æ³B²z¡C \n"
-"  -o, --output-file=FILE      §â¿é¥Xªºµ²ªG¼g¤J FILE ³o­ÓÀɮסC \n"
-"      --no-location           Ãö³¬ '#: filename:line' \n"
-"      --add-location          «O¯d '#: filename:line' (¹w³])\n"
-"      --strict                ¨Ï¥ÎÄY®æ²Î¤@¼Ð·Çªº¿é¥Xµ²ªG¡C\n"
-"  -v, --verbose               ¼W¥[Åã¥Ü¤¾ªø°T®§\n"
-"  -V, --version               Åã¥ÜÃö©óª©¥»ªº¸ê°T\n"
-"  -w, --width=NUMBER          ³]©w¿é¥X­¶¼e\n"
-
-#: src/msgsed.c:514
-msgid "cannot set up nonblocking I/O to sed subprocess"
-msgstr ""
-
-#: src/msgsed.c:542
-msgid "communication with sed subprocess failed"
-msgstr ""
-
-#: src/msgsed.c:562
-msgid "write to sed subprocess failed"
-msgstr ""
-
-#: src/msgsed.c:592
-msgid "read from sed subprocess failed"
-msgstr ""
-
-#: src/msgsed.c:608
-#, c-format
-msgid "sed subprocess terminated with exit code %d"
-msgstr ""
+#: src/msgunfmt.c:201
+#, fuzzy, c-format
+msgid "%s and explicit file names are mutually exclusive"
+msgstr "%s ©M %s ¨âªÌ¬O¤¬¤£¬Û®eªº"
 
-#: src/msgunfmt.c:224
+#: src/msgunfmt.c:267
 #, c-format, no-wrap
 msgid "Usage: %s [OPTION] [FILE]...\n"
 msgstr ""
 
-#: src/msgunfmt.c:229
+#: src/msgunfmt.c:272
 #, no-wrap
 msgid "Convert binary message catalog to Uniforum style .po file.\n"
 msgstr ""
 
-#: src/msgunfmt.c:239
+#: src/msgunfmt.c:282
+#, no-wrap
+msgid ""
+"Operation mode:\n"
+"  -j, --java               Java mode: generate a Java ResourceBundle class\n"
+msgstr ""
+
+#: src/msgunfmt.c:288
 #, no-wrap
 msgid ""
 "Input file location:\n"
@@ -1132,7 +1676,17 @@ msgid ""
 "If no input file is given or if it is -, standard input is read.\n"
 msgstr ""
 
-#: src/msgunfmt.c:246
+#: src/msgunfmt.c:295
+#, no-wrap
+msgid ""
+"Input file location in Java mode:\n"
+"  -r, --resource=RESOURCE  resource name\n"
+"  -l, --locale=LOCALE      locale name, either language or language_COUNTRY\n"
+"The class name is determined by appending the locale name to the resource name,\n"
+"separated with an underscore.  The class is located using the CLASSPATH.\n"
+msgstr ""
+
+#: src/msgunfmt.c:304
 #, no-wrap
 msgid ""
 "Output file location:\n"
@@ -1141,7 +1695,7 @@ msgid ""
 "or if it is -.\n"
 msgstr ""
 
-#: src/msgunfmt.c:254
+#: src/msgunfmt.c:312
 #, fuzzy, no-wrap
 msgid ""
 "Output details:\n"
@@ -1151,7 +1705,7 @@ msgid ""
 "  -i, --indent             write indented output style\n"
 "      --strict             write strict uniforum style\n"
 "  -w, --width=NUMBER       set output page width\n"
-"  -s, --sort-output        generate sorted output and remove duplicates\n"
+"  -s, --sort-output        generate sorted output\n"
 msgstr ""
 "¨Ï¥Îªk¡G %s [¿ï¶µ] filename.mo filename.po \n"
 " (µu¿ï¶µ¥Îªº°Ñ¼Æ©Mªø¿ï¶µ¥Îªº¬O¤@¼Ëªº) \n"
@@ -1162,52 +1716,49 @@ msgstr ""
 "  -S, --strict             ¥ÎÄY®æ²Î¤@¼Ð·Çªº¿é¥Xµ²ªG¡C \n"
 "  -V, --version            Åã¥ÜÃö©óª©¥»ªº¸ê°T¡C \n"
 
-#: src/msgunfmt.c:266
+#: src/msgunfmt.c:324
 #, no-wrap
 msgid ""
 "Informative output:\n"
 "  -h, --help               display this help and exit\n"
 "  -V, --version            output version information and exit\n"
+"  -v, --verbose            increase verbosity level\n"
 msgstr ""
 
-#: src/msgunfmt.c:294 src/msgunfmt.c:359 src/po-lex.c:213 src/xget-lex.c:245
-#, c-format
-msgid "error while reading \"%s\""
-msgstr "¥¿¦bŪ¨ú \"%s\" ªº®É­Ô¸I¨ì¿ù»~"
-
-#: src/msgunfmt.c:295 src/msgunfmt.c:360
-#, c-format
-msgid "file \"%s\" truncated"
-msgstr "¤w¸g§âÀÉ®× \"%s\" ºIÂ_¤F"
-
-#: src/msgunfmt.c:326
-#, c-format
-msgid "seek \"%s\" offset %ld failed"
-msgstr "§ä´M \"%s\" ¦b¦ì²¾ %ld ³B¥¢±Ñ"
-
-#: src/msgunfmt.c:365
-#, c-format
-msgid "file \"%s\" contains a not NUL terminated string"
-msgstr "©Òµ¹ªº³o­ÓÀÉ®× \"%s\" ¥]§t«D NUL µ²§Àªº¦r¦ê"
+#: src/msguniq.c:279
+#, no-wrap
+msgid ""
+"Unifies duplicate translations in a translation catalog.\n"
+"Finds duplicate translations of the same message ID.  Such duplicates are\n"
+"invalid input for other programs like msgfmt, msgmerge or msgcat.  By\n"
+"default, duplicates are merged together.  When using the --repeated option,\n"
+"only duplicates are output, and all other messages are discarded.  Comments\n"
+"and extracted comments will be cumulated, except that if --use-first is\n"
+"specified, they will be taken from the first translation.  File positions\n"
+"will be cumulated.  When using the --unique option, duplicates are discarded.\n"
+msgstr ""
 
-#: src/msgunfmt.c:410
-#, c-format
-msgid "file \"%s\" is not in GNU .mo format"
-msgstr "©Òµ¹ªº³o­ÓÀÉ®× \"%s\" ¨Ã«D GNU .mo ®æ¦¡ªºÀÉ®×"
+#: src/msguniq.c:312
+#, no-wrap
+msgid ""
+"Message selection:\n"
+"  -d, --repeated                 print only duplicates\n"
+"  -u, --unique                   print only unique messages, discard duplicates\n"
+msgstr ""
 
-#: src/ngettext.c:213
+#: src/ngettext.c:215
 #, c-format, no-wrap
 msgid "Usage: %s [OPTION] [TEXTDOMAIN] MSGID MSGID-PLURAL COUNT\n"
 msgstr ""
 
-#: src/ngettext.c:218
+#: src/ngettext.c:220
 #, no-wrap
 msgid ""
 "Display native language translation of a textual message whose grammatical\n"
 "form depends on a number.\n"
 msgstr ""
 
-#: src/ngettext.c:223
+#: src/ngettext.c:225
 #, fuzzy, no-wrap
 msgid ""
 "  -d, --domain=TEXTDOMAIN   retrieve translated message from TEXTDOMAIN\n"
@@ -1231,7 +1782,7 @@ msgstr ""
 "  MSGID MSGID-PLURAL        Â½Ä¶ MSGID (³æ¼Æ) / MSGID-PLURAL (½Æ¼Æ) \n"
 "  COUNT                     ¨Ì¾Ú COUNT ªº­È¨Ó¿ï¾Ü³æ¼Æ©Î½Æ¼Æ§Î\n"
 
-#: src/ngettext.c:234
+#: src/ngettext.c:236
 #, fuzzy, c-format, no-wrap
 msgid ""
 "If the TEXTDOMAIN parameter is not given, the domain is determined from the\n"
@@ -1246,17 +1797,17 @@ msgstr ""
 "TEXTDOMAINDIR «ü©w°T®§¸ê®ÆÀɪº©Ò¦bªº¦ì¸m¡C \n"
 "¥Ø«eªº¼Ð·Ç·j´M¸ô®|¬°: %s \n"
 
-#: src/open-po.c:64
+#: src/open-po.c:69
 msgid "<stdin>"
 msgstr "<stdin>"
 
-#: src/po-charset.c:145 src/po-charset.c:213 src/po-charset.c:239
-#: src/po-charset.c:265
+#: src/po-charset.c:172 src/po-charset.c:240 src/po-charset.c:268
+#: src/po-charset.c:294
 #, c-format
 msgid "%s: warning: "
 msgstr "%s: Äµ§i: "
 
-#: src/po-charset.c:146
+#: src/po-charset.c:173
 #, c-format
 msgid ""
 "Charset \"%s\" is not a portable encoding name.\n"
@@ -1265,15 +1816,15 @@ msgstr ""
 "¦r¤¸¶° \"%s\" ªº½s½X¦W¤£¨ã¥iÄâ©Ê.\n"
 "Âà´«°T®§¦Ü¨Ï¥ÎªÌ¦r¤¸¶°ªº¥\¯à±N¤£·|¹B§@\n"
 
-#: src/po-charset.c:209 src/po-charset.c:237
+#: src/po-charset.c:236 src/po-charset.c:266
 msgid "Continuing anyway, expect parse errors."
 msgstr "ÁaµM¾D¹J¿ù»~, ¤´Ä~Äò°õ¦æ"
 
-#: src/po-charset.c:211
+#: src/po-charset.c:238
 msgid "Continuing anyway."
 msgstr "Ä~Äò"
 
-#: src/po-charset.c:214
+#: src/po-charset.c:241
 #, c-format
 msgid ""
 "Charset \"%s\" is not supported. %s relies on iconv(),\n"
@@ -1282,18 +1833,18 @@ msgstr ""
 "¤£¤ä´©¦r¤¸¶° \"%s\" %s ¨Ì¿à iconv() \n"
 "¦Ó iconv() ¥Ø«e¤£¤ä´© \"%s\"\n"
 
-#: src/po-charset.c:223 src/po-charset.c:247
+#: src/po-charset.c:250 src/po-charset.c:276
 msgid ""
 "Installing GNU libiconv and then reinstalling GNU gettext\n"
 "would fix this problem.\n"
 msgstr "¥ý¦w¸Ë GNU libiconv, µM«á¦A¦w¸Ë GNU gettext, ±N·|­×¥¿¦¹°ÝÃD\n"
 
-#: src/po-charset.c:228 src/po-charset.c:251
+#: src/po-charset.c:255 src/po-charset.c:280
 #, c-format
 msgid "%s\n"
 msgstr "%s\n"
 
-#: src/po-charset.c:240
+#: src/po-charset.c:269
 #, c-format
 msgid ""
 "Charset \"%s\" is not supported. %s relies on iconv().\n"
@@ -1302,7 +1853,7 @@ msgstr ""
 "¤£¤ä´©¦r¤¸¶° \"%s\" \n"
 "%s ¨Ì¿à iconv(), ¦Ó¦¹ª©¥»¨S¦³¤º«Ø iconv().\n"
 
-#: src/po-charset.c:266
+#: src/po-charset.c:295
 msgid ""
 "Charset missing in header.\n"
 "Message conversion to user's charset will not work.\n"
@@ -1310,125 +1861,209 @@ msgstr ""
 "ÀÉÀY§ä¤£¨ì¦r¤¸¶°.\n"
 "Âà´«°T®§¦Ü¨Ï¥ÎªÌ¦r¤¸¶°ªº¥\¯à±N¤£·|¹B§@\n"
 
-#: po-gram-gen.y:88
+#: po-gram-gen.y:91
 msgid "inconsistent use of #~"
 msgstr "¤£¦X²zªº¨Ï¥Î #~"
 
-#: po-gram-gen.y:178
+#: po-gram-gen.y:181
 msgid "missing `msgstr[]' section"
 msgstr "§ä¤£¨ì `msgstr[]' ¬q¸¨"
 
-#: po-gram-gen.y:186
+#: po-gram-gen.y:189
 msgid "missing `msgid_plural' section"
 msgstr "§ä¤£¨ì `msgstr_plural' ¬q¸¨"
 
-#: po-gram-gen.y:193
+#: po-gram-gen.y:196
 msgid "missing `msgstr' section"
 msgstr "§ä¤£¨ì `msgstr' ¬q¸¨"
 
-#: po-gram-gen.y:238
+#: po-gram-gen.y:241
 msgid "first plural form has nonzero index"
 msgstr "²Ä¤@­Ó½Æ¼Æ®æ¦¡ªº«ü¼Ð¤£¬O0"
 
-#: po-gram-gen.y:240
+#: po-gram-gen.y:243
 msgid "plural form has wrong index"
 msgstr "½Æ¼Æ®æ¦¡µo²{¿ù»~ªº«ü¼Ð"
 
-#. CAUTION: If you change this macro, you must also make identical
-#. changes to the function of the same name in src/po-lex.c
-#: src/po-lex.c:152 src/po-lex.c:195 src/po-lex.h:77 src/po-lex.h:93
-#: src/po-lex.h:111 src/po-lex.h:127
+#: src/po-lex.h:91 src/po-lex.h:106 src/po-lex.h:126 src/po-lex.h:141
+#: src/po-lex.c:135 src/po-lex.c:176
 msgid "too many errors, aborting"
 msgstr "¤Ó¦h¿ù»~¡A¤¤Â_¤£ª±¤F"
 
-#: src/po-lex.c:271
+#: src/po-lex.c:545 src/write-po.c:331 src/write-po.c:421
+msgid "invalid multibyte sequence"
+msgstr "«Dªkªº¦h¦r¤¸§Ç¦C (multibyte sequence)"
+
+#: src/po-lex.c:571
+#, fuzzy
+msgid "incomplete multibyte sequence at end of file"
+msgstr "«Dªkªº¦h¦r¤¸§Ç¦C (multibyte sequence)"
+
+#: src/po-lex.c:581
+#, fuzzy
+msgid "incomplete multibyte sequence at end of line"
+msgstr "«Dªkªº¦h¦r¤¸§Ç¦C (multibyte sequence)"
+
+#: src/po-lex.c:589
+msgid "iconv failure"
+msgstr ""
+
+#: src/po-lex.c:763 src/read-mo.c:70 src/read-mo.c:135 src/x-c.c:216
+#: src/x-rst.c:227 src/x-ycp.c:103
+#, c-format
+msgid "error while reading \"%s\""
+msgstr "¥¿¦bŪ¨ú \"%s\" ªº®É­Ô¸I¨ì¿ù»~"
+
+#: src/po-lex.c:829
 #, c-format
 msgid "keyword \"%s\" unknown"
 msgstr "¤£©úªºÃöÁä¦r \"%s\""
 
-#: src/po-lex.c:374
+#: src/po-lex.c:939
 msgid "invalid control sequence"
 msgstr "¤£¦Xªkªº±±¨î§Ç¦C"
 
-#: src/po-lex.c:477
+#: src/po-lex.c:1047
 msgid "end-of-file within string"
 msgstr "¦b¦r¦ê¤¤¶¡µo²{ÀÉ®×µ²§ô¦r¤¸ (EOF)"
 
-#: src/po-lex.c:482
+#: src/po-lex.c:1053
 msgid "end-of-line within string"
 msgstr "¦b¦r¦ê¤¤¶¡µo²{¦æµ²§ô¦r¤¸ (end-of-line)"
 
-#: src/po-lex.c:525 src/write-po.c:291 src/write-po.c:373
-msgid "invalid multibyte sequence"
-msgstr "«Dªkªº¦h¦r¤¸§Ç¦C (multibyte sequence)"
+#: src/read-mo.c:71 src/read-mo.c:136
+#, c-format
+msgid "file \"%s\" truncated"
+msgstr "¤w¸g§âÀÉ®× \"%s\" ºIÂ_¤F"
+
+#: src/read-mo.c:102
+#, c-format
+msgid "seek \"%s\" offset %ld failed"
+msgstr "§ä´M \"%s\" ¦b¦ì²¾ %ld ³B¥¢±Ñ"
+
+#: src/read-mo.c:141
+#, c-format
+msgid "file \"%s\" contains a not NUL terminated string"
+msgstr "©Òµ¹ªº³o­ÓÀÉ®× \"%s\" ¥]§t«D NUL µ²§Àªº¦r¦ê"
+
+#: src/read-mo.c:186
+#, c-format
+msgid "file \"%s\" is not in GNU .mo format"
+msgstr "©Òµ¹ªº³o­ÓÀÉ®× \"%s\" ¨Ã«D GNU .mo ®æ¦¡ªºÀÉ®×"
+
+#: src/write-java.c:1108
+msgid "cannot find a temporary directory, try setting $TMPDIR"
+msgstr ""
+
+#: src/write-java.c:1118
+#, fuzzy, c-format
+msgid "cannot create a temporary directory using template \"%s\""
+msgstr "µLªk¦^¨ì \"%s\" ³o­Ó¥Ø¿ý"
+
+#: src/write-java.c:1131
+#, c-format
+msgid "not a valid Java class name: %s"
+msgstr ""
+
+#: src/write-java.c:1188 src/write-java.c:1201
+#, c-format
+msgid "failed to create \"%s\""
+msgstr ""
+
+#: src/write-java.c:1209 src/write-mo.c:289 src/write-po.c:966
+#, c-format
+msgid "error while writing \"%s\" file"
+msgstr "·í¼g¤J \"%s\" ³o­ÓÀɮ׮ɵo¥Í¿ù»~"
+
+#: src/write-java.c:1223
+msgid "compilation of Java class failed, please try --verbose or set $JAVAC"
+msgstr ""
+
+#: src/write-mo.c:277
+#, c-format
+msgid "error while opening \"%s\" for writing"
+msgstr "·í¶}±Ò \"%s\" ³o­ÓÀɮסA·Ç³Æ¼g¤Jªº®É­Ôµo¥Í¿ù»~"
 
-#: src/write-po.c:322
+#: src/write-po.c:370
 #, c-format
 msgid ""
 "internationalized messages should not contain the `\\%c' escape sequence"
 msgstr "­n°ê»Ú¤Æªº°T®§¤£À³§t¦³ `\\%c' ³o­Ó·¸¥X§Ç¦C¦r¤¸"
 
-#: src/write-po.c:816
+#: src/write-po.c:724 src/write-po.c:818
+#, c-format
+msgid ""
+"The following msgid contains non-ASCII characters.\n"
+"This will cause problems to translators who use a character encoding\n"
+"different from yours. Consider using a pure ASCII msgid instead.\n"
+"%s\n"
+msgstr ""
+
+#: src/write-po.c:885
 #, c-format
 msgid "cannot create output file \"%s\""
 msgstr "¿é¥XÀÉ \"%s\" µLªk«Ø¥ß"
 
-#: src/write-po.c:823
+#: src/write-po.c:892
 #, no-c-format
 msgid "standard output"
 msgstr "¼Ð·Ç¿é¥X"
 
-#: src/write-po.c:893
-#, c-format
-msgid "error while writing \"%s\" file"
-msgstr "·í¼g¤J \"%s\" ³o­ÓÀɮ׮ɵo¥Í¿ù»~"
-
-#: src/xget-lex.c:150
-msgid "standard input"
-msgstr "¼Ð·Ç¿é¤J"
-
-#: src/xget-lex.c:879
+#: src/x-c.c:858
 #, c-format
 msgid "%s:%d: warning: unterminated character constant"
 msgstr "%s:%d: Äµ§i: ¤£½T©wªº¦r¤¸±`¼Æ"
 
-#: src/xget-lex.c:903
+#: src/x-c.c:882
 #, c-format
 msgid "%s:%d: warning: unterminated string literal"
 msgstr "%s:%d: Äµ§i: ¤£½T©wªº¦r¦ê¤å¦r"
 
-#. We are about to construct the absolute path to the
-#. directory for the output files but asprintf failed.
-#: src/xgettext.c:325 src/xgettext.c:1368
-msgid "while preparing output"
-msgstr "·í¥¿¦b·Ç³Æ¿é¥Xªº®É­Ô"
+#: src/x-po.c:106 src/xgettext.c:605
+msgid "this file may not contain domain directives"
+msgstr "³o­ÓÀɮפ£¯à§t¦³»â°ì«ü¥O"
+
+#: src/x-rst.c:108
+#, c-format
+msgid "%s:%d: invalid string definition"
+msgstr ""
+
+#: src/x-rst.c:168
+#, c-format
+msgid "%s:%d: missing number after #"
+msgstr ""
+
+#: src/x-rst.c:203
+#, c-format
+msgid "%s:%d: invalid string expression"
+msgstr ""
 
-#: src/xgettext.c:371
+#: src/xgettext.c:375
 msgid "--join-existing cannot be used when output is written to stdout"
 msgstr "·í¿é¥X³Q­«¾É¦Ü stdout ®É, ¿ï¶µ --join-existing ¤£¯à¨Ï¥Î"
 
-#: src/xgettext.c:376
+#: src/xgettext.c:380
 msgid "xgettext cannot work without keywords to look for"
 msgstr "­YµLÃöÁä¦r, xgettext ±NµLªk¹B§@"
 
-#: src/xgettext.c:482
+#: src/xgettext.c:468
 #, c-format
 msgid "warning: file `%s' extension `%s' is unknown; will try C"
 msgstr "ĵ§i: ÀÉ®× `%s' ªº°ÆÀɦW `%s' ¥¼©ú ; °ÆÀɦW±N¨Ï¥Î C"
 
-#: src/xgettext.c:523
+#: src/xgettext.c:509
 #, no-wrap
 msgid "Extract translatable strings from given input files.\n"
 msgstr ""
 
-#: src/xgettext.c:528
+#: src/xgettext.c:514
 #, no-wrap
 msgid ""
 "Mandatory arguments to long options are mandatory for short options too.\n"
 "Similarly for optional arguments.\n"
 msgstr ""
 
-#: src/xgettext.c:543
+#: src/xgettext.c:529
 #, no-wrap
 msgid ""
 "Output file location:\n"
@@ -1438,16 +2073,17 @@ msgid ""
 "If output file is -, output is written to standard output.\n"
 msgstr ""
 
-#: src/xgettext.c:552
+#: src/xgettext.c:538
 #, no-wrap
 msgid ""
 "Choice of input file language:\n"
-"  -L, --language=NAME            recognise the specified language (C, C++, PO)\n"
+"  -L, --language=NAME            recognise the specified language\n"
+"                                   (C, C++, ObjectiveC, PO, Java, YCP)\n"
 "  -C, --c++                      shorthand for --language=C++\n"
 "By default the language is guessed depending on the input file name extension.\n"
 msgstr ""
 
-#: src/xgettext.c:560
+#: src/xgettext.c:547
 #, no-wrap
 msgid ""
 "Operation mode:\n"
@@ -1457,7 +2093,7 @@ msgid ""
 "                                 preceding keyword lines) in output file\n"
 msgstr ""
 
-#: src/xgettext.c:569
+#: src/xgettext.c:556
 #, no-wrap
 msgid ""
 "Language=C/C++ specific options:\n"
@@ -1468,8 +2104,8 @@ msgid ""
 "      --debug                    more detailed formatstring recognition result\n"
 msgstr ""
 
-#: src/xgettext.c:579
-#, no-wrap
+#: src/xgettext.c:566
+#, fuzzy, no-wrap
 msgid ""
 "Output details:\n"
 "  -e, --no-escape                do not use C escapes in output (default)\n"
@@ -1480,29 +2116,60 @@ msgid ""
 "  -n, --add-location             generate '#: filename:line' lines (default)\n"
 "      --strict                   write out strict Uniforum conforming .po file\n"
 "  -w, --width=NUMBER             set output page width\n"
-"  -s, --sort-output              generate sorted output and remove duplicates\n"
+"  -s, --sort-output              generate sorted output\n"
 "  -F, --sort-by-file             sort output by file location\n"
 "      --omit-header              don't write header with `msgid \"\"' entry\n"
 "      --foreign-user             omit FSF copyright in output for foreign user\n"
 "  -m, --msgstr-prefix[=STRING]   use STRING or \"\" as prefix for msgstr entries\n"
 "  -M, --msgstr-suffix[=STRING]   use STRING or \"\" as suffix for msgstr entries\n"
 msgstr ""
+"Usage: %s [OPTION] def.po ref.po\n"
+" (µu¿ï¶µ¥Îªº°Ñ¼Æ©Mªø¿ï¶µ¥Îªº¬O¤@¼Ëªº) \n"
+"  -C, --compendium=FILE       ¼W¥[°T®§Â½Ä¶ªºÀÉ®×®w, ¥i¥H«ü©w¤@­Ó¥H¤W\n"
+"  -D, --directory=DIRECTORY   ¦b¿é¤JÀɮתº·j´M¥Ø¿ý¦W³æ¤¤, ¼W¥[ DIRECTORY \n"
+"  -e, --no-escape             ¿é¥Xªºµ²ªG¤£¨Ï¥Î C ·¸¥X¦r¤¸ (¹w³])¡C \n"
+"  -E, --escape                ¿é¥Xµ²ªG¥Î C ·¸¥X¦r¤¸¡A¤£ª½±µ¿é¥X©µ¦ù¦r¤¸¡C\n"
+"      --force-po              §Y¨Ï¤º®e¬OªÅªº, ¤´±j­¢¼g¤J PO ÀÉ \n"
+"  -h, --help                  Åã¥Ü³o¬q»¡©ú°T®§¡C \n"
+"  -i, --indent                ¹ï¿é¥Xµ²ªG°µÁY±Æ³B²z¡C \n"
+"  -o, --output-file=FILE      §â¿é¥Xªºµ²ªG¼g¤J FILE ³o­ÓÀɮסC \n"
+"      --no-location           Ãö³¬ '#: filename:line' \n"
+"      --add-location          «O¯d '#: filename:line' (¹w³])\n"
+"      --strict                ¨Ï¥ÎÄY®æ²Î¤@¼Ð·Çªº¿é¥Xµ²ªG¡C\n"
+"  -v, --verbose               ¼W¥[Åã¥Ü¤¾ªø°T®§\n"
+"  -V, --version               Åã¥ÜÃö©óª©¥»ªº¸ê°T\n"
+"  -w, --width=NUMBER          ³]©w¿é¥X­¶¼e\n"
 
-#: src/xgettext.c:945
-#, c-format
-msgid "%s:%d: warning: keyword nested in keyword arg"
-msgstr "%s:%d: Äµ§i: ÃöÁä¦r¤º²[ÃöÁä¦r(±_ª¬±Ô­z)"
+#: src/xgettext.c:720
+msgid "standard input"
+msgstr "¼Ð·Ç¿é¤J"
 
-#: src/xgettext.c:957
-#, c-format
-msgid "%s:%d: warning: keyword between outer keyword and its arg"
-msgstr "%s:%d: Äµ§i: keyword between outer keyword and its arg"
+#: src/xgettext.c:830
+msgid ""
+"Empty msgid.  It is reserved by GNU gettext:\n"
+"gettext(\"\") returns the header entry with\n"
+"meta information, not the empty string.\n"
+msgstr ""
 
-#: src/xgettext.c:1446
+#: src/xgettext.c:1099
 #, c-format
 msgid "language `%s' unknown"
 msgstr "¥¼ª¾ªº»y¨¥ `%s'"
 
+#~ msgid "while creating hash table"
+#~ msgstr "¥¿¦b«Ø¥ßÂø´êªí®É"
+
+#, fuzzy
+#~ msgid "%s:%lu: warning: keyword nested in keyword arg"
+#~ msgstr "%s:%d: Äµ§i: ÃöÁä¦r¤º²[ÃöÁä¦r(±_ª¬±Ô­z)"
+
+#, fuzzy
+#~ msgid "%s:%lu: warning: keyword between outer keyword and its arg"
+#~ msgstr "%s:%d: Äµ§i: keyword between outer keyword and its arg"
+
+#~ msgid "while preparing output"
+#~ msgstr "·í¥¿¦b·Ç³Æ¿é¥Xªº®É­Ô"
+
 #~ msgid "this message has no definition in the \"%s\" domain"
 #~ msgstr "³o­Ó°T®§¤£´¿¦b \"%s\" ³o­Ó»â°ì³Q©w¸q¹L"
 
@@ -1770,6 +2437,3 @@ msgstr "
 
 #~ msgid "cannot change to directory \"%s\""
 #~ msgstr "µLªk¶i¤J \"%s\" ³o­Ó¥Ø¿ý"
-
-#~ msgid "cannot change back to directory \"%s\""
-#~ msgstr "µLªk¦^¨ì \"%s\" ³o­Ó¥Ø¿ý"
index 8d83ce705dd4fa842280f0817b039e2ded07d7e8..43a5b634f326a1523cbc6073d494dafe9553ba02 100644 (file)
@@ -67,6 +67,7 @@ CC = @CC@
 CLASSPATH = @CLASSPATH@
 CLASSPATH_SEPARATOR = @CLASSPATH_SEPARATOR@
 CROSS_COMPILING = @CROSS_COMPILING@
+CXX = @CXX@
 DATADIRNAME = @DATADIRNAME@
 DEPDIR = @DEPDIR@
 DLLTOOL = @DLLTOOL@
@@ -78,12 +79,19 @@ GENCAT = @GENCAT@
 GLIBC21 = @GLIBC21@
 GMSGFMT = @GMSGFMT@
 HAVE_GCJ = @HAVE_GCJ@
+HAVE_GCJ_IN_PATH = @HAVE_GCJ_IN_PATH@
 HAVE_GIJ = @HAVE_GIJ@
+HAVE_GIJ_IN_PATH = @HAVE_GIJ_IN_PATH@
+HAVE_JAVA = @HAVE_JAVA@
 HAVE_JAVAC = @HAVE_JAVAC@
-HAVE_JAVA_JVM = @HAVE_JAVA_JVM@
+HAVE_JAVAC_IN_PATH = @HAVE_JAVAC_IN_PATH@
+HAVE_JAVA_IN_PATH = @HAVE_JAVA_IN_PATH@
 HAVE_JIKES = @HAVE_JIKES@
+HAVE_JIKES_IN_PATH = @HAVE_JIKES_IN_PATH@
 HAVE_JRE = @HAVE_JRE@
+HAVE_JRE_IN_PATH = @HAVE_JRE_IN_PATH@
 HAVE_JVIEW = @HAVE_JVIEW@
+HAVE_JVIEW_IN_PATH = @HAVE_JVIEW_IN_PATH@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
 INSTOBJEXT = @INSTOBJEXT@
 INTLBISON = @INTLBISON@
@@ -271,12 +279,12 @@ install-data-local:
          $(mkinstalldirs) $(DESTDIR)$(projectsdir)/$$p; \
        done
        @for f in $(SCRIPTFILES); do \
-         echo "$(INSTALL_SCRIPT) $$f $(DESTDIR)$(projectsdir)/$$f"; \
-         $(INSTALL_SCRIPT) $$f $(DESTDIR)$(projectsdir)/$$f; \
+         echo "$(INSTALL_SCRIPT) $(srcdir)/$$f $(DESTDIR)$(projectsdir)/$$f"; \
+         $(INSTALL_SCRIPT) $(srcdir)/$$f $(DESTDIR)$(projectsdir)/$$f; \
        done
        @for f in $(DATAFILES); do \
-         echo "$(INSTALL_DATA) $$f $(DESTDIR)$(projectsdir)/$$f"; \
-         $(INSTALL_DATA) $$f $(DESTDIR)$(projectsdir)/$$f; \
+         echo "$(INSTALL_DATA) $(srcdir)/$$f $(DESTDIR)$(projectsdir)/$$f"; \
+         $(INSTALL_DATA) $(srcdir)/$$f $(DESTDIR)$(projectsdir)/$$f; \
        done
 
 installdirs-local:
index 957095293c824083147a38286303970b539d0d61..85bb2afffd8658f339d714d36317f3eaaa38d5df 100644 (file)
@@ -67,6 +67,7 @@ CC = @CC@
 CLASSPATH = @CLASSPATH@
 CLASSPATH_SEPARATOR = @CLASSPATH_SEPARATOR@
 CROSS_COMPILING = @CROSS_COMPILING@
+CXX = @CXX@
 DATADIRNAME = @DATADIRNAME@
 DEPDIR = @DEPDIR@
 DLLTOOL = @DLLTOOL@
@@ -81,10 +82,10 @@ HAVE_GCJ = @HAVE_GCJ@
 HAVE_GCJ_IN_PATH = @HAVE_GCJ_IN_PATH@
 HAVE_GIJ = @HAVE_GIJ@
 HAVE_GIJ_IN_PATH = @HAVE_GIJ_IN_PATH@
+HAVE_JAVA = @HAVE_JAVA@
 HAVE_JAVAC = @HAVE_JAVAC@
 HAVE_JAVAC_IN_PATH = @HAVE_JAVAC_IN_PATH@
 HAVE_JAVA_IN_PATH = @HAVE_JAVA_IN_PATH@
-HAVE_JAVA_JVM = @HAVE_JAVA_JVM@
 HAVE_JIKES = @HAVE_JIKES@
 HAVE_JIKES_IN_PATH = @HAVE_JIKES_IN_PATH@
 HAVE_JRE = @HAVE_JRE@
@@ -188,7 +189,7 @@ format-ycp.c
 # libgettextsrc contains all code that is needed by at least two programs.
 libgettextsrc_la_SOURCES = \
 $(COMMON_SOURCE) read-po.c write-po.c msgl-ascii.c msgl-iconv.c msgl-equal.c \
-msgl-cat.c msgl-english.c file-list.c msgl-charset.c po-time.c \
+msgl-cat.c msgl-english.c file-list.c msgl-charset.c po-time.c plural.c \
 $(FORMAT_SOURCE)
 
 
@@ -196,7 +197,7 @@ $(FORMAT_SOURCE)
 gettext_SOURCES = gettext.c
 ngettext_SOURCES = ngettext.c
 msgcmp_SOURCES = msgcmp.c
-msgfmt_SOURCES = msgfmt.c write-mo.c write-java.c plural.c plural-eval.c
+msgfmt_SOURCES = msgfmt.c write-mo.c write-java.c plural-eval.c
 msgmerge_SOURCES = msgmerge.c
 msgunfmt_SOURCES = msgunfmt.c read-mo.c read-java.c
 xgettext_SOURCES = xgettext.c x-c.c x-po.c x-java.l x-ycp.c x-rst.c
@@ -258,8 +259,9 @@ am_libgettextsrc_la_OBJECTS = message.lo po.lo po-lex.lo po-gram-gen.lo \
        po-hash-gen.lo po-charset.lo open-po.lo dir-list.lo str-list.lo \
        read-po.lo write-po.lo msgl-ascii.lo msgl-iconv.lo \
        msgl-equal.lo msgl-cat.lo msgl-english.lo file-list.lo \
-       msgl-charset.lo po-time.lo format.lo format-c.lo format-java.lo \
-       format-lisp.lo format-python.lo format-pascal.lo format-ycp.lo
+       msgl-charset.lo po-time.lo plural.lo format.lo format-c.lo \
+       format-java.lo format-lisp.lo format-python.lo format-pascal.lo \
+       format-ycp.lo
 libgettextsrc_la_OBJECTS = $(am_libgettextsrc_la_OBJECTS)
 bin_PROGRAMS = gettext$(EXEEXT) ngettext$(EXEEXT) msgcmp$(EXEEXT) \
        msgfmt$(EXEEXT) msgmerge$(EXEEXT) msgunfmt$(EXEEXT) \
@@ -309,7 +311,7 @@ msgexec_OBJECTS = $(am_msgexec_OBJECTS)
 msgexec_DEPENDENCIES = libgettextsrc.la
 msgexec_LDFLAGS =
 am_msgfmt_OBJECTS = msgfmt.$(OBJEXT) write-mo.$(OBJEXT) \
-       write-java.$(OBJEXT) plural.$(OBJEXT) plural-eval.$(OBJEXT)
+       write-java.$(OBJEXT) plural-eval.$(OBJEXT)
 msgfmt_OBJECTS = $(am_msgfmt_OBJECTS)
 msgfmt_DEPENDENCIES = libgettextsrc.la
 msgfmt_LDFLAGS =
index b7d20033055c735a33d179257765ccfce0636275..33a64ca23b242f4a9a614c214b20962e6f868921 100644 (file)
@@ -67,6 +67,7 @@ CC = @CC@
 CLASSPATH = @CLASSPATH@
 CLASSPATH_SEPARATOR = @CLASSPATH_SEPARATOR@
 CROSS_COMPILING = @CROSS_COMPILING@
+CXX = @CXX@
 DATADIRNAME = @DATADIRNAME@
 DEPDIR = @DEPDIR@
 DLLTOOL = @DLLTOOL@
@@ -78,12 +79,19 @@ GENCAT = @GENCAT@
 GLIBC21 = @GLIBC21@
 GMSGFMT = @GMSGFMT@
 HAVE_GCJ = @HAVE_GCJ@
+HAVE_GCJ_IN_PATH = @HAVE_GCJ_IN_PATH@
 HAVE_GIJ = @HAVE_GIJ@
+HAVE_GIJ_IN_PATH = @HAVE_GIJ_IN_PATH@
+HAVE_JAVA = @HAVE_JAVA@
 HAVE_JAVAC = @HAVE_JAVAC@
-HAVE_JAVA_JVM = @HAVE_JAVA_JVM@
+HAVE_JAVAC_IN_PATH = @HAVE_JAVAC_IN_PATH@
+HAVE_JAVA_IN_PATH = @HAVE_JAVA_IN_PATH@
 HAVE_JIKES = @HAVE_JIKES@
+HAVE_JIKES_IN_PATH = @HAVE_JIKES_IN_PATH@
 HAVE_JRE = @HAVE_JRE@
+HAVE_JRE_IN_PATH = @HAVE_JRE_IN_PATH@
 HAVE_JVIEW = @HAVE_JVIEW@
+HAVE_JVIEW_IN_PATH = @HAVE_JVIEW_IN_PATH@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
 INSTOBJEXT = @INSTOBJEXT@
 INTLBISON = @INTLBISON@
@@ -125,30 +133,34 @@ lispdir = @lispdir@
 AUTOMAKE_OPTIONS = 1.5 gnits no-dependencies
 
 TESTS = gettext-1 gettext-2 \
-       msgcat-1 msgcat-2 msgcat-3 msgcat-4 msgcat-5 msgcat-6 \
+       msgcat-1 msgcat-2 msgcat-3 msgcat-4 msgcat-5 msgcat-6 msgcat-7 \
        msgcmp-1 msgcmp-2 \
        msgcomm-1 msgcomm-2 msgcomm-3 msgcomm-4 msgcomm-5 msgcomm-6 msgcomm-7 \
        msgcomm-8 msgcomm-9 msgcomm-10 msgcomm-11 msgcomm-12 msgcomm-13 \
        msgcomm-14 msgcomm-15 msgcomm-16 msgcomm-17 msgcomm-18 msgcomm-19 \
        msgcomm-20 msgcomm-21 msgcomm-22 msgcomm-23 \
-       msgfmt-1 msgfmt-2 msgfmt-3 msgfmt-4 msgfmt-5 msgfmt-6 \
+       msgfmt-1 msgfmt-2 msgfmt-3 msgfmt-4 msgfmt-5 msgfmt-6 msgfmt-7 \
+       msgfmt-8 msgfmt-9 \
        msgmerge-1 msgmerge-2 msgmerge-3 msgmerge-4 msgmerge-5 msgmerge-6 \
        msgmerge-7 msgmerge-8 msgmerge-9 msgmerge-10 msgmerge-11 msgmerge-12 \
+       msgmerge-13 msgmerge-14 msgmerge-15 msgmerge-16 msgmerge-17 \
+       msgmerge-18 msgmerge-19 \
        msgunfmt-1 \
        msguniq-1 msguniq-2 msguniq-3 \
        xgettext-1 xgettext-2 xgettext-3 xgettext-4 xgettext-5 xgettext-6 \
        xgettext-7 xgettext-8 xgettext-9 xgettext-10 xgettext-11 xgettext-12 \
-       xgettext-13 xgettext-14 xgettext-15 xgettext-16 \
+       xgettext-13 xgettext-14 xgettext-15 xgettext-16 xgettext-17 \
        format-c-1 format-c-2 \
        format-java-1 format-java-2 \
        format-lisp-1 format-lisp-2 \
        format-python-1 format-python-2 \
        format-pascal-1 format-pascal-2 \
        format-ycp-1 format-ycp-2 \
-       plural-1 plural-2
+       plural-1 plural-2 \
+       lang-c lang-c++ lang-objc lang-java lang-pascal lang-ycp lang-po lang-rst
 
 
-EXTRA_DIST = $(TESTS) test.mo xg-test1.ok.po msguniq-1.in msguniq-1.out
+EXTRA_DIST = $(TESTS) test.mo xg-test1.ok.po msguniq-a.in msguniq-a.out
 
 XGETTEXT = ../src/xgettext
 
@@ -163,6 +175,13 @@ TESTS_ENVIRONMENT = top_srcdir=$(top_srcdir) PATH=.:../src:$$PATH \
                    MSGUNFMT=`echo msgunfmt|sed '$(transform)'` \
                    MSGCAT=`echo msgcat|sed '$(transform)'` \
                    MSGUNIQ=`echo msguniq|sed '$(transform)'` \
+                   OBJEXT='@OBJEXT@' EXEEXT='@EXEEXT@' \
+                   LIBTOOL='@LIBTOOL@' \
+                   CC='@CC@' CFLAGS='@CFLAGS@' \
+                   CXX='@CXX@' CXXFLAGS='@CXXFLAGS@' \
+                   CPPFLAGS='@CPPFLAGS@' LDFLAGS='@LDFLAGS@' \
+                   INTLLIBS='@INTLLIBS@' \
+                   TESTJAVA='@TESTJAVA@' \
                    $(SHELL)
 
 
@@ -456,7 +475,8 @@ uninstall-am: uninstall-info-am
 
 xg-test1.ok.po: $(top_srcdir)/src/xgettext.c $(top_srcdir)/src/msgfmt.c \
                $(top_srcdir)/src/gettext.c
-       $(XGETTEXT) -d xg-test1.ok -p $(srcdir) -k_ --omit-header \
+       $(XGETTEXT) -d xg-test1.ok -p $(srcdir) \
+         -k_ --omit-header --no-location \
          $(top_srcdir)/src/xgettext.c $(top_srcdir)/src/msgfmt.c \
          $(top_srcdir)/src/gettext.c
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
index 02a78f6db5f6d07cb145aca2d1f3aca1e35531d4..40dea85107c6122f5f31a8546aa50129c2a5cd49 100644 (file)
@@ -139,6 +139,10 @@ msgstr ""
 msgid "language `%s' unknown"
 msgstr ""
 
+#, c-format
+msgid "the argument to %s should be a single punctuation character"
+msgstr ""
+
 #, c-format
 msgid "%s requires a \"-d directory\" specification"
 msgstr ""
@@ -221,6 +225,8 @@ msgid ""
 "      --check-domain          check for conflicts between domain directives\n"
 "                                and the --output-file option\n"
 "  -C, --check-compatibility   check that GNU msgfmt behaves like X/Open msgfmt\n"
+"      --check-accelerators[=CHAR]  check presence of keyboard accelerators for\n"
+"                                menu items\n"
 "  -f, --use-fuzzy             use fuzzy entries in output\n"
 msgstr ""
 
@@ -240,9 +246,6 @@ msgid ""
 "  -v, --verbose               increase verbosity level\n"
 msgstr ""
 
-msgid "while creating hash table"
-msgstr ""
-
 msgid "plural expression can produce negative values"
 msgstr ""
 
@@ -320,43 +323,51 @@ msgstr ""
 msgid "'msgstr' is not a valid %s format string, unlike 'msgid'"
 msgstr ""
 
-msgid "warning: PO file header missing, fuzzy, or invalid\n"
+#, c-format
+msgid "msgstr lacks the keyboard accelerator mark '%c'"
 msgstr ""
 
-msgid "warning: charset conversion will not work\n"
+#, c-format
+msgid "msgstr has too many keyboard accelerator marks '%c'"
 msgstr ""
 
 #, c-format
-msgid "domain name \"%s\" not suitable as file name"
+msgid "headerfield `%s' missing in header"
 msgstr ""
 
 #, c-format
-msgid "domain name \"%s\" not suitable as file name: will use prefix"
+msgid "header field `%s' should start at beginning of line"
+msgstr ""
+
+msgid "some header fields still have the initial default value"
 msgstr ""
 
 #, c-format
-msgid "`domain %s' directive ignored"
+msgid "field `%s' still has initial default value"
 msgstr ""
 
-msgid "empty `msgstr' entry ignored"
+msgid "warning: PO file header missing or invalid\n"
 msgstr ""
 
-msgid "fuzzy `msgstr' entry ignored"
+msgid "warning: charset conversion will not work\n"
 msgstr ""
 
-#, c-format
-msgid "headerfield `%s' missing in header"
+msgid "warning: PO file header fuzzy\n"
+msgstr ""
+
+msgid "warning: older versions of msgfmt will give an error on this\n"
 msgstr ""
 
 #, c-format
-msgid "header field `%s' should start at beginning of line"
+msgid "domain name \"%s\" not suitable as file name"
 msgstr ""
 
-msgid "some header fields still have the initial default value"
+#, c-format
+msgid "domain name \"%s\" not suitable as file name: will use prefix"
 msgstr ""
 
 #, c-format
-msgid "field `%s' still has initial default value"
+msgid "`domain %s' directive ignored"
 msgstr ""
 
 msgid "duplicate message definition"
@@ -365,6 +376,12 @@ msgstr ""
 msgid "...this is the location of the first definition"
 msgstr ""
 
+msgid "empty `msgstr' entry ignored"
+msgstr ""
+
+msgid "fuzzy `msgstr' entry ignored"
+msgstr ""
+
 #, c-format
 msgid "%s: warning: source file contains fuzzy translation"
 msgstr ""