Whamcloud - gitweb
compile_et: generate *_err.c files that have strings marked for xgettext
authorTheodore Ts'o <tytso@mit.edu>
Wed, 5 Oct 2011 04:39:40 +0000 (00:39 -0400)
committerTheodore Ts'o <tytso@mit.edu>
Wed, 5 Oct 2011 04:39:40 +0000 (00:39 -0400)
This allows error code strings to be internationalized.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
lib/et/et_c.awk
lib/et/test_cases/continuation.c
lib/et/test_cases/heimdal.c
lib/et/test_cases/heimdal2.c
lib/et/test_cases/heimdal3.c
lib/et/test_cases/imap_err.c
lib/et/test_cases/simple.c

index ea2e609..99c33ba 100644 (file)
@@ -129,6 +129,8 @@ c2n["_"]=63
        print "" > outfile
        print "#include <stdlib.h>" > outfile
        print "" > outfile
+       print "#define N_(a) a" > outfile
+       print "" > outfile
        print "static const char * const text[] = {" > outfile
        table_item_count = 0
 }
@@ -141,7 +143,7 @@ c2n["_"]=63
 
 (continuation == 1) && ($0 ~ /"[ \t]*$/) {
 #      printf "\t\t\"%s,\n", $0 > outfile
-       printf "\t%s,\n", cont_buf $0 > outfile
+       printf "\tN_(%s),\n", cont_buf $0 > outfile
        continuation = 0;
 }
 
@@ -162,7 +164,7 @@ c2n["_"]=63
            text = text FS $i
        }
        text=substr(text,2,length(text)-1);
-       printf "\t%s,\n", text > outfile
+       printf "\tN_(%s),\n", text > outfile
        table_item_count++
 }
 
@@ -190,7 +192,7 @@ c2n["_"]=63
 
 { 
        if (skipone) {
-           printf "\t%s,\n", $0 > outfile
+           printf "\tN_(%s),\n", $0 > outfile
        }
        skipone=0
 }
@@ -206,7 +208,7 @@ c2n["_"]=63
 /^[ \t]*(index)[ \t]+[A-Z_0-9]+/ {
        new_idx = $2
        for (i = table_item_count ; i < new_idx; i++) {
-               printf "\t\"Reserved %s error (%d)\",\n", \
+               printf "\tN_(\"Reserved %s error (%d)\"),\n", \
                        table_name, table_item_count++ > outfile
        }
 }
index 0529dd0..1207897 100644 (file)
@@ -5,8 +5,10 @@
 
 #include <stdlib.h>
 
+#define N_(a) a
+
 static const char * const text[] = {
-       "New password was found in a dictionary of possible passwords and\ntherefore may be easily guessed. Please choose another password.\nSee the ovpasswd man page for help in choosing a good password.",
+       N_("New password was found in a dictionary of possible passwords and\ntherefore may be easily guessed. Please choose another password.\nSee the ovpasswd man page for help in choosing a good password."),
     0
 };
 
index 22c7573..d9be4ce 100644 (file)
@@ -5,89 +5,91 @@
 
 #include <stdlib.h>
 
+#define N_(a) a
+
 static const char * const text[] = {
-       "Kerberos successful",
-       "Kerberos principal expired",
-       "Kerberos service expired",
-       "Kerberos auth expired",
-       "Incorrect kerberos master key version",
-       "Incorrect kerberos master key version",
-       "Incorrect kerberos master key version",
-       "Kerberos error: byte order unknown",
-       "Kerberos principal unknown",
-       "Kerberos principal not unique",
-       "Kerberos principal has null key",
-       "Reserved krb error (11)",
-       "Reserved krb error (12)",
-       "Reserved krb error (13)",
-       "Reserved krb error (14)",
-       "Reserved krb error (15)",
-       "Reserved krb error (16)",
-       "Reserved krb error (17)",
-       "Reserved krb error (18)",
-       "Reserved krb error (19)",
-       "Generic error from Kerberos KDC",
-       "Can't read Kerberos ticket file",
-       "Can't find Kerberos ticket or TGT",
-       "Reserved krb error (23)",
-       "Reserved krb error (24)",
-       "Reserved krb error (25)",
-       "Kerberos TGT Expired",
-       "Reserved krb error (27)",
-       "Reserved krb error (28)",
-       "Reserved krb error (29)",
-       "Reserved krb error (30)",
-       "Kerberos error: Can't decode authenticator",
-       "Kerberos ticket expired",
-       "Kerberos ticket not yet valid",
-       "Kerberos error: Repeated request",
-       "The kerberos ticket isn't for us",
-       "Kerberos request inconsistent",
-       "Kerberos error: delta_t too big",
-       "Kerberos error: incorrect net address",
-       "Kerberos protocol version mismatch",
-       "Kerberos error: invalid msg type",
-       "Kerberos error: message stream modified",
-       "Kerberos error: message out of order",
-       "Kerberos error: unauthorized request",
-       "Reserved krb error (44)",
-       "Reserved krb error (45)",
-       "Reserved krb error (46)",
-       "Reserved krb error (47)",
-       "Reserved krb error (48)",
-       "Reserved krb error (49)",
-       "Reserved krb error (50)",
-       "Kerberos error: current PW is null",
-       "Kerberos error: Incorrect current password",
-       "Kerberos protocol error",
-       "Error returned by Kerberos KDC",
-       "Null Kerberos ticket returned by KDC",
-       "Kerberos error: Retry count exceeded",
-       "Kerberos error: Can't send request",
-       "Reserved krb error (58)",
-       "Reserved krb error (59)",
-       "Reserved krb error (60)",
-       "Kerberos error: not all tickets returned",
-       "Kerberos error: incorrect password",
-       "Kerberos error: Protocol Error",
-       "Reserved krb error (64)",
-       "Reserved krb error (65)",
-       "Reserved krb error (66)",
-       "Reserved krb error (67)",
-       "Reserved krb error (68)",
-       "Reserved krb error (69)",
-       "Other error",
-       "Don't have Kerberos ticket-granting ticket",
-       "Reserved krb error (72)",
-       "Reserved krb error (73)",
-       "Reserved krb error (74)",
-       "Reserved krb error (75)",
-       "No ticket file found",
-       "Couldn't access ticket file",
-       "Couldn't lock ticket file",
-       "Bad ticket file format",
-       "tf_init not called first",
-       "Bad Kerberos name format",
+       N_("Kerberos successful"),
+       N_("Kerberos principal expired"),
+       N_("Kerberos service expired"),
+       N_("Kerberos auth expired"),
+       N_("Incorrect kerberos master key version"),
+       N_("Incorrect kerberos master key version"),
+       N_("Incorrect kerberos master key version"),
+       N_("Kerberos error: byte order unknown"),
+       N_("Kerberos principal unknown"),
+       N_("Kerberos principal not unique"),
+       N_("Kerberos principal has null key"),
+       N_("Reserved krb error (11)"),
+       N_("Reserved krb error (12)"),
+       N_("Reserved krb error (13)"),
+       N_("Reserved krb error (14)"),
+       N_("Reserved krb error (15)"),
+       N_("Reserved krb error (16)"),
+       N_("Reserved krb error (17)"),
+       N_("Reserved krb error (18)"),
+       N_("Reserved krb error (19)"),
+       N_("Generic error from Kerberos KDC"),
+       N_("Can't read Kerberos ticket file"),
+       N_("Can't find Kerberos ticket or TGT"),
+       N_("Reserved krb error (23)"),
+       N_("Reserved krb error (24)"),
+       N_("Reserved krb error (25)"),
+       N_("Kerberos TGT Expired"),
+       N_("Reserved krb error (27)"),
+       N_("Reserved krb error (28)"),
+       N_("Reserved krb error (29)"),
+       N_("Reserved krb error (30)"),
+       N_("Kerberos error: Can't decode authenticator"),
+       N_("Kerberos ticket expired"),
+       N_("Kerberos ticket not yet valid"),
+       N_("Kerberos error: Repeated request"),
+       N_("The kerberos ticket isn't for us"),
+       N_("Kerberos request inconsistent"),
+       N_("Kerberos error: delta_t too big"),
+       N_("Kerberos error: incorrect net address"),
+       N_("Kerberos protocol version mismatch"),
+       N_("Kerberos error: invalid msg type"),
+       N_("Kerberos error: message stream modified"),
+       N_("Kerberos error: message out of order"),
+       N_("Kerberos error: unauthorized request"),
+       N_("Reserved krb error (44)"),
+       N_("Reserved krb error (45)"),
+       N_("Reserved krb error (46)"),
+       N_("Reserved krb error (47)"),
+       N_("Reserved krb error (48)"),
+       N_("Reserved krb error (49)"),
+       N_("Reserved krb error (50)"),
+       N_("Kerberos error: current PW is null"),
+       N_("Kerberos error: Incorrect current password"),
+       N_("Kerberos protocol error"),
+       N_("Error returned by Kerberos KDC"),
+       N_("Null Kerberos ticket returned by KDC"),
+       N_("Kerberos error: Retry count exceeded"),
+       N_("Kerberos error: Can't send request"),
+       N_("Reserved krb error (58)"),
+       N_("Reserved krb error (59)"),
+       N_("Reserved krb error (60)"),
+       N_("Kerberos error: not all tickets returned"),
+       N_("Kerberos error: incorrect password"),
+       N_("Kerberos error: Protocol Error"),
+       N_("Reserved krb error (64)"),
+       N_("Reserved krb error (65)"),
+       N_("Reserved krb error (66)"),
+       N_("Reserved krb error (67)"),
+       N_("Reserved krb error (68)"),
+       N_("Reserved krb error (69)"),
+       N_("Other error"),
+       N_("Don't have Kerberos ticket-granting ticket"),
+       N_("Reserved krb error (72)"),
+       N_("Reserved krb error (73)"),
+       N_("Reserved krb error (74)"),
+       N_("Reserved krb error (75)"),
+       N_("No ticket file found"),
+       N_("Couldn't access ticket file"),
+       N_("Couldn't lock ticket file"),
+       N_("Bad ticket file format"),
+       N_("tf_init not called first"),
+       N_("Bad Kerberos name format"),
     0
 };
 
index eba3d62..a8d4c11 100644 (file)
@@ -5,75 +5,77 @@
 
 #include <stdlib.h>
 
+#define N_(a) a
+
 static const char * const text[] = {
-       "$Id: kadm_err.et,v 1.5 1998/01/16 23:11:27 joda Exp $",
-       "Cannot fetch local realm",
-       "Unable to fetch credentials",
-       "Bad key supplied",
-       "Can't encrypt data",
-       "Cannot encode/decode authentication info",
-       "Principal attemping change is in wrong realm",
-       "Packet is too large",
-       "Version number is incorrect",
-       "Checksum does not match",
-       "Unsealing private data failed",
-       "Unsupported operation",
-       "Could not find administrating host",
-       "Administrating host name is unknown",
-       "Could not find service name in services database",
-       "Could not create socket",
-       "Could not connect to server",
-       "Could not fetch local socket address",
-       "Could not fetch master key",
-       "Could not verify master key",
-       "Entry already exists in database",
-       "Database store error",
-       "Database read error",
-       "Insufficient access to perform requested operation",
-       "Data is available for return to client",
-       "No such entry in the database",
-       "Memory exhausted",
-       "Could not fetch system hostname",
-       "Could not bind port",
-       "Length mismatch problem",
-       "Illegal use of wildcard",
-       "Database is locked or in use--try again later",
-       "Insecure password rejected",
-       "Cleartext password and DES key did not match",
-       "Invalid principal for change srvtab request",
-       "Attempt do delete immutable principal",
-       "Reserved kadm error (36)",
-       "Reserved kadm error (37)",
-       "Reserved kadm error (38)",
-       "Reserved kadm error (39)",
-       "Reserved kadm error (40)",
-       "Reserved kadm error (41)",
-       "Reserved kadm error (42)",
-       "Reserved kadm error (43)",
-       "Reserved kadm error (44)",
-       "Reserved kadm error (45)",
-       "Reserved kadm error (46)",
-       "Reserved kadm error (47)",
-       "Reserved kadm error (48)",
-       "Reserved kadm error (49)",
-       "Reserved kadm error (50)",
-       "Reserved kadm error (51)",
-       "Reserved kadm error (52)",
-       "Reserved kadm error (53)",
-       "Reserved kadm error (54)",
-       "Reserved kadm error (55)",
-       "Reserved kadm error (56)",
-       "Reserved kadm error (57)",
-       "Reserved kadm error (58)",
-       "Reserved kadm error (59)",
-       "Reserved kadm error (60)",
-       "Reserved kadm error (61)",
-       "Reserved kadm error (62)",
-       "Reserved kadm error (63)",
-       "Null passwords are not allowed",
-       "Password is too short",
-       "Too few character classes in password",
-       "Password is in the password dictionary",
+       N_("$Id: kadm_err.et,v 1.5 1998/01/16 23:11:27 joda Exp $"),
+       N_("Cannot fetch local realm"),
+       N_("Unable to fetch credentials"),
+       N_("Bad key supplied"),
+       N_("Can't encrypt data"),
+       N_("Cannot encode/decode authentication info"),
+       N_("Principal attemping change is in wrong realm"),
+       N_("Packet is too large"),
+       N_("Version number is incorrect"),
+       N_("Checksum does not match"),
+       N_("Unsealing private data failed"),
+       N_("Unsupported operation"),
+       N_("Could not find administrating host"),
+       N_("Administrating host name is unknown"),
+       N_("Could not find service name in services database"),
+       N_("Could not create socket"),
+       N_("Could not connect to server"),
+       N_("Could not fetch local socket address"),
+       N_("Could not fetch master key"),
+       N_("Could not verify master key"),
+       N_("Entry already exists in database"),
+       N_("Database store error"),
+       N_("Database read error"),
+       N_("Insufficient access to perform requested operation"),
+       N_("Data is available for return to client"),
+       N_("No such entry in the database"),
+       N_("Memory exhausted"),
+       N_("Could not fetch system hostname"),
+       N_("Could not bind port"),
+       N_("Length mismatch problem"),
+       N_("Illegal use of wildcard"),
+       N_("Database is locked or in use--try again later"),
+       N_("Insecure password rejected"),
+       N_("Cleartext password and DES key did not match"),
+       N_("Invalid principal for change srvtab request"),
+       N_("Attempt do delete immutable principal"),
+       N_("Reserved kadm error (36)"),
+       N_("Reserved kadm error (37)"),
+       N_("Reserved kadm error (38)"),
+       N_("Reserved kadm error (39)"),
+       N_("Reserved kadm error (40)"),
+       N_("Reserved kadm error (41)"),
+       N_("Reserved kadm error (42)"),
+       N_("Reserved kadm error (43)"),
+       N_("Reserved kadm error (44)"),
+       N_("Reserved kadm error (45)"),
+       N_("Reserved kadm error (46)"),
+       N_("Reserved kadm error (47)"),
+       N_("Reserved kadm error (48)"),
+       N_("Reserved kadm error (49)"),
+       N_("Reserved kadm error (50)"),
+       N_("Reserved kadm error (51)"),
+       N_("Reserved kadm error (52)"),
+       N_("Reserved kadm error (53)"),
+       N_("Reserved kadm error (54)"),
+       N_("Reserved kadm error (55)"),
+       N_("Reserved kadm error (56)"),
+       N_("Reserved kadm error (57)"),
+       N_("Reserved kadm error (58)"),
+       N_("Reserved kadm error (59)"),
+       N_("Reserved kadm error (60)"),
+       N_("Reserved kadm error (61)"),
+       N_("Reserved kadm error (62)"),
+       N_("Reserved kadm error (63)"),
+       N_("Null passwords are not allowed"),
+       N_("Password is too short"),
+       N_("Too few character classes in password"),
+       N_("Password is in the password dictionary"),
     0
 };
 
index 18a9ccc..b8b9b73 100644 (file)
@@ -5,9 +5,11 @@
 
 #include <stdlib.h>
 
+#define N_(a) a
+
 static const char * const text[] = {
-       "Test message 1",
-       "Test message 2",
+       N_("Test message 1"),
+       N_("Test message 2"),
     0
 };
 
index 82a6ad0..6f576d3 100644 (file)
@@ -5,37 +5,39 @@
 
 #include <stdlib.h>
 
+#define N_(a) a
+
 static const char * const text[] = {
-          "System I/O error",
-          "Permission denied",
-          "Over quota",
-          "Too many user flags in mailbox",
-          "Mailbox has an invalid format",
-          "Operation is not supported on mailbox",
-          "Mailbox does not exist",
-          "Mailbox already exists",
-          "Invalid mailbox name",
-          "Mailbox is locked by POP server",
-          "Unknown/invalid partition",
-          "Invalid identifier",
-          "Message contains NUL characters",
-          "Message contains bare newlines",
-          "Message contains non-ASCII characters in headers",
-          "Message contains invalid header",
-          "Message has no header/body separator",
-          "Quota root does not exist",
-          "Unrecognized character set",
-          "Invalid user",
-          "Login incorrect",
-          "Anonymous login is not permitted",
-          "Unsupported quota resource",
-          "Mailbox is over quota",
-          "Mailbox is at %d%% of quota",
-          "Message %d no longer exists",
-          "Unable to checkpoint \\Seen state",
-          "Unable to preserve \\Seen state",
-          "LOGOUT received",
-          "Completed",
+       N_(   "System I/O error"),
+       N_(   "Permission denied"),
+       N_(   "Over quota"),
+       N_(   "Too many user flags in mailbox"),
+       N_(   "Mailbox has an invalid format"),
+       N_(   "Operation is not supported on mailbox"),
+       N_(   "Mailbox does not exist"),
+       N_(   "Mailbox already exists"),
+       N_(   "Invalid mailbox name"),
+       N_(   "Mailbox is locked by POP server"),
+       N_(   "Unknown/invalid partition"),
+       N_(   "Invalid identifier"),
+       N_(   "Message contains NUL characters"),
+       N_(   "Message contains bare newlines"),
+       N_(   "Message contains non-ASCII characters in headers"),
+       N_(   "Message contains invalid header"),
+       N_(   "Message has no header/body separator"),
+       N_(   "Quota root does not exist"),
+       N_(   "Unrecognized character set"),
+       N_(   "Invalid user"),
+       N_(   "Login incorrect"),
+       N_(   "Anonymous login is not permitted"),
+       N_(   "Unsupported quota resource"),
+       N_(   "Mailbox is over quota"),
+       N_(   "Mailbox is at %d%% of quota"),
+       N_(   "Message %d no longer exists"),
+       N_(   "Unable to checkpoint \\Seen state"),
+       N_(   "Unable to preserve \\Seen state"),
+       N_(   "LOGOUT received"),
+       N_(   "Completed"),
     0
 };
 
index f182c6f..10ab1a3 100644 (file)
@@ -5,29 +5,31 @@
 
 #include <stdlib.h>
 
+#define N_(a) a
+
 static const char * const text[] = {
-                               "Can't read ticket file",
-                               "Can't find ticket or TGT",
-                               "TGT expired",
-                               "Can't decode authenticator",
-                               "Ticket expired",
-                               "Repeated request",
-                               "The ticket isn't for us",
-                               "Request is inconsistent",
-                               "Delta-T too big",
-                               "Incorrect net address",
-                               "Protocol version mismatch",
-                               "Invalid message type",
-                               "Message stream modified",
-                               "Message out of order",
-                               "Unauthorized request",
-                               "Current password is null",
-                               "Incorrect current password",
-                               "Protocol error",
-                               "Error returned by KDC",
-                               "Null ticket returned by KDC",
-                               "Retry count exceeded",
-                               "Can't send request",
+       N_(                     "Can't read ticket file"),
+       N_(                     "Can't find ticket or TGT"),
+       N_(                     "TGT expired"),
+       N_(                     "Can't decode authenticator"),
+       N_(                     "Ticket expired"),
+       N_(                     "Repeated request"),
+       N_(                     "The ticket isn't for us"),
+       N_(                     "Request is inconsistent"),
+       N_(                     "Delta-T too big"),
+       N_(                     "Incorrect net address"),
+       N_(                     "Protocol version mismatch"),
+       N_(                     "Invalid message type"),
+       N_(                     "Message stream modified"),
+       N_(                     "Message out of order"),
+       N_(                     "Unauthorized request"),
+       N_(                     "Current password is null"),
+       N_(                     "Incorrect current password"),
+       N_(                     "Protocol error"),
+       N_(                     "Error returned by KDC"),
+       N_(                     "Null ticket returned by KDC"),
+       N_(                     "Retry count exceeded"),
+       N_(                     "Can't send request"),
     0
 };