diff options
| author | Peter Eisentraut | 2003-05-27 19:36:55 +0000 |
|---|---|---|
| committer | Peter Eisentraut | 2003-05-27 19:36:55 +0000 |
| commit | 4bddc3a5b342dbf99caa787e7c331a49d3ddbc36 (patch) | |
| tree | de0a96ed913e0118ebce1ce39dfc29db4c9ebde2 | |
| parent | 8619d5678ec3b4a779927d3ddc6a56b4718ad55a (diff) | |
Internationalize interactive yes/no responses.
| -rw-r--r-- | src/bin/scripts/common.c | 21 | ||||
| -rw-r--r-- | src/bin/scripts/common.h | 3 | ||||
| -rw-r--r-- | src/bin/scripts/createuser.c | 4 | ||||
| -rw-r--r-- | src/bin/scripts/dropdb.c | 2 | ||||
| -rw-r--r-- | src/bin/scripts/dropuser.c | 2 |
5 files changed, 28 insertions, 4 deletions
diff --git a/src/bin/scripts/common.c b/src/bin/scripts/common.c index 718479f54f..a3a293d32c 100644 --- a/src/bin/scripts/common.c +++ b/src/bin/scripts/common.c @@ -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; +} diff --git a/src/bin/scripts/common.h b/src/bin/scripts/common.h index 6122b686ce..8fb33dfd03 100644 --- a/src/bin/scripts/common.h +++ b/src/bin/scripts/common.h @@ -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); diff --git a/src/bin/scripts/createuser.c b/src/bin/scripts/createuser.c index a1637a5109..c443f7c377 100644 --- a/src/bin/scripts/createuser.c +++ b/src/bin/scripts/createuser.c @@ -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; diff --git a/src/bin/scripts/dropdb.c b/src/bin/scripts/dropdb.c index 3e874abee9..74a987e28d 100644 --- a/src/bin/scripts/dropdb.c +++ b/src/bin/scripts/dropdb.c @@ -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); } diff --git a/src/bin/scripts/dropuser.c b/src/bin/scripts/dropuser.c index 7c492e33ca..eebaa2f494 100644 --- a/src/bin/scripts/dropuser.c +++ b/src/bin/scripts/dropuser.c @@ -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); } |
