diff --git a/src/backend/catalog/dependency.c b/src/backend/catalog/dependency.c
index d321a3966e0317323498f5b2bf466d2edf4ec253..16d100f4291d7d89c2a693c1722e4f6014f4d654 100644
--- a/src/backend/catalog/dependency.c
+++ b/src/backend/catalog/dependency.c
@@ -8,7 +8,7 @@
  * Portions Copyright (c) 1994, Regents of the University of California
  *
  * IDENTIFICATION
- *	  $PostgreSQL: pgsql/src/backend/catalog/dependency.c,v 1.41 2004/12/31 21:59:38 pgsql Exp $
+ *	  $PostgreSQL: pgsql/src/backend/catalog/dependency.c,v 1.42 2005/02/22 04:35:34 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -1424,18 +1424,18 @@ getObjectDescription(const ObjectAddress *object)
 		case OCLASS_CLASS:
 			getRelationDescription(&buffer, object->objectId);
 			if (object->objectSubId != 0)
-				appendStringInfo(&buffer, gettext(" column %s"),
+				appendStringInfo(&buffer, _(" column %s"),
 							   get_relid_attribute_name(object->objectId,
 												   object->objectSubId));
 			break;
 
 		case OCLASS_PROC:
-			appendStringInfo(&buffer, gettext("function %s"),
+			appendStringInfo(&buffer, _("function %s"),
 							 format_procedure(object->objectId));
 			break;
 
 		case OCLASS_TYPE:
-			appendStringInfo(&buffer, gettext("type %s"),
+			appendStringInfo(&buffer, _("type %s"),
 							 format_type_be(object->objectId));
 			break;
 
@@ -1465,7 +1465,7 @@ getObjectDescription(const ObjectAddress *object)
 
 				castForm = (Form_pg_cast) GETSTRUCT(tup);
 
-				appendStringInfo(&buffer, gettext("cast from %s to %s"),
+				appendStringInfo(&buffer, _("cast from %s to %s"),
 								 format_type_be(castForm->castsource),
 								 format_type_be(castForm->casttarget));
 
@@ -1502,13 +1502,13 @@ getObjectDescription(const ObjectAddress *object)
 
 				if (OidIsValid(con->conrelid))
 				{
-					appendStringInfo(&buffer, gettext("constraint %s on "),
+					appendStringInfo(&buffer, _("constraint %s on "),
 									 NameStr(con->conname));
 					getRelationDescription(&buffer, con->conrelid);
 				}
 				else
 				{
-					appendStringInfo(&buffer, gettext("constraint %s"),
+					appendStringInfo(&buffer, _("constraint %s"),
 									 NameStr(con->conname));
 				}
 
@@ -1527,7 +1527,7 @@ getObjectDescription(const ObjectAddress *object)
 				if (!HeapTupleIsValid(conTup))
 					elog(ERROR, "cache lookup failed for conversion %u",
 						 object->objectId);
-				appendStringInfo(&buffer, gettext("conversion %s"),
+				appendStringInfo(&buffer, _("conversion %s"),
 								 NameStr(((Form_pg_conversion) GETSTRUCT(conTup))->conname));
 				ReleaseSysCache(conTup);
 				break;
@@ -1564,7 +1564,7 @@ getObjectDescription(const ObjectAddress *object)
 				colobject.objectId = attrdef->adrelid;
 				colobject.objectSubId = attrdef->adnum;
 
-				appendStringInfo(&buffer, gettext("default for %s"),
+				appendStringInfo(&buffer, _("default for %s"),
 								 getObjectDescription(&colobject));
 
 				systable_endscan(adscan);
@@ -1582,14 +1582,14 @@ getObjectDescription(const ObjectAddress *object)
 				if (!HeapTupleIsValid(langTup))
 					elog(ERROR, "cache lookup failed for language %u",
 						 object->objectId);
-				appendStringInfo(&buffer, gettext("language %s"),
+				appendStringInfo(&buffer, _("language %s"),
 								 NameStr(((Form_pg_language) GETSTRUCT(langTup))->lanname));
 				ReleaseSysCache(langTup);
 				break;
 			}
 
 		case OCLASS_OPERATOR:
-			appendStringInfo(&buffer, gettext("operator %s"),
+			appendStringInfo(&buffer, _("operator %s"),
 							 format_operator(object->objectId));
 			break;
 
@@ -1623,7 +1623,7 @@ getObjectDescription(const ObjectAddress *object)
 				else
 					nspname = get_namespace_name(opcForm->opcnamespace);
 
-				appendStringInfo(&buffer, gettext("operator class %s for access method %s"),
+				appendStringInfo(&buffer, _("operator class %s for access method %s"),
 								 quote_qualified_identifier(nspname,
 											  NameStr(opcForm->opcname)),
 								 NameStr(amForm->amname));
@@ -1659,7 +1659,7 @@ getObjectDescription(const ObjectAddress *object)
 
 				rule = (Form_pg_rewrite) GETSTRUCT(tup);
 
-				appendStringInfo(&buffer, gettext("rule %s on "),
+				appendStringInfo(&buffer, _("rule %s on "),
 								 NameStr(rule->rulename));
 				getRelationDescription(&buffer, rule->ev_class);
 
@@ -1694,7 +1694,7 @@ getObjectDescription(const ObjectAddress *object)
 
 				trig = (Form_pg_trigger) GETSTRUCT(tup);
 
-				appendStringInfo(&buffer, gettext("trigger %s on "),
+				appendStringInfo(&buffer, _("trigger %s on "),
 								 NameStr(trig->tgname));
 				getRelationDescription(&buffer, trig->tgrelid);
 
@@ -1711,7 +1711,7 @@ getObjectDescription(const ObjectAddress *object)
 				if (!nspname)
 					elog(ERROR, "cache lookup failed for namespace %u",
 						 object->objectId);
-				appendStringInfo(&buffer, gettext("schema %s"), nspname);
+				appendStringInfo(&buffer, _("schema %s"), nspname);
 				break;
 			}
 
@@ -1755,40 +1755,40 @@ getRelationDescription(StringInfo buffer, Oid relid)
 	switch (relForm->relkind)
 	{
 		case RELKIND_RELATION:
-			appendStringInfo(buffer, gettext("table %s"),
+			appendStringInfo(buffer, _("table %s"),
 							 relname);
 			break;
 		case RELKIND_INDEX:
-			appendStringInfo(buffer, gettext("index %s"),
+			appendStringInfo(buffer, _("index %s"),
 							 relname);
 			break;
 		case RELKIND_SPECIAL:
-			appendStringInfo(buffer, gettext("special system relation %s"),
+			appendStringInfo(buffer, _("special system relation %s"),
 							 relname);
 			break;
 		case RELKIND_SEQUENCE:
-			appendStringInfo(buffer, gettext("sequence %s"),
+			appendStringInfo(buffer, _("sequence %s"),
 							 relname);
 			break;
 		case RELKIND_UNCATALOGED:
-			appendStringInfo(buffer, gettext("uncataloged table %s"),
+			appendStringInfo(buffer, _("uncataloged table %s"),
 							 relname);
 			break;
 		case RELKIND_TOASTVALUE:
-			appendStringInfo(buffer, gettext("toast table %s"),
+			appendStringInfo(buffer, _("toast table %s"),
 							 relname);
 			break;
 		case RELKIND_VIEW:
-			appendStringInfo(buffer, gettext("view %s"),
+			appendStringInfo(buffer, _("view %s"),
 							 relname);
 			break;
 		case RELKIND_COMPOSITE_TYPE:
-			appendStringInfo(buffer, gettext("composite type %s"),
+			appendStringInfo(buffer, _("composite type %s"),
 							 relname);
 			break;
 		default:
 			/* shouldn't get here */
-			appendStringInfo(buffer, gettext("relation %s"),
+			appendStringInfo(buffer, _("relation %s"),
 							 relname);
 			break;
 	}
diff --git a/src/backend/libpq/auth.c b/src/backend/libpq/auth.c
index 978aae74464ea36df299940ba865fbd4410785e9..b941ccd50304988f952f325a56e872a0ca4a38d9 100644
--- a/src/backend/libpq/auth.c
+++ b/src/backend/libpq/auth.c
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *	  $PostgreSQL: pgsql/src/backend/libpq/auth.c,v 1.122 2005/01/12 21:37:53 tgl Exp $
+ *	  $PostgreSQL: pgsql/src/backend/libpq/auth.c,v 1.123 2005/02/22 04:35:57 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -449,7 +449,7 @@ ClientAuthentication(Port *port)
 				   (errcode(ERRCODE_INVALID_AUTHORIZATION_SPECIFICATION),
 					errmsg("no pg_hba.conf entry for host \"%s\", user \"%s\", database \"%s\", %s",
 						   hostinfo, port->user_name, port->database_name,
-				   port->ssl ? gettext("SSL on") : gettext("SSL off"))));
+				   port->ssl ? _("SSL on") : _("SSL off"))));
 #else
 				ereport(FATAL,
 				   (errcode(ERRCODE_INVALID_AUTHORIZATION_SPECIFICATION),
diff --git a/src/backend/libpq/pqcomm.c b/src/backend/libpq/pqcomm.c
index c3e25958022b761c65ccbb0d4b774972ab65f49c..ce321af4b137a69e868c32a1b0e86ae847b17413 100644
--- a/src/backend/libpq/pqcomm.c
+++ b/src/backend/libpq/pqcomm.c
@@ -30,7 +30,7 @@
  * Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group
  * Portions Copyright (c) 1994, Regents of the University of California
  *
- *	$PostgreSQL: pgsql/src/backend/libpq/pqcomm.c,v 1.175 2005/01/12 16:38:17 tgl Exp $
+ *	$PostgreSQL: pgsql/src/backend/libpq/pqcomm.c,v 1.176 2005/02/22 04:35:57 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -308,21 +308,21 @@ StreamServerPort(int family, char *hostName, unsigned short portNumber,
 		switch (addr->ai_family)
 		{
 			case AF_INET:
-				familyDesc = gettext("IPv4");
+				familyDesc = _("IPv4");
 				break;
 #ifdef HAVE_IPV6
 			case AF_INET6:
-				familyDesc = gettext("IPv6");
+				familyDesc = _("IPv6");
 				break;
 #endif
 #ifdef HAVE_UNIX_SOCKETS
 			case AF_UNIX:
-				familyDesc = gettext("Unix");
+				familyDesc = _("Unix");
 				break;
 #endif
 			default:
 				snprintf(familyDescBuf, sizeof(familyDescBuf),
-						 gettext("unrecognized address family %d"),
+						 _("unrecognized address family %d"),
 						 addr->ai_family);
 				familyDesc = familyDescBuf;
 				break;
diff --git a/src/backend/parser/scan.l b/src/backend/parser/scan.l
index 7e944467bd05cd925d99657ad4a6d54cffca9e4e..5bd817c2252b8b97d5cdd618214aad0e352d5128 100644
--- a/src/backend/parser/scan.l
+++ b/src/backend/parser/scan.l
@@ -10,7 +10,7 @@
  * Portions Copyright (c) 1994, Regents of the University of California
  *
  * IDENTIFICATION
- *	  $PostgreSQL: pgsql/src/backend/parser/scan.l,v 1.119 2004/12/31 22:00:27 pgsql Exp $
+ *	  $PostgreSQL: pgsql/src/backend/parser/scan.l,v 1.120 2005/02/22 04:36:22 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -618,7 +618,7 @@ yyerror(const char *message)
 		ereport(ERROR,
 				(errcode(ERRCODE_SYNTAX_ERROR),
 				 /* translator: %s is typically "syntax error" */
-				 errmsg("%s at end of input", gettext(message)),
+				 errmsg("%s at end of input", _(message)),
 				 errposition(cursorpos)));
 	}
 	else
@@ -626,7 +626,7 @@ yyerror(const char *message)
 		ereport(ERROR,
 				(errcode(ERRCODE_SYNTAX_ERROR),
 				 /* translator: first %s is typically "syntax error" */
-				 errmsg("%s at or near \"%s\"", gettext(message), loc),
+				 errmsg("%s at or near \"%s\"", _(message), loc),
 				 errposition(cursorpos)));
 	}
 }
diff --git a/src/backend/postmaster/postmaster.c b/src/backend/postmaster/postmaster.c
index 7cd9a1b048d2d9508d8ea591225ce83309f81d33..d84bf2775768ee2628cbc09ee84bfbff89959964 100644
--- a/src/backend/postmaster/postmaster.c
+++ b/src/backend/postmaster/postmaster.c
@@ -37,7 +37,7 @@
  *
  *
  * IDENTIFICATION
- *	  $PostgreSQL: pgsql/src/backend/postmaster/postmaster.c,v 1.444 2005/02/20 02:21:54 tgl Exp $
+ *	  $PostgreSQL: pgsql/src/backend/postmaster/postmaster.c,v 1.445 2005/02/22 04:36:36 momjian Exp $
  *
  * NOTES
  *
@@ -1065,35 +1065,35 @@ pmdaemonize(void)
 static void
 usage(const char *progname)
 {
-	printf(gettext("%s is the PostgreSQL server.\n\n"), progname);
-	printf(gettext("Usage:\n  %s [OPTION]...\n\n"), progname);
-	printf(gettext("Options:\n"));
+	printf(_("%s is the PostgreSQL server.\n\n"), progname);
+	printf(_("Usage:\n  %s [OPTION]...\n\n"), progname);
+	printf(_("Options:\n"));
 #ifdef USE_ASSERT_CHECKING
-	printf(gettext("  -A 1|0          enable/disable run-time assert checking\n"));
+	printf(_("  -A 1|0          enable/disable run-time assert checking\n"));
 #endif
-	printf(gettext("  -B NBUFFERS     number of shared buffers\n"));
-	printf(gettext("  -c NAME=VALUE   set run-time parameter\n"));
-	printf(gettext("  -d 1-5          debugging level\n"));
-	printf(gettext("  -D DATADIR      database directory\n"));
-	printf(gettext("  -F              turn fsync off\n"));
-	printf(gettext("  -h HOSTNAME     host name or IP address to listen on\n"));
-	printf(gettext("  -i              enable TCP/IP connections\n"));
-	printf(gettext("  -k DIRECTORY    Unix-domain socket location\n"));
+	printf(_("  -B NBUFFERS     number of shared buffers\n"));
+	printf(_("  -c NAME=VALUE   set run-time parameter\n"));
+	printf(_("  -d 1-5          debugging level\n"));
+	printf(_("  -D DATADIR      database directory\n"));
+	printf(_("  -F              turn fsync off\n"));
+	printf(_("  -h HOSTNAME     host name or IP address to listen on\n"));
+	printf(_("  -i              enable TCP/IP connections\n"));
+	printf(_("  -k DIRECTORY    Unix-domain socket location\n"));
 #ifdef USE_SSL
-	printf(gettext("  -l              enable SSL connections\n"));
+	printf(_("  -l              enable SSL connections\n"));
 #endif
-	printf(gettext("  -N MAX-CONNECT  maximum number of allowed connections\n"));
-	printf(gettext("  -o OPTIONS      pass \"OPTIONS\" to each server process\n"));
-	printf(gettext("  -p PORT         port number to listen on\n"));
-	printf(gettext("  -S              silent mode (start in background without logging output)\n"));
-	printf(gettext("  --help          show this help, then exit\n"));
-	printf(gettext("  --version       output version information, then exit\n"));
-
-	printf(gettext("\nDeveloper options:\n"));
-	printf(gettext("  -n              do not reinitialize shared memory after abnormal exit\n"));
-	printf(gettext("  -s              send SIGSTOP to all backend servers if one dies\n"));
-
-	printf(gettext("\nPlease read the documentation for the complete list of run-time\n"
+	printf(_("  -N MAX-CONNECT  maximum number of allowed connections\n"));
+	printf(_("  -o OPTIONS      pass \"OPTIONS\" to each server process\n"));
+	printf(_("  -p PORT         port number to listen on\n"));
+	printf(_("  -S              silent mode (start in background without logging output)\n"));
+	printf(_("  --help          show this help, then exit\n"));
+	printf(_("  --version       output version information, then exit\n"));
+
+	printf(_("\nDeveloper options:\n"));
+	printf(_("  -n              do not reinitialize shared memory after abnormal exit\n"));
+	printf(_("  -s              send SIGSTOP to all backend servers if one dies\n"));
+
+	printf(_("\nPlease read the documentation for the complete list of run-time\n"
 				   "configuration settings and how to set them on the command line or in\n"
 				   "the configuration file.\n\n"
 				   "Report bugs to <pgsql-bugs@postgresql.org>.\n"));
@@ -1993,7 +1993,7 @@ reaper(SIGNAL_ARGS)
 			StartupPID = 0;
 			if (exitstatus != 0)
 			{
-				LogChildExit(LOG, gettext("startup process"),
+				LogChildExit(LOG, _("startup process"),
 							 pid, exitstatus);
 				ereport(LOG,
 						(errmsg("aborting startup due to startup process failure")));
@@ -2067,7 +2067,7 @@ reaper(SIGNAL_ARGS)
 			 * Any unexpected exit of the bgwriter is treated as a crash.
 			 */
 			HandleChildCrash(pid, exitstatus,
-							 gettext("background writer process"));
+							 _("background writer process"));
 			continue;
 		}
 
@@ -2080,7 +2080,7 @@ reaper(SIGNAL_ARGS)
 		{
 			PgArchPID = 0;
 			if (exitstatus != 0)
-				LogChildExit(LOG, gettext("archiver process"),
+				LogChildExit(LOG, _("archiver process"),
 							 pid, exitstatus);
 			if (XLogArchivingActive() &&
 				StartupPID == 0 && !FatalError && Shutdown == NoShutdown)
@@ -2097,7 +2097,7 @@ reaper(SIGNAL_ARGS)
 		{
 			PgStatPID = 0;
 			if (exitstatus != 0)
-				LogChildExit(LOG, gettext("statistics collector process"),
+				LogChildExit(LOG, _("statistics collector process"),
 							 pid, exitstatus);
 			if (StartupPID == 0 && !FatalError && Shutdown == NoShutdown)
 				PgStatPID = pgstat_start();
@@ -2111,7 +2111,7 @@ reaper(SIGNAL_ARGS)
 			/* for safety's sake, launch new logger *first* */
 			SysLoggerPID = SysLogger_Start();
 			if (exitstatus != 0)
-				LogChildExit(LOG, gettext("system logger process"),
+				LogChildExit(LOG, _("system logger process"),
 							 pid, exitstatus);
 			continue;
 		}
@@ -2178,7 +2178,7 @@ CleanupBackend(int pid,
 {
 	Dlelem	   *curr;
 
-	LogChildExit(DEBUG2, gettext("server process"), pid, exitstatus);
+	LogChildExit(DEBUG2, _("server process"), pid, exitstatus);
 
 	/*
 	 * If a backend dies in an ugly way (i.e. exit status not 0) then we
@@ -2188,7 +2188,7 @@ CleanupBackend(int pid,
 	 */
 	if (exitstatus != 0)
 	{
-		HandleChildCrash(pid, exitstatus, gettext("server process"));
+		HandleChildCrash(pid, exitstatus, _("server process"));
 		return;
 	}
 
@@ -2512,7 +2512,7 @@ report_fork_failure_to_client(Port *port, int errnum)
 
 	/* Format the error message packet (always V2 protocol) */
 	snprintf(buffer, sizeof(buffer), "E%s%s\n",
-			 gettext("could not fork new process for connection: "),
+			 _("could not fork new process for connection: "),
 			 strerror(errnum));
 
 	/* Set port to non-blocking.  Don't do send() if this fails */
diff --git a/src/backend/storage/lmgr/deadlock.c b/src/backend/storage/lmgr/deadlock.c
index 26093490413158f6fea62b1149e05b2c1d72da49..7b4ca899b62e2da8b04a155bffb9d290c033fbad 100644
--- a/src/backend/storage/lmgr/deadlock.c
+++ b/src/backend/storage/lmgr/deadlock.c
@@ -12,7 +12,7 @@
  *
  *
  * IDENTIFICATION
- *	  $PostgreSQL: pgsql/src/backend/storage/lmgr/deadlock.c,v 1.32 2004/12/31 22:01:05 pgsql Exp $
+ *	  $PostgreSQL: pgsql/src/backend/storage/lmgr/deadlock.c,v 1.33 2005/02/22 04:36:49 momjian Exp $
  *
  *	Interface:
  *
@@ -864,7 +864,7 @@ DeadLockReport(void)
 		{
 			/* Lock is for transaction ID */
 			appendStringInfo(&buf,
-							 gettext("Process %d waits for %s on transaction %u; blocked by process %d."),
+							 _("Process %d waits for %s on transaction %u; blocked by process %d."),
 							 info->pid,
 							 GetLockmodeName(info->lockmode),
 							 info->locktag.objId.xid,
@@ -874,7 +874,7 @@ DeadLockReport(void)
 		{
 			/* Lock is for a relation */
 			appendStringInfo(&buf,
-							 gettext("Process %d waits for %s on relation %u of database %u; blocked by process %d."),
+							 _("Process %d waits for %s on relation %u of database %u; blocked by process %d."),
 							 info->pid,
 							 GetLockmodeName(info->lockmode),
 							 info->locktag.relId,
diff --git a/src/backend/tcop/postgres.c b/src/backend/tcop/postgres.c
index 58d7bade5c6fed6b59234c6c193dd80a3d24154e..381d0e61102fd61cb0f194cfa75713075b00d5cb 100644
--- a/src/backend/tcop/postgres.c
+++ b/src/backend/tcop/postgres.c
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *	  $PostgreSQL: pgsql/src/backend/tcop/postgres.c,v 1.441 2005/02/20 02:21:57 tgl Exp $
+ *	  $PostgreSQL: pgsql/src/backend/tcop/postgres.c,v 1.442 2005/02/22 04:37:17 momjian Exp $
  *
  * NOTES
  *	  this is the "main" module of the postgres backend and
@@ -2120,35 +2120,35 @@ assign_max_stack_depth(int newval, bool doit, GucSource source)
 static void
 usage(const char *progname)
 {
-	printf(gettext("%s is the PostgreSQL stand-alone backend.  It is not\nintended to be used by normal users.\n\n"), progname);
+	printf(_("%s is the PostgreSQL stand-alone backend.  It is not\nintended to be used by normal users.\n\n"), progname);
 
-	printf(gettext("Usage:\n  %s [OPTION]... [DBNAME]\n\n"), progname);
-	printf(gettext("Options:\n"));
+	printf(_("Usage:\n  %s [OPTION]... [DBNAME]\n\n"), progname);
+	printf(_("Options:\n"));
 #ifdef USE_ASSERT_CHECKING
-	printf(gettext("  -A 1|0          enable/disable run-time assert checking\n"));
+	printf(_("  -A 1|0          enable/disable run-time assert checking\n"));
 #endif
-	printf(gettext("  -B NBUFFERS     number of shared buffers\n"));
-	printf(gettext("  -c NAME=VALUE   set run-time parameter\n"));
-	printf(gettext("  -d 0-5          debugging level (0 is off)\n"));
-	printf(gettext("  -D DATADIR      database directory\n"));
-	printf(gettext("  -e              use European date input format (DMY)\n"));
-	printf(gettext("  -E              echo query before execution\n"));
-	printf(gettext("  -F              turn fsync off\n"));
-	printf(gettext("  -N              do not use newline as interactive query delimiter\n"));
-	printf(gettext("  -o FILENAME     send stdout and stderr to given file\n"));
-	printf(gettext("  -P              disable system indexes\n"));
-	printf(gettext("  -s              show statistics after each query\n"));
-	printf(gettext("  -S WORK-MEM     set amount of memory for sorts (in kB)\n"));
-	printf(gettext("  --describe-config  describe configuration parameters, then exit\n"));
-	printf(gettext("  --help          show this help, then exit\n"));
-	printf(gettext("  --version       output version information, then exit\n"));
-	printf(gettext("\nDeveloper options:\n"));
-	printf(gettext("  -f s|i|n|m|h    forbid use of some plan types\n"));
-	printf(gettext("  -i              do not execute queries\n"));
-	printf(gettext("  -O              allow system table structure changes\n"));
-	printf(gettext("  -t pa|pl|ex     show timings after each query\n"));
-	printf(gettext("  -W NUM          wait NUM seconds to allow attach from a debugger\n"));
-	printf(gettext("\nReport bugs to <pgsql-bugs@postgresql.org>.\n"));
+	printf(_("  -B NBUFFERS     number of shared buffers\n"));
+	printf(_("  -c NAME=VALUE   set run-time parameter\n"));
+	printf(_("  -d 0-5          debugging level (0 is off)\n"));
+	printf(_("  -D DATADIR      database directory\n"));
+	printf(_("  -e              use European date input format (DMY)\n"));
+	printf(_("  -E              echo query before execution\n"));
+	printf(_("  -F              turn fsync off\n"));
+	printf(_("  -N              do not use newline as interactive query delimiter\n"));
+	printf(_("  -o FILENAME     send stdout and stderr to given file\n"));
+	printf(_("  -P              disable system indexes\n"));
+	printf(_("  -s              show statistics after each query\n"));
+	printf(_("  -S WORK-MEM     set amount of memory for sorts (in kB)\n"));
+	printf(_("  --describe-config  describe configuration parameters, then exit\n"));
+	printf(_("  --help          show this help, then exit\n"));
+	printf(_("  --version       output version information, then exit\n"));
+	printf(_("\nDeveloper options:\n"));
+	printf(_("  -f s|i|n|m|h    forbid use of some plan types\n"));
+	printf(_("  -i              do not execute queries\n"));
+	printf(_("  -O              allow system table structure changes\n"));
+	printf(_("  -t pa|pl|ex     show timings after each query\n"));
+	printf(_("  -W NUM          wait NUM seconds to allow attach from a debugger\n"));
+	printf(_("\nReport bugs to <pgsql-bugs@postgresql.org>.\n"));
 }
 
 
diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c
index 5b709b04946c54ff4714ab386630251037f2cd05..36474d0a90fea1e55d0b40f67348c1a0c53b1dec 100644
--- a/src/backend/utils/error/elog.c
+++ b/src/backend/utils/error/elog.c
@@ -42,7 +42,7 @@
  *
  *
  * IDENTIFICATION
- *	  $PostgreSQL: pgsql/src/backend/utils/error/elog.c,v 1.155 2004/12/31 22:01:27 pgsql Exp $
+ *	  $PostgreSQL: pgsql/src/backend/utils/error/elog.c,v 1.156 2005/02/22 04:37:38 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -598,7 +598,7 @@ errcode_for_socket_access(void)
 		char		   *fmtbuf; \
 		StringInfoData	buf; \
 		/* Internationalize the error format string */ \
-		fmt = gettext(fmt); \
+		fmt = _(fmt); \
 		/* Expand %m in format string */ \
 		fmtbuf = expand_fmt_string(fmt, edata); \
 		initStringInfo(&buf); \
@@ -1347,7 +1347,7 @@ log_line_prefix(StringInfo buf)
 					const char *username = MyProcPort->user_name;
 
 					if (username == NULL || *username == '\0')
-						username = gettext("[unknown]");
+						username = _("[unknown]");
 					appendStringInfo(buf, "%s", username);
 				}
 				break;
@@ -1357,7 +1357,7 @@ log_line_prefix(StringInfo buf)
 					const char *dbname = MyProcPort->database_name;
 
 					if (dbname == NULL || *dbname == '\0')
-						dbname = gettext("[unknown]");
+						dbname = _("[unknown]");
 					appendStringInfo(buf, "%s", dbname);
 				}
 				break;
@@ -1485,13 +1485,13 @@ send_message_to_server_log(ErrorData *edata)
 	if (edata->message)
 		append_with_tabs(&buf, edata->message);
 	else
-		append_with_tabs(&buf, gettext("missing error text"));
+		append_with_tabs(&buf, _("missing error text"));
 
 	if (edata->cursorpos > 0)
-		appendStringInfo(&buf, gettext(" at character %d"),
+		appendStringInfo(&buf, _(" at character %d"),
 						 edata->cursorpos);
 	else if (edata->internalpos > 0)
-		appendStringInfo(&buf, gettext(" at character %d"),
+		appendStringInfo(&buf, _(" at character %d"),
 						 edata->internalpos);
 
 	appendStringInfoChar(&buf, '\n');
@@ -1501,28 +1501,28 @@ send_message_to_server_log(ErrorData *edata)
 		if (edata->detail)
 		{
 			log_line_prefix(&buf);
-			appendStringInfoString(&buf, gettext("DETAIL:  "));
+			appendStringInfoString(&buf, _("DETAIL:  "));
 			append_with_tabs(&buf, edata->detail);
 			appendStringInfoChar(&buf, '\n');
 		}
 		if (edata->hint)
 		{
 			log_line_prefix(&buf);
-			appendStringInfoString(&buf, gettext("HINT:  "));
+			appendStringInfoString(&buf, _("HINT:  "));
 			append_with_tabs(&buf, edata->hint);
 			appendStringInfoChar(&buf, '\n');
 		}
 		if (edata->internalquery)
 		{
 			log_line_prefix(&buf);
-			appendStringInfoString(&buf, gettext("QUERY:  "));
+			appendStringInfoString(&buf, _("QUERY:  "));
 			append_with_tabs(&buf, edata->internalquery);
 			appendStringInfoChar(&buf, '\n');
 		}
 		if (edata->context)
 		{
 			log_line_prefix(&buf);
-			appendStringInfoString(&buf, gettext("CONTEXT:  "));
+			appendStringInfoString(&buf, _("CONTEXT:  "));
 			append_with_tabs(&buf, edata->context);
 			appendStringInfoChar(&buf, '\n');
 		}
@@ -1532,14 +1532,14 @@ send_message_to_server_log(ErrorData *edata)
 			if (edata->funcname && edata->filename)
 			{
 				log_line_prefix(&buf);
-				appendStringInfo(&buf, gettext("LOCATION:  %s, %s:%d\n"),
+				appendStringInfo(&buf, _("LOCATION:  %s, %s:%d\n"),
 								 edata->funcname, edata->filename,
 								 edata->lineno);
 			}
 			else if (edata->filename)
 			{
 				log_line_prefix(&buf);
-				appendStringInfo(&buf, gettext("LOCATION:  %s:%d\n"),
+				appendStringInfo(&buf, _("LOCATION:  %s:%d\n"),
 								 edata->filename, edata->lineno);
 			}
 		}
@@ -1552,7 +1552,7 @@ send_message_to_server_log(ErrorData *edata)
 	if (edata->elevel >= log_min_error_statement && debug_query_string != NULL)
 	{
 		log_line_prefix(&buf);
-		appendStringInfoString(&buf, gettext("STATEMENT:  "));
+		appendStringInfoString(&buf, _("STATEMENT:  "));
 		append_with_tabs(&buf, debug_query_string);
 		appendStringInfoChar(&buf, '\n');
 	}
@@ -1678,7 +1678,7 @@ send_message_to_frontend(ErrorData *edata)
 		if (edata->message)
 			pq_sendstring(&msgbuf, edata->message);
 		else
-			pq_sendstring(&msgbuf, gettext("missing error text"));
+			pq_sendstring(&msgbuf, _("missing error text"));
 
 		if (edata->detail)
 		{
@@ -1754,13 +1754,13 @@ send_message_to_frontend(ErrorData *edata)
 		if (edata->message)
 			appendStringInfoString(&buf, edata->message);
 		else
-			appendStringInfoString(&buf, gettext("missing error text"));
+			appendStringInfoString(&buf, _("missing error text"));
 
 		if (edata->cursorpos > 0)
-			appendStringInfo(&buf, gettext(" at character %d"),
+			appendStringInfo(&buf, _(" at character %d"),
 							 edata->cursorpos);
 		else if (edata->internalpos > 0)
-			appendStringInfo(&buf, gettext(" at character %d"),
+			appendStringInfo(&buf, _(" at character %d"),
 							 edata->internalpos);
 
 		appendStringInfoChar(&buf, '\n');
@@ -1870,7 +1870,7 @@ useful_strerror(int errnum)
 		 * expanded.
 		 */
 		snprintf(errorstr_buf, sizeof(errorstr_buf),
-				 gettext("operating system error %d"), errnum);
+				 _("operating system error %d"), errnum);
 		str = errorstr_buf;
 	}
 
@@ -1893,29 +1893,29 @@ error_severity(int elevel)
 		case DEBUG3:
 		case DEBUG4:
 		case DEBUG5:
-			prefix = gettext("DEBUG");
+			prefix = _("DEBUG");
 			break;
 		case LOG:
 		case COMMERROR:
-			prefix = gettext("LOG");
+			prefix = _("LOG");
 			break;
 		case INFO:
-			prefix = gettext("INFO");
+			prefix = _("INFO");
 			break;
 		case NOTICE:
-			prefix = gettext("NOTICE");
+			prefix = _("NOTICE");
 			break;
 		case WARNING:
-			prefix = gettext("WARNING");
+			prefix = _("WARNING");
 			break;
 		case ERROR:
-			prefix = gettext("ERROR");
+			prefix = _("ERROR");
 			break;
 		case FATAL:
-			prefix = gettext("FATAL");
+			prefix = _("FATAL");
 			break;
 		case PANIC:
-			prefix = gettext("PANIC");
+			prefix = _("PANIC");
 			break;
 		default:
 			prefix = "???";
@@ -1956,7 +1956,7 @@ write_stderr(const char *fmt,...)
 {
 	va_list		ap;
 
-	fmt = gettext(fmt);
+	fmt = _(fmt);
 
 	va_start(ap, fmt);
 #ifndef WIN32
diff --git a/src/backend/utils/misc/help_config.c b/src/backend/utils/misc/help_config.c
index bea95be8786bc18594394debb04001839ee3cf08..5d66c3382d94b345cad0dd3f622933105800cee3 100644
--- a/src/backend/utils/misc/help_config.c
+++ b/src/backend/utils/misc/help_config.c
@@ -10,7 +10,7 @@
  * Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group
  *
  * IDENTIFICATION
- *	  $PostgreSQL: pgsql/src/backend/utils/misc/help_config.c,v 1.14 2004/12/31 22:02:45 pgsql Exp $
+ *	  $PostgreSQL: pgsql/src/backend/utils/misc/help_config.c,v 1.15 2005/02/22 04:38:05 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -91,7 +91,7 @@ printMixedStruct(mixedStruct *structToPrint)
 	printf("%s\t%s\t%s\t",
 		   structToPrint->generic.name,
 		   GucContext_Names[structToPrint->generic.context],
-		   gettext(config_group_names[structToPrint->generic.group]));
+		   _(config_group_names[structToPrint->generic.group]));
 
 	switch (structToPrint->generic.vartype)
 	{
@@ -127,6 +127,6 @@ printMixedStruct(mixedStruct *structToPrint)
 	}
 
 	printf("%s\t%s\n",
-		   (structToPrint->generic.short_desc == NULL) ? "" : gettext(structToPrint->generic.short_desc),
-		   (structToPrint->generic.long_desc == NULL) ? "" : gettext(structToPrint->generic.long_desc));
+		   (structToPrint->generic.short_desc == NULL) ? "" : _(structToPrint->generic.short_desc),
+		   (structToPrint->generic.long_desc == NULL) ? "" : _(structToPrint->generic.long_desc));
 }
diff --git a/src/bin/initdb/initdb.c b/src/bin/initdb/initdb.c
index 9077d84ddc8d0f3f7f9c2dd27cada175f16f68b8..5d8338f5ac4667132dbfe9708b16649e40bc142c 100644
--- a/src/bin/initdb/initdb.c
+++ b/src/bin/initdb/initdb.c
@@ -39,7 +39,7 @@
  * Portions Copyright (c) 1994, Regents of the University of California
  * Portions taken from FreeBSD.
  *
- * $PostgreSQL: pgsql/src/bin/initdb/initdb.c,v 1.74 2005/01/28 00:34:32 tgl Exp $
+ * $PostgreSQL: pgsql/src/bin/initdb/initdb.c,v 1.75 2005/02/22 04:38:22 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -65,8 +65,6 @@ int			optreset;
 #endif
 
 
-#define _(x) gettext((x))
-
 /* version string we expect back from postgres */
 #define PG_VERSIONSTR "postgres (PostgreSQL) " PG_VERSION "\n"
 
diff --git a/src/bin/pg_config/pg_config.c b/src/bin/pg_config/pg_config.c
index d13927eafd45d3bb8d45c50871e6167f269ecf58..28baf2262d09b39265610742d13018efa2d5e3bb 100644
--- a/src/bin/pg_config/pg_config.c
+++ b/src/bin/pg_config/pg_config.c
@@ -17,7 +17,7 @@
  *
  * Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group
  *
- * $PostgreSQL: pgsql/src/bin/pg_config/pg_config.c,v 1.10 2004/12/31 22:03:03 pgsql Exp $
+ * $PostgreSQL: pgsql/src/bin/pg_config/pg_config.c,v 1.11 2005/02/22 04:38:40 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -26,8 +26,6 @@
 #include "port.h"
 #include <stdio.h>
 
-#define _(x) gettext((x))
-
 static const char *progname;
 
 static void
diff --git a/src/bin/pg_controldata/pg_controldata.c b/src/bin/pg_controldata/pg_controldata.c
index e8b9c8b677b475e3518941d949a216dea035e2f0..3615655dc42147b1d169d841a00af933ed361078 100644
--- a/src/bin/pg_controldata/pg_controldata.c
+++ b/src/bin/pg_controldata/pg_controldata.c
@@ -6,7 +6,7 @@
  * copyright (c) Oliver Elphick <olly@lfix.co.uk>, 2001;
  * licence: BSD
  *
- * $PostgreSQL: pgsql/src/bin/pg_controldata/pg_controldata.c,v 1.20 2004/09/23 00:47:44 neilc Exp $
+ * $PostgreSQL: pgsql/src/bin/pg_controldata/pg_controldata.c,v 1.21 2005/02/22 04:39:00 momjian Exp $
  */
 #include "postgres.h"
 
@@ -17,8 +17,6 @@
 
 #include "catalog/pg_control.h"
 
-#define _(x) gettext((x))
-
 
 static void
 usage(const char *progname)
diff --git a/src/bin/pg_ctl/pg_ctl.c b/src/bin/pg_ctl/pg_ctl.c
index 1d20f0c55964cde496f27722342e37e119e8910f..8564bd76e916b31a32403fc63cd6a5802f44445f 100644
--- a/src/bin/pg_ctl/pg_ctl.c
+++ b/src/bin/pg_ctl/pg_ctl.c
@@ -4,7 +4,7 @@
  *
  * Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group
  *
- * $PostgreSQL: pgsql/src/bin/pg_ctl/pg_ctl.c,v 1.53 2004/12/31 22:03:05 pgsql Exp $
+ * $PostgreSQL: pgsql/src/bin/pg_ctl/pg_ctl.c,v 1.54 2005/02/22 04:39:22 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -35,7 +35,6 @@ int			optreset;
 /* PID can be negative for standalone backend */
 typedef long pgpid_t;
 
-#define _(x) gettext((x))
 
 #define WHITESPACE "\f\n\r\t\v" /* as defined by isspace() */
 
diff --git a/src/bin/pg_dump/pg_backup_archiver.c b/src/bin/pg_dump/pg_backup_archiver.c
index f0086118270f506c98d0b4de8be7e5ccdf669c07..2e60684f048f9332bbfcf08d34f9103b50994fff 100644
--- a/src/bin/pg_dump/pg_backup_archiver.c
+++ b/src/bin/pg_dump/pg_backup_archiver.c
@@ -15,7 +15,7 @@
  *
  *
  * IDENTIFICATION
- *		$PostgreSQL: pgsql/src/bin/pg_dump/pg_backup_archiver.c,v 1.104 2005/01/26 19:44:43 tgl Exp $
+ *		$PostgreSQL: pgsql/src/bin/pg_dump/pg_backup_archiver.c,v 1.105 2005/02/22 04:39:34 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -1187,10 +1187,10 @@ static void
 _write_msg(const char *modulename, const char *fmt, va_list ap)
 {
 	if (modulename)
-		fprintf(stderr, "%s: [%s] ", progname, gettext(modulename));
+		fprintf(stderr, "%s: [%s] ", progname, _(modulename));
 	else
 		fprintf(stderr, "%s: ", progname);
-	vfprintf(stderr, gettext(fmt), ap);
+	vfprintf(stderr, _(fmt), ap);
 }
 
 void
diff --git a/src/bin/pg_dump/pg_dump.c b/src/bin/pg_dump/pg_dump.c
index ce9a5b0d1605fd3e6b6db34bc653d83735dfd43e..e2fb805d59eefb5e6f19009dc3caecb2fb6c59aa 100644
--- a/src/bin/pg_dump/pg_dump.c
+++ b/src/bin/pg_dump/pg_dump.c
@@ -12,7 +12,7 @@
  *	by PostgreSQL
  *
  * IDENTIFICATION
- *	  $PostgreSQL: pgsql/src/bin/pg_dump/pg_dump.c,v 1.402 2005/01/26 21:24:12 tgl Exp $
+ *	  $PostgreSQL: pgsql/src/bin/pg_dump/pg_dump.c,v 1.403 2005/02/22 04:39:35 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -61,8 +61,6 @@ int			optreset;
 #include "pg_backup_archiver.h"
 #include "dumputils.h"
 
-#define _(x) gettext((x))
-
 extern char *optarg;
 extern int	optind,
 			opterr;
diff --git a/src/bin/pg_dump/pg_dumpall.c b/src/bin/pg_dump/pg_dumpall.c
index a85843a32db4b846f6ed0a40621f00297d5b2747..c1c3ac66611797c4ebc4ce49eeed8475e68d4436 100644
--- a/src/bin/pg_dump/pg_dumpall.c
+++ b/src/bin/pg_dump/pg_dumpall.c
@@ -6,7 +6,7 @@
  * Portions Copyright (c) 1994, Regents of the University of California
  *
  *
- * $PostgreSQL: pgsql/src/bin/pg_dump/pg_dumpall.c,v 1.57 2004/12/31 22:03:09 pgsql Exp $
+ * $PostgreSQL: pgsql/src/bin/pg_dump/pg_dumpall.c,v 1.58 2005/02/22 04:39:38 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -34,7 +34,6 @@ int			optreset;
 #include "pg_backup.h"
 #include "pqexpbuffer.h"
 
-#define _(x) gettext((x))
 
 /* version string we expect back from postgres */
 #define PG_VERSIONSTR "pg_dump (PostgreSQL) " PG_VERSION "\n"
diff --git a/src/bin/pg_dump/pg_restore.c b/src/bin/pg_dump/pg_restore.c
index d74d1b344ed08b49c4144e16b399a9aedb0eebe8..9d2a16d467545b2d0750e2ef66099c4ac7fa860a 100644
--- a/src/bin/pg_dump/pg_restore.c
+++ b/src/bin/pg_dump/pg_restore.c
@@ -34,7 +34,7 @@
  *
  *
  * IDENTIFICATION
- *		$PostgreSQL: pgsql/src/bin/pg_dump/pg_restore.c,v 1.68 2004/12/03 18:48:19 tgl Exp $
+ *		$PostgreSQL: pgsql/src/bin/pg_dump/pg_restore.c,v 1.69 2005/02/22 04:39:38 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -65,7 +65,6 @@ int			optreset;
 #include <locale.h>
 #endif
 
-#define _(x) gettext((x))
 
 /* Forward decls */
 static void usage(const char *progname);
diff --git a/src/bin/pg_resetxlog/pg_resetxlog.c b/src/bin/pg_resetxlog/pg_resetxlog.c
index 91a411632b347c9f17f647b7e53d1b57af79d4e5..31e1442984fa728784739c53bc19bc29d85fae4b 100644
--- a/src/bin/pg_resetxlog/pg_resetxlog.c
+++ b/src/bin/pg_resetxlog/pg_resetxlog.c
@@ -23,7 +23,7 @@
  * Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group
  * Portions Copyright (c) 1994, Regents of the University of California
  *
- * $PostgreSQL: pgsql/src/bin/pg_resetxlog/pg_resetxlog.c,v 1.28 2004/12/31 22:03:11 pgsql Exp $
+ * $PostgreSQL: pgsql/src/bin/pg_resetxlog/pg_resetxlog.c,v 1.29 2005/02/22 04:40:20 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -48,8 +48,6 @@
 extern int	optind;
 extern char *optarg;
 
-#define _(x) gettext((x))
-
 
 char		XLogDir[MAXPGPATH]; /* not static, see xlog_internal.h */
 static char ControlFilePath[MAXPGPATH];
diff --git a/src/bin/psql/command.c b/src/bin/psql/command.c
index 4edacb2885276b0baa9f3179466682c041f8c6bc..fb918bdc058c6eec712a32b8af8cb53c162bec05 100644
--- a/src/bin/psql/command.c
+++ b/src/bin/psql/command.c
@@ -3,7 +3,7 @@
  *
  * Copyright (c) 2000-2005, PostgreSQL Global Development Group
  *
- * $PostgreSQL: pgsql/src/bin/psql/command.c,v 1.139 2005/01/01 05:43:08 momjian Exp $
+ * $PostgreSQL: pgsql/src/bin/psql/command.c,v 1.140 2005/02/22 04:40:51 momjian Exp $
  */
 #include "postgres_fe.h"
 #include "command.h"
@@ -121,7 +121,7 @@ HandleSlashCmds(PsqlScanState scan_state,
 	if (status == CMD_UNKNOWN)
 	{
 		if (pset.cur_cmd_interactive)
-			fprintf(stderr, gettext("Invalid command \\%s. Try \\? for help.\n"), cmd);
+			fprintf(stderr, _("Invalid command \\%s. Try \\? for help.\n"), cmd);
 		else
 			psql_error("invalid command \\%s\n", cmd);
 		status = CMD_ERROR;
@@ -609,7 +609,7 @@ exec_command(const char *cmd,
 		if (query_buf && query_buf->len > 0)
 			puts(query_buf->data);
 		else if (!quiet)
-			puts(gettext("Query buffer is empty."));
+			puts(_("Query buffer is empty."));
 		fflush(stdout);
 	}
 
@@ -643,7 +643,7 @@ exec_command(const char *cmd,
 		resetPQExpBuffer(query_buf);
 		psql_scan_reset(scan_state);
 		if (!quiet)
-			puts(gettext("Query buffer reset (cleared)."));
+			puts(_("Query buffer reset (cleared)."));
 	}
 
 	/* \s save history in a file or show it on the screen */
@@ -657,7 +657,7 @@ exec_command(const char *cmd,
 		success = saveHistory(fname ? fname : "/dev/tty");
 
 		if (success && !quiet && fname)
-			printf(gettext("Wrote history to file \"%s\".\n"), fname);
+			printf(_("Wrote history to file \"%s\".\n"), fname);
 		if (!fname)
 			putchar('\n');
 		free(fname);
@@ -739,9 +739,9 @@ exec_command(const char *cmd,
 		if (!quiet)
 		{
 			if (pset.timing)
-				puts(gettext("Timing is on."));
+				puts(_("Timing is on."));
 			else
-				puts(gettext("Timing is off."));
+				puts(_("Timing is off."));
 		}
 	}
 
@@ -970,7 +970,7 @@ do_connect(const char *new_dbname, const char *new_user)
 			PQfinish(pset.db);
 			if (oldconn)
 			{
-				fputs(gettext("Previous connection kept\n"), stderr);
+				fputs(_("Previous connection kept\n"), stderr);
 				pset.db = oldconn;
 			}
 			else
@@ -994,12 +994,12 @@ do_connect(const char *new_dbname, const char *new_user)
 		if (!QUIET())
 		{
 			if (userparam != new_user)	/* no new user */
-				printf(gettext("You are now connected to database \"%s\".\n"), dbparam);
+				printf(_("You are now connected to database \"%s\".\n"), dbparam);
 			else if (dbparam != new_dbname)		/* no new db */
-				printf(gettext("You are now connected as new user \"%s\".\n"), new_user);
+				printf(_("You are now connected as new user \"%s\".\n"), new_user);
 			else
 				/* both new */
-				printf(gettext("You are now connected to database \"%s\" as user \"%s\".\n"),
+				printf(_("You are now connected to database \"%s\" as user \"%s\".\n"),
 					   PQdb(pset.db), PQuser(pset.db));
 		}
 
@@ -1388,7 +1388,7 @@ do_pset(const char *param, const char *value, printQueryOpt *popt, bool quiet)
 		}
 
 		if (!quiet)
-			printf(gettext("Output format is %s.\n"), _align2string(popt->topt.format));
+			printf(_("Output format is %s.\n"), _align2string(popt->topt.format));
 	}
 
 	/* set border style/width */
@@ -1398,7 +1398,7 @@ do_pset(const char *param, const char *value, printQueryOpt *popt, bool quiet)
 			popt->topt.border = atoi(value);
 
 		if (!quiet)
-			printf(gettext("Border style is %d.\n"), popt->topt.border);
+			printf(_("Border style is %d.\n"), popt->topt.border);
 	}
 
 	/* set expanded/vertical mode */
@@ -1407,8 +1407,8 @@ do_pset(const char *param, const char *value, printQueryOpt *popt, bool quiet)
 		popt->topt.expanded = !popt->topt.expanded;
 		if (!quiet)
 			printf(popt->topt.expanded
-				   ? gettext("Expanded display is on.\n")
-				   : gettext("Expanded display is off.\n"));
+				   ? _("Expanded display is on.\n")
+				   : _("Expanded display is off.\n"));
 	}
 
 	/* null display */
@@ -1420,7 +1420,7 @@ do_pset(const char *param, const char *value, printQueryOpt *popt, bool quiet)
 			popt->nullPrint = pg_strdup(value);
 		}
 		if (!quiet)
-			printf(gettext("Null display is \"%s\".\n"), popt->nullPrint ? popt->nullPrint : "");
+			printf(_("Null display is \"%s\".\n"), popt->nullPrint ? popt->nullPrint : "");
 	}
 
 	/* field separator for unaligned text */
@@ -1432,7 +1432,7 @@ do_pset(const char *param, const char *value, printQueryOpt *popt, bool quiet)
 			popt->topt.fieldSep = pg_strdup(value);
 		}
 		if (!quiet)
-			printf(gettext("Field separator is \"%s\".\n"), popt->topt.fieldSep);
+			printf(_("Field separator is \"%s\".\n"), popt->topt.fieldSep);
 	}
 
 	/* record separator for unaligned text */
@@ -1446,9 +1446,9 @@ do_pset(const char *param, const char *value, printQueryOpt *popt, bool quiet)
 		if (!quiet)
 		{
 			if (strcmp(popt->topt.recordSep, "\n") == 0)
-				printf(gettext("Record separator is <newline>."));
+				printf(_("Record separator is <newline>."));
 			else
-				printf(gettext("Record separator is \"%s\".\n"), popt->topt.recordSep);
+				printf(_("Record separator is \"%s\".\n"), popt->topt.recordSep);
 		}
 	}
 
@@ -1459,9 +1459,9 @@ do_pset(const char *param, const char *value, printQueryOpt *popt, bool quiet)
 		if (!quiet)
 		{
 			if (popt->topt.tuples_only)
-				puts(gettext("Showing only tuples."));
+				puts(_("Showing only tuples."));
 			else
-				puts(gettext("Tuples only is off."));
+				puts(_("Tuples only is off."));
 		}
 	}
 
@@ -1477,9 +1477,9 @@ do_pset(const char *param, const char *value, printQueryOpt *popt, bool quiet)
 		if (!quiet)
 		{
 			if (popt->title)
-				printf(gettext("Title is \"%s\".\n"), popt->title);
+				printf(_("Title is \"%s\".\n"), popt->title);
 			else
-				printf(gettext("Title is unset.\n"));
+				printf(_("Title is unset.\n"));
 		}
 	}
 
@@ -1495,9 +1495,9 @@ do_pset(const char *param, const char *value, printQueryOpt *popt, bool quiet)
 		if (!quiet)
 		{
 			if (popt->topt.tableAttr)
-				printf(gettext("Table attribute is \"%s\".\n"), popt->topt.tableAttr);
+				printf(_("Table attribute is \"%s\".\n"), popt->topt.tableAttr);
 			else
-				printf(gettext("Table attributes unset.\n"));
+				printf(_("Table attributes unset.\n"));
 		}
 	}
 
@@ -1513,11 +1513,11 @@ do_pset(const char *param, const char *value, printQueryOpt *popt, bool quiet)
 		if (!quiet)
 		{
 			if (popt->topt.pager == 1)
-				puts(gettext("Pager is used for long output."));
+				puts(_("Pager is used for long output."));
 			else if (popt->topt.pager == 2)
-				puts(gettext("Pager is always used."));
+				puts(_("Pager is always used."));
 			else
-				puts(gettext("Pager usage is off."));
+				puts(_("Pager usage is off."));
 		}
 	}
 
@@ -1528,9 +1528,9 @@ do_pset(const char *param, const char *value, printQueryOpt *popt, bool quiet)
 		if (!quiet)
 		{
 			if (popt->default_footer)
-				puts(gettext("Default footer is on."));
+				puts(_("Default footer is on."));
 			else
-				puts(gettext("Default footer is off."));
+				puts(_("Default footer is off."));
 		}
 	}
 
diff --git a/src/bin/psql/common.c b/src/bin/psql/common.c
index 1c26eb6b84ed7f72506a3b7be475a57aa76129f3..6d03a4ae5a11c699044717c526304f49514fc8bc 100644
--- a/src/bin/psql/common.c
+++ b/src/bin/psql/common.c
@@ -3,7 +3,7 @@
  *
  * Copyright (c) 2000-2005, PostgreSQL Global Development Group
  *
- * $PostgreSQL: pgsql/src/bin/psql/common.c,v 1.95 2005/01/01 05:43:08 momjian Exp $
+ * $PostgreSQL: pgsql/src/bin/psql/common.c,v 1.96 2005/02/22 04:40:52 momjian Exp $
  */
 #include "postgres_fe.h"
 #include "common.h"
@@ -75,7 +75,7 @@ pg_strdup(const char *string)
 
 	if (!string)
 	{
-		fprintf(stderr, gettext("%s: xstrdup: cannot duplicate null pointer (internal error)\n"),
+		fprintf(stderr, _("%s: xstrdup: cannot duplicate null pointer (internal error)\n"),
 				pset.progname);
 		exit(EXIT_FAILURE);
 	}
@@ -200,7 +200,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, gettext(fmt), ap);
+	vfprintf(stderr, _(fmt), ap);
 	va_end(ap);
 }
 
@@ -357,19 +357,19 @@ CheckConnection(void)
 			exit(EXIT_BADCONN);
 		}
 
-		fputs(gettext("The connection to the server was lost. Attempting reset: "), stderr);
+		fputs(_("The connection to the server was lost. Attempting reset: "), stderr);
 		PQreset(pset.db);
 		OK = ConnectionUp();
 		if (!OK)
 		{
-			fputs(gettext("Failed.\n"), stderr);
+			fputs(_("Failed.\n"), stderr);
 			PQfinish(pset.db);
 			pset.db = NULL;
 			ResetCancelConn();
 			UnsyncVariables();
 		}
 		else
-			fputs(gettext("Succeeded.\n"), stderr);
+			fputs(_("Succeeded.\n"), stderr);
 	}
 
 	return OK;
@@ -604,7 +604,7 @@ ReportSyntaxErrorPosition(const PGresult *result, const char *query)
 		wquery[qidx[iend]] = '\0';
 
 		/* Begin building the finished message. */
-		printfPQExpBuffer(&msg, gettext("LINE %d: "), loc_line);
+		printfPQExpBuffer(&msg, _("LINE %d: "), loc_line);
 		if (beg_trunc)
 			appendPQExpBufferStr(&msg, "...");
 
@@ -768,7 +768,7 @@ PrintNotifications(void)
 
 	while ((notify = PQnotifies(pset.db)))
 	{
-		fprintf(pset.queryFout, gettext("Asynchronous notification \"%s\" received from server process with PID %d.\n"),
+		fprintf(pset.queryFout, _("Asynchronous notification \"%s\" received from server process with PID %d.\n"),
 				notify->relname, notify->be_pid);
 		fflush(pset.queryFout);
 		PQfreemem(notify);
@@ -956,7 +956,7 @@ SendQuery(const char *query)
 	{
 		char		buf[3];
 
-		printf(gettext("***(Single step mode: verify command)*******************************************\n"
+		printf(_("***(Single step mode: verify command)*******************************************\n"
 					   "%s\n"
 					   "***(press return to proceed or enter x and return to cancel)********************\n"),
 			   query);
@@ -1007,7 +1007,7 @@ SendQuery(const char *query)
 
 	/* Possible microtiming output */
 	if (OK && pset.timing)
-		printf(gettext("Time: %.3f ms\n"), DIFF_MSEC(&after, &before));
+		printf(_("Time: %.3f ms\n"), DIFF_MSEC(&after, &before));
 
 	/* check for events that may occur during query execution */
 
diff --git a/src/bin/psql/copy.c b/src/bin/psql/copy.c
index 9b6d9144450fd352bbcf89de0090776992fdcbd6..096f81aeb8810c71e4a68572ec2d33f9204a38c8 100644
--- a/src/bin/psql/copy.c
+++ b/src/bin/psql/copy.c
@@ -3,7 +3,7 @@
  *
  * Copyright (c) 2000-2005, PostgreSQL Global Development Group
  *
- * $PostgreSQL: pgsql/src/bin/psql/copy.c,v 1.55 2005/01/01 05:43:08 momjian Exp $
+ * $PostgreSQL: pgsql/src/bin/psql/copy.c,v 1.56 2005/02/22 04:40:54 momjian Exp $
  */
 #include "postgres_fe.h"
 #include "copy.h"
@@ -665,7 +665,7 @@ handleCopyIn(PGconn *conn, FILE *copystream)
 	if (isatty(fileno(copystream)))
 	{
 		if (!QUIET())
-			puts(gettext("Enter data to be copied followed by a newline.\n"
+			puts(_("Enter data to be copied followed by a newline.\n"
 			  "End with a backslash and a period on a line by itself."));
 		prompt = get_prompt(PROMPT_COPY);
 	}
diff --git a/src/bin/psql/describe.c b/src/bin/psql/describe.c
index 8bf21bcc7ca8c7846440ad58d5c3516abd1ce634..07b7b9938bc1d1caeb9268e7797b1ba42ad40e20 100644
--- a/src/bin/psql/describe.c
+++ b/src/bin/psql/describe.c
@@ -3,7 +3,7 @@
  *
  * Copyright (c) 2000-2005, PostgreSQL Global Development Group
  *
- * $PostgreSQL: pgsql/src/bin/psql/describe.c,v 1.111 2005/01/01 05:43:08 momjian Exp $
+ * $PostgreSQL: pgsql/src/bin/psql/describe.c,v 1.112 2005/02/22 04:40:55 momjian Exp $
  */
 #include "postgres_fe.h"
 #include "describe.h"
@@ -28,8 +28,6 @@
 #endif
 
 
-#define _(x) gettext((x))
-
 static bool describeOneTableDetails(const char *schemaname,
 						const char *relationname,
 						const char *oid,
diff --git a/src/bin/psql/help.c b/src/bin/psql/help.c
index 1012de57d3fcb6d0542493267bd75c54df875112..8b3dbcf602e090fe543991d1576762591bf3fbbf 100644
--- a/src/bin/psql/help.c
+++ b/src/bin/psql/help.c
@@ -3,7 +3,7 @@
  *
  * Copyright (c) 2000-2005, PostgreSQL Global Development Group
  *
- * $PostgreSQL: pgsql/src/bin/psql/help.c,v 1.100 2005/01/08 22:51:13 tgl Exp $
+ * $PostgreSQL: pgsql/src/bin/psql/help.c,v 1.101 2005/02/22 04:40:55 momjian Exp $
  */
 #include "postgres_fe.h"
 #include "common.h"
@@ -31,8 +31,6 @@
 #include "common.h"
 #include "sql_help.h"
 
-#define _(x) gettext((x))
-
 /*
  * PLEASE:
  * If you change something in this file, also make the same changes
@@ -346,8 +344,8 @@ helpSQL(const char *topic, unsigned short int pager)
 								  "Description: %s\n"
 								  "Syntax:\n%s\n\n"),
 						QL_HELP[i].cmd,
-						gettext(QL_HELP[i].help),
-						gettext(QL_HELP[i].syntax));
+						_(QL_HELP[i].help),
+						_(QL_HELP[i].syntax));
 				/* If we have an exact match, exit.  Fixes \h SELECT */
 				if (pg_strcasecmp(topic, QL_HELP[i].cmd) == 0)
 					break;
diff --git a/src/bin/psql/large_obj.c b/src/bin/psql/large_obj.c
index 2b2a730f5b0a3548b0d8c91bc3cf283b2b6807e2..624ccd0be6d41849c70ed044bec8746f7caa675d 100644
--- a/src/bin/psql/large_obj.c
+++ b/src/bin/psql/large_obj.c
@@ -3,7 +3,7 @@
  *
  * Copyright (c) 2000-2005, PostgreSQL Global Development Group
  *
- * $PostgreSQL: pgsql/src/bin/psql/large_obj.c,v 1.35 2005/01/01 05:43:08 momjian Exp $
+ * $PostgreSQL: pgsql/src/bin/psql/large_obj.c,v 1.36 2005/02/22 04:40:55 momjian Exp $
  */
 #include "postgres_fe.h"
 #include "large_obj.h"
@@ -253,7 +253,7 @@ do_lo_list(void)
 			 "  pg_catalog.obj_description(loid, 'pg_largeobject') as \"%s\"\n"
 			 "FROM (SELECT DISTINCT loid FROM pg_catalog.pg_largeobject) x\n"
 			 "ORDER BY 1",
-			 gettext("Description"));
+			 _("Description"));
 
 	res = PSQLexec(buf, false);
 	if (!res)
@@ -261,7 +261,7 @@ do_lo_list(void)
 
 	myopt.topt.tuples_only = false;
 	myopt.nullPrint = NULL;
-	myopt.title = gettext("Large objects");
+	myopt.title = _("Large objects");
 
 	printQuery(res, &myopt, pset.queryFout);
 
diff --git a/src/bin/psql/mainloop.c b/src/bin/psql/mainloop.c
index 109f23192f84ab044c5aea2d9952d5048e490fbd..fad71c1120bcc706d0405abe78dee5c9755c2c4f 100644
--- a/src/bin/psql/mainloop.c
+++ b/src/bin/psql/mainloop.c
@@ -3,7 +3,7 @@
  *
  * Copyright (c) 2000-2005, PostgreSQL Global Development Group
  *
- * $PostgreSQL: pgsql/src/bin/psql/mainloop.c,v 1.66 2005/01/01 05:43:08 momjian Exp $
+ * $PostgreSQL: pgsql/src/bin/psql/mainloop.c,v 1.67 2005/02/22 04:40:55 momjian Exp $
  */
 #include "postgres_fe.h"
 #include "mainloop.h"
@@ -172,7 +172,7 @@ MainLoop(FILE *source)
 				if (count_eof < GetVariableNum(pset.vars, "IGNOREEOF", 0, 10, false))
 				{
 					if (!QUIET())
-						printf(gettext("Use \"\\q\" to leave %s.\n"), pset.progname);
+						printf(_("Use \"\\q\" to leave %s.\n"), pset.progname);
 					continue;
 				}
 
diff --git a/src/bin/psql/print.c b/src/bin/psql/print.c
index abf6864943b667666544dedfb5ef17779d1efd75..1321e99582b80e7c68b28dc73e82fdf806235de9 100644
--- a/src/bin/psql/print.c
+++ b/src/bin/psql/print.c
@@ -3,7 +3,7 @@
  *
  * Copyright (c) 2000-2005, PostgreSQL Global Development Group
  *
- * $PostgreSQL: pgsql/src/bin/psql/print.c,v 1.54 2005/01/01 05:43:08 momjian Exp $
+ * $PostgreSQL: pgsql/src/bin/psql/print.c,v 1.55 2005/02/22 04:40:57 momjian Exp $
  */
 #include "postgres_fe.h"
 #include "common.h"
@@ -29,6 +29,7 @@
 
 #include "mbprint.h"
 
+
 /*************************/
 /* Unaligned text		 */
 /*************************/
@@ -227,14 +228,14 @@ print_aligned_text(const char *title, const char *const * headers,
 		widths = calloc(col_count, sizeof(*widths));
 		if (!widths)
 		{
-			fprintf(stderr, gettext("out of memory\n"));
+			fprintf(stderr, _("out of memory\n"));
 			exit(EXIT_FAILURE);
 		}
 
 		head_w = calloc(col_count, sizeof(*head_w));
 		if (!head_w)
 		{
-			fprintf(stderr, gettext("out of memory\n"));
+			fprintf(stderr, _("out of memory\n"));
 			exit(EXIT_FAILURE);
 		}
 	}
@@ -253,7 +254,7 @@ print_aligned_text(const char *title, const char *const * headers,
 		cell_w = calloc(cell_count, sizeof(*cell_w));
 		if (!cell_w)
 		{
-			fprintf(stderr, gettext("out of memory\n"));
+			fprintf(stderr, _("out of memory\n"));
 			exit(EXIT_FAILURE);
 		}
 	}
@@ -425,7 +426,7 @@ print_aligned_vertical(const char *title, const char *const * headers,
 
 	if (cells[0] == NULL)
 	{
-		puts(gettext("(No rows)\n"));
+		puts(_("(No rows)\n"));
 		return;
 	}
 
@@ -437,7 +438,7 @@ print_aligned_vertical(const char *title, const char *const * headers,
 		head_w = calloc(col_count, sizeof(*head_w));
 		if (!head_w)
 		{
-			fprintf(stderr, gettext("out of memory\n"));
+			fprintf(stderr, _("out of memory\n"));
 			exit(EXIT_FAILURE);
 		}
 	}
@@ -461,7 +462,7 @@ print_aligned_vertical(const char *title, const char *const * headers,
 		cell_w = calloc(cell_count, sizeof(*cell_w));
 		if (!cell_w)
 		{
-			fprintf(stderr, gettext("out of memory\n"));
+			fprintf(stderr, _("out of memory\n"));
 			exit(EXIT_FAILURE);
 		}
 	}
@@ -485,7 +486,7 @@ print_aligned_vertical(const char *title, const char *const * headers,
 	divider = malloc(hwidth + dwidth + 10);
 	if (!divider)
 	{
-		fprintf(stderr, gettext("out of memory\n"));
+		fprintf(stderr, _("out of memory\n"));
 		exit(EXIT_FAILURE);
 	}
 	divider[0] = '\0';
@@ -514,7 +515,7 @@ print_aligned_vertical(const char *title, const char *const * headers,
 
 				if (!record_str)
 				{
-					fprintf(stderr, gettext("out of memory\n"));
+					fprintf(stderr, _("out of memory\n"));
 					exit(EXIT_FAILURE);
 				}
 
@@ -532,7 +533,7 @@ print_aligned_vertical(const char *title, const char *const * headers,
 
 					if (!div_copy)
 					{
-						fprintf(stderr, gettext("out of memory\n"));
+						fprintf(stderr, _("out of memory\n"));
 						exit(EXIT_FAILURE);
 					}
 
@@ -1153,7 +1154,7 @@ printQuery(const PGresult *result, const printQueryOpt *opt, FILE *fout)
 	headers = calloc(nfields + 1, sizeof(*headers));
 	if (!headers)
 	{
-		fprintf(stderr, gettext("out of memory\n"));
+		fprintf(stderr, _("out of memory\n"));
 		exit(EXIT_FAILURE);
 	}
 
@@ -1165,7 +1166,7 @@ printQuery(const PGresult *result, const printQueryOpt *opt, FILE *fout)
 	cells = calloc(ncells + 1, sizeof(*cells));
 	if (!cells)
 	{
-		fprintf(stderr, gettext("out of memory\n"));
+		fprintf(stderr, _("out of memory\n"));
 		exit(EXIT_FAILURE);
 	}
 
@@ -1186,20 +1187,20 @@ printQuery(const PGresult *result, const printQueryOpt *opt, FILE *fout)
 		footers = calloc(2, sizeof(*footers));
 		if (!footers)
 		{
-			fprintf(stderr, gettext("out of memory\n"));
+			fprintf(stderr, _("out of memory\n"));
 			exit(EXIT_FAILURE);
 		}
 
 		footers[0] = malloc(100);
 		if (!footers[0])
 		{
-			fprintf(stderr, gettext("out of memory\n"));
+			fprintf(stderr, _("out of memory\n"));
 			exit(EXIT_FAILURE);
 		}
 		if (PQntuples(result) == 1)
-			snprintf(footers[0], 100, gettext("(1 row)"));
+			snprintf(footers[0], 100, _("(1 row)"));
 		else
-			snprintf(footers[0], 100, gettext("(%d rows)"), PQntuples(result));
+			snprintf(footers[0], 100, _("(%d rows)"), PQntuples(result));
 	}
 	else
 		footers = NULL;
@@ -1208,7 +1209,7 @@ printQuery(const PGresult *result, const printQueryOpt *opt, FILE *fout)
 	align = calloc(nfields + 1, sizeof(*align));
 	if (!align)
 	{
-		fprintf(stderr, gettext("out of memory\n"));
+		fprintf(stderr, _("out of memory\n"));
 		exit(EXIT_FAILURE);
 	}
 
diff --git a/src/bin/psql/startup.c b/src/bin/psql/startup.c
index 9aa51150c3e28128247faf97337facef5b5c5294..b3bb9a8f650c27373a64ab10c0df0329d654603b 100644
--- a/src/bin/psql/startup.c
+++ b/src/bin/psql/startup.c
@@ -3,7 +3,7 @@
  *
  * Copyright (c) 2000-2005, PostgreSQL Global Development Group
  *
- * $PostgreSQL: pgsql/src/bin/psql/startup.c,v 1.112 2005/01/17 10:00:05 petere Exp $
+ * $PostgreSQL: pgsql/src/bin/psql/startup.c,v 1.113 2005/02/22 04:40:58 momjian Exp $
  */
 #include "postgres_fe.h"
 
@@ -38,6 +38,7 @@ int			optreset;
 
 #include "mb/pg_wchar.h"
 
+
 /*
  * Global psql options
  */
@@ -135,7 +136,7 @@ main(int argc, char *argv[])
 	pset.vars = CreateVariableSpace();
 	if (!pset.vars)
 	{
-		fprintf(stderr, gettext("%s: out of memory\n"), pset.progname);
+		fprintf(stderr, _("%s: out of memory\n"), pset.progname);
 		exit(EXIT_FAILURE);
 	}
 	pset.popt.topt.format = PRINT_ALIGNED;
@@ -290,7 +291,7 @@ main(int argc, char *argv[])
 
 		if (!QUIET() && !pset.notty)
 		{
-			printf(gettext("Welcome to %s %s, the PostgreSQL interactive terminal.\n\n"
+			printf(_("Welcome to %s %s, the PostgreSQL interactive terminal.\n\n"
 						   "Type:  \\copyright for distribution terms\n"
 						   "       \\h for help with SQL commands\n"
 						   "       \\? for help with psql commands\n"
@@ -444,7 +445,7 @@ parse_psql_options(int argc, char *argv[], struct adhoc_opts * options)
 
 					if (!result)
 					{
-						fprintf(stderr, gettext("%s: couldn't set printing parameter \"%s\"\n"), pset.progname, value);
+						fprintf(stderr, _("%s: couldn't set printing parameter \"%s\"\n"), pset.progname, value);
 						exit(EXIT_FAILURE);
 					}
 
@@ -490,7 +491,7 @@ parse_psql_options(int argc, char *argv[], struct adhoc_opts * options)
 					{
 						if (!DeleteVariable(pset.vars, value))
 						{
-							fprintf(stderr, gettext("%s: could not delete variable \"%s\"\n"),
+							fprintf(stderr, _("%s: could not delete variable \"%s\"\n"),
 									pset.progname, value);
 							exit(EXIT_FAILURE);
 						}
@@ -500,7 +501,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, gettext("%s: could not set variable \"%s\"\n"),
+							fprintf(stderr, _("%s: could not set variable \"%s\"\n"),
 									pset.progname, value);
 							exit(EXIT_FAILURE);
 						}
@@ -531,13 +532,13 @@ parse_psql_options(int argc, char *argv[], struct adhoc_opts * options)
 				/* unknown option reported by getopt */
 				else
 				{
-					fprintf(stderr, gettext("Try \"%s --help\" for more information.\n"),
+					fprintf(stderr, _("Try \"%s --help\" for more information.\n"),
 							pset.progname);
 					exit(EXIT_FAILURE);
 				}
 				break;
 			default:
-				fprintf(stderr, gettext("Try \"%s --help\" for more information.\n"),
+				fprintf(stderr, _("Try \"%s --help\" for more information.\n"),
 						pset.progname);
 				exit(EXIT_FAILURE);
 				break;
@@ -555,14 +556,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, gettext("%s: warning: extra command-line argument \"%s\" ignored\n"),
+			fprintf(stderr, _("%s: warning: extra command-line argument \"%s\" ignored\n"),
 					pset.progname, argv[optind]);
 
 		optind++;
 	}
 
 	if (used_old_u_option && !QUIET())
-		fprintf(stderr, gettext("%s: Warning: The -u option is deprecated. Use -U.\n"), pset.progname);
+		fprintf(stderr, _("%s: Warning: The -u option is deprecated. Use -U.\n"), pset.progname);
 
 }
 
@@ -624,7 +625,7 @@ showVersion(void)
 	puts("psql (PostgreSQL) " PG_VERSION);
 
 #if defined(USE_READLINE)
-	puts(gettext("contains support for command-line editing"));
+	puts(_("contains support for command-line editing"));
 #endif
 }
 
@@ -647,7 +648,7 @@ printSSLInfo(void)
 		return;					/* no SSL */
 
 	SSL_get_cipher_bits(ssl, &sslbits);
-	printf(gettext("SSL connection (cipher: %s, bits: %i)\n\n"),
+	printf(_("SSL connection (cipher: %s, bits: %i)\n\n"),
 		   SSL_get_cipher(ssl), sslbits);
 }
 #endif
@@ -670,7 +671,7 @@ checkWin32Codepage(void)
 	concp = GetConsoleCP();
 	if (wincp != concp)
 	{
-			printf(gettext("Warning: Console code page (%u) differs from Windows code page (%u)\n"
+			printf(_("Warning: Console code page (%u) differs from Windows code page (%u)\n"
 					   "         8-bit characters may not work correctly. See psql reference\n"
 					   "         page \"Notes for Windows users\" for details.\n\n"),
 			   concp, wincp);
diff --git a/src/bin/scripts/common.c b/src/bin/scripts/common.c
index c84617b3edf7f65bdd0e96d52a97db129292db77..4bffa5003f8654d6ec8112bd03bda0f4d6930663 100644
--- a/src/bin/scripts/common.c
+++ b/src/bin/scripts/common.c
@@ -5,7 +5,7 @@
  * Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group
  * Portions Copyright (c) 1994, Regents of the University of California
  *
- * $PostgreSQL: pgsql/src/bin/scripts/common.c,v 1.16 2005/01/08 22:51:14 tgl Exp $
+ * $PostgreSQL: pgsql/src/bin/scripts/common.c,v 1.17 2005/02/22 04:41:30 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -168,9 +168,9 @@ executeQuery(PGconn *conn, const char *query, const char *progname, bool echo)
 int
 check_yesno_response(const char *string)
 {
-	if (strcmp(string, gettext(PG_YESLETTER)) == 0)
+	if (strcmp(string, _(PG_YESLETTER)) == 0)
 		return 1;
-	else if (strcmp(string, gettext(PG_NOLETTER)) == 0)
+	else if (strcmp(string, _(PG_NOLETTER)) == 0)
 		return 0;
 	else
 		return -1;
diff --git a/src/bin/scripts/common.h b/src/bin/scripts/common.h
index 04f8af4f0c29346d93ee6e5bcb7884bfa139bf53..46e2a610aaa7dc9b73d12173e4a0a872a9781b5a 100644
--- a/src/bin/scripts/common.h
+++ b/src/bin/scripts/common.h
@@ -10,8 +10,6 @@ int			optreset;
 
 const char *get_user_name(const char *progname);
 
-#define _(x) gettext((x))
-
 typedef void (*help_handler) (const char *);
 
 void		handle_help_version_opts(int argc, char *argv[], const char *fixed_progname, help_handler hlp);
diff --git a/src/include/c.h b/src/include/c.h
index 0430dcf449ae9efc542482641a02368ca5d070a7..58fe0f9f9a13eeacf09a339b6723c7f8b438e109 100644
--- a/src/include/c.h
+++ b/src/include/c.h
@@ -12,7 +12,7 @@
  * Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group
  * Portions Copyright (c) 1994, Regents of the University of California
  *
- * $PostgreSQL: pgsql/src/include/c.h,v 1.179 2005/02/15 01:03:47 momjian Exp $
+ * $PostgreSQL: pgsql/src/include/c.h,v 1.180 2005/02/22 04:41:51 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -91,6 +91,8 @@
 /* Must be before gettext() games below */
 #include <locale.h>
 
+#define _(x) gettext((x))
+
 #ifdef ENABLE_NLS
 #include <libintl.h>
 #else
diff --git a/src/interfaces/libpq/fe-connect.c b/src/interfaces/libpq/fe-connect.c
index 8a6731c2c3f43786aa3e5cabb9bf8be96f89dd7b..188c80a72be269ab72c3f19ac98cc73873557241 100644
--- a/src/interfaces/libpq/fe-connect.c
+++ b/src/interfaces/libpq/fe-connect.c
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *	  $PostgreSQL: pgsql/src/interfaces/libpq/fe-connect.c,v 1.302 2005/01/26 19:24:02 tgl Exp $
+ *	  $PostgreSQL: pgsql/src/interfaces/libpq/fe-connect.c,v 1.303 2005/02/22 04:42:20 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -740,9 +740,9 @@ update_db_info(PGconn *conn)
 					if (strncmp(old, "unix:", 5) != 0)
 					{
 						printfPQExpBuffer(&conn->errorMessage,
-										  "connectDBStart() -- "
-								"socket name can only be specified with "
-										  "non-TCP\n");
+										  libpq_gettext("connectDBStart() -- "
+										  "socket name can only be specified with "
+										  "non-TCP\n"));
 						return 1;
 					}
 					*tmp2 = '\0';
@@ -769,9 +769,9 @@ update_db_info(PGconn *conn)
 				if (strcmp(old + offset, "localhost") != 0)
 				{
 					printfPQExpBuffer(&conn->errorMessage,
-									  "connectDBStart() -- "
+									  libpq_gettext("connectDBStart() -- "
 									  "non-TCP access only possible on "
-									  "localhost\n");
+									  "localhost\n"));
 					return 1;
 				}
 			}
@@ -1514,7 +1514,7 @@ keep_going:						/* We will come back to here until there
 					{
 						/* Received error - probably protocol mismatch */
 						if (conn->Pfdebug)
-							fprintf(conn->Pfdebug, "Postmaster reports error, attempting fallback to pre-7.0.\n");
+							fprintf(conn->Pfdebug, libpq_gettext("Postmaster reports error, attempting fallback to pre-7.0.\n"));
 						if (conn->sslmode[0] == 'r')	/* "require" */
 						{
 							/* Require SSL, but server is too old */
@@ -2502,7 +2502,7 @@ parseServiceInfo(PQconninfoOption *options, PQExpBuffer errorMessage)
 		f = fopen(serviceFile, "r");
 		if (f == NULL)
 		{
-			printfPQExpBuffer(errorMessage, "ERROR: Service file '%s' not found\n",
+			printfPQExpBuffer(errorMessage, libpq_gettext("ERROR: Service file '%s' not found\n"),
 							  serviceFile);
 			return 1;
 		}
@@ -2515,7 +2515,7 @@ parseServiceInfo(PQconninfoOption *options, PQExpBuffer errorMessage)
 			{
 				fclose(f);
 				printfPQExpBuffer(errorMessage,
-						"ERROR: line %d too long in service file '%s'\n",
+						libpq_gettext("ERROR: line %d too long in service file '%s'\n"),
 								  linenr,
 								  serviceFile);
 				return 2;
@@ -2566,7 +2566,7 @@ parseServiceInfo(PQconninfoOption *options, PQExpBuffer errorMessage)
 					if (val == NULL)
 					{
 						printfPQExpBuffer(errorMessage,
-										  "ERROR: syntax error in service file '%s', line %d\n",
+										  libpq_gettext("ERROR: syntax error in service file '%s', line %d\n"),
 										  serviceFile,
 										  linenr);
 						fclose(f);
@@ -2593,7 +2593,7 @@ parseServiceInfo(PQconninfoOption *options, PQExpBuffer errorMessage)
 					if (!found_keyword)
 					{
 						printfPQExpBuffer(errorMessage,
-										  "ERROR: syntax error in service file '%s', line %d\n",
+										  libpq_gettext("ERROR: syntax error in service file '%s', line %d\n"),
 										  serviceFile,
 										  linenr);
 						fclose(f);
diff --git a/src/interfaces/libpq/fe-misc.c b/src/interfaces/libpq/fe-misc.c
index f3691c783b513bfb945c69358a75212dca8ca8f9..f3ed41423ecea93d77a5f14ce21b55909727890e 100644
--- a/src/interfaces/libpq/fe-misc.c
+++ b/src/interfaces/libpq/fe-misc.c
@@ -23,7 +23,7 @@
  * Portions Copyright (c) 1994, Regents of the University of California
  *
  * IDENTIFICATION
- *	  $PostgreSQL: pgsql/src/interfaces/libpq/fe-misc.c,v 1.112 2004/12/31 22:03:50 pgsql Exp $
+ *	  $PostgreSQL: pgsql/src/interfaces/libpq/fe-misc.c,v 1.113 2005/02/22 04:42:20 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -85,7 +85,7 @@ pqGetc(char *result, PGconn *conn)
 	*result = conn->inBuffer[conn->inCursor++];
 
 	if (conn->Pfdebug)
-		fprintf(conn->Pfdebug, "From backend> %c\n", *result);
+		fprintf(conn->Pfdebug, libpq_gettext("From backend> %c\n"), *result);
 
 	return 0;
 }
@@ -101,7 +101,7 @@ pqPutc(char c, PGconn *conn)
 		return EOF;
 
 	if (conn->Pfdebug)
-		fprintf(conn->Pfdebug, "To backend> %c\n", c);
+		fprintf(conn->Pfdebug, libpq_gettext("To backend> %c\n"), c);
 
 	return 0;
 }
@@ -137,7 +137,7 @@ pqGets(PQExpBuffer buf, PGconn *conn)
 	conn->inCursor = ++inCursor;
 
 	if (conn->Pfdebug)
-		fprintf(conn->Pfdebug, "From backend> \"%s\"\n",
+		fprintf(conn->Pfdebug, libpq_gettext("From backend> \"%s\"\n"),
 				buf->data);
 
 	return 0;
@@ -154,7 +154,7 @@ pqPuts(const char *s, PGconn *conn)
 		return EOF;
 
 	if (conn->Pfdebug)
-		fprintf(conn->Pfdebug, "To backend> '%s'\n", s);
+		fprintf(conn->Pfdebug, libpq_gettext("To backend> '%s'\n"), s);
 
 	return 0;
 }
@@ -175,7 +175,7 @@ pqGetnchar(char *s, size_t len, PGconn *conn)
 	conn->inCursor += len;
 
 	if (conn->Pfdebug)
-		fprintf(conn->Pfdebug, "From backend (%lu)> %.*s\n", (unsigned long) len, (int) len, s);
+		fprintf(conn->Pfdebug, libpq_gettext("From backend (%lu)> %.*s\n"), (unsigned long) len, (int) len, s);
 
 	return 0;
 }
@@ -191,7 +191,7 @@ pqPutnchar(const char *s, size_t len, PGconn *conn)
 		return EOF;
 
 	if (conn->Pfdebug)
-		fprintf(conn->Pfdebug, "To backend> %.*s\n", (int) len, s);
+		fprintf(conn->Pfdebug, libpq_gettext("To backend> %.*s\n"), (int) len, s);
 
 	return 0;
 }
@@ -231,7 +231,7 @@ pqGetInt(int *result, size_t bytes, PGconn *conn)
 	}
 
 	if (conn->Pfdebug)
-		fprintf(conn->Pfdebug, "From backend (#%lu)> %d\n", (unsigned long) bytes, *result);
+		fprintf(conn->Pfdebug, libpq_gettext("From backend (#%lu)> %d\n"), (unsigned long) bytes, *result);
 
 	return 0;
 }
@@ -267,7 +267,7 @@ pqPutInt(int value, size_t bytes, PGconn *conn)
 	}
 
 	if (conn->Pfdebug)
-		fprintf(conn->Pfdebug, "To backend (%lu#)> %d\n", (unsigned long) bytes, value);
+		fprintf(conn->Pfdebug, libpq_gettext("To backend (%lu#)> %d\n"), (unsigned long) bytes, value);
 
 	return 0;
 }
@@ -455,7 +455,7 @@ pqPutMsgStart(char msg_type, bool force_len, PGconn *conn)
 	/* length word, if needed, will be filled in by pqPutMsgEnd */
 
 	if (conn->Pfdebug)
-		fprintf(conn->Pfdebug, "To backend> Msg %c\n",
+		fprintf(conn->Pfdebug, libpq_gettext("To backend> Msg %c\n"),
 				msg_type ? msg_type : ' ');
 
 	return 0;
@@ -493,7 +493,7 @@ int
 pqPutMsgEnd(PGconn *conn)
 {
 	if (conn->Pfdebug)
-		fprintf(conn->Pfdebug, "To backend> Msg complete, length %u\n",
+		fprintf(conn->Pfdebug, libpq_gettext("To backend> Msg complete, length %u\n"),
 				conn->outMsgEnd - conn->outCount);
 
 	/* Fill in length word if needed */
diff --git a/src/interfaces/libpq/fe-print.c b/src/interfaces/libpq/fe-print.c
index 345ebc263eb4e06466cfbd4a40dc954eaa3e024e..e6740a3d18893511a209bb22a3f8481d7ea2e232 100644
--- a/src/interfaces/libpq/fe-print.c
+++ b/src/interfaces/libpq/fe-print.c
@@ -10,7 +10,7 @@
  * didn't really belong there.
  *
  * IDENTIFICATION
- *	  $PostgreSQL: pgsql/src/interfaces/libpq/fe-print.c,v 1.58 2004/12/31 22:03:50 pgsql Exp $
+ *	  $PostgreSQL: pgsql/src/interfaces/libpq/fe-print.c,v 1.59 2005/02/22 04:42:20 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -219,10 +219,10 @@ PQprint(FILE *fout,
 			if (po->expanded)
 			{
 				if (po->align)
-					fprintf(fout, "%-*s%s Value\n",
-							fieldMaxLen - fs_len, "Field", po->fieldSep);
+					fprintf(fout, libpq_gettext("%-*s%s Value\n"),
+							fieldMaxLen - fs_len, libpq_gettext("Field"), po->fieldSep);
 				else
-					fprintf(fout, "%s%sValue\n", "Field", po->fieldSep);
+					fprintf(fout, libpq_gettext("%s%sValue\n"), libpq_gettext("Field"), po->fieldSep);
 			}
 			else
 			{
@@ -262,7 +262,7 @@ PQprint(FILE *fout,
 						  "<table %s><caption align=high>%d</caption>\n",
 							po->tableOpt ? po->tableOpt : "", i);
 				else
-					fprintf(fout, "-- RECORD %d --\n", i);
+					fprintf(fout, libpq_gettext("-- RECORD %d --\n"), i);
 			}
 			for (j = 0; j < nFields; j++)
 				do_field(po, res, i, j, fs_len, fields, nFields,
diff --git a/src/interfaces/libpq/win32.c b/src/interfaces/libpq/win32.c
index 8122bc9b146e92cca199ce2ed00a28bdb75abfd6..fce0d3f26b584c1423ca89eeb7bba6bbdc5aa4af 100644
--- a/src/interfaces/libpq/win32.c
+++ b/src/interfaces/libpq/win32.c
@@ -309,7 +309,7 @@ winsock_strerror(int err, char *strerrbuf, size_t buflen)
 	}
 
 	if (!success)
-		sprintf(strerrbuf, "Unknown socket error (0x%08X/%i)", err, err);
+		sprintf(strerrbuf, libpq_gettext("Unknown socket error (0x%08X/%i)"), err, err);
 	else
 	{
 		strerrbuf[buflen - 1] = '\0';
diff --git a/src/pl/plperl/SPI.xs b/src/pl/plperl/SPI.xs
index 7e71e77adef0f12e092879b0658eafd7e128a9bf..de28459eba4f2e50b11e4d886afabe7bd9a0ecc8 100644
--- a/src/pl/plperl/SPI.xs
+++ b/src/pl/plperl/SPI.xs
@@ -1,5 +1,7 @@
 /* this must be first: */
 #include "postgres.h"
+/* Defined by Perl */
+#undef _(x)
 
 /* perl stuff */
 #include "EXTERN.h"
diff --git a/src/pl/plperl/plperl.c b/src/pl/plperl/plperl.c
index 2167f3f548bd5a4f60707cc3a87572e3cefce025..75d04ff5a19c6b0381354c14af3959bd8725932e 100644
--- a/src/pl/plperl/plperl.c
+++ b/src/pl/plperl/plperl.c
@@ -33,11 +33,13 @@
  *	  ENHANCEMENTS, OR MODIFICATIONS.
  *
  * IDENTIFICATION
- *	  $PostgreSQL: pgsql/src/pl/plperl/plperl.c,v 1.67 2005/01/14 16:25:42 tgl Exp $
+ *	  $PostgreSQL: pgsql/src/pl/plperl/plperl.c,v 1.68 2005/02/22 04:42:44 momjian Exp $
  *
  **********************************************************************/
 
 #include "postgres.h"
+/* Defined by Perl */
+#undef _(x)
 
 /* system stuff */
 #include <ctype.h>
diff --git a/src/pl/plperl/spi_internal.c b/src/pl/plperl/spi_internal.c
index 390e76a7e7752a626cd8208dae39b461e002604d..7e26c5d50511d32b5e9074402dc29bd18a013c73 100644
--- a/src/pl/plperl/spi_internal.c
+++ b/src/pl/plperl/spi_internal.c
@@ -5,6 +5,8 @@
  */
 
 #include "postgres.h"
+/* Defined by Perl */
+#undef _(x)
 
 #include "spi_internal.h"
 
diff --git a/src/pl/plpgsql/src/pl_exec.c b/src/pl/plpgsql/src/pl_exec.c
index 1f3d4c4ab2caa94d974e42fcfd90551ff2bd370e..096f22b1d944684c30976872a18e53ee28fc2f8e 100644
--- a/src/pl/plpgsql/src/pl_exec.c
+++ b/src/pl/plpgsql/src/pl_exec.c
@@ -3,7 +3,7 @@
  *			  procedural language
  *
  * IDENTIFICATION
- *	  $PostgreSQL: pgsql/src/pl/plpgsql/src/pl_exec.c,v 1.128 2005/02/01 19:35:14 tgl Exp $
+ *	  $PostgreSQL: pgsql/src/pl/plpgsql/src/pl_exec.c,v 1.129 2005/02/22 04:43:07 momjian Exp $
  *
  *	  This software is copyrighted by Jan Wieck - Hamburg.
  *
@@ -746,7 +746,7 @@ plpgsql_exec_error_callback(void *arg)
 		 */
 		errcontext("PL/pgSQL function \"%s\" %s",
 				   estate->err_func->fn_name,
-				   gettext(estate->err_text));
+				   _(estate->err_text));
 	}
 	else
 		errcontext("PL/pgSQL function \"%s\"",
diff --git a/src/port/dirmod.c b/src/port/dirmod.c
index ce47e722f4b6d9ecdef3dbdcdb79660a6dec0d37..776a6e0a6ff06b50040abdcca442573f62f519a5 100644
--- a/src/port/dirmod.c
+++ b/src/port/dirmod.c
@@ -10,7 +10,7 @@
  *	Win32 (NT, Win2k, XP).	replace() doesn't work on Win95/98/Me.
  *
  * IDENTIFICATION
- *	  $PostgreSQL: pgsql/src/port/dirmod.c,v 1.35 2005/02/13 16:50:44 momjian Exp $
+ *	  $PostgreSQL: pgsql/src/port/dirmod.c,v 1.36 2005/02/22 04:43:16 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -40,6 +40,7 @@
 #endif
 #endif
 
+
 #ifndef FRONTEND
 
 /*
@@ -72,7 +73,7 @@ fe_palloc(Size size)
 
 	if ((res = malloc(size)) == NULL)
 	{
-		fprintf(stderr, gettext("out of memory\n"));
+		fprintf(stderr, _("out of memory\n"));
 		exit(1);
 	}
 	return res;
@@ -85,7 +86,7 @@ fe_pstrdup(const char *string)
 
 	if ((res = strdup(string)) == NULL)
 	{
-		fprintf(stderr, gettext("out of memory\n"));
+		fprintf(stderr, _("out of memory\n"));
 		exit(1);
 	}
 	return res;
@@ -98,7 +99,7 @@ fe_repalloc(void *pointer, Size size)
 
 	if ((res = realloc(pointer, size)) == NULL)
 	{
-		fprintf(stderr, gettext("out of memory\n"));
+		fprintf(stderr, _("out of memory\n"));
 		exit(1);
 	}
 	return res;
@@ -139,7 +140,7 @@ pgrename(const char *from, const char *to)
 				elog(LOG, "could not rename \"%s\" to \"%s\", continuing to try",
 					 from, to);
 #else
-				fprintf(stderr, "could not rename \"%s\" to \"%s\", continuing to try\n",
+				fprintf(stderr, _("could not rename \"%s\" to \"%s\", continuing to try\n"),
 						from, to);
 #endif
 			loops++;
@@ -149,7 +150,7 @@ pgrename(const char *from, const char *to)
 #ifndef FRONTEND
 		elog(LOG, "completed rename of \"%s\" to \"%s\"", from, to);
 #else
-		fprintf(stderr, "completed rename of \"%s\" to \"%s\"\n", from, to);
+		fprintf(stderr, _("completed rename of \"%s\" to \"%s\"\n"), from, to);
 #endif
 	return 0;
 }
@@ -175,7 +176,7 @@ pgunlink(const char *path)
 			elog(LOG, "could not unlink \"%s\", continuing to try",
 				 path);
 #else
-			fprintf(stderr, "could not unlink \"%s\", continuing to try\n",
+			fprintf(stderr, _("could not unlink \"%s\", continuing to try\n"),
 					path);
 #endif
 		loops++;
@@ -185,7 +186,7 @@ pgunlink(const char *path)
 #ifndef FRONTEND
 		elog(LOG, "completed unlink of \"%s\"", path);
 #else
-		fprintf(stderr, "completed unlink of \"%s\"\n", path);
+		fprintf(stderr, _("completed unlink of \"%s\"\n"), path);
 #endif
 	return 0;
 }
@@ -283,7 +284,7 @@ pgsymlink(const char *oldpath, const char *newpath)
 				 errmsg("Error setting junction for %s: %s",
 						nativeTarget, msg)));
 #else
-		fprintf(stderr, "Error setting junction for %s: %s\n",
+		fprintf(stderr, _("Error setting junction for %s: %s\n"),
 				nativeTarget, msg);
 #endif
 		LocalFree(msg);
@@ -433,7 +434,7 @@ report_and_fail:
 #ifndef FRONTEND
 	elog(WARNING, "could not remove file or directory \"%s\": %m", filepath);
 #else
-	fprintf(stderr, "could not remove file or directory \"%s\": %s\n", filepath, strerror(errno));
+	fprintf(stderr, _("could not remove file or directory \"%s\": %s\n"), filepath, strerror(errno));
 #endif
 	fnames_cleanup(filenames);
 	return false;
diff --git a/src/port/exec.c b/src/port/exec.c
index 355be22574e974212c067b9203237641cd206f08..8220536c038821128e5637a7613ac135f788575d 100644
--- a/src/port/exec.c
+++ b/src/port/exec.c
@@ -9,7 +9,7 @@
  *
  *
  * IDENTIFICATION
- *	  $PostgreSQL: pgsql/src/port/exec.c,v 1.37 2005/01/14 17:47:49 tgl Exp $
+ *	  $PostgreSQL: pgsql/src/port/exec.c,v 1.38 2005/02/22 04:43:16 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -191,7 +191,7 @@ find_my_exec(const char *argv0, char *retpath)
 
 	if (!getcwd(cwd, MAXPGPATH))
 	{
-		log_error(gettext("could not identify current directory: %s"),
+		log_error(_("could not identify current directory: %s"),
 				  strerror(errno));
 		return -1;
 	}
@@ -210,7 +210,7 @@ find_my_exec(const char *argv0, char *retpath)
 		if (validate_exec(retpath) == 0)
 			return resolve_symlinks(retpath);
 
-		log_error(gettext("invalid binary \"%s\""), retpath);
+		log_error(_("invalid binary \"%s\""), retpath);
 		return -1;
 	}
 
@@ -259,14 +259,14 @@ find_my_exec(const char *argv0, char *retpath)
 				case -1:		/* wasn't even a candidate, keep looking */
 					break;
 				case -2:		/* found but disqualified */
-					log_error(gettext("could not read binary \"%s\""),
+					log_error(_("could not read binary \"%s\""),
 							  retpath);
 					break;
 			}
 		} while (*endp);
 	}
 
-	log_error(gettext("could not find a \"%s\" to execute"), argv0);
+	log_error(_("could not find a \"%s\" to execute"), argv0);
 	return -1;
 }
 
@@ -305,7 +305,7 @@ resolve_symlinks(char *path)
 	 */
 	if (!getcwd(orig_wd, MAXPGPATH))
 	{
-		log_error(gettext("could not identify current directory: %s"),
+		log_error(_("could not identify current directory: %s"),
 				  strerror(errno));
 		return -1;
 	}
@@ -321,7 +321,7 @@ resolve_symlinks(char *path)
 			*lsep = '\0';
 			if (chdir(path) == -1)
 			{
-				log_error(gettext("could not change directory to \"%s\""), path);
+				log_error(_("could not change directory to \"%s\""), path);
 				return -1;
 			}
 			fname = lsep + 1;
@@ -336,7 +336,7 @@ resolve_symlinks(char *path)
 		rllen = readlink(fname, link_buf, sizeof(link_buf));
 		if (rllen < 0 || rllen >= sizeof(link_buf))
 		{
-			log_error(gettext("could not read symbolic link \"%s\""), fname);
+			log_error(_("could not read symbolic link \"%s\""), fname);
 			return -1;
 		}
 		link_buf[rllen] = '\0';
@@ -348,7 +348,7 @@ resolve_symlinks(char *path)
 
 	if (!getcwd(path, MAXPGPATH))
 	{
-		log_error(gettext("could not identify current directory: %s"),
+		log_error(_("could not identify current directory: %s"),
 				  strerror(errno));
 		return -1;
 	}
@@ -357,7 +357,7 @@ resolve_symlinks(char *path)
 
 	if (chdir(orig_wd) == -1)
 	{
-		log_error(gettext("could not change directory to \"%s\""), orig_wd);
+		log_error(_("could not change directory to \"%s\""), orig_wd);
 		return -1;
 	}
 
@@ -584,13 +584,13 @@ pclose_check(FILE *stream)
 		perror("pclose failed");
 	}
 	else if (WIFEXITED(exitstatus))
-		log_error(gettext("child process exited with exit code %d"),
+		log_error(_("child process exited with exit code %d"),
 				  WEXITSTATUS(exitstatus));
 	else if (WIFSIGNALED(exitstatus))
-		log_error(gettext("child process was terminated by signal %d"),
+		log_error(_("child process was terminated by signal %d"),
 				  WTERMSIG(exitstatus));
 	else
-		log_error(gettext("child process exited with unrecognized status %d"),
+		log_error(_("child process exited with unrecognized status %d"),
 				  exitstatus);
 
 	return -1;
diff --git a/src/port/sprompt.c b/src/port/sprompt.c
index 9a6bee53b9f04842d7a6d34e11fb2f0f580b162f..3b97eea7ec61b5ccd4bef6065a223f8f693f8bbf 100644
--- a/src/port/sprompt.c
+++ b/src/port/sprompt.c
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *	  $PostgreSQL: pgsql/src/port/sprompt.c,v 1.10 2004/12/31 22:03:53 pgsql Exp $
+ *	  $PostgreSQL: pgsql/src/port/sprompt.c,v 1.11 2005/02/22 04:43:16 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -103,7 +103,7 @@ simple_prompt(const char *prompt, int maxlen, bool echo)
 
 	if (prompt)
 	{
-		fputs(gettext(prompt), termout);
+		fputs(_(prompt), termout);
 		fflush(termout);
 	}
 
diff --git a/src/port/strerror.c b/src/port/strerror.c
index 414ea8aec3981d73a12101548e5b7f693ca6f9d6..00de19b62d5ebcecd0bfdf501d7523ceb8657bc2 100644
--- a/src/port/strerror.c
+++ b/src/port/strerror.c
@@ -1,4 +1,4 @@
-/* $PostgreSQL: pgsql/src/port/strerror.c,v 1.3 2003/11/29 22:41:31 pgsql Exp $ */
+/* $PostgreSQL: pgsql/src/port/strerror.c,v 1.4 2005/02/22 04:43:16 momjian Exp $ */
 
 /*
  * strerror - map error number to descriptive string
@@ -23,7 +23,7 @@ strerror(int errnum)
 
 	if (errnum < 0 || errnum > sys_nerr)
 	{
-		sprintf(buf, "unrecognized error %d", errnum);
+		sprintf(buf, _("unrecognized error %d"), errnum);
 		return buf;
 	}
 
diff --git a/src/timezone/private.h b/src/timezone/private.h
index 922093341b39a497a7d1adb46b8287e73e2d98fb..5fc4be2d9554a42a3d5f62922fdec18108337cfe 100644
--- a/src/timezone/private.h
+++ b/src/timezone/private.h
@@ -6,7 +6,7 @@
  * 1996-06-05 by Arthur David Olson (arthur_david_olson@nih.gov).
  *
  * IDENTIFICATION
- *	  $PostgreSQL: pgsql/src/timezone/private.h,v 1.9 2004/08/29 05:07:02 momjian Exp $
+ *	  $PostgreSQL: pgsql/src/timezone/private.h,v 1.10 2005/02/22 04:43:23 momjian Exp $
  */
 
 /*
@@ -104,6 +104,7 @@ extern char *scheck(const char *string, const char *format);
 	((TYPE_BIT(type) - TYPE_SIGNED(type)) * 302 / 1000 + 1 + TYPE_SIGNED(type))
 #endif   /* !defined INT_STRLEN_MAXIMUM */
 
+#undef _(x)
 #define _(msgid) (msgid)
 
 /*