Internationalize interactive yes/no responses.

This commit is contained in:
Peter Eisentraut 2003-05-27 19:36:55 +00:00
parent aea0270c23
commit a6f01d1aa6
5 changed files with 32 additions and 8 deletions

View File

@ -5,7 +5,7 @@
* Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group * Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California * Portions Copyright (c) 1994, Regents of the University of California
* *
* $Header: /cvsroot/pgsql/src/bin/scripts/common.c,v 1.2 2003/04/04 20:42:13 momjian Exp $ * $Header: /cvsroot/pgsql/src/bin/scripts/common.c,v 1.3 2003/05/27 19:36:54 petere Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
@ -153,3 +153,24 @@ executeQuery(PGconn *conn, const char *query, const char *progname, bool echo)
return res; return res;
} }
/*
* Check yes/no answer in a localized way. 1=yes, 0=no, -1=neither.
*/
/* translator: Make sure the (y/n) prompts match the translation of this. */
#define PG_YESLETTER gettext_noop("y")
/* translator: Make sure the (y/n) prompts match the translation of this. */
#define PG_NOLETTER gettext_noop("n")
int
check_yesno_response(const char *string)
{
if (strcmp(string, gettext(PG_YESLETTER)) == 0)
return 1;
else if (strcmp(string, gettext(PG_NOLETTER)) == 0)
return 0;
else
return -1;
}

View File

@ -32,3 +32,6 @@ connectDatabase(const char *dbname, const char *pghost, const char *pgport,
PGresult * PGresult *
executeQuery(PGconn *conn, const char *command, const char *progname, bool echo); executeQuery(PGconn *conn, const char *command, const char *progname, bool echo);
int
check_yesno_response(const char *string);

View File

@ -5,7 +5,7 @@
* Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group * Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California * Portions Copyright (c) 1994, Regents of the University of California
* *
* $Header: /cvsroot/pgsql/src/bin/scripts/createuser.c,v 1.2 2003/05/14 03:26:03 tgl Exp $ * $Header: /cvsroot/pgsql/src/bin/scripts/createuser.c,v 1.3 2003/05/27 19:36:54 petere Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
@ -166,7 +166,7 @@ main(int argc, char *argv[])
char *reply; char *reply;
reply = simple_prompt("Shall the new user be allowed to create databases? (y/n) ", 1, true); reply = simple_prompt("Shall the new user be allowed to create databases? (y/n) ", 1, true);
if (reply[0] == 'y' || reply[0] == 'Y') if (check_yesno_response(reply) == 1)
createdb = +1; createdb = +1;
else else
createdb = -1; createdb = -1;
@ -177,7 +177,7 @@ main(int argc, char *argv[])
char *reply; char *reply;
reply = simple_prompt("Shall the new user be allowed to create more new users? (y/n) ", 1, true); reply = simple_prompt("Shall the new user be allowed to create more new users? (y/n) ", 1, true);
if (reply[0] == 'y' || reply[0] == 'Y') if (check_yesno_response(reply) == 1)
adduser = +1; adduser = +1;
else else
adduser = -1; adduser = -1;

View File

@ -5,7 +5,7 @@
* Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group * Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California * Portions Copyright (c) 1994, Regents of the University of California
* *
* $Header: /cvsroot/pgsql/src/bin/scripts/dropdb.c,v 1.2 2003/05/14 03:26:03 tgl Exp $ * $Header: /cvsroot/pgsql/src/bin/scripts/dropdb.c,v 1.3 2003/05/27 19:36:54 petere Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
@ -107,7 +107,7 @@ main(int argc, char *argv[])
printf(_("Database \"%s\" will be permanently deleted.\n"), dbname); printf(_("Database \"%s\" will be permanently deleted.\n"), dbname);
reply = simple_prompt("Are you sure? (y/n) ", 1, true); reply = simple_prompt("Are you sure? (y/n) ", 1, true);
if (reply[0] != 'y' && reply[0] != 'Y') if (check_yesno_response(reply) != 1)
exit(0); exit(0);
} }

View File

@ -5,7 +5,7 @@
* Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group * Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California * Portions Copyright (c) 1994, Regents of the University of California
* *
* $Header: /cvsroot/pgsql/src/bin/scripts/dropuser.c,v 1.2 2003/05/14 03:26:03 tgl Exp $ * $Header: /cvsroot/pgsql/src/bin/scripts/dropuser.c,v 1.3 2003/05/27 19:36:55 petere Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
@ -108,7 +108,7 @@ main(int argc, char *argv[])
printf(_("User \"%s\" will be permanently deleted.\n"), dropuser); printf(_("User \"%s\" will be permanently deleted.\n"), dropuser);
reply = simple_prompt("Are you sure? (y/n) ", 1, true); reply = simple_prompt("Are you sure? (y/n) ", 1, true);
if (reply[0] != 'y' && reply[0] != 'Y') if (check_yesno_response(reply) != 1)
exit(0); exit(0);
} }