OSDN Git Service

Internationalize interactive yes/no responses.
authorPeter Eisentraut <peter_e@gmx.net>
Tue, 27 May 2003 19:36:55 +0000 (19:36 +0000)
committerPeter Eisentraut <peter_e@gmx.net>
Tue, 27 May 2003 19:36:55 +0000 (19:36 +0000)
src/bin/scripts/common.c
src/bin/scripts/common.h
src/bin/scripts/createuser.c
src/bin/scripts/dropdb.c
src/bin/scripts/dropuser.c

index a1a6993..2e0612a 100644 (file)
@@ -5,7 +5,7 @@
  * Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group
  * 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;
 }
+
+
+/*
+ * 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;
+}
index 6122b68..8fb33df 100644 (file)
@@ -32,3 +32,6 @@ connectDatabase(const char *dbname, const char *pghost, const char *pgport,
 
 PGresult *
 executeQuery(PGconn *conn, const char *command, const char *progname, bool echo);
+
+int
+check_yesno_response(const char *string);
index e589529..864a0dd 100644 (file)
@@ -5,7 +5,7 @@
  * Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group
  * 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;
 
                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;
                else
                        createdb = -1;
@@ -177,7 +177,7 @@ main(int argc, char *argv[])
                char       *reply;
 
                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;
                else
                        adduser = -1;
index 796930c..2a0831e 100644 (file)
@@ -5,7 +5,7 @@
  * Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group
  * 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);
                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);
        }
 
index 6bc6359..db34005 100644 (file)
@@ -5,7 +5,7 @@
  * Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group
  * 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);
                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);
        }