]> granicus.if.org Git - postgresql/commitdiff
Native Language Support (NLS)
authorPeter Eisentraut <peter_e@gmx.net>
Sat, 2 Jun 2001 18:25:18 +0000 (18:25 +0000)
committerPeter Eisentraut <peter_e@gmx.net>
Sat, 2 Jun 2001 18:25:18 +0000 (18:25 +0000)
Use --enable-nls to turn it on; see installation instructions for details.
See developer's guide how to make use of it in programs and how to add
translations.

psql sources have been almost fully prepared and an incomplete German
translation has been provided.  In the backend, only elog() calls are
currently translatable, and the provided German translation file is more
of a placeholder.

27 files changed:
config/programs.m4
configure
configure.in
doc/src/sgml/developer.sgml
doc/src/sgml/filelist.sgml
doc/src/sgml/installation.sgml
doc/src/sgml/nls.sgml [new file with mode: 0644]
src/Makefile.global.in
src/backend/Makefile
src/backend/main/main.c
src/backend/po/Makefile [new file with mode: 0644]
src/backend/po/de.po [new file with mode: 0644]
src/backend/po/nls.mk [new file with mode: 0644]
src/backend/utils/error/elog.c
src/bin/psql/command.c
src/bin/psql/common.c
src/bin/psql/copy.c
src/bin/psql/de.po [new file with mode: 0644]
src/bin/psql/help.c
src/bin/psql/large_obj.c
src/bin/psql/mainloop.c
src/bin/psql/nls.mk [new file with mode: 0644]
src/bin/psql/print.c
src/bin/psql/startup.c
src/include/c.h
src/include/config.h.in
src/nls-global.mk [new file with mode: 0644]

index b655d38275da923f1e51ef04bd22bb6b7b4c9740..e73844f09ece3651acbf0621a650d647cc2cbb29 100644 (file)
@@ -1,4 +1,4 @@
-# $Header: /cvsroot/pgsql/config/programs.m4,v 1.4 2001/02/10 22:31:42 petere Exp $
+# $Header: /cvsroot/pgsql/config/programs.m4,v 1.5 2001/06/02 18:25:16 petere Exp $
 
 
 # PGAC_PATH_FLEX
@@ -99,3 +99,34 @@ if test "$pgac_cv_check_readline" != no ; then
 else
   AC_MSG_RESULT(no)
 fi])# PGAC_CHECK_READLINE
+
+
+
+# PGAC_CHECK_GETTEXT
+# ------------------
+
+AC_DEFUN([PGAC_CHECK_GETTEXT],
+[
+  AC_SEARCH_LIBS(gettext, intl, [],
+                 [AC_MSG_ERROR([a gettext implementation is required for NLS])])
+  AC_CHECK_HEADER([libintl.h], [],
+                  [AC_MSG_ERROR([header file <libintl.h> is required for NLS])])
+  AC_CHECK_PROGS(MSGFMT, msgfmt)
+  if test -z "$MSGFMT"; then
+    AC_MSG_ERROR([msgfmt is required for NLS])
+  fi
+  AC_CHECK_PROGS(MSGMERGE, msgmerge)
+dnl FIXME: We should probably check for version >=0.10.36.
+  AC_CHECK_PROGS(XGETTEXT, xgettext)
+
+  # Note: share/locale is always the default, independent of $datadir
+  if test x"$prefix" = x"NONE"; then
+    localedir="$ac_default_prefix/share/locale"
+  else
+    localedir="$prefix/share/locale"
+  fi
+
+  AC_SUBST(localedir)
+  AC_DEFINE_UNQUOTED(LOCALEDIR, ["$localedir"],
+                     [location of locale files])
+])# PGAC_CHECK_GETTEXT
index bda508adfe4cea5cb129bfb245d5e1309a894be7..6117e4051dd736032951747196d824c4cbd20f30 100755 (executable)
--- a/configure
+++ b/configure
@@ -26,6 +26,8 @@ ac_help="$ac_help
   --enable-multibyte      enable multibyte character support"
 ac_help="$ac_help
   --enable-unicode-conversion  enable unicode conversion support"
+ac_help="$ac_help
+  --enable-nls[=LANGUAGES]     enable Native Language Support"
 ac_help="$ac_help
   --with-pgport=PORTNUM   change default port number [5432]"
 ac_help="$ac_help
@@ -627,7 +629,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:631: checking host system type" >&5
+echo "configure:633: checking host system type" >&5
 
 host_alias=$host
 case "$host_alias" in
@@ -653,7 +655,7 @@ echo "$ac_t""$host" 1>&6
 
 template=
 echo $ac_n "checking which template to use""... $ac_c" 1>&6
-echo "configure:657: checking which template to use" >&5
+echo "configure:659: checking which template to use" >&5
 
 # Check whether --with-template was given
 if test x"${with_template+set}" = xset; then
@@ -816,7 +818,7 @@ fi
 # Locale (--enable-locale)
 #
 echo $ac_n "checking whether to build with locale support""... $ac_c" 1>&6
-echo "configure:820: checking whether to build with locale support" >&5
+echo "configure:822: checking whether to build with locale support" >&5
 # Check whether --enable-locale was given
 if test x"${enable_locale+set}" = xset; then
   case $enable_locale in
@@ -845,7 +847,7 @@ echo "$ac_t""$enable_locale" 1>&6
 # Character set recode (--enable-recode)
 #
 echo $ac_n "checking whether to build with recode support""... $ac_c" 1>&6
-echo "configure:849: checking whether to build with recode support" >&5
+echo "configure:851: checking whether to build with recode support" >&5
 # Check whether --enable-recode was given
 if test x"${enable_recode+set}" = xset; then
   case $enable_recode in
@@ -875,7 +877,7 @@ echo "$ac_t""$enable_recode" 1>&6
 #
 MULTIBYTE=
 echo $ac_n "checking whether to build with multibyte character support""... $ac_c" 1>&6
-echo "configure:879: checking whether to build with multibyte character support" >&5
+echo "configure:881: checking whether to build with multibyte character support" >&5
 
 # Check whether --enable-multibyte was given
 if test x"${enable_multibyte+set}" = xset; then
@@ -927,7 +929,7 @@ fi
 # Unicode conversion (--enable-unicode-conversion)
 #
 echo $ac_n "checking whether to build with Unicode conversion support""... $ac_c" 1>&6
-echo "configure:931: checking whether to build with Unicode conversion support" >&5
+echo "configure:933: checking whether to build with Unicode conversion support" >&5
 # Check whether --enable-unicode-conversion was given
 if test x"${enable_unicode_conversion+set}" = xset; then
   case $enable_unicode_conversion in
@@ -954,11 +956,46 @@ else
 fi
 echo "$ac_t""$enable_unicode_conversion" 1>&6
 
+#
+# NLS
+#
+echo $ac_n "checking whether NLS is wanted""... $ac_c" 1>&6
+echo "configure:964: checking whether NLS is wanted" >&5
+# Check whether --enable-nls was given
+if test x"${enable_nls+set}" = xset; then
+  case $enable_nls in
+    yes)
+      :
+      ;;
+    no)
+      :
+      ;;
+    *)
+      enableval=$enable_nls
+      enable_nls=yes
+WANTED_LANGUAGES=$enableval
+      ;;
+  esac # $enable_nls
+else
+  enable_nls=no
+fi
+
+if test "$enable_nls" = yes; then
+  cat >> confdefs.h <<\EOF
+#define ENABLE_NLS 1
+EOF
+
+fi
+
+echo "$ac_t""$enable_nls" 1>&6
+
+
+
 #
 # Default port number (--with-pgport), default 5432
 #
 echo $ac_n "checking for default port number""... $ac_c" 1>&6
-echo "configure:962: checking for default port number" >&5
+echo "configure:999: checking for default port number" >&5
 # Check whether --with-pgport was given
 if test x"${with_pgport+set}" = xset; then
   case $with_pgport in
@@ -992,7 +1029,7 @@ EOF
 # Maximum number of allowed connections (--with-maxbackends), default 32
 #
 echo $ac_n "checking for default soft limit on number of connections""... $ac_c" 1>&6
-echo "configure:996: checking for default soft limit on number of connections" >&5
+echo "configure:1033: checking for default soft limit on number of connections" >&5
 # Check whether --with-maxbackends was given
 if test x"${with_maxbackends+set}" = xset; then
   case $with_maxbackends in
@@ -1116,7 +1153,7 @@ save_CFLAGS=$CFLAGS
 # 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:1120: checking for $ac_word" >&5
+echo "configure:1157: 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
@@ -1146,7 +1183,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:1150: checking for $ac_word" >&5
+echo "configure:1187: 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
@@ -1197,7 +1234,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:1201: checking for $ac_word" >&5
+echo "configure:1238: 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
@@ -1229,7 +1266,7 @@ fi
 fi
 
 echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:1233: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+echo "configure:1270: 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.
@@ -1240,12 +1277,12 @@ cross_compiling=$ac_cv_prog_cc_cross
 
 cat > conftest.$ac_ext << EOF
 
-#line 1244 "configure"
+#line 1281 "configure"
 #include "confdefs.h"
 
 main(){return(0);}
 EOF
-if { (eval echo configure:1249: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1286: \"$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
@@ -1271,12 +1308,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:1275: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:1312: 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:1280: checking whether we are using GNU C" >&5
+echo "configure:1317: 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
@@ -1285,7 +1322,7 @@ else
   yes;
 #endif
 EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1289: \"$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:1326: \"$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
@@ -1304,7 +1341,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:1308: checking whether ${CC-cc} accepts -g" >&5
+echo "configure:1345: 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
@@ -1347,7 +1384,7 @@ fi
 echo "using CFLAGS=$CFLAGS"
 # Check if the compiler still works with the template settings
 echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:1351: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+echo "configure:1388: 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.
@@ -1358,12 +1395,12 @@ cross_compiling=$ac_cv_prog_cc_cross
 
 cat > conftest.$ac_ext << EOF
 
-#line 1362 "configure"
+#line 1399 "configure"
 #include "confdefs.h"
 
 main(){return(0);}
 EOF
-if { (eval echo configure:1367: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1404: \"$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
@@ -1389,17 +1426,17 @@ 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:1393: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:1430: 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 for Cygwin environment""... $ac_c" 1>&6
-echo "configure:1398: checking for Cygwin environment" >&5
+echo "configure:1435: 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 1403 "configure"
+#line 1440 "configure"
 #include "confdefs.h"
 
 int main() {
@@ -1410,7 +1447,7 @@ int main() {
 return __CYGWIN__;
 ; return 0; }
 EOF
-if { (eval echo configure:1414: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1451: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_cygwin=yes
 else
@@ -1427,19 +1464,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:1431: checking for mingw32 environment" >&5
+echo "configure:1468: 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 1436 "configure"
+#line 1473 "configure"
 #include "confdefs.h"
 
 int main() {
 return __MINGW32__;
 ; return 0; }
 EOF
-if { (eval echo configure:1443: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1480: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_mingw32=yes
 else
@@ -1458,7 +1495,7 @@ test "$ac_cv_mingw32" = yes && MINGW32=yes
 
 
 echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
-echo "configure:1462: checking for executable suffix" >&5
+echo "configure:1499: checking for executable suffix" >&5
 if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1468,7 +1505,7 @@ else
   rm -f conftest*
   echo 'int main () { return 0; }' > conftest.$ac_ext
   ac_cv_exeext=
-  if { (eval echo configure:1472: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+  if { (eval echo configure:1509: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
     for file in conftest.*; do
       case $file in
       *.c | *.o | *.obj) ;;
@@ -1489,7 +1526,7 @@ echo "$ac_t""${ac_cv_exeext}" 1>&6
 ac_exeext=$EXEEXT
 
 echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
-echo "configure:1493: checking how to run the C preprocessor" >&5
+echo "configure:1530: checking how to run the C preprocessor" >&5
 # On Suns, sometimes $CPP names a directory.
 if test -n "$CPP" && test -d "$CPP"; then
   CPP=
@@ -1504,13 +1541,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 1508 "configure"
+#line 1545 "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:1514: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1551: \"$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
   :
@@ -1521,13 +1558,13 @@ else
   rm -rf conftest*
   CPP="${CC-cc} -E -traditional-cpp"
   cat > conftest.$ac_ext <<EOF
-#line 1525 "configure"
+#line 1562 "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:1531: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1568: \"$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
   :
@@ -1538,13 +1575,13 @@ else
   rm -rf conftest*
   CPP="${CC-cc} -nologo -E"
   cat > conftest.$ac_ext <<EOF
-#line 1542 "configure"
+#line 1579 "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:1548: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1585: \"$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
   :
@@ -1570,13 +1607,13 @@ echo "$ac_t""$CPP" 1>&6
 
 if test $ac_cv_prog_gcc = yes; then
     echo $ac_n "checking whether ${CC-cc} needs -traditional""... $ac_c" 1>&6
-echo "configure:1574: checking whether ${CC-cc} needs -traditional" >&5
+echo "configure:1611: checking whether ${CC-cc} needs -traditional" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_gcc_traditional'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
     ac_pattern="Autoconf.*'x'"
   cat > conftest.$ac_ext <<EOF
-#line 1580 "configure"
+#line 1617 "configure"
 #include "confdefs.h"
 #include <sgtty.h>
 Autoconf TIOCGETP
@@ -1594,7 +1631,7 @@ rm -f conftest*
 
   if test $ac_cv_prog_gcc_traditional = no; then
     cat > conftest.$ac_ext <<EOF
-#line 1598 "configure"
+#line 1635 "configure"
 #include "confdefs.h"
 #include <termio.h>
 Autoconf TCGETA
@@ -1716,7 +1753,7 @@ IFS=$ac_save_IFS
 # Tcl/Tk
 #
 echo $ac_n "checking whether to build with Tcl""... $ac_c" 1>&6
-echo "configure:1720: checking whether to build with Tcl" >&5
+echo "configure:1757: checking whether to build with Tcl" >&5
 # Check whether --with-tcl was given
 if test x"${with_tcl+set}" = xset; then
   case $with_tcl in
@@ -1740,7 +1777,7 @@ echo "$ac_t""$with_tcl" 1>&6
 
 # If Tcl is enabled (above) then Tk is also, unless the user disables it using --without-tk
 echo $ac_n "checking whether to build with Tk""... $ac_c" 1>&6
-echo "configure:1744: checking whether to build with Tk" >&5
+echo "configure:1781: checking whether to build with Tk" >&5
 if test "$with_tcl" = yes; then
   # Check whether --with-tk was given
 if test x"${with_tk+set}" = xset; then
@@ -1802,7 +1839,7 @@ fi
 # If Tcl is enabled (above) then check for pltcl_unknown_support
 #
 echo $ac_n "checking whether to build with PL/Tcl unknown support""... $ac_c" 1>&6
-echo "configure:1806: checking whether to build with PL/Tcl unknown support" >&5
+echo "configure:1843: checking whether to build with PL/Tcl unknown support" >&5
 if test "$with_tcl" = yes; then
   # Check whether --enable-pltcl-unknown was given
 if test x"${enable_pltcl_unknown+set}" = xset; then
@@ -1836,7 +1873,7 @@ echo "$ac_t""$enable_pltcl_unknown" 1>&6
 # Optionally build Perl modules (Pg.pm and PL/Perl)
 #
 echo $ac_n "checking whether to build Perl modules""... $ac_c" 1>&6
-echo "configure:1840: checking whether to build Perl modules" >&5
+echo "configure:1877: checking whether to build Perl modules" >&5
 # Check whether --with-perl was given
 if test x"${with_perl+set}" = xset; then
   case $with_perl in
@@ -1863,7 +1900,7 @@ echo "$ac_t""$with_perl" 1>&6
 # Optionally build Python interface module
 #
 echo $ac_n "checking whether to build Python modules""... $ac_c" 1>&6
-echo "configure:1867: checking whether to build Python modules" >&5
+echo "configure:1904: checking whether to build Python modules" >&5
 # Check whether --with-python was given
 if test x"${with_python+set}" = xset; then
   case $with_python in
@@ -1889,7 +1926,7 @@ echo "$ac_t""$with_python" 1>&6
 # Optionally build the Java/JDBC tools
 #
 echo $ac_n "checking whether to build Java/JDBC tools""... $ac_c" 1>&6
-echo "configure:1893: checking whether to build Java/JDBC tools" >&5
+echo "configure:1930: checking whether to build Java/JDBC tools" >&5
 # Check whether --with-java was given
 if test x"${with_java+set}" = xset; then
   case $with_java in
@@ -1900,7 +1937,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:1904: checking for $ac_word" >&5
+echo "configure:1941: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_ANT'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2129,7 +2166,7 @@ if test "${with_odbc+set}" = set && test "${enable_odbc+set}" != set; then
 fi
  
 echo $ac_n "checking whether to build the ODBC driver""... $ac_c" 1>&6
-echo "configure:2133: checking whether to build the ODBC driver" >&5
+echo "configure:2170: checking whether to build the ODBC driver" >&5
 # Check whether --enable-odbc was given
 if test x"${enable_odbc+set}" = xset; then
   case $enable_odbc in
@@ -2183,7 +2220,7 @@ case $host_os in
 esac
 
 cat > conftest.$ac_ext <<EOF
-#line 2187 "configure"
+#line 2224 "configure"
 #include "confdefs.h"
 #if __ELF__
   yes
@@ -2212,7 +2249,7 @@ rm -f conftest*
 # Optionally build C++ code (i.e., libpq++)
 #
 echo $ac_n "checking whether to build C++ modules""... $ac_c" 1>&6
-echo "configure:2216: checking whether to build C++ modules" >&5
+echo "configure:2253: checking whether to build C++ modules" >&5
 # Check whether --with-CXX was given
 if test x"${with_CXX+set}" = xset; then
   case $with_CXX in
@@ -2245,7 +2282,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:2249: checking for $ac_word" >&5
+echo "configure:2286: 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
@@ -2277,7 +2314,7 @@ test -n "$CXX" || CXX="gcc"
 
 
 echo $ac_n "checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:2281: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works" >&5
+echo "configure:2318: 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.
@@ -2288,12 +2325,12 @@ cross_compiling=$ac_cv_prog_cxx_cross
 
 cat > conftest.$ac_ext << EOF
 
-#line 2292 "configure"
+#line 2329 "configure"
 #include "confdefs.h"
 
 int main(){return(0);}
 EOF
-if { (eval echo configure:2297: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2334: \"$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
@@ -2319,12 +2356,12 @@ 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:2323: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:2360: 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
 
 echo $ac_n "checking whether we are using GNU C++""... $ac_c" 1>&6
-echo "configure:2328: checking whether we are using GNU C++" >&5
+echo "configure:2365: checking whether we are using GNU C++" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_gxx'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2333,7 +2370,7 @@ else
   yes;
 #endif
 EOF
-if { ac_try='${CXX-g++} -E conftest.C'; { (eval echo configure:2337: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+if { ac_try='${CXX-g++} -E conftest.C'; { (eval echo configure:2374: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
   ac_cv_prog_gxx=yes
 else
   ac_cv_prog_gxx=no
@@ -2352,7 +2389,7 @@ ac_test_CXXFLAGS="${CXXFLAGS+set}"
 ac_save_CXXFLAGS="$CXXFLAGS"
 CXXFLAGS=
 echo $ac_n "checking whether ${CXX-g++} accepts -g""... $ac_c" 1>&6
-echo "configure:2356: checking whether ${CXX-g++} accepts -g" >&5
+echo "configure:2393: checking whether ${CXX-g++} accepts -g" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_cxx_g'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2400,7 +2437,7 @@ fi
   echo "using CXXFLAGS=$CXXFLAGS"
 
   echo $ac_n "checking how to run the C++ preprocessor""... $ac_c" 1>&6
-echo "configure:2404: checking how to run the C++ preprocessor" >&5
+echo "configure:2441: checking how to run the C++ preprocessor" >&5
 if test -z "$CXXCPP"; then
 if eval "test \"`echo '$''{'ac_cv_prog_CXXCPP'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -2413,12 +2450,12 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
   CXXCPP="${CXX-g++} -E"
   cat > conftest.$ac_ext <<EOF
-#line 2417 "configure"
+#line 2454 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2422: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2459: \"$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
   :
@@ -2453,17 +2490,17 @@ cross_compiling=$ac_cv_prog_cxx_cross
 
 ac_safe=`echo "string" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for string""... $ac_c" 1>&6
-echo "configure:2457: checking for string" >&5
+echo "configure:2494: checking for string" >&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 2462 "configure"
+#line 2499 "configure"
 #include "confdefs.h"
 #include <string>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2467: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2504: \"$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*
@@ -2490,12 +2527,12 @@ fi
 
 if test x"$ac_cv_header_string" != xyes ; then
   echo $ac_n "checking for class string in <string.h>""... $ac_c" 1>&6
-echo "configure:2494: checking for class string in <string.h>" >&5
+echo "configure:2531: checking for class string in <string.h>" >&5
 if eval "test \"`echo '$''{'pgac_cv_class_string_in_string_h'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2499 "configure"
+#line 2536 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 #include <stdlib.h>
@@ -2505,7 +2542,7 @@ int main() {
 string foo = "test"
 ; return 0; }
 EOF
-if { (eval echo configure:2509: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2546: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   pgac_cv_class_string_in_string_h=yes
 else
@@ -2532,7 +2569,7 @@ cross_compiling=$ac_cv_prog_cc_cross
 
   
 echo $ac_n "checking for namespace std in C++""... $ac_c" 1>&6
-echo "configure:2536: checking for namespace std in C++" >&5
+echo "configure:2573: checking for namespace std in C++" >&5
 if eval "test \"`echo '$''{'pgac_cv_cxx_namespace_std'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2546,7 +2583,7 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes
 cross_compiling=$ac_cv_prog_cxx_cross
 
 cat > conftest.$ac_ext <<EOF
-#line 2550 "configure"
+#line 2587 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 #include <stdlib.h>
@@ -2559,7 +2596,7 @@ int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:2563: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2600: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   pgac_cv_cxx_namespace_std=yes
 else
@@ -2605,7 +2642,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:2609: checking for $ac_word" >&5
+echo "configure:2646: 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
@@ -2635,7 +2672,7 @@ test -n "$AWK" && break
 done
 
 echo $ac_n "checking for flex""... $ac_c" 1>&6
-echo "configure:2639: checking for flex" >&5
+echo "configure:2676: checking for flex" >&5
 if eval "test \"`echo '$''{'pgac_cv_path_flex'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2700,7 +2737,7 @@ fi
 
 
 echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6
-echo "configure:2704: checking whether ln -s works" >&5
+echo "configure:2741: 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
@@ -2732,7 +2769,7 @@ ac_prog=ld
 if test "$ac_cv_prog_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:2736: checking for ld used by GCC" >&5
+echo "configure:2773: checking for ld used by GCC" >&5
   case $host in
   *-*-mingw*)
     # gcc leaves a trailing carriage return which upsets mingw
@@ -2762,10 +2799,10 @@ echo "configure:2736: 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:2766: checking for GNU ld" >&5
+echo "configure:2803: checking for GNU ld" >&5
 else
   echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6
-echo "configure:2769: checking for non-GNU ld" >&5
+echo "configure:2806: checking for non-GNU ld" >&5
 fi
 if eval "test \"`echo '$''{'ac_cv_path_LD'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -2800,7 +2837,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:2804: checking if the linker ($LD) is GNU ld" >&5
+echo "configure:2841: checking if the linker ($LD) is GNU ld" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_gnu_ld'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2820,21 +2857,21 @@ with_gnu_ld=$ac_cv_prog_gnu_ld
 
 case $host_os in sysv5uw*)
   echo $ac_n "checking whether ld -R works""... $ac_c" 1>&6
-echo "configure:2824: checking whether ld -R works" >&5
+echo "configure:2861: checking whether ld -R works" >&5
 if eval "test \"`echo '$''{'pgac_cv_prog_ld_R'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
     pgac_save_LDFLAGS=$LDFLAGS; LDFLAGS="$LDFLAGS -Wl,-R/usr/lib"
     cat > conftest.$ac_ext <<EOF
-#line 2831 "configure"
+#line 2868 "configure"
 #include "confdefs.h"
 
 int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:2838: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2875: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   pgac_cv_prog_ld_R=yes
 else
@@ -2855,7 +2892,7 @@ esac
 # 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:2859: checking for $ac_word" >&5
+echo "configure:2896: 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
@@ -2887,7 +2924,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:2891: checking for $ac_word" >&5
+echo "configure:2928: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_LORDER'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2919,7 +2956,7 @@ done
 # Extract the first word of "tar", so it can be a program name with args.
 set dummy tar; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2923: checking for $ac_word" >&5
+echo "configure:2960: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_TAR'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2956,7 +2993,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:2960: checking for $ac_word" >&5
+echo "configure:2997: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_PERL'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2991,7 +3028,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:2995: checking for $ac_word" >&5
+echo "configure:3032: 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
@@ -3036,7 +3073,7 @@ if test "$with_tk" = yes; then
     # Extract the first word of "wish", so it can be a program name with args.
 set dummy wish; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3040: checking for $ac_word" >&5
+echo "configure:3077: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_WISH'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3075,7 +3112,7 @@ if test "$with_python" = yes; then
   # Extract the first word of "python", so it can be a program name with args.
 set dummy python; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:3079: checking for $ac_word" >&5
+echo "configure:3116: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_PYTHON'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3123,7 +3160,7 @@ python_dynlibdir="${python_execprefix}/lib/python${python_version}/lib-dynload"
 
 
 echo $ac_n "checking for makefile to build Python module""... $ac_c" 1>&6
-echo "configure:3127: checking for makefile to build Python module" >&5
+echo "configure:3164: checking for makefile to build Python module" >&5
 python_makefile_pre_in="${python_configdir}/Makefile.pre.in"
 
 if test -f "${python_makefile_pre_in}" ; then
@@ -3139,7 +3176,7 @@ fi
 
   
 echo $ac_n "checking how to link an embedded Python application""... $ac_c" 1>&6
-echo "configure:3143: checking how to link an embedded Python application" >&5
+echo "configure:3180: checking how to link an embedded Python application" >&5
 
 _python_libs=`grep '^LIBS=' $python_configdir/Makefile | sed 's/^.*=//'`
 _python_libc=`grep '^LIBC=' $python_configdir/Makefile | sed 's/^.*=//'`
@@ -3161,7 +3198,7 @@ fi
 ##
 
 echo $ac_n "checking for readline""... $ac_c" 1>&6
-echo "configure:3165: checking for readline" >&5
+echo "configure:3202: checking for readline" >&5
 
 if eval "test \"`echo '$''{'pgac_cv_check_readline'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -3172,7 +3209,7 @@ for pgac_lib in "" " -ltermcap" " -lncurses" " -lcurses" ; do
     pgac_save_LIBS=$LIBS
     LIBS="${pgac_rllib}${pgac_lib} $LIBS"
     cat > conftest.$ac_ext <<EOF
-#line 3176 "configure"
+#line 3213 "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
@@ -3183,7 +3220,7 @@ int main() {
 readline()
 ; return 0; }
 EOF
-if { (eval echo configure:3187: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3224: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   pgac_cv_check_readline="${pgac_rllib}${pgac_lib}"; break 2
 else
@@ -3210,14 +3247,14 @@ else
 fi
 
 echo $ac_n "checking for library containing using_history""... $ac_c" 1>&6
-echo "configure:3214: checking for library containing using_history" >&5
+echo "configure:3251: checking for library containing using_history" >&5
 if eval "test \"`echo '$''{'ac_cv_search_using_history'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   ac_func_search_save_LIBS="$LIBS"
 ac_cv_search_using_history="no"
 cat > conftest.$ac_ext <<EOF
-#line 3221 "configure"
+#line 3258 "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
@@ -3228,7 +3265,7 @@ int main() {
 using_history()
 ; return 0; }
 EOF
-if { (eval echo configure:3232: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3269: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   ac_cv_search_using_history="none required"
 else
@@ -3239,7 +3276,7 @@ rm -f conftest*
 test "$ac_cv_search_using_history" = "no" && for i in history; do
 LIBS="-l$i  $ac_func_search_save_LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 3243 "configure"
+#line 3280 "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
@@ -3250,7 +3287,7 @@ int main() {
 using_history()
 ; return 0; }
 EOF
-if { (eval echo configure:3254: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3291: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   ac_cv_search_using_history="-l$i"
 break
@@ -3277,7 +3314,7 @@ fi
 if test "$PORTNAME" != "aix" -a "$PORTNAME" != "alpha"
 then
        echo $ac_n "checking for main in -lbsd""... $ac_c" 1>&6
-echo "configure:3281: checking for main in -lbsd" >&5
+echo "configure:3318: checking for main in -lbsd" >&5
 ac_lib_var=`echo bsd'_'main | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -3285,14 +3322,14 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lbsd  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 3289 "configure"
+#line 3326 "configure"
 #include "confdefs.h"
 
 int main() {
 main()
 ; return 0; }
 EOF
-if { (eval echo configure:3296: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3333: \"$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
@@ -3321,7 +3358,7 @@ fi
 
 fi
 echo $ac_n "checking for setproctitle in -lutil""... $ac_c" 1>&6
-echo "configure:3325: checking for setproctitle in -lutil" >&5
+echo "configure:3362: checking for setproctitle in -lutil" >&5
 ac_lib_var=`echo util'_'setproctitle | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -3329,7 +3366,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lutil  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 3333 "configure"
+#line 3370 "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
@@ -3340,7 +3377,7 @@ int main() {
 setproctitle()
 ; return 0; }
 EOF
-if { (eval echo configure:3344: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3381: \"$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
@@ -3368,7 +3405,7 @@ else
 fi
 
 echo $ac_n "checking for main in -lm""... $ac_c" 1>&6
-echo "configure:3372: checking for main in -lm" >&5
+echo "configure:3409: checking for main in -lm" >&5
 ac_lib_var=`echo m'_'main | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -3376,14 +3413,14 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lm  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 3380 "configure"
+#line 3417 "configure"
 #include "confdefs.h"
 
 int main() {
 main()
 ; return 0; }
 EOF
-if { (eval echo configure:3387: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3424: \"$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
@@ -3411,7 +3448,7 @@ else
 fi
 
 echo $ac_n "checking for main in -ldl""... $ac_c" 1>&6
-echo "configure:3415: checking for main in -ldl" >&5
+echo "configure:3452: checking for main in -ldl" >&5
 ac_lib_var=`echo dl'_'main | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -3419,14 +3456,14 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-ldl  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 3423 "configure"
+#line 3460 "configure"
 #include "confdefs.h"
 
 int main() {
 main()
 ; return 0; }
 EOF
-if { (eval echo configure:3430: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3467: \"$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
@@ -3454,7 +3491,7 @@ else
 fi
 
 echo $ac_n "checking for main in -lsocket""... $ac_c" 1>&6
-echo "configure:3458: checking for main in -lsocket" >&5
+echo "configure:3495: checking for main in -lsocket" >&5
 ac_lib_var=`echo socket'_'main | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -3462,14 +3499,14 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lsocket  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 3466 "configure"
+#line 3503 "configure"
 #include "confdefs.h"
 
 int main() {
 main()
 ; return 0; }
 EOF
-if { (eval echo configure:3473: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3510: \"$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
@@ -3497,7 +3534,7 @@ else
 fi
 
 echo $ac_n "checking for main in -lnsl""... $ac_c" 1>&6
-echo "configure:3501: checking for main in -lnsl" >&5
+echo "configure:3538: checking for main in -lnsl" >&5
 ac_lib_var=`echo nsl'_'main | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -3505,14 +3542,14 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lnsl  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 3509 "configure"
+#line 3546 "configure"
 #include "confdefs.h"
 
 int main() {
 main()
 ; return 0; }
 EOF
-if { (eval echo configure:3516: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3553: \"$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
@@ -3540,7 +3577,7 @@ else
 fi
 
 echo $ac_n "checking for main in -lipc""... $ac_c" 1>&6
-echo "configure:3544: checking for main in -lipc" >&5
+echo "configure:3581: checking for main in -lipc" >&5
 ac_lib_var=`echo ipc'_'main | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -3548,14 +3585,14 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lipc  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 3552 "configure"
+#line 3589 "configure"
 #include "confdefs.h"
 
 int main() {
 main()
 ; return 0; }
 EOF
-if { (eval echo configure:3559: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3596: \"$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
@@ -3583,7 +3620,7 @@ else
 fi
 
 echo $ac_n "checking for main in -lIPC""... $ac_c" 1>&6
-echo "configure:3587: checking for main in -lIPC" >&5
+echo "configure:3624: checking for main in -lIPC" >&5
 ac_lib_var=`echo IPC'_'main | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -3591,14 +3628,14 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lIPC  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 3595 "configure"
+#line 3632 "configure"
 #include "confdefs.h"
 
 int main() {
 main()
 ; return 0; }
 EOF
-if { (eval echo configure:3602: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3639: \"$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
@@ -3626,7 +3663,7 @@ else
 fi
 
 echo $ac_n "checking for main in -llc""... $ac_c" 1>&6
-echo "configure:3630: checking for main in -llc" >&5
+echo "configure:3667: checking for main in -llc" >&5
 ac_lib_var=`echo lc'_'main | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -3634,14 +3671,14 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-llc  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 3638 "configure"
+#line 3675 "configure"
 #include "confdefs.h"
 
 int main() {
 main()
 ; return 0; }
 EOF
-if { (eval echo configure:3645: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3682: \"$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
@@ -3669,7 +3706,7 @@ else
 fi
 
 echo $ac_n "checking for main in -ldld""... $ac_c" 1>&6
-echo "configure:3673: checking for main in -ldld" >&5
+echo "configure:3710: checking for main in -ldld" >&5
 ac_lib_var=`echo dld'_'main | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -3677,14 +3714,14 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-ldld  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 3681 "configure"
+#line 3718 "configure"
 #include "confdefs.h"
 
 int main() {
 main()
 ; return 0; }
 EOF
-if { (eval echo configure:3688: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3725: \"$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
@@ -3712,7 +3749,7 @@ else
 fi
 
 echo $ac_n "checking for main in -lld""... $ac_c" 1>&6
-echo "configure:3716: checking for main in -lld" >&5
+echo "configure:3753: checking for main in -lld" >&5
 ac_lib_var=`echo ld'_'main | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -3720,14 +3757,14 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lld  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 3724 "configure"
+#line 3761 "configure"
 #include "confdefs.h"
 
 int main() {
 main()
 ; return 0; }
 EOF
-if { (eval echo configure:3731: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3768: \"$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
@@ -3755,7 +3792,7 @@ else
 fi
 
 echo $ac_n "checking for main in -lcompat""... $ac_c" 1>&6
-echo "configure:3759: checking for main in -lcompat" >&5
+echo "configure:3796: checking for main in -lcompat" >&5
 ac_lib_var=`echo compat'_'main | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -3763,14 +3800,14 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lcompat  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 3767 "configure"
+#line 3804 "configure"
 #include "confdefs.h"
 
 int main() {
 main()
 ; return 0; }
 EOF
-if { (eval echo configure:3774: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3811: \"$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
@@ -3798,7 +3835,7 @@ else
 fi
 
 echo $ac_n "checking for main in -lBSD""... $ac_c" 1>&6
-echo "configure:3802: checking for main in -lBSD" >&5
+echo "configure:3839: checking for main in -lBSD" >&5
 ac_lib_var=`echo BSD'_'main | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -3806,14 +3843,14 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lBSD  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 3810 "configure"
+#line 3847 "configure"
 #include "confdefs.h"
 
 int main() {
 main()
 ; return 0; }
 EOF
-if { (eval echo configure:3817: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3854: \"$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
@@ -3841,7 +3878,7 @@ else
 fi
 
 echo $ac_n "checking for main in -lgen""... $ac_c" 1>&6
-echo "configure:3845: checking for main in -lgen" >&5
+echo "configure:3882: checking for main in -lgen" >&5
 ac_lib_var=`echo gen'_'main | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -3849,14 +3886,14 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lgen  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 3853 "configure"
+#line 3890 "configure"
 #include "confdefs.h"
 
 int main() {
 main()
 ; return 0; }
 EOF
-if { (eval echo configure:3860: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3897: \"$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
@@ -3884,7 +3921,7 @@ else
 fi
 
 echo $ac_n "checking for main in -lPW""... $ac_c" 1>&6
-echo "configure:3888: checking for main in -lPW" >&5
+echo "configure:3925: checking for main in -lPW" >&5
 ac_lib_var=`echo PW'_'main | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -3892,14 +3929,14 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lPW  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 3896 "configure"
+#line 3933 "configure"
 #include "confdefs.h"
 
 int main() {
 main()
 ; return 0; }
 EOF
-if { (eval echo configure:3903: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3940: \"$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
@@ -3927,7 +3964,7 @@ else
 fi
 
 echo $ac_n "checking for main in -lresolv""... $ac_c" 1>&6
-echo "configure:3931: checking for main in -lresolv" >&5
+echo "configure:3968: checking for main in -lresolv" >&5
 ac_lib_var=`echo resolv'_'main | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -3935,14 +3972,14 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lresolv  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 3939 "configure"
+#line 3976 "configure"
 #include "confdefs.h"
 
 int main() {
 main()
 ; return 0; }
 EOF
-if { (eval echo configure:3946: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3983: \"$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
@@ -3970,7 +4007,7 @@ else
 fi
 
 echo $ac_n "checking for main in -lunix""... $ac_c" 1>&6
-echo "configure:3974: checking for main in -lunix" >&5
+echo "configure:4011: checking for main in -lunix" >&5
 ac_lib_var=`echo unix'_'main | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -3978,14 +4015,14 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lunix  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 3982 "configure"
+#line 4019 "configure"
 #include "confdefs.h"
 
 int main() {
 main()
 ; return 0; }
 EOF
-if { (eval echo configure:3989: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4026: \"$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
@@ -4014,14 +4051,14 @@ fi
 
 
 echo $ac_n "checking for library containing crypt""... $ac_c" 1>&6
-echo "configure:4018: checking for library containing crypt" >&5
+echo "configure:4055: checking for library containing crypt" >&5
 if eval "test \"`echo '$''{'ac_cv_search_crypt'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   ac_func_search_save_LIBS="$LIBS"
 ac_cv_search_crypt="no"
 cat > conftest.$ac_ext <<EOF
-#line 4025 "configure"
+#line 4062 "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
@@ -4032,7 +4069,7 @@ int main() {
 crypt()
 ; return 0; }
 EOF
-if { (eval echo configure:4036: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4073: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   ac_cv_search_crypt="none required"
 else
@@ -4043,7 +4080,7 @@ rm -f conftest*
 test "$ac_cv_search_crypt" = "no" && for i in crypt; do
 LIBS="-l$i  $ac_func_search_save_LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 4047 "configure"
+#line 4084 "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
@@ -4054,7 +4091,7 @@ int main() {
 crypt()
 ; return 0; }
 EOF
-if { (eval echo configure:4058: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4095: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   ac_cv_search_crypt="-l$i"
 break
@@ -4075,7 +4112,7 @@ else :
   
 fi
 echo $ac_n "checking for __inet_ntoa in -lbind""... $ac_c" 1>&6
-echo "configure:4079: checking for __inet_ntoa in -lbind" >&5
+echo "configure:4116: checking for __inet_ntoa in -lbind" >&5
 ac_lib_var=`echo bind'_'__inet_ntoa | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -4083,7 +4120,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lbind  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 4087 "configure"
+#line 4124 "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
@@ -4094,7 +4131,7 @@ int main() {
 __inet_ntoa()
 ; return 0; }
 EOF
-if { (eval echo configure:4098: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4135: \"$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
@@ -4122,7 +4159,7 @@ else
 fi
 
 cat > conftest.$ac_ext <<EOF
-#line 4126 "configure"
+#line 4163 "configure"
 #include "confdefs.h"
 #include <zlib.h>
 EOF
@@ -4131,7 +4168,7 @@ if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
   rm -rf conftest*
   
 echo $ac_n "checking for inflate in -lz""... $ac_c" 1>&6
-echo "configure:4135: checking for inflate in -lz" >&5
+echo "configure:4172: checking for inflate in -lz" >&5
 ac_lib_var=`echo z'_'inflate | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -4139,7 +4176,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lz  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 4143 "configure"
+#line 4180 "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
@@ -4150,7 +4187,7 @@ int main() {
 inflate()
 ; return 0; }
 EOF
-if { (eval echo configure:4154: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4191: \"$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
@@ -4185,7 +4222,7 @@ rm -f conftest*
 
 if test "$with_krb4" = yes ; then
   echo $ac_n "checking for des_encrypt in -ldes""... $ac_c" 1>&6
-echo "configure:4189: checking for des_encrypt in -ldes" >&5
+echo "configure:4226: checking for des_encrypt in -ldes" >&5
 ac_lib_var=`echo des'_'des_encrypt | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -4193,7 +4230,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-ldes  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 4197 "configure"
+#line 4234 "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
@@ -4204,7 +4241,7 @@ int main() {
 des_encrypt()
 ; return 0; }
 EOF
-if { (eval echo configure:4208: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4245: \"$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
@@ -4233,7 +4270,7 @@ else
 fi
 
   echo $ac_n "checking for krb_sendauth in -lkrb""... $ac_c" 1>&6
-echo "configure:4237: checking for krb_sendauth in -lkrb" >&5
+echo "configure:4274: checking for krb_sendauth in -lkrb" >&5
 ac_lib_var=`echo krb'_'krb_sendauth | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -4241,7 +4278,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lkrb  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 4245 "configure"
+#line 4282 "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
@@ -4252,7 +4289,7 @@ int main() {
 krb_sendauth()
 ; return 0; }
 EOF
-if { (eval echo configure:4256: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4293: \"$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
@@ -4284,7 +4321,7 @@ fi
 
 if test "$with_krb5" = yes ; then
   echo $ac_n "checking for com_err in -lcom_err""... $ac_c" 1>&6
-echo "configure:4288: checking for com_err in -lcom_err" >&5
+echo "configure:4325: checking for com_err in -lcom_err" >&5
 ac_lib_var=`echo com_err'_'com_err | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -4292,7 +4329,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lcom_err  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 4296 "configure"
+#line 4333 "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
@@ -4303,7 +4340,7 @@ int main() {
 com_err()
 ; return 0; }
 EOF
-if { (eval echo configure:4307: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4344: \"$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
@@ -4332,7 +4369,7 @@ else
 fi
 
   echo $ac_n "checking for krb5_encrypt in -lcrypto""... $ac_c" 1>&6
-echo "configure:4336: checking for krb5_encrypt in -lcrypto" >&5
+echo "configure:4373: checking for krb5_encrypt in -lcrypto" >&5
 ac_lib_var=`echo crypto'_'krb5_encrypt | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -4340,7 +4377,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lcrypto  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 4344 "configure"
+#line 4381 "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
@@ -4351,7 +4388,7 @@ int main() {
 krb5_encrypt()
 ; return 0; }
 EOF
-if { (eval echo configure:4355: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4392: \"$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
@@ -4377,7 +4414,7 @@ EOF
 else
   echo "$ac_t""no" 1>&6
 echo $ac_n "checking for krb5_encrypt in -lk5crypto""... $ac_c" 1>&6
-echo "configure:4381: checking for krb5_encrypt in -lk5crypto" >&5
+echo "configure:4418: checking for krb5_encrypt in -lk5crypto" >&5
 ac_lib_var=`echo k5crypto'_'krb5_encrypt | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -4385,7 +4422,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lk5crypto  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 4389 "configure"
+#line 4426 "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
@@ -4396,7 +4433,7 @@ int main() {
 krb5_encrypt()
 ; return 0; }
 EOF
-if { (eval echo configure:4400: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4437: \"$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
@@ -4427,7 +4464,7 @@ fi
 fi
 
   echo $ac_n "checking for krb5_sendauth in -lkrb5""... $ac_c" 1>&6
-echo "configure:4431: checking for krb5_sendauth in -lkrb5" >&5
+echo "configure:4468: checking for krb5_sendauth in -lkrb5" >&5
 ac_lib_var=`echo krb5'_'krb5_sendauth | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -4435,7 +4472,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lkrb5  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 4439 "configure"
+#line 4476 "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
@@ -4446,7 +4483,7 @@ int main() {
 krb5_sendauth()
 ; return 0; }
 EOF
-if { (eval echo configure:4450: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4487: \"$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
@@ -4478,7 +4515,7 @@ fi
 
 if test "$with_openssl" = yes ; then
     echo $ac_n "checking for CRYPTO_new_ex_data in -lcrypto""... $ac_c" 1>&6
-echo "configure:4482: checking for CRYPTO_new_ex_data in -lcrypto" >&5
+echo "configure:4519: checking for CRYPTO_new_ex_data in -lcrypto" >&5
 ac_lib_var=`echo crypto'_'CRYPTO_new_ex_data | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -4486,7 +4523,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lcrypto  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 4490 "configure"
+#line 4527 "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
@@ -4497,7 +4534,7 @@ int main() {
 CRYPTO_new_ex_data()
 ; return 0; }
 EOF
-if { (eval echo configure:4501: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4538: \"$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
@@ -4526,7 +4563,7 @@ else
 fi
 
   echo $ac_n "checking for SSL_library_init in -lssl""... $ac_c" 1>&6
-echo "configure:4530: checking for SSL_library_init in -lssl" >&5
+echo "configure:4567: checking for SSL_library_init in -lssl" >&5
 ac_lib_var=`echo ssl'_'SSL_library_init | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -4534,7 +4571,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lssl  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 4538 "configure"
+#line 4575 "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
@@ -4545,7 +4582,7 @@ int main() {
 SSL_library_init()
 ; return 0; }
 EOF
-if { (eval echo configure:4549: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4586: \"$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
@@ -4573,6 +4610,225 @@ else
 { echo "configure: error: library 'ssl' is required for OpenSSL" 1>&2; exit 1; }
 fi
 
+fi
+
+if test "$enable_nls" = yes ; then
+  
+  
+echo $ac_n "checking for library containing gettext""... $ac_c" 1>&6
+echo "configure:4620: checking for library containing gettext" >&5
+if eval "test \"`echo '$''{'ac_cv_search_gettext'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  ac_func_search_save_LIBS="$LIBS"
+ac_cv_search_gettext="no"
+cat > conftest.$ac_ext <<EOF
+#line 4627 "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
+    builtin and then its argument prototype would still apply.  */
+char gettext();
+
+int main() {
+gettext()
+; return 0; }
+EOF
+if { (eval echo configure:4638: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  rm -rf conftest*
+  ac_cv_search_gettext="none required"
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+fi
+rm -f conftest*
+test "$ac_cv_search_gettext" = "no" && for i in intl; do
+LIBS="-l$i  $ac_func_search_save_LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 4649 "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
+    builtin and then its argument prototype would still apply.  */
+char gettext();
+
+int main() {
+gettext()
+; return 0; }
+EOF
+if { (eval echo configure:4660: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+  rm -rf conftest*
+  ac_cv_search_gettext="-l$i"
+break
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+fi
+rm -f conftest*
+done
+LIBS="$ac_func_search_save_LIBS"
+fi
+
+echo "$ac_t""$ac_cv_search_gettext" 1>&6
+if test "$ac_cv_search_gettext" != "no"; then
+  test "$ac_cv_search_gettext" = "none required" || LIBS="$ac_cv_search_gettext $LIBS"
+  
+else :
+  { echo "configure: error: a gettext implementation is required for NLS" 1>&2; exit 1; }
+fi
+  ac_safe=`echo "libintl.h" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for libintl.h""... $ac_c" 1>&6
+echo "configure:4682: 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 4687 "configure"
+#include "confdefs.h"
+#include <libintl.h>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:4692: \"$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*
+  eval "ac_cv_header_$ac_safe=yes"
+else
+  echo "$ac_err" >&5
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+  echo "$ac_t""yes" 1>&6
+  :
+else
+  echo "$ac_t""no" 1>&6
+{ echo "configure: error: header file <libintl.h> is required for NLS" 1>&2; exit 1; }
+fi
+
+  for ac_prog in msgfmt
+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:4719: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_MSGFMT'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  if test -n "$MSGFMT"; then
+  ac_cv_prog_MSGFMT="$MSGFMT" # 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_MSGFMT="$ac_prog"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+fi
+fi
+MSGFMT="$ac_cv_prog_MSGFMT"
+if test -n "$MSGFMT"; then
+  echo "$ac_t""$MSGFMT" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+test -n "$MSGFMT" && break
+done
+
+  if test -z "$MSGFMT"; then
+    { echo "configure: error: msgfmt is required for NLS" 1>&2; exit 1; }
+  fi
+  for ac_prog in msgmerge
+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:4756: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_MSGMERGE'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  if test -n "$MSGMERGE"; then
+  ac_cv_prog_MSGMERGE="$MSGMERGE" # 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_MSGMERGE="$ac_prog"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+fi
+fi
+MSGMERGE="$ac_cv_prog_MSGMERGE"
+if test -n "$MSGMERGE"; then
+  echo "$ac_t""$MSGMERGE" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+test -n "$MSGMERGE" && break
+done
+
+  for ac_prog in xgettext
+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:4790: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_XGETTEXT'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  if test -n "$XGETTEXT"; then
+  ac_cv_prog_XGETTEXT="$XGETTEXT" # 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_XGETTEXT="$ac_prog"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+fi
+fi
+XGETTEXT="$ac_cv_prog_XGETTEXT"
+if test -n "$XGETTEXT"; then
+  echo "$ac_t""$XGETTEXT" 1>&6
+else
+  echo "$ac_t""no" 1>&6
+fi
+
+test -n "$XGETTEXT" && break
+done
+
+
+  # Note: share/locale is always the default, independent of $datadir
+  if test x"$prefix" = x"NONE"; then
+    localedir="$ac_default_prefix/share/locale"
+  else
+    localedir="$prefix/share/locale"
+  fi
+
+  
+  cat >> confdefs.h <<EOF
+#define LOCALEDIR "$localedir"
+EOF
+
+
 fi
 
 
@@ -4583,17 +4839,17 @@ for ac_hdr in crypt.h dld.h endian.h fp_class.h getopt.h ieeefp.h pwd.h sys/ipc.
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:4587: checking for $ac_hdr" >&5
+echo "configure:4843: 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 4592 "configure"
+#line 4848 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4597: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:4853: \"$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*
@@ -4624,17 +4880,17 @@ for ac_hdr in netinet/in.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:4628: checking for $ac_hdr" >&5
+echo "configure:4884: 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 4633 "configure"
+#line 4889 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4638: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:4894: \"$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*
@@ -4661,9 +4917,9 @@ fi
 done
 
 echo $ac_n "checking for netinet/tcp.h""... $ac_c" 1>&6
-echo "configure:4665: checking for netinet/tcp.h" >&5
+echo "configure:4921: checking for netinet/tcp.h" >&5
 cat > conftest.$ac_ext <<EOF
-#line 4667 "configure"
+#line 4923 "configure"
 #include "confdefs.h"
 
 #ifdef HAVE_NETINET_IN_H
@@ -4673,7 +4929,7 @@ cat > conftest.$ac_ext <<EOF
 
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4677: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:4933: \"$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*
@@ -4691,24 +4947,24 @@ fi
 rm -f conftest*
 
 echo $ac_n "checking whether string.h and strings.h may both be included""... $ac_c" 1>&6
-echo "configure:4695: checking whether string.h and strings.h may both be included" >&5
+echo "configure:4951: checking whether string.h and strings.h may both be included" >&5
 if eval "test \"`echo '$''{'pgac_cv_header_strings_both'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 4700 "configure"
+#line 4956 "configure"
 #include "confdefs.h"
 #include <string.h>
 #include <strings.h>
 
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4707: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:4963: \"$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*
   cat > conftest.$ac_ext <<EOF
-#line 4712 "configure"
+#line 4968 "configure"
 #include "confdefs.h"
 #include <string.h>
 #include <strings.h>
@@ -4717,7 +4973,7 @@ int main() {
 int n = strcasecmp("a", "b");
 ; return 0; }
 EOF
-if { (eval echo configure:4721: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4977: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   pgac_cv_header_strings_both=yes
 else
@@ -4749,17 +5005,17 @@ for ac_hdr in readline/readline.h readline.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:4753: checking for $ac_hdr" >&5
+echo "configure:5009: 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 4758 "configure"
+#line 5014 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4763: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:5019: \"$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*
@@ -4789,17 +5045,17 @@ for ac_hdr in readline/history.h history.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:4793: checking for $ac_hdr" >&5
+echo "configure:5049: 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 4798 "configure"
+#line 5054 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4803: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:5059: \"$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*
@@ -4829,17 +5085,17 @@ done
 if test "$with_krb4" = yes ; then
   ac_safe=`echo "krb.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for krb.h""... $ac_c" 1>&6
-echo "configure:4833: checking for krb.h" >&5
+echo "configure:5089: checking for krb.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 4838 "configure"
+#line 5094 "configure"
 #include "confdefs.h"
 #include <krb.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4843: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:5099: \"$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*
@@ -4866,17 +5122,17 @@ fi
 if test "$with_krb5" = yes ; then
   ac_safe=`echo "krb5.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for krb5.h""... $ac_c" 1>&6
-echo "configure:4870: checking for krb5.h" >&5
+echo "configure:5126: checking for krb5.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 4875 "configure"
+#line 5131 "configure"
 #include "confdefs.h"
 #include <krb5.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4880: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:5136: \"$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*
@@ -4900,17 +5156,17 @@ fi
 
   ac_safe=`echo "com_err.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for com_err.h""... $ac_c" 1>&6
-echo "configure:4904: checking for com_err.h" >&5
+echo "configure:5160: checking for com_err.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 4909 "configure"
+#line 5165 "configure"
 #include "confdefs.h"
 #include <com_err.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4914: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:5170: \"$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*
@@ -4937,17 +5193,17 @@ fi
 if test "$with_openssl" = yes ; then
   ac_safe=`echo "openssl/ssl.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for openssl/ssl.h""... $ac_c" 1>&6
-echo "configure:4941: checking for openssl/ssl.h" >&5
+echo "configure:5197: checking for openssl/ssl.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 4946 "configure"
+#line 5202 "configure"
 #include "confdefs.h"
 #include <openssl/ssl.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4951: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:5207: \"$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*
@@ -4971,17 +5227,17 @@ fi
 
   ac_safe=`echo "openssl/err.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for openssl/err.h""... $ac_c" 1>&6
-echo "configure:4975: checking for openssl/err.h" >&5
+echo "configure:5231: checking for openssl/err.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 4980 "configure"
+#line 5236 "configure"
 #include "confdefs.h"
 #include <openssl/err.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4985: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:5241: \"$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*
@@ -5010,12 +5266,12 @@ fi
 ## Types, structures, compiler characteristics
 ##
 echo $ac_n "checking for working const""... $ac_c" 1>&6
-echo "configure:5014: checking for working const" >&5
+echo "configure:5270: 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 5019 "configure"
+#line 5275 "configure"
 #include "confdefs.h"
 
 int main() {
@@ -5064,7 +5320,7 @@ ccp = (char const *const *) p;
 
 ; return 0; }
 EOF
-if { (eval echo configure:5068: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5324: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_c_const=yes
 else
@@ -5085,21 +5341,21 @@ EOF
 fi
 
 echo $ac_n "checking for inline""... $ac_c" 1>&6
-echo "configure:5089: checking for inline" >&5
+echo "configure:5345: 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 5096 "configure"
+#line 5352 "configure"
 #include "confdefs.h"
 
 int main() {
 } $ac_kw foo() {
 ; return 0; }
 EOF
-if { (eval echo configure:5103: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5359: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_c_inline=$ac_kw; break
 else
@@ -5127,12 +5383,12 @@ esac
 
 
 echo $ac_n "checking for preprocessor stringizing operator""... $ac_c" 1>&6
-echo "configure:5131: checking for preprocessor stringizing operator" >&5
+echo "configure:5387: checking for preprocessor stringizing operator" >&5
 if eval "test \"`echo '$''{'ac_cv_c_stringize'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5136 "configure"
+#line 5392 "configure"
 #include "confdefs.h"
 
 #define x(y) #y
@@ -5162,19 +5418,19 @@ fi
 echo "$ac_t""${ac_cv_c_stringize}" 1>&6
 
 echo $ac_n "checking for signed types""... $ac_c" 1>&6
-echo "configure:5166: checking for signed types" >&5
+echo "configure:5422: checking for signed types" >&5
 if eval "test \"`echo '$''{'pgac_cv_c_signed'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5171 "configure"
+#line 5427 "configure"
 #include "confdefs.h"
 
 int main() {
 signed char c; signed short s; signed int i;
 ; return 0; }
 EOF
-if { (eval echo configure:5178: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5434: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   pgac_cv_c_signed=yes
 else
@@ -5194,19 +5450,19 @@ EOF
 
 fi
 echo $ac_n "checking for volatile""... $ac_c" 1>&6
-echo "configure:5198: checking for volatile" >&5
+echo "configure:5454: checking for volatile" >&5
 if eval "test \"`echo '$''{'pgac_cv_c_volatile'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5203 "configure"
+#line 5459 "configure"
 #include "confdefs.h"
 
 int main() {
 extern volatile int i;
 ; return 0; }
 EOF
-if { (eval echo configure:5210: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5466: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   pgac_cv_c_volatile=yes
 else
@@ -5226,12 +5482,12 @@ EOF
 
 fi
 echo $ac_n "checking whether struct tm is in sys/time.h or time.h""... $ac_c" 1>&6
-echo "configure:5230: checking whether struct tm is in sys/time.h or time.h" >&5
+echo "configure:5486: checking whether struct tm is in sys/time.h or time.h" >&5
 if eval "test \"`echo '$''{'ac_cv_struct_tm'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5235 "configure"
+#line 5491 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <time.h>
@@ -5239,7 +5495,7 @@ int main() {
 struct tm *tp; tp->tm_sec;
 ; return 0; }
 EOF
-if { (eval echo configure:5243: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5499: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_struct_tm=time.h
 else
@@ -5260,12 +5516,12 @@ EOF
 fi
 
 echo $ac_n "checking for tm_zone in struct tm""... $ac_c" 1>&6
-echo "configure:5264: checking for tm_zone in struct tm" >&5
+echo "configure:5520: checking for tm_zone in struct tm" >&5
 if eval "test \"`echo '$''{'ac_cv_struct_tm_zone'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5269 "configure"
+#line 5525 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <$ac_cv_struct_tm>
@@ -5273,7 +5529,7 @@ int main() {
 struct tm tm; tm.tm_zone;
 ; return 0; }
 EOF
-if { (eval echo configure:5277: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5533: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_struct_tm_zone=yes
 else
@@ -5293,12 +5549,12 @@ EOF
 
 else
   echo $ac_n "checking for tzname""... $ac_c" 1>&6
-echo "configure:5297: checking for tzname" >&5
+echo "configure:5553: checking for tzname" >&5
 if eval "test \"`echo '$''{'ac_cv_var_tzname'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5302 "configure"
+#line 5558 "configure"
 #include "confdefs.h"
 #include <time.h>
 #ifndef tzname /* For SGI.  */
@@ -5308,7 +5564,7 @@ int main() {
 atoi(*tzname);
 ; return 0; }
 EOF
-if { (eval echo configure:5312: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5568: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   ac_cv_var_tzname=yes
 else
@@ -5330,12 +5586,12 @@ EOF
 fi
 
 echo $ac_n "checking for union semun""... $ac_c" 1>&6
-echo "configure:5334: checking for union semun" >&5
+echo "configure:5590: checking for union semun" >&5
 if eval "test \"`echo '$''{'pgac_cv_union_semun'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5339 "configure"
+#line 5595 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <sys/ipc.h>
@@ -5344,7 +5600,7 @@ int main() {
 union semun semun;
 ; return 0; }
 EOF
-if { (eval echo configure:5348: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5604: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   pgac_cv_union_semun=yes
 else
@@ -5364,12 +5620,12 @@ EOF
 
 fi
 echo $ac_n "checking for struct sockaddr_un""... $ac_c" 1>&6
-echo "configure:5368: checking for struct sockaddr_un" >&5
+echo "configure:5624: checking for struct sockaddr_un" >&5
 if eval "test \"`echo '$''{'pgac_cv_struct_sockaddr_un'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5373 "configure"
+#line 5629 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #ifdef HAVE_SYS_UN_H
@@ -5379,7 +5635,7 @@ int main() {
 struct sockaddr_un un;
 ; return 0; }
 EOF
-if { (eval echo configure:5383: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5639: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   pgac_cv_struct_sockaddr_un=yes
 else
@@ -5403,12 +5659,12 @@ fi
 ## Functions, global variables
 ##
 echo $ac_n "checking for int timezone""... $ac_c" 1>&6
-echo "configure:5407: checking for int timezone" >&5
+echo "configure:5663: checking for int timezone" >&5
 if eval "test \"`echo '$''{'pgac_cv_var_int_timezone'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5412 "configure"
+#line 5668 "configure"
 #include "confdefs.h"
 #include <time.h>
 int res;
@@ -5416,7 +5672,7 @@ int main() {
 res = timezone / 60;
 ; return 0; }
 EOF
-if { (eval echo configure:5420: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5676: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   pgac_cv_var_int_timezone=yes
 else
@@ -5436,7 +5692,7 @@ EOF
 
 fi
 echo $ac_n "checking types of arguments for accept()""... $ac_c" 1>&6
-echo "configure:5440: checking types of arguments for accept()" >&5
+echo "configure:5696: checking types of arguments for accept()" >&5
  if eval "test \"`echo '$''{'ac_cv_func_accept_arg1'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -5450,7 +5706,7 @@ else
      for ac_cv_func_accept_arg2 in 'struct sockaddr *' 'const struct sockaddr *' 'void *'; do
       for ac_cv_func_accept_arg3 in 'int' 'size_t' 'socklen_t' 'unsigned int' 'void'; do
        cat > conftest.$ac_ext <<EOF
-#line 5454 "configure"
+#line 5710 "configure"
 #include "confdefs.h"
 #ifdef HAVE_SYS_TYPES_H
 #include <sys/types.h>
@@ -5463,7 +5719,7 @@ int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:5467: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5723: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_not_found=no; break 3
 else
@@ -5503,12 +5759,12 @@ EOF
 
 
 echo $ac_n "checking whether gettimeofday takes only one argument""... $ac_c" 1>&6
-echo "configure:5507: checking whether gettimeofday takes only one argument" >&5
+echo "configure:5763: checking whether gettimeofday takes only one argument" >&5
 if eval "test \"`echo '$''{'pgac_cv_func_gettimeofday_1arg'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5512 "configure"
+#line 5768 "configure"
 #include "confdefs.h"
 #include <sys/time.h>
 int main() {
@@ -5517,7 +5773,7 @@ struct timezone *tzp;
 gettimeofday(tp,tzp);
 ; return 0; }
 EOF
-if { (eval echo configure:5521: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5777: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   pgac_cv_func_gettimeofday_1arg=no
 else
@@ -5540,12 +5796,12 @@ fi
 for ac_func in fcvt getopt_long memmove pstat setproctitle setsid sigprocmask sysconf waitpid dlopen fdatasync
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:5544: checking for $ac_func" >&5
+echo "configure:5800: 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 5549 "configure"
+#line 5805 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -5568,7 +5824,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:5572: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5828: \"$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
@@ -5594,7 +5850,7 @@ done
 
 
 cat > conftest.$ac_ext <<EOF
-#line 5598 "configure"
+#line 5854 "configure"
 #include "confdefs.h"
 #include <unistd.h>
 EOF
@@ -5610,12 +5866,12 @@ rm -f conftest*
 
 
 echo $ac_n "checking for PS_STRINGS""... $ac_c" 1>&6
-echo "configure:5614: checking for PS_STRINGS" >&5
+echo "configure:5870: checking for PS_STRINGS" >&5
 if eval "test \"`echo '$''{'pgac_cv_var_PS_STRINGS'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5619 "configure"
+#line 5875 "configure"
 #include "confdefs.h"
 #include <machine/vmparam.h>
 #include <sys/exec.h>
@@ -5625,7 +5881,7 @@ PS_STRINGS->ps_nargvstr = 1;
 PS_STRINGS->ps_argvstr = "foo";
 ; return 0; }
 EOF
-if { (eval echo configure:5629: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5885: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   pgac_cv_var_PS_STRINGS=yes
 else
@@ -5647,12 +5903,12 @@ fi
 
 SNPRINTF=''
 echo $ac_n "checking for snprintf""... $ac_c" 1>&6
-echo "configure:5651: checking for snprintf" >&5
+echo "configure:5907: checking for snprintf" >&5
 if eval "test \"`echo '$''{'ac_cv_func_snprintf'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5656 "configure"
+#line 5912 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char snprintf(); below.  */
@@ -5675,7 +5931,7 @@ snprintf();
 
 ; return 0; }
 EOF
-if { (eval echo configure:5679: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5935: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_snprintf=yes"
 else
@@ -5699,12 +5955,12 @@ SNPRINTF='snprintf.o'
 fi
 
 echo $ac_n "checking for vsnprintf""... $ac_c" 1>&6
-echo "configure:5703: checking for vsnprintf" >&5
+echo "configure:5959: checking for vsnprintf" >&5
 if eval "test \"`echo '$''{'ac_cv_func_vsnprintf'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5708 "configure"
+#line 5964 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char vsnprintf(); below.  */
@@ -5727,7 +5983,7 @@ vsnprintf();
 
 ; return 0; }
 EOF
-if { (eval echo configure:5731: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5987: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_vsnprintf=yes"
 else
@@ -5752,7 +6008,7 @@ fi
 
 
 cat > conftest.$ac_ext <<EOF
-#line 5756 "configure"
+#line 6012 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 EOF
@@ -5767,7 +6023,7 @@ fi
 rm -f conftest*
 
 cat > conftest.$ac_ext <<EOF
-#line 5771 "configure"
+#line 6027 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 EOF
@@ -5784,12 +6040,12 @@ rm -f conftest*
 
 # do this one the hard way in case isinf() is a macro
 echo $ac_n "checking for isinf""... $ac_c" 1>&6
-echo "configure:5788: checking for isinf" >&5
+echo "configure:6044: checking for isinf" >&5
 if eval "test \"`echo '$''{'ac_cv_func_isinf'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5793 "configure"
+#line 6049 "configure"
 #include "confdefs.h"
 #include <math.h>
 
@@ -5797,7 +6053,7 @@ int main() {
 double x = 0.0; int res = isinf(x);
 ; return 0; }
 EOF
-if { (eval echo configure:5801: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6057: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   ac_cv_func_isinf=yes
 else
@@ -5823,12 +6079,12 @@ else
   for ac_func in fpclass fp_class fp_class_d class
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:5827: checking for $ac_func" >&5
+echo "configure:6083: 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 5832 "configure"
+#line 6088 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -5851,7 +6107,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:5855: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6111: \"$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
@@ -5879,12 +6135,12 @@ fi
 
 
 echo $ac_n "checking for getrusage""... $ac_c" 1>&6
-echo "configure:5883: checking for getrusage" >&5
+echo "configure:6139: checking for getrusage" >&5
 if eval "test \"`echo '$''{'ac_cv_func_getrusage'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5888 "configure"
+#line 6144 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char getrusage(); below.  */
@@ -5907,7 +6163,7 @@ getrusage();
 
 ; return 0; }
 EOF
-if { (eval echo configure:5911: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6167: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_getrusage=yes"
 else
@@ -5932,12 +6188,12 @@ fi
 
 
 echo $ac_n "checking for srandom""... $ac_c" 1>&6
-echo "configure:5936: checking for srandom" >&5
+echo "configure:6192: checking for srandom" >&5
 if eval "test \"`echo '$''{'ac_cv_func_srandom'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5941 "configure"
+#line 6197 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char srandom(); below.  */
@@ -5960,7 +6216,7 @@ srandom();
 
 ; return 0; }
 EOF
-if { (eval echo configure:5964: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6220: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_srandom=yes"
 else
@@ -5985,12 +6241,12 @@ fi
 
 
 echo $ac_n "checking for gethostname""... $ac_c" 1>&6
-echo "configure:5989: checking for gethostname" >&5
+echo "configure:6245: checking for gethostname" >&5
 if eval "test \"`echo '$''{'ac_cv_func_gethostname'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5994 "configure"
+#line 6250 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char gethostname(); below.  */
@@ -6013,7 +6269,7 @@ gethostname();
 
 ; return 0; }
 EOF
-if { (eval echo configure:6017: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6273: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_gethostname=yes"
 else
@@ -6038,12 +6294,12 @@ fi
 
 
 echo $ac_n "checking for random""... $ac_c" 1>&6
-echo "configure:6042: checking for random" >&5
+echo "configure:6298: checking for random" >&5
 if eval "test \"`echo '$''{'ac_cv_func_random'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6047 "configure"
+#line 6303 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char random(); below.  */
@@ -6066,7 +6322,7 @@ random();
 
 ; return 0; }
 EOF
-if { (eval echo configure:6070: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6326: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_random=yes"
 else
@@ -6091,12 +6347,12 @@ fi
 
 
 echo $ac_n "checking for inet_aton""... $ac_c" 1>&6
-echo "configure:6095: checking for inet_aton" >&5
+echo "configure:6351: checking for inet_aton" >&5
 if eval "test \"`echo '$''{'ac_cv_func_inet_aton'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6100 "configure"
+#line 6356 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char inet_aton(); below.  */
@@ -6119,7 +6375,7 @@ inet_aton();
 
 ; return 0; }
 EOF
-if { (eval echo configure:6123: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6379: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_inet_aton=yes"
 else
@@ -6144,12 +6400,12 @@ fi
 
 
 echo $ac_n "checking for strerror""... $ac_c" 1>&6
-echo "configure:6148: checking for strerror" >&5
+echo "configure:6404: checking for strerror" >&5
 if eval "test \"`echo '$''{'ac_cv_func_strerror'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6153 "configure"
+#line 6409 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char strerror(); below.  */
@@ -6172,7 +6428,7 @@ strerror();
 
 ; return 0; }
 EOF
-if { (eval echo configure:6176: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6432: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_strerror=yes"
 else
@@ -6197,12 +6453,12 @@ fi
 
 
 echo $ac_n "checking for strdup""... $ac_c" 1>&6
-echo "configure:6201: checking for strdup" >&5
+echo "configure:6457: checking for strdup" >&5
 if eval "test \"`echo '$''{'ac_cv_func_strdup'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6206 "configure"
+#line 6462 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char strdup(); below.  */
@@ -6225,7 +6481,7 @@ strdup();
 
 ; return 0; }
 EOF
-if { (eval echo configure:6229: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6485: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_strdup=yes"
 else
@@ -6250,12 +6506,12 @@ fi
 
 
 echo $ac_n "checking for strtol""... $ac_c" 1>&6
-echo "configure:6254: checking for strtol" >&5
+echo "configure:6510: checking for strtol" >&5
 if eval "test \"`echo '$''{'ac_cv_func_strtol'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6259 "configure"
+#line 6515 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char strtol(); below.  */
@@ -6278,7 +6534,7 @@ strtol();
 
 ; return 0; }
 EOF
-if { (eval echo configure:6282: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6538: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_strtol=yes"
 else
@@ -6303,12 +6559,12 @@ fi
 
 
 echo $ac_n "checking for strtoul""... $ac_c" 1>&6
-echo "configure:6307: checking for strtoul" >&5
+echo "configure:6563: checking for strtoul" >&5
 if eval "test \"`echo '$''{'ac_cv_func_strtoul'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6312 "configure"
+#line 6568 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char strtoul(); below.  */
@@ -6331,7 +6587,7 @@ strtoul();
 
 ; return 0; }
 EOF
-if { (eval echo configure:6335: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6591: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_strtoul=yes"
 else
@@ -6356,12 +6612,12 @@ fi
 
 
 echo $ac_n "checking for strcasecmp""... $ac_c" 1>&6
-echo "configure:6360: checking for strcasecmp" >&5
+echo "configure:6616: checking for strcasecmp" >&5
 if eval "test \"`echo '$''{'ac_cv_func_strcasecmp'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6365 "configure"
+#line 6621 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char strcasecmp(); below.  */
@@ -6384,7 +6640,7 @@ strcasecmp();
 
 ; return 0; }
 EOF
-if { (eval echo configure:6388: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6644: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_strcasecmp=yes"
 else
@@ -6409,12 +6665,12 @@ fi
 
 
 echo $ac_n "checking for cbrt""... $ac_c" 1>&6
-echo "configure:6413: checking for cbrt" >&5
+echo "configure:6669: checking for cbrt" >&5
 if eval "test \"`echo '$''{'ac_cv_func_cbrt'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6418 "configure"
+#line 6674 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char cbrt(); below.  */
@@ -6437,7 +6693,7 @@ cbrt();
 
 ; return 0; }
 EOF
-if { (eval echo configure:6441: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6697: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_cbrt=yes"
 else
@@ -6458,7 +6714,7 @@ EOF
 else
   echo "$ac_t""no" 1>&6
 echo $ac_n "checking for cbrt in -lm""... $ac_c" 1>&6
-echo "configure:6462: checking for cbrt in -lm" >&5
+echo "configure:6718: checking for cbrt in -lm" >&5
 ac_lib_var=`echo m'_'cbrt | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -6466,7 +6722,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lm  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 6470 "configure"
+#line 6726 "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
@@ -6477,7 +6733,7 @@ int main() {
 cbrt()
 ; return 0; }
 EOF
-if { (eval echo configure:6481: \"$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_lib_$ac_lib_var=yes"
 else
@@ -6515,12 +6771,12 @@ esac
 
 
 echo $ac_n "checking for rint""... $ac_c" 1>&6
-echo "configure:6519: checking for rint" >&5
+echo "configure:6775: checking for rint" >&5
 if eval "test \"`echo '$''{'ac_cv_func_rint'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6524 "configure"
+#line 6780 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char rint(); below.  */
@@ -6543,7 +6799,7 @@ rint();
 
 ; return 0; }
 EOF
-if { (eval echo configure:6547: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6803: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_rint=yes"
 else
@@ -6564,7 +6820,7 @@ EOF
 else
   echo "$ac_t""no" 1>&6
 echo $ac_n "checking for rint in -lm""... $ac_c" 1>&6
-echo "configure:6568: checking for rint in -lm" >&5
+echo "configure:6824: checking for rint in -lm" >&5
 ac_lib_var=`echo m'_'rint | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -6572,7 +6828,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lm $HPUXMATHLIB $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 6576 "configure"
+#line 6832 "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
@@ -6583,7 +6839,7 @@ int main() {
 rint()
 ; return 0; }
 EOF
-if { (eval echo configure:6587: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6843: \"$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
@@ -6612,9 +6868,9 @@ fi
 
 # Readline versions < 2.1 don't have rl_completion_append_character
 echo $ac_n "checking for rl_completion_append_character""... $ac_c" 1>&6
-echo "configure:6616: checking for rl_completion_append_character" >&5
+echo "configure:6872: checking for rl_completion_append_character" >&5
 cat > conftest.$ac_ext <<EOF
-#line 6618 "configure"
+#line 6874 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 #ifdef HAVE_READLINE_READLINE_H
@@ -6627,7 +6883,7 @@ int main() {
 rl_completion_append_character = 'x';
 ; return 0; }
 EOF
-if { (eval echo configure:6631: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6887: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   echo "$ac_t""yes" 1>&6
 cat >> confdefs.h <<\EOF
@@ -6645,12 +6901,12 @@ rm -f conftest*
 for ac_func in rl_completion_matches
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:6649: checking for $ac_func" >&5
+echo "configure:6905: 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 6654 "configure"
+#line 6910 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -6673,7 +6929,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:6677: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6933: \"$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
@@ -6700,16 +6956,16 @@ done
 
 
 echo $ac_n "checking for finite""... $ac_c" 1>&6
-echo "configure:6704: checking for finite" >&5
+echo "configure:6960: checking for finite" >&5
 cat > conftest.$ac_ext <<EOF
-#line 6706 "configure"
+#line 6962 "configure"
 #include "confdefs.h"
 #include <math.h>
 int main() {
 int dummy=finite(1.0);
 ; return 0; }
 EOF
-if { (eval echo configure:6713: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6969: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   cat >> confdefs.h <<\EOF
 #define HAVE_FINITE 1
@@ -6724,16 +6980,16 @@ fi
 rm -f conftest*
 
 echo $ac_n "checking for sigsetjmp""... $ac_c" 1>&6
-echo "configure:6728: checking for sigsetjmp" >&5
+echo "configure:6984: checking for sigsetjmp" >&5
 cat > conftest.$ac_ext <<EOF
-#line 6730 "configure"
+#line 6986 "configure"
 #include "confdefs.h"
 #include <setjmp.h>
 int main() {
 sigjmp_buf x; sigsetjmp(x, 1);
 ; return 0; }
 EOF
-if { (eval echo configure:6737: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6993: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   cat >> confdefs.h <<\EOF
 #define HAVE_SIGSETJMP 1
@@ -6753,12 +7009,12 @@ if test x"${enable_syslog+set}" = xset; then
   case $enable_syslog in
     yes)
       echo $ac_n "checking for syslog""... $ac_c" 1>&6
-echo "configure:6757: checking for syslog" >&5
+echo "configure:7013: checking for syslog" >&5
 if eval "test \"`echo '$''{'ac_cv_func_syslog'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6762 "configure"
+#line 7018 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char syslog(); below.  */
@@ -6781,7 +7037,7 @@ syslog();
 
 ; return 0; }
 EOF
-if { (eval echo configure:6785: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7041: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_syslog=yes"
 else
@@ -6820,19 +7076,19 @@ fi
 
 
 echo $ac_n "checking for optreset""... $ac_c" 1>&6
-echo "configure:6824: checking for optreset" >&5
+echo "configure:7080: checking for optreset" >&5
 if eval "test \"`echo '$''{'pgac_cv_var_int_optreset'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6829 "configure"
+#line 7085 "configure"
 #include "confdefs.h"
 #include <unistd.h>
 int main() {
 extern int optreset; optreset = 1;
 ; return 0; }
 EOF
-if { (eval echo configure:6836: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7092: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   pgac_cv_var_int_optreset=yes
 else
@@ -6858,16 +7114,16 @@ fi
 # This check should come after all modifications of compiler or linker
 # variables, and before any other run tests.
 echo $ac_n "checking test program""... $ac_c" 1>&6
-echo "configure:6862: checking test program" >&5
+echo "configure:7118: checking test program" >&5
 if test "$cross_compiling" = yes; then
   echo "$ac_t""cross-compiling" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 6867 "configure"
+#line 7123 "configure"
 #include "confdefs.h"
 int main() { return 0; }
 EOF
-if { (eval echo configure:6871: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:7127: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   echo "$ac_t""ok" 1>&6
 else
@@ -6887,7 +7143,7 @@ fi
 
 
 echo $ac_n "checking whether long int is 64 bits""... $ac_c" 1>&6
-echo "configure:6891: checking whether long int is 64 bits" >&5
+echo "configure:7147: checking whether long int is 64 bits" >&5
 if eval "test \"`echo '$''{'pgac_cv_type_long_int_64'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -6896,7 +7152,7 @@ else
 echo "configure: warning: 64 bit arithmetic disabled when cross-compiling" 1>&2
 else
   cat > conftest.$ac_ext <<EOF
-#line 6900 "configure"
+#line 7156 "configure"
 #include "confdefs.h"
 typedef long int int64;
 
@@ -6925,7 +7181,7 @@ main() {
   exit(! does_int64_work());
 }
 EOF
-if { (eval echo configure:6929: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:7185: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   pgac_cv_type_long_int_64=yes
 else
@@ -6952,7 +7208,7 @@ fi
 
 if test x"$HAVE_LONG_INT_64" = x"no" ; then
   echo $ac_n "checking whether long long int is 64 bits""... $ac_c" 1>&6
-echo "configure:6956: checking whether long long int is 64 bits" >&5
+echo "configure:7212: checking whether long long int is 64 bits" >&5
 if eval "test \"`echo '$''{'pgac_cv_type_long_long_int_64'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -6961,7 +7217,7 @@ else
 echo "configure: warning: 64 bit arithmetic disabled when cross-compiling" 1>&2
 else
   cat > conftest.$ac_ext <<EOF
-#line 6965 "configure"
+#line 7221 "configure"
 #include "confdefs.h"
 typedef long long int int64;
 
@@ -6990,7 +7246,7 @@ main() {
   exit(! does_int64_work());
 }
 EOF
-if { (eval echo configure:6994: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:7250: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   pgac_cv_type_long_long_int_64=yes
 else
@@ -7020,7 +7276,7 @@ fi
 
 if [ x"$HAVE_LONG_LONG_INT_64" = xyes ] ; then
   cat > conftest.$ac_ext <<EOF
-#line 7024 "configure"
+#line 7280 "configure"
 #include "confdefs.h"
 
 #define INT64CONST(x)  x##LL
@@ -7030,7 +7286,7 @@ int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:7034: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:7290: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   cat >> confdefs.h <<\EOF
 #define HAVE_LL_CONSTANTS 1
@@ -7048,7 +7304,7 @@ fi
 if [ x"$HAVE_LONG_LONG_INT_64" = xyes ] ; then
   if [ x$SNPRINTF = x ] ; then
     echo $ac_n "checking whether snprintf handles 'long long int' as %lld""... $ac_c" 1>&6
-echo "configure:7052: checking whether snprintf handles 'long long int' as %lld" >&5
+echo "configure:7308: checking whether snprintf handles 'long long int' as %lld" >&5
     if test "$cross_compiling" = yes; then
    echo "$ac_t""assuming not on target machine" 1>&6
        # Force usage of our own snprintf, since we cannot test foreign snprintf
@@ -7057,7 +7313,7 @@ echo "configure:7052: checking whether snprintf handles 'long long int' as %lld"
   
 else
   cat > conftest.$ac_ext <<EOF
-#line 7061 "configure"
+#line 7317 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 typedef long long int int64;
@@ -7084,7 +7340,7 @@ main() {
   exit(! does_int64_snprintf_work());
 }
 EOF
-if { (eval echo configure:7088: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:7344: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
    echo "$ac_t""yes" 1>&6
          INT64_FORMAT='"%lld"'
@@ -7095,7 +7351,7 @@ else
   rm -fr conftest*
    echo "$ac_t""no" 1>&6
     echo $ac_n "checking whether snprintf handles 'long long int' as %qd""... $ac_c" 1>&6
-echo "configure:7099: checking whether snprintf handles 'long long int' as %qd" >&5 
+echo "configure:7355: checking whether snprintf handles 'long long int' as %qd" >&5 
     if test "$cross_compiling" = yes; then
    echo "$ac_t""assuming not on target machine" 1>&6
        # Force usage of our own snprintf, since we cannot test foreign snprintf
@@ -7104,7 +7360,7 @@ echo "configure:7099: checking whether snprintf handles 'long long int' as %qd"
   
 else
   cat > conftest.$ac_ext <<EOF
-#line 7108 "configure"
+#line 7364 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 typedef long long int int64;
@@ -7131,7 +7387,7 @@ main() {
   exit(! does_int64_snprintf_work());
 }
 EOF
-if { (eval echo configure:7135: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:7391: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
    echo "$ac_t""yes" 1>&6
     INT64_FORMAT='"%qd"'
@@ -7171,12 +7427,12 @@ EOF
 for ac_func in strtoll strtoq
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:7175: checking for $ac_func" >&5
+echo "configure:7431: 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 7180 "configure"
+#line 7436 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -7199,7 +7455,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:7203: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7459: \"$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
@@ -7226,12 +7482,12 @@ done
 for ac_func in strtoull strtouq
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:7230: checking for $ac_func" >&5
+echo "configure:7486: 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 7235 "configure"
+#line 7491 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -7254,7 +7510,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:7258: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7514: \"$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
@@ -7280,12 +7536,12 @@ done
 
 
 echo $ac_n "checking for atexit""... $ac_c" 1>&6
-echo "configure:7284: checking for atexit" >&5
+echo "configure:7540: checking for atexit" >&5
 if eval "test \"`echo '$''{'ac_cv_func_atexit'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 7289 "configure"
+#line 7545 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char atexit(); below.  */
@@ -7308,7 +7564,7 @@ atexit();
 
 ; return 0; }
 EOF
-if { (eval echo configure:7312: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7568: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_atexit=yes"
 else
@@ -7331,12 +7587,12 @@ else
 for ac_func in on_exit
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:7335: checking for $ac_func" >&5
+echo "configure:7591: 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 7340 "configure"
+#line 7596 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -7359,7 +7615,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:7363: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7619: \"$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
@@ -7392,7 +7648,7 @@ fi
 
 
 echo $ac_n "checking size of unsigned long""... $ac_c" 1>&6
-echo "configure:7396: checking size of unsigned long" >&5
+echo "configure:7652: checking size of unsigned long" >&5
 if eval "test \"`echo '$''{'ac_cv_sizeof_unsigned_long'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -7400,7 +7656,7 @@ else
   ac_cv_sizeof_unsigned_long=4
 else
   cat > conftest.$ac_ext <<EOF
-#line 7404 "configure"
+#line 7660 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 main()
@@ -7411,7 +7667,7 @@ main()
   exit(0);
 }
 EOF
-if { (eval echo configure:7415: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:7671: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   ac_cv_sizeof_unsigned_long=`cat conftestval`
 else
@@ -7437,7 +7693,7 @@ EOF
 
 
 echo $ac_n "checking alignment of short""... $ac_c" 1>&6
-echo "configure:7441: checking alignment of short" >&5
+echo "configure:7697: checking alignment of short" >&5
 if eval "test \"`echo '$''{'pgac_cv_alignof_short'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -7445,7 +7701,7 @@ else
   pgac_cv_alignof_short='sizeof(short)'
 else
   cat > conftest.$ac_ext <<EOF
-#line 7449 "configure"
+#line 7705 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 struct { char filler; short field; } mystruct;
@@ -7457,7 +7713,7 @@ main()
   exit(0);
 }
 EOF
-if { (eval echo configure:7461: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:7717: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   pgac_cv_alignof_short=`cat conftestval`
 else
@@ -7477,7 +7733,7 @@ EOF
 
 
 echo $ac_n "checking alignment of int""... $ac_c" 1>&6
-echo "configure:7481: checking alignment of int" >&5
+echo "configure:7737: checking alignment of int" >&5
 if eval "test \"`echo '$''{'pgac_cv_alignof_int'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -7485,7 +7741,7 @@ else
   pgac_cv_alignof_int='sizeof(int)'
 else
   cat > conftest.$ac_ext <<EOF
-#line 7489 "configure"
+#line 7745 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 struct { char filler; int field; } mystruct;
@@ -7497,7 +7753,7 @@ main()
   exit(0);
 }
 EOF
-if { (eval echo configure:7501: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:7757: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   pgac_cv_alignof_int=`cat conftestval`
 else
@@ -7517,7 +7773,7 @@ EOF
 
 
 echo $ac_n "checking alignment of long""... $ac_c" 1>&6
-echo "configure:7521: checking alignment of long" >&5
+echo "configure:7777: checking alignment of long" >&5
 if eval "test \"`echo '$''{'pgac_cv_alignof_long'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -7525,7 +7781,7 @@ else
   pgac_cv_alignof_long='sizeof(long)'
 else
   cat > conftest.$ac_ext <<EOF
-#line 7529 "configure"
+#line 7785 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 struct { char filler; long field; } mystruct;
@@ -7537,7 +7793,7 @@ main()
   exit(0);
 }
 EOF
-if { (eval echo configure:7541: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:7797: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   pgac_cv_alignof_long=`cat conftestval`
 else
@@ -7558,7 +7814,7 @@ EOF
 
 if [ x"$HAVE_LONG_LONG_INT_64" = xyes ] ; then
   echo $ac_n "checking alignment of long long int""... $ac_c" 1>&6
-echo "configure:7562: checking alignment of long long int" >&5
+echo "configure:7818: checking alignment of long long int" >&5
 if eval "test \"`echo '$''{'pgac_cv_alignof_long_long_int'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -7566,7 +7822,7 @@ else
   pgac_cv_alignof_long_long_int='sizeof(long long int)'
 else
   cat > conftest.$ac_ext <<EOF
-#line 7570 "configure"
+#line 7826 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 struct { char filler; long long int field; } mystruct;
@@ -7578,7 +7834,7 @@ main()
   exit(0);
 }
 EOF
-if { (eval echo configure:7582: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:7838: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   pgac_cv_alignof_long_long_int=`cat conftestval`
 else
@@ -7599,7 +7855,7 @@ EOF
 
 fi
 echo $ac_n "checking alignment of double""... $ac_c" 1>&6
-echo "configure:7603: checking alignment of double" >&5
+echo "configure:7859: checking alignment of double" >&5
 if eval "test \"`echo '$''{'pgac_cv_alignof_double'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -7607,7 +7863,7 @@ else
   pgac_cv_alignof_double='sizeof(double)'
 else
   cat > conftest.$ac_ext <<EOF
-#line 7611 "configure"
+#line 7867 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 struct { char filler; double field; } mystruct;
@@ -7619,7 +7875,7 @@ main()
   exit(0);
 }
 EOF
-if { (eval echo configure:7623: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:7879: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   pgac_cv_alignof_double=`cat conftestval`
 else
@@ -7657,12 +7913,12 @@ EOF
 
 
 echo $ac_n "checking for POSIX signal interface""... $ac_c" 1>&6
-echo "configure:7661: checking for POSIX signal interface" >&5
+echo "configure:7917: checking for POSIX signal interface" >&5
 if eval "test \"`echo '$''{'pgac_cv_func_posix_signals'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 7666 "configure"
+#line 7922 "configure"
 #include "confdefs.h"
 #include <signal.h>
 
@@ -7673,7 +7929,7 @@ act.sa_flags = SA_RESTART;
 sigaction(0, &act, &oact);
 ; return 0; }
 EOF
-if { (eval echo configure:7677: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7933: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   pgac_cv_func_posix_signals=yes
 else
@@ -7703,7 +7959,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:7707: checking for $ac_word" >&5
+echo "configure:7963: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_TCLSH'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -7739,7 +7995,7 @@ test -n "$TCLSH" && break
 done
 
 echo $ac_n "checking for tclConfig.sh""... $ac_c" 1>&6
-echo "configure:7743: checking for tclConfig.sh" >&5
+echo "configure:7999: checking for tclConfig.sh" >&5
 # Let user override test
 if test -z "$TCL_CONFIG_SH"; then
     pgac_test_dirs="$with_tclconfig"
@@ -7772,7 +8028,7 @@ fi
 # Check for Tk configuration script tkConfig.sh
 if test "$with_tk" = yes; then
     echo $ac_n "checking for tkConfig.sh""... $ac_c" 1>&6
-echo "configure:7776: checking for tkConfig.sh" >&5
+echo "configure:8032: checking for tkConfig.sh" >&5
 # Let user override test
 if test -z "$TK_CONFIG_SH"; then
     pgac_test_dirs="$with_tkconfig $with_tclconfig"
@@ -7811,7 +8067,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:7815: checking for $ac_word" >&5
+echo "configure:8071: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_NSGMLS'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -7847,7 +8103,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:7851: checking for $ac_word" >&5
+echo "configure:8107: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_JADE'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -7878,7 +8134,7 @@ done
 
   
 echo $ac_n "checking for DocBook V3.1""... $ac_c" 1>&6
-echo "configure:7882: checking for DocBook V3.1" >&5
+echo "configure:8138: checking for DocBook V3.1" >&5
 if eval "test \"`echo '$''{'pgac_cv_check_docbook'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -7911,7 +8167,7 @@ have_docbook=$pgac_cv_check_docbook
 
 
   echo $ac_n "checking for DocBook stylesheets""... $ac_c" 1>&6
-echo "configure:7915: checking for DocBook stylesheets" >&5
+echo "configure:8171: checking for DocBook stylesheets" >&5
 if eval "test \"`echo '$''{'pgac_cv_path_stylesheets'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -7950,7 +8206,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:7954: checking for $ac_word" >&5
+echo "configure:8210: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_SGMLSPL'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -8148,6 +8404,8 @@ s%@host_os@%$host_os%g
 s%@PORTNAME@%$PORTNAME%g
 s%@TAS@%$TAS%g
 s%@MULTIBYTE@%$MULTIBYTE%g
+s%@enable_nls@%$enable_nls%g
+s%@WANTED_LANGUAGES@%$WANTED_LANGUAGES%g
 s%@default_port@%$default_port%g
 s%@enable_shared@%$enable_shared%g
 s%@enable_rpath@%$enable_rpath%g
@@ -8199,6 +8457,10 @@ s%@python_includedir@%$python_includedir%g
 s%@python_dynlibdir@%$python_dynlibdir%g
 s%@python_makefile_pre_in@%$python_makefile_pre_in%g
 s%@python_libspec@%$python_libspec%g
+s%@MSGFMT@%$MSGFMT%g
+s%@MSGMERGE@%$MSGMERGE%g
+s%@XGETTEXT@%$XGETTEXT%g
+s%@localedir@%$localedir%g
 s%@SNPRINTF@%$SNPRINTF%g
 s%@ISINF@%$ISINF%g
 s%@GETRUSAGE@%$GETRUSAGE%g
index 287b4029a4e34c4302442b5c238b0dcf9e16fa2a..d18e57e3cb9e3048afe3443b2eb7a508c12030ee 100644 (file)
@@ -212,6 +212,19 @@ AC_DEFINE([UNICODE_CONVERSION], 1,
           [Set to 1 if you want Unicode conversion support (--enable-unicode-conversion)])])
 AC_MSG_RESULT([$enable_unicode_conversion])
 
+#
+# NLS
+#
+AC_MSG_CHECKING([whether NLS is wanted])
+PGAC_ARG_OPTARG(enable, nls,
+                [  --enable-nls[=LANGUAGES]     enable Native Language Support],
+                [],
+                [WANTED_LANGUAGES=$enableval],
+                [AC_DEFINE(ENABLE_NLS)])
+AC_MSG_RESULT([$enable_nls])
+AC_SUBST(enable_nls)
+AC_SUBST(WANTED_LANGUAGES)
+
 #
 # Default port number (--with-pgport), default 5432
 #
@@ -720,6 +733,10 @@ if test "$with_openssl" = yes ; then
   AC_CHECK_LIB(ssl,    [SSL_library_init], [], [AC_MSG_ERROR([library 'ssl' is required for OpenSSL])])
 fi
 
+if test "$enable_nls" = yes ; then
+  PGAC_CHECK_GETTEXT
+fi
+
 
 ##
 ## Header files
index 59d4c15db8836f874d4733a03c991782b286b1ca..e1371d8df165bbe871708baa9c98588e1abea102 100644 (file)
@@ -1,4 +1,4 @@
-<!-- $Header: /cvsroot/pgsql/doc/src/sgml/Attic/developer.sgml,v 1.4 2001/02/03 19:03:26 petere Exp $ -->
+<!-- $Header: /cvsroot/pgsql/doc/src/sgml/Attic/developer.sgml,v 1.5 2001/06/02 18:25:16 petere Exp $ -->
 <!-- PostgreSQL Developer's Guide -->
 
 <book id="developer">
@@ -24,6 +24,7 @@
  &bki;
  &page;
  &geqo;
+ &nls;
 <![%single-book;[
  &biblio;
 ]]>
index 06035e754b6de80ed4c0287655adf12afb2e7ee9..45451ecabc5ea158b39297903cfbcb4835587205 100644 (file)
@@ -1,4 +1,4 @@
-<!-- $Header: /cvsroot/pgsql/doc/src/sgml/filelist.sgml,v 1.12 2001/05/12 22:51:34 petere Exp $ -->
+<!-- $Header: /cvsroot/pgsql/doc/src/sgml/filelist.sgml,v 1.13 2001/06/02 18:25:16 petere Exp $ -->
 
 <!entity history    SYSTEM "history.sgml">
 <!entity info       SYSTEM "info.sgml">
@@ -96,6 +96,7 @@
 <!entity page       SYSTEM "page.sgml">
 <!entity protocol   SYSTEM "protocol.sgml">
 <!entity sources    SYSTEM "sources.sgml">
+<!entity nls        SYSTEM "nls.sgml">
 
 <!-- see standalone-install.sgml about these -->
 <!entity % flattext-install-ignore  "INCLUDE">
index 74a61328c6f709b1a21236812ee0f20ea816b23c..6588f5e552a9f3f22cccad0652571590ed0152b2 100644 (file)
@@ -1,4 +1,4 @@
-<!-- $Header: /cvsroot/pgsql/doc/src/sgml/installation.sgml,v 1.49 2001/05/14 16:16:52 momjian Exp $ -->
+<!-- $Header: /cvsroot/pgsql/doc/src/sgml/installation.sgml,v 1.50 2001/06/02 18:25:16 petere Exp $ -->
 
 <chapter id="installation">
  <title><![%flattext-install-include[<productname>PostgreSQL</>]]>
@@ -536,6 +536,44 @@ su - postgres
        </listitem>
       </varlistentry>
 
+      <varlistentry>
+       <term>--enable-nls<optional>=<replaceable>LANGUAGES</replaceable></optional></term>
+       <listitem>
+        <para>
+         Enables Native Language Support (NLS), that is, the ability
+         to display a program's message in a language other than
+         English.  <replaceable>LANGUAGES</replaceable> is a space
+         separated list of codes of the languages that you want
+         supported.  (The intersection between your list and the set
+         of actually provided translations will be computed
+         automatically.)  If you do not specify it, then all available
+         translations are installed.
+        </para>
+
+        <comment>
+         The list of provided translations should be shown somewhere.
+        </comment>
+
+        <para>
+         To use this option, you will need an implementation of the
+         gettext API.  Some operating systems have this built-in
+         (e.g., Linux, NetBSD, Solaris), for other systems you can download
+         an add-on package from here:  <ulink
+         url="http://www.postgresql.org/~petere/gettext.html"
+         >http://www.postgresql.org/~petere/gettext.html</ulink>.  If
+         you are using the gettext implementation in the GNU C library
+         then you will additionally need the GNU gettext package for
+         some utility programs.  For any of the other implementations
+         you will not need it.
+        </para>
+
+        <comment>
+         The download location should be moved.
+        </comment>
+
+       </listitem>
+      </varlistentry>
+
       <varlistentry>
        <term>--with-pgport=<replaceable>NUMBER</></term>
        <listitem>
diff --git a/doc/src/sgml/nls.sgml b/doc/src/sgml/nls.sgml
new file mode 100644 (file)
index 0000000..c54463d
--- /dev/null
@@ -0,0 +1,486 @@
+<!-- $Header: /cvsroot/pgsql/doc/src/sgml/nls.sgml,v 1.1 2001/06/02 18:25:16 petere Exp $ -->
+
+<chapter id="nls">
+ <docinfo>
+  <author>
+   <firstname>Peter</firstname>
+   <surname>Eisentraut</surname>
+  </author>
+ </docinfo>
+
+ <title>Native Language Support</title>
+
+ <sect1 id="nls-translator">
+  <title>For the Translator</title>
+
+  <para>
+   PostgreSQL programs (server and client) can issue their messages in
+   your favorite language -- if the messages have been translated.
+   Creating and maintaining translated message sets needs the help of
+   people who speak their own language well and want to contribute to
+   the PostgreSQL effort.  You do not have to be a programmer at all
+   to do this.  This section explains how to help.
+  </para>
+
+  <sect2>
+   <title>Requirements</title>
+
+   <para>
+    We won't judge your language skills -- this section is about
+    software tools.  Theoretically, you only need a text editor.  But
+    this is only in the unlikely event that you do not want to try out
+    your translated messages.  When you configure your source tree, be
+    sure to use the <option>--enable-nls</option> option.  This will
+    also check for the libintl library and the
+    <filename>msgfmt</filename> program, which all end users will need
+    anyway.  To try out your work, follow the applicable portions of
+    the installation instructions.
+   </para>
+
+   <para>
+    If you want to start a new translation effort or want to do a
+    message catalog merge (described later), you will need the
+    programs <filename>xgettext</filename> and
+    <filename>msgmerge</filename>, respectively, in a GNU-compatible
+    implementation.  Later, we will try to arrange it so that if you
+    use a packaged source distribution, you won't need
+    <filename>xgettext</filename>.  (From CVS, you will still need
+    it.)  GNU gettext 0.10.36 or later is currently recommended.
+   </para>
+
+   <para>
+    Your local gettext implementation should come with its own
+    documentation.  Some of that is probably duplicated in what
+    follows, but for additional details you should look there.
+   </para>
+  </sect2>
+
+  <sect2>
+   <title>Concepts</title>
+
+   <para>
+    The pairs of original (English) messages and their (possibly)
+    translated equivalents are kept in <firstterm>message
+    catalogs</firstterm>, one for each program (although related
+    programs can share a message catalog) and for each target
+    language.  There are two file formats for message catalogs:  The
+    first is the <quote>PO</quote> file (for Portable Object), which
+    is a plain text file with special syntax that translators edit.
+    The second is the <quote>MO</quote> file (for Machine Object),
+    which is a binary file generated from the respective PO file and
+    is used while the internationalized program is run.  Translators
+    do not deal with MO files; in fact hardly anyone does.
+   </para>
+
+   <para>
+    The extension of the message catalog file is to no surprise either
+    <filename>.po</filename> or <filename>.mo</filename>.  The base
+    name is either the name of the program it accompanies, or the
+    language the file is for, depending on the situation.  This is a
+    bit confusing.  Examples are <filename>psql.po</filename> (PO file
+    for psql) or <filename>fr.mo</filename> (MO file in French).
+   </para>
+
+   <para>
+    The file format of the PO files is illustrated here:
+<programlisting>
+# comment
+
+msgid "original string"
+msgstr "translated string"
+
+msgid "more original"
+msgstr "another translated"
+"string can be broken up like this"
+
+...
+</programlisting>
+    The msgid's are extracted from the program source.  (They need not
+    be, but this is the most common way.)  The msgstr lines are
+    initially empty and are filled in with useful strings by the
+    translator.  The strings can contain C-style escape characters and
+    can be continued across lines as illustrated.  (The next line must
+    start at the beginning of the line.)
+   </para>
+
+   <para>
+    The # character introduces a comment.  If whitespace immediately
+    follows the # character, then this is a comment maintained by the
+    translator.  There may also be automatic comments, which have a
+    non-whitespace character immediately following the #.  These are
+    maintained by the various tools that operate on the PO files and
+    are intended to aid the translator.
+<programlisting>
+#. automatic comment
+#: filename.c:1023
+#, flags, flags
+</programlisting>
+    The #. style comments are extracted from the source file where the
+    message is used.  Possibly the programmer has inserted information
+    for the translator, such as about expected alignment.  The #:
+    comment indicates the exact location(s) where the message is used
+    in the source.  The translator need not look at the program
+    source, but he can if there is doubt about the correct
+    translation.  The #, comments contain flags that describe the
+    message in some way.  There are currently two flags:
+    <literal>fuzzy</literal> is set if the message has possibly been
+    outdated because of changes in the program source.  The translator
+    can then verify this and possibly remove the fuzzy flag.  Note
+    that fuzzy messages are not made available to the end user.  The
+    other flag is <literal>c-format</literal>, which indicates that
+    the message is a <function>printf</function>-style format
+    template.  This means that the translation should also be a format
+    string with the same number and type of placeholders.  There are
+    tools that can verify this, which key off the c-format flag.
+   </para>
+  </sect2>
+
+  <sect2>
+   <title>Creating and maintaining message catalogs</title>
+
+   <para>
+    Okay, so how does one create a <quote>blank</quote> message
+    catalog?  First, go into the directory that contains the program
+    whose messages you want to translate.  If there is a file
+    <filename>nls.mk</filename>, then this program has been prepared
+    for translation.
+   </para>
+
+   <para>
+    If there are already some <filename>.po</filename> files, then
+    someone has already done some translation work.  The files are
+    named <filename><replaceable>language</replaceable>.po</filename>,
+    where <replaceable>language</replaceable> is the <ulink
+    url="http://lcweb.loc.gov/standards/iso639-2/englangn.html">ISO
+    639-1</ulink> two-letter language code (in lower case), e.g.,
+    <filename>fr.po</filename> for French.  If there is really a need
+    for more than one translation effort per language then the files
+    may also be named
+    <filename><replaceable>language</replaceable>_<replaceable>region</replaceable>.po</filename>
+    where <replaceable>region</replaceable> is the <ulink
+    url="http://www.din.de/gremien/nas/nabd/iso3166ma/codlstp1/en_listp1.html">ISO
+    3166-1</ulink> two-letter country code (in upper case), e.g.,
+    <filename>pt_BR.po</filename> for Portuguese in Brazil.  If you
+    find the language you wanted you can just start working on that
+    file.
+   </para>
+
+   <para>
+    If you need to start a new translation effort, then first run the
+    command
+<programlisting>
+gmake init-po
+</programlisting>
+    This will create a file
+    <filename><replaceable>progname</replaceable>.pot</filename>.
+    (<filename>.pot</filename> to distinguish it from PO files that
+    are <quote>in production</quote>.  What does the T stand for?  I
+    don't know.)  Copy this file to
+    <filename><replaceable>language</replaceable>.po</filename> and
+    edit it.  To make it known that the new language is available,
+    also edit the file <filename>nls.mk</filename> and add the
+    language (or language and country) code to the line that looks like:
+<programlisting>
+AVAIL_LANGUAGES := de fr
+</programlisting>
+    (Other languages may appear, of course.)
+   </para>
+
+   <para>
+    As the underlying program or library changes, messages may be
+    changed or added by the programmers.  In this case you do not need
+    to start from scratch.  Instead, run the command
+<programlisting>
+gmake update-po
+</programlisting>
+    which will create a new blank message catalog file (the pot file
+    you started with) and will merge it with the existing PO files.
+    If the merge algorithm is not sure about a particular message it
+    marks it <quote>fuzzy</quote> as explained above.  For the case
+    where something went really wrong, the old PO file is saved with a
+    <filename>.po.old</filename> extension.
+   </para>
+  </sect2>
+
+  <sect2>
+   <title>Editing the PO files</title>
+
+   <para>
+    The PO files can be edited with a regular text editor.  The
+    translator should only change the area between the quotes after
+    the msgstr directive, may add comments and alter the fuzzy flag.
+    There is (unsurprisingly) a PO mode for Emacs, which I find quite
+    useful.
+   </para>
+
+   <para>
+    The PO files need not be completely filled in.  The software will
+    automatically fall back to the original string if no translation
+    (or an empty translation) is available.  It is no problem to
+    submit incomplete translations for inclusions in the source tree;
+    that gives room for other people to pick up your work.  However,
+    you are encouraged to give priority to removing fuzzy entries
+    after doing a merge.  Remember that fuzzy entries will not be
+    installed; they only serve as reference what might be the right
+    translation.
+   </para>
+
+   <para>
+    Here are some things to keep in mind while editing the
+    translations:
+    <itemizedlist>
+     <listitem>
+      <para>
+       Make sure that if the original ends with a newline, the
+       translation does, too.  Similarly for tabs, etc.
+      </para>
+     </listitem>
+
+     <listitem>
+      <para>
+       If the original is a printf format string, the translation also
+       needs to be.  The translation also needs to have the same
+       format specifiers in the same order.  Sometimes the natural
+       rules of the language make this impossible or at least awkward.
+       In this case you can use this format:
+<programlisting>
+msgstr "Die Datei %2$s hat %1$u Zeichen."
+</programlisting>
+       Then the first placeholder will actually use the second
+       argument from the list.  The
+       <literal><replaceable>digits</replaceable>$</literal> needs to
+       follow the % and come before any other format manipulators.
+       (This feature really exists in the <function>printf</function>
+       family of functions.  You may not have heard of it because
+       there is little use for it outside of message
+       internationalization.)
+      </para>
+     </listitem>
+
+     <listitem>
+      <para>
+       If the original string contains a linguistic mistake, report
+       that (or fix it yourself in the program source) and translate
+       normally.  The corrected string can be merged in when the
+       program sources have been updated.  If the original string
+       contains a factual mistake, report that (or fix it yourself)
+       and do not translate it.  Instead, you may mark the string with
+       a comment in the PO file.
+      </para>
+     </listitem>
+
+     <listitem>
+      <para>
+       Maintain the style and tone of the original string.
+       Specifically, messages that are not sentences (<literal>cannot
+       open file %s</literal>) should probably not start with a
+       capital letter (if your language distinguishes letter case) or
+       end with a period (if your language uses punctuation marks).
+      </para>
+     </listitem>
+
+     <listitem>
+      <para>
+       If you don't know what a message means, or if it is ambiguous,
+       ask on the developers' mailing list.  Chances are that English
+       speaking end users might also not understand it or find it
+       ambiguous, so it's best to improve the message.
+      </para>
+     </listitem>
+
+    </itemizedlist>
+   </para>
+  </sect2>
+
+ </sect1>
+
+
+ <sect1 id="nls-programmer">
+  <title>For the Programmer</title>
+
+  <para>
+   This section describes how to support native language support in a
+   program or library that is part of the PostgreSQL distribution.
+   Currently, it only applies to C programs.
+  </para>
+
+  <procedure>
+   <title>Adding NLS support to a program</title>
+
+   <step>
+    <para>
+     Insert this code into the startup sequence of the program:
+<programlisting>
+#ifdef ENABLE_NLS
+#include &lt;locale.h&gt;
+#endif
+
+...
+
+#ifdef ENABLE_NLS
+setlocale(LC_ALL, "");
+bindtextdomain("<replaceable>progname</replaceable>", LOCALEDIR);
+textdomain("<replaceable>progname</replaceable>");
+#endif
+</programlisting>
+     (The <replaceable>progname</replaceable> can actually be chosen
+     freely.)
+    </para>
+   </step>
+
+   <step>
+    <para>
+     Whereever a message that is a candidate for translation is found,
+     a call to <function>gettext()</function> needs to be inserted.  E.g.,
+<programlisting>
+fprintf(stderr, "panic level %d\n", lvl);
+</programlisting>
+     would be changed to
+<programlisting>
+fprintf(stderr, gettext("panic level %d\n"), lvl);
+</programlisting>
+     (<symbol>gettext</symbol> is defined as a no-op if no NLS is
+     configured.)
+    </para>
+
+    <para>
+     This may tend to add a lot of clutter.  One common shortcut is to
+<programlisting>
+#define _(x) gettext((x))
+</programlisting>
+     Another solution is feasible if the program does much of its
+     communication through one or a few functions, such as
+     <function>elog()</function> in the backend.  Then you make this
+     function call <function>gettext</function> internally on all
+     input values.
+    </para>
+   </step>
+
+   <step>
+    <para>
+     Add a file <filename>nls.mk</filename> in the directory with the
+     program sources.  This file will be read as a makefile.  The
+     following variable assignments need to be made here:
+
+     <variablelist>
+      <varlistentry>
+       <term>CATALOG_NAME</term>
+
+       <listitem>
+        <para>
+         The program name, as provided in the
+         <function>textdomain()</function> call.
+        </para>
+       </listitem>
+      </varlistentry>
+
+      <varlistentry>
+       <term>AVAIL_LANGUAGES</term>
+
+       <listitem>
+        <para>
+         List of provided translations -- empty in the beginning.
+        </para>
+       </listitem>
+      </varlistentry>
+
+      <varlistentry>
+       <term>GETTEXT_FILES</term>
+
+       <listitem>
+        <para>
+         List of files that contain translatable strings, i.e., those
+         marked with <function>gettext</function> or an alternative
+         solution.  Eventually, this will include nearly all source
+         files of the program.  If this list gets too long you can
+         make the first <quote>file</quote> be a <literal>+</literal>
+         and the second word be a file that contains one file name per
+         line.
+        </para>
+       </listitem>
+      </varlistentry>
+
+      <varlistentry>
+       <term>GETTEXT_TRIGGERS</term>
+
+       <listitem>
+        <para>
+         The tools that generate message catalogs for the translators
+         to work on need to know what function calls contain
+         translatable strings.  By default, only
+         <function>gettext()</function> calls are known.  If you used
+         <function>_</function> or other identifiers you need to list
+         them here.  If the translatable string is not the first
+         argument, the item needs to be of the form
+         <literal>func:2</literal> (for the second argument).
+        </para>
+       </listitem>
+      </varlistentry>
+     </variablelist>
+    </para>
+   </step>
+
+  </procedure>
+
+  <para>
+   The build system will automatically take care of building and
+   installing the message catalogs.
+  </para>
+
+  <para>
+   To ease the translation of messages, here are some guidelines:
+
+   <itemizedlist>
+    <listitem>
+     <para>
+      Do not construct sentences at run-time out of laziness, like
+<programlisting>
+printf("Files where %s.\n", flag ? "copied" : "removed");
+</programlisting>
+      The word order within the sentence may be different in other
+      languages.
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      For similar reasons, this won't work:
+<programlisting>
+printf("copied %d file%s", n, n!=1 ? "s" : "");
+</programlisting>
+      because it assumes how the plural is formed.  If you figured you
+      could solve it like this
+<programlisting>
+if (n==1)
+    printf("copied 1 file");
+else
+    printf("copied %d files", n):
+</programlisting>
+      then be disappointed.  Some languages have more than two forms,
+      with some peculiar rules.  We may have a solution for this in
+      the future, but for now this is best avoided altogether.  You
+      could write:
+<programlisting>
+printf("number of copied files: %d", n);
+</programlisting>
+     </para>
+    </listitem>
+
+    <listitem>
+     <para>
+      If you want to communicate something to the translator, such as
+      about how a message is intended to line up with other output,
+      precede the occurance of the string with a comment that starts
+      with <literal>translator</literal>, e.g.,
+<programlisting>
+/* translator: This message is not what it seems to be. */
+</programlisting>
+      These comments are copied to the message catalog files so that
+      the translators can see them.
+     </para>
+    </listitem>
+   </itemizedlist>
+  </para>
+ </sect1>
+
+</chapter>
index b2350a427a7a06c8be2e265127ba957810b38130..6b43b9a74a310d5eb469b55d65433a8ce04d353c 100644 (file)
@@ -1,5 +1,5 @@
 # -*-makefile-*-
-# $Header: /cvsroot/pgsql/src/Makefile.global.in,v 1.128 2001/05/25 14:28:58 momjian Exp $
+# $Header: /cvsroot/pgsql/src/Makefile.global.in,v 1.129 2001/06/02 18:25:16 petere Exp $
 
 #------------------------------------------------------------------------------
 # All PostgreSQL makefiles include this file and use the variables it sets,
@@ -18,7 +18,7 @@
 #
 # Meta configuration
 
-.PHONY: all install installdirs uninstall clean distclean maintainer-clean distprep check installcheck
+.PHONY: all install installdirs uninstall clean distclean maintainer-clean distprep check installcheck maintainer-check
 .SILENT: installdirs
 
 # make `all' the default target
@@ -100,6 +100,7 @@ endif
 odbcinst_ini_dir = @odbcinst_ini_dir@
 
 javadir := $(DESTDIR)$(datadir)/java
+localedir := @localedir@
 
 
 ##########################################################################
@@ -119,6 +120,7 @@ enable_odbc = @enable_odbc@
 MULTIBYTE      = @MULTIBYTE@
 enable_shared  = @enable_shared@
 enable_rpath   = @enable_rpath@
+enable_nls     = @enable_nls@
 
 python_version         = @python_version@
 python_includedir      = @python_includedir@
@@ -186,10 +188,13 @@ X = @EXEEXT@
 ANT    = @ANT@
 AWK    = @AWK@
 LN_S   = @LN_S@
+MSGFMT  = @MSGFMT@
+MSGMERGE = @MSGMERGE@
 PERL   = @PERL@
 PYTHON = @PYTHON@
 TAR    = @TAR@
 WISH   = @WISH@
+XGETTEXT = @XGETTEXT@
 
 # Installation.
 
@@ -214,6 +219,7 @@ SGMLSPL     = @SGMLSPL@
 # Feature settings
 
 DEF_PGPORT = @default_port@
+WANTED_LANGUAGES = @WANTED_LANGUAGES@
 
 
 ##########################################################################
@@ -411,3 +417,16 @@ clean-deps:
        @rm -rf $(DEPDIR) *.d
 
 endif # autodepend
+
+
+##########################################################################
+#
+# Native language support
+
+ifeq ($(enable_nls), yes)
+ifneq (,$(wildcard $(srcdir)/nls.mk))
+
+include $(top_srcdir)/src/nls-global.mk
+
+endif # nls.mk
+endif # enable_nls
index 4db21fe665cc28c4d0bf72483f5c045dcf090a50..48773c4994e597e9da3ab4451e26c9f8201302d6 100644 (file)
@@ -4,7 +4,7 @@
 #
 # Copyright (c) 1994, Regents of the University of California
 #
-# $Header: /cvsroot/pgsql/src/backend/Makefile,v 1.72 2001/05/24 15:53:32 momjian Exp $
+# $Header: /cvsroot/pgsql/src/backend/Makefile,v 1.73 2001/06/02 18:25:17 petere Exp $
 #
 #-------------------------------------------------------------------------
 
@@ -34,6 +34,9 @@ endif
 ##########################################################################
 
 all: postgres $(POSTGRES_IMP)
+ifeq ($(enable_nls), yes)
+       $(MAKE) -C po all
+endif
 
 ifneq ($(PORTNAME), win)
 
@@ -113,7 +116,9 @@ distprep:
        $(MAKE) -C parser       gram.c parse.h scan.c
        $(MAKE) -C bootstrap    bootparse.c bootstrap_tokens.h bootscanner.c
        $(MAKE) -C utils/misc   guc-file.c
-
+ifeq ($(enable_nls), yes)
+       $(MAKE) -C po $@
+endif
 
 ##########################################################################
 
@@ -127,9 +132,15 @@ endif
        $(INSTALL_DATA) $(srcdir)/libpq/pg_hba.conf.sample $(DESTDIR)$(datadir)/pg_hba.conf.sample
        $(INSTALL_DATA) $(srcdir)/libpq/pg_ident.conf.sample $(DESTDIR)$(datadir)/pg_ident.conf.sample
        $(INSTALL_DATA) $(srcdir)/utils/misc/postgresql.conf.sample $(DESTDIR)$(datadir)/postgresql.conf.sample
+ifeq ($(enable_nls), yes)
+       $(MAKE) -C po $@
+endif
 
 installdirs:
        $(mkinstalldirs) $(DESTDIR)$(bindir) $(DESTDIR)$(libdir) $(DESTDIR)$(datadir)
+ifeq ($(enable_nls), yes)
+       $(MAKE) -C po $@
+endif
 
 install-bin: postgres $(POSTGRES_IMP) installdirs
        $(INSTALL_PROGRAM) postgres$(X) $(DESTDIR)$(bindir)/postgres$(X)
@@ -157,6 +168,9 @@ endif
        rm -f $(DESTDIR)$(datadir)/pg_hba.conf.sample \
              $(DESTDIR)$(datadir)/pg_ident.conf.sample \
              $(DESTDIR)$(datadir)/postgresql.conf.sample
+ifeq ($(enable_nls), yes)
+       $(MAKE) -C po $@
+endif
 
 
 ##########################################################################
@@ -171,6 +185,9 @@ ifeq ($(MAKE_DLL), true)
 endif
 endif
        for i in $(DIRS); do $(MAKE) -C $$i clean || exit; done
+ifeq ($(enable_nls), yes)
+       $(MAKE) -C po $@
+endif
 
 distclean: clean
        rm -f port/Makefile port/tas.s port/dynloader.c
@@ -183,6 +200,7 @@ maintainer-clean: distclean
              $(srcdir)/parser/scan.c \
              $(srcdir)/parser/parse.h \
              $(srcdir)/utils/misc/guc-file.c
+       $(MAKE) -C po maintainer-clean
 
 
 ##########################################################################
index 0951649f846a6fe95718fbbc1e2fb629c173e04e..17894f08fe81ec318ee1d63f29ada500ec5bf9d2 100644 (file)
@@ -13,7 +13,7 @@
  *
  *
  * IDENTIFICATION
- *       $Header: /cvsroot/pgsql/src/backend/main/main.c,v 1.43 2001/04/21 18:29:29 tgl Exp $
+ *       $Header: /cvsroot/pgsql/src/backend/main/main.c,v 1.44 2001/06/02 18:25:17 petere Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -21,7 +21,7 @@
 
 #include <pwd.h>
 #include <unistd.h>
-#ifdef USE_LOCALE
+#if defined(USE_LOCALE) || defined(ENABLE_NLS)
 #include <locale.h>
 #endif
 
@@ -97,6 +97,14 @@ main(int argc, char *argv[])
        beos_startup(argc, argv);
 #endif
 
+#ifdef ENABLE_NLS
+#ifdef LC_MESSAGES
+       setlocale(LC_MESSAGES, "");
+#endif
+       bindtextdomain("postgres", LOCALEDIR);
+       textdomain("postgres");
+#endif
+
        /*
         * Not-quite-so-platform-specific startup environment checks. Still
         * best to minimize these.
diff --git a/src/backend/po/Makefile b/src/backend/po/Makefile
new file mode 100644 (file)
index 0000000..0b7b3ff
--- /dev/null
@@ -0,0 +1,12 @@
+# $Header: /cvsroot/pgsql/src/backend/po/Attic/Makefile,v 1.1 2001/06/02 18:25:17 petere Exp $
+
+subdir = src/backend/po
+top_builddir = ../../..
+include $(top_builddir)/src/Makefile.global
+
+
+gettext-files:
+       find $(srcdir)/.. -name '*.c' >$@
+
+maintainer-clean:
+       rm -f gettext-files
diff --git a/src/backend/po/de.po b/src/backend/po/de.po
new file mode 100644 (file)
index 0000000..5cb9430
--- /dev/null
@@ -0,0 +1,11339 @@
+# SOME DESCRIPTIVE TITLE.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2001-05-31 00:15+0200\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: 8bit\n"
+
+#: ../access/common/heaptuple.c:171
+msgid "heap_attisnull: zero attnum disallowed"
+msgstr ""
+
+#: ../access/common/heaptuple.c:174
+msgid "heap_attisnull: undefined negative attnum"
+msgstr ""
+
+#: ../access/common/heaptuple.c:463
+#, c-format
+msgid "heap_getsysattr: invalid attnum %d"
+msgstr ""
+
+#: ../access/common/heaptuple.c:589
+#, c-format
+msgid "heap_formtuple: numberOfAttributes of %d > %d"
+msgstr ""
+
+#: ../access/common/heaptuple.c:692
+#, c-format
+msgid "heap_modifytuple: repl is \\%3d"
+msgstr ""
+
+#: ../access/common/indextuple.c:56
+#, c-format
+msgid "index_formtuple: numberOfAttributes %d > %d"
+msgstr ""
+
+#: ../access/common/indextuple.c:163
+#, c-format
+msgid "index_formtuple: data takes %lu bytes, max is %d"
+msgstr ""
+
+#: ../access/common/printtup.c:49
+#, c-format
+msgid "getTypeOutputInfo: Cache lookup of type %u failed"
+msgstr ""
+
+#: ../access/common/tupdesc.c:597
+#, c-format
+msgid "DefineRelation: no such type %s"
+msgstr ""
+
+#: ../access/gist/gist.c:133 ../access/rtree/rtree.c:124
+#, c-format
+msgid "%s already contains data"
+msgstr ""
+
+#: ../access/gist/gist.c:405
+#, c-format
+msgid "gist: failed to add index item to %s"
+msgstr ""
+
+#: ../access/gist/gist.c:1127
+#, c-format
+msgid "initGISTstate: index %u not found"
+msgstr ""
+
+#: ../access/gist/gist.c:1142
+#, c-format
+msgid "initGISTstate: no attribute tuple %u %d"
+msgstr ""
+
+#: ../access/gist/gist.c:1263
+#, c-format
+msgid "%sPage: %d %s blk: %d maxoff: %d free: %d"
+msgstr ""
+
+#: ../access/gist/gist.c:1271
+#, c-format
+msgid "%s  Tuple. blk: %d size: %d"
+msgstr ""
+
+#: ../access/gist/gist.c:1286
+msgid "gist_redo: unimplemented"
+msgstr ""
+
+#: ../access/gist/gist.c:1292
+msgid "gist_undo: unimplemented"
+msgstr ""
+
+#: ../access/gist/gistscan.c:279
+#, c-format
+msgid "GiST scan list corrupted -- cannot find 0x%p"
+msgstr ""
+
+#: ../access/gist/gistscan.c:395
+#, c-format
+msgid "Bad operation in GiST scan adjust: %d"
+msgstr ""
+
+#: ../access/hash/hash.c:493
+msgid "hash_redo: unimplemented"
+msgstr ""
+
+#: ../access/hash/hash.c:499
+msgid "hash_undo: unimplemented"
+msgstr ""
+
+#: ../access/hash/hashinsert.c:51
+msgid "Hash indices valid for only one index key."
+msgstr ""
+
+#. it doesn't fit on an empty page -- give up
+#: ../access/hash/hashinsert.c:169
+msgid "hash item too large"
+msgstr ""
+
+#: ../access/hash/hashinsert.c:235
+#, c-format
+msgid "_hash_pgaddtup: failed to add index item to %s"
+msgstr ""
+
+#: ../access/hash/hashovfl.c:61
+msgid "_hash_addovflpage: problem with _hash_getovfladdr."
+msgstr ""
+
+#: ../access/hash/hashovfl.c:196
+msgid "overflow_page: problem with _hash_initbitmap."
+msgstr ""
+
+#: ../access/hash/hashovfl.c:569
+#, c-format
+msgid "_hash_squeezebucket: failed to add index item to %s"
+msgstr ""
+
+#: ../access/hash/hashpage.c:82
+#, c-format
+msgid "Cannot initialize non-empty hash table %s"
+msgstr ""
+
+#: ../access/hash/hashpage.c:141
+msgid "Problem with _hash_initbitmap."
+msgstr ""
+
+#: ../access/hash/hashpage.c:186
+msgid "_hash_getbuf: internal error: hash AM does not use P_NEW"
+msgstr ""
+
+#: ../access/hash/hashpage.c:194
+#, c-format
+msgid "_hash_getbuf: invalid access (%d) on new blk: %s"
+msgstr ""
+
+#: ../access/hash/hashpage.c:221
+#, c-format
+msgid "_hash_relbuf: invalid access (%d) on blk %x: %s"
+msgstr ""
+
+#: ../access/hash/hashpage.c:280
+#, c-format
+msgid "_hash_chgbufaccess: invalid access (%d) on blk %x: %s"
+msgstr ""
+
+#: ../access/hash/hashpage.c:325
+#, c-format
+msgid "_hash_setpagelock: invalid access (%d) on blk %x: %s"
+msgstr ""
+
+#: ../access/hash/hashpage.c:349
+#, c-format
+msgid "_hash_unsetpagelock: invalid access (%d) on blk %x: %s"
+msgstr ""
+
+#: ../access/hash/hashpage.c:528 ../access/hash/hashpage.c:669
+#, c-format
+msgid "_hash_splitpage: empty overflow page %d"
+msgstr ""
+
+#: ../access/hash/hashpage.c:569
+#, c-format
+msgid "_hash_splitpage: empty ovfl page %d!"
+msgstr ""
+
+#: ../access/hash/hashpage.c:624
+#, c-format
+msgid "_hash_splitpage: failed to add index item to %s"
+msgstr ""
+
+#: ../access/hash/hashscan.c:78
+#, c-format
+msgid "hash scan list trashed; can't find 0x%p"
+msgstr ""
+
+#: ../access/hash/hashutil.c:76
+msgid "hash indices cannot include null keys"
+msgstr ""
+
+#: ../access/heap/heapam.c:266
+#, c-format
+msgid "heapgettup(%s, tid=0x%x[%d,%d], dir=%d, ...)"
+msgstr ""
+
+#: ../access/heap/heapam.c:272
+#, c-format
+msgid "heapgettup(%s, tid=0x%x, dir=%d, ...)"
+msgstr ""
+
+#: ../access/heap/heapam.c:275
+#, c-format
+msgid "heapgettup(..., b=0x%x, nkeys=%d, key=0x%x"
+msgstr ""
+
+#: ../access/heap/heapam.c:277
+#, c-format
+msgid "heapgettup: relation(%c)=`%s', %p"
+msgstr ""
+
+#: ../access/heap/heapam.c:319 ../access/heap/heapam.c:359
+#: ../access/heap/heapam.c:406 ../access/heap/heapam.c:493
+msgid "heapgettup: failed ReadBuffer"
+msgstr ""
+
+#: ../access/heap/heapam.c:589
+#, c-format
+msgid "Relation %u does not exist"
+msgstr ""
+
+#: ../access/heap/heapam.c:593 ../access/heap/heapam.c:630
+#: ../access/heap/heapam.c:663 ../access/heap/heapam.c:693
+#, c-format
+msgid "%s is an index relation"
+msgstr ""
+
+#: ../access/heap/heapam.c:626
+#, c-format
+msgid "Relation '%s' does not exist"
+msgstr ""
+
+#: ../access/heap/heapam.c:748
+msgid "heap_beginscan: !RelationIsValid(relation)"
+msgstr ""
+
+#: ../access/heap/heapam.c:861
+#, c-format
+msgid "heap_getnext([%s,nkeys=%d],backw=%d) called"
+msgstr ""
+
+#: ../access/heap/heapam.c:865
+msgid "heap_getnext called with backw (no tracing yet)"
+msgstr ""
+
+#: ../access/heap/heapam.c:868
+msgid "heap_getnext returns NULL at end"
+msgstr ""
+
+#: ../access/heap/heapam.c:871
+msgid "heap_getnext valid buffer UNPIN'd"
+msgstr ""
+
+#: ../access/heap/heapam.c:874
+msgid "heap_getnext next tuple was cached"
+msgstr ""
+
+#: ../access/heap/heapam.c:877
+msgid "heap_getnext returning EOS"
+msgstr ""
+
+#: ../access/heap/heapam.c:880
+msgid "heap_getnext returning tuple"
+msgstr ""
+
+#: ../access/heap/heapam.c:909
+msgid "heap_getnext: NULL relscan"
+msgstr ""
+
+#: ../access/heap/heapam.c:1121
+#, c-format
+msgid "heap_fetch: %s relation: ReadBuffer(%lx) failed"
+msgstr ""
+
+#: ../access/heap/heapam.c:1205
+#, c-format
+msgid "heap_get_latest_tid: %s relation: ReadBuffer(%lx) failed"
+msgstr ""
+
+#: ../access/heap/heapam.c:1408
+msgid "heap_delete: failed ReadBuffer"
+msgstr ""
+
+#: ../access/heap/heapam.c:1427
+msgid "heap_delete: (am)invalid tid"
+msgstr ""
+
+#. Tuple was already updated in current command?
+#: ../access/heap/heapam.c:1545
+msgid "simple_heap_delete: tuple already updated by self"
+msgstr ""
+
+#: ../access/heap/heapam.c:1553
+msgid "simple_heap_delete: tuple concurrently updated"
+msgstr ""
+
+#: ../access/heap/heapam.c:1557 ../executor/execMain.c:1356
+#, c-format
+msgid "Unknown status %u from heap_delete"
+msgstr ""
+
+#: ../access/heap/heapam.c:1592
+msgid "heap_update: failed ReadBuffer"
+msgstr ""
+
+#: ../access/heap/heapam.c:1617
+msgid "heap_update: (am)invalid tid"
+msgstr ""
+
+#. Tuple was already updated in current command?
+#: ../access/heap/heapam.c:1861
+msgid "simple_heap_update: tuple already updated by self"
+msgstr ""
+
+#: ../access/heap/heapam.c:1869
+msgid "simple_heap_update: tuple concurrently updated"
+msgstr ""
+
+#: ../access/heap/heapam.c:1873 ../executor/execMain.c:1492
+#, c-format
+msgid "Unknown status %u from heap_update"
+msgstr ""
+
+#: ../access/heap/heapam.c:1896
+msgid "heap_mark4update: failed ReadBuffer"
+msgstr ""
+
+#: ../access/heap/heapam.c:1913
+msgid "heap_mark4update: (am)invalid tid"
+msgstr ""
+
+#: ../access/heap/heapam.c:2277
+msgid "heap_clean_redo: no block"
+msgstr ""
+
+#: ../access/heap/heapam.c:2281
+msgid "heap_clean_redo: uninitialized page"
+msgstr ""
+
+#: ../access/heap/heapam.c:2334
+#, c-format
+msgid "heap_delete_%sdo: no block"
+msgstr ""
+
+#: ../access/heap/heapam.c:2338
+#, c-format
+msgid "heap_delete_%sdo: uninitialized page"
+msgstr ""
+
+#. changes are not applied
+#. * ?!
+#: ../access/heap/heapam.c:2350
+msgid "heap_delete_undo: bad page LSN"
+msgstr ""
+
+#: ../access/heap/heapam.c:2357
+#, c-format
+msgid "heap_delete_%sdo: invalid lp"
+msgstr ""
+
+#: ../access/heap/heapam.c:2373
+msgid "heap_delete_undo: unimplemented"
+msgstr ""
+
+#: ../access/heap/heapam.c:2399
+#, c-format
+msgid "heap_insert_%sdo: uninitialized page"
+msgstr ""
+
+#: ../access/heap/heapam.c:2425
+msgid "heap_insert_redo: invalid max offset number"
+msgstr ""
+
+#: ../access/heap/heapam.c:2448
+msgid "heap_insert_redo: failed to add tuple"
+msgstr ""
+
+#. undo insert
+#. changes are not applied
+#. * ?!
+#: ../access/heap/heapam.c:2458
+msgid "heap_insert_undo: bad page LSN"
+msgstr ""
+
+#: ../access/heap/heapam.c:2460
+msgid "heap_insert_undo: unimplemented"
+msgstr ""
+
+#: ../access/heap/heapam.c:2491
+#, c-format
+msgid "heap_update_%sdo: no block"
+msgstr ""
+
+#: ../access/heap/heapam.c:2495
+#, c-format
+msgid "heap_update_%sdo: uninitialized old page"
+msgstr ""
+
+#. changes are not applied
+#. * ?!
+#: ../access/heap/heapam.c:2509
+msgid "heap_update_undo: bad old tuple page LSN"
+msgstr ""
+
+#: ../access/heap/heapam.c:2516
+#, c-format
+msgid "heap_update_%sdo: invalid lp"
+msgstr ""
+
+#: ../access/heap/heapam.c:2544 ../access/heap/heapam.c:2648
+msgid "heap_update_undo: unimplemented"
+msgstr ""
+
+#: ../access/heap/heapam.c:2565
+#, c-format
+msgid "heap_update_%sdo: uninitialized page"
+msgstr ""
+
+#: ../access/heap/heapam.c:2591
+msgid "heap_update_redo: invalid max offset number"
+msgstr ""
+
+#: ../access/heap/heapam.c:2636
+msgid "heap_update_redo: failed to add tuple"
+msgstr ""
+
+#. undo
+#. changes are not applied
+#. * ?!
+#: ../access/heap/heapam.c:2646
+msgid "heap_update_undo: bad new tuple page LSN"
+msgstr ""
+
+#: ../access/heap/heapam.c:2664
+msgid "_heap_unlock_tuple: can't open relation"
+msgstr ""
+
+#: ../access/heap/heapam.c:2669
+msgid "_heap_unlock_tuple: can't read buffer"
+msgstr ""
+
+#: ../access/heap/heapam.c:2673
+msgid "_heap_unlock_tuple: uninitialized page"
+msgstr ""
+
+#: ../access/heap/heapam.c:2677
+msgid "_heap_unlock_tuple: invalid itemid"
+msgstr ""
+
+#: ../access/heap/heapam.c:2681
+msgid "_heap_unlock_tuple: unused/deleted tuple in rollback"
+msgstr ""
+
+#: ../access/heap/heapam.c:2687
+msgid "_heap_unlock_tuple: invalid xmax/cmax in rollback"
+msgstr ""
+
+#: ../access/heap/heapam.c:2711
+#, c-format
+msgid "heap_redo: unknown op code %u"
+msgstr ""
+
+#: ../access/heap/heapam.c:2731
+#, c-format
+msgid "heap_undo: unknown op code %u"
+msgstr ""
+
+#: ../access/heap/hio.c:54
+msgid "RelationPutHeapTuple: failed to add tuple"
+msgstr ""
+
+#: ../access/heap/hio.c:100
+#, c-format
+msgid "Tuple is too big: size %lu, max size %ld"
+msgstr ""
+
+#. We should not get here given the test at the top
+#: ../access/heap/hio.c:205
+#, c-format
+msgid "Tuple is too big: size %lu"
+msgstr ""
+
+#: ../access/heap/tuptoaster.c:860
+msgid "Failed to build TOAST tuple"
+msgstr ""
+
+#: ../access/heap/tuptoaster.c:870
+msgid "Failed to insert index entry for TOAST tuple"
+msgstr ""
+
+#: ../access/heap/tuptoaster.c:1052
+#, c-format
+msgid "unexpected chunk number %d for toast value %d"
+msgstr ""
+
+#: ../access/heap/tuptoaster.c:1058 ../access/heap/tuptoaster.c:1065
+#, c-format
+msgid "unexpected chunk size %d in chunk %d for toast value %d"
+msgstr ""
+
+#: ../access/heap/tuptoaster.c:1070
+#, c-format
+msgid "chunk %d for toast value %d appears multiple times"
+msgstr ""
+
+#: ../access/heap/tuptoaster.c:1088
+#, c-format
+msgid "not all toast chunks found for value %d"
+msgstr ""
+
+#: ../access/index/genam.c:102
+msgid "RelationGetIndexScan: relation invalid"
+msgstr ""
+
+#: ../access/index/genam.c:149
+msgid "IndexScanEnd: invalid scan"
+msgstr ""
+
+#: ../access/index/genam.c:177
+msgid "IndexScanRestart: invalid scan"
+msgstr ""
+
+#: ../access/index/genam.c:270
+msgid "IndexScanRestorePosition: no mark to restore"
+msgstr ""
+
+#: ../access/index/indexam.c:95 ../access/index/indexam.c:104
+#, c-format
+msgid "index_%s: invalid %s regproc"
+msgstr ""
+
+#: ../access/index/indexam.c:133
+#, c-format
+msgid "Index %u does not exist"
+msgstr ""
+
+#: ../access/index/indexam.c:136 ../access/index/indexam.c:158
+#, c-format
+msgid "%s is not an index relation"
+msgstr ""
+
+#: ../access/index/indexam.c:155
+#, c-format
+msgid "Index '%s' does not exist"
+msgstr ""
+
+#: ../access/index/istrat.c:257
+#, c-format
+msgid "StrategyTermEvaluate: impossible case %d"
+msgstr ""
+
+#: ../access/index/istrat.c:332
+#, c-format
+msgid "RelationGetStrategy: impossible case %d"
+msgstr ""
+
+#: ../access/index/istrat.c:339
+msgid "RelationGetStrategy: corrupted evaluation"
+msgstr ""
+
+#: ../access/index/istrat.c:461
+#, c-format
+msgid "RelationInvokeStrategy: cannot evaluate strategy %d"
+msgstr ""
+
+#: ../access/index/istrat.c:510
+#, c-format
+msgid "OperatorRelationFillScanKeyEntry: unknown operator %u"
+msgstr ""
+
+#: ../access/index/istrat.c:524
+#, c-format
+msgid "OperatorRelationFillScanKeyEntry: no procedure for operator %u"
+msgstr ""
+
+#: ../access/index/istrat.c:576
+#, c-format
+msgid "IndexSupportInitialize: no pg_index entry for index %u"
+msgstr ""
+
+#: ../access/index/istrat.c:594
+msgid "IndexSupportInitialize: no pg_index tuple"
+msgstr ""
+
+#: ../access/nbtree/nbtree.c:728
+#, c-format
+msgid ""
+"_bt_restscan: my bits moved right off the end of the world!\n"
+"\tRecreate index %s."
+msgstr ""
+
+#: ../access/nbtree/nbtree.c:758
+msgid "_bt_restore_page: can't add item to page"
+msgstr ""
+
+#: ../access/nbtree/nbtree.c:781
+msgid "btree_delete_redo: block unfound"
+msgstr ""
+
+#: ../access/nbtree/nbtree.c:784
+msgid "btree_delete_redo: uninitialized page"
+msgstr ""
+
+#: ../access/nbtree/nbtree.c:820
+#, c-format
+msgid "btree_insert_%sdo: block unfound"
+msgstr ""
+
+#: ../access/nbtree/nbtree.c:823
+#, c-format
+msgid "btree_insert_%sdo: uninitialized page"
+msgstr ""
+
+#: ../access/nbtree/nbtree.c:837
+msgid "btree_insert_redo: failed to add item"
+msgstr ""
+
+#: ../access/nbtree/nbtree.c:846
+msgid "btree_insert_undo: bad page LSN"
+msgstr ""
+
+#: ../access/nbtree/nbtree.c:854
+msgid "btree_insert_undo: unimplemented"
+msgstr ""
+
+#: ../access/nbtree/nbtree.c:881
+#, c-format
+msgid "btree_split_%s: lost left sibling"
+msgstr ""
+
+#: ../access/nbtree/nbtree.c:887
+msgid "btree_split_undo: uninitialized left sibling"
+msgstr ""
+
+#: ../access/nbtree/nbtree.c:910
+msgid "btree_split_undo: bad left sibling LSN"
+msgstr ""
+
+#: ../access/nbtree/nbtree.c:911 ../access/nbtree/nbtree.c:950
+msgid "btree_split_undo: unimplemented"
+msgstr ""
+
+#: ../access/nbtree/nbtree.c:919
+#, c-format
+msgid "btree_split_%s: lost right sibling"
+msgstr ""
+
+#: ../access/nbtree/nbtree.c:925
+msgid "btree_split_undo: uninitialized right sibling"
+msgstr ""
+
+#: ../access/nbtree/nbtree.c:949
+msgid "btree_split_undo: bad right sibling LSN"
+msgstr ""
+
+#: ../access/nbtree/nbtree.c:963
+msgid "btree_split_redo: lost next right page"
+msgstr ""
+
+#: ../access/nbtree/nbtree.c:967
+msgid "btree_split_redo: uninitialized next right page"
+msgstr ""
+
+#: ../access/nbtree/nbtree.c:1004
+msgid "btree_newroot_redo: no root page"
+msgstr ""
+
+#: ../access/nbtree/nbtree.c:1007
+msgid "btree_newroot_redo: no metapage"
+msgstr ""
+
+#: ../access/nbtree/nbtree.c:1061
+#, c-format
+msgid "btree_redo: unknown op code %u"
+msgstr ""
+
+#: ../access/nbtree/nbtree.c:1081
+#, c-format
+msgid "btree_undo: unknown op code %u"
+msgstr ""
+
+#.
+#. * Otherwise we have a definite conflict.
+#.
+#: ../access/nbtree/nbtinsert.c:245
+#, c-format
+msgid "Cannot insert a duplicate key into unique index %s"
+msgstr ""
+
+#: ../access/nbtree/nbtinsert.c:361
+#, c-format
+msgid "btree: index item size %lu exceeds maximum %lu"
+msgstr ""
+
+#: ../access/nbtree/nbtinsert.c:491
+msgid "btree: concurrent ROOT page split"
+msgstr ""
+
+#: ../access/nbtree/nbtinsert.c:501
+#, c-format
+msgid "bt_insertonpg[%s]: no root page found"
+msgstr ""
+
+#: ../access/nbtree/nbtinsert.c:504
+#, c-format
+msgid "bt_insertonpg[%s]: root page unfound - fixing upper levels"
+msgstr ""
+
+#: ../access/nbtree/nbtinsert.c:551
+#, c-format
+msgid ""
+"_bt_getstackbuf: my bits moved right off the end of the world!\n"
+"\tRecreate index %s."
+msgstr ""
+
+#: ../access/nbtree/nbtinsert.c:554
+#, c-format
+msgid "bt_insertonpg[%s]: parent page unfound - fixing branch"
+msgstr ""
+
+#: ../access/nbtree/nbtinsert.c:719
+msgid "btree: failed to add hikey to the right sibling"
+msgstr ""
+
+#: ../access/nbtree/nbtinsert.c:745
+msgid "btree: failed to add hikey to the left sibling"
+msgstr ""
+
+#: ../access/nbtree/nbtinsert.c:1063
+#, c-format
+msgid "_bt_findsplitloc: can't find a feasible split point for %s"
+msgstr ""
+
+#: ../access/nbtree/nbtinsert.c:1276
+msgid "btree: failed to add leftkey to new root page"
+msgstr ""
+
+#: ../access/nbtree/nbtinsert.c:1293
+msgid "btree: failed to add rightkey to new root page"
+msgstr ""
+
+#: ../access/nbtree/nbtinsert.c:1377
+msgid "bt_fixroot: not valid old root page"
+msgstr ""
+
+#: ../access/nbtree/nbtinsert.c:1508
+#, c-format
+msgid "bt_fixtree[%s]: invalid start page (need to recreate index)"
+msgstr ""
+
+#: ../access/nbtree/nbtinsert.c:1534
+#, c-format
+msgid "bt_fixtree[%s]: fixing root page"
+msgstr ""
+
+#: ../access/nbtree/nbtinsert.c:1582
+#, c-format
+msgid "bt_fixlevel[%s]: invalid maxoff on start page (need to recreate index)"
+msgstr ""
+
+#: ../access/nbtree/nbtinsert.c:1589
+#, c-format
+msgid ""
+"bt_fixtlevel[%s]: non-leftmost child page of leftmost parent (need to "
+"recreate index)"
+msgstr ""
+
+#: ../access/nbtree/nbtinsert.c:1592
+#, c-format
+msgid "bt_fixtlevel[%s]: invalid start child (need to recreate index)"
+msgstr ""
+
+#: ../access/nbtree/nbtinsert.c:1619
+#, c-format
+msgid "bt_fixlevel[%s]: invalid item order(1) (need to recreate index)"
+msgstr ""
+
+#: ../access/nbtree/nbtinsert.c:1651
+#, c-format
+msgid "bt_fixlevel[%s]: pointer disappeared (need to recreate index)"
+msgstr ""
+
+#: ../access/nbtree/nbtinsert.c:1670
+#, c-format
+msgid "bt_fixlevel[%s]: invalid item order(2) (need to recreate index)"
+msgstr ""
+
+#: ../access/nbtree/nbtinsert.c:1684
+#, c-format
+msgid "bt_fixlevel[%s]: invalid item order(3) (need to recreate index)"
+msgstr ""
+
+#: ../access/nbtree/nbtinsert.c:1814
+#, c-format
+msgid "bt_fixbranch[%s]: left pointer unfound (need to recreate index)"
+msgstr ""
+
+#: ../access/nbtree/nbtinsert.c:1821
+#, c-format
+msgid "bt_fixbranch[%s]: invalid item order (need to recreate index)"
+msgstr ""
+
+#: ../access/nbtree/nbtinsert.c:1830
+#, c-format
+msgid "bt_fixbranch[%s]: right pointer unfound(1) (need to recreate index)"
+msgstr ""
+
+#: ../access/nbtree/nbtinsert.c:1838
+#, c-format
+msgid "bt_fixbranch[%s]: right pointer unfound(2) (need to recreate index)"
+msgstr ""
+
+#: ../access/nbtree/nbtinsert.c:1886
+#, c-format
+msgid "bt_fixbranch[%s]: fixing upper levels"
+msgstr ""
+
+#: ../access/nbtree/nbtinsert.c:1917
+#, c-format
+msgid "bt_fixup[%s]: checking/fixing upper levels"
+msgstr ""
+
+#.
+#. * Ok, we are on the leftmost page, it's write locked by us and its
+#. * btpo_parent points to meta page - time for _bt_fixroot().
+#.
+#: ../access/nbtree/nbtinsert.c:1933
+#, c-format
+msgid "bt_fixup[%s]: fixing root page"
+msgstr ""
+
+#: ../access/nbtree/nbtinsert.c:1998
+#, c-format
+msgid "btree: failed to add item to the %s for %s"
+msgstr ""
+
+#: ../access/nbtree/nbtpage.c:68
+#, c-format
+msgid "Cannot initialize non-empty btree %s"
+msgstr ""
+
+#: ../access/nbtree/nbtpage.c:130
+#, c-format
+msgid "Index %s is not a btree"
+msgstr ""
+
+#: ../access/nbtree/nbtpage.c:134
+#, c-format
+msgid "Version mismatch on %s: version %d file, version %d code"
+msgstr ""
+
+#: ../access/nbtree/nbtpage.c:262
+#, c-format
+msgid "bt_getroot[%s]: fixing root page"
+msgstr ""
+
+#: ../access/nbtree/nbtscan.c:105
+#, c-format
+msgid "btree scan list trashed; can't find 0x%p"
+msgstr ""
+
+#: ../access/nbtree/nbtsearch.c:545
+msgid "_bt_first: btree doesn't support is(not)null, yet"
+msgstr ""
+
+#: ../access/nbtree/nbtsearch.c:689
+msgid "_bt_first: equal items disappeared?"
+msgstr ""
+
+#: ../access/nbtree/nbtsearch.c:999
+#, c-format
+msgid "Illegal scan direction %d"
+msgstr ""
+
+#: ../access/nbtree/nbtsort.c:286
+msgid "btree: failed to add item to the page in _bt_sort"
+msgstr ""
+
+#: ../access/nbtree/nbtsort.c:351
+#, c-format
+msgid "btree: index item size %lu exceeds maximum %ld"
+msgstr ""
+
+#: ../access/nbtree/nbtutils.c:217
+msgid "_bt_orderkeys: key(s) for attribute 1 missed"
+msgstr ""
+
+#: ../access/nbtree/nbtutils.c:285
+#, c-format
+msgid "_bt_orderkeys: key(s) for attribute %d missed"
+msgstr ""
+
+#: ../access/nbtree/nbtutils.c:402
+#, c-format
+msgid "_bt_orderkeys: unable to identify operator %u"
+msgstr ""
+
+#: ../access/rtree/rtree.c:381
+#, c-format
+msgid "rtdoinsert: failed to add index item to %s"
+msgstr ""
+
+#: ../access/rtree/rtree.c:551 ../access/rtree/rtree.c:561
+#, c-format
+msgid "rtdosplit: failed to copy index item in %s"
+msgstr ""
+
+#: ../access/rtree/rtree.c:576 ../access/rtree/rtree.c:587
+#, c-format
+msgid "rtdosplit: failed to add index item to %s"
+msgstr ""
+
+#: ../access/rtree/rtree.c:680
+msgid "Variable-length rtree keys are not supported."
+msgstr ""
+
+#: ../access/rtree/rtree.c:700
+#, c-format
+msgid "rtintinsert: failed to add index item to %s"
+msgstr ""
+
+#: ../access/rtree/rtree.c:726 ../access/rtree/rtree.c:731
+#, c-format
+msgid "rtnewroot: failed to add index item to %s"
+msgstr ""
+
+#: ../access/rtree/rtree.c:809
+#, c-format
+msgid "rtree: index item size %lu exceeds maximum %lu"
+msgstr ""
+
+#: ../access/rtree/rtree.c:1000
+msgid "rtpicksplit: failed to find a workable page split"
+msgstr ""
+
+#: ../access/rtree/rtree.c:1215
+msgid "rtree_redo: unimplemented"
+msgstr ""
+
+#: ../access/rtree/rtree.c:1221
+msgid "rtree_undo: unimplemented"
+msgstr ""
+
+#: ../access/rtree/rtscan.c:280
+#, c-format
+msgid "rtree scan list corrupted -- cannot find 0x%p"
+msgstr ""
+
+#: ../access/rtree/rtscan.c:396
+#, c-format
+msgid "Bad operation in rtree scan adjust: %d"
+msgstr ""
+
+#.
+#. * here the block didn't contain the information we wanted
+#.
+#: ../access/transam/transam.c:169
+msgid "TransactionLogTest: failed to get xidstatus"
+msgstr ""
+
+#: ../access/transam/transsup.c:66
+msgid "TransComputeBlockNumber: unknown relation"
+msgstr ""
+
+#: ../access/transam/transsup.c:258
+#, c-format
+msgid "TransBlockSetXidStatus: invalid status: %d (ignored)"
+msgstr ""
+
+#: ../access/transam/xact.c:536
+msgid "You may only have 2^32-1 commands per transaction"
+msgstr ""
+
+#: ../access/transam/xact.c:1027
+msgid "CommitTransaction and not in in-progress state "
+msgstr ""
+
+#: ../access/transam/xact.c:1148
+msgid "AbortTransaction and not in in-progress state"
+msgstr ""
+
+#: ../access/transam/xact.c:1208
+msgid "CleanupTransaction and not in abort state"
+msgstr ""
+
+#: ../access/transam/xact.c:1249
+msgid "StartTransactionCommand: unexpected TBLOCK_BEGIN"
+msgstr ""
+
+#: ../access/transam/xact.c:1270
+msgid "StartTransactionCommand: unexpected TBLOCK_END"
+msgstr ""
+
+#: ../access/transam/xact.c:1293
+msgid "StartTransactionCommand: unexpected TBLOCK_ENDABORT"
+msgstr ""
+
+#: ../access/transam/xact.c:1478
+msgid "BEGIN: already a transaction in progress"
+msgstr ""
+
+#.
+#. * here, the user issued COMMIT when not inside a transaction. Issue a
+#. * notice and go to abort state.  The upcoming call to
+#. * CommitTransactionCommand() will then put us back into the default
+#. * state.
+#.
+#: ../access/transam/xact.c:1544
+msgid "COMMIT: no transaction in progress"
+msgstr ""
+
+#.
+#. * here, the user issued ABORT when not inside a transaction. Issue a
+#. * notice and go to abort state.  The upcoming call to
+#. * CommitTransactionCommand() will then put us back into the default
+#. * state.
+#.
+#: ../access/transam/xact.c:1585 ../access/transam/xact.c:1640
+msgid "ROLLBACK: no transaction in progress"
+msgstr ""
+
+#: ../access/transam/xact.c:1712 ../access/transam/xact.c:1723
+#, c-format
+msgid "xact_redo: unknown op code %u"
+msgstr ""
+
+#. shouldn't be called by XLOG
+#: ../access/transam/xact.c:1721
+msgid "xact_undo: can't undo committed xaction"
+msgstr ""
+
+#: ../access/transam/xact.c:1758
+msgid "XactPushRollback: already installed"
+msgstr ""
+
+#: ../access/transam/xlog.c:465
+#, c-format
+msgid "XLogInsert: invalid info mask %02X"
+msgstr ""
+
+#: ../access/transam/xlog.c:570
+#, c-format
+msgid "XLogInsert: can backup %d blocks at most"
+msgstr ""
+
+#: ../access/transam/xlog.c:588
+#, c-format
+msgid "XLogInsert: invalid record len %u"
+msgstr ""
+
+#: ../access/transam/xlog.c:992
+msgid "XLogWrite: write request is past end of log"
+msgstr ""
+
+#: ../access/transam/xlog.c:1007 ../access/transam/xlog.c:1116
+#: ../access/transam/xlog.c:3067
+#, c-format
+msgid "close(logfile %u seg %u) failed: %m"
+msgstr ""
+
+#. there was no precreated file
+#: ../access/transam/xlog.c:1020
+msgid "XLogWrite: new log file created - consider increasing WAL_FILES"
+msgstr ""
+
+#: ../access/transam/xlog.c:1065
+#, c-format
+msgid "lseek(logfile %u seg %u off %u) failed: %m"
+msgstr ""
+
+#: ../access/transam/xlog.c:1072
+#, c-format
+msgid "write(logfile %u seg %u off %u) failed: %m"
+msgstr ""
+
+#: ../access/transam/xlog.c:1240
+msgid "XLogFlush: request is not satisfied"
+msgstr ""
+
+#: ../access/transam/xlog.c:1290
+#, c-format
+msgid "InitOpen(logfile %u seg %u) failed: %m"
+msgstr ""
+
+#: ../access/transam/xlog.c:1312
+#, c-format
+msgid "InitCreate(%s) failed: %m"
+msgstr ""
+
+#: ../access/transam/xlog.c:1337
+#, c-format
+msgid "ZeroFill failed to create or write %s: %m"
+msgstr ""
+
+#: ../access/transam/xlog.c:1342
+#, c-format
+msgid "fsync(%s) failed: %m"
+msgstr ""
+
+#: ../access/transam/xlog.c:1383 ../access/transam/xlog.c:1388
+#, c-format
+msgid "InitRelink(logfile %u seg %u) failed: %m"
+msgstr ""
+
+#: ../access/transam/xlog.c:1402
+#, c-format
+msgid "InitReopen(logfile %u seg %u) failed: %m"
+msgstr ""
+
+#: ../access/transam/xlog.c:1425 ../access/transam/xlog.c:1429
+#, c-format
+msgid "open(logfile %u seg %u) failed: %m"
+msgstr ""
+
+#: ../access/transam/xlog.c:1485
+#, c-format
+msgid "MoveOfflineLogs: cannot open xlog dir: %m"
+msgstr ""
+
+#: ../access/transam/xlog.c:1496
+#, c-format
+msgid "MoveOfflineLogs: %s %s"
+msgstr ""
+
+#: ../access/transam/xlog.c:1505
+#, c-format
+msgid "MoveOfflineLogs: cannot read xlog dir: %m"
+msgstr ""
+
+#: ../access/transam/xlog.c:1577
+#, c-format
+msgid "ReadRecord: bad rmgr data CRC in record at %u/%u"
+msgstr ""
+
+#: ../access/transam/xlog.c:1599
+#, c-format
+msgid "ReadRecord: bad bkp block %d CRC in record at %u/%u"
+msgstr ""
+
+#: ../access/transam/xlog.c:1669
+#, c-format
+msgid "ReadRecord: invalid record offset at (%u, %u)"
+msgstr ""
+
+#: ../access/transam/xlog.c:1692
+#, c-format
+msgid "ReadRecord: lseek(logfile %u seg %u off %u) failed: %m"
+msgstr ""
+
+#: ../access/transam/xlog.c:1698 ../access/transam/xlog.c:1782
+#, c-format
+msgid "ReadRecord: read(logfile %u seg %u off %u) failed: %m"
+msgstr ""
+
+#: ../access/transam/xlog.c:1708
+#, c-format
+msgid "ReadRecord: contrecord is requested by (%u, %u)"
+msgstr ""
+
+#: ../access/transam/xlog.c:1722
+#, c-format
+msgid "ReadRecord: record with zero len at (%u, %u)"
+msgstr ""
+
+#: ../access/transam/xlog.c:1746
+#, c-format
+msgid "ReadRecord: too long record len %u at (%u, %u)"
+msgstr ""
+
+#: ../access/transam/xlog.c:1752
+#, c-format
+msgid "ReadRecord: invalid resource manager id %u at (%u, %u)"
+msgstr ""
+
+#: ../access/transam/xlog.c:1790
+#, c-format
+msgid "ReadRecord: there is no ContRecord flag in logfile %u seg %u off %u"
+msgstr ""
+
+#: ../access/transam/xlog.c:1798
+#, c-format
+msgid "ReadRecord: invalid cont-record len %u in logfile %u seg %u off %u"
+msgstr ""
+
+#: ../access/transam/xlog.c:1860
+#, c-format
+msgid "ReadRecord: invalid magic number %04X in logfile %u seg %u off %u"
+msgstr ""
+
+#: ../access/transam/xlog.c:1866
+#, c-format
+msgid "ReadRecord: invalid info bits %04X in logfile %u seg %u off %u"
+msgstr ""
+
+#: ../access/transam/xlog.c:1886
+#, c-format
+msgid ""
+"ReadRecord: out-of-sequence SUI %u (after %u) in logfile %u seg %u off %u"
+msgstr ""
+
+#: ../access/transam/xlog.c:1940 ../utils/adt/selfuncs.c:2412
+msgid "Invalid LC_COLLATE setting"
+msgstr ""
+
+#: ../access/transam/xlog.c:1944
+msgid "Invalid LC_CTYPE setting"
+msgstr ""
+
+#: ../access/transam/xlog.c:1953
+#, c-format
+msgid ""
+"Initializing database with %s collation order.\n"
+"\tThis locale setting will prevent use of index optimization for\n"
+"\tLIKE and regexp searches.  If you are concerned about speed of\n"
+"\tsuch queries, you may wish to set LC_COLLATE to \"C\" and\n"
+"\tre-initdb.  For more information see the Administrator's Guide."
+msgstr ""
+
+#: ../access/transam/xlog.c:1979
+msgid "sizeof(ControlFileData) is too large ... fix xlog.c"
+msgstr ""
+
+#: ../access/transam/xlog.c:1987
+#, c-format
+msgid "WriteControlFile failed to create control file (%s): %m"
+msgstr ""
+
+#: ../access/transam/xlog.c:1991
+#, c-format
+msgid "WriteControlFile failed to write control file: %m"
+msgstr ""
+
+#: ../access/transam/xlog.c:1994
+#, c-format
+msgid "WriteControlFile failed to fsync control file: %m"
+msgstr ""
+
+#: ../access/transam/xlog.c:2010 ../access/transam/xlog.c:2086
+#, c-format
+msgid "open(\"%s\") failed: %m"
+msgstr ""
+
+#: ../access/transam/xlog.c:2013
+#, c-format
+msgid "read(\"%s\") failed: %m"
+msgstr ""
+
+#: ../access/transam/xlog.c:2024
+#, c-format
+msgid ""
+"database was initialized with PG_CONTROL_VERSION %d,\n"
+"\tbut the backend was compiled with PG_CONTROL_VERSION %d.\n"
+"\tlooks like you need to initdb."
+msgstr ""
+
+#: ../access/transam/xlog.c:2035
+msgid "Invalid CRC in control file"
+msgstr ""
+
+#: ../access/transam/xlog.c:2050
+#, c-format
+msgid ""
+"database was initialized with CATALOG_VERSION_NO %d,\n"
+"\tbut the backend was compiled with CATALOG_VERSION_NO %d.\n"
+"\tlooks like you need to initdb."
+msgstr ""
+
+#: ../access/transam/xlog.c:2053
+#, c-format
+msgid ""
+"database was initialized with BLCKSZ %d,\n"
+"\tbut the backend was compiled with BLCKSZ %d.\n"
+"\tlooks like you need to initdb."
+msgstr ""
+
+#: ../access/transam/xlog.c:2056
+#, c-format
+msgid ""
+"database was initialized with RELSEG_SIZE %d,\n"
+"\tbut the backend was compiled with RELSEG_SIZE %d.\n"
+"\tlooks like you need to initdb."
+msgstr ""
+
+#: ../access/transam/xlog.c:2060
+#, c-format
+msgid ""
+"database was initialized with LC_COLLATE '%s',\n"
+"\twhich is not recognized by setlocale().\n"
+"\tlooks like you need to initdb."
+msgstr ""
+
+#: ../access/transam/xlog.c:2063
+#, c-format
+msgid ""
+"database was initialized with LC_CTYPE '%s',\n"
+"\twhich is not recognized by setlocale().\n"
+"\tlooks like you need to initdb."
+msgstr ""
+
+#: ../access/transam/xlog.c:2068
+#, c-format
+msgid ""
+"database was initialized with LC_COLLATE '%s' and LC_CTYPE '%s',\n"
+"\tbut the backend was compiled without locale support.\n"
+"\tlooks like you need to initdb or recompile."
+msgstr ""
+
+#: ../access/transam/xlog.c:2089
+#, c-format
+msgid "write(cntlfile) failed: %m"
+msgstr ""
+
+#: ../access/transam/xlog.c:2092
+#, c-format
+msgid "fsync(cntlfile) failed: %m"
+msgstr ""
+
+#: ../access/transam/xlog.c:2228
+#, c-format
+msgid "BootStrapXLOG failed to write logfile: %m"
+msgstr ""
+
+#: ../access/transam/xlog.c:2231
+#, c-format
+msgid "BootStrapXLOG failed to fsync logfile: %m"
+msgstr ""
+
+#: ../access/transam/xlog.c:2295
+msgid "control file context is broken"
+msgstr ""
+
+#: ../access/transam/xlog.c:2298
+#, c-format
+msgid "database system was shut down at %s"
+msgstr ""
+
+#: ../access/transam/xlog.c:2301
+#, c-format
+msgid "database system shutdown was interrupted at %s"
+msgstr ""
+
+#: ../access/transam/xlog.c:2304
+#, c-format
+msgid ""
+"database system was interrupted being in recovery at %s\n"
+"\tThis propably means that some data blocks are corrupted\n"
+"\tand you will have to use last backup for recovery."
+msgstr ""
+
+#: ../access/transam/xlog.c:2309
+#, c-format
+msgid "database system was interrupted at %s"
+msgstr ""
+
+#: ../access/transam/xlog.c:2321
+#, c-format
+msgid "CheckPoint record at (%u, %u)"
+msgstr ""
+
+#: ../access/transam/xlog.c:2331
+#, c-format
+msgid "Using previous CheckPoint record at (%u, %u)"
+msgstr ""
+
+#: ../access/transam/xlog.c:2336
+msgid "Unable to locate a valid CheckPoint record"
+msgstr ""
+
+#: ../access/transam/xlog.c:2342
+#, c-format
+msgid "Redo record at (%u, %u); Undo record at (%u, %u); Shutdown %s"
+msgstr ""
+
+#: ../access/transam/xlog.c:2346
+#, c-format
+msgid "NextTransactionId: %u; NextOid: %u"
+msgstr ""
+
+#: ../access/transam/xlog.c:2350
+msgid "Invalid NextTransactionId/NextOid"
+msgstr ""
+
+#: ../access/transam/xlog.c:2361
+msgid "Invalid redo in checkPoint record"
+msgstr ""
+
+#: ../access/transam/xlog.c:2369
+msgid "Invalid Redo/Undo record in shutdown checkpoint"
+msgstr ""
+
+#: ../access/transam/xlog.c:2378
+msgid ""
+"database system was not properly shut down; automatic recovery in progress..."
+msgstr ""
+
+#: ../access/transam/xlog.c:2397
+#, c-format
+msgid "redo starts at (%u, %u)"
+msgstr ""
+
+#: ../access/transam/xlog.c:2423
+#, c-format
+msgid "redo done at (%u, %u)"
+msgstr ""
+
+#: ../access/transam/xlog.c:2429
+msgid "redo is not required"
+msgstr ""
+
+#: ../access/transam/xlog.c:2506
+#, c-format
+msgid "undo starts at (%u, %u)"
+msgstr ""
+
+#: ../access/transam/xlog.c:2516
+#, c-format
+msgid "undo done at (%u, %u)"
+msgstr ""
+
+#: ../access/transam/xlog.c:2520
+msgid "undo is not required"
+msgstr ""
+
+#: ../access/transam/xlog.c:2552
+msgid "database system is in production state"
+msgstr "Datenbanksystem is bereit"
+
+#: ../access/transam/xlog.c:2580
+#, c-format
+msgid "Invalid %s checkPoint link in control file"
+msgstr ""
+
+#: ../access/transam/xlog.c:2588
+#, c-format
+msgid "Invalid %s checkPoint record"
+msgstr ""
+
+#: ../access/transam/xlog.c:2593
+#, c-format
+msgid "Invalid RMID in %s checkPoint record"
+msgstr ""
+
+#: ../access/transam/xlog.c:2599
+#, c-format
+msgid "Invalid xl_info in %s checkPoint record"
+msgstr ""
+
+#: ../access/transam/xlog.c:2604
+#, c-format
+msgid "Invalid length of %s checkPoint record"
+msgstr ""
+
+#: ../access/transam/xlog.c:2652
+msgid "shutting down"
+msgstr ""
+
+#: ../access/transam/xlog.c:2662
+msgid "database system is shut down"
+msgstr ""
+
+#: ../access/transam/xlog.c:2681
+msgid "CreateCheckPoint: cannot be called inside transaction block"
+msgstr ""
+
+#: ../access/transam/xlog.c:2772
+msgid "Active transaction while data base is shutting down"
+msgstr ""
+
+#: ../access/transam/xlog.c:2816
+msgid "XLog concurrent activity while data base is shutting down"
+msgstr ""
+
+#. Can't get here unless guc.c screwed up
+#: ../access/transam/xlog.c:3045
+#, c-format
+msgid "Bogus xlog sync method %s"
+msgstr ""
+
+#: ../access/transam/xlog.c:3062 ../access/transam/xlog.c:3088
+#, c-format
+msgid "fsync(logfile %u seg %u) failed: %m"
+msgstr ""
+
+#: ../access/transam/xlog.c:3094
+#, c-format
+msgid "fdatasync(logfile %u seg %u) failed: %m"
+msgstr ""
+
+#: ../access/transam/xlog.c:3102
+#, c-format
+msgid "bogus sync_method %d"
+msgstr ""
+
+#: ../access/transam/xlogutils.c:177
+msgid "XLogOpenLogRelation: failed to open pg_log"
+msgstr ""
+
+#: ../access/transam/xlogutils.c:284
+msgid "_xl_remove_hash_entry: can't delete from cache"
+msgstr ""
+
+#: ../access/transam/xlogutils.c:286
+msgid "_xl_remove_hash_entry: file was not found in cache"
+msgstr ""
+
+#: ../access/transam/xlogutils.c:356
+msgid "XLogOpenRelation: error in cache"
+msgstr ""
+
+#: ../access/transam/xlogutils.c:380
+msgid "XLogOpenRelation: can't insert into cache"
+msgstr ""
+
+#: ../access/transam/xlogutils.c:383
+msgid "XLogOpenRelation: file found on insert into cache"
+msgstr ""
+
+#: /home/peter/pgsql/src/backend/bootstrap/bootparse.y:59
+msgid "start transaction"
+msgstr ""
+
+#: /home/peter/pgsql/src/backend/bootstrap/bootparse.y:68
+msgid "commit transaction"
+msgstr ""
+
+#: /home/peter/pgsql/src/backend/bootstrap/bootparse.y:162
+#, c-format
+msgid "creating bootstrap relation %s..."
+msgstr ""
+
+#: /home/peter/pgsql/src/backend/bootstrap/bootparse.y:165
+#, c-format
+msgid "creating relation %s..."
+msgstr ""
+
+#: /home/peter/pgsql/src/backend/bootstrap/bootparse.y:184
+msgid "create bootstrap: warning, open relation exists, closing first"
+msgstr ""
+
+#: /home/peter/pgsql/src/backend/bootstrap/bootparse.y:192
+msgid "bootstrap relation created"
+msgstr ""
+
+#: /home/peter/pgsql/src/backend/bootstrap/bootparse.y:206
+#, c-format
+msgid "relation created with oid %u"
+msgstr ""
+
+#: /home/peter/pgsql/src/backend/bootstrap/bootparse.y:219
+#, c-format
+msgid "inserting row with oid %u..."
+msgstr ""
+
+#: /home/peter/pgsql/src/backend/bootstrap/bootparse.y:221
+msgid "inserting row..."
+msgstr ""
+
+#: /home/peter/pgsql/src/backend/bootstrap/bootparse.y:228
+#, c-format
+msgid "incorrect number of columns in row (expected %d, got %d)"
+msgstr ""
+
+#: /home/peter/pgsql/src/backend/bootstrap/bootparse.y:232
+msgid "relation not open"
+msgstr ""
+
+#: /home/peter/pgsql/src/backend/bootstrap/bootparse.y:299
+msgid "too many columns"
+msgstr ""
+
+#: ../bootstrap/bootstrap.c:374
+#, c-format
+msgid "Unsupported XLOG op %d"
+msgstr ""
+
+#: ../bootstrap/bootstrap.c:478
+#, c-format
+msgid "open relation %s, attrsize %d"
+msgstr ""
+
+#: ../bootstrap/bootstrap.c:507
+#, c-format
+msgid "create attribute %d name %s len %d num %d type %u"
+msgstr ""
+
+#: ../bootstrap/bootstrap.c:527
+#, c-format
+msgid "closerel: close of '%s' when '%s' was expected"
+msgstr ""
+
+#: ../bootstrap/bootstrap.c:531
+#, c-format
+msgid "closerel: close of '%s' before any relation was opened"
+msgstr ""
+
+#: ../bootstrap/bootstrap.c:537
+msgid "no open relation to close"
+msgstr ""
+
+#: ../bootstrap/bootstrap.c:541
+#, c-format
+msgid "close relation %s"
+msgstr ""
+
+#: ../bootstrap/bootstrap.c:565
+msgid "warning: no open relations allowed with 'create' command"
+msgstr ""
+
+#: ../bootstrap/bootstrap.c:577 ../bootstrap/bootstrap.c:589
+#, c-format
+msgid "column %s %s"
+msgstr ""
+
+#: ../bootstrap/bootstrap.c:637
+#, c-format
+msgid "inserting row oid %u, %d columns"
+msgstr ""
+
+#: ../bootstrap/bootstrap.c:648
+msgid "row inserted"
+msgstr ""
+
+#: ../bootstrap/bootstrap.c:671
+#, c-format
+msgid "inserting column %d value '%s'"
+msgstr ""
+
+#: ../bootstrap/bootstrap.c:678
+msgid "Typ != NULL"
+msgstr ""
+
+#: ../bootstrap/bootstrap.c:685
+#, c-format
+msgid "unable to find atttypid %u in Typ list"
+msgstr ""
+
+#: ../bootstrap/bootstrap.c:697 ../bootstrap/bootstrap.c:720
+#, c-format
+msgid " -> %s"
+msgstr ""
+
+#: ../bootstrap/bootstrap.c:708
+#, c-format
+msgid "type oid %u not found"
+msgstr ""
+
+#: ../bootstrap/bootstrap.c:710
+#, c-format
+msgid "Typ == NULL, typeindex = %u"
+msgstr ""
+
+#: ../bootstrap/bootstrap.c:724
+msgid "inserted"
+msgstr ""
+
+#: ../bootstrap/bootstrap.c:735
+#, c-format
+msgid "inserting column %d NULL"
+msgstr ""
+
+#: ../bootstrap/bootstrap.c:782
+msgid "Memory manager fault: cleanup called twice.\n"
+msgstr ""
+
+#: ../bootstrap/bootstrap.c:823
+#, c-format
+msgid "external type: %s"
+msgstr ""
+
+#: ../bootstrap/bootstrap.c:847
+#, c-format
+msgid "Error: unknown type '%s'.\n"
+msgstr ""
+
+#: ../bootstrap/bootstrap.c:863
+msgid "AllocateAttribute: malloc failed"
+msgstr ""
+
+#: ../bootstrap/bootstrap.c:1015
+msgid ""
+"There are too many string constants and identifiers for the compiler to "
+"handle."
+msgstr ""
+
+#: /home/peter/pgsql/src/backend/bootstrap/bootscanner.l:125
+#, c-format
+msgid "syntax error at line %d: unexpected character %s"
+msgstr ""
+
+#: /home/peter/pgsql/src/backend/bootstrap/bootscanner.l:141
+#, c-format
+msgid "syntax error at line %d: unexpected token %s"
+msgstr ""
+
+#: ../catalog/catalog.c:95
+#, c-format
+msgid "relpath_blind: oid of db %s is not %u"
+msgstr ""
+
+#: ../catalog/catalog.c:99
+#, c-format
+msgid "relpath_blind: can't expand path for db %s"
+msgstr ""
+
+#: ../catalog/catalog.c:232
+msgid "newoid: GetNewObjectId returns invalid oid"
+msgstr ""
+
+#: ../catalog/aclchk.c:56
+#, c-format
+msgid "acl size = %d, # acls = %d"
+msgstr ""
+
+#: ../catalog/aclchk.c:60
+#, c-format
+msgid "\tacl[%d]: %s"
+msgstr ""
+
+#: ../catalog/aclchk.c:99
+#, c-format
+msgid "ChangeAcl: class \"%s\" not found"
+msgstr ""
+
+#: ../catalog/aclchk.c:171
+#, c-format
+msgid "non-existent group \"%s\""
+msgstr ""
+
+#: ../catalog/aclchk.c:235
+#, c-format
+msgid "in_group: group %u not found"
+msgstr ""
+
+#: ../catalog/aclchk.c:258
+msgid "aclcheck: null ACL, returning 1"
+msgstr ""
+
+#: ../catalog/aclchk.c:273
+msgid "aclcheck: zero-length ACL, returning 1"
+msgstr ""
+
+#: ../catalog/aclchk.c:289
+#, c-format
+msgid "aclcheck: found user %u/%d"
+msgstr ""
+
+#: ../catalog/aclchk.c:305 ../catalog/aclchk.c:328
+#, c-format
+msgid "aclcheck: found group %u/%d"
+msgstr ""
+
+#: ../catalog/aclchk.c:340
+#, c-format
+msgid "aclcheck: bogus ACL id type: %d"
+msgstr ""
+
+#: ../catalog/aclchk.c:345
+#, c-format
+msgid "aclcheck: using world=%d"
+msgstr ""
+
+#: ../catalog/aclchk.c:364
+#, c-format
+msgid "pg_aclcheck: invalid user id %u"
+msgstr ""
+
+#: ../catalog/aclchk.c:379
+#, c-format
+msgid "pg_aclcheck: catalog update to \"%s\": permission denied"
+msgstr ""
+
+#: ../catalog/aclchk.c:391
+#, c-format
+msgid "pg_aclcheck: \"%s\" is superuser"
+msgstr ""
+
+#: ../catalog/aclchk.c:408
+#, c-format
+msgid "pg_aclcheck: class \"%s\" not found"
+msgstr ""
+
+#: ../catalog/aclchk.c:448
+#, c-format
+msgid "pg_ownercheck: invalid user id %u"
+msgstr ""
+
+#: ../catalog/aclchk.c:458 ../catalog/aclchk.c:532
+#, c-format
+msgid "pg_ownercheck: user \"%s\" is superuser"
+msgstr ""
+
+#: ../catalog/aclchk.c:475
+#, c-format
+msgid "pg_ownercheck: operator %ld not found"
+msgstr ""
+
+#: ../catalog/aclchk.c:481
+#, c-format
+msgid "pg_ownercheck: function \"%s\" not found"
+msgstr ""
+
+#: ../catalog/aclchk.c:487
+#, c-format
+msgid "pg_ownercheck: class \"%s\" not found"
+msgstr ""
+
+#: ../catalog/aclchk.c:493
+#, c-format
+msgid "pg_ownercheck: type \"%s\" not found"
+msgstr ""
+
+#: ../catalog/aclchk.c:498
+#, c-format
+msgid "pg_ownercheck: invalid cache id: %d"
+msgstr ""
+
+#: ../catalog/aclchk.c:522
+#, c-format
+msgid "pg_func_ownercheck: invalid user id %u"
+msgstr ""
+
+#: ../catalog/aclchk.c:570
+#, c-format
+msgid "pg_aggr_ownercheck: invalid user id %u"
+msgstr ""
+
+#: ../catalog/aclchk.c:580
+#, c-format
+msgid "pg_aggr_ownercheck: user \"%s\" is superuser"
+msgstr ""
+
+#: ../catalog/heap.c:160
+#, c-format
+msgid "SystemAttributeDefinition: invalid attribute number %d"
+msgstr ""
+
+#: ../catalog/heap.c:214
+#, c-format
+msgid ""
+"Illegal class name '%s'\n"
+"\tThe 'pg_' name prefix is reserved for system catalogs"
+msgstr ""
+
+#: ../catalog/heap.c:426
+#, c-format
+msgid ""
+"Attribute '%s' has a name conflict\n"
+"\tName matches an existing system attribute"
+msgstr ""
+
+#: ../catalog/heap.c:433
+#, c-format
+msgid ""
+"Attribute '%s' has an unknown type\n"
+"\tRelation created; continue"
+msgstr ""
+
+#: ../catalog/heap.c:449
+#, c-format
+msgid "Attribute '%s' is repeated"
+msgstr ""
+
+#: ../catalog/heap.c:781
+#, c-format
+msgid ""
+"Number of attributes is out of range\n"
+"\tFrom 1 to %d attributes may be specified"
+msgstr ""
+
+#: ../catalog/heap.c:790
+#, c-format
+msgid "Relation '%s' already exists"
+msgstr ""
+
+#: ../catalog/heap.c:958
+#, c-format
+msgid "Relation \"%s\" inherits from \"%s\""
+msgstr ""
+
+#: ../catalog/heap.c:961
+#, c-format
+msgid "Relation %u inherits from \"%s\""
+msgstr ""
+
+#: ../catalog/heap.c:1044 ../commands/rename.c:205
+#, c-format
+msgid "Relation \"%s\" does not exist"
+msgstr ""
+
+#: ../catalog/heap.c:1097
+#, c-format
+msgid "RelationTruncateIndexes: index %u not found in pg_class"
+msgstr ""
+
+#: ../catalog/heap.c:1170
+msgid "TRUNCATE TABLE cannot run inside a BEGIN/END block"
+msgstr ""
+
+#: ../catalog/heap.c:1283
+#, c-format
+msgid "DeleteTypeTuple: type \"%s\" does not exist"
+msgstr ""
+
+#: ../catalog/heap.c:1323
+#, c-format
+msgid "DeleteTypeTuple: att of type %s exists in relation %u"
+msgstr ""
+
+#: ../catalog/heap.c:1367
+#, c-format
+msgid "System relation \"%s\" may not be dropped"
+msgstr ""
+
+#: ../catalog/heap.c:1376
+#, c-format
+msgid "heap_drop_with_catalog: FlushRelationBuffers returned %d"
+msgstr ""
+
+#: ../catalog/heap.c:1518 ../parser/parse_relation.c:949
+#: ../utils/adt/ruleutils.c:2615
+#, c-format
+msgid "cache lookup of attribute %d in relation %u failed"
+msgstr ""
+
+#: ../catalog/heap.c:1709
+msgid "Cannot use attribute(s) in DEFAULT clause"
+msgstr ""
+
+#: ../catalog/heap.c:1715
+msgid "Cannot use subselect in DEFAULT clause"
+msgstr ""
+
+#: ../catalog/heap.c:1717
+msgid "Cannot use aggregate in DEFAULT clause"
+msgstr ""
+
+#: ../catalog/heap.c:1739
+#, c-format
+msgid ""
+"Attribute '%s' is of type '%s' but default expression is of type '%s'\n"
+"\tYou will need to rewrite or cast the expression"
+msgstr ""
+
+#: ../catalog/heap.c:1789 ../catalog/heap.c:1803 ../commands/creatinh.c:109
+#, c-format
+msgid "Duplicate CHECK constraint name: '%s'"
+msgstr ""
+
+#: ../catalog/heap.c:1861 ../commands/command.c:1260
+#, c-format
+msgid "CHECK '%s' does not yield boolean result"
+msgstr ""
+
+#: ../catalog/heap.c:1868
+#, c-format
+msgid "Only relation \"%s\" can be referenced in CHECK"
+msgstr ""
+
+#: ../catalog/heap.c:1875
+msgid "Cannot use subselect in CHECK clause"
+msgstr ""
+
+#: ../catalog/heap.c:1877
+msgid "Cannot use aggregate in CHECK clause"
+msgstr ""
+
+#: ../catalog/heap.c:1918 ../utils/adt/ruleutils.c:2591
+#, c-format
+msgid "cache lookup of relation %u failed"
+msgstr ""
+
+#: ../catalog/indexing.c:160
+#, c-format
+msgid "CatalogIndexInsert: index %u not found"
+msgstr ""
+
+#: ../catalog/index.c:116
+#, c-format
+msgid "Cannot create index: '%s' already exists"
+msgstr ""
+
+#: ../catalog/index.c:122
+#, c-format
+msgid "Cannot create index on '%s': relation does not exist"
+msgstr ""
+
+#: ../catalog/index.c:149
+#, c-format
+msgid "Function %u does not exist"
+msgstr ""
+
+#: ../catalog/index.c:167
+#, c-format
+msgid "Type %u does not exist"
+msgstr ""
+
+#: ../catalog/index.c:242
+#, c-format
+msgid "Cannot create index: attribute %d does not exist"
+msgstr ""
+
+#: ../catalog/index.c:699
+#, c-format
+msgid "UpdateIndexPredicate: cache lookup failed for index %u"
+msgstr ""
+
+#: ../catalog/index.c:821
+msgid "must index at least one attribute"
+msgstr ""
+
+#: ../catalog/index.c:825
+msgid "User-defined indexes on system catalogs are not supported"
+msgstr ""
+
+#: ../catalog/index.c:998 ../catalog/index.c:1043
+#, c-format
+msgid "index_drop: cache lookup failed for index %u"
+msgstr ""
+
+#: ../catalog/index.c:1055
+#, c-format
+msgid "index_drop: FlushRelationBuffers returned %d"
+msgstr ""
+
+#: ../catalog/index.c:1275
+#, c-format
+msgid "LockClassinfoForUpdate couldn't lock relid %u"
+msgstr ""
+
+#: ../catalog/index.c:1286
+msgid "The tuple isn't committed"
+msgstr ""
+
+#: ../catalog/index.c:1289
+msgid "The tuple is already deleted"
+msgstr ""
+
+#: ../catalog/index.c:1310
+#, c-format
+msgid "IndexesAreActive couldn't lock %u"
+msgstr ""
+
+#: ../catalog/index.c:1313
+#, c-format
+msgid "relation %u isn't an indexable relation"
+msgstr ""
+
+#: ../catalog/index.c:1381
+#, c-format
+msgid "setRelhasindex: cannot find relation %u in pg_class"
+msgstr ""
+
+#: ../catalog/index.c:1445
+msgid "setNewRelfilenode impossible to lock class tuple"
+msgstr ""
+
+#: ../catalog/index.c:1546
+#, c-format
+msgid "UpdateStats: cannot open relation id %u"
+msgstr ""
+
+#: ../catalog/index.c:1586
+#, c-format
+msgid "UpdateStats: cannot find relation %u in pg_class"
+msgstr ""
+
+#: ../catalog/index.c:1915
+#, c-format
+msgid "IndexGetRelation: can't find index id %u"
+msgstr ""
+
+#: ../catalog/index.c:1964 ../commands/indexcmds.c:645
+#: ../commands/indexcmds.c:688
+msgid "REINDEX cannot run inside a BEGIN/END block"
+msgstr ""
+
+#: ../catalog/index.c:1975
+#, c-format
+msgid "reindex_index: index %u not found in pg_index"
+msgstr ""
+
+#: ../catalog/index.c:1991
+#, c-format
+msgid "reindex_index: index %u not found in pg_class"
+msgstr ""
+
+#: ../catalog/index.c:1998
+msgid "reindex_index: can't open heap relation"
+msgstr ""
+
+#: ../catalog/index.c:2001
+msgid "reindex_index: can't open index relation"
+msgstr ""
+
+#: ../catalog/index.c:2122
+#, c-format
+msgid "the target relation %u is nailed"
+msgstr ""
+
+#: ../catalog/index.c:2138
+#, c-format
+msgid "the target relation %u is shared"
+msgstr ""
+
+#: ../catalog/pg_aggregate.c:75
+msgid "AggregateCreate: no aggregate name supplied"
+msgstr ""
+
+#: ../catalog/pg_aggregate.c:78
+msgid "AggregateCreate: aggregate must have a transition function"
+msgstr ""
+
+#: ../catalog/pg_aggregate.c:91 ../catalog/pg_aggregate.c:110
+#, c-format
+msgid "AggregateCreate: Type '%s' undefined"
+msgstr ""
+
+#: ../catalog/pg_aggregate.c:102
+#, c-format
+msgid "AggregateCreate: aggregate '%s' with base type '%s' already exists"
+msgstr ""
+
+#: ../catalog/pg_aggregate.c:133
+#, c-format
+msgid "AggregateCreate: return type of '%s' is not '%s'"
+msgstr ""
+
+#: ../catalog/pg_aggregate.c:146
+msgid ""
+"AggregateCreate: must not omit initval when transfn is strict and transtype "
+"is not compatible with input type"
+msgstr ""
+
+#: ../catalog/pg_aggregate.c:204
+msgid "AggregateCreate: heap_formtuple failed"
+msgstr ""
+
+#: ../catalog/pg_aggregate.c:206
+msgid "AggregateCreate: heap_insert failed"
+msgstr ""
+
+#: ../catalog/pg_aggregate.c:239
+#, c-format
+msgid "AggNameGetInitVal: cache lookup failed for aggregate '%s'"
+msgstr ""
+
+#: ../catalog/pg_aggregate.c:264
+#, c-format
+msgid ""
+"AggNameGetInitVal: cache lookup failed on aggregate transition function "
+"return type %u"
+msgstr ""
+
+#: ../catalog/pg_operator.c:179
+#, c-format
+msgid "OperatorGet: left type \"%s\" does not exist"
+msgstr ""
+
+#: ../catalog/pg_operator.c:188
+#, c-format
+msgid "OperatorGet: right type \"%s\" does not exist"
+msgstr ""
+
+#: ../catalog/pg_operator.c:194
+msgid "OperatorGet: must have at least one argument type"
+msgstr ""
+
+#: ../catalog/pg_operator.c:335
+msgid "OperatorShellMake: no valid argument types??"
+msgstr ""
+
+#: ../catalog/pg_operator.c:494
+#, c-format
+msgid "OperatorDef: operator \"%s\" already defined"
+msgstr ""
+
+#: ../catalog/pg_operator.c:512
+#, c-format
+msgid "OperatorDef: left type \"%s\" does not exist"
+msgstr ""
+
+#: ../catalog/pg_operator.c:521
+#, c-format
+msgid "OperatorDef: right type \"%s\" does not exist"
+msgstr ""
+
+#: ../catalog/pg_operator.c:527
+msgid "OperatorDef: must have at least one argument type"
+msgstr ""
+
+#: ../catalog/pg_operator.c:722
+#, c-format
+msgid "OperatorDef: can't create operator shell \"%s\""
+msgstr ""
+
+#: ../catalog/pg_operator.c:735
+msgid "OperatorDef: operator can't be its own negator or sort op"
+msgstr ""
+
+#: ../catalog/pg_operator.c:781
+#, c-format
+msgid "OperatorDef: no operator %u"
+msgstr ""
+
+#: ../catalog/pg_operator.c:1037
+msgid "OperatorCreate: at least one of leftarg or rightarg must be defined"
+msgstr ""
+
+#: ../catalog/pg_operator.c:1043
+msgid "OperatorCreate: only binary operators can have commutators"
+msgstr ""
+
+#: ../catalog/pg_operator.c:1045
+msgid "OperatorCreate: only binary operators can have join selectivity"
+msgstr ""
+
+#: ../catalog/pg_operator.c:1047
+msgid "OperatorCreate: only binary operators can hash"
+msgstr ""
+
+#: ../catalog/pg_operator.c:1049
+msgid "OperatorCreate: only binary operators can have sort links"
+msgstr ""
+
+#: ../catalog/pg_proc.c:86
+#, c-format
+msgid "ProcedureCreate: no such language '%s'"
+msgstr ""
+
+#: ../catalog/pg_proc.c:96
+#, c-format
+msgid "Procedures cannot take more than %d arguments"
+msgstr ""
+
+#: ../catalog/pg_proc.c:102
+msgid "ProcedureCreate: sql functions cannot take type \"opaque\""
+msgstr ""
+
+#: ../catalog/pg_proc.c:110
+#, c-format
+msgid "ProcedureCreate: arg type '%s' is not defined"
+msgstr ""
+
+#: ../catalog/pg_proc.c:113
+#, c-format
+msgid "ProcedureCreate: arg type '%s' is only a shell"
+msgstr ""
+
+#: ../catalog/pg_proc.c:118
+msgid "ProcedureCreate: functions cannot accept set arguments"
+msgstr ""
+
+#: ../catalog/pg_proc.c:129
+#, c-format
+msgid "ProcedureCreate: procedure %s already exists with same arguments"
+msgstr ""
+
+#: ../catalog/pg_proc.c:166
+msgid "lookup for procedure by source needs fix (Jan)"
+msgstr ""
+
+#: ../catalog/pg_proc.c:174
+msgid "ProcedureCreate: sql functions cannot return type \"opaque\""
+msgstr ""
+
+#: ../catalog/pg_proc.c:183
+#, c-format
+msgid "ProcedureCreate: type '%s' is not yet defined"
+msgstr ""
+
+#: ../catalog/pg_proc.c:187
+#, c-format
+msgid "ProcedureCreate: could not create type '%s'"
+msgstr ""
+
+#: ../catalog/pg_proc.c:191
+#, c-format
+msgid "ProcedureCreate: return type '%s' is only a shell"
+msgstr ""
+
+#: ../catalog/pg_proc.c:204
+#, c-format
+msgid "method %s already an attribute of type %s"
+msgstr ""
+
+#: ../catalog/pg_proc.c:239
+#, c-format
+msgid "ProcedureCreate: there is no builtin function named \"%s\""
+msgstr ""
+
+#: ../catalog/pg_proc.c:345
+#, c-format
+msgid "function declared to return %s, but no SELECT provided"
+msgstr ""
+
+#: ../catalog/pg_proc.c:363
+msgid "function declared with no return type, but final query is a SELECT"
+msgstr ""
+
+#: ../catalog/pg_proc.c:369
+#, c-format
+msgid "function declared to return %s, but final query is not a SELECT"
+msgstr ""
+
+#: ../catalog/pg_proc.c:385
+#, c-format
+msgid "function declared to return %s returns multiple columns in final SELECT"
+msgstr ""
+
+#: ../catalog/pg_proc.c:390
+#, c-format
+msgid "return type mismatch in function: declared to return %s, returns %s"
+msgstr ""
+
+#: ../catalog/pg_proc.c:421 ../catalog/pg_proc.c:445
+#, c-format
+msgid ""
+"function declared to return %s does not SELECT the right number of columns (%"
+"d)"
+msgstr ""
+
+#: ../catalog/pg_proc.c:435
+#, c-format
+msgid "function declared to return %s returns %s instead of %s at column %d"
+msgstr ""
+
+#: ../catalog/pg_type.c:307 ../catalog/pg_type.c:467
+#, c-format
+msgid "TypeCreate: type %s already defined"
+msgstr ""
+
+#: ../catalog/pg_type.c:317
+#, c-format
+msgid "TypeCreate: type %s is not defined"
+msgstr ""
+
+#: ../catalog/pg_type.c:533
+#, c-format
+msgid "TypeRename: type \"%s\" not defined"
+msgstr ""
+
+#: ../catalog/pg_type.c:538
+#, c-format
+msgid "TypeRename: type \"%s\" already defined"
+msgstr ""
+
+#: ../catalog/pg_largeobject.c:133
+#, c-format
+msgid "LargeObjectDrop: large object %u not found"
+msgstr ""
+
+#: ../commands/_deadcode/recipe.c:42
+msgid "You must compile with TIOGA defined in order to use recipes\n"
+msgstr ""
+
+#: ../commands/_deadcode/recipe.c:179
+msgid "beginRecipe: Currently eyes cannot have more than one input"
+msgstr ""
+
+#: ../commands/_deadcode/recipe.c:188
+#, c-format
+msgid "beginRecipe: eyes[%d] = %s\n"
+msgstr ""
+
+#. now add a tee node to the root of the plan
+#: ../commands/_deadcode/recipe.c:240
+#, c-format
+msgid "adding tee plan node to the root of the %s\n"
+msgstr ""
+
+#: ../commands/_deadcode/recipe.c:288
+#, c-format
+msgid "beginRecipe: cursor named %s is now available"
+msgstr ""
+
+#: ../commands/_deadcode/recipe.c:393
+msgid "tg_rewriteQuery: Whoa! why is my qual a List???"
+msgstr ""
+
+#: ../commands/_deadcode/recipe.c:504
+#, c-format
+msgid "tg_replaceNumberedParam: unexpected paramkind value of %d"
+msgstr ""
+
+#: ../commands/_deadcode/recipe.c:618
+#, c-format
+msgid ""
+"tg_rewriteParamsInExpr:can't substitute for parameter %d when that input is "
+"unconnected"
+msgstr ""
+
+#: ../commands/_deadcode/recipe.c:632
+#, c-format
+msgid "tg_rewriteParamsInExpr: unexpected paramkind value of %d"
+msgstr ""
+
+#: ../commands/_deadcode/recipe.c:704
+#, c-format
+msgid "getParamTypes: Ingredients cannot take > %d arguments"
+msgstr ""
+
+#: ../commands/_deadcode/recipe.c:710
+msgid "getParamTypes: Ingredient functions cannot take type 'opaque'"
+msgstr ""
+
+#: ../commands/_deadcode/recipe.c:716
+#, c-format
+msgid "getParamTypes: arg type '%s' is not defined"
+msgstr ""
+
+#: ../commands/_deadcode/recipe.c:718
+#, c-format
+msgid "getParamTypes: arg type '%s' is only a shell"
+msgstr ""
+
+#: ../commands/_deadcode/recipe.c:844 ../commands/_deadcode/recipe.c:887
+#, c-format
+msgid "calling parser with %s"
+msgstr ""
+
+#: ../commands/_deadcode/recipe.c:854 ../commands/_deadcode/recipe.c:894
+msgid "tg_parseSubQuery: parser produced > 1 query tree"
+msgstr ""
+
+#: ../commands/_deadcode/recipe.c:899
+msgid "tg_parseSubQuery: can't parse recipe graph ingredients yet!"
+msgstr ""
+
+#: ../commands/_deadcode/recipe.c:902
+msgid "tg_parseSubQuery: can't parse compiled ingredients yet!"
+msgstr ""
+
+#: ../commands/_deadcode/recipe.c:905
+#, c-format
+msgid "tg_parseSubQuery: unknown srcLang: %d"
+msgstr ""
+
+#.
+#. * if we hit an eye, we need to stop and make what we have into a
+#. * subrecipe query block
+#.
+#: ../commands/_deadcode/recipe.c:948
+msgid "tg_parseSubQuery: can't handle eye nodes yet"
+msgstr ""
+
+#: ../commands/_deadcode/recipe.c:1046
+msgid "tg_parseSubQuery: unexpected result from TupleDescInitEntry"
+msgstr ""
+
+#: ../commands/_deadcode/recipe.c:1057
+msgid "tg_parseSubQuery: can't handle embedded recipes yet!"
+msgstr ""
+
+#: ../commands/_deadcode/recipe.c:1059
+#, c-format
+msgid "unknown nodeType: %d"
+msgstr ""
+
+#: ../commands/_deadcode/recipe.c:1170
+#, c-format
+msgid "appendTeeQuery: teeNodeName '%s' not found in teeInfo"
+msgstr ""
+
+#: ../commands/_deadcode/recipe.c:1317
+msgid "replaceTeeScans didn't find the corresponding tee plan"
+msgstr ""
+
+#: ../commands/_deadcode/version.c:188
+msgid "Unable to expand all -- amopenr failed "
+msgstr ""
+
+#: ../commands/async.c:157
+#, c-format
+msgid "Async_Notify: %s"
+msgstr ""
+
+#: ../commands/async.c:205
+#, c-format
+msgid "Async_Listen: %s"
+msgstr ""
+
+#: ../commands/async.c:217
+#, c-format
+msgid "Async_Listen: We are already listening on %s"
+msgstr ""
+
+#: ../commands/async.c:293
+#, c-format
+msgid "Async_Unlisten %s"
+msgstr ""
+
+#: ../commands/async.c:340
+msgid "Async_UnlistenAll"
+msgstr ""
+
+#: ../commands/async.c:447
+msgid "AtCommit_Notify"
+msgstr ""
+
+#: ../commands/async.c:482
+msgid "AtCommit_Notify: notifying self"
+msgstr ""
+
+#: ../commands/async.c:489
+#, c-format
+msgid "AtCommit_Notify: notifying pid %d"
+msgstr ""
+
+#: ../commands/async.c:550
+msgid "AtCommit_Notify: done"
+msgstr ""
+
+#: ../commands/async.c:625
+msgid "Async_NotifyHandler: perform async notify"
+msgstr ""
+
+#: ../commands/async.c:630
+msgid "Async_NotifyHandler: done"
+msgstr ""
+
+#: ../commands/async.c:699
+msgid "EnableNotifyInterrupt: perform async notify"
+msgstr ""
+
+#: ../commands/async.c:704
+msgid "EnableNotifyInterrupt: done"
+msgstr ""
+
+#: ../commands/async.c:760
+msgid "ProcessIncomingNotify"
+msgstr ""
+
+#: ../commands/async.c:796
+#, c-format
+msgid "ProcessIncomingNotify: received %s from %d"
+msgstr ""
+
+#: ../commands/async.c:835
+msgid "ProcessIncomingNotify: done"
+msgstr ""
+
+#: ../commands/async.c:861
+#, c-format
+msgid "NOTIFY for %s"
+msgstr ""
+
+#: ../commands/cluster.c:97
+#, c-format
+msgid "CLUSTER: no pg_index entry for index %u"
+msgstr ""
+
+#: ../commands/cluster.c:100
+#, c-format
+msgid "CLUSTER: \"%s\" is not an index for table \"%s\""
+msgstr ""
+
+#: ../commands/command.c:118
+msgid "PerformPortalFetch: missing portal name"
+msgstr ""
+
+#: ../commands/command.c:128
+#, c-format
+msgid "PerformPortalFetch: portal \"%s\" not found"
+msgstr ""
+
+#: ../commands/command.c:227
+msgid "PerformPortalClose: missing portal name"
+msgstr ""
+
+#: ../commands/command.c:237
+#, c-format
+msgid "PerformPortalClose: portal \"%s\" not found"
+msgstr ""
+
+#: ../commands/command.c:306 ../commands/command.c:517
+#: ../commands/command.c:1029 ../tcop/utility.c:371
+#, c-format
+msgid "ALTER TABLE: relation \"%s\" is a system catalog"
+msgstr ""
+
+#: ../commands/command.c:309 ../commands/command.c:521
+#: ../commands/command.c:693 ../commands/command.c:1033
+#: ../commands/command.c:1190 ../commands/command.c:1613
+#: ../commands/command.c:1698
+msgid "ALTER TABLE: permission denied"
+msgstr ""
+
+#: ../commands/command.c:318 ../commands/command.c:526
+#: ../commands/command.c:698 ../commands/command.c:1043
+#: ../commands/command.c:1708
+#, c-format
+msgid "ALTER TABLE: relation \"%s\" is not a table"
+msgstr ""
+
+#: ../commands/command.c:328
+msgid "Can't add a NOT NULL attribute to an existing relation"
+msgstr ""
+
+#: ../commands/command.c:331
+msgid "Adding columns with defaults is not implemented."
+msgstr ""
+
+#: ../commands/command.c:383 ../commands/command.c:1063
+#: ../commands/command.c:1635 ../commands/command.c:1722
+#, c-format
+msgid "ALTER TABLE: relation \"%s\" not found"
+msgstr ""
+
+#: ../commands/command.c:389
+#, c-format
+msgid "ALTER TABLE: relations limited to %d columns"
+msgstr ""
+
+#: ../commands/command.c:421
+#, c-format
+msgid "ALTER TABLE: column name \"%s\" already exists in table \"%s\""
+msgstr ""
+
+#: ../commands/command.c:442
+#, c-format
+msgid "ALTER TABLE: type \"%s\" does not exist"
+msgstr ""
+
+#: ../commands/command.c:575 ../commands/command.c:750
+#, c-format
+msgid "ALTER TABLE: relation \"%s\" has no column \"%s\""
+msgstr ""
+
+#: ../commands/command.c:754
+#, c-format
+msgid "ALTER TABLE: cannot change system attribute \"%s\""
+msgstr ""
+
+#: ../commands/command.c:936
+msgid "target column is used in a constraint"
+msgstr ""
+
+#: ../commands/command.c:971
+msgid "target column is used in an index"
+msgstr ""
+
+#: ../commands/command.c:1020
+msgid "ALTER TABLE / DROP COLUMN with inherit option is not supported yet"
+msgstr ""
+
+#: ../commands/command.c:1053
+msgid "ALTER TABLE: cannot drop a column on table that is inherited from"
+msgstr ""
+
+#: ../commands/command.c:1074 ../commands/command.c:1733
+msgid "couldn't lock pg_class tuple"
+msgstr ""
+
+#: ../commands/command.c:1089
+#, c-format
+msgid "ALTER TABLE: column name \"%s\" doesn't exist in table \"%s\""
+msgstr ""
+
+#: ../commands/command.c:1095
+#, c-format
+msgid "ALTER TABLE: column name \"%s\" was already dropped"
+msgstr ""
+
+#: ../commands/command.c:1105
+msgid "the column is referenced"
+msgstr ""
+
+#: ../commands/command.c:1172
+msgid "ALTER TABLE / DROP COLUMN is not implemented"
+msgstr ""
+
+#: ../commands/command.c:1186
+msgid "ALTER TABLE / ADD CONSTRAINT passed invalid constraint."
+msgstr ""
+
+#: ../commands/command.c:1195
+#, c-format
+msgid "ALTER TABLE ADD CONSTRAINT: %s is not a table"
+msgstr ""
+
+#: ../commands/command.c:1232
+msgid "ALTER TABLE: cannot add constraint to a view"
+msgstr ""
+
+#: ../commands/command.c:1268
+#, c-format
+msgid "Only relation '%s' can be referenced in CHECK"
+msgstr ""
+
+#: ../commands/command.c:1311
+#, c-format
+msgid "AlterTableAddConstraint: rejected due to CHECK constraint %s"
+msgstr ""
+
+#: ../commands/command.c:1328
+msgid ""
+"ALTER TABLE / ADD CONSTRAINT is not implemented for that constraint type."
+msgstr ""
+
+#: ../commands/command.c:1357
+msgid ""
+"ALTER TABLE / ADD CONSTRAINT: Unable to reference temporary table from "
+"permanent table constraint."
+msgstr ""
+
+#: ../commands/command.c:1366
+#, c-format
+msgid "referenced table \"%s\" not a relation"
+msgstr ""
+
+#: ../commands/command.c:1378
+#, c-format
+msgid "referencing table \"%s\" not a relation"
+msgstr ""
+
+#: ../commands/command.c:1399 ../parser/analyze.c:2819
+#: ../parser/analyze.c:2916
+#, c-format
+msgid "transformFkeyGetPrimaryKey: index %u not found"
+msgstr ""
+
+#: ../commands/command.c:1454 ../parser/analyze.c:1373
+#: ../parser/analyze.c:2865
+#, c-format
+msgid ""
+"UNIQUE constraint matching given keys for referenced table \"%s\" not found"
+msgstr ""
+
+#: ../commands/command.c:1493 ../parser/analyze.c:1232
+msgid "columns referenced in foreign key constraint not found."
+msgstr ""
+
+#: ../commands/command.c:1580
+msgid ""
+"ALTER TABLE / ADD CONSTRAINT unable to determine type of constraint passed"
+msgstr ""
+
+#: ../commands/command.c:1594
+msgid "ALTER TABLE / DROP CONSTRAINT is not implemented"
+msgstr ""
+
+#: ../commands/command.c:1622
+#, c-format
+msgid "ALTER TABLE: user \"%s\" not found"
+msgstr ""
+
+#: ../commands/command.c:1647
+#, c-format
+msgid "ALTER TABLE: relation \"%s\" is not a table, index, view, or sequence"
+msgstr ""
+
+#: ../commands/command.c:1751
+#, c-format
+msgid "ALTER TABLE: relation \"%s\" already has a toast table"
+msgstr ""
+
+#: ../commands/command.c:1768
+#, c-format
+msgid "ALTER TABLE: relation \"%s\" does not need a toast table"
+msgstr ""
+
+#: ../commands/command.c:1939
+#, c-format
+msgid "LOCK TABLE: %s is not a table"
+msgstr ""
+
+#: ../commands/command.c:1948
+msgid "LOCK TABLE: permission denied"
+msgstr ""
+
+#: ../commands/comment.c:112
+#, c-format
+msgid "An attempt was made to comment on a unknown type: %i"
+msgstr ""
+
+#: ../commands/comment.c:289 ../commands/comment.c:353
+#, c-format
+msgid "you are not permitted to comment on class '%s'"
+msgstr ""
+
+#: ../commands/comment.c:297
+#, c-format
+msgid "relation '%s' does not exist"
+msgstr ""
+
+#: ../commands/comment.c:311
+#, c-format
+msgid "relation '%s' is not an index"
+msgstr ""
+
+#: ../commands/comment.c:315
+#, c-format
+msgid "relation '%s' is not a table"
+msgstr ""
+
+#: ../commands/comment.c:319
+#, c-format
+msgid "relation '%s' is not a view"
+msgstr ""
+
+#: ../commands/comment.c:323
+#, c-format
+msgid "relation '%s' is not a sequence"
+msgstr ""
+
+#: ../commands/comment.c:366
+#, c-format
+msgid "'%s' is not an attribute of class '%s'"
+msgstr ""
+
+#: ../commands/comment.c:414
+#, c-format
+msgid "database '%s' does not exist"
+msgstr ""
+
+#: ../commands/comment.c:425 ../utils/init/miscinit.c:462
+#, c-format
+msgid "invalid user id %u"
+msgstr ""
+
+#: ../commands/comment.c:434
+#, c-format
+msgid "you are not permitted to comment on database '%s'"
+msgstr ""
+
+#: ../commands/comment.c:474
+#, c-format
+msgid "you are not permitted to comment on rule '%s'"
+msgstr ""
+
+#: ../commands/comment.c:485
+#, c-format
+msgid "rule '%s' does not exist"
+msgstr ""
+
+#: ../commands/comment.c:513
+#, c-format
+msgid "you are not permitted to comment on type '%s'"
+msgstr ""
+
+#: ../commands/comment.c:524 ../commands/comment.c:557
+#, c-format
+msgid "type '%s' does not exist"
+msgstr ""
+
+#: ../commands/comment.c:569
+#, c-format
+msgid "you are not permitted to comment on aggregate '%s' %s '%s'"
+msgstr ""
+
+#: ../commands/comment.c:574
+#, c-format
+msgid "you are not permitted to comment on aggregate '%s'"
+msgstr ""
+
+#: ../commands/comment.c:590
+#, c-format
+msgid "aggregate type '%s' does not exist for aggregate '%s'"
+msgstr ""
+
+#: ../commands/comment.c:594
+#, c-format
+msgid "aggregate '%s' does not exist"
+msgstr ""
+
+#: ../commands/comment.c:626 ../commands/remove.c:307
+#, c-format
+msgid "functions cannot have more than %d arguments"
+msgstr ""
+
+#: ../commands/comment.c:643
+#, c-format
+msgid "CommentProc: type '%s' not found"
+msgstr ""
+
+#: ../commands/comment.c:651
+#, c-format
+msgid "you are not permitted to comment on function '%s'"
+msgstr ""
+
+#: ../commands/comment.c:711
+#, c-format
+msgid "left type '%s' does not exist"
+msgstr ""
+
+#: ../commands/comment.c:720
+#, c-format
+msgid "right type '%s' does not exist"
+msgstr ""
+
+#: ../commands/comment.c:732
+#, c-format
+msgid "operator '%s' is of an illegal type'"
+msgstr ""
+
+#: ../commands/comment.c:742
+#, c-format
+msgid "operator '%s' does not exist"
+msgstr ""
+
+#: ../commands/comment.c:751
+#, c-format
+msgid "you are not permitted to comment on operator '%s'"
+msgstr ""
+
+#: ../commands/comment.c:761
+#, c-format
+msgid "operator '%s' does not have an underlying function"
+msgstr ""
+
+#: ../commands/comment.c:798
+#, c-format
+msgid "you are not permitted to comment on trigger '%s' %s '%s'"
+msgstr ""
+
+#: ../commands/comment.c:826
+#, c-format
+msgid "trigger '%s' defined for relation '%s' does not exist"
+msgstr ""
+
+#: ../commands/copy.c:117
+#, c-format
+msgid "CopySendData: %m"
+msgstr ""
+
+#: ../commands/copy.c:284 ../commands/trigger.c:314 ../executor/execMain.c:425
+#: ../executor/execMain.c:456 ../storage/ipc/shmqueue.c:237
+#: ../storage/ipc/shmqueue.c:257 ../tcop/utility.c:272 ../tcop/utility.c:555
+#: ../tcop/utility.c:889 ../tcop/utility.c:907
+#, c-format
+msgid "%s: %s"
+msgstr ""
+
+#: ../commands/copy.c:286
+msgid ""
+"You must have Postgres superuser privilege to do a COPY directly to or from "
+"a file.  Anyone can COPY to stdout or from stdin.  Psql's \\copy command "
+"also works for anyone."
+msgstr ""
+
+#: ../commands/copy.c:295
+msgid "COPY BINARY is not supported to stdout or from stdin"
+msgstr ""
+
+#: ../commands/copy.c:309
+#, c-format
+msgid "You cannot change sequence relation %s"
+msgstr ""
+
+#: ../commands/copy.c:324
+#, c-format
+msgid ""
+"COPY command, running in backend with effective uid %d, could not open file "
+"'%s' for reading.  Errno = %s (%d)."
+msgstr ""
+
+#: ../commands/copy.c:353
+msgid "Relative path not allowed for server side COPY command."
+msgstr ""
+
+#: ../commands/copy.c:361
+#, c-format
+msgid ""
+"COPY command, running in backend with effective uid %d, could not open file "
+"'%s' for writing.  Errno = %s (%d)."
+msgstr ""
+
+#: ../commands/copy.c:426
+#, c-format
+msgid "COPY: couldn't lookup info for type %u"
+msgstr ""
+
+#: ../commands/copy.c:673
+msgid "COPY BINARY: file signature not recognized"
+msgstr ""
+
+#: ../commands/copy.c:678
+msgid "COPY BINARY: incompatible integer layout"
+msgstr ""
+
+#: ../commands/copy.c:682
+msgid "COPY BINARY: bogus file header (missing flags)"
+msgstr ""
+
+#: ../commands/copy.c:686
+msgid "COPY BINARY: unrecognized critical flags in header"
+msgstr ""
+
+#: ../commands/copy.c:691
+msgid "COPY BINARY: bogus file header (missing length)"
+msgstr ""
+
+#: ../commands/copy.c:697
+msgid "COPY BINARY: bogus file header (wrong length)"
+msgstr ""
+
+#: ../commands/copy.c:732
+msgid "COPY TEXT: NULL Oid"
+msgstr ""
+
+#: ../commands/copy.c:740
+msgid "COPY TEXT: Invalid Oid"
+msgstr ""
+
+#: ../commands/copy.c:778
+#, c-format
+msgid "COPY BINARY: tuple field count is %d, expected %d"
+msgstr ""
+
+#: ../commands/copy.c:785 ../commands/copy.c:791 ../commands/copy.c:800
+#: ../commands/copy.c:814 ../commands/copy.c:823 ../commands/copy.c:835
+#: ../commands/copy.c:851
+msgid "COPY BINARY: unexpected EOF"
+msgstr ""
+
+#: ../commands/copy.c:787
+#, c-format
+msgid "COPY BINARY: sizeof(Oid) is %d, expected %d"
+msgstr ""
+
+#: ../commands/copy.c:793
+msgid "COPY BINARY: Invalid Oid"
+msgstr ""
+
+#: ../commands/copy.c:804
+#, c-format
+msgid "COPY BINARY: sizeof(field %d) is %d, expected %d"
+msgstr ""
+
+#: ../commands/copy.c:816
+msgid "COPY BINARY: bogus varlena length"
+msgstr ""
+
+#: ../commands/copy.c:949
+#, c-format
+msgid "GetInputFunction: Cache lookup of type %u failed"
+msgstr ""
+
+#: ../commands/copy.c:965
+#, c-format
+msgid "GetTypeElement: Cache lookup of type %u failed"
+msgstr ""
+
+#: ../commands/copy.c:981
+msgid "CopyReadNewline: extra fields ignored"
+msgstr ""
+
+#: ../commands/copy.c:1116
+msgid "CopyReadAttribute: end of record marker corrupted"
+msgstr ""
+
+#: ../commands/creatinh.c:80
+msgid "DefineRelation: please inherit from a relation or define an attribute"
+msgstr ""
+
+#: ../commands/creatinh.c:323
+#, c-format
+msgid "CREATE TABLE: attribute \"%s\" duplicated"
+msgstr ""
+
+#: ../commands/creatinh.c:337
+#, c-format
+msgid "CREATE TABLE: inherited relation \"%s\" duplicated"
+msgstr ""
+
+#: ../commands/creatinh.c:359
+#, c-format
+msgid "CREATE TABLE: inherited relation \"%s\" is not a table"
+msgstr ""
+
+#: ../commands/creatinh.c:362
+#, c-format
+msgid "CREATE TABLE: cannot inherit from temp relation \"%s\""
+msgstr ""
+
+#: ../commands/creatinh.c:369
+#, c-format
+msgid "you do not own table \"%s\""
+msgstr ""
+
+#: ../commands/creatinh.c:403
+#, c-format
+msgid "CREATE TABLE: cache lookup failed for type %u"
+msgstr ""
+
+#.
+#. * Yes, try to merge the two column definitions.
+#. * They must have the same type and typmod.
+#.
+#: ../commands/creatinh.c:418
+#, c-format
+msgid ""
+"CREATE TABLE: merging multiple inherited definitions of attribute \"%s\""
+msgstr ""
+
+#: ../commands/creatinh.c:423
+#, c-format
+msgid "CREATE TABLE: inherited attribute \"%s\" type conflict (%s and %s)"
+msgstr ""
+
+#.
+#. * Yes, try to merge the two column definitions.
+#. * They must have the same type and typmod.
+#.
+#: ../commands/creatinh.c:554
+#, c-format
+msgid "CREATE TABLE: merging attribute \"%s\" with inherited definition"
+msgstr ""
+
+#: ../commands/creatinh.c:559
+#, c-format
+msgid "CREATE TABLE: attribute \"%s\" type conflict (%s and %s)"
+msgstr ""
+
+#: ../commands/creatinh.c:593
+#, c-format
+msgid ""
+"CREATE TABLE: attribute \"%s\" inherits conflicting default values\n"
+"\tTo resolve the conflict, specify a default explicitly"
+msgstr ""
+
+#: ../commands/creatinh.c:831
+#, c-format
+msgid "setRelhassubclassInRelation: cache lookup failed for relation %u"
+msgstr ""
+
+#: ../commands/dbcommands.c:75 ../commands/dbcommands.c:298
+msgid "current user name is invalid"
+msgstr ""
+
+#: ../commands/dbcommands.c:78
+msgid "CREATE DATABASE: permission denied"
+msgstr ""
+
+#: ../commands/dbcommands.c:82
+msgid "CREATE DATABASE: may not be called in a transaction block"
+msgstr ""
+
+#: ../commands/dbcommands.c:93 ../commands/dbcommands.c:214
+#, c-format
+msgid "CREATE DATABASE: database \"%s\" already exists"
+msgstr ""
+
+#: ../commands/dbcommands.c:103
+#, c-format
+msgid "CREATE DATABASE: template \"%s\" does not exist"
+msgstr ""
+
+#: ../commands/dbcommands.c:113
+#, c-format
+msgid "CREATE DATABASE: permission to copy \"%s\" denied"
+msgstr ""
+
+#: ../commands/dbcommands.c:132
+#, c-format
+msgid ""
+"CREATE DATABASE: source database \"%s\" is being accessed by other users"
+msgstr ""
+
+#: ../commands/dbcommands.c:153 ../commands/dbcommands.c:155
+#: ../commands/dbcommands.c:157
+msgid "database path may not contain single quotes"
+msgstr ""
+
+#: ../commands/dbcommands.c:180
+#, c-format
+msgid "CREATE DATABASE: unable to create database directory '%s': %m"
+msgstr ""
+
+#: ../commands/dbcommands.c:188
+#, c-format
+msgid "CREATE DATABASE: could not link '%s' to '%s': %m"
+msgstr ""
+
+#: ../commands/dbcommands.c:200
+msgid "CREATE DATABASE: could not initialize database directory"
+msgstr ""
+
+#: ../commands/dbcommands.c:202
+msgid ""
+"CREATE DATABASE: could not initialize database directory; delete failed as "
+"well"
+msgstr ""
+
+#: ../commands/dbcommands.c:292
+msgid "DROP DATABASE: cannot be executed on the currently open database"
+msgstr ""
+
+#: ../commands/dbcommands.c:295
+msgid "DROP DATABASE: may not be called in a transaction block"
+msgstr ""
+
+#: ../commands/dbcommands.c:313
+#, c-format
+msgid "DROP DATABASE: database \"%s\" does not exist"
+msgstr ""
+
+#: ../commands/dbcommands.c:316
+msgid "DROP DATABASE: permission denied"
+msgstr ""
+
+#: ../commands/dbcommands.c:324
+msgid "DROP DATABASE: database is marked as a template"
+msgstr ""
+
+#: ../commands/dbcommands.c:333
+#, c-format
+msgid "DROP DATABASE: database \"%s\" is being accessed by other users"
+msgstr ""
+
+#.
+#. * This error should never come up since the existence of the
+#. * database is checked earlier
+#.
+#: ../commands/dbcommands.c:351
+#, c-format
+msgid ""
+"DROP DATABASE: Database \"%s\" doesn't exist despite earlier reports to the "
+"contrary"
+msgstr ""
+
+#: ../commands/dbcommands.c:416
+#, c-format
+msgid "Cannot begin scan of %s"
+msgstr ""
+
+#: ../commands/dbcommands.c:502
+msgid "Relative paths are not allowed as database locations"
+msgstr ""
+
+#: ../commands/dbcommands.c:504
+msgid "Absolute paths are not allowed as database locations"
+msgstr ""
+
+#: ../commands/dbcommands.c:514
+#, c-format
+msgid "Postmaster environment variable '%s' not set"
+msgstr ""
+
+#: ../commands/dbcommands.c:516
+#, c-format
+msgid "Postmaster environment variable '%s' must be absolute path"
+msgstr ""
+
+#: ../commands/dbcommands.c:548
+#, c-format
+msgid "could not remove '%s': %m"
+msgstr ""
+
+#: ../commands/dbcommands.c:557
+#, c-format
+msgid "database directory '%s' could not be removed"
+msgstr ""
+
+#.
+#. * we don't have untrusted functions any more. The 4.2
+#. * implementation is lousy anyway so I took it out. -ay 10/94
+#.
+#: ../commands/define.c:150
+msgid "untrusted function has been decommissioned."
+msgstr ""
+
+#: ../commands/define.c:161
+#, c-format
+msgid "Unrecognized function attribute '%s' ignored"
+msgstr ""
+
+#: ../commands/define.c:204
+#, c-format
+msgid "CREATE FUNCTION: only one AS item needed for %s language"
+msgstr ""
+
+#: ../commands/define.c:264
+#, c-format
+msgid ""
+"Only users with Postgres superuser privilege are permitted to create a "
+"function in the '%s' language.\n"
+"\tOthers may use the 'sql' language or the created procedural languages."
+msgstr ""
+
+#: ../commands/define.c:285
+#, c-format
+msgid ""
+"Unrecognized language specified in a CREATE FUNCTION: '%s'.\n"
+"\tRecognized languages are sql, C, internal, and created procedural "
+"languages."
+msgstr ""
+
+#: ../commands/define.c:294
+#, c-format
+msgid "Language '%s' isn't defined as PL"
+msgstr ""
+
+#: ../commands/define.c:301
+#, c-format
+msgid ""
+"Only users with Postgres superuser privilege are permitted to create a "
+"function in the '%s' language."
+msgstr ""
+
+#: ../commands/define.c:389
+msgid "setof type not implemented for leftarg"
+msgstr ""
+
+#: ../commands/define.c:396
+msgid "setof type not implemented for rightarg"
+msgstr ""
+
+#. NOT IMPLEMENTED (never worked in v4.2)
+#: ../commands/define.c:403
+msgid "CREATE OPERATOR: precedence not implemented"
+msgstr ""
+
+#. NOT IMPLEMENTED (never worked in v4.2)
+#: ../commands/define.c:408
+msgid "CREATE OPERATOR: associativity not implemented"
+msgstr ""
+
+#: ../commands/define.c:434
+#, c-format
+msgid "DefineOperator: attribute \"%s\" not recognized"
+msgstr ""
+
+#: ../commands/define.c:443
+msgid "Define: \"procedure\" unspecified"
+msgstr ""
+
+#: ../commands/define.c:505
+#, c-format
+msgid "DefineAggregate: attribute \"%s\" not recognized"
+msgstr ""
+
+#: ../commands/define.c:513
+msgid "Define: \"basetype\" unspecified"
+msgstr ""
+
+#: ../commands/define.c:515
+msgid "Define: \"stype\" unspecified"
+msgstr ""
+
+#: ../commands/define.c:517
+msgid "Define: \"sfunc\" unspecified"
+msgstr ""
+
+#: ../commands/define.c:560
+#, c-format
+msgid "DefineType: type names must be %d characters or less"
+msgstr ""
+
+#: ../commands/define.c:602
+#, c-format
+msgid "DefineType: \"%s\" alignment not recognized"
+msgstr ""
+
+#: ../commands/define.c:620
+#, c-format
+msgid "DefineType: \"%s\" storage not recognized"
+msgstr ""
+
+#: ../commands/define.c:626
+#, c-format
+msgid "DefineType: attribute \"%s\" not recognized"
+msgstr ""
+
+#: ../commands/define.c:635
+msgid "Define: \"input\" unspecified"
+msgstr ""
+
+#: ../commands/define.c:637
+msgid "Define: \"output\" unspecified"
+msgstr ""
+
+#: ../commands/define.c:640
+msgid "Define: fixed size types must have storage PLAIN"
+msgstr ""
+
+#: ../commands/define.c:692 ../commands/define.c:744
+#, c-format
+msgid "Define: \"%s\" requires a parameter"
+msgstr ""
+
+#: ../commands/define.c:715 ../commands/define.c:765
+#, c-format
+msgid "Define: cannot interpret argument of \"%s\""
+msgstr ""
+
+#: ../commands/define.c:725 ../commands/define.c:734
+#, c-format
+msgid "Define: \"%s\" requires a numeric value"
+msgstr ""
+
+#: ../commands/define.c:751
+#, c-format
+msgid "Define: \"%s\" requires an integral value"
+msgstr ""
+
+#: ../commands/define.c:768
+#, c-format
+msgid "Define: invalid argument for \"%s\""
+msgstr ""
+
+#: ../commands/explain.c:52
+#, c-format
+msgid "(transaction aborted): %s"
+msgstr ""
+
+#: ../commands/explain.c:60
+msgid "Utility statements have no plan structure"
+msgstr ""
+
+#: ../commands/explain.c:70
+msgid "Query rewrites to nothing"
+msgstr ""
+
+#: ../commands/explain.c:95
+msgid ""
+"QUERY PLAN:\n"
+"\n"
+"NOTIFY\n"
+msgstr ""
+
+#: ../commands/explain.c:97
+msgid ""
+"QUERY PLAN:\n"
+"\n"
+"UTILITY\n"
+msgstr ""
+
+#: ../commands/explain.c:123
+#, c-format
+msgid ""
+"QUERY DUMP:\n"
+"\n"
+"%s"
+msgstr ""
+
+#: ../commands/explain.c:133
+#, c-format
+msgid ""
+"QUERY PLAN:\n"
+"\n"
+"%s"
+msgstr ""
+
+#: ../commands/indexcmds.c:98
+msgid "DefineIndex: must specify at least one attribute"
+msgstr ""
+
+#: ../commands/indexcmds.c:100
+#, c-format
+msgid "Cannot use more than %d attributes in an index"
+msgstr ""
+
+#: ../commands/indexcmds.c:107
+#, c-format
+msgid "DefineIndex: relation \"%s\" not found"
+msgstr ""
+
+#: ../commands/indexcmds.c:117
+#, c-format
+msgid "DefineIndex: access method \"%s\" not found"
+msgstr ""
+
+#: ../commands/indexcmds.c:126
+msgid ""
+"DefineIndex: unique indices are only available with the btree access method"
+msgstr ""
+
+#: ../commands/indexcmds.c:129
+msgid ""
+"DefineIndex: multi-column indices are only available with the btree access "
+"method"
+msgstr ""
+
+#: ../commands/indexcmds.c:141
+#, c-format
+msgid "Unrecognized index attribute \"%s\" ignored"
+msgstr ""
+
+#: ../commands/indexcmds.c:161
+msgid "Existing indexes are inactive. REINDEX first"
+msgstr ""
+
+#: ../commands/indexcmds.c:179
+msgid "Functional index can only have one attribute"
+msgstr ""
+
+#: ../commands/indexcmds.c:183
+#, c-format
+msgid "Index function can take at most %d arguments"
+msgstr ""
+
+#: ../commands/indexcmds.c:245
+#, c-format
+msgid "ExtendIndex: index \"%s\" not found"
+msgstr ""
+
+#: ../commands/indexcmds.c:258
+#, c-format
+msgid "ExtendIndex: relation \"%s\" is not an index"
+msgstr ""
+
+#: ../commands/indexcmds.c:268
+#, c-format
+msgid "ExtendIndex: \"%s\" is not a partial index"
+msgstr ""
+
+#: ../commands/indexcmds.c:338
+msgid "Unsupported partial-index predicate expression type"
+msgstr ""
+
+#: ../commands/indexcmds.c:356
+msgid "Unsupported partial-index predicate clause type"
+msgstr ""
+
+#: ../commands/indexcmds.c:360
+msgid "Partial-index predicates may refer only to the base relation"
+msgstr ""
+
+#: ../commands/indexcmds.c:400 ../commands/indexcmds.c:473
+#, c-format
+msgid "DefineIndex: attribute \"%s\" not found"
+msgstr ""
+
+#: ../commands/indexcmds.c:423
+msgid "DefineIndex: cannot index on a function returning a set"
+msgstr ""
+
+#: ../commands/indexcmds.c:466
+msgid "missing attribute for define index"
+msgstr ""
+
+#: ../commands/indexcmds.c:504
+#, c-format
+msgid "DefineIndex: type %s has no default operator class"
+msgstr ""
+
+#: ../commands/indexcmds.c:514
+#, c-format
+msgid "DefineIndex: opclass \"%s\" not found"
+msgstr ""
+
+#: ../commands/indexcmds.c:534
+#, c-format
+msgid "DefineIndex: opclass \"%s\" not supported by access method \"%s\""
+msgstr ""
+
+#: ../commands/indexcmds.c:569
+#, c-format
+msgid "DefineIndex: opclass \"%s\" does not accept datatype \"%s\""
+msgstr ""
+
+#: ../commands/indexcmds.c:614 ../commands/indexcmds.c:651
+#, c-format
+msgid "index \"%s\" does not exist"
+msgstr ""
+
+#: ../commands/indexcmds.c:617 ../commands/indexcmds.c:654
+#: ../commands/indexcmds.c:697
+#, c-format
+msgid "relation \"%s\" is of type \"%c\""
+msgstr ""
+
+#: ../commands/indexcmds.c:664
+#, c-format
+msgid "index \"%s\" wasn't reindexed"
+msgstr ""
+
+#: ../commands/indexcmds.c:694
+#, c-format
+msgid "table \"%s\" does not exist"
+msgstr ""
+
+#: ../commands/indexcmds.c:701
+#, c-format
+msgid "table \"%s\" wasn't reindexed"
+msgstr ""
+
+#: ../commands/indexcmds.c:741
+#, c-format
+msgid "Database \"%s\" does not exist"
+msgstr ""
+
+#: ../commands/indexcmds.c:748
+msgid "REINDEX DATABASE: Permission denied."
+msgstr ""
+
+#: ../commands/indexcmds.c:751
+msgid "REINDEX DATABASE: Can be executed only on the currently open database."
+msgstr ""
+
+#: ../commands/indexcmds.c:759
+msgid "REINDEX DATABASE cannot run inside a BEGIN/END block"
+msgstr ""
+
+#: ../commands/indexcmds.c:811
+#, c-format
+msgid "relation %u was reindexed"
+msgstr ""
+
+#: ../commands/proclang.c:67
+msgid ""
+"Only users with Postgres superuser privilege are permitted to create "
+"procedural languages"
+msgstr ""
+
+#: ../commands/proclang.c:80
+#, c-format
+msgid "Language %s already exists"
+msgstr ""
+
+#: ../commands/proclang.c:93
+#, c-format
+msgid "PL handler function %s() doesn't exist"
+msgstr ""
+
+#: ../commands/proclang.c:96
+#, c-format
+msgid "PL handler function %s() isn't of return type Opaque"
+msgstr ""
+
+#: ../commands/proclang.c:154
+msgid ""
+"Only users with Postgres superuser privilege are permitted to drop "
+"procedural languages"
+msgstr ""
+
+#: ../commands/proclang.c:170
+#, c-format
+msgid "Language %s doesn't exist"
+msgstr ""
+
+#: ../commands/proclang.c:173
+#, c-format
+msgid "Language %s isn't a created procedural language"
+msgstr ""
+
+#: ../commands/remove.c:57 ../commands/remove.c:64
+#, c-format
+msgid "RemoveOperator: type '%s' does not exist"
+msgstr ""
+
+#: ../commands/remove.c:87
+#, c-format
+msgid "RemoveOperator: operator '%s': permission denied"
+msgstr ""
+
+#: ../commands/remove.c:101
+#, c-format
+msgid ""
+"RemoveOperator: binary operator '%s' taking '%s' and '%s' does not exist"
+msgstr ""
+
+#: ../commands/remove.c:108
+#, c-format
+msgid "RemoveOperator: right unary operator '%s' taking '%s' does not exist"
+msgstr ""
+
+#: ../commands/remove.c:114
+#, c-format
+msgid "RemoveOperator: left unary operator '%s' taking '%s' does not exist"
+msgstr ""
+
+#: ../commands/remove.c:251
+#, c-format
+msgid "RemoveType: type '%s': permission denied"
+msgstr ""
+
+#: ../commands/remove.c:260 ../commands/remove.c:278
+#, c-format
+msgid "RemoveType: type '%s' does not exist"
+msgstr ""
+
+#: ../commands/remove.c:325
+#, c-format
+msgid "RemoveFunction: type '%s' not found"
+msgstr ""
+
+#: ../commands/remove.c:331
+#, c-format
+msgid "RemoveFunction: function '%s': permission denied"
+msgstr ""
+
+#. "Helpful" notice when removing a builtin function ...
+#: ../commands/remove.c:349
+#, c-format
+msgid "Removing built-in function \"%s\""
+msgstr ""
+
+#: ../commands/remove.c:385
+#, c-format
+msgid "RemoveAggregate: type '%s' does not exist"
+msgstr ""
+
+#: ../commands/remove.c:394
+#, c-format
+msgid "RemoveAggregate: aggregate '%s' on type '%s': permission denied"
+msgstr ""
+
+#: ../commands/remove.c:399
+#, c-format
+msgid "RemoveAggregate: aggregate '%s': permission denied"
+msgstr ""
+
+#: ../commands/remove.c:416
+#, c-format
+msgid "RemoveAggregate: aggregate '%s' for '%s' does not exist"
+msgstr ""
+
+#: ../commands/remove.c:421
+#, c-format
+msgid "RemoveAggregate: aggregate '%s' for all types does not exist"
+msgstr ""
+
+#: ../commands/rename.c:71
+#, c-format
+msgid "renameatt: class \"%s\" is a system catalog"
+msgstr ""
+
+#: ../commands/rename.c:75
+#, c-format
+msgid "renameatt: you do not own class \"%s\""
+msgstr ""
+
+#: ../commands/rename.c:120
+#, c-format
+msgid "renameatt: can't find catalog entry for inheriting class with oid %u"
+msgstr ""
+
+#: ../commands/rename.c:140
+#, c-format
+msgid "renameatt: attribute \"%s\" does not exist"
+msgstr ""
+
+#: ../commands/rename.c:143
+#, c-format
+msgid "renameatt: system attribute \"%s\" not renamed"
+msgstr ""
+
+#: ../commands/rename.c:150
+#, c-format
+msgid "renameatt: attribute \"%s\" exists"
+msgstr ""
+
+#: ../commands/rename.c:184
+#, c-format
+msgid "renamerel: system relation \"%s\" may not be renamed"
+msgstr ""
+
+#: ../commands/rename.c:188
+#, c-format
+msgid ""
+"renamerel: Illegal class name: \"%s\" -- pg_ is reserved for system catalogs"
+msgstr ""
+
+#: ../commands/rename.c:242
+#, c-format
+msgid "renamerel: relation \"%s\" does not exist"
+msgstr ""
+
+#: ../commands/rename.c:245
+#, c-format
+msgid "renamerel: relation \"%s\" exists"
+msgstr ""
+
+#: ../commands/sequence.c:173
+msgid "DefineSequence: ReadBuffer failed"
+msgstr ""
+
+#: ../commands/sequence.c:247
+#, c-format
+msgid "%s.nextval: you don't have permissions to set sequence %s"
+msgstr ""
+
+#: ../commands/sequence.c:300
+#, c-format
+msgid "%s.nextval: reached MAXVALUE (%d)"
+msgstr ""
+
+#: ../commands/sequence.c:316
+#, c-format
+msgid "%s.nextval: reached MINVALUE (%d)"
+msgstr ""
+
+#: ../commands/sequence.c:380
+#, c-format
+msgid "%s.nextval: WriteBuffer failed"
+msgstr ""
+
+#: ../commands/sequence.c:394
+#, c-format
+msgid "%s.currval: you don't have permissions to read sequence %s"
+msgstr ""
+
+#. nextval/read_info were not called
+#: ../commands/sequence.c:401
+#, c-format
+msgid "%s.currval is not yet defined in this session"
+msgstr ""
+
+#: ../commands/sequence.c:432
+#, c-format
+msgid "%s.setval: you don't have permissions to set sequence %s"
+msgstr ""
+
+#: ../commands/sequence.c:441
+#, c-format
+msgid "%s.setval: value %d is out of bounds (%d,%d)"
+msgstr ""
+
+#: ../commands/sequence.c:485
+#, c-format
+msgid "%s.setval: WriteBuffer failed"
+msgstr ""
+
+#: ../commands/sequence.c:573
+#, c-format
+msgid "%s.%s: invalid number of blocks in sequence"
+msgstr ""
+
+#: ../commands/sequence.c:578
+#, c-format
+msgid "%s.%s: ReadBuffer failed"
+msgstr ""
+
+#: ../commands/sequence.c:586
+#, c-format
+msgid "%s.%s: bad magic (%08X)"
+msgstr ""
+
+#: ../commands/sequence.c:623
+#, c-format
+msgid "%s.%s: %s is not a sequence"
+msgstr ""
+
+#: ../commands/sequence.c:635
+#, c-format
+msgid "%s.%s: sequence was re-created"
+msgstr ""
+
+#: ../commands/sequence.c:716
+msgid "DefineSequence: CYCLE ??"
+msgstr ""
+
+#: ../commands/sequence.c:720
+#, c-format
+msgid "DefineSequence: option \"%s\" not recognized"
+msgstr ""
+
+#: ../commands/sequence.c:727
+msgid "DefineSequence: can't INCREMENT by 0"
+msgstr ""
+
+#: ../commands/sequence.c:750
+#, c-format
+msgid "DefineSequence: MINVALUE (%d) can't be >= MAXVALUE (%d)"
+msgstr ""
+
+#: ../commands/sequence.c:764
+#, c-format
+msgid "DefineSequence: START value (%d) can't be < MINVALUE (%d)"
+msgstr ""
+
+#: ../commands/sequence.c:767
+#, c-format
+msgid "DefineSequence: START value (%d) can't be > MAXVALUE (%d)"
+msgstr ""
+
+#: ../commands/sequence.c:773
+#, c-format
+msgid "DefineSequence: CACHE (%d) can't be <= 0"
+msgstr ""
+
+#: ../commands/sequence.c:782
+#, c-format
+msgid "DefineSequence: \"%s\" value unspecified"
+msgstr ""
+
+#: ../commands/sequence.c:787
+#, c-format
+msgid "DefineSequence: \"%s\" value must be integer"
+msgstr ""
+
+#: ../commands/sequence.c:804
+#, c-format
+msgid "seq_redo: unknown op code %u"
+msgstr ""
+
+#: ../commands/sequence.c:812
+#, c-format
+msgid "seq_redo: can't read block of %u/%u"
+msgstr ""
+
+#: ../commands/sequence.c:826
+msgid "seq_redo: failed to add item to page"
+msgstr ""
+
+#: ../commands/trigger.c:70
+#, c-format
+msgid "CreateTrigger: can't create trigger for system relation %s"
+msgstr ""
+
+#: ../commands/trigger.c:75 ../tcop/utility.c:374 ../tcop/utility.c:705
+#: ../tcop/utility.c:864 ../utils/init/miscinit.c:434 ../utils/misc/guc.c:634
+msgid "permission denied"
+msgstr ""
+
+#: ../commands/trigger.c:110
+msgid "CreateTrigger: STATEMENT triggers are unimplemented, yet"
+msgstr ""
+
+#: ../commands/trigger.c:118
+msgid "CreateTrigger: double INSERT event specified"
+msgstr ""
+
+#: ../commands/trigger.c:123
+msgid "CreateTrigger: double DELETE event specified"
+msgstr ""
+
+#: ../commands/trigger.c:128
+msgid "CreateTrigger: double UPDATE event specified"
+msgstr ""
+
+#: ../commands/trigger.c:132
+msgid "CreateTrigger: unknown event specified"
+msgstr ""
+
+#: ../commands/trigger.c:151
+#, c-format
+msgid "CreateTrigger: trigger %s already defined on relation %s"
+msgstr ""
+
+#: ../commands/trigger.c:167
+#, c-format
+msgid "CreateTrigger: function %s() does not exist"
+msgstr ""
+
+#: ../commands/trigger.c:170
+#, c-format
+msgid "CreateTrigger: function %s() must return OPAQUE"
+msgstr ""
+
+#: ../commands/trigger.c:184
+#, c-format
+msgid "CreateTrigger: cache lookup for language %u failed"
+msgstr ""
+
+#: ../commands/trigger.c:187
+msgid "CreateTrigger: only internal, C and PL functions are supported"
+msgstr ""
+
+#: ../commands/trigger.c:279
+#, c-format
+msgid "CreateTrigger: relation %s not found in pg_class"
+msgstr ""
+
+#: ../commands/trigger.c:346
+#, c-format
+msgid "DropTrigger: there is no trigger %s on relation %s"
+msgstr ""
+
+#: ../commands/trigger.c:349
+#, c-format
+msgid "DropTrigger: found (and deleted) %d triggers %s on relation %s"
+msgstr ""
+
+#: ../commands/trigger.c:364
+#, c-format
+msgid "DropTrigger: relation %s not found in pg_class"
+msgstr ""
+
+#: ../commands/trigger.c:436
+#, c-format
+msgid "RelationRemoveTriggers: relation %u not found in pg_class"
+msgstr ""
+
+#: ../commands/trigger.c:471
+#, c-format
+msgid ""
+"DROP TABLE implicitly drops referential integrity trigger from table \"%s\""
+msgstr ""
+
+#: ../commands/trigger.c:562
+#, c-format
+msgid "RelationBuildTriggers: unexpected record found for rel %s"
+msgstr ""
+
+#: ../commands/trigger.c:594 ../commands/trigger.c:605
+#, c-format
+msgid "RelationBuildTriggers: tgargs IS NULL for rel %s"
+msgstr ""
+
+#: ../commands/trigger.c:627
+#, c-format
+msgid "RelationBuildTriggers: %d record(s) not found for rel %s"
+msgstr ""
+
+#: ../commands/trigger.c:876
+#, c-format
+msgid "ExecCallTriggerFunc: function %u returned NULL"
+msgstr ""
+
+#: ../commands/trigger.c:1069 ../executor/execMain.c:1069
+#: ../executor/execMain.c:1340 ../executor/execMain.c:1472
+msgid "Can't serialize access due to concurrent update"
+msgstr ""
+
+#: ../commands/trigger.c:1092 ../executor/execMain.c:1090
+#, c-format
+msgid "Unknown status %u from heap_mark4update"
+msgstr ""
+
+#: ../commands/trigger.c:1104
+msgid "GetTupleForTrigger: failed ReadBuffer"
+msgstr ""
+
+#: ../commands/trigger.c:1288
+#, c-format
+msgid "deferredTriggerGetPreviousEvent: event for tuple %s not found"
+msgstr ""
+
+#: ../commands/trigger.c:1324
+msgid "deferredTriggerExecute: failed to fetch old tuple"
+msgstr ""
+
+#: ../commands/trigger.c:1332
+msgid "deferredTriggerExecute: failed to fetch new tuple"
+msgstr ""
+
+#: ../commands/trigger.c:1514
+msgid "DeferredTriggerBeginXact() called while inside transaction"
+msgstr ""
+
+#: ../commands/trigger.c:1727
+msgid "unnamed constraints cannot be set explicitly"
+msgstr ""
+
+#: ../commands/trigger.c:1778
+#, c-format
+msgid "Constraint '%s' is not deferrable"
+msgstr ""
+
+#: ../commands/trigger.c:1793
+#, c-format
+msgid "Constraint '%s' does not exist"
+msgstr ""
+
+#: ../commands/trigger.c:1911
+msgid "DeferredTriggerSaveEvent() called outside of transaction"
+msgstr ""
+
+#: ../commands/trigger.c:2071 ../commands/trigger.c:2078
+#: ../commands/trigger.c:2111
+#, c-format
+msgid "triggered data change violation on relation \"%s\""
+msgstr ""
+
+#: ../commands/user.c:75 ../commands/user.c:159
+#, c-format
+msgid "write_password_file: unable to write %s: %m"
+msgstr ""
+
+#: ../commands/user.c:136
+#, c-format
+msgid "%s: %m"
+msgstr ""
+
+#: ../commands/user.c:144
+#, c-format
+msgid "rename %s to %s: %m"
+msgstr ""
+
+#: ../commands/user.c:205
+msgid "CREATE USER: permission denied"
+msgstr ""
+
+#: ../commands/user.c:241
+#, c-format
+msgid "CREATE USER: user name \"%s\" already exists"
+msgstr ""
+
+#: ../commands/user.c:243
+#, c-format
+msgid "CREATE USER: sysid %d is already assigned"
+msgstr ""
+
+#: ../commands/user.c:287
+msgid "CREATE USER: heap_insert failed"
+msgstr ""
+
+#: ../commands/user.c:353
+msgid "ALTER USER: permission denied"
+msgstr ""
+
+#: ../commands/user.c:357
+msgid "ALTER USER: password changes cannot be rolled back"
+msgstr ""
+
+#: ../commands/user.c:373
+#, c-format
+msgid "ALTER USER: user \"%s\" does not exist"
+msgstr ""
+
+#: ../commands/user.c:503
+msgid "DROP USER: permission denied"
+msgstr ""
+
+#: ../commands/user.c:506
+msgid "DROP USER cannot be rolled back completely"
+msgstr ""
+
+#: ../commands/user.c:535
+#, c-format
+msgid "DROP USER: user \"%s\" does not exist%s"
+msgstr ""
+
+#: ../commands/user.c:561
+#, c-format
+msgid "DROP USER: user \"%s\" owns database \"%s\", cannot be removed%s"
+msgstr ""
+
+#: ../commands/user.c:644
+#, c-format
+msgid "CheckPgUserAclNotNull: \"%s\" not found"
+msgstr ""
+
+#: ../commands/user.c:649
+#, c-format
+msgid ""
+"To use passwords, you have to revoke permissions on %s so normal users "
+"cannot read the passwords. Try 'REVOKE ALL ON \"%s\" FROM PUBLIC'."
+msgstr ""
+
+#: ../commands/user.c:682
+msgid "CREATE GROUP: permission denied"
+msgstr ""
+
+#: ../commands/user.c:712
+#, c-format
+msgid "CREATE GROUP: group name \"%s\" already exists"
+msgstr ""
+
+#: ../commands/user.c:714
+#, c-format
+msgid "CREATE GROUP: group sysid %d is already assigned"
+msgstr ""
+
+#: ../commands/user.c:729
+#, c-format
+msgid "CREATE GROUP: user \"%s\" does not exist"
+msgstr ""
+
+#: ../commands/user.c:812
+#, c-format
+msgid "%s: permission denied"
+msgstr ""
+
+#: ../commands/user.c:824
+#, c-format
+msgid "%s: group \"%s\" does not exist"
+msgstr ""
+
+#: ../commands/user.c:880
+#, c-format
+msgid "%s: user \"%s\" does not exist"
+msgstr ""
+
+#: ../commands/user.c:896
+#, c-format
+msgid "AlterGroup: unknown tag %s"
+msgstr ""
+
+#.
+#. * we silently assume here that this error will only come
+#. * up in a ALTER GROUP statement
+#.
+#: ../commands/user.c:908
+#, c-format
+msgid "%s: user \"%s\" is already in group \"%s\""
+msgstr ""
+
+#: ../commands/user.c:955
+#, c-format
+msgid "ALTER GROUP: group \"%s\" does not have any members"
+msgstr ""
+
+#: ../commands/user.c:1002
+#, c-format
+msgid "ALTER GROUP: user \"%s\" does not exist"
+msgstr ""
+
+#: ../commands/user.c:1014
+#, c-format
+msgid "ALTER GROUP: user \"%s\" is not in group \"%s\""
+msgstr ""
+
+#: ../commands/user.c:1076
+msgid "DROP GROUP: permission denied"
+msgstr ""
+
+#: ../commands/user.c:1106
+#, c-format
+msgid "DROP GROUP: group \"%s\" does not exist"
+msgstr ""
+
+#: ../commands/vacuum.c:186
+#, c-format
+msgid "%s cannot run inside a BEGIN/END block"
+msgstr ""
+
+#: ../commands/vacuum.c:357
+#, c-format
+msgid "%s: can not process indexes, views or special system tables"
+msgstr ""
+
+#: ../commands/vacuum.c:381
+#, c-format
+msgid "%s: table not found"
+msgstr ""
+
+#: ../commands/vacuum.c:448
+#, c-format
+msgid "Skipping \"%s\" --- only table owner can VACUUM it"
+msgstr ""
+
+#: ../commands/vacuum.c:562
+#, c-format
+msgid "VACUUM (vacuum_rel): FlushRelationBuffers returned %d"
+msgstr ""
+
+#: ../commands/vacuum.c:651
+#, c-format
+msgid "--Relation %s--"
+msgstr ""
+
+#: ../commands/vacuum.c:671
+#, c-format
+msgid "Rel %s: Uninitialized page %u - fixing"
+msgstr ""
+
+#: ../commands/vacuum.c:774
+#, c-format
+msgid ""
+"Rel %s: TID %u/%u: InsertTransactionInProgress %u - can't shrink relation"
+msgstr ""
+
+#: ../commands/vacuum.c:830
+#, c-format
+msgid ""
+"Rel %s: TID %u/%u: DeleteTransactionInProgress %u - can't shrink relation"
+msgstr ""
+
+#: ../commands/vacuum.c:879
+#, c-format
+msgid "Rel %s: TID %u/%u: OID IS INVALID. TUPGONE %d."
+msgstr ""
+
+#: ../commands/vacuum.c:1004
+#, c-format
+msgid ""
+"Pages %u: Changed %u, reaped %u, Empty %u, New %u; Tup %lu: Vac %u, Keep/VTL "
+"%u/%u, Crash %u, UnUsed %u, MinLen %lu, MaxLen %lu; Re-using: Free/Avail. "
+"Space %lu/%lu; EndEmpty/Avail. Pages %u/%u. %s"
+msgstr ""
+
+#: ../commands/vacuum.c:1182
+msgid "Invalid XID in t_cmin"
+msgstr ""
+
+#: ../commands/vacuum.c:1184
+msgid "HEAP_MOVED_IN was not expected"
+msgstr ""
+
+#: ../commands/vacuum.c:1217
+msgid "HEAP_MOVED_OFF was expected"
+msgstr ""
+
+#: ../commands/vacuum.c:1246
+msgid "No one parent tuple was found"
+msgstr ""
+
+#: ../commands/vacuum.c:1284
+msgid ""
+"Child itemid in update-chain marked as unused - can't continue repair_frag"
+msgstr ""
+
+#: ../commands/vacuum.c:1377
+msgid "Parent tuple was not found"
+msgstr ""
+
+#: ../commands/vacuum.c:1385
+msgid "Parent itemid marked as unused"
+msgstr ""
+
+#: ../commands/vacuum.c:1416
+msgid "Too old parent tuple found - can't continue repair_frag"
+msgstr ""
+
+#: ../commands/vacuum.c:1544
+#, c-format
+msgid "moving chain: failed to add item with len = %lu to page %u"
+msgstr ""
+
+#: ../commands/vacuum.c:1701
+#, c-format
+msgid ""
+"failed to add item with len = %lu to page %u (free space %lu, nusd %u, noff %"
+"u)"
+msgstr ""
+
+#: ../commands/vacuum.c:1792
+msgid "Invalid XID in t_cmin (4)"
+msgstr ""
+
+#: ../commands/vacuum.c:1794
+msgid "HEAP_MOVED_IN was not expected (2)"
+msgstr ""
+
+#: ../commands/vacuum.c:1899
+msgid "Invalid XID in t_cmin (2)"
+msgstr ""
+
+#: ../commands/vacuum.c:1908
+msgid "HEAP_MOVED_OFF/HEAP_MOVED_IN was expected"
+msgstr ""
+
+#: ../commands/vacuum.c:1919
+#, c-format
+msgid "Rel %s: Pages: %u --> %u; Tuple(s) moved: %u. %s"
+msgstr ""
+
+#: ../commands/vacuum.c:1979
+msgid "Invalid XID in t_cmin (3)"
+msgstr ""
+
+#: ../commands/vacuum.c:1986
+msgid "HEAP_MOVED_OFF was expected (2)"
+msgstr ""
+
+#: ../commands/vacuum.c:2021
+#, c-format
+msgid "VACUUM (repair_frag): FlushRelationBuffers returned %d"
+msgstr ""
+
+#: ../commands/vacuum.c:2083
+#, c-format
+msgid "VACUUM (vacuum_heap): FlushRelationBuffers returned %d"
+msgstr ""
+
+#: ../commands/vacuum.c:2089
+#, c-format
+msgid "Rel %s: Pages: %lu --> %lu."
+msgstr ""
+
+#: ../commands/vacuum.c:2166
+#, c-format
+msgid "Index %s: Pages %u; Tuples %lu. %s"
+msgstr ""
+
+#: ../commands/vacuum.c:2171 ../commands/vacuum.c:2251
+#, c-format
+msgid ""
+"Index %s: NUMBER OF INDEX' TUPLES (%lu) IS NOT THE SAME AS HEAP' (%lu).\n"
+"\tRecreate the index."
+msgstr ""
+
+#: ../commands/vacuum.c:2217
+#, c-format
+msgid "<%x,%x> -> <%x,%x>"
+msgstr ""
+
+#: ../commands/vacuum.c:2225
+#, c-format
+msgid "Index %s: pointer to EmptyPage (blk %u off %u) - fixing"
+msgstr ""
+
+#: ../commands/vacuum.c:2245
+#, c-format
+msgid "Index %s: Pages %u; Tuples %lu: Deleted %u. %s"
+msgstr ""
+
+#: ../commands/vacuum.c:2342
+#, c-format
+msgid "pg_class entry for relid %u vanished during vacuuming"
+msgstr ""
+
+#: ../commands/vacuum.c:2564
+#, c-format
+msgid "get_index_desc: index %u not found"
+msgstr ""
+
+#: ../commands/variable.c:115
+#, c-format
+msgid "Syntax error near \"%s\": empty setting"
+msgstr ""
+
+#: ../commands/variable.c:142 ../commands/variable.c:176
+#, c-format
+msgid "Syntax error near \"%s\""
+msgstr ""
+
+#: ../commands/variable.c:152
+#, c-format
+msgid "Syntax error near \"=%s\""
+msgstr ""
+
+#: ../commands/variable.c:254
+#, c-format
+msgid "Bad value for date style (%s)"
+msgstr ""
+
+#: ../commands/variable.c:258
+msgid "Conflicting settings for date"
+msgstr ""
+
+#: ../commands/variable.c:384 ../commands/variable.c:428
+#, c-format
+msgid "Unable to set TZ environment variable to %s"
+msgstr ""
+
+#: ../commands/variable.c:399
+#, c-format
+msgid "Time zone is %s"
+msgstr ""
+
+#: ../commands/variable.c:440
+msgid "Unable to clear TZ environment variable"
+msgstr ""
+
+#: ../commands/variable.c:468 ../commands/variable.c:503
+msgid ""
+"ALTER SESSION/SET TRANSACTION ISOLATION LEVEL can not be called within a "
+"transaction"
+msgstr ""
+
+#: ../commands/variable.c:479 ../commands/variable.c:536
+#, c-format
+msgid "Bad TRANSACTION ISOLATION LEVEL (%s)"
+msgstr ""
+
+#: ../commands/variable.c:489
+msgid "Default TRANSACTION ISOLATION LEVEL is SERIALIZABLE"
+msgstr ""
+
+#: ../commands/variable.c:491
+msgid "Default TRANSACTION ISOLATION LEVEL is READ COMMITTED"
+msgstr ""
+
+#: ../commands/variable.c:526 ../commands/variable.c:558
+msgid "SET TRANSACTION ISOLATION LEVEL must be called before any query"
+msgstr ""
+
+#: ../commands/variable.c:546
+msgid "TRANSACTION ISOLATION LEVEL is SERIALIZABLE"
+msgstr ""
+
+#: ../commands/variable.c:548
+msgid "TRANSACTION ISOLATION LEVEL is READ COMMITTED"
+msgstr ""
+
+#: ../commands/variable.c:589
+msgid "Seed for random number generator is not known"
+msgstr ""
+
+#: ../commands/variable.c:622 ../commands/variable.c:637
+#, c-format
+msgid "Client encoding %s is not supported"
+msgstr ""
+
+#: ../commands/variable.c:624
+msgid "No client encoding is specified"
+msgstr ""
+
+#: ../commands/variable.c:630
+#, c-format
+msgid "Conversion between %s and %s is not supported"
+msgstr ""
+
+#: ../commands/variable.c:645
+#, c-format
+msgid "Current client encoding is %s"
+msgstr ""
+
+#: ../commands/variable.c:681
+msgid "SET SERVER_ENCODING is not supported"
+msgstr ""
+
+#: ../commands/variable.c:688
+#, c-format
+msgid "Current server encoding is %s"
+msgstr ""
+
+#: ../commands/variable.c:696
+msgid "RESET SERVER_ENCODING is not supported"
+msgstr ""
+
+#: ../commands/variable.c:755
+#, c-format
+msgid "%s is %s"
+msgstr ""
+
+#: ../commands/view.c:84
+msgid "attempted to define virtual relation with no attrs"
+msgstr ""
+
+#: ../commands/analyze.c:205
+#, c-format
+msgid "Skipping \"%s\" --- only table owner can ANALYZE it"
+msgstr ""
+
+#: ../commands/analyze.c:212
+#, c-format
+msgid "Analyzing %s"
+msgstr ""
+
+#: ../commands/analyze.c:239
+#, c-format
+msgid "ANALYZE: there is no attribute %s in %s"
+msgstr ""
+
+#: ../commands/analyze.c:411 ../utils/adt/ruleutils.c:1880
+#: ../utils/adt/ruleutils.c:1907 ../utils/adt/ruleutils.c:2140
+#, c-format
+msgid "cache lookup of type %u failed"
+msgstr ""
+
+#: ../commands/analyze.c:798
+#, c-format
+msgid "get_page_max_offset: %s relation: ReadBuffer(%ld) failed"
+msgstr ""
+
+#: ../executor/_deadcode/nodeTee.c:325
+msgid "A Tee node can only be executed from its left or right parent\n"
+msgstr ""
+
+#: ../executor/execAmi.c:160
+msgid "ExecBeginScan: scanDesc = NULL, heap_beginscan failed."
+msgstr ""
+
+#: ../executor/execAmi.c:197
+msgid "ExecCloseR: not a scan node!"
+msgstr ""
+
+#: ../executor/execAmi.c:363
+#, c-format
+msgid "ExecReScan: node type %d not supported"
+msgstr ""
+
+#. don't make hard error unless caller asks to restore...
+#: ../executor/execAmi.c:432
+#, c-format
+msgid "ExecMarkPos: node type %d not supported"
+msgstr ""
+
+#: ../executor/execAmi.c:469
+#, c-format
+msgid "ExecRestrPos: node type %d not supported"
+msgstr ""
+
+#: ../executor/execMain.c:242
+#, c-format
+msgid "ExecutorRun: Unknown feature %d"
+msgstr ""
+
+#: ../executor/execMain.c:450
+#, c-format
+msgid "ExecCheckRTEPerms: bogus operation %d"
+msgstr ""
+
+#: ../executor/execMain.c:813
+#, c-format
+msgid "You can't change sequence relation %s"
+msgstr ""
+
+#: ../executor/execMain.c:817
+#, c-format
+msgid "You can't change toast relation %s"
+msgstr ""
+
+#: ../executor/execMain.c:821
+#, c-format
+msgid "You can't change view relation %s"
+msgstr ""
+
+#: ../executor/execMain.c:1021
+msgid "ExecutePlan: NO (junk) `ctid' was found!"
+msgstr ""
+
+#: ../executor/execMain.c:1025
+msgid "ExecutePlan: (junk) `ctid' is NULL!"
+msgstr ""
+
+#: ../executor/execMain.c:1050
+#, c-format
+msgid "ExecutePlan: NO (junk) `%s' was found!"
+msgstr ""
+
+#: ../executor/execMain.c:1055
+#, c-format
+msgid "ExecutePlan: (junk) `%s' is NULL!"
+msgstr ""
+
+#: ../executor/execMain.c:1141
+msgid "ExecutePlan: unknown operation in queryDesc"
+msgstr ""
+
+#: ../executor/execMain.c:1405
+msgid "ExecReplace: replace can't run without transactions"
+msgstr ""
+
+#: ../executor/execMain.c:1602
+#, c-format
+msgid "%s: Fail to add null value in not null attribute %s"
+msgstr ""
+
+#: ../executor/execMain.c:1612
+#, c-format
+msgid "%s: rejected due to CHECK constraint %s"
+msgstr ""
+
+#: ../executor/execMain.c:1658
+#, c-format
+msgid "EvalPlanQual: can't find RTE %d"
+msgstr ""
+
+#: ../executor/execMain.c:1677
+msgid "EvalPlanQual: t_xmin is uncommitted ?!"
+msgstr ""
+
+#: ../executor/execProcnode.c:218
+#, c-format
+msgid "ExecInitNode: node type %d unsupported"
+msgstr ""
+
+#: ../executor/execProcnode.c:344
+#, c-format
+msgid "ExecProcNode: node type %d unsupported"
+msgstr ""
+
+#: ../executor/execProcnode.c:425
+#, c-format
+msgid "ExecCountSlotsNode: node type %d unsupported"
+msgstr ""
+
+#: ../executor/execProcnode.c:548
+#, c-format
+msgid "ExecEndNode: node type %d unsupported"
+msgstr ""
+
+#.
+#. * should never get here
+#.
+#: ../executor/execProcnode.c:716
+#, c-format
+msgid "ExecGetTupType: node type %d unsupported"
+msgstr ""
+
+#: ../executor/execQual.c:141 ../executor/execQual.c:163
+#, c-format
+msgid "ExecEvalArrayRef: can only handle %d dimensions"
+msgstr ""
+
+#: ../executor/execQual.c:185
+msgid "ExecEvalArrayRef: upper and lower indices mismatch"
+msgstr ""
+
+#. safety check
+#: ../executor/execQual.c:263
+msgid "ExecEvalAggref: no aggregates in this expression context"
+msgstr ""
+
+#: ../executor/execQual.c:466
+msgid "ExecEvalParam: new/old params with same id & diff names"
+msgstr ""
+
+#.
+#. * oops! this is not supposed to happen!
+#.
+#: ../executor/execQual.c:475
+#, c-format
+msgid "ExecEvalParam: invalid paramkind %d"
+msgstr ""
+
+#.
+#. * ooops! we couldn't find this parameter in the parameter list.
+#. * Signal an error
+#.
+#: ../executor/execQual.c:490
+#, c-format
+msgid "ExecEvalParam: Unknown value for parameter %s"
+msgstr ""
+
+#: ../executor/execQual.c:524
+msgid "GetAttributeByNum: Invalid attribute number"
+msgstr ""
+
+#: ../executor/execQual.c:527
+msgid "GetAttributeByNum: cannot access system attributes here"
+msgstr ""
+
+#: ../executor/execQual.c:530
+msgid "GetAttributeByNum: a NULL isNull flag was passed"
+msgstr ""
+
+#: ../executor/execQual.c:558
+msgid "GetAttributeByName: Invalid attribute name"
+msgstr ""
+
+#: ../executor/execQual.c:561
+msgid "GetAttributeByName: a NULL isNull flag was passed"
+msgstr ""
+
+#: ../executor/execQual.c:583
+#, c-format
+msgid "GetAttributeByName: attribute %s not found"
+msgstr ""
+
+#: ../executor/execQual.c:629
+msgid "Functions and operators can take only one set argument"
+msgstr ""
+
+#: ../executor/execQual.c:675 ../executor/execQual.c:692
+#: ../executor/execQual.c:1557 ../executor/functions.c:552
+#: ../executor/functions.c:578 ../utils/adt/sets.c:205
+msgid "Set-valued function called in context that cannot accept a set"
+msgstr ""
+
+#: ../executor/execQual.c:1244 ../executor/execQual.c:1271
+#, c-format
+msgid "ExecEvalExpr: unknown expression type %d"
+msgstr ""
+
+#: ../executor/execQual.c:1617
+msgid "ExecTargetList: fjoin nodes not currently supported"
+msgstr ""
+
+#: ../executor/execTuples.c:258
+msgid ""
+"Plan requires more slots than are available\n"
+"\tsend mail to your local executor guru to fix this"
+msgstr ""
+
+#: ../executor/execUtils.c:535
+#, c-format
+msgid "ExecOpenIndices: index %u not found"
+msgstr ""
+
+#: ../executor/functions.c:172
+#, c-format
+msgid "init_sql_fcache: Cache lookup failed for procedure %u"
+msgstr ""
+
+#: ../executor/functions.c:184
+#, c-format
+msgid "init_sql_fcache: Cache lookup failed for type %u"
+msgstr ""
+
+#: ../executor/functions.c:242
+#, c-format
+msgid "init_sql_fcache: null prosrc for procedure %u"
+msgstr ""
+
+#.
+#. * This used to be treated as an error, but we can't do that
+#. * anymore because constant-expression simplification could
+#. * optimize away all of the Aggrefs in the targetlist and qual.
+#. * So, just make a debug note, and force numaggs positive so that
+#. * palloc()s below don't choke.
+#.
+#: ../executor/nodeAgg.c:768
+msgid "ExecInitAgg: could not find any aggregate functions"
+msgstr ""
+
+#: ../executor/nodeAgg.c:866
+#, c-format
+msgid "ExecAgg: cache lookup failed for aggregate %s(%s)"
+msgstr ""
+
+#: ../executor/nodeAgg.c:910
+#, c-format
+msgid "Aggregate %s needs to have compatible input type and transition type"
+msgstr ""
+
+#: ../executor/nodeAgg.c:933 ../executor/nodeGroup.c:497
+#, c-format
+msgid "Unable to identify an equality operator for type '%s'"
+msgstr ""
+
+#: ../executor/nodeAppend.c:295
+msgid "ExecProcAppend: subnode is NULL"
+msgstr ""
+
+#: ../executor/nodeHash.c:68
+msgid "ExecHash: hash table is NULL."
+msgstr ""
+
+#: ../executor/nodeHash.c:400 ../executor/nodeHash.c:469
+#: ../executor/nodeHash.c:690
+msgid "Insufficient memory for hash table."
+msgstr ""
+
+#: ../executor/nodeHashjoin.c:363
+#, c-format
+msgid "ExecInitHashJoin: unsupported join type %d"
+msgstr ""
+
+#: ../executor/nodeHashjoin.c:535 ../executor/nodeHashjoin.c:543
+msgid "Read from hashjoin temp file failed"
+msgstr ""
+
+#: ../executor/nodeHashjoin.c:600 ../executor/nodeHashjoin.c:605
+msgid "Failed to rewind hash temp file"
+msgstr ""
+
+#: ../executor/nodeHashjoin.c:676 ../executor/nodeHashjoin.c:679
+msgid "Write to hashjoin temp file failed"
+msgstr ""
+
+#: ../executor/nodeIndexscan.c:721
+msgid "ExecInitIndexScan: indxqual not an opclause!"
+msgstr ""
+
+#: ../executor/nodeIndexscan.c:851 ../executor/nodeIndexscan.c:916
+#, c-format
+msgid "ExecInitIndexScan: %s"
+msgstr ""
+
+#: ../executor/nodeIndexscan.c:1003
+#, c-format
+msgid "indexes of the relation %u was inactivated"
+msgstr ""
+
+#: ../executor/nodeMergejoin.c:138
+msgid "MJFormSkipQual: op not an Oper!"
+msgstr ""
+
+#. shouldn't happen
+#: ../executor/nodeMergejoin.c:152
+#, c-format
+msgid "MJFormSkipQual: operator %u not found"
+msgstr ""
+
+#: ../executor/nodeMergejoin.c:169
+#, c-format
+msgid "MJFormSkipQual: mergejoin operator %u has no matching %s op"
+msgstr ""
+
+#: ../executor/nodeMergejoin.c:432
+#, c-format
+msgid "ExecMergeJoin: unsupported join type %d"
+msgstr ""
+
+#: ../executor/nodeMergejoin.c:1438
+#, c-format
+msgid "ExecMergeJoin: invalid join state %d, aborting"
+msgstr ""
+
+#: ../executor/nodeMergejoin.c:1518
+msgid "RIGHT JOIN is only supported with mergejoinable join conditions"
+msgstr ""
+
+#: ../executor/nodeMergejoin.c:1533 ../optimizer/path/joinpath.c:927
+msgid "FULL JOIN is only supported with mergejoinable join conditions"
+msgstr ""
+
+#: ../executor/nodeMergejoin.c:1536
+#, c-format
+msgid "ExecInitMergeJoin: unsupported join type %d"
+msgstr ""
+
+#: ../executor/nodeNestloop.c:322
+#, c-format
+msgid "ExecInitNestLoop: unsupported join type %d"
+msgstr ""
+
+#: ../executor/nodeSort.c:52
+msgid "ExtractSortKeys: keycount <= 0"
+msgstr ""
+
+#: ../executor/nodeSubplan.c:53
+msgid "ExecSubPlan: can't set parent params from subquery"
+msgstr ""
+
+#: ../executor/nodeSubplan.c:120 ../executor/nodeSubplan.c:142
+#: ../executor/nodeSubplan.c:386
+msgid "More than one tuple returned by a subselect used as an expression."
+msgstr ""
+
+#: ../executor/nodeSubplan.c:180
+msgid "ExecSubPlan: failed to find placeholder for subplan result"
+msgstr ""
+
+#: ../executor/nodeSubplan.c:359
+msgid "ExecSetParamPlan: ANY/ALL subselect unsupported"
+msgstr ""
+
+#: ../executor/nodeSubplan.c:469
+msgid "ExecReScanSetParamPlan: direct correlated subquery unsupported, yet"
+msgstr ""
+
+#: ../executor/nodeSubplan.c:471
+msgid "ExecReScanSetParamPlan: setParam list is NULL"
+msgstr ""
+
+#: ../executor/nodeSubplan.c:473
+msgid "ExecReScanSetParamPlan: extParam list of plan is NULL"
+msgstr ""
+
+#: ../executor/spi.c:64
+msgid "SPI_connect: no connection(s) expected"
+msgstr ""
+
+#: ../executor/spi.c:70
+msgid "SPI_connect: some connection(s) expected"
+msgstr ""
+
+#: ../executor/spi.c:306 ../executor/spi.c:340 ../executor/spi.c:541
+#: ../executor/spi.c:1187
+msgid "SPI: stack corrupted"
+msgstr ""
+
+#: ../executor/spi.c:608
+msgid "cannot open multi-query plan as cursor"
+msgstr ""
+
+#: ../executor/spi.c:613
+msgid "plan in SPI_cursor_open() is not a SELECT"
+msgstr ""
+
+#: ../executor/spi.c:615
+msgid "plan in SPI_cursor_open() must NOT be a DECLARE already"
+msgstr ""
+
+#: ../executor/spi.c:617
+msgid "plan in SPI_cursor_open() must NOT be a SELECT INTO"
+msgstr ""
+
+#: ../executor/spi.c:644
+#, c-format
+msgid "cursor \"%s\" already in use"
+msgstr ""
+
+#: ../executor/spi.c:649
+#, c-format
+msgid "failed to create portal \"%s\""
+msgstr ""
+
+#: ../executor/spi.c:744 ../executor/spi.c:1100
+msgid "invalid portal in SPI cursor operation"
+msgstr ""
+
+#: ../executor/spi.c:769
+msgid "SPI: improper call to spi_printtup"
+msgstr ""
+
+#: ../executor/spi.c:771
+msgid "SPI: stack corrupted in spi_printtup"
+msgstr ""
+
+#: ../executor/spi.c:1049
+msgid "SPI_select: retrieve into portal not implemented"
+msgstr ""
+
+#: ../executor/spi.c:1059
+msgid "SPI_select: # of processed tuples check failed"
+msgstr ""
+
+#: ../executor/spi.c:1153
+msgid "SPI_fetch: # of processed tuples check failed"
+msgstr ""
+
+#: ../executor/nodeSetOp.c:178
+#, c-format
+msgid "ExecSetOp: bogus command code %d"
+msgstr ""
+
+#: ../lib/hasht.c:49
+msgid "error in HashTableWalk"
+msgstr ""
+
+#: ../libpq/be-fsstubs.c:85
+#, c-format
+msgid "lo_open(%u,%d)"
+msgstr ""
+
+#: ../libpq/be-fsstubs.c:103
+#, c-format
+msgid "cannot open large object %u"
+msgstr ""
+
+#: ../libpq/be-fsstubs.c:123
+#, c-format
+msgid "lo_close: invalid large obj descriptor (%d)"
+msgstr ""
+
+#: ../libpq/be-fsstubs.c:127
+#, c-format
+msgid "lo_close(%d)"
+msgstr ""
+
+#: ../libpq/be-fsstubs.c:159
+#, c-format
+msgid "lo_read: invalid large obj descriptor (%d)"
+msgstr ""
+
+#: ../libpq/be-fsstubs.c:181
+#, c-format
+msgid "lo_write: invalid large obj descriptor (%d)"
+msgstr ""
+
+#: ../libpq/be-fsstubs.c:207
+#, c-format
+msgid "lo_lseek: invalid large obj descriptor (%d)"
+msgstr ""
+
+#: ../libpq/be-fsstubs.c:262
+#, c-format
+msgid "lo_tell: invalid large object descriptor (%d)"
+msgstr ""
+
+#: ../libpq/be-fsstubs.c:364
+msgid ""
+"You must have Postgres superuser privilege to use server-side lo_import().\n"
+"\tAnyone can use the client-side lo_import() provided by libpq."
+msgstr ""
+
+#: ../libpq/be-fsstubs.c:379
+#, c-format
+msgid "lo_import: can't open unix file \"%s\": %m"
+msgstr ""
+
+#: ../libpq/be-fsstubs.c:387
+#, c-format
+msgid "lo_import: can't create inv object for \"%s\""
+msgstr ""
+
+#: ../libpq/be-fsstubs.c:398
+#, c-format
+msgid "lo_import: error while reading \"%s\""
+msgstr ""
+
+#: ../libpq/be-fsstubs.c:427
+msgid ""
+"You must have Postgres superuser privilege to use server-side lo_export().\n"
+"\tAnyone can use the client-side lo_export() provided by libpq."
+msgstr ""
+
+#: ../libpq/be-fsstubs.c:437
+#, c-format
+msgid "lo_export: can't open inv object %u"
+msgstr ""
+
+#: ../libpq/be-fsstubs.c:455
+#, c-format
+msgid "lo_export: can't open unix file \"%s\": %m"
+msgstr ""
+
+#: ../libpq/be-fsstubs.c:465
+#, c-format
+msgid "lo_export: error while writing \"%s\""
+msgstr ""
+
+#: ../libpq/pqformat.c:201
+#, c-format
+msgid "pq_sendint: unsupported size %d"
+msgstr ""
+
+#: ../nodes/outfuncs.c:1307
+#, c-format
+msgid "_outValue: don't know how to print type %d "
+msgstr ""
+
+#: ../nodes/outfuncs.c:1656
+#, c-format
+msgid "_outNode: don't know how to print type %d "
+msgstr ""
+
+#: ../nodes/copyfuncs.c:2947
+#, c-format
+msgid "copyObject: don't know how to copy node type %d"
+msgstr ""
+
+#: ../nodes/equalfuncs.c:203
+#, c-format
+msgid "_equalParam: Invalid paramkind value: %d"
+msgstr ""
+
+#: ../nodes/equalfuncs.c:2118
+#, c-format
+msgid "equal: don't know whether nodes of type %d are equal"
+msgstr ""
+
+#: ../nodes/list.c:162
+msgid "tryout to nconc a list to itself"
+msgstr ""
+
+#: ../nodes/read.c:296
+msgid "nodeRead: did not find '}' at end of plan node"
+msgstr ""
+
+#: ../nodes/read.c:376
+#, c-format
+msgid "nodeRead: Bad type %d"
+msgstr ""
+
+#: ../nodes/readfuncs.c:70
+msgid "toIntList: unexpected datatype"
+msgstr ""
+
+#: ../nodes/readfuncs.c:104
+msgid "toOidList: unexpected datatype"
+msgstr ""
+
+#: ../nodes/readfuncs.c:798
+#, c-format
+msgid "_readExpr: unknown opType \"%.*s\""
+msgstr ""
+
+#: ../nodes/readfuncs.c:1968
+#, c-format
+msgid "badly formatted planstring \"%.10s\"..."
+msgstr ""
+
+#: ../nodes/readfuncs.c:2004
+#, c-format
+msgid "readDatum: byval & length = %lu"
+msgstr ""
+
+#: ../nodes/readfuncs.c:2029
+#, c-format
+msgid "readDatum: ']' expected, length = %lu"
+msgstr ""
+
+#: ../optimizer/geqo/geqo_main.c:126
+msgid "geqo_main: using edge recombination crossover [ERX]"
+msgstr ""
+
+#: ../optimizer/geqo/geqo_main.c:130
+msgid "geqo_main: using partially matched crossover [PMX]"
+msgstr ""
+
+#: ../optimizer/geqo/geqo_main.c:134
+msgid "geqo_main: using cycle crossover [CX]"
+msgstr ""
+
+#: ../optimizer/geqo/geqo_main.c:139
+msgid "geqo_main: using position crossover [PX]"
+msgstr ""
+
+#: ../optimizer/geqo/geqo_main.c:144
+msgid "geqo_main: using order crossover [OX1]"
+msgstr ""
+
+#: ../optimizer/geqo/geqo_main.c:149
+msgid "geqo_main: using order crossover [OX2]"
+msgstr ""
+
+#: ../optimizer/geqo/geqo_erx.c:338
+msgid "gimme_gene: Internal error - minimum_count not set"
+msgstr ""
+
+#. ... should never be reached
+#: ../optimizer/geqo/geqo_erx.c:364
+msgid "gimme_gene: neither shared nor minimum number nor random edge found"
+msgstr ""
+
+#: ../optimizer/geqo/geqo_erx.c:424
+msgid "edge_failure(1): no edge found via random decision and total_edges == 4"
+msgstr ""
+
+#: ../optimizer/geqo/geqo_erx.c:449
+msgid "edge_failure(2): no edge found via random decision and remainig edges"
+msgstr ""
+
+#: ../optimizer/geqo/geqo_erx.c:467
+msgid "edge_failure(3): no edge found via looking for the last ununsed point"
+msgstr ""
+
+#. ... should never be reached
+#: ../optimizer/geqo/geqo_erx.c:472
+msgid "edge_failure: no edge detected"
+msgstr ""
+
+#: ../optimizer/geqo/geqo_eval.c:139
+msgid "gimme_tree: failed to construct join rel"
+msgstr ""
+
+#: ../optimizer/geqo/geqo_misc.c:42
+msgid "avg_pool: pool_size of zero"
+msgstr ""
+
+#: ../optimizer/path/_deadcode/predmig.c:96
+msgid "Needed to do a second round of predmig!\n"
+msgstr ""
+
+#: ../optimizer/path/_deadcode/predmig.c:130
+msgid "called xfunc_predmig with bad inputs"
+msgstr ""
+
+#: ../optimizer/path/_deadcode/predmig.c:328
+msgid "Didn't find matching node in original stream"
+msgstr ""
+
+#: ../optimizer/path/_deadcode/predmig.c:339
+msgid "pulling up in xfunc_predmig_pullup!"
+msgstr ""
+
+#: ../optimizer/path/_deadcode/predmig.c:386
+msgid "didn't succeed in pulling up in xfunc_prdmig_pullup"
+msgstr ""
+
+#: ../optimizer/path/_deadcode/predmig.c:781
+msgid "bad pointers in stream"
+msgstr ""
+
+#: ../optimizer/path/_deadcode/predmig.c:788
+msgid "Joins got reordered!"
+msgstr ""
+
+#: ../optimizer/path/_deadcode/xfunc.c:456
+#: ../optimizer/path/_deadcode/xfunc.c:710
+#: ../optimizer/path/_deadcode/xfunc.c:847
+#: ../optimizer/path/_deadcode/xfunc.c:1183
+msgid "Clause node of undetermined type"
+msgstr ""
+
+#: ../optimizer/path/_deadcode/xfunc.c:492
+msgid "Oper's function is undefined"
+msgstr ""
+
+#: ../optimizer/path/_deadcode/xfunc.c:502
+#: ../optimizer/path/_deadcode/xfunc.c:680
+#: ../optimizer/path/_deadcode/xfunc.c:1311
+#, c-format
+msgid "Cache lookup failed for procedure %u"
+msgstr ""
+
+#: ../optimizer/path/_deadcode/xfunc.c:617
+#: ../optimizer/path/_deadcode/xfunc.c:1329
+#, c-format
+msgid "Cache lookup failed for type %u"
+msgstr ""
+
+#: ../optimizer/path/_deadcode/xfunc.c:1410
+msgid "xfunc_LispRemove: didn't find a match!"
+msgstr ""
+
+#: ../optimizer/path/allpaths.c:275
+msgid "SELECT FOR UPDATE is not supported for inherit queries"
+msgstr ""
+
+#: ../optimizer/path/costsize.c:1105
+#, c-format
+msgid "set_joinrel_size_estimates: unsupported join type %d"
+msgstr ""
+
+#: ../optimizer/path/indxpath.c:461
+msgid "extract_or_indexqual_conditions: no matching clause"
+msgstr ""
+
+#: ../optimizer/path/indxpath.c:1082
+msgid "Unsupported predicate type, index will not be used"
+msgstr ""
+
+#: ../optimizer/path/indxpath.c:1207
+msgid "clause_pred_clause_test: unknown pred_op"
+msgstr ""
+
+#: ../optimizer/path/indxpath.c:1240
+msgid "clause_pred_clause_test: unknown clause_op"
+msgstr ""
+
+#: ../optimizer/path/indxpath.c:1276
+msgid "clause_pred_clause_test: unknown test_op"
+msgstr ""
+
+#: ../optimizer/path/indxpath.c:1306
+msgid "clause_pred_clause_test: null test result"
+msgstr ""
+
+#: ../optimizer/path/indxpath.c:1954
+#, c-format
+msgid "prefix_quals: unexpected operator %u"
+msgstr ""
+
+#: ../optimizer/path/indxpath.c:1965
+#, c-format
+msgid "prefix_quals: no = operator for type %u"
+msgstr ""
+
+#: ../optimizer/path/indxpath.c:1980
+#, c-format
+msgid "prefix_quals: no >= operator for type %u"
+msgstr ""
+
+#: ../optimizer/path/indxpath.c:1996
+#, c-format
+msgid "prefix_quals: no < operator for type %u"
+msgstr ""
+
+#: ../optimizer/path/joinpath.c:316
+#, c-format
+msgid "match_unsorted_outer: unexpected join type %d"
+msgstr ""
+
+#: ../optimizer/path/joinpath.c:570
+#, c-format
+msgid "match_unsorted_inner: unexpected join type %d"
+msgstr ""
+
+#: ../optimizer/path/joinrels.c:229
+#, c-format
+msgid "make_rels_by_joins: failed to build any %d-way joins"
+msgstr ""
+
+#: ../optimizer/path/joinrels.c:380
+#, c-format
+msgid "make_jointree_rel: unexpected node type %d"
+msgstr ""
+
+#: ../optimizer/path/joinrels.c:437
+#, c-format
+msgid "make_join_rel: unsupported join type %d"
+msgstr ""
+
+#: ../optimizer/path/pathkeys.c:856
+msgid ""
+"make_pathkeys_for_mergeclauses: can't identify which side of mergeclause to "
+"use"
+msgstr ""
+
+#: ../optimizer/plan/createplan.c:129
+#, c-format
+msgid "create_plan: unknown pathtype %d"
+msgstr ""
+
+#: ../optimizer/plan/createplan.c:198
+#, c-format
+msgid "create_scan_plan: unknown node type: %d"
+msgstr ""
+
+#: ../optimizer/plan/createplan.c:277
+#, c-format
+msgid "create_join_plan: unknown node type: %d"
+msgstr ""
+
+#: ../optimizer/plan/createplan.c:931
+msgid "fix_indxqual_sublist: indexqual clause is not binary opclause"
+msgstr ""
+
+#: ../optimizer/plan/createplan.c:968
+msgid "fix_indxqual_sublist: failed to find substitute op"
+msgstr ""
+
+#.
+#. * Oops, this Var isn't an indexkey!
+#.
+#: ../optimizer/plan/createplan.c:1021
+msgid "fix_indxqual_operand: var is not index attribute"
+msgstr ""
+
+#: ../optimizer/plan/createplan.c:1438
+msgid "make_sort_from_pathkeys: cannot find tlist item to sort"
+msgstr ""
+
+#: ../optimizer/plan/initsplan.c:148
+#, c-format
+msgid "add_missing_rels_to_query: unexpected node type %d"
+msgstr ""
+
+#.
+#. * This is where we fail if upper levels of planner
+#. * haven't rewritten UNION JOIN as an Append ...
+#.
+#: ../optimizer/plan/initsplan.c:271 ../optimizer/plan/planner.c:395
+msgid "UNION JOIN is not implemented yet"
+msgstr ""
+
+#: ../optimizer/plan/initsplan.c:275
+#, c-format
+msgid "distribute_quals_to_rels: unsupported join type %d"
+msgstr ""
+
+#: ../optimizer/plan/initsplan.c:285
+#, c-format
+msgid "distribute_quals_to_rels: unexpected node type %d"
+msgstr ""
+
+#: ../optimizer/plan/initsplan.c:322
+msgid ""
+"SELECT FOR UPDATE cannot be applied to the nullable side of an OUTER JOIN"
+msgstr ""
+
+#: ../optimizer/plan/initsplan.c:381
+msgid "JOIN qualification may not refer to other relations"
+msgstr ""
+
+#.
+#. * 'clause' references no rels, and therefore we have no place to
+#. * attach it.  Shouldn't get here if callers are working properly.
+#.
+#: ../optimizer/plan/initsplan.c:517
+msgid "distribute_qual_to_rels: can't cope with variable-free clause"
+msgstr ""
+
+#.
+#. * Would it be safe to just not add the equality to the query if
+#. * we have no suitable equality operator for the combination of
+#. * datatypes?  NO, because sortkey selection may screw up anyway.
+#.
+#: ../optimizer/plan/initsplan.c:660
+#, c-format
+msgid "Unable to identify an equality operator for types '%s' and '%s'"
+msgstr ""
+
+#: ../optimizer/plan/initsplan.c:671
+#, c-format
+msgid ""
+"Equality operator for types '%s' and '%s' should be mergejoinable, but isn't"
+msgstr ""
+
+#: ../optimizer/plan/planmain.c:220
+#, c-format
+msgid "Internal error: no jointree entry for rel %s (%d)"
+msgstr ""
+
+#: ../optimizer/plan/planmain.c:243
+msgid "subplanner: failed to construct a relation"
+msgstr ""
+
+#: ../optimizer/plan/planner.c:398
+#, c-format
+msgid "pull_up_subqueries: unexpected join type %d"
+msgstr ""
+
+#: ../optimizer/plan/planner.c:404
+#, c-format
+msgid "pull_up_subqueries: unexpected node type %d"
+msgstr ""
+
+#: ../optimizer/plan/planner.c:426
+msgid "is_simple_subquery: subquery is bogus"
+msgstr ""
+
+#: ../optimizer/plan/planner.c:501
+#, c-format
+msgid "resolvenew_in_jointree: unexpected node type %d"
+msgstr ""
+
+#: ../optimizer/plan/planner.c:581
+#, c-format
+msgid "preprocess_jointree: unexpected node type %d"
+msgstr ""
+
+#: ../optimizer/plan/planner.c:682
+#, c-format
+msgid "preprocess_qual_conditions: unexpected node type %d"
+msgstr ""
+
+#: ../optimizer/plan/planner.c:798 ../parser/analyze.c:2026
+#: ../parser/analyze.c:2190 ../parser/analyze.c:2696
+msgid "SELECT FOR UPDATE is not allowed with UNION/INTERSECT/EXCEPT"
+msgstr ""
+
+#: ../optimizer/plan/planner.c:851
+msgid "SELECT FOR UPDATE is not allowed in subselects"
+msgstr ""
+
+#: ../optimizer/plan/planner.c:1453 ../optimizer/plan/planner.c:1459
+msgid "postprocess_setop_tlist: resjunk output columns not implemented"
+msgstr ""
+
+#: ../optimizer/plan/setrefs.c:190
+#, c-format
+msgid "set_plan_references: unknown plan type %d"
+msgstr ""
+
+#: ../optimizer/plan/setrefs.c:424
+msgid "join_references: variable not in subplan target lists"
+msgstr ""
+
+#: ../optimizer/plan/setrefs.c:476
+msgid "replace_vars_with_subplan_refs: variable not in subplan target list"
+msgstr ""
+
+#: ../optimizer/plan/subselect.c:140
+msgid "make_subplan: invalid expression structure (SubLink already processed?)"
+msgstr ""
+
+#: ../optimizer/plan/subselect.c:142
+msgid ""
+"make_subplan: invalid expression structure (subquery already processed?)"
+msgstr ""
+
+#: ../optimizer/plan/subselect.c:280 ../optimizer/plan/subselect.c:418
+#, c-format
+msgid "cache lookup failed for operator %u"
+msgstr ""
+
+#: ../optimizer/plan/subselect.c:681
+#, c-format
+msgid "SS_finalize_plan: node %d unsupported"
+msgstr ""
+
+#: ../optimizer/plan/subselect.c:702
+msgid "SS_finalize_plan: plan shouldn't reference subplan's variable"
+msgstr ""
+
+#: ../optimizer/prep/preptlist.c:62
+msgid "preprocess_targetlist: subquery cannot be result relation"
+msgstr ""
+
+#: ../optimizer/prep/preptlist.c:260
+msgid "expand_targetlist: unexpected command_type"
+msgstr ""
+
+#: ../optimizer/prep/preptlist.c:285
+#, c-format
+msgid "Unexpected assignment to attribute \"%s\""
+msgstr ""
+
+#: ../optimizer/prep/preptlist.c:355 ../optimizer/prep/preptlist.c:367
+#, c-format
+msgid "Multiple assignments to same attribute \"%s\""
+msgstr ""
+
+#: ../optimizer/prep/prepunion.c:193
+#, c-format
+msgid "recurse_set_operations: unexpected node %d"
+msgstr ""
+
+#: ../optimizer/prep/prepunion.c:303
+msgid "generate_nonunion_plan: bogus operation code"
+msgstr ""
+
+#: ../optimizer/util/clauses.c:72
+#, c-format
+msgid "make_clause: unsupported type %d"
+msgstr ""
+
+#: ../optimizer/util/clauses.c:436
+msgid "Aggregate function calls may not be nested"
+msgstr ""
+
+#: ../optimizer/util/clauses.c:612
+#, c-format
+msgid "Sub-SELECT uses un-GROUPed attribute %s.%s from outer query"
+msgstr ""
+
+#: ../optimizer/util/clauses.c:816
+msgid "CommuteClause: applied to non-binary-operator clause"
+msgstr ""
+
+#: ../optimizer/util/clauses.c:824
+#, c-format
+msgid "CommuteClause: no commutator for operator %u"
+msgstr ""
+
+#: ../optimizer/util/clauses.c:1049
+#, c-format
+msgid "eval_const_expressions: unexpected opType %d"
+msgstr ""
+
+#: ../optimizer/util/clauses.c:1317 ../utils/cache/lsyscache.c:476
+#: ../utils/cache/lsyscache.c:497
+#, c-format
+msgid "Function OID %u does not exist"
+msgstr ""
+
+#: ../optimizer/util/clauses.c:1665
+#, c-format
+msgid "expression_tree_walker: Unexpected node type %d"
+msgstr ""
+
+#: ../optimizer/util/clauses.c:2025
+#, c-format
+msgid "expression_tree_mutator: Unexpected node type %d"
+msgstr ""
+
+#: ../optimizer/util/pathnode.c:125
+msgid "Unable to devise a query plan for the given query"
+msgstr ""
+
+#: ../optimizer/util/plancat.c:57
+#, c-format
+msgid "get_relation_info: Relation %u not found"
+msgstr ""
+
+#: ../optimizer/util/plancat.c:113
+#, c-format
+msgid "find_secondary_indexes: index %u not found"
+msgstr ""
+
+#: ../optimizer/util/plancat.c:189
+#, c-format
+msgid "find_secondary_indexes: no amop %u %u %d"
+msgstr ""
+
+#: ../optimizer/util/plancat.c:244
+#, c-format
+msgid "restriction_selectivity: bad value %f"
+msgstr ""
+
+#: ../optimizer/util/plancat.c:277
+#, c-format
+msgid "join_selectivity: bad value %f"
+msgstr ""
+
+#: ../optimizer/util/plancat.c:349
+#, c-format
+msgid "has_subclass: Relation %u not found"
+msgstr ""
+
+#: ../optimizer/util/relnode.c:66
+msgid "build_base_rel: rel already exists as 'other' rel"
+msgstr ""
+
+#: ../optimizer/util/relnode.c:106
+msgid "build_other_rel: rel already exists as base rel"
+msgstr ""
+
+#: ../optimizer/util/relnode.c:199
+#, c-format
+msgid "find_base_rel: no relation entry for relid %d"
+msgstr ""
+
+#: ../optimizer/util/tlist.c:240
+msgid ""
+"get_sortgroupclause_tle: ORDER/GROUP BY expression not found in targetlist"
+msgstr ""
+
+#: ../parser/analyze.c:171
+#, c-format
+msgid "CREATE VIEW specifies %d columns but only %d columns are present"
+msgstr ""
+
+#: ../parser/analyze.c:364
+msgid "INSERT ... SELECT may not specify INTO"
+msgstr ""
+
+#: ../parser/analyze.c:450
+msgid "INSERT has more expressions than target columns"
+msgstr ""
+
+#: ../parser/analyze.c:769
+#, c-format
+msgid ""
+"CREATE TABLE will create implicit sequence '%s' for SERIAL column '%s.%s'"
+msgstr ""
+
+#: ../parser/analyze.c:809 ../parser/analyze.c:817
+#, c-format
+msgid "CREATE TABLE/(NOT) NULL conflicting declaration for '%s.%s'"
+msgstr ""
+
+#: ../parser/analyze.c:825
+#, c-format
+msgid "CREATE TABLE/DEFAULT multiple values specified for '%s.%s'"
+msgstr ""
+
+#: ../parser/analyze.c:869 ../parser/analyze.c:904
+msgid "parser: unrecognized constraint (internal error)"
+msgstr ""
+
+#: ../parser/analyze.c:900
+msgid "parser: illegal context for constraint (internal error)"
+msgstr ""
+
+#: ../parser/analyze.c:919
+msgid "parser: unrecognized node (internal error)"
+msgstr ""
+
+#: ../parser/analyze.c:945
+#, c-format
+msgid ""
+"CREATE TABLE/PRIMARY KEY multiple primary keys for table '%s' are not allowed"
+msgstr ""
+
+#: ../parser/analyze.c:1001 ../parser/analyze.c:1210 ../parser/analyze.c:1347
+#, c-format
+msgid "inherited table \"%s\" is not a relation"
+msgstr ""
+
+#: ../parser/analyze.c:1028
+#, c-format
+msgid ""
+"inherited attribute \"%s\" cannot be a PRIMARY KEY because it is not marked "
+"NOT NULL"
+msgstr ""
+
+#: ../parser/analyze.c:1040
+#, c-format
+msgid "CREATE TABLE: column \"%s\" named in key does not exist"
+msgstr ""
+
+#. should not happen
+#: ../parser/analyze.c:1122
+msgid "CREATE TABLE: failed to make implicit index name"
+msgstr ""
+
+#: ../parser/analyze.c:1124
+#, c-format
+msgid "CREATE TABLE/%s will create implicit index '%s' for table '%s'"
+msgstr ""
+
+#: ../parser/analyze.c:1152
+msgid "CREATE TABLE will create implicit trigger(s) for FOREIGN KEY check(s)"
+msgstr ""
+
+#: ../parser/analyze.c:1190 ../parser/analyze.c:1270 ../parser/analyze.c:1330
+#, c-format
+msgid "Unable to lookup type %s"
+msgstr ""
+
+#: ../parser/analyze.c:1280 ../parser/analyze.c:2931
+#, c-format
+msgid "PRIMARY KEY for referenced table \"%s\" not found"
+msgstr ""
+
+#: ../parser/analyze.c:1425 ../parser/analyze.c:2521
+#, c-format
+msgid "Illegal FOREIGN KEY definition REFERENCES \"%s\""
+msgstr ""
+
+#: ../parser/analyze.c:1427 ../parser/analyze.c:2523
+msgid ""
+"number of key attributes in referenced table must be equal to foreign key"
+msgstr ""
+
+#: ../parser/analyze.c:1487 ../parser/analyze.c:2568
+msgid "Only one ON DELETE action can be specified for FOREIGN KEY constraint"
+msgstr ""
+
+#: ../parser/analyze.c:1560 ../parser/analyze.c:2639
+msgid "Only one ON UPDATE action can be specified for FOREIGN KEY constraint"
+msgstr ""
+
+#: ../parser/analyze.c:1712 ../parser/analyze.c:1818
+#, c-format
+msgid "transformRuleStmt: unexpected event type %d"
+msgstr ""
+
+#. naughty, naughty...
+#: ../parser/analyze.c:1721
+msgid "Rule WHERE condition may not contain references to other relations"
+msgstr ""
+
+#: ../parser/analyze.c:1802
+msgid "ON SELECT rule may not use OLD"
+msgstr ""
+
+#: ../parser/analyze.c:1804
+msgid "ON SELECT rule may not use NEW"
+msgstr ""
+
+#: ../parser/analyze.c:1811
+msgid "ON INSERT rule may not use OLD"
+msgstr ""
+
+#: ../parser/analyze.c:1815
+msgid "ON DELETE rule may not use NEW"
+msgstr ""
+
+#: ../parser/analyze.c:1878 ../parser/analyze.c:2090
+msgid "DECLARE CURSOR must not specify INTO"
+msgstr ""
+
+#: ../parser/analyze.c:1880 ../parser/analyze.c:2092
+msgid ""
+"DECLARE/UPDATE is not supported\n"
+"\tCursors must be READ ONLY"
+msgstr ""
+
+#: ../parser/analyze.c:1890 ../parser/analyze.c:2102
+msgid "DECLARE CURSOR may only be used in begin/end transaction blocks"
+msgstr ""
+
+#: ../parser/analyze.c:2151
+msgid ""
+"ORDER BY on a UNION/INTERSECT/EXCEPT result must be on one of the result "
+"columns"
+msgstr ""
+
+#: ../parser/analyze.c:2185
+msgid "INTO is only allowed on first SELECT of UNION/INTERSECT/EXCEPT"
+msgstr ""
+
+#. should not happen
+#: ../parser/analyze.c:2187
+msgid "Portal may not appear in UNION/INTERSECT/EXCEPT"
+msgstr ""
+
+#: ../parser/analyze.c:2282
+#, c-format
+msgid "Each %s query must have the same number of columns"
+msgstr ""
+
+#: ../parser/analyze.c:2340
+#, c-format
+msgid "getSetColTypes: unexpected node %d"
+msgstr ""
+
+#: ../parser/analyze.c:2415 ../parser/analyze.c:2424
+msgid "UPDATE target count mismatch --- internal error"
+msgstr ""
+
+#: ../parser/analyze.c:2463
+msgid ""
+"ALTER TABLE ... ADD CONSTRAINT will create implicit trigger(s) for FOREIGN "
+"KEY check(s)"
+msgstr ""
+
+#: ../parser/analyze.c:2698
+msgid "SELECT FOR UPDATE is not allowed with DISTINCT clause"
+msgstr ""
+
+#: ../parser/analyze.c:2700
+msgid "SELECT FOR UPDATE is not allowed with GROUP BY clause"
+msgstr ""
+
+#: ../parser/analyze.c:2702
+msgid "SELECT FOR UPDATE is not allowed with AGGREGATE"
+msgstr ""
+
+#: ../parser/analyze.c:2767
+#, c-format
+msgid "FOR UPDATE: relation \"%s\" not found in FROM clause"
+msgstr ""
+
+#: ../parser/analyze.c:2798 ../parser/analyze.c:2897
+#, c-format
+msgid "referenced table \"%s\" not found"
+msgstr ""
+
+#: ../parser/analyze.c:2993
+msgid "Misplaced DEFERRABLE clause"
+msgstr ""
+
+#: ../parser/analyze.c:2995 ../parser/analyze.c:3004
+msgid "Multiple DEFERRABLE/NOT DEFERRABLE clauses not allowed"
+msgstr ""
+
+#: ../parser/analyze.c:3002
+msgid "Misplaced NOT DEFERRABLE clause"
+msgstr ""
+
+#: ../parser/analyze.c:3009 ../parser/analyze.c:3027
+#: /home/peter/pgsql/src/backend/parser/gram.y:1822
+#: /home/peter/pgsql/src/backend/parser/gram.y:1835
+msgid "INITIALLY DEFERRED constraint must be DEFERRABLE"
+msgstr ""
+
+#: ../parser/analyze.c:3014
+msgid "Misplaced INITIALLY DEFERRED clause"
+msgstr ""
+
+#: ../parser/analyze.c:3016 ../parser/analyze.c:3034
+msgid "Multiple INITIALLY IMMEDIATE/DEFERRED clauses not allowed"
+msgstr ""
+
+#: ../parser/analyze.c:3032
+msgid "Misplaced INITIALLY IMMEDIATE clause"
+msgstr ""
+
+#: /home/peter/pgsql/src/backend/parser/gram.y:573
+msgid "sysid must be positive"
+msgstr ""
+
+#: /home/peter/pgsql/src/backend/parser/gram.y:701
+msgid "ALTER SCHEMA not yet supported"
+msgstr ""
+
+#: /home/peter/pgsql/src/backend/parser/gram.y:807
+msgid "SET must have at least one argument"
+msgstr ""
+
+#: /home/peter/pgsql/src/backend/parser/gram.y:1164
+#: /home/peter/pgsql/src/backend/parser/gram.y:1169
+#: /home/peter/pgsql/src/backend/parser/gram.y:3453
+#: /home/peter/pgsql/src/backend/parser/gram.y:3458
+msgid "GLOBAL TEMPORARY TABLE is not currently supported"
+msgstr ""
+
+#: /home/peter/pgsql/src/backend/parser/gram.y:1204
+#: /home/peter/pgsql/src/backend/parser/gram.y:1220
+#, c-format
+msgid "CREATE TABLE/COLLATE %s not yet implemented; clause ignored"
+msgstr ""
+
+#: /home/peter/pgsql/src/backend/parser/gram.y:1476
+msgid "FOREIGN KEY/MATCH PARTIAL not yet implemented"
+msgstr ""
+
+#: /home/peter/pgsql/src/backend/parser/gram.y:1525
+msgid "CREATE TABLE/AS SELECT may not specify INTO"
+msgstr ""
+
+#: /home/peter/pgsql/src/backend/parser/gram.y:2085
+msgid "FETCH/RELATIVE at current position is not supported"
+msgstr ""
+
+#: /home/peter/pgsql/src/backend/parser/gram.y:2213
+msgid "FETCH/ABSOLUTE not supported, using RELATIVE"
+msgstr ""
+
+#: /home/peter/pgsql/src/backend/parser/gram.y:2313
+msgid ""
+"WITH GRANT OPTION is not supported.  Only relation owners can set privileges"
+msgstr ""
+
+#: /home/peter/pgsql/src/backend/parser/gram.y:2513
+msgid "CREATE FUNCTION/OUT parameters are not supported"
+msgstr ""
+
+#: /home/peter/pgsql/src/backend/parser/gram.y:2518
+msgid "CREATE FUNCTION/INOUT parameters are not supported"
+msgstr ""
+
+#: /home/peter/pgsql/src/backend/parser/gram.y:2583
+msgid "parser: argument type missing (use NONE for unary operators)"
+msgstr ""
+
+#. SQL99 asks that conforming dbs reject AND CHAIN
+#. * if they don't support it. So we can't just ignore it.
+#. * - thomas 2000-08-06
+#.
+#: /home/peter/pgsql/src/backend/parser/gram.y:2842
+msgid "COMMIT/CHAIN not yet supported"
+msgstr ""
+
+#: /home/peter/pgsql/src/backend/parser/gram.y:2962
+#, c-format
+msgid "%s is not a valid encoding name"
+msgstr ""
+
+#: ../utils/adt/ascii.c:33 /home/peter/pgsql/src/backend/parser/gram.y:2965
+#: /home/peter/pgsql/src/backend/parser/gram.y:2977
+msgid "Multi-byte support is not enabled"
+msgstr ""
+
+#: /home/peter/pgsql/src/backend/parser/gram.y:2974
+#, c-format
+msgid "%d is not a valid encoding code"
+msgstr ""
+
+#: /home/peter/pgsql/src/backend/parser/gram.y:3527
+msgid "LIMIT must not be negative"
+msgstr ""
+
+#: /home/peter/pgsql/src/backend/parser/gram.y:3568
+msgid "OFFSET must not be negative"
+msgstr ""
+
+#.
+#. * The SQL spec does not permit a subselect
+#. * (<derived_table>) without an alias clause,
+#. * so we don't either.  This avoids the problem
+#. * of needing to invent a unique refname for it.
+#. * That could be surmounted if there's sufficient
+#. * popular demand, but for now let's just implement
+#. * the spec and see if anyone complains.
+#. * However, it does seem like a good idea to emit
+#. * an error message that's better than "parse error".
+#.
+#: /home/peter/pgsql/src/backend/parser/gram.y:3673
+msgid ""
+"sub-SELECT in FROM must have an alias\n"
+"\tFor example, FROM (SELECT ...) [AS] foo"
+msgstr ""
+
+#: /home/peter/pgsql/src/backend/parser/gram.y:3972
+msgid "precision for FLOAT must be at least 1"
+msgstr ""
+
+#: /home/peter/pgsql/src/backend/parser/gram.y:3978
+msgid "precision for FLOAT must be less than 16"
+msgstr ""
+
+#: /home/peter/pgsql/src/backend/parser/gram.y:3989
+#: /home/peter/pgsql/src/backend/parser/gram.y:4000
+#, c-format
+msgid "NUMERIC precision %d must be beween 1 and %d"
+msgstr ""
+
+#: /home/peter/pgsql/src/backend/parser/gram.y:3992
+#, c-format
+msgid "NUMERIC scale %d must be between 0 and precision %d"
+msgstr ""
+
+#: /home/peter/pgsql/src/backend/parser/gram.y:4015
+#: /home/peter/pgsql/src/backend/parser/gram.y:4026
+#, c-format
+msgid "DECIMAL precision %d must be beween 1 and %d"
+msgstr ""
+
+#: /home/peter/pgsql/src/backend/parser/gram.y:4018
+#, c-format
+msgid "DECIMAL scale %d must be between 0 and precision %d"
+msgstr ""
+
+#: /home/peter/pgsql/src/backend/parser/gram.y:4048
+#: /home/peter/pgsql/src/backend/parser/gram.y:4083
+#, c-format
+msgid "length for type '%s' must be at least 1"
+msgstr ""
+
+#: /home/peter/pgsql/src/backend/parser/gram.y:4051
+#: /home/peter/pgsql/src/backend/parser/gram.y:4086
+#, c-format
+msgid "length for type '%s' cannot exceed %d"
+msgstr ""
+
+#: /home/peter/pgsql/src/backend/parser/gram.y:4268
+msgid "Wrong number of parameters on left side of OVERLAPS expression"
+msgstr ""
+
+#: /home/peter/pgsql/src/backend/parser/gram.y:4273
+msgid "Wrong number of parameters on right side of OVERLAPS expression"
+msgstr ""
+
+#: /home/peter/pgsql/src/backend/parser/gram.y:4815
+#, c-format
+msgid "CURRENT_TIME(%d) precision not implemented; zero used instead"
+msgstr ""
+
+#: /home/peter/pgsql/src/backend/parser/gram.y:4869
+#, c-format
+msgid "CURRENT_TIMESTAMP(%d) precision not implemented; zero used instead"
+msgstr ""
+
+#: /home/peter/pgsql/src/backend/parser/gram.y:5313
+#, c-format
+msgid "%s cannot be accessed by users"
+msgstr ""
+
+#: /home/peter/pgsql/src/backend/parser/gram.y:5735
+msgid "OLD used in non-rule query"
+msgstr ""
+
+#: /home/peter/pgsql/src/backend/parser/gram.y:5742
+msgid "NEW used in non-rule query"
+msgstr ""
+
+#: /home/peter/pgsql/src/backend/parser/gram.y:5801
+msgid "Unequal number of entries in row expression"
+msgstr ""
+
+#: /home/peter/pgsql/src/backend/parser/gram.y:5829
+#, c-format
+msgid "Operator '%s' not implemented for row expressions"
+msgstr ""
+
+#: /home/peter/pgsql/src/backend/parser/gram.y:5842
+msgid "CREATE TABLE/AS SELECT has mismatched column count"
+msgstr ""
+
+#: /home/peter/pgsql/src/backend/parser/gram.y:5886
+msgid "Multiple ORDER BY clauses not allowed"
+msgstr ""
+
+#: /home/peter/pgsql/src/backend/parser/gram.y:5892
+msgid "Multiple FOR UPDATE clauses not allowed"
+msgstr ""
+
+#: /home/peter/pgsql/src/backend/parser/gram.y:5898
+msgid "Multiple OFFSET clauses not allowed"
+msgstr ""
+
+#: /home/peter/pgsql/src/backend/parser/gram.y:5904
+msgid "Multiple LIMIT clauses not allowed"
+msgstr ""
+
+#: ../parser/parse_agg.c:117
+#, c-format
+msgid "Attribute %s.%s must be GROUPed or used in an aggregate function"
+msgstr ""
+
+#: ../parser/parse_agg.c:155
+msgid "Aggregates not allowed in WHERE clause"
+msgstr ""
+
+#: ../parser/parse_agg.c:157
+msgid "Aggregates not allowed in JOIN conditions"
+msgstr ""
+
+#: ../parser/parse_agg.c:173
+msgid "Aggregates not allowed in GROUP BY clause"
+msgstr ""
+
+#: ../parser/parse_agg.c:249
+#, c-format
+msgid "%s: aggregate '%s' for all types does not exist"
+msgstr ""
+
+#: ../parser/parse_agg.c:252
+#, c-format
+msgid "%s: aggregate '%s' for '%s' does not exist"
+msgstr ""
+
+#: ../parser/parse_clause.c:188
+msgid "Bogus InhOption value"
+msgstr ""
+
+#.
+#. * This could only happen if someone defines a funny version of
+#. * '='
+#.
+#: ../parser/parse_clause.c:296
+#, c-format
+msgid "JOIN/USING clause must return type bool, not type %s"
+msgstr ""
+
+#: ../parser/parse_clause.c:333
+#, c-format
+msgid "JOIN/ON clause must return type bool, not type %s"
+msgstr ""
+
+#: ../parser/parse_clause.c:354
+#, c-format
+msgid "JOIN/ON clause refers to \"%s\", which is not part of JOIN"
+msgstr ""
+
+#: ../parser/parse_clause.c:414
+msgid "sub-select in FROM must have an alias"
+msgstr ""
+
+#: ../parser/parse_clause.c:436 ../parser/parse_clause.c:439
+msgid "Unexpected parse analysis result for subselect in FROM"
+msgstr ""
+
+#: ../parser/parse_clause.c:442
+msgid "Expected SELECT query from subselect in FROM"
+msgstr ""
+
+#: ../parser/parse_clause.c:444
+msgid "Subselect in FROM may not have SELECT INTO"
+msgstr ""
+
+#: ../parser/parse_clause.c:645
+#, c-format
+msgid "Common column name \"%s\" appears more than once in left table"
+msgstr ""
+
+#: ../parser/parse_clause.c:651
+#, c-format
+msgid "JOIN/USING column \"%s\" not found in left table"
+msgstr ""
+
+#: ../parser/parse_clause.c:662
+#, c-format
+msgid "Common column name \"%s\" appears more than once in right table"
+msgstr ""
+
+#: ../parser/parse_clause.c:668
+#, c-format
+msgid "JOIN/USING column \"%s\" not found in right table"
+msgstr ""
+
+#: ../parser/parse_clause.c:747
+#, c-format
+msgid "Column alias list for \"%s\" has wrong number of entries (need %d)"
+msgstr ""
+
+#: ../parser/parse_clause.c:759
+#, c-format
+msgid ""
+"transformFromClauseItem: unexpected node (internal error)\n"
+"\t%s"
+msgstr ""
+
+#: ../parser/parse_clause.c:782
+#, c-format
+msgid "WHERE clause must return type bool, not type %s"
+msgstr ""
+
+#: ../parser/parse_clause.c:879
+#, c-format
+msgid "%s '%s' is ambiguous"
+msgstr ""
+
+#: ../parser/parse_clause.c:898
+#, c-format
+msgid "Non-integer constant in %s"
+msgstr ""
+
+#: ../parser/parse_clause.c:911
+#, c-format
+msgid "%s position %d is not in target list"
+msgstr ""
+
+#: ../parser/parse_clause.c:1053
+msgid "For SELECT DISTINCT, ORDER BY expressions must appear in target list"
+msgstr ""
+
+#: ../parser/parse_clause.c:1091
+msgid "SELECT DISTINCT ON expressions must match initial ORDER BY expressions"
+msgstr ""
+
+#: ../parser/parse_clause.c:1115
+msgid ""
+"transformDistinctClause: failed to add DISTINCT ON clause to target list"
+msgstr ""
+
+#: ../parser/parse_coerce.c:139
+#, c-format
+msgid "coerce_type: conversion function %s produced %s"
+msgstr ""
+
+#.
+#. * both types in different categories? then not much
+#. * hope...
+#.
+#: ../parser/parse_coerce.c:370
+#, c-format
+msgid "%s types \"%s\" and \"%s\" not matched"
+msgstr ""
+
+#: ../parser/parse_coerce.c:426
+#, c-format
+msgid "%s unable to convert to type \"%s\""
+msgstr ""
+
+#: ../parser/parse_expr.c:102
+#, c-format
+msgid "Expression too complex: nesting depth exceeds max_expr_depth = %d"
+msgstr ""
+
+#: ../parser/parse_expr.c:131
+#, c-format
+msgid "Parameter '$%d' is out of range"
+msgstr ""
+
+#: ../parser/parse_expr.c:207
+#, c-format
+msgid "left-hand side of AND is type '%s', not '%s'"
+msgstr ""
+
+#: ../parser/parse_expr.c:211
+#, c-format
+msgid "right-hand side of AND is type '%s', not '%s'"
+msgstr ""
+
+#: ../parser/parse_expr.c:231
+#, c-format
+msgid "left-hand side of OR is type '%s', not '%s'"
+msgstr ""
+
+#: ../parser/parse_expr.c:234
+#, c-format
+msgid "right-hand side of OR is type '%s', not '%s'"
+msgstr ""
+
+#: ../parser/parse_expr.c:250
+#, c-format
+msgid "argument to NOT is type '%s', not '%s'"
+msgstr ""
+
+#: ../parser/parse_expr.c:299 ../parser/parse_expr.c:303
+msgid "Bad query in subselect"
+msgstr ""
+
+#: ../parser/parse_expr.c:326
+msgid "Subselect must have a field"
+msgstr ""
+
+#: ../parser/parse_expr.c:330
+msgid "Subselect must have only one field"
+msgstr ""
+
+#: ../parser/parse_expr.c:359
+#, c-format
+msgid "Row comparison cannot use '%s'"
+msgstr ""
+
+#: ../parser/parse_expr.c:382
+msgid "Subselect has too many fields"
+msgstr ""
+
+#: ../parser/parse_expr.c:398
+#, c-format
+msgid ""
+"'%s' result type of '%s' must return '%s' to be used with quantified "
+"predicate subquery"
+msgstr ""
+
+#: ../parser/parse_expr.c:410
+msgid "Subselect has too few fields"
+msgstr ""
+
+#: ../parser/parse_expr.c:495
+msgid "WHEN clause must have a boolean result"
+msgstr ""
+
+#. should not reach here
+#: ../parser/parse_expr.c:536
+#, c-format
+msgid "transformExpr: does not know how to transform node %d (internal error)"
+msgstr ""
+
+#: ../parser/parse_expr.c:595
+#, c-format
+msgid "Attribute '%s' not found"
+msgstr ""
+
+#: ../parser/parse_expr.c:655
+msgid "Cannot get type for untransformed sublink"
+msgstr ""
+
+#: ../parser/parse_expr.c:677
+#, c-format
+msgid "Do not know how to get type for %d node"
+msgstr ""
+
+#: ../parser/parse_expr.c:792 ../utils/adt/ruleutils.c:499
+#: ../utils/adt/ruleutils.c:2007
+#, c-format
+msgid "cache lookup for proc %u failed"
+msgstr ""
+
+#: ../parser/parse_expr.c:817
+#, c-format
+msgid "cache lookup for type %u failed"
+msgstr ""
+
+#: ../parser/parse_expr.c:872
+#, c-format
+msgid "Cannot cast this expression to type '%s'"
+msgstr ""
+
+#: ../parser/parse_expr.c:922
+#, c-format
+msgid "Cannot cast type '%s' to '%s'"
+msgstr ""
+
+#: ../parser/parse_func.c:154
+#, c-format
+msgid "Cannot pass more than %d arguments to a function"
+msgstr ""
+
+#: ../parser/parse_func.c:161
+#, c-format
+msgid "Function '%s' does not allow NULL input"
+msgstr ""
+
+#: ../parser/parse_func.c:207
+#, c-format
+msgid "Type '%s' is not a relation type"
+msgstr ""
+
+#: ../parser/parse_func.c:215 ../parser/parse_func.c:524
+#, c-format
+msgid "No such attribute or function '%s'"
+msgstr ""
+
+#: ../parser/parse_func.c:231
+msgid "Aggregate functions may only have one parameter"
+msgstr ""
+
+#: ../parser/parse_func.c:234
+msgid "Aggregate functions cannot be applied to relation names"
+msgstr ""
+
+#. Multiple possible matches --- give up
+#: ../parser/parse_func.c:290
+#, c-format
+msgid "Unable to select an aggregate function %s(%s)"
+msgstr ""
+
+#.
+#. * No matching agg, but we had '*' or DISTINCT, so a plain
+#. * function could not have been meant.
+#.
+#: ../parser/parse_func.c:302
+#, c-format
+msgid "There is no aggregate function %s(%s)"
+msgstr ""
+
+#.
+#. * We have f(x) or more likely x.f where x is a join
+#. * and f is not one of the attribute names of the join
+#. * (else we'd have recognized it above).  Give an
+#. * appropriately vague error message.  Would be nicer
+#. * to know which syntax was used...
+#.
+#: ../parser/parse_func.c:356 ../parser/parse_func.c:399
+#, c-format
+msgid "No such attribute or function %s.%s"
+msgstr ""
+
+#.
+#. * There are multiple arguments, so it must be a function
+#. * call.
+#.
+#: ../parser/parse_func.c:365
+#, c-format
+msgid "Cannot pass result of join %s to a function"
+msgstr ""
+
+#: ../parser/parse_func.c:372
+#, c-format
+msgid "ParseFuncOrColumn: unexpected node type %d"
+msgstr ""
+
+#: ../parser/parse_func.c:404
+#, c-format
+msgid "Cannot pass result of sub-select %s to a function"
+msgstr ""
+
+#: ../parser/parse_func.c:1704
+#, c-format
+msgid "Function '%s(%s)' does not exist%s%s"
+msgstr ""
+
+#: ../parser/parse_func.c:1710
+#, c-format
+msgid "%s: function '%s(%s)' does not exist%s%s"
+msgstr ""
+
+#: ../parser/parse_node.c:185
+#, c-format
+msgid "Relation %s does not have attribute %d"
+msgstr ""
+
+#: ../parser/parse_node.c:209
+#, c-format
+msgid "Subquery %s does not have attribute %d"
+msgstr ""
+
+#: ../parser/parse_node.c:263
+#, c-format
+msgid "transformArraySubscripts: Cache lookup failed for array type %u"
+msgstr ""
+
+#: ../parser/parse_node.c:269
+#, c-format
+msgid "transformArraySubscripts: type %s is not an array"
+msgstr ""
+
+#: ../parser/parse_node.c:277
+#, c-format
+msgid "transformArraySubscripts: Cache lookup failed for array element type %u"
+msgstr ""
+
+#: ../parser/parse_node.c:332 ../parser/parse_node.c:352
+msgid "array index expressions must be integers"
+msgstr ""
+
+#: ../parser/parse_node.c:373
+#, c-format
+msgid ""
+"Array assignment requires type '%s' but expression is of type '%s'\n"
+"\tYou will need to rewrite or cast the expression"
+msgstr ""
+
+#: ../parser/parse_node.c:486
+#, c-format
+msgid "make_const: unknown type %d"
+msgstr ""
+
+#: ../parser/parse_oper.c:49
+#, c-format
+msgid ""
+"Unable to identify an ordering operator '%s' for type '%s'\n"
+"\tUse an explicit ordering operator or modify the query"
+msgstr ""
+
+#: ../parser/parse_oper.c:925
+#, c-format
+msgid ""
+"Left hand side of operator '%s' has an unknown type\n"
+"\tProbably a bad attribute name"
+msgstr ""
+
+#: ../parser/parse_oper.c:929
+#, c-format
+msgid ""
+"Right hand side of operator %s has an unknown type\n"
+"\tProbably a bad attribute name"
+msgstr ""
+
+#: ../parser/parse_oper.c:932
+#, c-format
+msgid ""
+"Unable to identify an operator '%s' for types '%s' and '%s'\n"
+"\tYou will have to retype this query using an explicit cast"
+msgstr ""
+
+#: ../parser/parse_oper.c:945
+#, c-format
+msgid ""
+"Argument of %s operator '%s' has an unknown type\n"
+"\tProbably a bad attribute name"
+msgstr ""
+
+#: ../parser/parse_oper.c:950
+#, c-format
+msgid ""
+"Unable to identify a %s operator '%s' for type '%s'\n"
+"\tYou may need to add parentheses or an explicit cast"
+msgstr ""
+
+#: ../parser/parse_relation.c:173
+#, c-format
+msgid "scanNameSpaceForRefname: unexpected node type %d"
+msgstr ""
+
+#: ../parser/parse_relation.c:184
+#, c-format
+msgid "Table name \"%s\" specified more than once"
+msgstr ""
+
+#: ../parser/parse_relation.c:237
+#, c-format
+msgid "checkNameSpaceConflicts: unexpected node type %d"
+msgstr ""
+
+#: ../parser/parse_relation.c:272
+msgid "RTERangeTablePosn: RTE not found (internal error)"
+msgstr ""
+
+#: ../parser/parse_relation.c:302 ../parser/parse_relation.c:356
+#: ../parser/parse_relation.c:422
+#, c-format
+msgid "Column reference \"%s\" is ambiguous"
+msgstr ""
+
+#: ../parser/parse_relation.c:416
+#, c-format
+msgid "colnameToVar: unexpected node type %d"
+msgstr ""
+
+#: ../parser/parse_relation.c:470
+#, c-format
+msgid "qualifiedNameToVar: unexpected node type %d"
+msgstr ""
+
+#: ../parser/parse_relation.c:526 ../parser/parse_relation.c:619
+#, c-format
+msgid "Table \"%s\" has %d columns available but %d columns specified"
+msgstr ""
+
+#: ../parser/parse_relation.c:941
+#, c-format
+msgid "Invalid attnum %d for rangetable entry %s"
+msgstr ""
+
+#. on failure
+#: ../parser/parse_relation.c:974
+#, c-format
+msgid "Relation '%s' does not have attribute '%s'"
+msgstr ""
+
+#. negative but not a valid system attr?
+#: ../parser/parse_relation.c:1042
+#, c-format
+msgid "attnumTypeId: bogus attribute number %d"
+msgstr ""
+
+#: ../parser/parse_relation.c:1074
+#, c-format
+msgid "Adding missing FROM-clause entry%s for table \"%s\""
+msgstr ""
+
+#: ../parser/parse_target.c:59
+msgid "You can't use relation names alone in the target list, try relation.*."
+msgstr ""
+
+#: ../parser/parse_target.c:144
+#, c-format
+msgid "transformTargetList: unexpected node type %d"
+msgstr ""
+
+#: ../parser/parse_target.c:205
+#, c-format
+msgid "Cannot assign to system attribute '%s'"
+msgstr ""
+
+#: ../parser/parse_target.c:268
+#, c-format
+msgid ""
+"Attribute '%s' is of type '%s' but expression is of type '%s'\n"
+"\tYou will need to rewrite or cast the expression"
+msgstr ""
+
+#: ../parser/parse_target.c:390
+#, c-format
+msgid "Attribute '%s' specified more than once"
+msgstr ""
+
+#: ../parser/parse_target.c:440
+#, c-format
+msgid ""
+"ExpandAllTables: unexpected node (internal error)\n"
+"\t%s"
+msgstr ""
+
+#: ../parser/parse_target.c:446
+msgid "Wildcard with no tables specified not allowed"
+msgstr ""
+
+#: ../parser/parse_type.c:47 ../parser/parse_type.c:222
+#, c-format
+msgid "Unable to locate type oid %u in catalog"
+msgstr ""
+
+#: ../parser/parse_type.c:59
+msgid "typenameType: Null typename"
+msgstr ""
+
+#: ../parser/parse_type.c:65
+#, c-format
+msgid "Unable to locate type name '%s' in catalog"
+msgstr ""
+
+#: ../parser/parse_type.c:74
+msgid "typeTypeId() called with NULL type struct"
+msgstr ""
+
+#: ../parser/parse_type.c:200
+#, c-format
+msgid "typeidOutfunc: Invalid type - oid = %u"
+msgstr ""
+
+#: ../parser/parse_type.c:247
+#, c-format
+msgid "typeidTypeRelid: Invalid type - oid = %u"
+msgstr ""
+
+#. Avoid exit() on fatal scanner errors (a bit ugly -- see yy_fatal_error)
+#: ../tcop/postgres.c:511 /home/peter/pgsql/src/backend/parser/scan.l:59
+#, c-format
+msgid "%s"
+msgstr ""
+
+#: /home/peter/pgsql/src/backend/parser/scan.l:283
+msgid "Unterminated /* comment"
+msgstr ""
+
+#: /home/peter/pgsql/src/backend/parser/scan.l:293
+#, c-format
+msgid "invalid bit string input: '%s'"
+msgstr ""
+
+#: /home/peter/pgsql/src/backend/parser/scan.l:306
+msgid "unterminated bit string literal"
+msgstr ""
+
+#: /home/peter/pgsql/src/backend/parser/scan.l:325
+#, c-format
+msgid "Bad hexadecimal integer input '%s'"
+msgstr ""
+
+#: /home/peter/pgsql/src/backend/parser/scan.l:330
+msgid "Unterminated hexadecimal integer"
+msgstr ""
+
+#: /home/peter/pgsql/src/backend/parser/scan.l:349
+msgid "Unterminated quoted string"
+msgstr ""
+
+#: /home/peter/pgsql/src/backend/parser/scan.l:359
+msgid "zero-length delimited identifier"
+msgstr ""
+
+#: /home/peter/pgsql/src/backend/parser/scan.l:365
+#: /home/peter/pgsql/src/backend/parser/scan.l:369
+#: /home/peter/pgsql/src/backend/parser/scan.l:520
+#: /home/peter/pgsql/src/backend/parser/scan.l:524
+#, c-format
+msgid "identifier \"%s\" will be truncated to \"%.*s\""
+msgstr ""
+
+#: /home/peter/pgsql/src/backend/parser/scan.l:383
+msgid "Unterminated quoted identifier"
+msgstr ""
+
+#: /home/peter/pgsql/src/backend/parser/scan.l:540
+#, c-format
+msgid "parser: %s at or near \"%s\""
+msgstr ""
+
+#: /home/peter/pgsql/src/backend/parser/scan.l:608
+msgid "Unput() failed.\n"
+msgstr ""
+
+#: ../port/beos/sem.c:160
+msgid "beos : semctl error : GETNCNT not implemented"
+msgstr ""
+
+#: ../port/beos/sem.c:175
+msgid "beos : semctl error : unknown flag"
+msgstr ""
+
+#: ../port/beos/support.c:45
+msgid "Error loading BeOS support server : can't create communication ports"
+msgstr ""
+
+#: ../port/beos/support.c:71
+msgid "Can't load this add-on "
+msgstr ""
+
+#: ../port/beos/support.c:95
+msgid "Can't load this add-on : map text error"
+msgstr ""
+
+#: ../port/beos/support.c:111
+msgid "Can't load this add-on : map data error"
+msgstr ""
+
+#: ../port/dynloader.c:31 ../port/dynloader/linux.c:31
+msgid "dynamic load not supported"
+msgstr ""
+
+#: ../port/dynloader.c:67 ../port/dynloader/bsdi.c:59
+#: ../port/dynloader/linux.c:67
+msgid "dld: Cannot link C library!"
+msgstr ""
+
+#: ../port/dynloader.c:74 ../port/dynloader/bsdi.c:66
+#: ../port/dynloader/linux.c:74
+msgid "dld: Cannot link math library!"
+msgstr ""
+
+#. list the undefined symbols, if any
+#: ../port/dynloader.c:83 ../port/dynloader/bsdi.c:75
+#: ../port/dynloader/linux.c:83
+msgid "dld: Undefined:"
+msgstr ""
+
+#: ../port/dynloader.c:86 ../port/dynloader/bsdi.c:78
+#: ../port/dynloader/linux.c:86 ../port/dynloader/ultrix4.c:61
+#, c-format
+msgid "  %s"
+msgstr ""
+
+#: ../port/dynloader/ultrix4.c:58
+msgid "dl: Undefined:"
+msgstr ""
+
+#: ../port/dynloader/beos.c:68
+#, c-format
+msgid "loading symbol '%s' failed "
+msgstr ""
+
+#: ../port/dynloader/beos.c:70
+msgid "add-on not loaded correctly"
+msgstr ""
+
+#: ../port/dynloader/beos.c:81
+msgid "error while unloading add-on"
+msgstr ""
+
+#: ../postmaster/postmaster.c:529 ../tcop/postgres.c:1458
+#, c-format
+msgid "--%s requires argument"
+msgstr ""
+
+#: ../postmaster/postmaster.c:531 ../tcop/postgres.c:1460
+#, c-format
+msgid "-c %s requires argument"
+msgstr ""
+
+#: ../postmaster/postmaster.c:1424
+#, c-format
+msgid "pmdie %d"
+msgstr ""
+
+#: ../postmaster/postmaster.c:1828
+#, c-format
+msgid "SignalChildren: sending signal %d to process %d"
+msgstr ""
+
+#: ../rewrite/rewriteHandler.c:279
+msgid "ApplyRetrieveRule: expected just one rule action"
+msgstr ""
+
+#: ../rewrite/rewriteHandler.c:281
+msgid "ApplyRetrieveRule: can't handle qualified ON SELECT rule"
+msgstr ""
+
+#: ../rewrite/rewriteHandler.c:283
+msgid "ApplyRetrieveRule: can't handle per-attribute ON SELECT rule"
+msgstr ""
+
+#: ../rewrite/rewriteHandler.c:498 ../rewrite/rewriteHandler.c:797
+#, c-format
+msgid "Relation \"%s\" with OID %u no longer exists"
+msgstr ""
+
+#: ../rewrite/rewriteHandler.c:565
+msgid "fireRIRrules: failed to remove aggs from qual"
+msgstr ""
+
+#: ../rewrite/rewriteHandler.c:849
+#, c-format
+msgid "query rewritten %d times, may contain cycles"
+msgstr ""
+
+#: ../rewrite/rewriteHandler.c:951
+msgid "Cannot insert into a view without an appropriate rule"
+msgstr ""
+
+#: ../rewrite/rewriteHandler.c:954
+msgid "Cannot update a view without an appropriate rule"
+msgstr ""
+
+#: ../rewrite/rewriteHandler.c:957
+msgid "Cannot delete from a view without an appropriate rule"
+msgstr ""
+
+#: ../rewrite/rewriteHandler.c:960
+#, c-format
+msgid "QueryRewrite: unexpected commandType %d"
+msgstr ""
+
+#: ../rewrite/rewriteDefine.c:61
+#, c-format
+msgid "Attempt to insert rule \"%s\" failed: already exists"
+msgstr ""
+
+#: ../rewrite/rewriteDefine.c:128
+msgid "rules not allowed for insert or delete events to an attribute"
+msgstr ""
+
+#: ../rewrite/rewriteDefine.c:197
+msgid "attribute level rules currently not supported"
+msgstr ""
+
+#: ../rewrite/rewriteDefine.c:217
+msgid ""
+"rule actions on OLD currently not supported\n"
+"\tuse views or triggers instead"
+msgstr ""
+
+#: ../rewrite/rewriteDefine.c:220
+msgid ""
+"rule actions on NEW currently not supported\n"
+"\tuse triggers instead"
+msgstr ""
+
+#: ../rewrite/rewriteDefine.c:238
+msgid ""
+"instead nothing rules on select currently not supported\n"
+"\tuse views instead"
+msgstr ""
+
+#: ../rewrite/rewriteDefine.c:246
+msgid "multiple action rules on select currently not supported"
+msgstr ""
+
+#: ../rewrite/rewriteDefine.c:253
+msgid "only instead-select rules currently supported on select"
+msgstr ""
+
+#: ../rewrite/rewriteDefine.c:259
+msgid "event qualifications not supported for rules on select"
+msgstr ""
+
+#: ../rewrite/rewriteDefine.c:277
+msgid "select rule's target list has too many entries"
+msgstr ""
+
+#: ../rewrite/rewriteDefine.c:283
+#, c-format
+msgid "select rule's target entry %d has different column name from %s"
+msgstr ""
+
+#: ../rewrite/rewriteDefine.c:286
+#, c-format
+msgid "select rule's target entry %d has different type from attribute %s"
+msgstr ""
+
+#: ../rewrite/rewriteDefine.c:297
+#, c-format
+msgid "select rule's target entry %d has different size from attribute %s"
+msgstr ""
+
+#: ../rewrite/rewriteDefine.c:301
+msgid "select rule's target list has too few entries"
+msgstr ""
+
+#: ../rewrite/rewriteDefine.c:314
+#, c-format
+msgid "\"%s\" is already a view"
+msgstr ""
+
+#: ../rewrite/rewriteDefine.c:325
+#, c-format
+msgid "view rule for \"%s\" must be named \"%s\""
+msgstr ""
+
+#: ../rewrite/rewriteDefine.c:344
+#, c-format
+msgid "Relation \"%s\" is not empty. Cannot convert it to view"
+msgstr ""
+
+#: ../rewrite/rewriteManip.c:559 ../rewrite/rewriteManip.c:566
+msgid "getInsertSelectQuery: expected to find SELECT subquery"
+msgstr ""
+
+#: ../rewrite/rewriteManip.c:577
+msgid "getInsertSelectQuery: can't find rule placeholders"
+msgstr ""
+
+#: ../rewrite/rewriteManip.c:603 ../rewrite/rewriteManip.c:645
+msgid "Conditional NOTIFY is not implemented"
+msgstr ""
+
+#: ../rewrite/rewriteManip.c:605 ../rewrite/rewriteManip.c:647
+msgid "Conditional utility statements are not implemented"
+msgstr ""
+
+#: ../rewrite/rewriteManip.c:772
+msgid "ResolveNew: can't handle whole-tuple reference"
+msgstr ""
+
+#: ../rewrite/rewriteRemove.c:44
+#, c-format
+msgid "Rule or view \"%s\" not found"
+msgstr ""
+
+#: ../rewrite/rewriteRemove.c:53 ../utils/adt/tid.c:146
+#, c-format
+msgid "Relation %u not found"
+msgstr ""
+
+#: ../rewrite/rewriteRemove.c:93
+#, c-format
+msgid "Rule \"%s\" not found"
+msgstr ""
+
+#: ../rewrite/rewriteRemove.c:114
+msgid "Cannot remove a view's SELECT rule"
+msgstr ""
+
+#: ../rewrite/rewriteSupport.c:63
+#, c-format
+msgid "SetRelationRuleStatus: cache lookup failed for relation %u"
+msgstr ""
+
+#: ../storage/buffer/buf_table.c:68
+msgid "couldn't initialize shared buffer pool Hash Tbl"
+msgstr ""
+
+#: ../storage/buffer/buf_table.c:88
+msgid "BufTableLookup: BufferLookup table corrupted"
+msgstr ""
+
+#: ../storage/buffer/buf_table.c:119
+msgid "BufTableDelete: BufferLookup table corrupted"
+msgstr ""
+
+#: ../storage/buffer/buf_table.c:151 ../storage/buffer/buf_table.c:158
+msgid "BufTableInsert: BufferLookup table corrupted"
+msgstr ""
+
+#: ../storage/buffer/bufmgr.c:272
+msgid "BufRead: buffer table broken after IO error\n"
+msgstr ""
+
+#: ../storage/buffer/bufmgr.c:444
+#, c-format
+msgid "BufferAlloc: cannot write block %u for %s/%s"
+msgstr ""
+
+#: ../storage/buffer/bufmgr.c:469
+#, c-format
+msgid "BufferAlloc: content of block %u (%s) changed while flushing"
+msgstr ""
+
+#: ../storage/buffer/bufmgr.c:569
+msgid "buffer wasn't in the buffer table\n"
+msgstr ""
+
+#: ../storage/buffer/bufmgr.c:580
+msgid "Buffer in lookup table twice \n"
+msgstr ""
+
+#. disk failure ?!
+#: ../storage/buffer/bufmgr.c:841
+#, c-format
+msgid "BufferSync: cannot write %u for %s"
+msgstr ""
+
+#: ../storage/buffer/bufmgr.c:1005
+#, c-format
+msgid ""
+"Buffer Leak: [%03d] (freeNext=%ld, freePrev=%ld, relname=%s, blockNum=%d, "
+"flags=0x%x, refcount=%d %ld)"
+msgstr ""
+
+#: ../storage/buffer/bufmgr.c:1399
+#, c-format
+msgid ""
+"[%02d] (freeNext=%ld, freePrev=%ld, relname=%s, blockNum=%d, flags=0x%x, "
+"refcount=%d %ld)"
+msgstr ""
+
+#: ../storage/buffer/bufmgr.c:1429
+#, c-format
+msgid ""
+"[%02d] (freeNext=%ld, freePrev=%ld, relname=%s, blockNum=%d, flags=0x%x, "
+"refcount=%d %ld)\n"
+msgstr ""
+
+#: ../storage/buffer/bufmgr.c:1530
+#, c-format
+msgid ""
+"FlushRelationBuffers(%s (local), %u): block %u is dirty, could not flush it"
+msgstr ""
+
+#: ../storage/buffer/bufmgr.c:1540
+#, c-format
+msgid "FlushRelationBuffers(%s (local), %u): block %u is referenced (%ld)"
+msgstr ""
+
+#. disk failure ?!
+#: ../storage/buffer/bufmgr.c:1591
+#, c-format
+msgid "FlushRelationBuffers: cannot write %u for %s"
+msgstr ""
+
+#: ../storage/buffer/bufmgr.c:1615
+#, c-format
+msgid ""
+"FlushRelationBuffers(%s, %u): block %u is referenced (private %ld, global %d)"
+msgstr ""
+
+#: ../storage/buffer/bufmgr.c:1856
+msgid "buffer alloc trace error and can't open log file"
+msgstr ""
+
+#: ../storage/buffer/bufmgr.c:2060
+#, c-format
+msgid "UNLockBuffer: buffer %lu is not locked"
+msgstr ""
+
+#: ../storage/buffer/bufmgr.c:2130
+#, c-format
+msgid "LockBuffer: unknown lock mode %d"
+msgstr ""
+
+#: ../storage/buffer/bufmgr.c:2251
+#, c-format
+msgid "write error may be permanent: cannot write block %u for %s/%s"
+msgstr ""
+
+#. queue is empty. All buffers in the buffer pool are pinned.
+#: ../storage/buffer/freelist.c:193
+msgid "out of free buffers: time to abort !\n"
+msgstr ""
+
+#: ../storage/buffer/localbuf.c:94
+msgid "no empty local buffer."
+msgstr ""
+
+#: ../storage/buffer/localbuf.c:138
+msgid "Out of memory in LocalBufferAlloc"
+msgstr ""
+
+#: ../storage/file/fd.c:258
+#, c-format
+msgid "BasicOpenFile: not enough descs, retry, er= %d"
+msgstr ""
+
+#: ../storage/file/fd.c:286
+#, c-format
+msgid "pg_nofile: Unable to get _SC_OPEN_MAX using sysconf(); using %d"
+msgstr ""
+
+#: ../storage/file/fd.c:292
+#, c-format
+msgid ""
+"pg_nofile: insufficient File Descriptors in postmaster to start backend (%"
+"ld).\n"
+"                   O/S allows %ld, Postmaster reserves %d, We need %d (MIN) "
+"after that."
+msgstr ""
+
+#: ../storage/file/fd.c:331
+#, c-format
+msgid "Delete %d (%s)"
+msgstr ""
+
+#: ../storage/file/fd.c:351
+#, c-format
+msgid "LruDelete %d (%s)"
+msgstr ""
+
+#: ../storage/file/fd.c:386
+#, c-format
+msgid "Insert %d (%s)"
+msgstr ""
+
+#: ../storage/file/fd.c:408
+#, c-format
+msgid "LruInsert %d (%s)"
+msgstr ""
+
+#: ../storage/file/fd.c:430
+#, c-format
+msgid "RE_OPEN FAILED: %d"
+msgstr ""
+
+#: ../storage/file/fd.c:435
+msgid "RE_OPEN SUCCESS"
+msgstr ""
+
+#: ../storage/file/fd.c:459
+#, c-format
+msgid "ReleaseLruFile. Opened %d"
+msgstr ""
+
+#: ../storage/file/fd.c:481
+#, c-format
+msgid "AllocateVfd. Size %d"
+msgstr ""
+
+#: ../storage/file/fd.c:488
+msgid "AllocateVfd: no room for VFD array"
+msgstr ""
+
+#: ../storage/file/fd.c:521
+msgid "AllocateVfd: no room to enlarge VFD array"
+msgstr ""
+
+#: ../storage/file/fd.c:554
+#, c-format
+msgid "FreeVfd: %d (%s)"
+msgstr ""
+
+#: ../storage/file/fd.c:607
+#, c-format
+msgid "FileAccess %d (%s)"
+msgstr ""
+
+#: ../storage/file/fd.c:661
+msgid "fileNameOpenFile: NULL fname"
+msgstr ""
+
+#: ../storage/file/fd.c:663
+#, c-format
+msgid "fileNameOpenFile: %s %x %o"
+msgstr ""
+
+#: ../storage/file/fd.c:683
+#, c-format
+msgid "fileNameOpenFile: success %d"
+msgstr ""
+
+#: ../storage/file/fd.c:690
+msgid "fileNameOpenFile: no room to save VFD filename"
+msgstr ""
+
+#: ../storage/file/fd.c:759
+#, c-format
+msgid "Failed to create temporary file %s"
+msgstr ""
+
+#: ../storage/file/fd.c:777
+#, c-format
+msgid "FileClose: %d (%s)"
+msgstr ""
+
+#: ../storage/file/fd.c:826
+#, c-format
+msgid "FileUnlink: %d (%s)"
+msgstr ""
+
+#: ../storage/file/fd.c:842
+#, c-format
+msgid "FileRead: %d (%s) %ld %d %p"
+msgstr ""
+
+#: ../storage/file/fd.c:863
+#, c-format
+msgid "FileWrite: %d (%s) %ld %d %p"
+msgstr ""
+
+#: ../storage/file/fd.c:882
+#, c-format
+msgid "FileSeek: %d (%s) %ld %ld %d"
+msgstr ""
+
+#: ../storage/file/fd.c:892 ../storage/file/fd.c:913
+#, c-format
+msgid "FileSeek: invalid offset: %ld"
+msgstr ""
+
+#: ../storage/file/fd.c:903 ../storage/file/fd.c:925
+#, c-format
+msgid "FileSeek: invalid whence: %d"
+msgstr ""
+
+#: ../storage/file/fd.c:940
+#, c-format
+msgid "FileTell %d (%s)"
+msgstr ""
+
+#: ../storage/file/fd.c:954
+#, c-format
+msgid "FileTruncate %d (%s)"
+msgstr ""
+
+#: ../storage/file/fd.c:1054
+#, c-format
+msgid "FileMarkDirty: %d (%s)"
+msgstr ""
+
+#: ../storage/file/fd.c:1084
+#, c-format
+msgid "AllocateFile: Allocated %d"
+msgstr ""
+
+#: ../storage/file/fd.c:1087
+msgid "AllocateFile: too many private FDs demanded"
+msgstr ""
+
+#: ../storage/file/fd.c:1101
+#, c-format
+msgid "AllocateFile: not enough descs, retry, er= %d"
+msgstr ""
+
+#: ../storage/file/fd.c:1117
+#, c-format
+msgid "FreeFile: Allocated %d"
+msgstr ""
+
+#: ../storage/file/fd.c:1130
+msgid "FreeFile: file was not obtained from AllocateFile"
+msgstr ""
+
+#: ../storage/file/buffile.c:479
+#, c-format
+msgid "BufFileSeek: invalid whence: %d"
+msgstr ""
+
+#: ../storage/ipc/ipc.c:144
+#, c-format
+msgid "proc_exit(%d)"
+msgstr ""
+
+#: ../storage/ipc/ipc.c:163
+#, c-format
+msgid "exit(%d)"
+msgstr ""
+
+#: ../storage/ipc/ipc.c:177
+#, c-format
+msgid "shmem_exit(%d)"
+msgstr ""
+
+#: ../storage/ipc/ipc.c:203
+msgid "Out of on_proc_exit slots"
+msgstr ""
+
+#: ../storage/ipc/ipc.c:222
+msgid "Out of on_shmem_exit slots"
+msgstr ""
+
+#: ../storage/ipc/spin.c:92
+#, c-format
+msgid "%s: id=%d"
+msgstr ""
+
+#: ../storage/ipc/spin.c:373
+msgid "s_init_lock_sema: not enough semaphores"
+msgstr ""
+
+#: ../storage/ipc/ipci.c:88
+msgid "Couldn't create the lock table"
+msgstr ""
+
+#: ../storage/ipc/shmem.c:119
+msgid "InitShmemAllocation: couldn't initialize Shmem Index"
+msgstr ""
+
+#: ../storage/ipc/shmem.c:130
+msgid "InitShmemAllocation: corrupted shmem index"
+msgstr ""
+
+#: ../storage/ipc/shmem.c:186
+msgid "ShmemAlloc: out of memory"
+msgstr ""
+
+#: ../storage/ipc/shmem.c:291
+msgid "ShmemInitPID: ShmemIndex corrupted"
+msgstr ""
+
+#: ../storage/ipc/shmem.c:338
+msgid "ShmemPIDDestroy: PID table corrupted"
+msgstr ""
+
+#: ../storage/ipc/shmem.c:397
+msgid "ShmemInitStruct: Shmem Index corrupted"
+msgstr ""
+
+#: ../storage/ipc/shmem.c:413
+msgid "ShmemInitStruct: ShmemIndex entry size is wrong"
+msgstr ""
+
+#: ../storage/ipc/shmem.c:431
+#, c-format
+msgid "ShmemInitStruct: cannot allocate '%s'"
+msgstr ""
+
+#: ../storage/ipc/sinval.c:50
+msgid "Backend cache invalidation initialization failed"
+msgstr ""
+
+#: ../storage/ipc/sinval.c:94
+msgid "RegisterSharedInvalid: SI buffer overflow"
+msgstr ""
+
+#. got a reset message
+#: ../storage/ipc/sinval.c:119
+msgid "InvalidateSharedInvalid: cache state reset"
+msgstr ""
+
+#.
+#. * elog() with spinlock held is probably not too cool, but
+#. * this condition should never happen anyway.
+#.
+#: ../storage/ipc/sinvaladt.c:117
+msgid "SIBackendInit: no free procState slot available"
+msgstr ""
+
+#: ../storage/ipc/sinvaladt.c:126
+#, c-format
+msgid "SIBackendInit: backend id %d"
+msgstr ""
+
+#: ../storage/ipc/sinvaladt.c:227
+#, c-format
+msgid "SIInsertDataEntry: table is 70%% full, signaling postmaster"
+msgstr ""
+
+#: ../storage/large_object/inv_api.c:49
+msgid "getbytealen: VARSIZE(data) < VARHDRSZ. This is internal error."
+msgstr ""
+
+#: ../storage/large_object/inv_api.c:75
+#, c-format
+msgid "inv_create: large object %u already exists. This is internal error."
+msgstr ""
+
+#: ../storage/large_object/inv_api.c:108
+#, c-format
+msgid "inv_create: invalid flags: %d"
+msgstr ""
+
+#: ../storage/large_object/inv_api.c:127
+#, c-format
+msgid "inv_open: large object %u not found"
+msgstr ""
+
+#: ../storage/large_object/inv_api.c:145
+#, c-format
+msgid "inv_open: invalid flags: %d"
+msgstr ""
+
+#: ../storage/large_object/inv_api.c:254
+#, c-format
+msgid "inv_getsize: large object %u not found"
+msgstr ""
+
+#: ../storage/large_object/inv_api.c:267 ../storage/large_object/inv_api.c:272
+#: ../storage/large_object/inv_api.c:280
+#, c-format
+msgid "inv_seek: invalid offset: %d"
+msgstr ""
+
+#: ../storage/large_object/inv_api.c:285
+#, c-format
+msgid "inv_seek: invalid whence: %d"
+msgstr ""
+
+#: ../storage/lmgr/lmgr.c:86
+msgid "InitLockTable: couldn't initialize lock table"
+msgstr ""
+
+#: ../storage/lmgr/lmgr.c:95
+msgid "InitLockTable: couldn't rename long-term lock table"
+msgstr ""
+
+#: ../storage/lmgr/lmgr.c:142
+msgid "LockRelation: LockAcquire failed"
+msgstr ""
+
+#: ../storage/lmgr/lmgr.c:200
+msgid "LockRelationForSession: LockAcquire failed"
+msgstr ""
+
+#: ../storage/lmgr/lmgr.c:239
+msgid "LockPage: LockAcquire failed"
+msgstr ""
+
+#: ../storage/lmgr/lmgr.c:275
+msgid "XactLockTableInsert: LockAcquire failed"
+msgstr ""
+
+#: ../storage/lmgr/lmgr.c:311
+msgid "XactLockTableWait: LockAcquire failed"
+msgstr ""
+
+#: ../storage/lmgr/lock.c:105
+#, c-format
+msgid ""
+"%s: lock(%lx) tbl(%d) rel(%u) db(%u) obj(%u) grantMask(%x) req(%d,%d,%d,%d,%"
+"d,%d,%d)=%d grant(%d,%d,%d,%d,%d,%d,%d)=%d wait(%d) type(%s)"
+msgstr ""
+
+#: ../storage/lmgr/lock.c:131
+#, c-format
+msgid ""
+"%s: holder(%lx) lock(%lx) tbl(%d) proc(%lx) xid(%u) hold(%d,%d,%d,%d,%d,%d,%"
+"d)=%d"
+msgstr ""
+
+#: ../storage/lmgr/lock.c:283
+#, c-format
+msgid "LockMethodTableInit: too many lock types %d greater than %d"
+msgstr ""
+
+#: ../storage/lmgr/lock.c:316 ../storage/lmgr/lock.c:361
+#: ../storage/lmgr/lock.c:382
+#, c-format
+msgid "LockMethodTableInit: couldn't initialize %s"
+msgstr ""
+
+#: ../storage/lmgr/lock.c:498
+#, c-format
+msgid "LockAcquire: user lock [%u] %s"
+msgstr ""
+
+#: ../storage/lmgr/lock.c:509
+#, c-format
+msgid "LockAcquire: bad lock table %d"
+msgstr ""
+
+#: ../storage/lmgr/lock.c:529
+#, c-format
+msgid "LockAcquire: lock table %d is corrupted"
+msgstr ""
+
+#: ../storage/lmgr/lock.c:576
+msgid "LockAcquire: holder table corrupted"
+msgstr ""
+
+#. safe: we have a lock >= req level
+#: ../storage/lmgr/lock.c:621
+#, c-format
+msgid "Deadlock risk: raising lock level from %s to %s on object %u/%u/%u"
+msgstr ""
+
+#: ../storage/lmgr/lock.c:705
+msgid "LockAcquire: remove holder, table corrupted"
+msgstr ""
+
+#: ../storage/lmgr/lock.c:1051
+#, c-format
+msgid "LockRelease: user lock tag [%u] %d"
+msgstr ""
+
+#: ../storage/lmgr/lock.c:1061
+msgid "lockMethodTable is null in LockRelease"
+msgstr ""
+
+#: ../storage/lmgr/lock.c:1085
+msgid "LockRelease: locktable corrupted"
+msgstr ""
+
+#: ../storage/lmgr/lock.c:1092
+msgid "LockRelease: no such lock"
+msgstr ""
+
+#: ../storage/lmgr/lock.c:1114
+msgid "LockRelease: no lock with this tag"
+msgstr ""
+
+#: ../storage/lmgr/lock.c:1117
+msgid "LockRelease: holder table corrupted"
+msgstr ""
+
+#: ../storage/lmgr/lock.c:1131
+#, c-format
+msgid "LockRelease: you don't own a lock of type %s"
+msgstr ""
+
+#: ../storage/lmgr/lock.c:1188
+msgid "LockRelease: remove lock, table corrupted"
+msgstr ""
+
+#: ../storage/lmgr/lock.c:1216
+msgid "LockRelease: remove holder, table corrupted"
+msgstr ""
+
+#: ../storage/lmgr/lock.c:1258
+#, c-format
+msgid "LockReleaseAll: lockmethod=%d, pid=%d"
+msgstr ""
+
+#: ../storage/lmgr/lock.c:1266
+#, c-format
+msgid "LockReleaseAll: bad lockmethod %d"
+msgstr ""
+
+#: ../storage/lmgr/lock.c:1373
+msgid "LockReleaseAll: holder table corrupted"
+msgstr ""
+
+#: ../storage/lmgr/lock.c:1393
+msgid "LockReleaseAll: cannot remove lock from HTAB"
+msgstr ""
+
+#: ../storage/lmgr/lock.c:1408
+msgid "LockReleaseAll: done"
+msgstr ""
+
+#: ../storage/lmgr/lock.c:1540
+msgid "DumpAllLocks: holder->tag.lock = NULL"
+msgstr ""
+
+#. this should not happen. InitProcGlobal() is called before this.
+#: ../storage/lmgr/proc.c:195
+msgid "InitProcess: Proc Header uninitialized"
+msgstr ""
+
+#: ../storage/lmgr/proc.c:201
+msgid "ProcInit: you already exist"
+msgstr ""
+
+#: ../storage/lmgr/proc.c:227
+msgid "cannot create new proc: out of memory"
+msgstr ""
+
+#: ../storage/lmgr/proc.c:281
+msgid "InitProcess: ShmemPID table broken"
+msgstr ""
+
+#: ../storage/lmgr/proc.c:645 ../storage/lmgr/proc.c:649
+msgid "ProcSleep: Unable to set timer for process wakeup"
+msgstr ""
+
+#: ../storage/lmgr/proc.c:674 ../storage/lmgr/proc.c:677
+msgid "ProcSleep: Unable to disable timer for process wakeup"
+msgstr ""
+
+#. if we reach here, all the semaphores are in use.
+#: ../storage/lmgr/proc.c:960
+msgid "ProcGetNewSemIdAndNum: cannot allocate a free semaphore"
+msgstr ""
+
+#: ../storage/lmgr/deadlock.c:274
+msgid "DeadLockCheckRecurse: inconsistent results"
+msgstr ""
+
+#: ../storage/page/bufpage.c:112
+msgid "PageAddItem: tried overwrite after maxoff"
+msgstr ""
+
+#: ../storage/page/bufpage.c:121
+msgid "PageAddItem: tried overwrite of used ItemId"
+msgstr ""
+
+#: ../storage/smgr/smgr.c:135
+#, c-format
+msgid "initialization failed on %s: %m"
+msgstr ""
+
+#: ../storage/smgr/smgr.c:157
+#, c-format
+msgid "shutdown failed on %s: %m"
+msgstr ""
+
+#: ../storage/smgr/smgr.c:177
+#, c-format
+msgid "cannot create %s: %m"
+msgstr ""
+
+#: ../storage/smgr/smgr.c:247
+#, c-format
+msgid ""
+"cannot extend %s: %m.\n"
+"\tCheck free disk space."
+msgstr ""
+
+#: ../storage/smgr/smgr.c:269 ../utils/init/miscinit.c:835
+#: ../utils/misc/database.c:161
+#, c-format
+msgid "cannot open %s: %m"
+msgstr ""
+
+#: ../storage/smgr/smgr.c:283
+#, c-format
+msgid "cannot close %s: %m"
+msgstr ""
+
+#: ../storage/smgr/smgr.c:306
+#, c-format
+msgid "cannot read block %d of %s: %m"
+msgstr ""
+
+#: ../storage/smgr/smgr.c:328
+#, c-format
+msgid "cannot write block %d of %s: %m"
+msgstr ""
+
+#: ../storage/smgr/smgr.c:345
+#, c-format
+msgid "cannot flush block %d of %s to stable store: %m"
+msgstr ""
+
+#: ../storage/smgr/smgr.c:376
+#, c-format
+msgid "cannot write block %d of %u/%u blind: %m"
+msgstr ""
+
+#: ../storage/smgr/smgr.c:402
+#, c-format
+msgid "cannot mark block %d of %s: %m"
+msgstr ""
+
+#: ../storage/smgr/smgr.c:423
+#, c-format
+msgid "cannot mark block %d of %u/%u blind: %m"
+msgstr ""
+
+#: ../storage/smgr/smgr.c:442
+#, c-format
+msgid "cannot count blocks for %s: %m"
+msgstr ""
+
+#: ../storage/smgr/smgr.c:464
+#, c-format
+msgid "cannot truncate %s to %d blocks: %m"
+msgstr ""
+
+#: ../storage/smgr/smgr.c:500
+#, c-format
+msgid "cannot unlink %u/%u: %m"
+msgstr ""
+
+#: ../storage/smgr/smgr.c:523
+#, c-format
+msgid "transaction commit failed on %s: %m"
+msgstr ""
+
+#: ../storage/smgr/smgr.c:542
+#, c-format
+msgid "transaction abort failed on %s: %m"
+msgstr ""
+
+#: ../storage/smgr/smgr.c:561
+#, c-format
+msgid "storage sync failed on %s: %m"
+msgstr ""
+
+#: ../storage/smgr/smgr.c:575
+#, c-format
+msgid "illegal storage manager number %d"
+msgstr ""
+
+#: ../storage/smgr/md.c:252 ../storage/smgr/md.c:445 ../storage/smgr/md.c:488
+#: ../storage/smgr/md.c:522 ../storage/smgr/md.c:567
+msgid "seekpos too big!"
+msgstr ""
+
+#: ../storage/smgr/md.c:287
+msgid "segment too big!"
+msgstr ""
+
+#: ../storage/smgr/md.c:342
+msgid "segment too big on relopen!"
+msgstr ""
+
+#: ../storage/smgr/md.c:577
+#, c-format
+msgid "mdblindwrt: lseek(%ld) failed: %m"
+msgstr ""
+
+#: ../storage/smgr/md.c:587
+#, c-format
+msgid "mdblindwrt: write() failed: %m"
+msgstr ""
+
+#: ../storage/smgr/md.c:593
+#, c-format
+msgid "mdblindwrt: close() failed: %m"
+msgstr ""
+
+#: ../storage/smgr/md.c:679
+msgid "segment too big in mdnblocks!"
+msgstr ""
+
+#: ../storage/smgr/md.c:698
+#, c-format
+msgid "cannot count blocks for %s -- open failed: %m"
+msgstr ""
+
+#: ../storage/smgr/md.c:895
+msgid "_fdvec_alloc error"
+msgstr ""
+
+#: ../storage/smgr/md.c:977
+msgid "segment too big on openseg!"
+msgstr ""
+
+#: ../storage/smgr/md.c:996
+#, c-format
+msgid "_mdfd_getrelnfd: cannot open relation %s: %m"
+msgstr ""
+
+#: ../storage/smgr/md.c:1037
+#, c-format
+msgid "cannot open segment %d of relation %s (target block %d): %m"
+msgstr ""
+
+#: ../storage/smgr/md.c:1091
+#, c-format
+msgid "_mdfd_blind_getseg: couldn't open %s: %m"
+msgstr ""
+
+#: ../storage/smgr/mm.c:188
+msgid "main memory storage mgr rel cache hash table corrupt"
+msgstr ""
+
+#: ../storage/smgr/mm.c:238
+msgid "mmunlink: cache hash table corrupted"
+msgstr ""
+
+#: ../storage/smgr/mm.c:254
+msgid "mmunlink: rel cache hash table corrupted"
+msgstr ""
+
+#: ../storage/smgr/mm.c:316
+msgid "mmextend: rel cache hash table corrupt"
+msgstr ""
+
+#: ../storage/smgr/mm.c:326
+msgid "mmextend: cache hash table corrupt"
+msgstr ""
+
+#: ../storage/smgr/mm.c:396 ../storage/smgr/mm.c:443
+msgid "mmread: hash table corrupt"
+msgstr ""
+
+#: ../storage/smgr/mm.c:449
+msgid "mmwrite: hash table missing requested page"
+msgstr ""
+
+#: ../storage/smgr/mm.c:517
+msgid "mmnblocks: rel cache hash table corrupt"
+msgstr ""
+
+#: ../storage/smgr/smgrtype.c:51
+#, c-format
+msgid "smgrin: unknown storage manager name '%s'"
+msgstr ""
+
+#: ../storage/smgr/smgrtype.c:62
+#, c-format
+msgid "Illegal storage manager id %d"
+msgstr ""
+
+#: ../tcop/postgres.c:304
+#, c-format
+msgid "Socket command type %c unknown"
+msgstr ""
+
+#: ../tcop/postgres.c:387
+#, c-format
+msgid "query: %s"
+msgstr ""
+
+#: ../tcop/postgres.c:450
+msgid "parse tree:"
+msgstr ""
+
+#: ../tcop/postgres.c:454
+#, c-format
+msgid "parse tree: %s"
+msgstr ""
+
+#: ../tcop/postgres.c:488
+msgid "pg_analyze_and_rewrite: copyObject failed on parse tree"
+msgstr ""
+
+#: ../tcop/postgres.c:497 ../tcop/postgres.c:507
+msgid "rewritten parse tree:"
+msgstr ""
+
+#: ../tcop/postgres.c:554
+msgid "pg_plan_query: copyObject failed on plan tree"
+msgstr ""
+
+#: ../tcop/postgres.c:568
+msgid "plan:"
+msgstr ""
+
+#: ../tcop/postgres.c:572
+#, c-format
+msgid "plan: %s"
+msgstr ""
+
+#: ../tcop/fastpath.c:400 ../tcop/postgres.c:706
+msgid ""
+"current transaction is aborted, queries ignored until end of transaction "
+"block"
+msgstr ""
+
+#: ../tcop/postgres.c:773
+#, c-format
+msgid "ProcessUtility: %s"
+msgstr ""
+
+#: ../tcop/postgres.c:775
+msgid "ProcessUtility"
+msgstr ""
+
+#: ../tcop/postgres.c:809
+msgid "ProcessQuery"
+msgstr ""
+
+#: ../tcop/postgres.c:871
+msgid "StartTransactionCommand"
+msgstr ""
+
+#: ../tcop/postgres.c:883
+msgid "CommitTransactionCommand"
+msgstr ""
+
+#: ../tcop/postgres.c:910
+msgid ""
+"Message from PostgreSQL backend:\n"
+"\tThe Postmaster has informed me that some other backend\tdied abnormally "
+"and possibly corrupted shared memory.\n"
+"\tI have rolled back the current transaction and am\tgoing to terminate your "
+"database system connection and exit.\n"
+"\tPlease reconnect to the database system and repeat your query."
+msgstr ""
+
+#: ../tcop/postgres.c:1014
+msgid ""
+"floating point exception! The last floating point operation either exceeded "
+"legal ranges or was a divide by zero"
+msgstr ""
+
+#. ProcDie trumps QueryCancel
+#. not idle anymore
+#: ../tcop/postgres.c:1046
+msgid "This connection has been terminated by the administrator."
+msgstr ""
+
+#. not idle anymore
+#: ../tcop/postgres.c:1052
+msgid "Query was cancelled."
+msgstr ""
+
+#: ../tcop/postgres.c:1618
+#, c-format
+msgid "%s: could not locate executable, bailing out..."
+msgstr ""
+
+#: ../tcop/postgres.c:1677
+#, c-format
+msgid "connection: host=%s user=%s database=%s"
+msgstr ""
+
+#: ../tcop/postgres.c:1688
+msgid "InitPostgres"
+msgstr ""
+
+#: ../tcop/postgres.c:1764
+msgid "AbortCurrentTransaction"
+msgstr ""
+
+#: ../tcop/postgres.c:1939
+msgid "unknown frontend message was received"
+msgstr ""
+
+#. val != 0 should be trapped by previous Assert
+#: ../tcop/postgres.c:2087
+#, c-format
+msgid "Assert test successfull (val = %d)"
+msgstr ""
+
+#: ../tcop/postgres.c:2090
+#, c-format
+msgid "Assert checking is disabled (val = %d)"
+msgstr ""
+
+#: ../tcop/fastpath.c:209
+#, c-format
+msgid "update_fp_info: cache lookup for function %u failed"
+msgstr ""
+
+#: ../tcop/fastpath.c:225
+#, c-format
+msgid "update_fp_info: bad argument type %u for %u"
+msgstr ""
+
+#: ../tcop/fastpath.c:240
+#, c-format
+msgid "update_fp_info: bad return type %u for %u"
+msgstr ""
+
+#: ../tcop/fastpath.c:338
+#, c-format
+msgid ""
+"HandleFunctionRequest: actual arguments (%d) != registered arguments (%d)"
+msgstr ""
+
+#: ../tcop/fastpath.c:357 ../tcop/fastpath.c:369
+#, c-format
+msgid "HandleFunctionRequest: bogus argsize %d"
+msgstr ""
+
+#: ../tcop/fastpath.c:382
+#, c-format
+msgid "HandleFunctionRequest: bogus argsize %d, should be %d"
+msgstr ""
+
+#: ../tcop/pquery.c:119
+#, c-format
+msgid "CreateOperationTag: unknown operation type %d"
+msgstr ""
+
+#.
+#. * XXX Should we raise an error rather than closing the old
+#. * portal?
+#.
+#: ../tcop/pquery.c:148
+#, c-format
+msgid "Closing pre-existing portal \"%s\""
+msgstr ""
+
+#: ../tcop/utility.c:88
+#, c-format
+msgid "\"%s\" is not %s %s. Use DROP %s to remove %s %s"
+msgstr ""
+
+#: ../tcop/utility.c:92
+#, c-format
+msgid "\"%s\" is not %s %s"
+msgstr ""
+
+#: ../tcop/utility.c:112
+#, c-format
+msgid "%s \"%s\" does not exist"
+msgstr ""
+
+#: ../tcop/utility.c:120
+#, c-format
+msgid "you do not own %s \"%s\""
+msgstr ""
+
+#: ../tcop/utility.c:124
+#, c-format
+msgid "%s \"%s\" is a system %s"
+msgstr ""
+
+#: ../tcop/utility.c:302
+#, c-format
+msgid "TRUNCATE cannot be used on system tables. '%s' is a system table"
+msgstr ""
+
+#: ../tcop/utility.c:308
+#, c-format
+msgid "TRUNCATE cannot be used on sequences. '%s' is a sequence"
+msgstr ""
+
+#: ../tcop/utility.c:311
+#, c-format
+msgid "TRUNCATE cannot be used on views. '%s' is a sequence"
+msgstr ""
+
+#: ../tcop/utility.c:316 ../utils/adt/acl.c:630
+#, c-format
+msgid "you do not own class \"%s\""
+msgstr ""
+
+#. oops
+#: ../tcop/utility.c:468
+msgid "T_AlterTableStmt: unknown subtype"
+msgstr ""
+
+#: ../tcop/utility.c:624
+msgid "CREATE VERSION is not currently implemented"
+msgstr ""
+
+#: ../tcop/utility.c:702
+#, c-format
+msgid "CLUSTER: relation \"%s\" is a system catalog"
+msgstr ""
+
+#: ../tcop/utility.c:882
+#, c-format
+msgid ""
+"\"%s\" is a system index. call REINDEX under standalone postgres with -O -P "
+"options"
+msgstr ""
+
+#: ../tcop/utility.c:885
+#, c-format
+msgid ""
+"\"%s\" is a system index. call REINDEX under standalone postgres with -P -O "
+"options"
+msgstr ""
+
+#: ../tcop/utility.c:898
+#, c-format
+msgid ""
+"\"%s\" is a system table. call REINDEX under standalone postgres with -O -P "
+"options"
+msgstr ""
+
+#: ../tcop/utility.c:901
+#, c-format
+msgid ""
+"\"%s\" is a system table. call REINDEX under standalone postgres with -P -O "
+"options"
+msgstr ""
+
+#: ../tcop/utility.c:913
+msgid "must be called under standalone postgres with -O -P options"
+msgstr ""
+
+#: ../tcop/utility.c:915
+msgid "must be called under standalone postgres with -P -O options"
+msgstr ""
+
+#: ../tcop/utility.c:928
+#, c-format
+msgid "ProcessUtility: command #%d unsupported"
+msgstr ""
+
+#: ../tioga/tgRecipe.c:81
+#, c-format
+msgid ""
+"TextArray2ArrTgString: badly formed string, must have %c as first character\n"
+msgstr ""
+
+#: ../tioga/tgRecipe.c:91
+msgid "TextArray2ArrTgString: text string ended prematurely\n"
+msgstr ""
+
+#: ../tioga/tgRecipe.c:97
+msgid "textArray2ArrTgString:  missing a begin quote\n"
+msgstr ""
+
+#: ../tioga/tgRecipe.c:102
+msgid "textArray2ArrTgString:  missing an end quote\n"
+msgstr ""
+
+#: ../tioga/tgRecipe.c:138
+#, c-format
+msgid "Element named %s not found in recipe named %s"
+msgstr ""
+
+#: ../tioga/tgRecipe.c:162
+#, c-format
+msgid "Node named %s not found in recipe named %s"
+msgstr ""
+
+#: ../tioga/tgRecipe.c:249
+#, c-format
+msgid "fillTgNode: unknown nodeType field value : %s\n"
+msgstr ""
+
+#: ../tioga/tgRecipe.c:328
+#, c-format
+msgid "fillTgElement(): unknown srcLang field value : %s\n"
+msgstr ""
+
+#: ../tioga/tgRecipe.c:338
+#, c-format
+msgid "fillTgElement(): unknown elemType field value : %s\n"
+msgstr ""
+
+#: ../tioga/tgRecipe.c:378
+#, c-format
+msgid "lookupEdges(): Error while executing query : %s\n"
+msgstr ""
+
+#: ../tioga/tgRecipe.c:379 ../tioga/tgRecipe.c:542 ../tioga/tgRecipe.c:561
+#: ../tioga/tgRecipe.c:598 ../tioga/tgRecipe.c:709
+#, c-format
+msgid "result = %s, error is %s\n"
+msgstr ""
+
+#: ../tioga/tgRecipe.c:404
+msgid "lookupEdges():  SANITY CHECK failed.  Edge with invalid fromPort value!"
+msgstr ""
+
+#: ../tioga/tgRecipe.c:409
+msgid "lookupEdges():  SANITY CHECK failed.  Edge with invalid toPort value!!"
+msgstr ""
+
+#: ../tioga/tgRecipe.c:418
+msgid "lookupEdges():  SANITY CHECK failed.  Edge with bad fromNode value!"
+msgstr ""
+
+#: ../tioga/tgRecipe.c:424
+msgid "lookupEdges():  SANITY CHECK failed.  Edge with bad toNode value!"
+msgstr ""
+
+#: ../tioga/tgRecipe.c:471
+msgid "Internal Error: connectTee() called with a null origToNode"
+msgstr ""
+
+#: ../tioga/tgRecipe.c:541 ../tioga/tgRecipe.c:560
+#, c-format
+msgid "fillAllNodes(): Error while executing query : %s\n"
+msgstr ""
+
+#: ../tioga/tgRecipe.c:597
+#, c-format
+msgid "fillAllElements(): Error while executing query : %s\n"
+msgstr ""
+
+#: ../tioga/tgRecipe.c:708
+#, c-format
+msgid "retrieveRecipe: Error while executing query : %s\n"
+msgstr ""
+
+#: ../tioga/tgRecipe.c:717
+#, c-format
+msgid "retrieveRecipe():  No recipe named %s exists\n"
+msgstr ""
+
+#: ../tioga/tgRecipe.c:722
+#, c-format
+msgid "retrieveRecipe():  Multiple (%d) recipes named %s exists\n"
+msgstr ""
+
+#: ../utils/adt/acl.c:80
+#, c-format
+msgid "getid: identifier must be <%d characters"
+msgstr ""
+
+#: ../utils/adt/acl.c:117
+#, c-format
+msgid "aclparse: input = '%s'"
+msgstr ""
+
+#: ../utils/adt/acl.c:129
+msgid "aclparse: bad keyword, must be [group|user]"
+msgstr ""
+
+#: ../utils/adt/acl.c:132
+msgid "aclparse: a name must follow the [group|user] keyword"
+msgstr ""
+
+#: ../utils/adt/acl.c:149
+#, c-format
+msgid "aclparse: mode change flag must use \"%s\""
+msgstr ""
+
+#: ../utils/adt/acl.c:180
+#, c-format
+msgid "aclparse: mode flags must use \"%s\""
+msgstr ""
+
+#: ../utils/adt/acl.c:192
+#, c-format
+msgid "aclparse: non-existent user \"%s\""
+msgstr ""
+
+#: ../utils/adt/acl.c:205
+#, c-format
+msgid "aclparse: correctly read [%x %d %x], modechg=%x"
+msgstr ""
+
+#: ../utils/adt/acl.c:225
+#, c-format
+msgid "makeacl: invalid size: %d"
+msgstr ""
+
+#: ../utils/adt/acl.c:255
+msgid "aclitemin: cannot accept anything but = ACLs"
+msgstr ""
+
+#: ../utils/adt/acl.c:259
+msgid "aclitemin: extra garbage at end of specification"
+msgstr ""
+
+#: ../utils/adt/acl.c:327
+#, c-format
+msgid "aclitemout: bad ai_idtype: %d"
+msgstr ""
+
+#. start
+#: ../utils/adt/acl.c:446
+msgid "aclinsert3: insertion before world ACL??"
+msgstr ""
+
+#. start
+#: ../utils/adt/acl.c:560
+msgid "aclremove: removal of the world ACL??"
+msgstr ""
+
+#: ../utils/adt/acl.c:627
+#, c-format
+msgid "\"%s\" is an index relation"
+msgstr ""
+
+#: ../utils/adt/arrayfuncs.c:157
+#, c-format
+msgid "array_in: more than %d dimensions"
+msgstr ""
+
+#. no digits?
+#: ../utils/adt/arrayfuncs.c:160 ../utils/adt/arrayfuncs.c:169
+msgid "array_in: missing dimension value"
+msgstr ""
+
+#: ../utils/adt/arrayfuncs.c:177
+msgid "array_in: missing ']' in array declaration"
+msgstr ""
+
+#: ../utils/adt/arrayfuncs.c:182
+msgid "array_in: upper_bound cannot be < lower_bound"
+msgstr ""
+
+#: ../utils/adt/arrayfuncs.c:191
+msgid "array_in: Need to specify dimension"
+msgstr ""
+
+#: ../utils/adt/arrayfuncs.c:200
+msgid "array_in: missing assignment operator"
+msgstr ""
+
+#: ../utils/adt/arrayfuncs.c:226
+msgid "array_in: missing left brace"
+msgstr ""
+
+#.
+#. * Signal a premature end of the string.  DZ -
+#. * 2-9-1996
+#.
+#: ../utils/adt/arrayfuncs.c:291
+#, c-format
+msgid "malformed array constant: %s"
+msgstr ""
+
+#: ../utils/adt/arrayfuncs.c:414 ../utils/adt/arrayfuncs.c:449
+msgid "array_in: illformed array constant"
+msgstr ""
+
+#.
+#. * fixed-length arrays -- currently, cannot slice these because
+#. * parser labels output as being of the fixed-length array type!
+#. * Code below shows how we could support it if the parser were
+#. * changed to label output as a suitable varlena array type.
+#.
+#: ../utils/adt/arrayfuncs.c:851
+msgid "Slices of fixed-length arrays not implemented"
+msgstr ""
+
+#: ../utils/adt/arrayfuncs.c:967 ../utils/adt/arrayfuncs.c:969
+#: ../utils/adt/arrayfuncs.c:986 ../utils/adt/arrayfuncs.c:1006
+#: ../utils/adt/arrayfuncs.c:1016 ../utils/adt/arrayfuncs.c:1141
+#: ../utils/adt/arrayfuncs.c:1156 ../utils/adt/arrayfuncs.c:1165
+#: ../utils/adt/arrayfuncs.c:1172
+msgid "Invalid array subscripts"
+msgstr ""
+
+#.
+#. * fixed-length arrays -- not got round to doing this...
+#.
+#: ../utils/adt/arrayfuncs.c:1130
+msgid "Updates on slices of fixed-length arrays not implemented"
+msgstr ""
+
+#: ../utils/adt/arrayfuncs.c:1183
+msgid "Source array too small"
+msgstr ""
+
+#: ../utils/adt/arrayfuncs.c:1314
+#, c-format
+msgid "array_map: invalid nargs: %d"
+msgstr ""
+
+#: ../utils/adt/arrayfuncs.c:1316
+msgid "array_map: null input array"
+msgstr ""
+
+#: ../utils/adt/arrayfuncs.c:1360
+msgid "array_map: cannot handle NULL in array"
+msgstr ""
+
+#: ../utils/adt/arrayfuncs.c:1538
+#, c-format
+msgid "array_out: Cache lookup failed for type %u"
+msgstr ""
+
+#: ../utils/adt/cash.c:210
+#, c-format
+msgid "Bad money external representation %s"
+msgstr ""
+
+#: ../utils/adt/cash.c:320 ../utils/adt/cash.c:333
+msgid "Memory allocation failed, can't output cash"
+msgstr ""
+
+#: ../utils/adt/cash.c:473 ../utils/adt/cash.c:523
+msgid "cash_div:  divide by 0.0 error"
+msgstr ""
+
+#: ../utils/adt/cash.c:574
+msgid "cash_div_int4: divide by 0 error"
+msgstr ""
+
+#: ../utils/adt/cash.c:624
+msgid "cash_div:  divide by 0 error"
+msgstr ""
+
+#: ../utils/adt/bool.c:77
+#, c-format
+msgid "Bad boolean external representation '%s'"
+msgstr ""
+
+#: ../utils/adt/float.c:152
+msgid "Bad float4 input format -- overflow"
+msgstr ""
+
+#: ../utils/adt/float.c:154
+msgid "Bad float4 input format -- underflow"
+msgstr ""
+
+#: ../utils/adt/float.c:177
+msgid "Bad float8 input format -- overflow"
+msgstr ""
+
+#: ../utils/adt/float.c:179
+msgid "Bad float8 input format -- underflow"
+msgstr ""
+
+#. Shouldn't we accept "NaN" or "Infinity" for float4?
+#: ../utils/adt/float.c:203
+#, c-format
+msgid "Bad float4 input format '%s'"
+msgstr ""
+
+#: ../utils/adt/float.c:208
+#, c-format
+msgid "Input '%s' is out of range for float4"
+msgstr ""
+
+#: ../utils/adt/float.c:262
+#, c-format
+msgid "Bad float8 input format '%s'"
+msgstr ""
+
+#: ../utils/adt/float.c:267
+#, c-format
+msgid "Input '%s' is out of range for float8"
+msgstr ""
+
+#: ../utils/adt/float.c:466
+msgid "float4div: divide by zero error"
+msgstr ""
+
+#: ../utils/adt/float.c:528
+msgid "float8div: divide by zero error"
+msgstr ""
+
+#: ../utils/adt/float.c:778
+msgid "dtoi4: integer out of range"
+msgstr ""
+
+#: ../utils/adt/float.c:795
+msgid "dtoi2: integer out of range"
+msgstr ""
+
+#: ../utils/adt/float.c:840
+msgid "ftoi4: integer out of range"
+msgstr ""
+
+#: ../utils/adt/float.c:857
+msgid "ftoi2: integer out of range"
+msgstr ""
+
+#: ../utils/adt/float.c:1047
+msgid "can't take sqrt of a negative number"
+msgstr ""
+
+#: ../utils/adt/float.c:1091
+msgid "pow() result is out of range"
+msgstr ""
+
+#: ../utils/adt/float.c:1119
+msgid "exp() result is out of range"
+msgstr ""
+
+#: ../utils/adt/float.c:1137 ../utils/adt/float.c:1158
+msgid "can't take log of zero"
+msgstr ""
+
+#: ../utils/adt/float.c:1139 ../utils/adt/float.c:1160
+msgid "can't take log of a negative number"
+msgstr ""
+
+#: ../utils/adt/float.c:1185
+#, c-format
+msgid "acos(%f) input is out of range"
+msgstr ""
+
+#: ../utils/adt/float.c:1208
+#, c-format
+msgid "asin(%f) input is out of range"
+msgstr ""
+
+#: ../utils/adt/float.c:1231
+#, c-format
+msgid "atan(%f) input is out of range"
+msgstr ""
+
+#: ../utils/adt/float.c:1255
+#, c-format
+msgid "atan2(%f,%f) input is out of range"
+msgstr ""
+
+#: ../utils/adt/float.c:1278
+#, c-format
+msgid "cos(%f) input is out of range"
+msgstr ""
+
+#: ../utils/adt/float.c:1301
+#, c-format
+msgid "cot(%f) input is out of range"
+msgstr ""
+
+#: ../utils/adt/float.c:1325
+#, c-format
+msgid "sin(%f) input is out of range"
+msgstr ""
+
+#: ../utils/adt/float.c:1348
+#, c-format
+msgid "tan(%f) input is out of range"
+msgstr ""
+
+#: ../utils/adt/float.c:1460
+#, c-format
+msgid "%s: expected 3-element float8 array"
+msgstr ""
+
+#: ../utils/adt/float.c:1655
+msgid "float48div: divide by zero"
+msgstr ""
+
+#: ../utils/adt/float.c:1715
+msgid "float84div: divide by zero"
+msgstr ""
+
+#: ../utils/adt/ascii.c:110
+#, c-format
+msgid "pg_to_ascii(): unsupported encoding from %s"
+msgstr ""
+
+#: ../utils/adt/date.c:53
+#, c-format
+msgid "Bad date external representation '%s'"
+msgstr ""
+
+#: ../utils/adt/date.c:71
+#, c-format
+msgid "Unrecognized date external representation '%s'"
+msgstr ""
+
+#: ../utils/adt/date.c:245
+msgid "Unable to convert date to tm"
+msgstr ""
+
+#: ../utils/adt/date.c:277 ../utils/adt/date.c:286 ../utils/adt/date.c:672
+#: ../utils/adt/date.c:681 ../utils/adt/date.c:1217 ../utils/adt/date.c:1229
+msgid "Unable to convert timestamp to date"
+msgstr ""
+
+#: ../utils/adt/date.c:312
+msgid "Unable to convert reserved abstime value to date"
+msgstr ""
+
+#: ../utils/adt/date.c:380
+msgid "Bad date external representation (too long)"
+msgstr ""
+
+#: ../utils/adt/date.c:413 ../utils/adt/date.c:867
+#, c-format
+msgid "Bad time external representation '%s'"
+msgstr ""
+
+#: ../utils/adt/date.c:832
+msgid "Bad time external representation (too long)"
+msgstr ""
+
+#: ../utils/adt/date.c:1302
+msgid "Bad timetz external representation (too long)"
+msgstr ""
+
+#: ../utils/adt/datetime.c:829 ../utils/adt/datetime.c:1280
+#: ../utils/adt/formatting.c:2885
+#, c-format
+msgid "Inconsistant use of year %04d and 'BC'"
+msgstr ""
+
+#: ../utils/adt/datum.c:71
+msgid "datumGetSize: Invalid Datum Pointer"
+msgstr ""
+
+#: ../utils/adt/formatting.c:395
+#, c-format
+msgid ""
+"TMFC:\n"
+"hh %d\n"
+"am %d\n"
+"pm %d\n"
+"mi %d\n"
+"ss %d\n"
+"ssss %d\n"
+"d %d\n"
+"dd %d\n"
+"ddd %d\n"
+"mm %d\n"
+"yyyy %d\n"
+"bc %d\n"
+"iw %d\n"
+"ww %d\n"
+"w %d\n"
+"cc %d\n"
+"q %d\n"
+"j %d"
+msgstr ""
+
+#: ../utils/adt/formatting.c:402
+#, c-format
+msgid ""
+"TM:\n"
+"sec %d\n"
+"year %d\n"
+"min %d\n"
+"wday %d\n"
+"hour %d\n"
+"yday %d\n"
+"mday %d\n"
+"nisdst %d\n"
+"mon %d\n"
+msgstr ""
+
+#: ../utils/adt/formatting.c:959
+msgid "to_char/to_number(): '9' must be ahead of 'PR'."
+msgstr ""
+
+#: ../utils/adt/formatting.c:976
+msgid "to_char/to_number(): '0' must be ahead of 'PR'."
+msgstr ""
+
+#: ../utils/adt/formatting.c:1003
+msgid "to_char/to_number(): not unique decimal point."
+msgstr ""
+
+#: ../utils/adt/formatting.c:1008 ../utils/adt/formatting.c:1095
+msgid "to_char/to_number(): can't use 'V' and decimal poin together."
+msgstr ""
+
+#: ../utils/adt/formatting.c:1021
+msgid "to_char/to_number(): not unique 'S'."
+msgstr ""
+
+#: ../utils/adt/formatting.c:1026
+msgid "to_char/to_number(): can't use 'S' and 'PL'/'MI'/'SG'/'PR' together."
+msgstr ""
+
+#: ../utils/adt/formatting.c:1048
+msgid "to_char/to_number(): can't use 'S' and 'MI' together."
+msgstr ""
+
+#: ../utils/adt/formatting.c:1057
+msgid "to_char/to_number(): can't use 'S' and 'PL' together."
+msgstr ""
+
+#: ../utils/adt/formatting.c:1066
+msgid "to_char/to_number(): can't use 'S' and 'SG' together."
+msgstr ""
+
+#: ../utils/adt/formatting.c:1076
+msgid "to_char/to_number(): can't use 'PR' and 'S'/'PL'/'MI'/'SG' together."
+msgstr ""
+
+#: ../utils/adt/formatting.c:1102
+msgid "to_char/to_number(): 'E' is not supported."
+msgstr ""
+
+#: ../utils/adt/formatting.c:1126
+msgid "to_char/number(): run parser."
+msgstr ""
+
+#: ../utils/adt/formatting.c:1325
+msgid "to_from-char(): DUMP FORMAT"
+msgstr ""
+
+#: ../utils/adt/formatting.c:1330
+#, c-format
+msgid "%d:\t NODE_TYPE_ACTION '%s'\t(%s,%s)"
+msgstr ""
+
+#: ../utils/adt/formatting.c:1333
+#, c-format
+msgid "%d:\t NODE_TYPE_CHAR '%c'"
+msgstr ""
+
+#: ../utils/adt/formatting.c:1336
+#, c-format
+msgid "%d:\t NODE_TYPE_END"
+msgstr ""
+
+#: ../utils/adt/formatting.c:1340
+#, c-format
+msgid "%d:\t UnKnown NODE !!!"
+msgstr ""
+
+#: ../utils/adt/formatting.c:1365
+#, c-format
+msgid "get_th: '%s' is not number."
+msgstr ""
+
+#: ../utils/adt/formatting.c:1545
+msgid "TO-FROM_CHAR: Dump KeyWord Index:"
+msgstr ""
+
+#: ../utils/adt/formatting.c:1551
+#, c-format
+msgid "\t%c: %s, "
+msgstr ""
+
+#: ../utils/adt/formatting.c:1557
+#, c-format
+msgid "\t(%d) %c %d"
+msgstr ""
+
+#: ../utils/adt/formatting.c:1560
+#, c-format
+msgid ""
+"\n"
+"\t\tUsed positions: %d,\n"
+"\t\tFree positions: %d"
+msgstr ""
+
+#: ../utils/adt/formatting.c:1623
+msgid "to_timestamp(): bad AM/PM string"
+msgstr ""
+
+#: ../utils/adt/formatting.c:1859
+msgid "to_timestamp(): TZ/tz not supported."
+msgstr ""
+
+#: ../utils/adt/formatting.c:1867
+#, c-format
+msgid "to_timestamp(): bad value for %s"
+msgstr ""
+
+#: ../utils/adt/formatting.c:2462 ../utils/adt/formatting.c:3014
+#, c-format
+msgid "Cache is full (%d)"
+msgstr ""
+
+#: ../utils/adt/formatting.c:2470 ../utils/adt/formatting.c:3032
+#, c-format
+msgid "OLD: '%s' AGE: %d"
+msgstr ""
+
+#: ../utils/adt/formatting.c:2481 ../utils/adt/formatting.c:3044
+#, c-format
+msgid "NEW (%d)"
+msgstr ""
+
+#: ../utils/adt/formatting.c:2571
+msgid "to_char(): Unable to convert timestamp to tm"
+msgstr ""
+
+#: ../utils/adt/formatting.c:2806
+msgid "to_timestamp(): AM/PM hour must be between 1 and 12"
+msgstr ""
+
+#: ../utils/adt/formatting.c:2917
+msgid "to_timestamp() cat't convert yday without year information"
+msgstr ""
+
+#: ../utils/adt/formatting.c:2944
+msgid "to_timestamp(): can't convert 'tm' to timestamp."
+msgstr ""
+
+#: ../utils/adt/formatting.c:3094
+#, c-format
+msgid "REMOVING ENTRY (%s)"
+msgstr ""
+
+#: ../utils/adt/formatting.c:3328
+msgid "CALL: get_last_relevant_decnum()"
+msgstr ""
+
+#: ../utils/adt/formatting.c:3353
+msgid " --- scan start --- "
+msgstr ""
+
+#: ../utils/adt/formatting.c:3374
+#, c-format
+msgid "Try read sign (%c)."
+msgstr ""
+
+#: ../utils/adt/formatting.c:3386
+#, c-format
+msgid "Try read locale sign (%c)."
+msgstr ""
+
+#: ../utils/adt/formatting.c:3405
+#, c-format
+msgid "Try read sipmle sign (%c)."
+msgstr ""
+
+#: ../utils/adt/formatting.c:3446
+#, c-format
+msgid "Read digit (%c)."
+msgstr ""
+
+#: ../utils/adt/formatting.c:3457
+#, c-format
+msgid "Try read decimal point (%c)."
+msgstr ""
+
+#: ../utils/adt/formatting.c:3472
+#, c-format
+msgid "Try read locale point (%c)."
+msgstr ""
+
+#: ../utils/adt/formatting.c:3505
+#, c-format
+msgid "SIGN_WROTE: %d, CURRENT: %d, NUMBER_P: '%s', INOUT: '%s'"
+msgstr ""
+
+#: ../utils/adt/formatting.c:3520
+#, c-format
+msgid "Writing sign to position: %d"
+msgstr ""
+
+#: ../utils/adt/formatting.c:3564
+#, c-format
+msgid "Writing bracket to position %d"
+msgstr ""
+
+#: ../utils/adt/formatting.c:3587
+#, c-format
+msgid "Writing blank space to position %d"
+msgstr ""
+
+#: ../utils/adt/formatting.c:3603
+#, c-format
+msgid "Writing zero to position %d"
+msgstr ""
+
+#: ../utils/adt/formatting.c:3622
+#, c-format
+msgid "Writing decimal point to position %d"
+msgstr ""
+
+#: ../utils/adt/formatting.c:3676
+#, c-format
+msgid "Writing digit '%c' to position %d"
+msgstr ""
+
+#: ../utils/adt/formatting.c:3715
+msgid "to_number(): RN is not supported"
+msgstr ""
+
+#: ../utils/adt/formatting.c:3838
+#, c-format
+msgid ""
+"\n"
+"\tNUM: '%s'\n"
+"\tPRE: %d\n"
+"\tPOST: %d\n"
+"\tNUM_COUNT: %d\n"
+"\tNUM_PRE: %d\n"
+"\tSIGN_POS: %d\n"
+"\tSIGN_WROTE: %s\n"
+"\tZERO: %s\n"
+"\tZERO_START: %d\n"
+"\tZERO_END: %d\n"
+"\tLAST_RELEVANT: %s"
+msgstr ""
+
+#: ../utils/adt/formatting.c:4100
+#, c-format
+msgid "TO_NUMBER (number): '%s'"
+msgstr ""
+
+#: ../utils/adt/geo_ops.c:294
+msgid "Unable to format path"
+msgstr ""
+
+#: ../utils/adt/geo_ops.c:366
+#, c-format
+msgid "Bad box external representation '%s'"
+msgstr ""
+
+#: ../utils/adt/geo_ops.c:825
+#, c-format
+msgid "Bad line external representation '%s'"
+msgstr ""
+
+#: ../utils/adt/geo_ops.c:830 ../utils/adt/geo_ops.c:894
+msgid "line not yet implemented"
+msgstr ""
+
+#: ../utils/adt/geo_ops.c:1221 ../utils/adt/geo_ops.c:1242
+#, c-format
+msgid "Bad path external representation '%s'"
+msgstr ""
+
+#: ../utils/adt/geo_ops.c:1499
+#, c-format
+msgid "Bad point external representation '%s'"
+msgstr ""
+
+#: ../utils/adt/geo_ops.c:1695
+#, c-format
+msgid "Bad lseg external representation '%s'"
+msgstr ""
+
+#. think about this one for a while
+#: ../utils/adt/geo_ops.c:2240
+msgid "dist_lb not implemented"
+msgstr ""
+
+#. think about this one for a while
+#: ../utils/adt/geo_ops.c:2763
+msgid "close_lb not implemented"
+msgstr ""
+
+#: ../utils/adt/geo_ops.c:3042
+msgid "Unable to create bounding box for empty polygon"
+msgstr ""
+
+#: ../utils/adt/geo_ops.c:3064 ../utils/adt/geo_ops.c:3075
+#, c-format
+msgid "Bad polygon external representation '%s'"
+msgstr ""
+
+#: ../utils/adt/geo_ops.c:3364
+msgid "poly_distance not implemented"
+msgstr ""
+
+#: ../utils/adt/geo_ops.c:3443
+msgid "point_div:  divide by 0.0 error"
+msgstr ""
+
+#: ../utils/adt/geo_ops.c:3671
+msgid "path_center not implemented"
+msgstr ""
+
+#: ../utils/adt/geo_ops.c:3686
+msgid "Open path cannot be converted to polygon"
+msgstr ""
+
+#: ../utils/adt/geo_ops.c:3852 ../utils/adt/geo_ops.c:3860
+#: ../utils/adt/geo_ops.c:3873 ../utils/adt/geo_ops.c:3877
+#, c-format
+msgid "Bad circle external representation '%s'"
+msgstr ""
+
+#: ../utils/adt/geo_ops.c:3897 ../utils/adt/geo_ops.c:3903
+msgid "Unable to format circle"
+msgstr ""
+
+#: ../utils/adt/geo_ops.c:4383
+msgid "Unable to convert circle to polygon"
+msgstr ""
+
+#: ../utils/adt/geo_ops.c:4417 ../utils/adt/geo_ops.c:4438
+msgid "Unable to convert polygon to circle"
+msgstr ""
+
+#: ../utils/adt/int.c:96
+msgid "int2vector value has too many values"
+msgstr ""
+
+#: ../utils/adt/int.c:250
+#, c-format
+msgid "i4toi2: '%d' causes int2 underflow"
+msgstr ""
+
+#: ../utils/adt/int.c:252
+#, c-format
+msgid "i4toi2: '%d' causes int2 overflow"
+msgstr ""
+
+#. require at least one digit
+#: ../utils/adt/int8.c:77 ../utils/adt/int8.c:87
+#, c-format
+msgid "Bad int8 external representation \"%s\""
+msgstr ""
+
+#. overflow?
+#: ../utils/adt/int8.c:83
+#, c-format
+msgid "int8 value out of range: \"%s\""
+msgstr ""
+
+#: ../utils/adt/int8.c:106
+msgid "Unable to format int8"
+msgstr ""
+
+#: ../utils/adt/int8.c:676
+msgid "int8 conversion to int4 is out of range"
+msgstr ""
+
+#: ../utils/adt/int8.c:714
+msgid "Floating point conversion to int8 is out of range"
+msgstr ""
+
+#: ../utils/adt/oid.c:46
+#, c-format
+msgid "%s: error reading \"%s\": %m"
+msgstr ""
+
+#: ../utils/adt/oid.c:49 ../utils/adt/oid.c:63
+#, c-format
+msgid "%s: error in \"%s\": can't parse \"%s\""
+msgstr ""
+
+#: ../utils/adt/oid.c:84
+#, c-format
+msgid "%s: error reading \"%s\": %s"
+msgstr ""
+
+#: ../utils/adt/oid.c:138
+msgid "oidvector value has too many values"
+msgstr ""
+
+#: ../utils/adt/like.c:351
+msgid "ESCAPE string must be empty or one character"
+msgstr ""
+
+#: ../utils/adt/mac.c:53
+#, c-format
+msgid "macaddr_in: error in parsing \"%s\""
+msgstr ""
+
+#: ../utils/adt/mac.c:58
+#, c-format
+msgid "macaddr_in: illegal address \"%s\""
+msgstr ""
+
+#: ../utils/adt/mac.c:144
+msgid "Text is too long to convert to MAC address"
+msgstr ""
+
+#: ../utils/adt/nabstime.c:250 ../utils/adt/nabstime.c:265
+#, c-format
+msgid "Invalid timezone '%s'"
+msgstr ""
+
+#: ../utils/adt/nabstime.c:347
+#, c-format
+msgid "Bad (length) abstime external representation '%s'"
+msgstr ""
+
+#: ../utils/adt/nabstime.c:351
+#, c-format
+msgid "Bad abstime external representation '%s'"
+msgstr ""
+
+#: ../utils/adt/nabstime.c:380
+#, c-format
+msgid "Bad abstime (internal coding error) '%s'"
+msgstr ""
+
+#: ../utils/adt/nabstime.c:645
+#, c-format
+msgid "Bad (length) reltime external representation '%s'"
+msgstr ""
+
+#: ../utils/adt/nabstime.c:649
+#, c-format
+msgid "Bad reltime external representation '%s'"
+msgstr ""
+
+#: ../utils/adt/nabstime.c:662
+#, c-format
+msgid "Bad reltime (internal coding error) '%s'"
+msgstr ""
+
+#. Go for an IPV6 address here, before faulting out:
+#: ../utils/adt/network.c:64
+#, c-format
+msgid "invalid %s value '%s'"
+msgstr ""
+
+#: ../utils/adt/network.c:75
+#, c-format
+msgid "invalid CIDR value '%s': has bits set to right of mask"
+msgstr ""
+
+#: ../utils/adt/network.c:127 ../utils/adt/network.c:424
+#, c-format
+msgid "unable to print address (%s)"
+msgstr ""
+
+#. Go for an IPV6 address here, before faulting out:
+#: ../utils/adt/network.c:137 ../utils/adt/network.c:357
+#: ../utils/adt/network.c:394 ../utils/adt/network.c:428
+#: ../utils/adt/network.c:474 ../utils/adt/network.c:514
+#: ../utils/adt/network.c:556
+#, c-format
+msgid "unknown address family (%d)"
+msgstr ""
+
+#. Go for an IPV6 address here, before faulting out:
+#: ../utils/adt/network.c:181 ../utils/adt/network.c:270
+#: ../utils/adt/network.c:290 ../utils/adt/network.c:310
+#: ../utils/adt/network.c:330
+#, c-format
+msgid "cannot compare address families %d and %d"
+msgstr ""
+
+#: ../utils/adt/network.c:353 ../utils/adt/network.c:384
+#, c-format
+msgid "unable to print host (%s)"
+msgstr ""
+
+#: ../utils/adt/not_in.c:65
+msgid "int4notin: must provide relationname.attributename"
+msgstr ""
+
+#: ../utils/adt/not_in.c:76
+#, c-format
+msgid "int4notin: unknown attribute %s for relation %s"
+msgstr ""
+
+#: ../utils/adt/numeric.c:1490
+msgid "Cannot convert NaN to int4"
+msgstr ""
+
+#: ../utils/adt/numeric.c:1540
+msgid "Cannot convert NaN to int8"
+msgstr ""
+
+#: ../utils/adt/numeric.c:1591
+msgid "Cannot convert NaN to int2"
+msgstr ""
+
+#: ../utils/adt/numeric.c:1728
+msgid "do_numeric_accum: expected 3-element numeric array"
+msgstr ""
+
+#: ../utils/adt/numeric.c:1815
+msgid "numeric_avg: expected 3-element numeric array"
+msgstr ""
+
+#: ../utils/adt/numeric.c:1850
+msgid "numeric_variance: expected 3-element numeric array"
+msgstr ""
+
+#: ../utils/adt/numeric.c:1917
+msgid "numeric_stddev: expected 3-element numeric array"
+msgstr ""
+
+#: ../utils/adt/numeric.c:2242 ../utils/adt/numeric.c:2257
+#: ../utils/adt/numeric.c:2275 ../utils/adt/numeric.c:2279
+#: ../utils/adt/numeric.c:2290
+#, c-format
+msgid "Bad numeric input format '%s'"
+msgstr ""
+
+#: ../utils/adt/numeric.c:2609
+#, c-format
+msgid ""
+"overflow on numeric ABS(value) >= 10^%d for field with precision %d scale %d"
+msgstr ""
+
+#: ../utils/adt/numeric.c:3023
+msgid "division by zero on numeric"
+msgstr ""
+
+#: ../utils/adt/numeric.c:3328
+msgid "math error on numeric - cannot compute SQRT of negative value"
+msgstr ""
+
+#: ../utils/adt/numeric.c:3414
+msgid "argument for EXP() too big"
+msgstr ""
+
+#: ../utils/adt/numeric.c:3481
+msgid "math error on numeric - cannot compute LN of value <= zero"
+msgstr ""
+
+#: ../utils/adt/numutils.c:61
+msgid "pg_atoi: NULL pointer!"
+msgstr ""
+
+#: ../utils/adt/numutils.c:73 ../utils/adt/numutils.c:85
+#: ../utils/adt/numutils.c:90 ../utils/adt/numutils.c:98
+#: ../utils/adt/numutils.c:103 ../utils/adt/numutils.c:110
+#: ../utils/adt/numutils.c:115
+#, c-format
+msgid "pg_atoi: error reading \"%s\": %m"
+msgstr ""
+
+#: ../utils/adt/numutils.c:75
+#, c-format
+msgid "pg_atoi: error in \"%s\": can't parse \"%s\""
+msgstr ""
+
+#: ../utils/adt/numutils.c:119
+#, c-format
+msgid "pg_atoi: invalid result size: %d"
+msgstr ""
+
+#: ../utils/adt/varbit.c:102 ../utils/adt/varbit.c:218
+#, c-format
+msgid "bit string length does not match type bit(%d)"
+msgstr ""
+
+#: ../utils/adt/varbit.c:123 ../utils/adt/varbit.c:331
+#, c-format
+msgid "cannot parse %c as a binary digit"
+msgstr ""
+
+#: ../utils/adt/varbit.c:144 ../utils/adt/varbit.c:352
+#, c-format
+msgid "cannot parse %c as a hex digit"
+msgstr ""
+
+#: ../utils/adt/varbit.c:310 ../utils/adt/varbit.c:425
+#, c-format
+msgid "bit string too long for type bit varying(%d)"
+msgstr ""
+
+#: ../utils/adt/varbit.c:818
+msgid "cannot AND bit strings of different sizes"
+msgstr ""
+
+#: ../utils/adt/varbit.c:856
+msgid "cannot OR bit strings of different sizes"
+msgstr ""
+
+#: ../utils/adt/varbit.c:900
+msgid "cannot XOR bit strings of different sizes"
+msgstr ""
+
+#: ../utils/adt/varbit.c:1115
+msgid "bit string is too large to fit in type integer"
+msgstr ""
+
+#: ../utils/adt/varbit.c:1203
+#, c-format
+msgid "S. %d %d em=%2x sm=%2x r=%d"
+msgstr ""
+
+#: ../utils/adt/pg_locale.c:60
+#, c-format
+msgid ""
+"CURRENT LOCALE ENVIRONMENT:\n"
+"\n"
+"LANG:   \t%s\n"
+"LC_CTYPE:\t%s\n"
+"LC_NUMERIC:\t%s\n"
+"LC_TIME:\t%s\n"
+"LC_COLLATE:\t%s\n"
+"LC_MONETARY:\t%s\n"
+"LC_MESSAGES:\t%s\n"
+msgstr ""
+
+#: ../utils/adt/pg_locale.c:62
+#, c-format
+msgid ""
+"CURRENT LOCALE ENVIRONMENT:\n"
+"\n"
+"LANG:   \t%s\n"
+"LC_CTYPE:\t%s\n"
+"LC_NUMERIC:\t%s\n"
+"LC_TIME:\t%s\n"
+"LC_COLLATE:\t%s\n"
+"LC_MONETARY:\t%s\n"
+msgstr ""
+
+#: ../utils/adt/pg_locale.c:91
+#, c-format
+msgid "pg_setlocale(): 'LC_COLLATE=%s' cannot be honored."
+msgstr ""
+
+#: ../utils/adt/pg_locale.c:95
+#, c-format
+msgid "pg_setlocale(): 'LC_CTYPE=%s' cannot be honored."
+msgstr ""
+
+#: ../utils/adt/pg_locale.c:99
+#, c-format
+msgid "pg_setlocale(): 'LC_NUMERIC=%s' cannot be honored."
+msgstr ""
+
+#: ../utils/adt/pg_locale.c:103
+#, c-format
+msgid "pg_setlocale(): 'LC_TIME=%s' cannot be honored."
+msgstr ""
+
+#: ../utils/adt/pg_locale.c:107
+#, c-format
+msgid "pg_setlocale(): 'LC_MONETARY=%s' cannot be honored."
+msgstr ""
+
+#: ../utils/adt/pg_locale.c:112
+#, c-format
+msgid "pg_setlocale(): 'LC_MESSAGE=%s' cannot be honored."
+msgstr ""
+
+#: ../utils/adt/regexp.c:144
+#, c-format
+msgid "Invalid regular expression: %s"
+msgstr ""
+
+#: ../utils/adt/regproc.c:64
+#, c-format
+msgid "No procedure with oid %s"
+msgstr ""
+
+#: ../utils/adt/regproc.c:110
+#, c-format
+msgid ""
+"There is more than one procedure named %s.\n"
+"\tSupply the pg_proc oid inside single quotes."
+msgstr ""
+
+#: ../utils/adt/regproc.c:112 ../utils/adt/regproc.c:148
+#, c-format
+msgid "No procedure with name %s"
+msgstr ""
+
+#: ../utils/adt/regproc.c:133
+#, c-format
+msgid "regprocin: could not begin scan of %s"
+msgstr ""
+
+#: ../utils/adt/regproc.c:145
+#, c-format
+msgid "regprocin: null procedure %s"
+msgstr ""
+
+#: ../utils/adt/regproc.c:213
+#, c-format
+msgid "regprocout: could not begin scan of %s"
+msgstr ""
+
+#: ../utils/adt/regproc.c:227
+#, c-format
+msgid "regprocout: null procedure %u"
+msgstr ""
+
+#: ../utils/adt/ruleutils.c:178
+msgid "get_ruledef: cannot connect to SPI manager"
+msgstr ""
+
+#: ../utils/adt/ruleutils.c:193 ../utils/adt/ruleutils.c:286
+#: ../utils/adt/ruleutils.c:377 ../utils/adt/ruleutils.c:383
+#, c-format
+msgid "SPI_prepare() failed for \"%s\""
+msgstr ""
+
+#: ../utils/adt/ruleutils.c:205
+#, c-format
+msgid "failed to get pg_rewrite tuple for %s"
+msgstr ""
+
+#: ../utils/adt/ruleutils.c:209 ../utils/adt/ruleutils.c:234
+msgid "get_ruledef: SPI_finish() failed"
+msgstr ""
+
+#: ../utils/adt/ruleutils.c:271
+msgid "get_viewdef: cannot connect to SPI manager"
+msgstr ""
+
+#: ../utils/adt/ruleutils.c:299
+#, c-format
+msgid "failed to get pg_rewrite tuple for view %s"
+msgstr ""
+
+#: ../utils/adt/ruleutils.c:324 ../utils/adt/ruleutils.c:552
+msgid "get_viewdef: SPI_finish() failed"
+msgstr ""
+
+#: ../utils/adt/ruleutils.c:364
+msgid "get_indexdef: cannot connect to SPI manager"
+msgstr ""
+
+#: ../utils/adt/ruleutils.c:394
+#, c-format
+msgid "syscache lookup for index %u failed"
+msgstr ""
+
+#: ../utils/adt/ruleutils.c:404 ../utils/adt/ruleutils.c:414
+#, c-format
+msgid "syscache lookup for relid %u failed"
+msgstr ""
+
+#: ../utils/adt/ruleutils.c:425 ../utils/adt/ruleutils.c:428
+#, c-format
+msgid "failed to get pg_am tuple for index %s"
+msgstr ""
+
+#: ../utils/adt/ruleutils.c:475 ../utils/adt/ruleutils.c:477
+#: ../utils/adt/ruleutils.c:511 ../utils/adt/ruleutils.c:513
+#, c-format
+msgid "failed to get pg_opclass tuple %u"
+msgstr ""
+
+#: ../utils/adt/ruleutils.c:732
+#, c-format
+msgid "get_ruledef: rule %s has unsupported event type %d"
+msgstr ""
+
+#: ../utils/adt/ruleutils.c:916
+#, c-format
+msgid "get_ruledef of %s: query command type %d not implemented yet"
+msgstr ""
+
+#: ../utils/adt/ruleutils.c:1136
+#, c-format
+msgid "get_setop_query: unexpected set op %d"
+msgstr ""
+
+#: ../utils/adt/ruleutils.c:1147
+#, c-format
+msgid "get_setop_query: unexpected node %d"
+msgstr ""
+
+#: ../utils/adt/ruleutils.c:1230
+msgid "get_insert_query_def: too many RTEs in INSERT!"
+msgstr ""
+
+#: ../utils/adt/ruleutils.c:1377
+msgid "get_utility_query_def: unexpected statement type"
+msgstr ""
+
+#: ../utils/adt/ruleutils.c:1404
+#, c-format
+msgid "get_names_for_var: bogus varlevelsup %d"
+msgstr ""
+
+#: ../utils/adt/ruleutils.c:1549
+#, c-format
+msgid "find_alias_in_namespace: unexpected node type %d"
+msgstr ""
+
+#. If we get here, there was something weird in a JOIN's colvars list
+#: ../utils/adt/ruleutils.c:1660
+#, c-format
+msgid "phony_equal: unexpected node type %d"
+msgstr ""
+
+#: ../utils/adt/ruleutils.c:1745
+#, c-format
+msgid "cache lookup for operator %u failed"
+msgstr ""
+
+#: ../utils/adt/ruleutils.c:1762
+msgid "get_rule_expr: bogus oprkind"
+msgstr ""
+
+#: ../utils/adt/ruleutils.c:1802
+#, c-format
+msgid "get_rule_expr: expr opType %d not supported"
+msgstr ""
+
+#: ../utils/adt/ruleutils.c:1885
+#, c-format
+msgid "Argument type %s of FieldSelect is not a tuple type"
+msgstr ""
+
+#: ../utils/adt/ruleutils.c:1957
+#, c-format
+msgid "get_ruledef of %s: unknown node type %d in get_rule_expr()"
+msgstr ""
+
+#: ../utils/adt/ruleutils.c:2284
+#, c-format
+msgid "get_sublink_expr: unsupported sublink type %d"
+msgstr ""
+
+#: ../utils/adt/ruleutils.c:2428
+#, c-format
+msgid "get_from_clause_item: unknown join type %d"
+msgstr ""
+
+#: ../utils/adt/ruleutils.c:2479
+#, c-format
+msgid "get_from_clause_item: unexpected node type %d"
+msgstr ""
+
+#: ../utils/adt/ruleutils.c:2508
+msgid "tleIsArrayAssign: I'm confused ..."
+msgstr ""
+
+#: ../utils/adt/selfuncs.c:806
+#, c-format
+msgid "patternsel: no = operator for type %u"
+msgstr ""
+
+#.
+#. * Can't get here unless someone tries to use scalarltsel/scalargtsel
+#. * on an operator with one numeric and one non-numeric operand.
+#.
+#: ../utils/adt/selfuncs.c:1441
+#, c-format
+msgid "convert_numeric_to_scalar: unsupported type %u"
+msgstr ""
+
+#.
+#. * Can't get here unless someone tries to use scalarltsel on
+#. * an operator with one string and one non-string operand.
+#.
+#: ../utils/adt/selfuncs.c:1632
+#, c-format
+msgid "convert_string_datum: unsupported type %u"
+msgstr ""
+
+#.
+#. * Can't get here unless someone tries to use scalarltsel/scalargtsel
+#. * on an operator with one timevalue and one non-timevalue operand.
+#.
+#: ../utils/adt/selfuncs.c:1701
+#, c-format
+msgid "convert_timevalue_to_scalar: unsupported type %u"
+msgstr ""
+
+#: ../utils/adt/selfuncs.c:2093
+msgid "pattern_fixed_prefix: bogus ptype"
+msgstr ""
+
+#: ../utils/adt/selfuncs.c:2122
+#, c-format
+msgid "prefix_selectivity: no >= operator for type %u"
+msgstr ""
+
+#: ../utils/adt/selfuncs.c:2145
+#, c-format
+msgid "prefix_selectivity: no < operator for type %u"
+msgstr ""
+
+#: ../utils/adt/selfuncs.c:2383
+msgid "pattern_selectivity: bogus ptype"
+msgstr ""
+
+#: ../utils/adt/selfuncs.c:2530
+#, c-format
+msgid "string_lessthan: unexpected datatype %u"
+msgstr ""
+
+#: ../utils/adt/sets.c:86
+#, c-format
+msgid "SetDefine: unable to define set %s"
+msgstr ""
+
+#: ../utils/adt/tid.c:54
+#, c-format
+msgid "invalid tid format: '%s'"
+msgstr ""
+
+#: ../utils/adt/tid.c:174
+#, c-format
+msgid "Relation %s not found"
+msgstr ""
+
+#: ../utils/adt/timestamp.c:64
+#, c-format
+msgid "Bad timestamp external representation '%s'"
+msgstr ""
+
+#: ../utils/adt/timestamp.c:70
+#, c-format
+msgid "Timestamp out of range '%s'"
+msgstr ""
+
+#: ../utils/adt/timestamp.c:94
+#, c-format
+msgid "Internal coding error, can't input timestamp '%s'"
+msgstr ""
+
+#: ../utils/adt/timestamp.c:158 ../utils/adt/timestamp.c:170
+#, c-format
+msgid "Bad interval external representation '%s'"
+msgstr ""
+
+#: ../utils/adt/timestamp.c:175
+#, c-format
+msgid "Internal coding error, can't input interval '%s'"
+msgstr ""
+
+#: ../utils/adt/timestamp.c:198
+msgid "Unable to format interval"
+msgstr ""
+
+#: ../utils/adt/timestamp.c:996
+msgid "Unable to add timestamp and interval"
+msgstr ""
+
+#: ../utils/adt/timestamp.c:1206
+msgid "interval_div:  divide by 0.0 error"
+msgstr ""
+
+#: ../utils/adt/timestamp.c:1243
+msgid "interval_accum: expected 2-element interval array"
+msgstr ""
+
+#: ../utils/adt/timestamp.c:1282
+msgid "interval_avg: expected 2-element interval array"
+msgstr ""
+
+#: ../utils/adt/timestamp.c:1409 ../utils/adt/timestamp.c:1412
+msgid "Unable to decode timestamp"
+msgstr ""
+
+#: ../utils/adt/timestamp.c:1465
+msgid "Bad timestamp external representation (too long)"
+msgstr ""
+
+#: ../utils/adt/timestamp.c:1520
+msgid "Bad interval external representation (too long)"
+msgstr ""
+
+#: ../utils/adt/timestamp.c:1553 ../utils/adt/timestamp.c:1653
+#: ../utils/adt/timestamp.c:1736 ../utils/adt/timestamp.c:1849
+#: ../utils/adt/timestamp.c:2005 ../utils/adt/timestamp.c:2104
+#, c-format
+msgid "Interval units '%s' not recognized"
+msgstr ""
+
+#: ../utils/adt/timestamp.c:1605 ../utils/adt/timestamp.c:1939
+#: ../utils/adt/timestamp.c:1969
+#, c-format
+msgid "Timestamp units '%s' not supported"
+msgstr ""
+
+#: ../utils/adt/timestamp.c:1612
+#, c-format
+msgid "Unable to truncate timestamp to '%s'"
+msgstr ""
+
+#: ../utils/adt/timestamp.c:1623 ../utils/adt/timestamp.c:1976
+#, c-format
+msgid "Timestamp units '%s' not recognized"
+msgstr ""
+
+#: ../utils/adt/timestamp.c:1667 ../utils/adt/timestamp.c:2021
+msgid "Interval is not finite"
+msgstr ""
+
+#: ../utils/adt/timestamp.c:1708
+#, c-format
+msgid "Interval units '%s' not supported"
+msgstr ""
+
+#: ../utils/adt/timestamp.c:1713
+#, c-format
+msgid "Unable to truncate interval to '%s'"
+msgstr ""
+
+#: ../utils/adt/timestamp.c:1718 ../utils/adt/timestamp.c:2089
+msgid "Interval out of range"
+msgstr ""
+
+#: ../utils/adt/timestamp.c:1758
+msgid "isoweek2date(): can't convert without year information"
+msgstr ""
+
+#: ../utils/adt/timestamp.c:1955 ../utils/adt/timestamp.c:1962
+msgid "Unable to encode timestamp"
+msgstr ""
+
+#: ../utils/adt/timestamp.c:2080
+#, c-format
+msgid "Interval units '%s' not yet supported"
+msgstr ""
+
+#: ../utils/adt/timestamp.c:2140 ../utils/adt/timestamp.c:2182
+#, c-format
+msgid "Time zone '%s' not recognized"
+msgstr ""
+
+#: ../utils/adt/timestamp.c:2162 ../utils/adt/timestamp.c:2221
+msgid "Timestamp not legal"
+msgstr ""
+
+#: ../utils/adt/timestamp.c:2212
+msgid "INTERVAL time zone not legal (month specified)"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:185
+msgid "RI_FKey_check() not fired by trigger manager"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:188
+msgid "RI_FKey_check() must be fired AFTER ROW"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:191
+msgid "RI_FKey_check() must be fired for INSERT or UPDATE"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:199
+msgid "wrong # of arguments in call to RI_FKey_check()"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:201
+#, c-format
+msgid "too many keys (%d max) in call to RI_FKey_check()"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:264 ../utils/adt/ri_triggers.c:375
+msgid "SPI_connect() failed in RI_FKey_check()"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:271 ../utils/adt/ri_triggers.c:454
+msgid "SPI_execp() failed in RI_FKey_check()"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:276
+#, c-format
+msgid "%s referential integrity violation - no rows found in %s"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:282 ../utils/adt/ri_triggers.c:466
+msgid "SPI_finish() failed in RI_FKey_check()"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:292 ../utils/adt/ri_triggers.c:697
+#: ../utils/adt/ri_triggers.c:911 ../utils/adt/ri_triggers.c:1104
+#: ../utils/adt/ri_triggers.c:1328 ../utils/adt/ri_triggers.c:1539
+#: ../utils/adt/ri_triggers.c:1761 ../utils/adt/ri_triggers.c:1965
+#: ../utils/adt/ri_triggers.c:2219 ../utils/adt/ri_triggers.c:2470
+#: ../utils/adt/ri_triggers.c:2750 ../utils/adt/ri_triggers.c:2832
+msgid "MATCH PARTIAL not yet supported"
+msgstr ""
+
+#.
+#. * Not allowed - MATCH FULL says either all or none of
+#. * the attributes can be NULLs
+#.
+#: ../utils/adt/ri_triggers.c:328
+#, c-format
+msgid ""
+"%s referential integrity violation - MATCH FULL doesn't allow mixing of NULL "
+"and NON-NULL key values"
+msgstr ""
+
+#.
+#. * MATCH PARTIAL - all non-null columns must match.
+#. * (not implemented, can be done by modifying the
+#. * query below to only include non-null columns, or by
+#. * writing a special version here)
+#.
+#: ../utils/adt/ri_triggers.c:352
+msgid "MATCH PARTIAL not yet implemented"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:459
+#, c-format
+msgid ""
+"%s referential integrity violation - key referenced from %s not found in %s"
+msgstr ""
+
+#.
+#. * Never reached
+#.
+#: ../utils/adt/ri_triggers.c:473
+msgid "internal error #1 in ri_triggers.c"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:538
+msgid "RI_FKey_noaction_del() not fired by trigger manager"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:541
+msgid "RI_FKey_noaction_del() must be fired AFTER ROW"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:543
+msgid "RI_FKey_noaction_del() must be fired for DELETE"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:551
+msgid "wrong # of arguments in call to RI_FKey_noaction_del()"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:553
+#, c-format
+msgid "too many keys (%d max) in call to RI_FKey_noaction_del()"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:608
+msgid "SPI_connect() failed in RI_FKey_noaction_del()"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:677
+msgid "SPI_execp() failed in RI_FKey_noaction_del()"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:682 ../utils/adt/ri_triggers.c:896
+#: ../utils/adt/ri_triggers.c:1524 ../utils/adt/ri_triggers.c:1746
+#, c-format
+msgid "%s referential integrity violation - key in %s still referenced from %s"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:689
+msgid "SPI_finish() failed in RI_FKey_noaction_del()"
+msgstr ""
+
+#.
+#. * Never reached
+#.
+#: ../utils/adt/ri_triggers.c:704
+msgid "internal error #2 in ri_triggers.c"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:744
+msgid "RI_FKey_noaction_upd() not fired by trigger manager"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:747
+msgid "RI_FKey_noaction_upd() must be fired AFTER ROW"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:749
+msgid "RI_FKey_noaction_upd() must be fired for UPDATE"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:757
+msgid "wrong # of arguments in call to RI_FKey_noaction_upd()"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:759
+#, c-format
+msgid "too many keys (%d max) in call to RI_FKey_noaction_upd()"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:822
+msgid "SPI_connect() failed in RI_FKey_noaction_upd()"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:891
+msgid "SPI_execp() failed in RI_FKey_noaction_upd()"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:903
+msgid "SPI_finish() failed in RI_FKey_noaction_upd()"
+msgstr ""
+
+#.
+#. * Never reached
+#.
+#: ../utils/adt/ri_triggers.c:918
+msgid "internal error #3 in ri_triggers.c"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:954
+msgid "RI_FKey_cascade_del() not fired by trigger manager"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:957
+msgid "RI_FKey_cascade_del() must be fired AFTER ROW"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:959
+msgid "RI_FKey_cascade_del() must be fired for DELETE"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:967
+msgid "wrong # of arguments in call to RI_FKey_cascade_del()"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:969
+#, c-format
+msgid "too many keys (%d max) in call to RI_FKey_cascade_del()"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:1025
+msgid "SPI_connect() failed in RI_FKey_cascade_del()"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:1091
+msgid "SPI_execp() failed in RI_FKey_cascade_del()"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:1096
+msgid "SPI_finish() failed in RI_FKey_cascade_del()"
+msgstr ""
+
+#.
+#. * Never reached
+#.
+#: ../utils/adt/ri_triggers.c:1111
+msgid "internal error #4 in ri_triggers.c"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:1149
+msgid "RI_FKey_cascade_upd() not fired by trigger manager"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:1152
+msgid "RI_FKey_cascade_upd() must be fired AFTER ROW"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:1154
+msgid "RI_FKey_cascade_upd() must be fired for UPDATE"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:1162
+msgid "wrong # of arguments in call to RI_FKey_cascade_upd()"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:1164
+#, c-format
+msgid "too many keys (%d max) in call to RI_FKey_cascade_upd()"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:1228
+msgid "SPI_connect() failed in RI_FKey_cascade_upd()"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:1315
+msgid "SPI_execp() failed in RI_FKey_cascade_upd()"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:1320
+msgid "SPI_finish() failed in RI_FKey_cascade_upd()"
+msgstr ""
+
+#.
+#. * Never reached
+#.
+#: ../utils/adt/ri_triggers.c:1335
+msgid "internal error #5 in ri_triggers.c"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:1378
+msgid "RI_FKey_restrict_del() not fired by trigger manager"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:1381
+msgid "RI_FKey_restrict_del() must be fired AFTER ROW"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:1383
+msgid "RI_FKey_restrict_del() must be fired for DELETE"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:1391
+msgid "wrong # of arguments in call to RI_FKey_restrict_del()"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:1393
+#, c-format
+msgid "too many keys (%d max) in call to RI_FKey_restrict_del()"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:1449
+msgid "SPI_connect() failed in RI_FKey_restrict_del()"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:1519
+msgid "SPI_execp() failed in RI_FKey_restrict_del()"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:1531
+msgid "SPI_finish() failed in RI_FKey_restrict_del()"
+msgstr ""
+
+#.
+#. * Never reached
+#.
+#: ../utils/adt/ri_triggers.c:1546
+msgid "internal error #6 in ri_triggers.c"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:1590
+msgid "RI_FKey_restrict_upd() not fired by trigger manager"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:1593
+msgid "RI_FKey_restrict_upd() must be fired AFTER ROW"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:1595
+msgid "RI_FKey_restrict_upd() must be fired for UPDATE"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:1603
+msgid "wrong # of arguments in call to RI_FKey_restrict_upd()"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:1605
+#, c-format
+msgid "too many keys (%d max) in call to RI_FKey_restrict_upd()"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:1669
+msgid "SPI_connect() failed in RI_FKey_restrict_upd()"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:1741
+msgid "SPI_execp() failed in RI_FKey_restrict_upd()"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:1753
+msgid "SPI_finish() failed in RI_FKey_restrict_upd()"
+msgstr ""
+
+#.
+#. * Never reached
+#.
+#: ../utils/adt/ri_triggers.c:1768
+msgid "internal error #7 in ri_triggers.c"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:1804
+msgid "RI_FKey_setnull_del() not fired by trigger manager"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:1807
+msgid "RI_FKey_setnull_del() must be fired AFTER ROW"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:1809
+msgid "RI_FKey_setnull_del() must be fired for DELETE"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:1817
+msgid "wrong # of arguments in call to RI_FKey_setnull_del()"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:1819
+#, c-format
+msgid "too many keys (%d max) in call to RI_FKey_setnull_del()"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:1875
+msgid "SPI_connect() failed in RI_FKey_setnull_del()"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:1952
+msgid "SPI_execp() failed in RI_FKey_setnull_del()"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:1957
+msgid "SPI_finish() failed in RI_FKey_setnull_del()"
+msgstr ""
+
+#.
+#. * Never reached
+#.
+#: ../utils/adt/ri_triggers.c:1972
+msgid "internal error #8 in ri_triggers.c"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:2011
+msgid "RI_FKey_setnull_upd() not fired by trigger manager"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:2014
+msgid "RI_FKey_setnull_upd() must be fired AFTER ROW"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:2016
+msgid "RI_FKey_setnull_upd() must be fired for UPDATE"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:2024
+msgid "wrong # of arguments in call to RI_FKey_setnull_upd()"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:2026
+#, c-format
+msgid "too many keys (%d max) in call to RI_FKey_setnull_upd()"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:2092
+msgid "SPI_connect() failed in RI_FKey_setnull_upd()"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:2206
+msgid "SPI_execp() failed in RI_FKey_setnull_upd()"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:2211
+msgid "SPI_finish() failed in RI_FKey_setnull_upd()"
+msgstr ""
+
+#.
+#. * Never reached
+#.
+#: ../utils/adt/ri_triggers.c:2226
+msgid "internal error #9 in ri_triggers.c"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:2262
+msgid "RI_FKey_setdefault_del() not fired by trigger manager"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:2265
+msgid "RI_FKey_setdefault_del() must be fired AFTER ROW"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:2267
+msgid "RI_FKey_setdefault_del() must be fired for DELETE"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:2275
+msgid "wrong # of arguments in call to RI_FKey_setdefault_del()"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:2277
+#, c-format
+msgid "too many keys (%d max) in call to RI_FKey_setdefault_del()"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:2332
+msgid "SPI_connect() failed in RI_FKey_setdefault_del()"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:2457
+msgid "SPI_execp() failed in RI_FKey_setdefault_del()"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:2462
+msgid "SPI_finish() failed in RI_FKey_setdefault_del()"
+msgstr ""
+
+#.
+#. * Never reached
+#.
+#: ../utils/adt/ri_triggers.c:2477
+msgid "internal error #10 in ri_triggers.c"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:2515
+msgid "RI_FKey_setdefault_upd() not fired by trigger manager"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:2518
+msgid "RI_FKey_setdefault_upd() must be fired AFTER ROW"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:2520
+msgid "RI_FKey_setdefault_upd() must be fired for UPDATE"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:2528
+msgid "wrong # of arguments in call to RI_FKey_setdefault_upd()"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:2530
+#, c-format
+msgid "too many keys (%d max) in call to RI_FKey_setdefault_upd()"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:2595
+msgid "SPI_connect() failed in RI_FKey_setdefault_upd()"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:2737
+msgid "SPI_execp() failed in RI_FKey_setdefault_upd()"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:2742
+msgid "SPI_finish() failed in RI_FKey_setdefault_upd()"
+msgstr ""
+
+#.
+#. * Never reached
+#.
+#: ../utils/adt/ri_triggers.c:2757
+msgid "internal error #11 in ri_triggers.c"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:2788
+msgid "wrong # of arguments in call to RI_FKey_keyequal_upd()"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:2790
+#, c-format
+msgid "too many keys (%d max) in call to RI_FKey_keyequal_upd()"
+msgstr ""
+
+#.
+#. * Never reached
+#.
+#: ../utils/adt/ri_triggers.c:2839
+msgid "internal error #12 in ri_triggers.c"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:2872
+#, c-format
+msgid "unrecognized referential integrity MATCH type '%s'"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:2922 ../utils/adt/ri_triggers.c:2930
+#, c-format
+msgid "constraint %s: table %s does not have an attribute %s"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:3028
+msgid "error in RI plan cache"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:3059
+msgid "can't insert into RI plan cache"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:3236
+msgid "error in RI operator cache"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:3254
+#, c-format
+msgid "ri_AttributesEqual(): cannot find '=' operator for type %u"
+msgstr ""
+
+#: ../utils/adt/ri_triggers.c:3263
+msgid "can't insert into RI operator cache"
+msgstr ""
+
+#: ../utils/adt/varlena.c:63
+msgid "Bad input string for type bytea"
+msgstr ""
+
+#: ../utils/adt/varlena.c:683
+#, c-format
+msgid "byteaGetByte: index %d out of range [0..%d]"
+msgstr ""
+
+#: ../utils/adt/varlena.c:712
+#, c-format
+msgid "byteaGetBit: index %d out of range [0..%d]"
+msgstr ""
+
+#: ../utils/adt/varlena.c:746
+#, c-format
+msgid "byteaSetByte: index %d out of range [0..%d]"
+msgstr ""
+
+#: ../utils/adt/varlena.c:787
+#, c-format
+msgid "byteaSetBit: index %d out of range [0..%d]"
+msgstr ""
+
+#: ../utils/adt/varlena.c:797
+msgid "byteaSetBit: new bit must be 0 or 1"
+msgstr ""
+
+#: ../utils/adt/varchar.c:95 ../utils/adt/varchar.c:178
+#: ../utils/adt/varchar.c:185
+#, c-format
+msgid "value too long for type character(%d)"
+msgstr ""
+
+#: ../utils/adt/varchar.c:368 ../utils/adt/varchar.c:437
+#: ../utils/adt/varchar.c:445
+#, c-format
+msgid "value too long for type character varying(%d)"
+msgstr ""
+
+#: ../utils/fmgr/dfmgr.c:92
+#, c-format
+msgid "stat failed on file '%s': %m"
+msgstr ""
+
+#: ../utils/fmgr/dfmgr.c:110
+msgid "Out of memory in load_external_function"
+msgstr ""
+
+#: ../utils/fmgr/dfmgr.c:123
+#, c-format
+msgid "Load of file %s failed: %s"
+msgstr ""
+
+#: ../utils/fmgr/dfmgr.c:143
+#, c-format
+msgid "Can't find function %s in file %s"
+msgstr ""
+
+#: ../utils/fmgr/dfmgr.c:171
+#, c-format
+msgid "LOAD: could not open file '%s': %m"
+msgstr ""
+
+#: ../utils/fmgr/dfmgr.c:215
+#, c-format
+msgid "stat failed on %s: %s"
+msgstr ""
+
+#: ../utils/fmgr/dfmgr.c:302
+msgid "invalid macro name in dynamic library path"
+msgstr ""
+
+#: ../utils/fmgr/dfmgr.c:350
+msgid "zero length dynamic_library_path component"
+msgstr ""
+
+#: ../utils/fmgr/dfmgr.c:360
+msgid "dynamic_library_path component is not absolute"
+msgstr ""
+
+#: ../utils/fmgr/dfmgr.c:366
+#, c-format
+msgid "find_in_dynamic_libpath: trying %s"
+msgstr ""
+
+#: ../utils/fmgr/fmgr.c:154
+#, c-format
+msgid "fmgr_info: function %u: cache lookup failed"
+msgstr ""
+
+#: ../utils/fmgr/fmgr.c:188
+#, c-format
+msgid "fmgr_info: function %s not in internal table"
+msgstr ""
+
+#: ../utils/fmgr/fmgr.c:234
+#, c-format
+msgid "fmgr: Could not extract prosrc for %u from pg_proc"
+msgstr ""
+
+#: ../utils/fmgr/fmgr.c:241
+#, c-format
+msgid "fmgr: Could not extract probin for %u from pg_proc"
+msgstr ""
+
+#. Shouldn't get here if fetch_finfo_record did its job
+#: ../utils/fmgr/fmgr.c:277
+#, c-format
+msgid "Unknown function API version %d"
+msgstr ""
+
+#: ../utils/fmgr/fmgr.c:302
+#, c-format
+msgid "fmgr_info: cache lookup for language %u failed"
+msgstr ""
+
+#: ../utils/fmgr/fmgr.c:318
+#, c-format
+msgid "fmgr_info: language %u has old-style handler"
+msgstr ""
+
+#: ../utils/fmgr/fmgr.c:323
+#, c-format
+msgid "fmgr_info: function %u: unsupported language %u"
+msgstr ""
+
+#: ../utils/fmgr/fmgr.c:369
+#, c-format
+msgid "Null result from %s"
+msgstr ""
+
+#: ../utils/fmgr/fmgr.c:377
+#, c-format
+msgid "Unknown version %d reported by %s"
+msgstr ""
+
+#: ../utils/fmgr/fmgr.c:417
+msgid "Internal error: fmgr_oldstyle received NULL pointer"
+msgstr ""
+
+#.
+#. * Increasing FUNC_MAX_ARGS doesn't automatically add cases to
+#. * the above code, so mention the actual value in this error
+#. * not FUNC_MAX_ARGS.  You could add cases to the above if you
+#. * needed to support old-style functions with many arguments,
+#. * but making 'em be new-style is probably a better idea.
+#.
+#: ../utils/fmgr/fmgr.c:566
+#, c-format
+msgid "fmgr_oldstyle: function %u: too many arguments (%d > %d)"
+msgstr ""
+
+#.
+#. * Currently these are unsupported.  Someday we might do something
+#. * like forking a subprocess to execute 'em.
+#.
+#: ../utils/fmgr/fmgr.c:587
+msgid "Untrusted functions not supported"
+msgstr ""
+
+#: ../utils/fmgr/fmgr.c:616
+#, c-format
+msgid "DirectFunctionCall1: function %p returned NULL"
+msgstr ""
+
+#: ../utils/fmgr/fmgr.c:637
+#, c-format
+msgid "DirectFunctionCall2: function %p returned NULL"
+msgstr ""
+
+#: ../utils/fmgr/fmgr.c:660
+#, c-format
+msgid "DirectFunctionCall3: function %p returned NULL"
+msgstr ""
+
+#: ../utils/fmgr/fmgr.c:684
+#, c-format
+msgid "DirectFunctionCall4: function %p returned NULL"
+msgstr ""
+
+#: ../utils/fmgr/fmgr.c:709
+#, c-format
+msgid "DirectFunctionCall5: function %p returned NULL"
+msgstr ""
+
+#: ../utils/fmgr/fmgr.c:736
+#, c-format
+msgid "DirectFunctionCall6: function %p returned NULL"
+msgstr ""
+
+#: ../utils/fmgr/fmgr.c:764
+#, c-format
+msgid "DirectFunctionCall7: function %p returned NULL"
+msgstr ""
+
+#: ../utils/fmgr/fmgr.c:793
+#, c-format
+msgid "DirectFunctionCall8: function %p returned NULL"
+msgstr ""
+
+#: ../utils/fmgr/fmgr.c:824
+#, c-format
+msgid "DirectFunctionCall9: function %p returned NULL"
+msgstr ""
+
+#: ../utils/fmgr/fmgr.c:850
+#, c-format
+msgid "FunctionCall1: function %u returned NULL"
+msgstr ""
+
+#: ../utils/fmgr/fmgr.c:872
+#, c-format
+msgid "FunctionCall2: function %u returned NULL"
+msgstr ""
+
+#: ../utils/fmgr/fmgr.c:896
+#, c-format
+msgid "FunctionCall3: function %u returned NULL"
+msgstr ""
+
+#: ../utils/fmgr/fmgr.c:921
+#, c-format
+msgid "FunctionCall4: function %u returned NULL"
+msgstr ""
+
+#: ../utils/fmgr/fmgr.c:947
+#, c-format
+msgid "FunctionCall5: function %u returned NULL"
+msgstr ""
+
+#: ../utils/fmgr/fmgr.c:975
+#, c-format
+msgid "FunctionCall6: function %u returned NULL"
+msgstr ""
+
+#: ../utils/fmgr/fmgr.c:1004
+#, c-format
+msgid "FunctionCall7: function %u returned NULL"
+msgstr ""
+
+#: ../utils/fmgr/fmgr.c:1034
+#, c-format
+msgid "FunctionCall8: function %u returned NULL"
+msgstr ""
+
+#: ../utils/fmgr/fmgr.c:1066
+#, c-format
+msgid "FunctionCall9: function %u returned NULL"
+msgstr ""
+
+#: ../utils/fmgr/fmgr.c:1097
+#, c-format
+msgid "OidFunctionCall1: function %u returned NULL"
+msgstr ""
+
+#: ../utils/fmgr/fmgr.c:1122
+#, c-format
+msgid "OidFunctionCall2: function %u returned NULL"
+msgstr ""
+
+#: ../utils/fmgr/fmgr.c:1149
+#, c-format
+msgid "OidFunctionCall3: function %u returned NULL"
+msgstr ""
+
+#: ../utils/fmgr/fmgr.c:1177
+#, c-format
+msgid "OidFunctionCall4: function %u returned NULL"
+msgstr ""
+
+#: ../utils/fmgr/fmgr.c:1206
+#, c-format
+msgid "OidFunctionCall5: function %u returned NULL"
+msgstr ""
+
+#: ../utils/fmgr/fmgr.c:1237
+#, c-format
+msgid "OidFunctionCall6: function %u returned NULL"
+msgstr ""
+
+#: ../utils/fmgr/fmgr.c:1269
+#, c-format
+msgid "OidFunctionCall7: function %u returned NULL"
+msgstr ""
+
+#: ../utils/fmgr/fmgr.c:1302
+#, c-format
+msgid "OidFunctionCall8: function %u returned NULL"
+msgstr ""
+
+#: ../utils/fmgr/fmgr.c:1337
+#, c-format
+msgid "OidFunctionCall9: function %u returned NULL"
+msgstr ""
+
+#: ../utils/fmgr/fmgr.c:1376
+#, c-format
+msgid "fmgr: function %u: too many arguments (%d > %d)"
+msgstr ""
+
+#: ../utils/fmgr/fmgr.c:1388
+#, c-format
+msgid "fmgr: function %u returned NULL"
+msgstr ""
+
+#: ../utils/cache/catcache.c:110
+#, c-format
+msgid "GetCCHashFunc: type %u unsupported as catcache key"
+msgstr ""
+
+#: ../utils/cache/catcache.c:168
+#, c-format
+msgid "CatalogCacheInitializeCache: cache @%p %s"
+msgstr ""
+
+#: ../utils/cache/catcache.c:174
+#, c-format
+msgid "CatalogCacheInitializeCache: load %d/%d w/%d, %u"
+msgstr ""
+
+#: ../utils/cache/catcache.c:178
+#, c-format
+msgid "CatalogCacheInitializeCache: load %d/%d w/%d"
+msgstr ""
+
+#: ../utils/cache/catcache.c:247
+msgid "CatalogCacheInit: only sys attr supported is OID"
+msgstr ""
+
+#: ../utils/cache/catcache.c:315
+#, c-format
+msgid "CCComputeHashIndex: %d cc_nkeys"
+msgstr ""
+
+#: ../utils/cache/catcache.c:380
+#, c-format
+msgid "CCComputeTupleHashIndex: %d cc_nkeys"
+msgstr ""
+
+#: ../utils/cache/catcache.c:512
+#, c-format
+msgid "Cache reference leak: cache %s (%d), tuple %u has count %d"
+msgstr ""
+
+#: ../utils/cache/catcache.c:614
+#, c-format
+msgid "InitCatCache: rel=%s id=%d nkeys=%d size=%d\n"
+msgstr ""
+
+#: ../utils/cache/catcache.c:732
+#, c-format
+msgid "SearchSelfReferences: %s not found in %s"
+msgstr ""
+
+#: ../utils/cache/fcache.c:46
+msgid "init_fcache: too many arguments"
+msgstr ""
+
+#: ../utils/cache/inval.c:242
+#, c-format
+msgid "CacheIdRegisterSpecifiedLocalInvalid(%d, %d, [%d, %d])"
+msgstr ""
+
+#: ../utils/cache/inval.c:246
+#, c-format
+msgid "CacheIdRegisterLocalInvalid(%d, %d, [%d, %d])"
+msgstr ""
+
+#: ../utils/cache/inval.c:250
+#, c-format
+msgid "CacheIdRegisterLocalRollback(%d, %d, [%d, %d])"
+msgstr ""
+
+#: ../utils/cache/inval.c:369
+#, c-format
+msgid "RelationRegisterSpecifiedLocalInvalid(%u, %u)"
+msgstr ""
+
+#: ../utils/cache/inval.c:406
+#, c-format
+msgid "RelationRegisterLocalInvalid(%u, %u)"
+msgstr ""
+
+#: ../utils/cache/inval.c:438
+#, c-format
+msgid "RelationRegisterLocalRollback(%u, %u)"
+msgstr ""
+
+#: ../utils/cache/inval.c:460
+#, c-format
+msgid "CacheIdInvalidate(%d, %d, 0x%x[%d])"
+msgstr ""
+
+#.
+#. * Yow! the caller asked us to invalidate something else.
+#. *
+#.
+#: ../utils/cache/inval.c:506
+#, c-format
+msgid "CacheIdInvalidate: cacheId=%d relation id?"
+msgstr ""
+
+#: ../utils/cache/inval.c:531
+#, c-format
+msgid "InvalidationMessageRegisterSharedInvalid(c, %d, %d, [%d, %d])"
+msgstr ""
+
+#: ../utils/cache/inval.c:538
+#, c-format
+msgid "InvalidationMessageRegisterSharedInvalid(r, %u, %u)"
+msgstr ""
+
+#: ../utils/cache/inval.c:571
+#, c-format
+msgid "InvalidationMessageRegisterSharedInvalid: `%c' kind"
+msgstr ""
+
+#: ../utils/cache/inval.c:582
+#, c-format
+msgid "InvalidationMessageCacheInvalidate(c, %d, %d, [%d, %d])"
+msgstr ""
+
+#: ../utils/cache/inval.c:588
+#, c-format
+msgid "InvalidationMessageCacheInvalidate(r, %u, %u)"
+msgstr ""
+
+#: ../utils/cache/inval.c:620
+#, c-format
+msgid "InvalidationMessageCacheInvalidate: `%c' kind"
+msgstr ""
+
+#: ../utils/cache/inval.c:680
+msgid "DiscardInvalid called"
+msgstr ""
+
+#: ../utils/cache/inval.c:703
+#, c-format
+msgid "RegisterInvalid(%d) called"
+msgstr ""
+
+#: ../utils/cache/inval.c:747
+#, c-format
+msgid "ImmediateLocalInvalidation(%d) called"
+msgstr ""
+
+#: ../utils/cache/inval.c:785
+#, c-format
+msgid "%s(%s, [%d,%d])"
+msgstr ""
+
+#: ../utils/cache/lsyscache.c:209
+#, c-format
+msgid "cache lookup failed for relation %u attribute %d"
+msgstr ""
+
+#: ../utils/cache/lsyscache.c:351
+#, c-format
+msgid "Operator OID %u does not exist"
+msgstr ""
+
+#: ../utils/cache/lsyscache.c:638
+#, c-format
+msgid "cache lookup failed for type %u"
+msgstr ""
+
+#: ../utils/cache/lsyscache.c:716
+#, c-format
+msgid "get_typdefault: failed to lookup type %u"
+msgstr ""
+
+#: ../utils/cache/lsyscache.c:948
+msgid "get_attstatsslot: stavalues is null"
+msgstr ""
+
+#: ../utils/cache/lsyscache.c:965
+#, c-format
+msgid "get_attstatsslot: Cache lookup failed for type %u"
+msgstr ""
+
+#: ../utils/cache/lsyscache.c:999
+msgid "get_attstatsslot: stanumbers is null"
+msgstr ""
+
+#: ../utils/cache/lsyscache.c:1009
+msgid "get_attstatsslot: stanumbers is bogus"
+msgstr ""
+
+#.
+#. *           macros to manipulate name cache and id cache
+#. *
+#.
+#: ../utils/cache/relcache.c:154 ../utils/cache/relcache.c:163
+#: ../utils/cache/relcache.c:172
+msgid "can't insert into relation descriptor cache"
+msgstr ""
+
+#. used to give notice -- now just keep quiet
+#: ../utils/cache/relcache.c:184 ../utils/cache/relcache.c:198
+#: ../utils/cache/relcache.c:212
+msgid "error in CACHE"
+msgstr ""
+
+#: ../utils/cache/relcache.c:229 ../utils/cache/relcache.c:236
+#: ../utils/cache/relcache.c:243
+msgid "can't delete from relation descriptor cache"
+msgstr ""
+
+#: ../utils/cache/relcache.c:231 ../utils/cache/relcache.c:238
+#: ../utils/cache/relcache.c:245
+msgid "trying to delete a reldesc that does not exist."
+msgstr ""
+
+#: ../utils/cache/relcache.c:349 ../utils/cache/relcache.c:418
+msgid "ScanPgRelation: bad buildinfo"
+msgstr ""
+
+#: ../utils/cache/relcache.c:637
+#, c-format
+msgid "catalog is missing %d attribute%s for relid %u"
+msgstr ""
+
+#: ../utils/cache/relcache.c:711
+#, c-format
+msgid "cannot find attribute %d of relation %s"
+msgstr ""
+
+#: ../utils/cache/relcache.c:1138
+#, c-format
+msgid "RelationBuildDesc: can't open %s: %m"
+msgstr ""
+
+#: ../utils/cache/relcache.c:1356
+#, c-format
+msgid "fixrdesc: no pg_class entry for %s"
+msgstr ""
+
+#: ../utils/cache/relcache.c:1366
+#, c-format
+msgid "fixrdesc: no existing relcache entry for %s"
+msgstr ""
+
+#: ../utils/cache/relcache.c:1612
+#, c-format
+msgid "RelationReloadClassinfo system relation id=%d doesn't exist"
+msgstr ""
+
+#: ../utils/cache/relcache.c:1741
+#, c-format
+msgid "RelationClearRelation: relation %u deleted while still in use"
+msgstr ""
+
+#: ../utils/cache/relcache.c:1846
+#, c-format
+msgid "Local relation %s not found in list"
+msgstr ""
+
+#: ../utils/cache/relcache.c:1895
+msgid "inval call to RFI"
+msgstr ""
+
+#: ../utils/cache/relcache.c:2295
+#, c-format
+msgid "AttrDefaultFetch: second record found for attr %s in rel %s"
+msgstr ""
+
+#: ../utils/cache/relcache.c:2303
+#, c-format
+msgid "AttrDefaultFetch: adbin IS NULL for attr %s in rel %s"
+msgstr ""
+
+#: ../utils/cache/relcache.c:2316
+#, c-format
+msgid "AttrDefaultFetch: unexpected record found for attr %d in rel %s"
+msgstr ""
+
+#: ../utils/cache/relcache.c:2322
+#, c-format
+msgid "AttrDefaultFetch: %d record not found for rel %s"
+msgstr ""
+
+#: ../utils/cache/relcache.c:2396
+#, c-format
+msgid "RelCheckFetch: unexpected record found for rel %s"
+msgstr ""
+
+#: ../utils/cache/relcache.c:2403
+#, c-format
+msgid "RelCheckFetch: rcname IS NULL for rel %s"
+msgstr ""
+
+#: ../utils/cache/relcache.c:2411
+#, c-format
+msgid "RelCheckFetch: rcbin IS NULL for rel %s"
+msgstr ""
+
+#: ../utils/cache/relcache.c:2422
+#, c-format
+msgid "RelCheckFetch: %d record not found for rel %s"
+msgstr ""
+
+#.
+#. * We used to consider this a fatal error, but we might as well
+#. * continue with backend startup ...
+#.
+#: ../utils/cache/relcache.c:2826
+#, c-format
+msgid ""
+"Cannot create init file %s: %m\n"
+"\tContinuing anyway, but there's something wrong."
+msgstr ""
+
+#: ../utils/cache/relcache.c:2895
+msgid "cannot write init file -- descriptor length"
+msgstr ""
+
+#: ../utils/cache/relcache.c:2899
+msgid "cannot write init file -- reldesc"
+msgstr ""
+
+#: ../utils/cache/relcache.c:2905
+msgid "cannot write init file -- am tuple form length"
+msgstr ""
+
+#: ../utils/cache/relcache.c:2908
+msgid "cannot write init file -- am tuple form"
+msgstr ""
+
+#: ../utils/cache/relcache.c:2914
+msgid "cannot write init file -- relation tuple form length"
+msgstr ""
+
+#: ../utils/cache/relcache.c:2917
+msgid "cannot write init file -- relation tuple form"
+msgstr ""
+
+#: ../utils/cache/relcache.c:2925
+#, c-format
+msgid "cannot write init file -- length of attdesc %d"
+msgstr ""
+
+#: ../utils/cache/relcache.c:2928
+#, c-format
+msgid "cannot write init file -- attdesc %d"
+msgstr ""
+
+#: ../utils/cache/relcache.c:2936
+msgid "cannot write init file -- strategy map length"
+msgstr ""
+
+#: ../utils/cache/relcache.c:2939
+msgid "cannot write init file -- strategy map"
+msgstr ""
+
+#: ../utils/cache/relcache.c:2945
+msgid "cannot write init file -- support vector length"
+msgstr ""
+
+#: ../utils/cache/relcache.c:2948
+msgid "cannot write init file -- support vector"
+msgstr ""
+
+#: ../utils/cache/relcache.c:2962
+#, c-format
+msgid ""
+"Cannot rename init file %s to %s: %m\n"
+"\tContinuing anyway, but there's something wrong."
+msgstr ""
+
+#: ../utils/cache/syscache.c:383
+#, c-format
+msgid "InitCatalogCache: Can't init cache %s (%d)"
+msgstr ""
+
+#: ../utils/cache/syscache.c:415
+#, c-format
+msgid "SearchSysCache: Bad cache id %d"
+msgstr ""
+
+#: ../utils/cache/syscache.c:530
+#, c-format
+msgid "SysCacheGetAttr: Bad cache id %d"
+msgstr ""
+
+#: ../utils/cache/syscache.c:533
+#, c-format
+msgid "SysCacheGetAttr: missing cache data for id %d"
+msgstr ""
+
+#: ../utils/cache/temprel.c:161
+#, c-format
+msgid "Cannot rename temp table \"%s\": temp table \"%s\" already exists"
+msgstr ""
+
+#: ../utils/cache/temprel.c:193
+#, c-format
+msgid ""
+"Cannot rename \"%s\" to \"%s\": a temp table by that name already exists"
+msgstr ""
+
+#: ../utils/error/elog.c:485
+msgid "elog: error during error recovery, giving up!"
+msgstr ""
+
+#: ../utils/error/elog.c:532
+#, c-format
+msgid "DebugFileOpen: open of %s: %m"
+msgstr ""
+
+#: ../utils/error/elog.c:541
+#, c-format
+msgid "DebugFileOpen: %s reopen as stderr: %m"
+msgstr ""
+
+#: ../utils/error/elog.c:553
+#, c-format
+msgid "DebugFileOpen: %s reopen as stdout: %m"
+msgstr ""
+
+#: ../utils/error/elog.c:570
+msgid "DebugFileOpen: could not open debugging file"
+msgstr ""
+
+#: ../utils/init/miscinit.c:128 ../utils/init/miscinit.c:153
+#: ../utils/misc/guc.c:440 ../utils/misc/guc.c:737 ../utils/misc/guc.c:754
+#: ../utils/misc/guc.c:854 ../utils/misc/guc.c:860 ../utils/misc/guc.c:867
+#: /home/peter/pgsql/src/backend/utils/misc/guc-file.l:149
+#: /home/peter/pgsql/src/backend/utils/misc/guc-file.l:287
+msgid "out of memory"
+msgstr ""
+
+#: ../utils/init/miscinit.c:141
+#, c-format
+msgid "cannot get current working directory: %m"
+msgstr ""
+
+#: ../utils/init/miscinit.c:418 ../utils/init/miscinit.c:440
+#, c-format
+msgid "user \"%s\" does not exist"
+msgstr ""
+
+#: ../utils/init/miscinit.c:542
+#, c-format
+msgid "Can't create lock file %s: %m"
+msgstr ""
+
+#. race condition; try again
+#: ../utils/init/miscinit.c:553 ../utils/init/miscinit.c:556
+#, c-format
+msgid "Can't read lock file %s: %m"
+msgstr ""
+
+#: ../utils/init/miscinit.c:566
+#, c-format
+msgid "Bogus data in lock file %s"
+msgstr ""
+
+#: ../utils/init/miscinit.c:641
+#, c-format
+msgid ""
+"Can't remove old lock file %s: %m\n"
+"\tThe file seems accidentally left, but I couldn't remove it.\n"
+"\tPlease remove the file by hand and try again."
+msgstr ""
+
+#: ../utils/init/miscinit.c:660
+#, c-format
+msgid "Can't write lock file %s: %m"
+msgstr ""
+
+#: ../utils/init/miscinit.c:751
+#, c-format
+msgid "Failed to rewrite %s: %m"
+msgstr ""
+
+#: ../utils/init/miscinit.c:757
+#, c-format
+msgid "Failed to read %s: %m"
+msgstr ""
+
+#: ../utils/init/miscinit.c:770
+#, c-format
+msgid "Bogus data in %s"
+msgstr ""
+
+#: ../utils/init/miscinit.c:791
+#, c-format
+msgid "Failed to write %s: %m"
+msgstr ""
+
+#: ../utils/init/miscinit.c:833
+#, c-format
+msgid "File %s is missing. This is not a valid data directory."
+msgstr ""
+
+#: ../utils/init/miscinit.c:840
+#, c-format
+msgid "cannot read %s: %m"
+msgstr ""
+
+#: ../utils/init/miscinit.c:842
+#, c-format
+msgid "`%s' does not have a valid format. You need to initdb."
+msgstr ""
+
+#: ../utils/init/miscinit.c:847
+#, c-format
+msgid ""
+"The data directory was initialized by PostgreSQL version %ld.%ld, which is "
+"not compatible with this version %s."
+msgstr ""
+
+#. Now I can commit hara-kiri with a clear conscience...
+#: ../utils/init/postinit.c:113
+#, c-format
+msgid "Database \"%s\", OID %u, has disappeared from pg_database"
+msgstr ""
+
+#: ../utils/init/postinit.c:122
+#, c-format
+msgid "Database \"%s\" is not currently accepting connections"
+msgstr ""
+
+#: ../utils/init/postinit.c:134
+#, c-format
+msgid ""
+"database was initialized with MULTIBYTE encoding %d,\n"
+"\tbut the backend was compiled without multibyte support.\n"
+"\tlooks like you need to initdb or recompile."
+msgstr ""
+
+#: ../utils/init/postinit.c:226
+#, c-format
+msgid ""
+"Database system not found.\n"
+"\tData directory '%s' does not exist."
+msgstr ""
+
+#: ../utils/init/postinit.c:241
+#, c-format
+msgid "Database \"%s\" does not exist in the system catalog."
+msgstr ""
+
+#: ../utils/init/postinit.c:249
+#, c-format
+msgid ""
+"Database \"%s\" does not exist.\n"
+"\tThe database subdirectory '%s' is missing."
+msgstr ""
+
+#: ../utils/init/postinit.c:256
+#, c-format
+msgid "Unable to change directory to '%s': %m"
+msgstr ""
+
+#: ../utils/init/postinit.c:305
+#, c-format
+msgid "cinit2: bad backend id %d"
+msgstr ""
+
+#: ../utils/mb/conv.c:1210
+msgid "Could not convert UTF-8 to ISO8859-1"
+msgstr ""
+
+#: ../utils/mb/conv.c:1290
+#, c-format
+msgid "utf_to_local: could not convert UTF-8 (0x%04x). Ignored"
+msgstr ""
+
+#: ../utils/mb/conv.c:1389
+#, c-format
+msgid "Invalid encoding number %d"
+msgstr ""
+
+#: ../utils/mb/conv.c:1426
+#, c-format
+msgid "local_to_utf: could not convert (0x%04x) %s to UTF-8. Ignored"
+msgstr ""
+
+#: /home/peter/pgsql/src/backend/utils/misc/guc-file.l:160
+msgid "could not read configuration file `"
+msgstr ""
+
+#: /home/peter/pgsql/src/backend/utils/misc/guc-file.l:160
+#: /home/peter/pgsql/src/backend/utils/misc/guc-file.l:171
+#, c-format
+msgid "': %s"
+msgstr ""
+
+#: /home/peter/pgsql/src/backend/utils/misc/guc-file.l:171
+msgid "could not stat configuration file `"
+msgstr ""
+
+#: /home/peter/pgsql/src/backend/utils/misc/guc-file.l:179
+msgid "configuration file `"
+msgstr ""
+
+#: /home/peter/pgsql/src/backend/utils/misc/guc-file.l:179
+msgid "' has wrong permissions"
+msgstr ""
+
+#: /home/peter/pgsql/src/backend/utils/misc/guc-file.l:279
+#, c-format
+msgid ":%u: syntax error, token=\"%s\""
+msgstr ""
+
+#: ../utils/misc/guc.c:596
+#, c-format
+msgid "'%s' is not a valid option name"
+msgstr ""
+
+#: ../utils/misc/guc.c:608
+#, c-format
+msgid "'%s' cannot be changed after server start"
+msgstr ""
+
+#: ../utils/misc/guc.c:615
+#, c-format
+msgid "'%s' cannot be changed now"
+msgstr ""
+
+#: ../utils/misc/guc.c:628
+#, c-format
+msgid "'%s' cannot be set after connection start"
+msgstr ""
+
+#: ../utils/misc/guc.c:652
+#, c-format
+msgid "option '%s' requires a boolean value"
+msgstr ""
+
+#: ../utils/misc/guc.c:673
+#, c-format
+msgid "option '%s' expects an integer value"
+msgstr ""
+
+#: ../utils/misc/guc.c:678
+#, c-format
+msgid "option '%s' value %d is outside of permissible range [%d .. %d]"
+msgstr ""
+
+#: ../utils/misc/guc.c:701
+#, c-format
+msgid "option '%s' expects a real number"
+msgstr ""
+
+#: ../utils/misc/guc.c:706
+#, c-format
+msgid "option '%s' value %g is outside of permissible range [%g .. %g]"
+msgstr ""
+
+#: ../utils/misc/guc.c:727
+#, c-format
+msgid "invalid value for option '%s': '%s'"
+msgstr ""
+
+#: ../utils/misc/guc.c:805
+#, c-format
+msgid "Option '%s' is not recognized"
+msgstr ""
+
+#: ../utils/mmgr/aset.c:332
+#, c-format
+msgid "Memory exhausted in AllocSetContextCreate(%lu)"
+msgstr ""
+
+#: ../utils/mmgr/aset.c:495 ../utils/mmgr/aset.c:693
+#, c-format
+msgid "Memory exhausted in AllocSetAlloc(%lu)"
+msgstr ""
+
+#: ../utils/mmgr/aset.c:742
+#, c-format
+msgid "AllocSetFree: detected write past chunk end in %s %p"
+msgstr ""
+
+#: ../utils/mmgr/aset.c:764
+#, c-format
+msgid "AllocSetFree: cannot find block containing chunk %p"
+msgstr ""
+
+#: ../utils/mmgr/aset.c:818
+#, c-format
+msgid "AllocSetRealloc: detected write past chunk end in %s %p"
+msgstr ""
+
+#: ../utils/mmgr/aset.c:859
+#, c-format
+msgid "AllocSetRealloc: cannot find block containing chunk %p"
+msgstr ""
+
+#: ../utils/mmgr/aset.c:872
+#, c-format
+msgid "Memory exhausted in AllocSetReAlloc(%lu)"
+msgstr ""
+
+#: ../utils/mmgr/aset.c:1030
+#, c-format
+msgid "AllocSetCheck: %s: empty block %p"
+msgstr ""
+
+#: ../utils/mmgr/aset.c:1052
+#, c-format
+msgid "AllocSetCheck: %s: req size > alloc size for chunk %p in block %p"
+msgstr ""
+
+#: ../utils/mmgr/aset.c:1055
+#, c-format
+msgid "AllocSetCheck: %s: bad size %lu for chunk %p in block %p"
+msgstr ""
+
+#: ../utils/mmgr/aset.c:1061
+#, c-format
+msgid "AllocSetCheck: %s: bad single-chunk %p in block %p"
+msgstr ""
+
+#: ../utils/mmgr/aset.c:1070
+#, c-format
+msgid "AllocSetCheck: %s: bogus aset link in block %p, chunk %p"
+msgstr ""
+
+#: ../utils/mmgr/aset.c:1077
+#, c-format
+msgid "AllocSetCheck: %s: detected write past chunk end in block %p, chunk %p"
+msgstr ""
+
+#: ../utils/mmgr/aset.c:1087
+#, c-format
+msgid "AllocSetCheck: %s: found inconsistent memory block %p"
+msgstr ""
+
+#: ../utils/mmgr/mcxt.c:418
+#, c-format
+msgid "MemoryContextAlloc: invalid request size %lu"
+msgstr ""
+
+#: ../utils/mmgr/mcxt.c:478
+#, c-format
+msgid "repalloc: invalid request size %lu"
+msgstr ""
+
+#: ../utils/mmgr/portalmem.c:64 ../utils/mmgr/portalmem.c:80
+#: ../utils/mmgr/portalmem.c:95
+msgid "error in PortalHashTable"
+msgstr ""
+
+#: ../utils/mmgr/portalmem.c:82
+msgid "trying to insert a portal name that exists."
+msgstr ""
+
+#: ../utils/mmgr/portalmem.c:97
+msgid "trying to delete portal name that does not exist."
+msgstr ""
+
+#: ../utils/mmgr/portalmem.c:199
+#, c-format
+msgid "CreatePortal: portal \"%s\" already exists"
+msgstr ""
+
+#: ../utils/sort/logtape.c:199
+#, c-format
+msgid ""
+"ltsWriteBlock: failed to write block %ld of temporary file\n"
+"\t\tPerhaps out of disk space?"
+msgstr ""
+
+#: ../utils/sort/logtape.c:214
+#, c-format
+msgid "ltsReadBlock: failed to read block %ld of temporary file"
+msgstr ""
+
+#. Hmm, went directly from reading to writing?
+#: ../utils/sort/logtape.c:572
+msgid "LogicalTapeWrite: impossible state"
+msgstr ""
+
+#: ../utils/sort/logtape.c:837
+msgid "LogicalTapeBackspace: unexpected end of tape"
+msgstr ""
+
+#: ../utils/sort/logtape.c:894 ../utils/sort/logtape.c:904
+msgid "LogicalTapeSeek: unexpected end of tape"
+msgstr ""
+
+#: ../utils/sort/tuplesort.c:720
+msgid "tuplesort_puttuple: invalid state"
+msgstr ""
+
+#: ../utils/sort/tuplesort.c:767
+msgid "tuplesort_performsort: invalid state"
+msgstr ""
+
+#: ../utils/sort/tuplesort.c:888 ../utils/sort/tuplesort.c:903
+msgid "tuplesort_gettuple: bogus tuple len in backward scan"
+msgstr ""
+
+#: ../utils/sort/tuplesort.c:956
+msgid "tuplesort_gettuple: invalid state"
+msgstr ""
+
+#: ../utils/sort/tuplesort.c:1517
+msgid "tuplesort_rescan: invalid state"
+msgstr ""
+
+#: ../utils/sort/tuplesort.c:1544
+msgid "tuplesort_markpos: invalid state"
+msgstr ""
+
+#: ../utils/sort/tuplesort.c:1569
+msgid "tuplesort_restorepos failed"
+msgstr ""
+
+#: ../utils/sort/tuplesort.c:1573
+msgid "tuplesort_restorepos: invalid state"
+msgstr ""
+
+#: ../utils/sort/tuplesort.c:1692
+msgid "tuplesort: unexpected end of tape"
+msgstr ""
+
+#: ../utils/sort/tuplesort.c:1694 ../utils/sort/tuplesort.c:1835
+#: ../utils/sort/tuplesort.c:1839 ../utils/sort/tuplesort.c:1977
+#: ../utils/sort/tuplesort.c:1981 ../utils/sort/tuplesort.c:2072
+#: ../utils/sort/tuplesort.c:2076
+msgid "tuplesort: unexpected end of data"
+msgstr ""
+
+#: ../utils/sort/tuplesort.c:1930
+msgid "Cannot create unique index. Table contains non-unique values"
+msgstr ""
+
+#. Not currently needed
+#: ../utils/sort/tuplesort.c:2040
+msgid "copytup_datum() should not be called"
+msgstr ""
+
+#: ../utils/sort/tuplesort.c:2215
+#, c-format
+msgid "SelectSortFunction: operator %u has no implementation"
+msgstr ""
+
+#: ../utils/sort/tuplestore.c:314
+msgid "tuplestore_puttuple: invalid state"
+msgstr ""
+
+#: ../utils/sort/tuplestore.c:350
+msgid "tuplestore_donestoring: seek(0) failed"
+msgstr ""
+
+#: ../utils/sort/tuplestore.c:358
+msgid "tuplestore_donestoring: invalid state"
+msgstr ""
+
+#: ../utils/sort/tuplestore.c:479 ../utils/sort/tuplestore.c:494
+msgid "tuplestore_gettuple: bogus tuple len in backward scan"
+msgstr ""
+
+#: ../utils/sort/tuplestore.c:499
+msgid "tuplestore_gettuple: invalid state"
+msgstr ""
+
+#: ../utils/sort/tuplestore.c:535
+msgid "tuplestore_rescan: seek(0) failed"
+msgstr ""
+
+#: ../utils/sort/tuplestore.c:542
+msgid "tuplestore_rescan: invalid state"
+msgstr ""
+
+#: ../utils/sort/tuplestore.c:568
+msgid "tuplestore_markpos: invalid state"
+msgstr ""
+
+#: ../utils/sort/tuplestore.c:593
+msgid "tuplestore_restorepos failed"
+msgstr ""
+
+#: ../utils/sort/tuplestore.c:597
+msgid "tuplestore_restorepos: invalid state"
+msgstr ""
+
+#: ../utils/sort/tuplestore.c:613
+msgid "tuplestore: unexpected end of tape"
+msgstr ""
+
+#: ../utils/sort/tuplestore.c:615 ../utils/sort/tuplestore.c:683
+#: ../utils/sort/tuplestore.c:687
+msgid "tuplestore: unexpected end of data"
+msgstr ""
+
+#: ../utils/sort/tuplestore.c:625 ../utils/sort/tuplestore.c:655
+#: ../utils/sort/tuplestore.c:658 ../utils/sort/tuplestore.c:662
+msgid "tuplestore: write failed"
+msgstr ""
diff --git a/src/backend/po/nls.mk b/src/backend/po/nls.mk
new file mode 100644 (file)
index 0000000..acb3e3b
--- /dev/null
@@ -0,0 +1,4 @@
+CATALOG_NAME   := postgres
+AVAIL_LANGUAGES        := de
+GETTEXT_FILES  := + gettext-files
+GETTEXT_TRIGGERS:= elog:2
index 556fa0da9fca7ddac3f7621a039b18b54c7416fc..79829ca87213f7e45eb770295ca60e476f34777b 100644 (file)
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *       $Header: /cvsroot/pgsql/src/backend/utils/error/elog.c,v 1.84 2001/05/30 14:15:26 momjian Exp $
+ *       $Header: /cvsroot/pgsql/src/backend/utils/error/elog.c,v 1.85 2001/06/02 18:25:17 petere Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -207,6 +207,7 @@ elog(int lev, const char *fmt,...)
        if (Log_pid)
                timestamp_size += PID_SIZE;
 
+       fmt = gettext(fmt);
        /*
         * Set up the expanded format, consisting of the prefix string plus
         * input format, with any %m replaced by strerror() string (since
index e17f8a04b4ff0929c3f4a5f6d4120233c1883377..08692b6600cc7d06c5b6b75956f19cbc55141e32 100644 (file)
@@ -3,7 +3,7 @@
  *
  * Copyright 2000 by PostgreSQL Global Development Group
  *
- * $Header: /cvsroot/pgsql/src/bin/psql/command.c,v 1.54 2001/05/12 19:44:46 petere Exp $
+ * $Header: /cvsroot/pgsql/src/bin/psql/command.c,v 1.55 2001/06/02 18:25:17 petere Exp $
  */
 #include "postgres_fe.h"
 #include "command.h"
@@ -156,7 +156,7 @@ HandleSlashCmds(const char *line,
        if (status == CMD_UNKNOWN)
        {
                if (pset.cur_cmd_interactive)
-                       fprintf(stderr, "Invalid command \\%s. Try \\? for help.\n", my_line);
+                       fprintf(stderr, gettext("Invalid command \\%s. Try \\? for help.\n"), my_line);
                else
                        psql_error("invalid command \\%s\n", my_line);
                status = CMD_ERROR;
@@ -582,7 +582,7 @@ exec_command(const char *cmd,
                if (query_buf && query_buf->len > 0)
                        puts(query_buf->data);
                else if (!quiet)
-                       puts("Query buffer is empty.");
+                       puts(gettext("Query buffer is empty."));
                fflush(stdout);
        }
 
@@ -613,7 +613,7 @@ exec_command(const char *cmd,
        {
                resetPQExpBuffer(query_buf);
                if (!quiet)
-                       puts("Query buffer reset (cleared).");
+                       puts(gettext("Query buffer reset (cleared)."));
        }
 
        /* \s save history in a file or show it on the screen */
@@ -624,7 +624,7 @@ exec_command(const char *cmd,
                success = saveHistory(fname ? fname : "/dev/tty");
 
                if (success && !quiet && fname)
-                       printf("Wrote history to %s.\n", fname);
+                       printf(gettext("Wrote history to %s.\n"), fname);
                free(fname);
        }
 
@@ -1314,7 +1314,7 @@ do_connect(const char *new_dbname, const char *new_user)
                        PQfinish(pset.db);
                        if (oldconn)
                        {
-                               fputs("Previous connection kept\n", stderr);
+                               fputs(gettext("Previous connection kept\n"), stderr);
                                pset.db = oldconn;
                        }
                        else
@@ -1339,12 +1339,12 @@ do_connect(const char *new_dbname, const char *new_user)
                if (!QUIET())
                {
                        if (userparam != new_user)      /* no new user */
-                               printf("You are now connected to database %s.\n", dbparam);
+                               printf(gettext("You are now connected to database %s.\n"), dbparam);
                        else if (dbparam != new_dbname)         /* no new db */
-                               printf("You are now connected as new user %s.\n", new_user);
+                               printf(gettext("You are now connected as new user %s.\n"), new_user);
                        else
 /* both new */
-                               printf("You are now connected to database %s as user %s.\n",
+                               printf(gettext("You are now connected to database %s as user %s.\n"),
                                           PQdb(pset.db), PQuser(pset.db));
                }
 
@@ -1672,7 +1672,7 @@ do_pset(const char *param, const char *value, printQueryOpt *popt, bool quiet)
                }
 
                if (!quiet)
-                       printf("Output format is %s.\n", _align2string(popt->topt.format));
+                       printf(gettext("Output format is %s.\n"), _align2string(popt->topt.format));
        }
 
        /* set border style/width */
@@ -1682,7 +1682,7 @@ do_pset(const char *param, const char *value, printQueryOpt *popt, bool quiet)
                        popt->topt.border = atoi(value);
 
                if (!quiet)
-                       printf("Border style is %d.\n", popt->topt.border);
+                       printf(gettext("Border style is %d.\n"), popt->topt.border);
        }
 
        /* set expanded/vertical mode */
@@ -1690,7 +1690,9 @@ do_pset(const char *param, const char *value, printQueryOpt *popt, bool quiet)
        {
                popt->topt.expanded = !popt->topt.expanded;
                if (!quiet)
-                       printf("Expanded display is %s.\n", popt->topt.expanded ? "on" : "off");
+                       printf(popt->topt.expanded
+                                  ? gettext("Expanded display is on.\n")
+                                  : gettext("Expanded display is off.\n"));
        }
 
        /* null display */
@@ -1702,7 +1704,7 @@ do_pset(const char *param, const char *value, printQueryOpt *popt, bool quiet)
                        popt->nullPrint = xstrdup(value);
                }
                if (!quiet)
-                       printf("Null display is '%s'.\n", popt->nullPrint ? popt->nullPrint : "");
+                       printf(gettext("Null display is '%s'.\n"), popt->nullPrint ? popt->nullPrint : "");
        }
 
        /* field separator for unaligned text */
@@ -1714,7 +1716,7 @@ do_pset(const char *param, const char *value, printQueryOpt *popt, bool quiet)
                        popt->topt.fieldSep = xstrdup(value);
                }
                if (!quiet)
-                       printf("Field separator is '%s'.\n", popt->topt.fieldSep);
+                       printf(gettext("Field separator is '%s'.\n"), popt->topt.fieldSep);
        }
 
        /* record separator for unaligned text */
@@ -1728,9 +1730,9 @@ do_pset(const char *param, const char *value, printQueryOpt *popt, bool quiet)
                if (!quiet)
                {
                        if (strcmp(popt->topt.recordSep, "\n") == 0)
-                               printf("Record separator is <newline>.");
+                               printf(gettext("Record separator is <newline>."));
                        else
-                               printf("Record separator is '%s'.\n", popt->topt.recordSep);
+                               printf(gettext("Record separator is '%s'.\n"), popt->topt.recordSep);
                }
        }
 
@@ -1741,9 +1743,9 @@ do_pset(const char *param, const char *value, printQueryOpt *popt, bool quiet)
                if (!quiet)
                {
                        if (popt->topt.tuples_only)
-                               puts("Showing only tuples.");
+                               puts(gettext("Showing only tuples."));
                        else
-                               puts("Tuples only is off.");
+                               puts(gettext("Tuples only is off."));
                }
        }
 
@@ -1759,9 +1761,9 @@ do_pset(const char *param, const char *value, printQueryOpt *popt, bool quiet)
                if (!quiet)
                {
                        if (popt->title)
-                               printf("Title is \"%s\".\n", popt->title);
+                               printf(gettext("Title is \"%s\".\n"), popt->title);
                        else
-                               printf("Title is unset.\n");
+                               printf(gettext("Title is unset.\n"));
                }
        }
 
@@ -1777,9 +1779,9 @@ do_pset(const char *param, const char *value, printQueryOpt *popt, bool quiet)
                if (!quiet)
                {
                        if (popt->topt.tableAttr)
-                               printf("Table attribute is \"%s\".\n", popt->topt.tableAttr);
+                               printf(gettext("Table attribute is \"%s\".\n"), popt->topt.tableAttr);
                        else
-                               printf("Table attributes unset.\n");
+                               printf(gettext("Table attributes unset.\n"));
                }
        }
 
@@ -1790,9 +1792,9 @@ do_pset(const char *param, const char *value, printQueryOpt *popt, bool quiet)
                if (!quiet)
                {
                        if (popt->topt.pager)
-                               puts("Using pager is on.");
+                               puts(gettext("Using pager is on."));
                        else
-                               puts("Using pager is off.");
+                               puts(gettext("Using pager is off."));
                }
        }
 
@@ -1803,9 +1805,9 @@ do_pset(const char *param, const char *value, printQueryOpt *popt, bool quiet)
                if (!quiet)
                {
                        if (popt->default_footer)
-                               puts("Default footer is on.");
+                               puts(gettext("Default footer is on."));
                        else
-                               puts("Default footer is off.");
+                               puts(gettext("Default footer is off."));
                }
        }
 
index fa4844a699afd26a5599848768908d8494512f3a..941a3b83f8ad198328e8ec115b3e0f8d9a18d3e4 100644 (file)
@@ -3,7 +3,7 @@
  *
  * Copyright 2000 by PostgreSQL Global Development Group
  *
- * $Header: /cvsroot/pgsql/src/bin/psql/common.c,v 1.32 2001/04/15 00:43:37 petere Exp $
+ * $Header: /cvsroot/pgsql/src/bin/psql/common.c,v 1.33 2001/06/02 18:25:18 petere Exp $
  */
 #include "postgres_fe.h"
 
@@ -47,7 +47,7 @@ xstrdup(const char *string)
 
        if (!string)
        {
-               fprintf(stderr, "%s: xstrdup: cannot duplicate null pointer (internal error)\n",
+               fprintf(stderr, gettext("%s: xstrdup: cannot duplicate null pointer (internal error)\n"),
                                pset.progname);
                exit(EXIT_FAILURE);
        }
@@ -139,7 +139,7 @@ psql_error(const char *fmt,...)
        if (pset.inputfile)
                fprintf(stderr, "%s:%s:%u: ", pset.progname, pset.inputfile, pset.lineno);
        va_start(ap, fmt);
-       vfprintf(stderr, fmt, ap);
+       vfprintf(stderr, gettext(fmt), ap);
        va_end(ap);
 }
 
@@ -187,7 +187,7 @@ simple_prompt(const char *prompt, int maxlen, bool echo)
        if (!destination)
                return NULL;
        if (prompt)
-               fputs(prompt, stderr);
+               fputs(gettext(prompt), stderr);
 
        prompt_state = true;
 
@@ -303,7 +303,9 @@ PSQLexec(const char *query)
        var = GetVariable(pset.vars, "ECHO_HIDDEN");
        if (var)
        {
-               printf("********* QUERY *********\n%s\n*************************\n\n", query);
+               printf("********* QUERY **********\n"
+                          "%s\n"
+                          "**************************\n\n", query);
                fflush(stdout);
        }
 
@@ -336,11 +338,11 @@ PSQLexec(const char *query)
                                psql_error("connection to server was lost\n");
                                exit(EXIT_BADCONN);
                        }
-                       fputs("The connection to the server was lost. Attempting reset: ", stderr);
+                       fputs(gettext("The connection to the server was lost. Attempting reset: "), stderr);
                        PQreset(pset.db);
                        if (PQstatus(pset.db) == CONNECTION_BAD)
                        {
-                               fputs("Failed.\n", stderr);
+                               fputs(gettext("Failed.\n"), stderr);
                                PQfinish(pset.db);
                                pset.db = NULL;
                                SetVariable(pset.vars, "DBNAME", NULL);
@@ -350,7 +352,7 @@ PSQLexec(const char *query)
                                SetVariable(pset.vars, "ENCODING", NULL);
                        }
                        else
-                               fputs("Succeeded.\n", stderr);
+                               fputs(gettext("Succeeded.\n"), stderr);
                }
 
                return NULL;
@@ -388,9 +390,9 @@ SendQuery(const char *query)
        {
                char            buf[3];
 
-               printf("***(Single step mode: Verify query)*********************************************\n"
-                          "%s\n"
-                          "***(press return to proceed or enter x and return to cancel)********************\n",
+               printf(gettext("***(Single step mode: Verify query)*********************************************\n"
+                                          "%s\n"
+                                          "***(press return to proceed or enter x and return to cancel)********************\n"),
                           query);
                fflush(stdout);
                if (fgets(buf, sizeof(buf), stdin) != NULL)
@@ -480,8 +482,8 @@ SendQuery(const char *query)
 
                        case PGRES_COPY_IN:
                                if (pset.cur_cmd_interactive && !QUIET())
-                                       puts("Enter data to be copied followed by a newline.\n"
-                                                "End with a backslash and a period on a line by itself.");
+                                       puts(gettext("Enter data to be copied followed by a newline.\n"
+                                                "End with a backslash and a period on a line by itself."));
 
                                success = handleCopyIn(pset.db, pset.cur_cmd_source,
                                                                           pset.cur_cmd_interactive ? get_prompt(PROMPT_COPY) : NULL);
@@ -504,11 +506,11 @@ SendQuery(const char *query)
                                psql_error("connection to server was lost\n");
                                exit(EXIT_BADCONN);
                        }
-                       fputs("The connection to the server was lost. Attempting reset: ", stderr);
+                       fputs(gettext("The connection to the server was lost. Attempting reset: "), stderr);
                        PQreset(pset.db);
                        if (PQstatus(pset.db) == CONNECTION_BAD)
                        {
-                               fputs("Failed.\n", stderr);
+                               fputs(gettext("Failed.\n"), stderr);
                                PQfinish(pset.db);
                                PQclear(results);
                                pset.db = NULL;
@@ -520,13 +522,13 @@ SendQuery(const char *query)
                                return false;
                        }
                        else
-                               fputs("Succeeded.\n", stderr);
+                               fputs(gettext("Succeeded.\n"), stderr);
                }
 
                /* check for asynchronous notification returns */
                while ((notify = PQnotifies(pset.db)) != NULL)
                {
-                       fprintf(pset.queryFout, "Asynchronous NOTIFY '%s' from backend with pid '%d' received.\n",
+                       fprintf(pset.queryFout, gettext("Asynchronous NOTIFY '%s' from backend with pid '%d' received.\n"),
                                        notify->relname, notify->be_pid);
                        free(notify);
                        fflush(pset.queryFout);
index d89d7bec3603f24caddd82eda0edb7cb6dd8b7f4..0f5cb1e8d83a04dfd04ed17fd6130cbf35439805 100644 (file)
@@ -3,7 +3,7 @@
  *
  * Copyright 2000 by PostgreSQL Global Development Group
  *
- * $Header: /cvsroot/pgsql/src/bin/psql/copy.c,v 1.18 2001/03/22 04:00:19 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/bin/psql/copy.c,v 1.19 2001/06/02 18:25:18 petere Exp $
  */
 #include "postgres_fe.h"
 #include "copy.h"
@@ -207,10 +207,10 @@ parse_slash_copy(const char *args)
 
        if (error)
        {
-               psql_error("\\copy: parse error at %s%s%s\n",
-                                  token ? "'" : "",
-                                  token ? token : "end of line",
-                                  token ? "'" : "");
+               if (token)
+                       psql_error("\\copy: parse error at '%s'\n", token);
+               else
+                       psql_error("\\copy: parse error at end of line\n");
                free_copy_options(result);
                return NULL;
        }
diff --git a/src/bin/psql/de.po b/src/bin/psql/de.po
new file mode 100644 (file)
index 0000000..b373dd8
--- /dev/null
@@ -0,0 +1,827 @@
+# $Header: /cvsroot/pgsql/src/bin/psql/Attic/de.po,v 1.1 2001/06/02 18:25:18 petere Exp $
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PostgreSQL 7.2\n"
+"POT-Creation-Date: 2001-06-02 18:26+0200\n"
+"PO-Revision-Date: 2001-06-02 15:52+0200\n"
+"Last-Translator: Peter Eisentraut <peter_e@gmx.net>\n"
+"Language-Team: German <de@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: command.c:152
+msgid "Warning: this syntax is deprecated\n"
+msgstr "Warnung: Dieser Syntax is veraltet.\n"
+
+#: command.c:159
+#, c-format
+msgid "Invalid command \\%s. Try \\? for help.\n"
+msgstr "Ungültiges Kommando \\%s.  Versuchen Sie \\? für Hilfe.\n"
+
+#: command.c:161
+#, c-format
+msgid "invalid command \\%s\n"
+msgstr "ungültiges Kommando \\%s\n"
+
+#: command.c:278
+#, c-format
+msgid "could not get home directory: %s\n"
+msgstr "konnte Home-Verzeichnis nicht ermitteln: %s\n"
+
+#: command.c:292
+#, c-format
+msgid "\\%s: could not change directory to '%s': %s\n"
+msgstr "\\%s: konnte nicht in Verzeichnis Â»%s« wechseln: %s\n"
+
+#: command.c:380 command.c:726
+msgid "no query buffer\n"
+msgstr "kein Abfragepuffer\n"
+
+#: command.c:436
+#, c-format
+msgid "%s: invalid encoding name\n"
+msgstr ""
+
+#: command.c:445
+#, c-format
+msgid "\\%s: multi-byte support is not enabled\n"
+msgstr ""
+
+#: command.c:499 command.c:530 command.c:541 command.c:555 command.c:597
+#: command.c:706 command.c:735
+#, c-format
+msgid "\\%s: missing required argument\n"
+msgstr "\\%s: notwendiges Argument fehlt\n"
+
+#: command.c:585
+msgid "Query buffer is empty."
+msgstr "Abfragepuffer ist leer."
+
+#: command.c:616
+msgid "Query buffer reset (cleared)."
+msgstr "Abfragepuffer wurde gelöscht."
+
+#: command.c:627
+#, c-format
+msgid "Wrote history to %s.\n"
+msgstr "History nach %s geschrieben.\n"
+
+#: command.c:668 command.c:900 command.c:1114 command.c:1160 command.c:1844
+#: common.c:57 copy.c:87 mainloop.c:80 mainloop.c:384
+msgid "out of memory\n"
+msgstr "Speicher aufgebraucht\n"
+
+#: command.c:677 command.c:711
+#, c-format
+msgid "\\%s: error\n"
+msgstr "\\%s: Fehler\n"
+
+#: command.c:750 command.c:770 command.c:1005 command.c:1018 command.c:1028
+#: command.c:1501 command.c:1514 command.c:1526 command.c:1539 command.c:1553
+#: command.c:1567 command.c:1597 common.c:106 copy.c:290
+#, c-format
+msgid "%s: %s\n"
+msgstr "%s: %s\n"
+
+#: command.c:835
+#, c-format
+msgid "\\%s: extra argument '%s' ignored\n"
+msgstr "\\%s: Ã¼berflüssiges Argument Â»%s« ignoriert\n"
+
+#: command.c:892 command.c:966 command.c:994
+msgid "parse error at end of line\n"
+msgstr "Parse-Fehler am Zeilenende\n"
+
+#: command.c:1275 command.c:1299 startup.c:183 startup.c:201
+msgid "Password: "
+msgstr "Paßwort: "
+
+#: command.c:1313 common.c:155 common.c:331 common.c:496
+#, c-format
+msgid "%s"
+msgstr "%s"
+
+#: command.c:1317
+msgid "Previous connection kept\n"
+msgstr "Vorherige Verbindung wurde behalten\n"
+
+#: command.c:1330
+#, c-format
+msgid "\\connect: %s"
+msgstr "\\connect: %s"
+
+#: command.c:1342
+#, c-format
+msgid "You are now connected to database %s.\n"
+msgstr "Sie sind jetzt mit der Datenbank %s verbunden.\n"
+
+#: command.c:1344
+#, c-format
+msgid "You are now connected as new user %s.\n"
+msgstr "Sie sind jetzt als neuer Benutzer %s verbunden.\n"
+
+#: command.c:1347
+#, c-format
+msgid "You are now connected to database %s as user %s.\n"
+msgstr "Sie sind jetzt mit der Datenbank %s als Benutzer %s verbunden.\n"
+
+#: command.c:1438
+#, c-format
+msgid "could not start editor %s\n"
+msgstr "konnte Editor %s nicht starten\n"
+
+#: command.c:1440
+msgid "could not start /bin/sh\n"
+msgstr "konnte /bin/sh nicht starten\n"
+
+#: command.c:1486
+#, c-format
+msgid "couldn't open temp file %s: %s\n"
+msgstr ""
+
+#: command.c:1670
+msgid "\\pset: allowed formats are unaligned, aligned, html, latex\n"
+msgstr "\\pset: zulässige Formate sind unaligned, aligned, html, latex\n"
+
+#: command.c:1675
+#, c-format
+msgid "Output format is %s.\n"
+msgstr "Ausgabeformat ist Â»%s«.\n"
+
+#: command.c:1685
+#, c-format
+msgid "Border style is %d.\n"
+msgstr "Rahmenstil ist %d.\n"
+
+#: command.c:1694
+msgid "Expanded display is on.\n"
+msgstr "Erweiterte Anzeige ist an.\n"
+
+#: command.c:1695
+msgid "Expanded display is off.\n"
+msgstr "Erweiterte Anzeige ist aus.\n"
+
+#: command.c:1707
+#, c-format
+msgid "Null display is '%s'.\n"
+msgstr "Null-Anzeige ist Â»%s«.\n"
+
+#: command.c:1719
+#, c-format
+msgid "Field separator is '%s'.\n"
+msgstr ""
+
+#: command.c:1733
+msgid "Record separator is <newline>."
+msgstr ""
+
+#: command.c:1735
+#, c-format
+msgid "Record separator is '%s'.\n"
+msgstr ""
+
+#: command.c:1746
+msgid "Showing only tuples."
+msgstr ""
+
+#: command.c:1748
+msgid "Tuples only is off."
+msgstr ""
+
+#: command.c:1764
+#, c-format
+msgid "Title is \"%s\".\n"
+msgstr "Titel ist Â»%s«.\n"
+
+#: command.c:1766
+msgid "Title is unset.\n"
+msgstr "Titel ist nicht gesetzt.\n"
+
+#: command.c:1782
+#, c-format
+msgid "Table attribute is \"%s\".\n"
+msgstr "Tabellenattribut ist Â»%s«.\n"
+
+#: command.c:1784
+msgid "Table attributes unset.\n"
+msgstr "Tabellenattribute sind nicht gesetzt.\n"
+
+#: command.c:1795
+msgid "Using pager is on."
+msgstr "Pager-Verwendung is an."
+
+#: command.c:1797
+msgid "Using pager is off."
+msgstr "Pager-Verwendung ist aus."
+
+#: command.c:1808
+msgid "Default footer is on."
+msgstr "Standardfußzeile ist an."
+
+#: command.c:1810
+msgid "Default footer is off."
+msgstr "Standardfußzeile ist aus."
+
+#: command.c:1816
+#, c-format
+msgid "\\pset: unknown option: %s\n"
+msgstr "\\pset: unbekannte Option: %s\n"
+
+#: command.c:1859
+msgid "\\!: failed\n"
+msgstr "\\!: fehlgeschlagen\n"
+
+#: common.c:50
+#, c-format
+msgid "%s: xstrdup: cannot duplicate null pointer (internal error)\n"
+msgstr ""
+
+#: common.c:299 common.c:385
+msgid "You are currently not connected to a database.\n"
+msgstr "Sie sind gegenwärtig nicht mit einer Datenbank verbunden.\n"
+
+#: common.c:338 common.c:506
+msgid "connection to server was lost\n"
+msgstr "Verbindung zum Server wurde verloren\n"
+
+#: common.c:341 common.c:509
+msgid "The connection to the server was lost. Attempting reset: "
+msgstr "Die Verbindung zum Server wurde verloren.  Versuche Reset: "
+
+#: common.c:345 common.c:513
+msgid "Failed.\n"
+msgstr "Fehlgeschlagen.\n"
+
+#: common.c:355 common.c:525
+msgid "Succeeded.\n"
+msgstr "Erfolgreich.\n"
+
+#: common.c:393
+#, c-format
+msgid ""
+"***(Single step mode: Verify query)"
+"*********************************************\n"
+"%s\n"
+"***(press return to proceed or enter x and return to cancel)"
+"********************\n"
+msgstr ""
+"***(Einzelschrittmodus: Abfrage bestätigen)"
+"*************************************\n"
+"%s\n"
+"***(Drücken Sie die Eingabetaste um fortzufahren oder Â»x« um abzubrechen)"
+"*******\n"
+
+#: common.c:485
+msgid ""
+"Enter data to be copied followed by a newline.\n"
+"End with a backslash and a period on a line by itself."
+msgstr ""
+
+#: common.c:531
+#, c-format
+msgid "Asynchronous NOTIFY '%s' from backend with pid '%d' received.\n"
+msgstr ""
+
+#: copy.c:81
+msgid "\\copy: arguments required\n"
+msgstr "\\copy: benötigt Argumente\n"
+
+#: copy.c:211
+#, c-format
+msgid "\\copy: parse error at '%s'\n"
+msgstr "\\copy: Parse-Fehler bei '%s'\n"
+
+#: copy.c:213
+msgid "\\copy: parse error at end of line\n"
+msgstr "\\copy: Parse-Fehler am Zeilenende\n"
+
+#: copy.c:310
+#, c-format
+msgid "\\copy: %s"
+msgstr "\\copy: %s"
+
+#: copy.c:314
+#, c-format
+msgid "\\copy: unexpected response (%d)\n"
+msgstr "\\copy: unerwartete Antwort (%d)\n"
+
+#: help.c:47
+msgid "on"
+msgstr "an"
+
+#: help.c:47
+msgid "off"
+msgstr "aus"
+
+#: help.c:70
+#, c-format
+msgid "could not get current user name: %s\n"
+msgstr "konnte aktuellen Benutzernamen nicht ermitteln: %s\n"
+
+#: help.c:79
+msgid "This is psql, the PostgreSQL interactive terminal.\n"
+msgstr "Dies ist psql, das interaktive PostgreSQL-Terminal.\n"
+
+#: help.c:80
+msgid "Usage:"
+msgstr "Benutzung:"
+
+#: help.c:81
+msgid "  psql [options] [dbname [username]]\n"
+msgstr "  psql [Optionen] [DB-Name [Benutzername]]\n"
+
+#: help.c:82
+msgid "Options:"
+msgstr "Optionen:"
+
+#: help.c:83
+msgid "  -a              Echo all input from script"
+msgstr "  -a              Gib Skript-Inhalt wieder"
+
+#: help.c:84
+msgid "  -A              Unaligned table output mode (-P format=unaligned)"
+msgstr ""
+
+#: help.c:85
+msgid "  -c <query>      Run only single query (or slash command) and exit"
+msgstr "  -c <Kommando>   Führe einzelnes Kommando aus und beende"
+
+#: help.c:91
+#, c-format
+msgid "  -d <dbname>     Specify database name to connect to (default: %s)\n"
+msgstr ""
+"  -d <Dbname>     Datenbank, zu der verbunden werden soll (Standard: %s)\n"
+
+#: help.c:93
+msgid "  -e              Echo queries sent to backend"
+msgstr "  -e              Zeige Abfragen an den Server"
+
+#: help.c:94
+msgid "  -E              Display queries that internal commands generate"
+msgstr ""
+"  -E              Zeige Abfragen, die von internen Kommandos erzeugt werden"
+
+#: help.c:95
+msgid "  -f <filename>   Execute queries from file, then exit"
+msgstr "  -f <Dateiname>  Führe Abfragen von Datei aus und beende danach"
+
+#: help.c:96
+#, c-format
+msgid ""
+"  -F <string>     Set field separator (default: \"%s\") (-P fieldsep=)\n"
+msgstr ""
+
+#: help.c:101
+#, c-format
+msgid "  -h <host>       Specify database server host (default: %s)\n"
+msgstr "  -h <Host>       Hostname des Datenbankservers (Standard: %s)\n"
+
+#: help.c:102
+msgid "local socket"
+msgstr "lokales Socket"
+
+#: help.c:104
+msgid "  -H              HTML table output mode (-P format=html)"
+msgstr ""
+
+#: help.c:105
+msgid "  -l              List available databases, then exit"
+msgstr "  -l              Zeige verfügbare Datenbanken und beende"
+
+#: help.c:106
+msgid "  -n              Disable readline"
+msgstr "  -n              Schalte Readline aus"
+
+#: help.c:107
+msgid "  -o <filename>   Send query output to filename (or |pipe)"
+msgstr ""
+
+#: help.c:111
+#, c-format
+msgid "  -p <port>       Specify database server port (default: %s)\n"
+msgstr ""
+
+#: help.c:114
+msgid ""
+"  -P var[=arg]    Set printing option 'var' to 'arg' (see \\pset command)"
+msgstr ""
+
+#: help.c:115
+msgid "  -q              Run quietly (no messages, only query output)"
+msgstr ""
+
+#: help.c:116
+msgid ""
+"  -R <string>     Set record separator (default: newline) (-P recordsep=)"
+msgstr ""
+
+#: help.c:117
+msgid "  -s              Single step mode (confirm each query)"
+msgstr ""
+
+#: help.c:118
+msgid "  -S              Single line mode (newline terminates query)"
+msgstr ""
+
+#: help.c:119
+msgid "  -t              Print rows only (-P tuples_only)"
+msgstr ""
+
+#: help.c:120
+msgid ""
+"  -T text         Set HTML table tag options (width, border) (-P tableattr=)"
+msgstr ""
+
+#: help.c:126
+#, c-format
+msgid "  -U <username>   Specify database username (default: %s)\n"
+msgstr "  -U <Benutzer>   Datenbank-Benutzername (Standard: %s)\n"
+
+#: help.c:128
+msgid "  -v name=val     Set psql variable 'name' to 'value'"
+msgstr "  -v Name=Wert    Setze psql-Variable Â»Name« auf Â»Wert«"
+
+#: help.c:129
+msgid "  -V              Show version information and exit"
+msgstr "  -V              Zeige Versionsinformationen und beende"
+
+#: help.c:130
+msgid "  -W              Prompt for password (should happen automatically)"
+msgstr "  -W              Frage nach Paßwort (sollte automatisch passieren)"
+
+#: help.c:131
+msgid "  -x              Turn on expanded table output (-P expanded)"
+msgstr "  -x              Schalte erweiterte Tabellenausgabe ein (-P expanded)"
+
+#: help.c:132
+msgid "  -X              Do not read startup file (~/.psqlrc)"
+msgstr "  -X              Lese die Startdatei nicht (~/.psqlrc)"
+
+# XXX Da fehlt noch was.
+#: help.c:135
+msgid ""
+"\n"
+"For more information, type \"\\?\" (for internal commands) or \"\\help\"\n"
+"(for SQL commands) from within psql, or consult the psql section in\n"
+"the PostgreSQL manual, which accompanies the distribution and is also\n"
+"available at <http://www.postgresql.org>.\n"
+"\n"
+"Report bugs to <pgsql-bugs@postgresql.org>."
+msgstr ""
+"\n"
+"Für mehr Informationen, geben Sie Â»\\?« (für interne Kommandos) oder\n"
+"»\\help« (für SQL-Kommandos) in psql ein oder schauen Sie in den psql-\n"
+"Abschnitt der PostgreSQL-Dokumentation.\n"
+"\n"
+"Berichten Sie Fehler an <pgsql-bugs@postgresql.org>."
+
+#: help.c:195
+msgid " \\a             toggle between unaligned and aligned mode\n"
+msgstr ""
+
+#: help.c:196
+#, c-format
+msgid ""
+" \\c[onnect] [dbname|- [user]]\n"
+"                connect to new database (currently '%s')\n"
+msgstr ""
+
+#: help.c:199
+msgid " \\C <title>     table title\n"
+msgstr ""
+
+#: help.c:200
+msgid " \\cd [<dir>]    change the current working directory\n"
+msgstr ""
+
+#: help.c:201
+msgid ""
+" \\copy ...      perform SQL COPY with data stream to the client machine\n"
+msgstr ""
+
+#: help.c:202
+msgid " \\copyright     show PostgreSQL usage and distribution terms\n"
+msgstr ""
+
+#: help.c:203
+msgid " \\d <table>     describe table (or view, index, sequence)\n"
+msgstr ""
+
+#: help.c:204
+msgid " \\d{t|i|s|v}    list tables/indices/sequences/views\n"
+msgstr ""
+
+#: help.c:205
+msgid " \\d{p|S|l}      list permissions/system tables/lobjects\n"
+msgstr ""
+
+#: help.c:206
+msgid " \\da            list aggregates\n"
+msgstr ""
+
+#: help.c:207
+msgid " \\dd [object]   list comment for table, type, function, or operator\n"
+msgstr ""
+
+#: help.c:208
+msgid " \\df            list functions\n"
+msgstr ""
+
+#: help.c:209
+msgid " \\do            list operators\n"
+msgstr ""
+
+#: help.c:210
+msgid " \\dT            list data types\n"
+msgstr ""
+
+#: help.c:211
+msgid ""
+" \\e [file]      edit the current query buffer or [file] with external "
+"editor\n"
+msgstr ""
+
+#: help.c:212
+msgid " \\echo <text>   write text to stdout\n"
+msgstr ""
+
+#: help.c:213
+msgid " \\encoding <encoding>  set client encoding\n"
+msgstr ""
+
+#: help.c:214
+msgid " \\f <sep>       change field separator\n"
+msgstr ""
+
+#: help.c:215
+msgid ""
+" \\g [file]      send query to backend (and results in [file] or |pipe)\n"
+msgstr ""
+
+#: help.c:216
+msgid " \\h [cmd]       help on syntax of sql commands, * for all commands\n"
+msgstr ""
+
+#: help.c:217
+#, c-format
+msgid " \\H             toggle HTML mode (currently %s)\n"
+msgstr ""
+
+#: help.c:219
+msgid " \\i <file>      read and execute queries from <file>\n"
+msgstr ""
+
+#: help.c:220
+msgid " \\l             list all databases\n"
+msgstr ""
+
+#: help.c:221
+msgid ""
+" \\lo_export, \\lo_import, \\lo_list, \\lo_unlink\n"
+"                large object operations\n"
+msgstr ""
+
+#: help.c:223
+msgid " \\o [file]      send all query results to [file], or |pipe\n"
+msgstr ""
+
+#: help.c:224
+msgid " \\p             show the content of the current query buffer\n"
+msgstr ""
+
+#: help.c:225
+msgid ""
+" \\pset <opt>    set table output  <opt> = {format|border|expanded|"
+"fieldsep|\n"
+"                null|recordsep|tuples_only|title|tableattr|pager}\n"
+msgstr ""
+
+#: help.c:227
+msgid " \\q             quit psql\n"
+msgstr ""
+
+#: help.c:228
+msgid " \\qecho <text>  write text to query output stream (see \\o)\n"
+msgstr ""
+
+#: help.c:229
+msgid " \\r             reset (clear) the query buffer\n"
+msgstr ""
+
+#: help.c:230
+msgid " \\s [file]      print history or save it in [file]\n"
+msgstr ""
+
+#: help.c:231
+msgid " \\set <var> <value>  set internal variable\n"
+msgstr ""
+
+#: help.c:232
+#, c-format
+msgid " \\t             show only rows (currently %s)\n"
+msgstr ""
+
+#: help.c:234
+msgid " \\T <tags>      HTML table tags\n"
+msgstr ""
+
+#: help.c:235
+msgid " \\unset <var>   unset (delete) internal variable\n"
+msgstr ""
+
+#: help.c:236
+msgid " \\w <file>      write current query buffer to a <file>\n"
+msgstr ""
+
+#: help.c:237
+#, c-format
+msgid " \\x             toggle expanded output (currently %s)\n"
+msgstr ""
+
+#: help.c:239
+msgid " \\z             list table access permissions\n"
+msgstr ""
+
+#: help.c:240
+msgid " \\! [cmd]       shell escape or command\n"
+msgstr ""
+
+#: help.c:267
+msgid "Available help:"
+msgstr "Verfügbare Hilfe:"
+
+#: help.c:298
+#, c-format
+msgid ""
+"Command:     %s\n"
+"Description: %s\n"
+"Syntax:\n"
+"%s\n"
+"\n"
+msgstr ""
+
+#: help.c:309
+#, c-format
+msgid ""
+"No help available for '%-.*s'.\n"
+"Try \\h with no arguments to see available help.\n"
+msgstr ""
+"Keine Hilfe verfügbar für  Â»%-.*s«.\n"
+"Versuchen Sie \\h ohne Argumente, um die verfügbare Hilfe zu sehen.\n"
+
+#: input.c:171
+#, c-format
+msgid "could not save history to %s: %s\n"
+msgstr "konnte History nicht in %s speichern: %s\n"
+
+#: large_obj.c:66
+msgid "Warning: Your transaction in progress has been committed."
+msgstr "Warnung: Die angefangene Transaktion wurde beendet (COMMIT)."
+
+#: large_obj.c:68
+msgid "Warning: Your transaction in progress has been rolled back."
+msgstr "Warnung: Die angefangene Transaktion wurde abgebrochen."
+
+#: large_obj.c:95
+msgid "\\lo_export: not connected to a database\n"
+msgstr "\\lo_export: nicht mit einer Datenbank verbunden\n"
+
+#: large_obj.c:162
+msgid "\\lo_import: not connected to a database\n"
+msgstr "\\lo_import: nicht mit einer Datenbank verbunden\n"
+
+#: large_obj.c:253
+msgid "\\lo_unlink: not connected to a database\n"
+msgstr "\\lo_unlink: nicht mit einer Datenbank verbunden\n"
+
+#: large_obj.c:328
+msgid "Description"
+msgstr "Beschreibung"
+
+#: large_obj.c:336
+msgid "Large objects"
+msgstr ""
+
+#: mainloop.c:242
+#, c-format
+msgid "Use \"\\q\" to leave %s.\n"
+msgstr "Verwenden Sie Â»\\q«, um %s zu verlassen.\n"
+
+#: print.c:367
+msgid "(No rows)\n"
+msgstr "(Keine Zeilen)\n"
+
+#: print.c:1072
+msgid "(1 row)"
+msgstr "(1 Zeile)"
+
+#: print.c:1074
+#, c-format
+msgid "(%d rows)"
+msgstr "(%d Zeilen)"
+
+#: startup.c:141 startup.c:615
+#, c-format
+msgid "%s: out of memory\n"
+msgstr "%s: Speicher aufgebraucht\n"
+
+#: startup.c:177
+msgid "Username: "
+msgstr "Benutzername: "
+
+#: startup.c:286
+#, c-format
+msgid ""
+"Welcome to %s, the PostgreSQL interactive terminal.\n"
+"\n"
+"Type:  \\copyright for distribution terms\n"
+"       \\h for help with SQL commands\n"
+"       \\? for help on internal slash commands\n"
+"       \\g or terminate with semicolon to execute query\n"
+"       \\q to quit\n"
+"\n"
+msgstr ""
+"Willkommen bei %s, dem interaktiven PostgreSQL-Terminal.\n"
+"\n"
+"Geben Sie ein:  \\copyright für Urheberrechtsinformationen\n"
+"                \\h für Hilfe Ã¼ber SQL-Kommandos\n"
+"                \\? für Hilfe Ã¼ber interne Kommandos\n"
+"                \\g oder Semikolon, um eine Abfrage auszuführen\n"
+"                \\q um zu beenden\n"
+"\n"
+
+#: startup.c:461
+#, c-format
+msgid "%s: couldn't set printing parameter %s\n"
+msgstr "%s: konnte Ausgabeparameter %s nicht setzen\n"
+
+#: startup.c:507
+#, c-format
+msgid "%s: could not delete variable %s\n"
+msgstr "%s: konnte Variable %s nicht löschen\n"
+
+#: startup.c:517
+#, c-format
+msgid "%s: could not set variable %s\n"
+msgstr "%s: konnte Variable %s nicht setzen\n"
+
+#: startup.c:548 startup.c:563
+#, c-format
+msgid "Try '%s --help' for more information.\n"
+msgstr "Versuchen sie Â»%s --help« für weitere Informationen.\n"
+
+#: startup.c:556
+#, c-format
+msgid ""
+"%s was compiled without support for long options.\n"
+"Use --help for help on invocation options.\n"
+msgstr ""
+
+#: startup.c:581
+#, c-format
+msgid "%s: warning: extra option %s ignored\n"
+msgstr "%s: Warnung: Ã¼berflüssige Option %s ignoriert\n"
+
+#: startup.c:588
+#, c-format
+msgid "%s: Warning: The -u option is deprecated. Use -U.\n"
+msgstr "%s: Warnung: The Option -u is veraltet. Verwenden Sie -U.\n"
+
+#: startup.c:644
+msgid "contains support for: "
+msgstr "enthält Unterstützung für: "
+
+#: startup.c:647
+msgid "readline"
+msgstr "readline"
+
+#: startup.c:657
+msgid "history"
+msgstr "history"
+
+#: startup.c:666
+msgid "multibyte"
+msgstr "multibyte"
+
+#: startup.c:674
+msgid ""
+"Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group\n"
+"Portions Copyright (c) 1996, Regents of the University of California\n"
+"Read the file COPYRIGHT or use the command \\copyright to see the\n"
+"usage and distribution terms."
+msgstr ""
+"Teile Copyright (c) 1996-2001, PostgreSQL Global Development Group\n"
+"Teile Copyright (c) 1996, Regents of the University of California\n"
+"Lesen Sie die Datei COPYRIGHT oder verwenden Sie das Kommando \\copyright\n"
+"um Urheberrechtsinformationen zu sehen."
+
+#: startup.c:699
+#, c-format
+msgid ""
+"SSL connection (cipher: %s, bits: %i)\n"
+"\n"
+msgstr ""
+"SSL-Verbindung (Verschlüsslungsmethode: %s, Bits: %i)\n"
+"\n"
index d5f15b5ba775f901a11974e44c89a540ae4a1cde..9f815c73c840b22e0214f7db56e890f01f063ef2 100644 (file)
@@ -3,7 +3,7 @@
  *
  * Copyright 2000 by PostgreSQL Global Development Group
  *
- * $Header: /cvsroot/pgsql/src/bin/psql/help.c,v 1.38 2001/05/07 19:31:33 petere Exp $
+ * $Header: /cvsroot/pgsql/src/bin/psql/help.c,v 1.39 2001/06/02 18:25:18 petere Exp $
  */
 #include "postgres_fe.h"
 #include "help.h"
@@ -29,6 +29,8 @@
 #include "common.h"
 #include "sql_help.h"
 
+#define _(x) gettext((x))
+
 /*
  * PLEASE:
  * If you change something in this file, also make the same changes
@@ -42,7 +44,7 @@
  *
  * print out command line arguments
  */
-#define ON(var) (var ? "on" : "off")
+#define ON(var) (var ? _("on") : _("off"))
 
 void
 usage(void)
@@ -74,69 +76,67 @@ usage(void)
        }
 
 /* If this " is the start of the string then it ought to end there to fit in 80 columns >> " */
-       puts("This is psql, the PostgreSQL interactive terminal.\n");
-       puts("Usage:");
-       puts("  psql [options] [dbname [username]]\n");
-       puts("Options:");
-       puts("  -a              Echo all input from script");
-       puts("  -A              Unaligned table output mode (-P format=unaligned)");
-       puts("  -c <query>      Run only single query (or slash command) and exit");
+       puts(_("This is psql, the PostgreSQL interactive terminal.\n"));
+       puts(_("Usage:"));
+       puts(_("  psql [options] [dbname [username]]\n"));
+       puts(_("Options:"));
+       puts(_("  -a              Echo all input from script"));
+       puts(_("  -A              Unaligned table output mode (-P format=unaligned)"));
+       puts(_("  -c <query>      Run only single query (or slash command) and exit"));
 
        /* Display default database */
        env = getenv("PGDATABASE");
        if (!env)
                env = user;
-       printf("  -d <dbname>     Specify database name to connect to (default: %s)\n", env);
+       printf(_("  -d <dbname>     Specify database name to connect to (default: %s)\n"), env);
 
-       puts("  -e              Echo queries sent to backend");
-       puts("  -E              Display queries that internal commands generate");
-       puts("  -f <filename>   Execute queries from file, then exit");
-       puts("  -F <string>     Set field separator (default: \"" DEFAULT_FIELD_SEP "\") (-P fieldsep=)");
+       puts(_("  -e              Echo queries sent to backend"));
+       puts(_("  -E              Display queries that internal commands generate"));
+       puts(_("  -f <filename>   Execute queries from file, then exit"));
+       printf(_("  -F <string>     Set field separator (default: \"%s\") (-P fieldsep=)\n"),
+                  DEFAULT_FIELD_SEP);
 
        /* Display default host */
        env = getenv("PGHOST");
-       printf("  -h <host>       Specify database server host (default: ");
-       if (env)
-               fputs(env, stdout);
-       else
-               fputs("domain socket", stdout);
-       puts(")");
+       printf(_("  -h <host>       Specify database server host (default: %s)\n"),
+                  env ? env : _("local socket"));
 
-       puts("  -H              HTML table output mode (-P format=html)");
-       puts("  -l              List available databases, then exit");
-       puts("  -n              Disable readline");
-       puts("  -o <filename>   Send query output to filename (or |pipe)");
+       puts(_("  -H              HTML table output mode (-P format=html)"));
+       puts(_("  -l              List available databases, then exit"));
+       puts(_("  -n              Disable readline"));
+       puts(_("  -o <filename>   Send query output to filename (or |pipe)"));
 
        /* Display default port */
        env = getenv("PGPORT");
-       printf("  -p <port>       Specify database server port (default: %s)\n",
-                  env ? env : "hardwired");
+       printf(_("  -p <port>       Specify database server port (default: %s)\n"),
+                  env ? env : DEF_PGPORT_STR);
 
-       puts("  -P var[=arg]    Set printing option 'var' to 'arg' (see \\pset command)");
-       puts("  -q              Run quietly (no messages, only query output)");
-       puts("  -R <string>     Set record separator (default: newline) (-P recordsep=)");
-       puts("  -s              Single step mode (confirm each query)");
-       puts("  -S              Single line mode (newline terminates query)");
-       puts("  -t              Print rows only (-P tuples_only)");
-       puts("  -T text         Set HTML table tag options (width, border) (-P tableattr=)");
+       puts(_("  -P var[=arg]    Set printing option 'var' to 'arg' (see \\pset command)"));
+       puts(_("  -q              Run quietly (no messages, only query output)"));
+       puts(_("  -R <string>     Set record separator (default: newline) (-P recordsep=)"));
+       puts(_("  -s              Single step mode (confirm each query)"));
+       puts(_("  -S              Single line mode (newline terminates query)"));
+       puts(_("  -t              Print rows only (-P tuples_only)"));
+       puts(_("  -T text         Set HTML table tag options (width, border) (-P tableattr=)"));
 
        /* Display default user */
        env = getenv("PGUSER");
        if (!env)
                env = user;
-       printf("  -U <username>   Specify database username (default: %s)\n", env);
-
-       puts("  -v name=val     Set psql variable 'name' to 'value'");
-       puts("  -V              Show version information and exit");
-       puts("  -W              Prompt for password (should happen automatically)");
-       puts("  -x              Turn on expanded table output (-P expanded)");
-       puts("  -X              Do not read startup file (~/.psqlrc)");
-
-       puts("\nFor more information, type \"\\?\" (for internal commands) or \"\\help\"");
-       puts("(for SQL commands) from within psql, or consult the psql section in");
-       puts("the PostgreSQL manual, which accompanies the distribution and is also");
-       puts("available at <http://www.postgresql.org>.");
-       puts("Report bugs to <pgsql-bugs@postgresql.org>.");
+       printf(_("  -U <username>   Specify database username (default: %s)\n"), env);
+
+       puts(_("  -v name=val     Set psql variable 'name' to 'value'"));
+       puts(_("  -V              Show version information and exit"));
+       puts(_("  -W              Prompt for password (should happen automatically)"));
+       puts(_("  -x              Turn on expanded table output (-P expanded)"));
+       puts(_("  -X              Do not read startup file (~/.psqlrc)"));
+
+       puts(_(
+               "\nFor more information, type \"\\?\" (for internal commands) or \"\\help\"\n"
+               "(for SQL commands) from within psql, or consult the psql section in\n"
+               "the PostgreSQL manual, which accompanies the distribution and is also\n"
+               "available at <http://www.postgresql.org>.\n\n"
+               "Report bugs to <pgsql-bugs@postgresql.org>."));
 }
 
 
@@ -192,49 +192,52 @@ slashUsage(void)
                fout = stdout;
 
        /* if you add/remove a line here, change the row test above */
-       fprintf(fout, " \\a             toggle between unaligned and aligned mode\n");
-       fprintf(fout, " \\c[onnect] [dbname|- [user]]\n"
-                       "                connect to new database (currently '%s')\n", PQdb(pset.db));
-       fprintf(fout, " \\C <title>     table title\n");
-       fprintf(fout, " \\cd [<dir>]    change the current working directory\n");
-       fprintf(fout, " \\copy ...      perform SQL COPY with data stream to the client machine\n");
-       fprintf(fout, " \\copyright     show PostgreSQL usage and distribution terms\n");
-       fprintf(fout, " \\d <table>     describe table (or view, index, sequence)\n");
-       fprintf(fout, " \\d{t|i|s|v}    list tables/indices/sequences/views\n");
-       fprintf(fout, " \\d{p|S|l}      list permissions/system tables/lobjects\n");
-       fprintf(fout, " \\da            list aggregates\n");
-       fprintf(fout, " \\dd [object]   list comment for table, type, function, or operator\n");
-       fprintf(fout, " \\df            list functions\n");
-       fprintf(fout, " \\do            list operators\n");
-       fprintf(fout, " \\dT            list data types\n");
-       fprintf(fout, " \\e [file]      edit the current query buffer or [file] with external editor\n");
-       fprintf(fout, " \\echo <text>   write text to stdout\n");
-       fprintf(fout, " \\encoding <encoding>  set client encoding\n");
-       fprintf(fout, " \\f <sep>       change field separator\n");
-       fprintf(fout, " \\g [file]      send query to backend (and results in [file] or |pipe)\n");
-       fprintf(fout, " \\h [cmd]       help on syntax of sql commands, * for all commands\n");
-       fprintf(fout, " \\H             toggle HTML mode (currently %s)\n",
+       fprintf(fout, _(" \\a             toggle between unaligned and aligned mode\n"));
+       fprintf(fout, _(" \\c[onnect] [dbname|- [user]]\n"
+                                       "                connect to new database (currently '%s')\n"),
+                       PQdb(pset.db));
+       fprintf(fout, _(" \\C <title>     table title\n"));
+       fprintf(fout, _(" \\cd [<dir>]    change the current working directory\n"));
+       fprintf(fout, _(" \\copy ...      perform SQL COPY with data stream to the client machine\n"));
+       fprintf(fout, _(" \\copyright     show PostgreSQL usage and distribution terms\n"));
+       fprintf(fout, _(" \\d <table>     describe table (or view, index, sequence)\n"));
+       fprintf(fout, _(" \\d{t|i|s|v}    list tables/indices/sequences/views\n"));
+       fprintf(fout, _(" \\d{p|S|l}      list permissions/system tables/lobjects\n"));
+       fprintf(fout, _(" \\da            list aggregates\n"));
+       fprintf(fout, _(" \\dd [object]   list comment for table, type, function, or operator\n"));
+       fprintf(fout, _(" \\df            list functions\n"));
+       fprintf(fout, _(" \\do            list operators\n"));
+       fprintf(fout, _(" \\dT            list data types\n"));
+       fprintf(fout, _(" \\e [file]      edit the current query buffer or [file] with external editor\n"));
+       fprintf(fout, _(" \\echo <text>   write text to stdout\n"));
+       fprintf(fout, _(" \\encoding <encoding>  set client encoding\n"));
+       fprintf(fout, _(" \\f <sep>       change field separator\n"));
+       fprintf(fout, _(" \\g [file]      send query to backend (and results in [file] or |pipe)\n"));
+       fprintf(fout, _(" \\h [cmd]       help on syntax of sql commands, * for all commands\n"));
+       fprintf(fout, _(" \\H             toggle HTML mode (currently %s)\n"),
                        ON(pset.popt.topt.format == PRINT_HTML));
-       fprintf(fout, " \\i <file>      read and execute queries from <file>\n");
-       fprintf(fout, " \\l             list all databases\n");
-       fprintf(fout, " \\lo_export, \\lo_import, \\lo_list, \\lo_unlink\n"
-                       "                large object operations\n");
-       fprintf(fout, " \\o [file]      send all query results to [file], or |pipe\n");
-       fprintf(fout, " \\p             show the content of the current query buffer\n");
-       fprintf(fout, " \\pset <opt>    set table output  <opt> = {format|border|expanded|fieldsep|\n"
-                       "                null|recordsep|tuples_only|title|tableattr|pager}\n");
-       fprintf(fout, " \\q             quit psql\n");
-       fprintf(fout, " \\qecho <text>  write text to query output stream (see \\o)\n");
-       fprintf(fout, " \\r             reset (clear) the query buffer\n");
-       fprintf(fout, " \\s [file]      print history or save it in [file]\n");
-       fprintf(fout, " \\set <var> <value>  set internal variable\n");
-       fprintf(fout, " \\t             show only rows (currently %s)\n", ON(pset.popt.topt.tuples_only));
-       fprintf(fout, " \\T <tags>      HTML table tags\n");
-       fprintf(fout, " \\unset <var>   unset (delete) internal variable\n");
-       fprintf(fout, " \\w <file>      write current query buffer to a <file>\n");
-       fprintf(fout, " \\x             toggle expanded output (currently %s)\n", ON(pset.popt.topt.expanded));
-       fprintf(fout, " \\z             list table access permissions\n");
-       fprintf(fout, " \\! [cmd]       shell escape or command\n");
+       fprintf(fout, _(" \\i <file>      read and execute queries from <file>\n"));
+       fprintf(fout, _(" \\l             list all databases\n"));
+       fprintf(fout, _(" \\lo_export, \\lo_import, \\lo_list, \\lo_unlink\n"
+                                       "                large object operations\n"));
+       fprintf(fout, _(" \\o [file]      send all query results to [file], or |pipe\n"));
+       fprintf(fout, _(" \\p             show the content of the current query buffer\n"));
+       fprintf(fout, _(" \\pset <opt>    set table output  <opt> = {format|border|expanded|fieldsep|\n"
+                                       "                null|recordsep|tuples_only|title|tableattr|pager}\n"));
+       fprintf(fout, _(" \\q             quit psql\n"));
+       fprintf(fout, _(" \\qecho <text>  write text to query output stream (see \\o)\n"));
+       fprintf(fout, _(" \\r             reset (clear) the query buffer\n"));
+       fprintf(fout, _(" \\s [file]      print history or save it in [file]\n"));
+       fprintf(fout, _(" \\set <var> <value>  set internal variable\n"));
+       fprintf(fout, _(" \\t             show only rows (currently %s)\n"),
+                       ON(pset.popt.topt.tuples_only));
+       fprintf(fout, _(" \\T <tags>      HTML table tags\n"));
+       fprintf(fout, _(" \\unset <var>   unset (delete) internal variable\n"));
+       fprintf(fout, _(" \\w <file>      write current query buffer to a <file>\n"));
+       fprintf(fout, _(" \\x             toggle expanded output (currently %s)\n"),
+                       ON(pset.popt.topt.expanded));
+       fprintf(fout, _(" \\z             list table access permissions\n"));
+       fprintf(fout, _(" \\! [cmd]       shell escape or command\n"));
 
        if (usePipe)
        {
@@ -261,7 +264,7 @@ helpSQL(const char *topic)
                int                     i;
                int                     items_per_column = (QL_HELP_COUNT + 2) / 3;
 
-               puts("Available help:");
+               puts(_("Available help:"));
 
                for (i = 0; i < items_per_column; i++)
                {
@@ -292,9 +295,9 @@ helpSQL(const char *topic)
                                strcmp(topic, "*") == 0)
                        {
                                help_found = true;
-                               printf("Command:     %s\n"
-                                          "Description: %s\n"
-                                          "Syntax:\n%s\n\n",
+                               printf(_("Command:     %s\n"
+                                                "Description: %s\n"
+                                                "Syntax:\n%s\n\n"),
                                         QL_HELP[i].cmd, QL_HELP[i].help, QL_HELP[i].syntax);
                                /* If we have an exact match, exit.  Fixes \h SELECT */
                                if (strcasecmp(topic, QL_HELP[i].cmd) == 0)
@@ -303,7 +306,7 @@ helpSQL(const char *topic)
                }
 
                if (!help_found)
-                       printf("No help available for '%-.*s'.\nTry \\h with no arguments to see available help.\n", (int) len, topic);
+                       printf(_("No help available for '%-.*s'.\nTry \\h with no arguments to see available help.\n"), (int) len, topic);
        }
 }
 
index 03004ef8d7098d0f5d394edc8902b79f4acf615a..fe6a9cc4ec1556300577612b6439eab98c4dd92f 100644 (file)
@@ -3,7 +3,7 @@
  *
  * Copyright 2000 by PostgreSQL Global Development Group
  *
- * $Header: /cvsroot/pgsql/src/bin/psql/large_obj.c,v 1.14 2001/03/22 04:00:20 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/bin/psql/large_obj.c,v 1.15 2001/06/02 18:25:18 petere Exp $
  */
 #include "postgres_fe.h"
 #include "large_obj.h"
@@ -63,9 +63,9 @@ handle_transaction(void)
        else if (!QUIET())
        {
                if (commit)
-                       puts("Warning: Your transaction in progress has been committed.");
+                       puts(gettext("Warning: Your transaction in progress has been committed."));
                else
-                       puts("Warning: Your transaction in progress has been rolled back.");
+                       puts(gettext("Warning: Your transaction in progress has been rolled back."));
        }
 
        PQsetNoticeProcessor(pset.db, old_notice_hook, NULL);
@@ -92,9 +92,7 @@ do_lo_export(const char *loid_arg, const char *filename_arg)
 
        if (!pset.db)
        {
-               if (!pset.cur_cmd_interactive)
-                       fprintf(stderr, "%s: ", pset.progname);
-               fputs("\\lo_export: not connected to a database\n", stderr);
+               psql_error("\\lo_export: not connected to a database\n");
                return false;
        }
 
@@ -161,9 +159,7 @@ do_lo_import(const char *filename_arg, const char *comment_arg)
 
        if (!pset.db)
        {
-               if (!pset.cur_cmd_interactive)
-                       fprintf(stderr, "%s: ", pset.progname);
-               fputs("\\lo_import: not connected to a database\n", stderr);
+               psql_error("\\lo_import: not connected to a database\n");
                return false;
        }
 
@@ -254,9 +250,7 @@ do_lo_unlink(const char *loid_arg)
 
        if (!pset.db)
        {
-               if (!pset.cur_cmd_interactive)
-                       fprintf(stderr, "%s: ", pset.progname);
-               fputs("\\lo_unlink: not connected to a database\n", stderr);
+               psql_error("\\lo_unlink: not connected to a database\n");
                return false;
        }
 
@@ -327,10 +321,11 @@ do_lo_list(void)
        char            buf[1024];
        printQueryOpt myopt = pset.popt;
 
-       strcpy(buf,
-         "SELECT loid as \"ID\", obj_description(loid) as \"Description\"\n"
-                  "FROM (SELECT DISTINCT loid FROM pg_largeobject) x\n"
-                  "ORDER BY \"ID\"");
+       snprintf(buf, sizeof(buf),
+                        "SELECT loid as \"ID\", obj_description(loid) as \"%s\"\n"
+                        "FROM (SELECT DISTINCT loid FROM pg_largeobject) x\n"
+                        "ORDER BY \"ID\"",
+                        gettext("Description"));
 
        res = PSQLexec(buf);
        if (!res)
@@ -338,7 +333,7 @@ do_lo_list(void)
 
        myopt.topt.tuples_only = false;
        myopt.nullPrint = NULL;
-       myopt.title = "Large objects";
+       myopt.title = gettext("Large objects");
 
        printQuery(res, &myopt, pset.queryFout);
 
index 1d5db855bb5d7686d33cbfb1aee221cae25181a1..3c8e8ec268ac07a650fb5a051e015196cb2b71dd 100644 (file)
@@ -3,7 +3,7 @@
  *
  * Copyright 2000 by PostgreSQL Global Development Group
  *
- * $Header: /cvsroot/pgsql/src/bin/psql/mainloop.c,v 1.39 2001/03/26 15:18:51 tgl Exp $
+ * $Header: /cvsroot/pgsql/src/bin/psql/mainloop.c,v 1.40 2001/06/02 18:25:18 petere Exp $
  */
 #include "postgres_fe.h"
 #include "mainloop.h"
@@ -19,7 +19,6 @@
 #ifndef WIN32
 #include <setjmp.h>
 sigjmp_buf     main_loop_jmp;
-
 #endif
 
 
@@ -240,7 +239,7 @@ MainLoop(FILE *source)
                                else
                                {
                                        if (!QUIET())
-                                               printf("Use \"\\q\" to leave %s.\n", pset.progname);
+                                               printf(gettext("Use \"\\q\" to leave %s.\n"), pset.progname);
                                        continue;
                                }
                        }
diff --git a/src/bin/psql/nls.mk b/src/bin/psql/nls.mk
new file mode 100644 (file)
index 0000000..0a1c7b5
--- /dev/null
@@ -0,0 +1,7 @@
+# $Header: /cvsroot/pgsql/src/bin/psql/nls.mk,v 1.1 2001/06/02 18:25:18 petere Exp $
+CATALOG_NAME   := psql
+AVAIL_LANGUAGES        := de
+GETTEXT_FILES  := command.c common.c copy.c help.c input.c large_obj.c \
+                   mainloop.c print.c startup.c
+                   # describe.c needs work
+GETTEXT_TRIGGERS:= _ psql_error simple_prompt
index a047a59eb315873a2a0155f74429815981d14216..9b89b5c5e39ea00171fd091233d695094df2e013 100644 (file)
@@ -3,7 +3,7 @@
  *
  * Copyright 2000 by PostgreSQL Global Development Group
  *
- * $Header: /cvsroot/pgsql/src/bin/psql/print.c,v 1.19 2001/05/12 19:44:46 petere Exp $
+ * $Header: /cvsroot/pgsql/src/bin/psql/print.c,v 1.20 2001/06/02 18:25:18 petere Exp $
  */
 #include "postgres_fe.h"
 #include "print.h"
@@ -364,7 +364,7 @@ print_aligned_vertical(const char *title, const char *const * headers,
 
        if (cells[0] == NULL)
        {
-               puts("(No rows)\n");
+               puts(gettext("(No rows)\n"));
                return;
        }
 
@@ -1069,9 +1069,9 @@ printQuery(const PGresult *result, const printQueryOpt *opt, FILE *fout)
 
                footers[0] = malloc(100);
                if (PQntuples(result) == 1)
-                       strcpy(footers[0], "(1 row)");
+                       snprintf(footers[0], 100, gettext("(1 row)"));
                else
-                       sprintf(footers[0], "(%d rows)", PQntuples(result));
+                       snprintf(footers[0], 100, gettext("(%d rows)"), PQntuples(result));
        }
        else
                footers = NULL;
index dc3396305d0847049a657fa4d12b9353c684351c..49e239a4fe19cee1f081ee553fadea3f2af94b26 100644 (file)
@@ -3,7 +3,7 @@
  *
  * Copyright 2000 by PostgreSQL Global Development Group
  *
- * $Header: /cvsroot/pgsql/src/bin/psql/startup.c,v 1.49 2001/05/30 14:15:27 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/bin/psql/startup.c,v 1.50 2001/06/02 18:25:18 petere Exp $
  */
 #include "postgres_fe.h"
 
 #include <getopt.h>
 #endif
 
+#ifdef ENABLE_NLS
+#include <locale.h>
+#endif
+
 #include "libpq-fe.h"
 
 #include "command.h"
@@ -102,6 +106,12 @@ main(int argc, char *argv[])
        char       *password = NULL;
        bool            need_pass;
 
+#ifdef ENABLE_NLS
+       setlocale(LC_ALL, "");
+       bindtextdomain("psql", LOCALEDIR);
+       textdomain("psql");
+#endif
+
        if (!strrchr(argv[0], '/'))
                pset.progname = argv[0];
        else
@@ -128,7 +138,7 @@ main(int argc, char *argv[])
        pset.vars = CreateVariableSpace();
        if (!pset.vars)
        {
-               fprintf(stderr, "%s: out of memory\n", pset.progname);
+               fprintf(stderr, gettext("%s: out of memory\n"), pset.progname);
                exit(EXIT_FAILURE);
        }
        pset.popt.topt.format = PRINT_ALIGNED;
@@ -273,12 +283,13 @@ main(int argc, char *argv[])
                pset.issuper = test_superuser(PQuser(pset.db));
                if (!QUIET() && !pset.notty)
                {
-                       printf("Welcome to %s, the PostgreSQL interactive terminal.\n\n"
-                                  "Type:  \\copyright for distribution terms\n"
-                                  "       \\h for help with SQL commands\n"
-                                  "       \\? for help on internal slash commands\n"
-                         "       \\g or terminate with semicolon to execute query\n"
-                                  "       \\q to quit\n\n", pset.progname);
+                       printf(gettext("Welcome to %s, the PostgreSQL interactive terminal.\n\n"
+                                                  "Type:  \\copyright for distribution terms\n"
+                                                  "       \\h for help with SQL commands\n"
+                                                  "       \\? for help on internal slash commands\n"
+                                                  "       \\g or terminate with semicolon to execute query\n"
+                                                  "       \\q to quit\n\n"),
+                                  pset.progname);
 #ifdef USE_SSL
                        printSSLInfo();
 #endif
@@ -447,7 +458,7 @@ parse_psql_options(int argc, char *argv[], struct adhoc_opts * options)
 
                                        if (!result)
                                        {
-                                               fprintf(stderr, "%s: couldn't set printing parameter %s\n", pset.progname, value);
+                                               fprintf(stderr, gettext("%s: couldn't set printing parameter %s\n"), pset.progname, value);
                                                exit(EXIT_FAILURE);
                                        }
 
@@ -493,7 +504,7 @@ parse_psql_options(int argc, char *argv[], struct adhoc_opts * options)
                                        {
                                                if (!DeleteVariable(pset.vars, value))
                                                {
-                                                       fprintf(stderr, "%s: could not delete variable %s\n",
+                                                       fprintf(stderr, gettext("%s: could not delete variable %s\n"),
                                                                        pset.progname, value);
                                                        exit(EXIT_FAILURE);
                                                }
@@ -503,7 +514,7 @@ parse_psql_options(int argc, char *argv[], struct adhoc_opts * options)
                                                *equal_loc = '\0';
                                                if (!SetVariable(pset.vars, value, equal_loc + 1))
                                                {
-                                                       fprintf(stderr, "%s: could not set variable %s\n",
+                                                       fprintf(stderr, gettext("%s: could not set variable %s\n"),
                                                                        pset.progname, value);
                                                        exit(EXIT_FAILURE);
                                                }
@@ -534,20 +545,22 @@ parse_psql_options(int argc, char *argv[], struct adhoc_opts * options)
                                /* unknown option reported by getopt */
                                else
                                {
-                                       fprintf(stderr, "Try '%s --help' for more information.\n",
+                                       fprintf(stderr, gettext("Try '%s --help' for more information.\n"),
                                                        pset.progname);
                                        exit(EXIT_FAILURE);
                                }
                                break;
 #ifndef HAVE_GETOPT_LONG
                        case '-':
-                               fprintf(stderr, "%s was compiled without support for long options.\n"
-                                               "Use --help for help on invocation options.\n", pset.progname);
+                               fprintf(stderr,
+                                               gettext("%s was compiled without support for long options.\n"
+                                                               "Use --help for help on invocation options.\n"),
+                                               pset.progname);
                                exit(EXIT_FAILURE);
                                break;
 #endif
                        default:
-                               fprintf(stderr, "Try '%s --help' for more information.\n",
+                               fprintf(stderr, gettext("Try '%s --help' for more information.\n"),
                                                pset.progname);
                                exit(EXIT_FAILURE);
                                break;
@@ -565,14 +578,14 @@ parse_psql_options(int argc, char *argv[], struct adhoc_opts * options)
                else if (!options->username)
                        options->username = argv[optind];
                else if (!QUIET())
-                       fprintf(stderr, "%s: warning: extra option %s ignored\n",
+                       fprintf(stderr, gettext("%s: warning: extra option %s ignored\n"),
                                        pset.progname, argv[optind]);
 
                optind++;
        }
 
        if (used_old_u_option && !QUIET())
-               fprintf(stderr, "%s: Warning: The -u option is deprecated. Use -U.\n", pset.progname);
+               fprintf(stderr, gettext("%s: Warning: The -u option is deprecated. Use -U.\n"), pset.progname);
 
 }
 
@@ -599,7 +612,7 @@ process_psqlrc(void)
                psqlrc = malloc(strlen(home) + 20);
                if (!psqlrc)
                {
-                       fprintf(stderr, "%s: out of memory\n", pset.progname);
+                       fprintf(stderr, gettext("%s: out of memory\n"), pset.progname);
                        exit(EXIT_FAILURE);
                }
 
@@ -628,10 +641,10 @@ showVersion(void)
        puts("psql (PostgreSQL) " PG_VERSION);
 
 #if defined(USE_READLINE) || defined (USE_HISTORY) || defined(MULTIBYTE)
-       fputs("contains ", stdout);
+       fputs(gettext("contains support for: "), stdout);
 
 #ifdef USE_READLINE
-       fputs("readline", stdout);
+       fputs(gettext("readline"), stdout);
 #define _Feature
 #endif
 
@@ -641,7 +654,7 @@ showVersion(void)
 #else
 #define _Feature
 #endif
-       fputs("history", stdout);
+       fputs(gettext("history"), stdout);
 #endif
 
 #ifdef MULTIBYTE
@@ -650,18 +663,18 @@ showVersion(void)
 #else
 #define _Feature
 #endif
-       fputs("multibyte", stdout);
+       fputs(gettext("multibyte"), stdout);
 #endif
 
 #undef _Feature
 
-       puts(" support");
+       puts("");
 #endif
 
-       puts("Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group");
-       puts("Portions Copyright (c) 1996 Regents of the University of California");
-       puts("Read the file COPYRIGHT or use the command \\copyright to see the");
-       puts("usage and distribution terms.");
+       puts(gettext("Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group\n"
+                                "Portions Copyright (c) 1996, Regents of the University of California\n"
+                                "Read the file COPYRIGHT or use the command \\copyright to see the\n"
+                                "usage and distribution terms."));
 }
 
 
@@ -683,7 +696,7 @@ printSSLInfo(void)
                return;                                 /* no SSL */
 
        SSL_get_cipher_bits(ssl, &sslbits);
-       printf("SSL enabled connection. Chiper: %s, bits: %i\n\n",
+       printf(gettext("SSL connection (cipher: %s, bits: %i)\n\n"),
                   SSL_get_cipher(ssl), sslbits);
 }
 
index b7fb0768c89b0e455d5e137656edb3b17aca27bf..fa8811d314038e1bcd8ba191516c521d038184cd 100644 (file)
@@ -12,7 +12,7 @@
  * Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
  * Portions Copyright (c) 1994, Regents of the University of California
  *
- * $Id: c.h,v 1.93 2001/05/30 14:15:27 momjian Exp $
+ * $Id: c.h,v 1.94 2001/06/02 18:25:18 petere Exp $
  *
  *-------------------------------------------------------------------------
  */
 #include <SupportDefs.h>
 #endif
 
+#ifdef ENABLE_NLS
+#include <libintl.h>
+#else
+#define gettext(x) (x)
+#endif
 
 /* ----------------------------------------------------------------
  *                             Section 1: hacks to cope with non-ANSI C compilers
index fc544f4b3e343c0251ddde219ce33d09333d8005..b574774b838a8687c158fa0d50b149508f738919 100644 (file)
@@ -8,7 +8,7 @@
  * or in config.h afterwards.  Of course, if you edit config.h, then your
  * changes will be overwritten the next time you run configure.
  *
- * $Id: config.h.in,v 1.164 2001/05/11 23:38:06 petere Exp $
+ * $Id: config.h.in,v 1.165 2001/06/02 18:25:18 petere Exp $
  */
 
 #ifndef CONFIG_H
 /* --enable-pltcl-unknown */
 #undef ENABLE_PLTCL_UNKNOWN
 
+/* --enable-nls */
+#undef ENABLE_NLS
+
+/* location of locale files */
+#undef LOCALEDIR
 
 /*
  *------------------------------------------------------------------------
diff --git a/src/nls-global.mk b/src/nls-global.mk
new file mode 100644 (file)
index 0000000..d97df26
--- /dev/null
@@ -0,0 +1,119 @@
+# $Header: /cvsroot/pgsql/src/nls-global.mk,v 1.1 2001/06/02 18:25:17 petere Exp $
+
+# Common rules for Native Language Support (NLS)
+#
+# If some subdirectory of the source tree wants to provide NLS, it
+# needs to contain a file 'nls.mk' with the following make variable
+# assignments:
+#
+# CATALOG_NAME         -- name of the message catalog (xxx.po); probably
+#                          name of the program
+# AVAIL_LANGUAGES      -- list of languages that are provided/supported
+# GETTEXT_FILES         -- list of source files that contain message strings
+# GETTEXT_TRIGGERS      -- (optional) list of functions that contain
+#                          translatable strings
+#
+# That's all, the rest is done here, if --enable-nls was specified.
+#
+# The only user-visible targets here are 'init-po', to make an initial
+# "blank" catalog from program sources, and 'update-po', which is to
+# be called if the messages in the program source have changed, in
+# order to merge the changes into the existing .po files.
+
+
+# existence checked by Makefile.global; otherwise we won't get here
+include $(srcdir)/nls.mk
+
+# If user specified the languages he wants in --enable-nls=LANGUAGES,
+# filter out the rest.  Else use all available ones.
+ifdef WANTED_LANGUAGES
+LANGUAGES = $(filter $(WANTED_LANGUAGES), $(AVAIL_LANGUAGES))
+else
+LANGUAGES = $(AVAIL_LANGUAGES)
+endif
+
+PO_FILES = $(addsuffix .po, $(LANGUAGES))
+MO_FILES = $(addsuffix .mo, $(LANGUAGES))
+
+XGETTEXT += --foreign-user
+
+
+all-po: $(MO_FILES)
+
+distprep: $(srcdir)/$(CATALOG_NAME).pot
+
+%.mo: %.po
+       $(MSGFMT) -o $@ $<
+
+ifdef XGETTEXT
+ifeq ($(word 1,$(GETTEXT_FILES)),+)
+$(srcdir)/$(CATALOG_NAME).pot: $(word 2, $(GETTEXT_FILES))
+       $(XGETTEXT) -D $(srcdir) -ctranslator -n $(addprefix -k, $(GETTEXT_TRIGGERS)) -f $<
+else
+$(srcdir)/$(CATALOG_NAME).pot: $(GETTEXT_FILES)
+       $(XGETTEXT) -ctranslator -n $(addprefix -k, $(GETTEXT_TRIGGERS)) $^
+endif
+       mv messages.po $@
+else # not XGETTEXT
+       @echo "You don't have 'xgettext'."; exit 1
+endif # not XGETTEXT
+
+
+install-po: all-po installdirs-po
+       for lang in $(LANGUAGES); do \
+         $(INSTALL_DATA) $$lang.mo $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(CATALOG_NAME).mo || exit 1; \
+       done
+
+installdirs-po:
+       $(mkinstalldirs) $(foreach lang, $(LANGUAGES), $(DESTDIR)$(localedir)/$(lang)/LC_MESSAGES)
+
+uninstall-po:
+       rm -f $(foreach lang, $(LANGUAGES), $(DESTDIR)$(localedir)/$(lang)/LC_MESSAGES/$(CATALOG_NAME).mo)
+
+
+clean-po:
+       rm -f $(MO_FILES)
+       @rm -f $(addsuffix .po.old, $(AVAIL_LANGUAGES))
+
+maintainer-clean-po:
+       rm -f $(srcdir)/$(CATALOG_NAME).pot
+
+
+maintainer-check-po: $(PO_FILES)
+       for file in $^; do \
+         $(MSGFMT) -v -o /dev/null $$file || exit 1; \
+       done
+
+
+init-po: $(srcdir)/$(CATALOG_NAME).pot
+
+
+update-po: $(srcdir)/$(CATALOG_NAME).pot
+ifdef MSGMERGE
+#      XXX  should be $(LANGUAGES)?
+       @for lang in $(AVAIL_LANGUAGES); do \
+         echo "merging $$lang:"; \
+         if $(MSGMERGE) $(srcdir)/$$lang.po $< -o $$lang.po.new; \
+         then \
+           mv $(srcdir)/$$lang.po $$lang.po.old; \
+           mv $$lang.po.new $(srcdir)/$$lang.po; \
+         else \
+           echo "msgmerge for $$lang failed"; \
+           rm -f $$lang.po.new; \
+         fi; \
+       done
+else
+       @echo "You don't have 'msgmerge'." ; exit 1
+endif
+
+
+all: all-po
+install: install-po
+installdirs: installdirs-po
+uninstall: uninstall-po
+clean distclean: clean-po
+maintainer-clean: maintainer-clean-po
+maintainer-check: maintainer-check-po
+
+.PHONY: all-po install-po installdirs-po uninstall-po clean-po \
+        maintainer-clean-po maintainer-check-po init-po update-po