* siteconfig.c: i18n
authorArt Cancro <ajc@citadel.org>
Mon, 22 Aug 2005 19:06:52 +0000 (19:06 +0000)
committerArt Cancro <ajc@citadel.org>
Mon, 22 Aug 2005 19:06:52 +0000 (19:06 +0000)
webcit/ChangeLog
webcit/siteconfig.c

index 98a7b1d8e7f4d3e2fbf92ebf697bd6b3795cedc0..4ecea5acef9762840827b61d987a2fbc08f6365f 100644 (file)
@@ -1,4 +1,7 @@
 $Log$
+Revision 621.25  2005/08/22 19:06:52  ajc
+* siteconfig.c: i18n
+
 Revision 621.24  2005/08/22 18:02:24  ajc
 * siteconfig.c: began i18n
 
@@ -2880,3 +2883,4 @@ Sun Dec  6 19:50:55 EST 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
 
 1998-12-03 Nathan Bryant <bryant@cs.usm.maine.edu>
        * webserver.c: warning fix
+
index ce72e86dd3be9cb54117161eb6d242c879bbea6c..81fc952f062660efdc5c8c7af82d5083af819a71 100644 (file)
@@ -124,19 +124,19 @@ void display_siteconfig(void)
        }
 
        if (!strcasecmp(whichmenu, "general")) {
-               wprintf("<div align="center"><h2>");
+               wprintf("<div align=\"center\"><h2>");
                wprintf(_("General site configuration items"));
                wprintf("</h2></div>\n");
        }
 
        if (!strcasecmp(whichmenu, "access")) {
-               wprintf("<div align="center"><h2>");
+               wprintf("<div align=\"center\"><h2>");
                wprintf(_("Access controls and site policy settings"));
                wprintf("</h2></div>\n");
        }
 
        if (!strcasecmp(whichmenu, "network")) {
-               wprintf("<div align="center"><h2>");
+               wprintf("<div align=\"center\"><h2>");
                wprintf(_("Network services"));
                wprintf("</h2>");
                wprintf(_("Changes made on this screen will not take effect "
@@ -145,13 +145,13 @@ void display_siteconfig(void)
        }
 
        if (!strcasecmp(whichmenu, "tuning")) {
-               wprintf("<div align="center"><h2>");
+               wprintf("<div align=\"center\"><h2>");
                wprintf(_("Advanced server fine-tuning controls"));
                wprintf("</h2></div>\n");
        }
 
        if (!strcasecmp(whichmenu, "ldap")) {
-               wprintf("<div align="center"><h2>");
+               wprintf("<div align=\"center\"><h2>");
                wprintf(_("Citadel LDAP connector configuration"));
                wprintf("</h2>");
                wprintf(_("Changes made on this screen will not take effect "
@@ -160,7 +160,7 @@ void display_siteconfig(void)
        }
 
        if (!strcasecmp(whichmenu, "purger")) {
-               wprintf("<div align="center"><h2>");
+               wprintf("<div align=\"center\"><h2>");
                wprintf(_("Message auto-purger settings"));
                wprintf("</h2>");
                wprintf(_("These settings may be overridden on a per-floor or per-room basis."));
@@ -192,11 +192,11 @@ void display_siteconfig(void)
                                wprintf("<TR><TD>");
                                wprintf(_("Node name"));
                                wprintf("</TD><TD>");
-                               wprintf("<INPUT TYPE=\"text\" NAME=\"c_nodename\" MAXLENGTH=\"15\" VALUE=\"%s\">", buf);
+                               wprintf("<input type=\"text\" NAME=\"c_nodename\" MAXLENGTH=\"15\" VALUE=\"%s\">", buf);
                                wprintf("</TD></TR>\n");
                        }
                        else {
-                               wprintf("<INPUT TYPE=\"hidden\" NAME=\"c_nodename\" VALUE=\"%s\">", buf);
+                               wprintf("<input type=\"hidden\" NAME=\"c_nodename\" VALUE=\"%s\">", buf);
                        }
                        break;
                case 2:
@@ -204,11 +204,11 @@ void display_siteconfig(void)
                                wprintf("<TR><TD>");
                                wprintf(_("Fully qualified domain name"));
                                wprintf("</TD><TD>");
-                               wprintf("<INPUT TYPE=\"text\" NAME=\"c_fqdn\" MAXLENGTH=\"63\" VALUE=\"%s\">", buf);
+                               wprintf("<input type=\"text\" NAME=\"c_fqdn\" MAXLENGTH=\"63\" VALUE=\"%s\">", buf);
                                wprintf("</TD></TR>\n");
                        }
                        else {
-                               wprintf("<INPUT TYPE=\"hidden\" NAME=\"c_fqdn\" VALUE=\"%s\">", buf);
+                               wprintf("<input type=\"hidden\" NAME=\"c_fqdn\" VALUE=\"%s\">", buf);
                        }
                        break;
                case 3:
@@ -216,11 +216,11 @@ void display_siteconfig(void)
                                wprintf("<TR><TD>");
                                wprintf(_("Human-readable node name"));
                                wprintf("</TD><TD>");
-                               wprintf("<INPUT TYPE=\"text\" NAME=\"c_humannode\" MAXLENGTH=\"20\" VALUE=\"%s\">", buf);
+                               wprintf("<input type=\"text\" NAME=\"c_humannode\" MAXLENGTH=\"20\" VALUE=\"%s\">", buf);
                                wprintf("</TD></TR>\n");
                        }
                        else {
-                               wprintf("<INPUT TYPE=\"hidden\" NAME=\"c_humannode\" VALUE=\"%s\">", buf);
+                               wprintf("<input type=\"hidden\" NAME=\"c_humannode\" VALUE=\"%s\">", buf);
                        }
                        break;
                case 4:
@@ -228,36 +228,43 @@ void display_siteconfig(void)
                                wprintf("<TR><TD>");
                                wprintf(_("Telephone number"));
                                wprintf("</TD><TD>");
-                               wprintf("<INPUT TYPE=\"text\" NAME=\"c_phonenum\" MAXLENGTH=\"15\" VALUE=\"%s\">", buf);
+                               wprintf("<input type=\"text\" NAME=\"c_phonenum\" MAXLENGTH=\"15\" VALUE=\"%s\">", buf);
                                wprintf("</TD></TR>\n");
                        }
                        else {
-                               wprintf("<INPUT TYPE=\"hidden\" NAME=\"c_phonenum\" VALUE=\"%s\">", buf);
+                               wprintf("<input type=\"hidden\" NAME=\"c_phonenum\" VALUE=\"%s\">", buf);
                        }
                        break;
                case 5:
                        if (!strcasecmp(whichmenu, "access")) {
-                               wprintf("<TR><TD>Automatically grant room-aide status to users who create private rooms</TD><TD>");
-                               wprintf("<INPUT TYPE=\"checkbox\" NAME=\"c_creataide\" VALUE=\"yes\" %s>", ((atoi(buf) != 0) ? "CHECKED" : ""));
+                               wprintf("<TR><TD>");
+                               wprintf(_("Automatically grant room-aide status to users who create private rooms"));
+                               wprintf("</TD><TD>");
+                               wprintf("<input type=\"checkbox\" NAME=\"c_creataide\" VALUE=\"yes\" %s>",
+                                       ((atoi(buf) != 0) ? "CHECKED" : ""));
                                wprintf("</TD></TR>\n");
                        }
                        else {
-                               wprintf("<INPUT TYPE=\"hidden\" NAME=\"c_creataide\" VALUE=\"%s\">", buf);
+                               wprintf("<input type=\"hidden\" NAME=\"c_creataide\" VALUE=\"%s\">", buf);
                        }
                        break;
                case 6:
                        if (!strcasecmp(whichmenu, "tuning")) {
-                               wprintf("<TR><TD>Server connection idle timeout (in seconds)</TD><TD>");
-                               wprintf("<INPUT TYPE=\"text\" NAME=\"c_sleeping\" MAXLENGTH=\"15\" VALUE=\"%s\">", buf);
+                               wprintf("<TR><TD>");
+                               wprintf(_("Server connection idle timeout (in seconds)"));
+                               wprintf("</TD><TD>");
+                               wprintf("<input type=\"text\" NAME=\"c_sleeping\" MAXLENGTH=\"15\" VALUE=\"%s\">", buf);
                                wprintf("</TD></TR>\n");
                        }
                        else {
-                               wprintf("<INPUT TYPE=\"hidden\" NAME=\"c_sleeping\" VALUE=\"%s\">", buf);
+                               wprintf("<input type=\"hidden\" NAME=\"c_sleeping\" VALUE=\"%s\">", buf);
                        }
                        break;
                case 7:
                        if (!strcasecmp(whichmenu, "access")) {
-                               wprintf("<TR><TD>Initial access level for new users</TD><TD>");
+                               wprintf("<TR><TD>");
+                               wprintf(_("Initial access level for new users"));
+                               wprintf("</TD><TD>");
                                wprintf("<SELECT NAME=\"c_initax\" SIZE=\"1\">\n");
                                for (j=0; j<=6; ++j) {
                                        wprintf("<OPTION %s VALUE=\"%d\">%d - %s</OPTION>\n",
@@ -269,122 +276,149 @@ void display_siteconfig(void)
                                wprintf("</TD></TR>\n");
                        }
                        else {
-                               wprintf("<INPUT TYPE=\"hidden\" NAME=\"c_initax\" VALUE=\"%s\">", buf);
+                               wprintf("<input type=\"hidden\" NAME=\"c_initax\" VALUE=\"%s\">", buf);
                        }
                        break;
                case 8:
                        if (!strcasecmp(whichmenu, "access")) {
-                               wprintf("<TR><TD>Require registration for new users</TD><TD>");
-                               wprintf("<INPUT TYPE=\"checkbox\" NAME=\"c_regiscall\" VALUE=\"yes\" %s>", ((atoi(buf) != 0) ? "CHECKED" : ""));
+                               wprintf("<TR><TD>");
+                               wprintf(_("Require registration for new users"));
+                               wprintf("</TD><TD>");
+                               wprintf("<input type=\"checkbox\" NAME=\"c_regiscall\" VALUE=\"yes\" %s>",
+                                       ((atoi(buf) != 0) ? "CHECKED" : ""));
                                wprintf("</TD></TR>\n");
                        }
                        else {
-                               wprintf("<INPUT TYPE=\"hidden\" NAME=\"c_regiscall\" VALUE=\"%s\">", buf);
+                               wprintf("<input type=\"hidden\" NAME=\"c_regiscall\" VALUE=\"%s\">", buf);
                        }
                        break;
                case 9:
                        if (!strcasecmp(whichmenu, "access")) {
-                               wprintf("<TR><TD>Quarantine messages from problem users</TD><TD>");
-                               wprintf("<INPUT TYPE=\"checkbox\" NAME=\"c_twitdetect\" VALUE=\"yes\" %s>", ((atoi(buf) != 0) ? "CHECKED" : ""));
+                               wprintf("<TR><TD>");
+                               wprintf(_("Quarantine messages from problem users"));
+                               wprintf("</TD><TD>");
+                               wprintf("<input type=\"checkbox\" NAME=\"c_twitdetect\" VALUE=\"yes\" %s>",
+                                       ((atoi(buf) != 0) ? "CHECKED" : ""));
                                wprintf("</TD></TR>\n");
                        }
                        else {
-                               wprintf("<INPUT TYPE=\"hidden\" NAME=\"c_twitdetect\" VALUE=\"%s\">", buf);
+                               wprintf("<input type=\"hidden\" NAME=\"c_twitdetect\" VALUE=\"%s\">", buf);
                        }
                        break;
                case 10:
                        if (!strcasecmp(whichmenu, "access")) {
-                               wprintf("<TR><TD>Name of quarantine room</TD><TD>");
-                               wprintf("<INPUT TYPE=\"text\" NAME=\"c_twitroom\" MAXLENGTH=\"63\" VALUE=\"%s\">", buf);
+                               wprintf("<TR><TD>");
+                               wprintf(_("Name of quarantine room"));
+                               wprintf("</TD><TD>");
+                               wprintf("<input type=\"text\" NAME=\"c_twitroom\" MAXLENGTH=\"63\" VALUE=\"%s\">", buf);
                                wprintf("</TD></TR>\n");
                        }
                        else {
-                               wprintf("<INPUT TYPE=\"hidden\" NAME=\"c_twitroom\" VALUE=\"%s\">", buf);
+                               wprintf("<input type=\"hidden\" NAME=\"c_twitroom\" VALUE=\"%s\">", buf);
                        }
                        break;
                case 11:
                        if (!strcasecmp(whichmenu, "general")) {
-                               wprintf("<TR><TD>Paginator prompt (for text mode clients)</TD><TD>");
-                               wprintf("<INPUT TYPE=\"text\" NAME=\"c_moreprompt\" MAXLENGTH=\"79\" VALUE=\"%s\">", buf);
+                               wprintf("<TR><TD>");
+                               wprintf(_("Paginator prompt (for text mode clients)"));
+                               wprintf("</TD><TD>");
+                               wprintf("<input type=\"text\" NAME=\"c_moreprompt\" MAXLENGTH=\"79\" VALUE=\"%s\">", buf);
                                wprintf("</TD></TR>\n");
                        }
                        else {
-                               wprintf("<INPUT TYPE=\"hidden\" NAME=\"c_moreprompt\" VALUE=\"%s\">", buf);
+                               wprintf("<input type=\"hidden\" NAME=\"c_moreprompt\" VALUE=\"%s\">", buf);
                        }
                        break;
                case 12:
                        if (!strcasecmp(whichmenu, "access")) {
-                               wprintf("<TR><TD>Restrict access to Internet mail</TD><TD>");
-                               wprintf("<INPUT TYPE=\"checkbox\" NAME=\"c_restrict\" VALUE=\"yes\" %s>", ((atoi(buf) != 0) ? "CHECKED" : ""));
+                               wprintf("<TR><TD>");
+                               wprintf(_("Restrict access to Internet mail"));
+                               wprintf("</TD><TD>");
+                               wprintf("<input type=\"checkbox\" NAME=\"c_restrict\" VALUE=\"yes\" %s>",
+                                       ((atoi(buf) != 0) ? "CHECKED" : ""));
                                wprintf("</TD></TR>\n");
                        }
                        else {
-                               wprintf("<INPUT TYPE=\"hidden\" NAME=\"c_restrict\" VALUE=\"%s\">", buf);
+                               wprintf("<input type=\"hidden\" NAME=\"c_restrict\" VALUE=\"%s\">", buf);
                        }
                        break;
                case 13:
                        if (!strcasecmp(whichmenu, "general")) {
-                               wprintf("<TR><TD>Geographic location of this system</TD><TD>");
-                               wprintf("<INPUT TYPE=\"text\" NAME=\"c_bbs_city\" MAXLENGTH=\"31\" VALUE=\"%s\">", buf);
+                               wprintf("<TR><TD>");
+                               wprintf(_("Geographic location of this system"));
+                               wprintf("</TD><TD>");
+                               wprintf("<input type=\"text\" NAME=\"c_bbs_city\" MAXLENGTH=\"31\" VALUE=\"%s\">", buf);
                                wprintf("</TD></TR>\n");
                        }
                        else {
-                               wprintf("<INPUT TYPE=\"hidden\" NAME=\"c_bbs_city\" VALUE=\"%s\">", buf);
+                               wprintf("<input type=\"hidden\" NAME=\"c_bbs_city\" VALUE=\"%s\">", buf);
                        }
                        break;
                case 14:
                        if (!strcasecmp(whichmenu, "general")) {
-                               wprintf("<TR><TD>Name of system administrator</TD><TD>");
-                               wprintf("<INPUT TYPE=\"text\" NAME=\"c_sysadm\" MAXLENGTH=\"25\" VALUE=\"%s\">", buf);
+                               wprintf("<TR><TD>");
+                               wprintf(_("Name of system administrator"));
+                               wprintf("</TD><TD>");
+                               wprintf("<input type=\"text\" NAME=\"c_sysadm\" MAXLENGTH=\"25\" VALUE=\"%s\">", buf);
                                wprintf("</TD></TR>\n");
                        }
                        else {
-                               wprintf("<INPUT TYPE=\"hidden\" NAME=\"c_sysadm\" VALUE=\"%s\">", buf);
+                               wprintf("<input type=\"hidden\" NAME=\"c_sysadm\" VALUE=\"%s\">", buf);
                        }
                        break;
                case 15:
                        if (!strcasecmp(whichmenu, "tuning")) {
-                               wprintf("<TR><TD>Maximum concurrent sessions (0 = no limit)</TD><TD>");
-                               wprintf("<INPUT TYPE=\"text\" NAME=\"c_maxsessions\" MAXLENGTH=\"5\" VALUE=\"%s\">", buf);
+                               wprintf("<TR><TD>");
+                               wprintf(_("Maximum concurrent sessions (0 = no limit)"));
+                               wprintf("</TD><TD>");
+                               wprintf("<input type=\"text\" NAME=\"c_maxsessions\" MAXLENGTH=\"5\" VALUE=\"%s\">", buf);
                                wprintf("</TD></TR>\n");
                        }
                        else {
-                               wprintf("<INPUT TYPE=\"hidden\" NAME=\"c_maxsessions\" VALUE=\"%s\">", buf);
+                               wprintf("<input type=\"hidden\" NAME=\"c_maxsessions\" VALUE=\"%s\">", buf);
                        }
                        break;
                case 17:
                        if (!strcasecmp(whichmenu, "tuning")) {
-                               wprintf("<TR><TD>Default user purge time (days)</TD><TD>");
-                               wprintf("<INPUT TYPE=\"text\" NAME=\"c_userpurge\" MAXLENGTH=\"5\" VALUE=\"%s\">", buf);
+                               wprintf("<TR><TD>");
+                               wprintf(_("Default user purge time (days)"));
+                               wprintf("</TD><TD>");
+                               wprintf("<input type=\"text\" NAME=\"c_userpurge\" MAXLENGTH=\"5\" VALUE=\"%s\">", buf);
                                wprintf("</TD></TR>\n");
                        }
                        else {
-                               wprintf("<INPUT TYPE=\"hidden\" NAME=\"c_userpurge\" VALUE=\"%s\">", buf);
+                               wprintf("<input type=\"hidden\" NAME=\"c_userpurge\" VALUE=\"%s\">", buf);
                        }
                        break;
                case 18:
                        if (!strcasecmp(whichmenu, "tuning")) {
-                               wprintf("<TR><TD>Default room purge time (days)</TD><TD>");
-                               wprintf("<INPUT TYPE=\"text\" NAME=\"c_roompurge\" MAXLENGTH=\"5\" VALUE=\"%s\">", buf);
+                               wprintf("<TR><TD>");
+                               wprintf(_("Default room purge time (days)"));
+                               wprintf("</TD><TD>");
+                               wprintf("<input type=\"text\" NAME=\"c_roompurge\" MAXLENGTH=\"5\" VALUE=\"%s\">", buf);
                                wprintf("</TD></TR>\n");
                        }
                        else {
-                               wprintf("<INPUT TYPE=\"hidden\" NAME=\"c_roompurge\" VALUE=\"%s\">", buf);
+                               wprintf("<input type=\"hidden\" NAME=\"c_roompurge\" VALUE=\"%s\">", buf);
                        }
                        break;
                case 19:
                        if (!strcasecmp(whichmenu, "access")) {
-                               wprintf("<TR><TD>Name of room to log pages</TD><TD>");
-                               wprintf("<INPUT TYPE=\"text\" NAME=\"c_logpages\" MAXLENGTH=\"63\" VALUE=\"%s\">", buf);
+                               wprintf("<TR><TD>");
+                               wprintf(_("Name of room to log pages"));
+                               wprintf("</TD><TD>");
+                               wprintf("<input type=\"text\" NAME=\"c_logpages\" MAXLENGTH=\"63\" VALUE=\"%s\">", buf);
                                wprintf("</TD></TR>\n");
                        }
                        else {
-                               wprintf("<INPUT TYPE=\"hidden\" NAME=\"c_logpages\" VALUE=\"%s\">", buf);
+                               wprintf("<input type=\"hidden\" NAME=\"c_logpages\" VALUE=\"%s\">", buf);
                        }
                        break;
                case 20:
                        if (!strcasecmp(whichmenu, "access")) {
-                               wprintf("<TR><TD>Access level required to create rooms</TD><TD>");
+                               wprintf("<TR><TD>");
+                               wprintf(_("Access level required to create rooms"));
+                               wprintf("</TD><TD>");
                                wprintf("<SELECT NAME=\"c_createax\" SIZE=\"1\">\n");
                                for (j=0; j<=6; ++j) {
                                        wprintf("<OPTION %s VALUE=\"%d\">%d - %s</OPTION>\n",
@@ -396,105 +430,127 @@ void display_siteconfig(void)
                                wprintf("</TD></TR>\n");
                        }
                        else {
-                               wprintf("<INPUT TYPE=\"hidden\" NAME=\"c_createax\" VALUE=\"%s\">", buf);
+                               wprintf("<input type=\"hidden\" NAME=\"c_createax\" VALUE=\"%s\">", buf);
                        }
                        break;
                case 21:
                        if (!strcasecmp(whichmenu, "tuning")) {
-                               wprintf("<TR><TD>Maximum message length</TD><TD>");
-                               wprintf("<INPUT TYPE=\"text\" NAME=\"c_maxmsglen\" MAXLENGTH=\"20\" VALUE=\"%s\">", buf);
+                               wprintf("<TR><TD>");
+                               wprintf(_("Maximum message length"));
+                               wprintf("</TD><TD>");
+                               wprintf("<input type=\"text\" NAME=\"c_maxmsglen\" MAXLENGTH=\"20\" VALUE=\"%s\">", buf);
                                wprintf("</TD></TR>\n");
                        }
                        else {
-                               wprintf("<INPUT TYPE=\"hidden\" NAME=\"c_maxmsglen\" VALUE=\"%s\">", buf);
+                               wprintf("<input type=\"hidden\" NAME=\"c_maxmsglen\" VALUE=\"%s\">", buf);
                        }
                        break;
                case 22:
                        if (!strcasecmp(whichmenu, "tuning")) {
-                               wprintf("<TR><TD>Minimum number of worker threads</TD><TD>");
-                               wprintf("<INPUT TYPE=\"text\" NAME=\"c_min_workers\" MAXLENGTH=\"5\" VALUE=\"%s\">", buf);
+                               wprintf("<TR><TD>");
+                               wprintf(_("Minimum number of worker threads"));
+                               wprintf("</TD><TD>");
+                               wprintf("<input type=\"text\" NAME=\"c_min_workers\" MAXLENGTH=\"5\" VALUE=\"%s\">", buf);
                                wprintf("</TD></TR>\n");
                        }
                        else {
-                               wprintf("<INPUT TYPE=\"hidden\" NAME=\"c_min_workers\" VALUE=\"%s\">", buf);
+                               wprintf("<input type=\"hidden\" NAME=\"c_min_workers\" VALUE=\"%s\">", buf);
                        }
                        break;
                case 23:
                        if (!strcasecmp(whichmenu, "tuning")) {
-                               wprintf("<TR><TD>Maximum number of worker threads</TD><TD>");
-                               wprintf("<INPUT TYPE=\"text\" NAME=\"c_max_workers\" MAXLENGTH=\"5\" VALUE=\"%s\">", buf);
+                               wprintf("<TR><TD>");
+                               wprintf(_("Maximum number of worker threads"));
+                               wprintf("</TD><TD>");
+                               wprintf("<input type=\"text\" NAME=\"c_max_workers\" MAXLENGTH=\"5\" VALUE=\"%s\">", buf);
                                wprintf("</TD></TR>\n");
                        }
                        else {
-                               wprintf("<INPUT TYPE=\"hidden\" NAME=\"c_max_workers\" VALUE=\"%s\">", buf);
+                               wprintf("<input type=\"hidden\" NAME=\"c_max_workers\" VALUE=\"%s\">", buf);
                        }
                        break;
                case 24:
                        if (!strcasecmp(whichmenu, "network")) {
-                               wprintf("<TR><TD>POP3 listener port (-1 to disable)</TD><TD>");
-                               wprintf("<INPUT TYPE=\"text\" NAME=\"c_pop3_port\" MAXLENGTH=\"5\" VALUE=\"%s\">", buf);
+                               wprintf("<TR><TD>");
+                               wprintf(_("POP3 listener port (-1 to disable)"));
+                               wprintf("</TD><TD>");
+                               wprintf("<input type=\"text\" NAME=\"c_pop3_port\" MAXLENGTH=\"5\" VALUE=\"%s\">", buf);
                                wprintf("</TD></TR>\n");
                        }
                        else {
-                               wprintf("<INPUT TYPE=\"hidden\" NAME=\"c_pop3_port\" VALUE=\"%s\">", buf);
+                               wprintf("<input type=\"hidden\" NAME=\"c_pop3_port\" VALUE=\"%s\">", buf);
                        }
                        break;
                case 25:
                        if (!strcasecmp(whichmenu, "network")) {
-                               wprintf("<TR><TD>SMTP MTA port (-1 to disable)</TD><TD>");
-                               wprintf("<INPUT TYPE=\"text\" NAME=\"c_smtp_port\" MAXLENGTH=\"5\" VALUE=\"%s\">", buf);
+                               wprintf("<TR><TD>");
+                               wprintf(_("SMTP MTA port (-1 to disable)"));
+                               wprintf("</TD><TD>");
+                               wprintf("<input type=\"text\" NAME=\"c_smtp_port\" MAXLENGTH=\"5\" VALUE=\"%s\">", buf);
                                wprintf("</TD></TR>\n");
                        }
                        else {
-                               wprintf("<INPUT TYPE=\"hidden\" NAME=\"c_smtp_port\" VALUE=\"%s\">", buf);
+                               wprintf("<input type=\"hidden\" NAME=\"c_smtp_port\" VALUE=\"%s\">", buf);
                        }
                        break;
                case 27:
                        if (!strcasecmp(whichmenu, "access")) {
-                               wprintf("<TR><TD>Allow aides to zap (forget) rooms</TD><TD>");
-                               wprintf("<INPUT TYPE=\"checkbox\" NAME=\"c_aide_zap\" VALUE=\"yes\" %s>", ((atoi(buf) != 0) ? "CHECKED" : ""));
+                               wprintf("<TR><TD>");
+                               wprintf(_("Allow aides to zap (forget) rooms"));
+                               wprintf("</TD><TD>");
+                               wprintf("<input type=\"checkbox\" NAME=\"c_aide_zap\" VALUE=\"yes\" %s>",
+                                       ((atoi(buf) != 0) ? "CHECKED" : ""));
                                wprintf("</TD></TR>\n");
                        }
                        else {
-                               wprintf("<INPUT TYPE=\"hidden\" NAME=\"c_aide_zap\" VALUE=\"%s\">", buf);
+                               wprintf("<input type=\"hidden\" NAME=\"c_aide_zap\" VALUE=\"%s\">", buf);
                        }
                        break;
                case 28:
                        if (!strcasecmp(whichmenu, "network")) {
-                               wprintf("<TR><TD>IMAP listener port (-1 to disable)</TD><TD>");
-                               wprintf("<INPUT TYPE=\"text\" NAME=\"c_imap_port\" MAXLENGTH=\"5\" VALUE=\"%s\">", buf);
+                               wprintf("<TR><TD>");
+                               wprintf(_("IMAP listener port (-1 to disable)"));
+                               wprintf("</TD><TD>");
+                               wprintf("<input type=\"text\" NAME=\"c_imap_port\" MAXLENGTH=\"5\" VALUE=\"%s\">", buf);
                                wprintf("</TD></TR>\n");
                        }
                        else {
-                               wprintf("<INPUT TYPE=\"hidden\" NAME=\"c_imap_port\" VALUE=\"%s\">", buf);
+                               wprintf("<input type=\"hidden\" NAME=\"c_imap_port\" VALUE=\"%s\">", buf);
                        }
                        break;
                case 29:
                        if (!strcasecmp(whichmenu, "network")) {
-                               wprintf("<TR><TD>Network run frequency (in seconds)</TD><TD>");
-                               wprintf("<INPUT TYPE=\"text\" NAME=\"c_net_freq\" MAXLENGTH=\"5\" VALUE=\"%s\">", buf);
+                               wprintf("<TR><TD>");
+                               wprintf(_("Network run frequency (in seconds)"));
+                               wprintf("</TD><TD>");
+                               wprintf("<input type=\"text\" NAME=\"c_net_freq\" MAXLENGTH=\"5\" VALUE=\"%s\">", buf);
                                wprintf("</TD></TR>\n");
                        }
                        else {
-                               wprintf("<INPUT TYPE=\"hidden\" NAME=\"c_net_freq\" VALUE=\"%s\">", buf);
+                               wprintf("<input type=\"hidden\" NAME=\"c_net_freq\" VALUE=\"%s\">", buf);
                        }
                        break;
                case 30:
                        if (!strcasecmp(whichmenu, "access")) {
-                               wprintf("<TR><TD>Disable self-service user account creation</TD><TD>");
-                               wprintf("<INPUT TYPE=\"checkbox\" NAME=\"c_disable_newu\" VALUE=\"yes\" %s>", ((atoi(buf) != 0) ? "CHECKED" : ""));
+                               wprintf("<TR><TD>");
+                               wprintf(_("Disable self-service user account creation"));
+                               wprintf("</TD><TD>");
+                               wprintf("<input type=\"checkbox\" NAME=\"c_disable_newu\" VALUE=\"yes\" %s>",
+                                       ((atoi(buf) != 0) ? "CHECKED" : ""));
                                wprintf("</TD></TR>\n");
                        }
                        else {
-                               wprintf("<INPUT TYPE=\"hidden\" NAME=\"c_disable_newu\" VALUE=\"%s\">", buf);
+                               wprintf("<input type=\"hidden\" NAME=\"c_disable_newu\" VALUE=\"%s\">", buf);
                        }
                        break;
                case 31:
-                       /* niu */
+                       /* position 31 is no longer in use */
                        break;
                case 32:
                        if (!strcasecmp(whichmenu, "purger")) {
-                               wprintf("<TR><TD>Hour to run database auto-purge</TD><TD>");
+                               wprintf("<TR><TD>");
+                               wprintf(_("Hour to run database auto-purge"));
+                               wprintf("</TD><TD>");
                                wprintf("<SELECT NAME=\"c_purge_hour\" SIZE=\"1\">\n");
                                for (j=0; j<=23; ++j) {
                                        wprintf("<OPTION %s VALUE=\"%d\">%d:00%s</OPTION>\n",
@@ -508,147 +564,180 @@ void display_siteconfig(void)
                                wprintf("</TD></TR>\n");
                        }
                        else {
-                               wprintf("<INPUT TYPE=\"hidden\" NAME=\"c_purge_hour\" VALUE=\"%s\">", buf);
+                               wprintf("<input type=\"hidden\" NAME=\"c_purge_hour\" VALUE=\"%s\">", buf);
                        }
                        break;
                case 33:
                        if ( (serv_info.serv_supports_ldap) && (!strcasecmp(whichmenu, "ldap")) ) {
-                               wprintf("<TR><TD>Host name of LDAP server (blank to disable)</TD><TD>");
-                               wprintf("<INPUT TYPE=\"text\" NAME=\"c_ldap_host\" MAXLENGTH=\"127\" VALUE=\"%s\">", buf);
+                               wprintf("<TR><TD>");
+                               wprintf(_("Host name of LDAP server (blank to disable)"));
+                               wprintf("</TD><TD>");
+                               wprintf("<input type=\"text\" NAME=\"c_ldap_host\" MAXLENGTH=\"127\" VALUE=\"%s\">", buf);
                                wprintf("</TD></TR>\n");
                        }
                        else {
-                               wprintf("<INPUT TYPE=\"hidden\" NAME=\"c_ldap_host\" VALUE=\"%s\">", buf);
+                               wprintf("<input type=\"hidden\" NAME=\"c_ldap_host\" VALUE=\"%s\">", buf);
                        }
                        break;
                case 34:
                        if ( (serv_info.serv_supports_ldap) && (!strcasecmp(whichmenu, "ldap")) ) {
-                               wprintf("<TR><TD>Port number of LDAP server (blank to disable)</TD><TD>");
-                               wprintf("<INPUT TYPE=\"text\" NAME=\"c_ldap_port\" MAXLENGTH=\"127\" VALUE=\"%d\">", atoi(buf));
+                               wprintf("<TR><TD>");
+                               wprintf(_("Port number of LDAP server (blank to disable)"));
+                               wprintf("</TD><TD>");
+                               wprintf("<input type=\"text\" NAME=\"c_ldap_port\" MAXLENGTH=\"127\" VALUE=\"%d\">", atoi(buf));
                                wprintf("</TD></TR>\n");
                        }
                        else {
-                               wprintf("<INPUT TYPE=\"hidden\" NAME=\"c_ldap_port\" VALUE=\"%d\">", atoi(buf));
+                               wprintf("<input type=\"hidden\" NAME=\"c_ldap_port\" VALUE=\"%d\">", atoi(buf));
                        }
                        break;
                case 35:
                        if ( (serv_info.serv_supports_ldap) && (!strcasecmp(whichmenu, "ldap")) ) {
-                               wprintf("<TR><TD>Base DN</TD><TD>");
-                               wprintf("<INPUT TYPE=\"text\" NAME=\"c_ldap_base_dn\" MAXLENGTH=\"255\" VALUE=\"%s\">", buf);
+                               wprintf("<TR><TD>");
+                               wprintf(_("Base DN"));
+                               wprintf("</TD><TD>");
+                               wprintf("<input type=\"text\" NAME=\"c_ldap_base_dn\" MAXLENGTH=\"255\" VALUE=\"%s\">", buf);
                                wprintf("</TD></TR>\n");
                        }
                        else {
-                               wprintf("<INPUT TYPE=\"hidden\" NAME=\"c_ldap_base_dn\" VALUE=\"%s\">", buf);
+                               wprintf("<input type=\"hidden\" NAME=\"c_ldap_base_dn\" VALUE=\"%s\">", buf);
                        }
                        break;
                case 36:
                        if ( (serv_info.serv_supports_ldap) && (!strcasecmp(whichmenu, "ldap")) ) {
-                               wprintf("<TR><TD>Bind DN</TD><TD>");
-                               wprintf("<INPUT TYPE=\"text\" NAME=\"c_ldap_bind_dn\" MAXLENGTH=\"255\" VALUE=\"%s\">", buf);
+                               wprintf("<TR><TD>");
+                               wprintf(_("Bind DN"));
+                               wprintf("</TD><TD>");
+                               wprintf("<input type=\"text\" NAME=\"c_ldap_bind_dn\" MAXLENGTH=\"255\" VALUE=\"%s\">", buf);
                                wprintf("</TD></TR>\n");
                        }
                        else {
-                               wprintf("<INPUT TYPE=\"hidden\" NAME=\"c_ldap_bind_dn\" VALUE=\"%s\">", buf);
+                               wprintf("<input type=\"hidden\" NAME=\"c_ldap_bind_dn\" VALUE=\"%s\">", buf);
                        }
                        break;
                case 37:
                        if ( (serv_info.serv_supports_ldap) && (!strcasecmp(whichmenu, "ldap")) ) {
-                               wprintf("<TR><TD>Password for bind DN</TD><TD>");
-                               wprintf("<INPUT TYPE=\"password\" NAME=\"c_ldap_bind_pw\" MAXLENGTH=\"255\" VALUE=\"%s\">", buf);
+                               wprintf("<TR><TD>");
+                               wprintf(_("Password for bind DN"));
+                               wprintf("</TD><TD>");
+                               wprintf("<input type=\"password\" NAME=\"c_ldap_bind_pw\" MAXLENGTH=\"255\" VALUE=\"%s\">",
+                                       buf);
                                wprintf("</TD></TR>\n");
                        }
                        else {
-                               wprintf("<INPUT TYPE=\"hidden\" NAME=\"c_ldap_bind_pw\" VALUE=\"%s\">", buf);
+                               wprintf("<input type=\"hidden\" NAME=\"c_ldap_bind_pw\" VALUE=\"%s\">", buf);
                        }
                        break;
                case 38:
                        if (!strcasecmp(whichmenu, "network")) {
-                               wprintf("<TR><TD>Server IP address (0.0.0.0 for 'any')</TD><TD>");
-                               wprintf("<INPUT TYPE=\"text\" NAME=\"c_ip_addr\" MAXLENGTH=\"15\" VALUE=\"%s\">", buf);
+                               wprintf("<TR><TD>");
+                               wprintf(_("Server IP address (0.0.0.0 for 'any')"));
+                               wprintf("</TD><TD>");
+                               wprintf("<input type=\"text\" NAME=\"c_ip_addr\" MAXLENGTH=\"15\" VALUE=\"%s\">", buf);
                                wprintf("</TD></TR>\n");
                        }
                        else {
-                               wprintf("<INPUT TYPE=\"hidden\" NAME=\"c_ip_addr\" VALUE=\"%s\">", buf);
+                               wprintf("<input type=\"hidden\" NAME=\"c_ip_addr\" VALUE=\"%s\">", buf);
                        }
                        break;
                case 39:
                        if (!strcasecmp(whichmenu, "network")) {
-                               wprintf("<TR><TD>SMTP MSA port (-1 to disable)</TD><TD>");
-                               wprintf("<INPUT TYPE=\"text\" NAME=\"c_msa_port\" MAXLENGTH=\"5\" VALUE=\"%s\">", buf);
+                               wprintf("<TR><TD>");
+                               wprintf(_("SMTP MSA port (-1 to disable)"));
+                               wprintf("</TD><TD>");
+                               wprintf("<input type=\"text\" NAME=\"c_msa_port\" MAXLENGTH=\"5\" VALUE=\"%s\">", buf);
                                wprintf("</TD></TR>\n");
                        }
                        else {
-                               wprintf("<INPUT TYPE=\"hidden\" NAME=\"c_msa_port\" VALUE=\"%s\">", buf);
+                               wprintf("<input type=\"hidden\" NAME=\"c_msa_port\" VALUE=\"%s\">", buf);
                        }
                        break;
                case 40:
                        if (!strcasecmp(whichmenu, "network")) {
-                               wprintf("<TR><TD>IMAP over SSL port (-1 to disable)</TD><TD>");
-                               wprintf("<INPUT TYPE=\"text\" NAME=\"c_imaps_port\" MAXLENGTH=\"5\" VALUE=\"%s\">", buf);
+                               wprintf("<TR><TD>");
+                               wprintf(_("IMAP over SSL port (-1 to disable)"));
+                               wprintf("</TD><TD>");
+                               wprintf("<input type=\"text\" NAME=\"c_imaps_port\" MAXLENGTH=\"5\" VALUE=\"%s\">", buf);
                                wprintf("</TD></TR>\n");
                        }
                        else {
-                               wprintf("<INPUT TYPE=\"hidden\" NAME=\"c_imaps_port\" VALUE=\"%s\">", buf);
+                               wprintf("<input type=\"hidden\" NAME=\"c_imaps_port\" VALUE=\"%s\">", buf);
                        }
                        break;
                case 41:
                        if (!strcasecmp(whichmenu, "network")) {
-                               wprintf("<TR><TD>POP3 over SSL port (-1 to disable)</TD><TD>");
-                               wprintf("<INPUT TYPE=\"text\" NAME=\"c_pop3s_port\" MAXLENGTH=\"5\" VALUE=\"%s\">", buf);
+                               wprintf("<TR><TD>");
+                               wprintf(_("POP3 over SSL port (-1 to disable)"));
+                               wprintf("</TD><TD>");
+                               wprintf("<input type=\"text\" NAME=\"c_pop3s_port\" MAXLENGTH=\"5\" VALUE=\"%s\">", buf);
                                wprintf("</TD></TR>\n");
                        }
                        else {
-                               wprintf("<INPUT TYPE=\"hidden\" NAME=\"c_pop3s_port\" VALUE=\"%s\">", buf);
+                               wprintf("<input type=\"hidden\" NAME=\"c_pop3s_port\" VALUE=\"%s\">", buf);
                        }
                        break;
                case 42:
                        if (!strcasecmp(whichmenu, "network")) {
-                               wprintf("<TR><TD>SMTP over SSL port (-1 to disable)</TD><TD>");
-                               wprintf("<INPUT TYPE=\"text\" NAME=\"c_smtps_port\" MAXLENGTH=\"5\" VALUE=\"%s\">", buf);
+                               wprintf("<TR><TD>");
+                               wprintf(_("SMTP over SSL port (-1 to disable)"));
+                               wprintf("</TD><TD>");
+                               wprintf("<input type=\"text\" NAME=\"c_smtps_port\" MAXLENGTH=\"5\" VALUE=\"%s\">", buf);
                                wprintf("</TD></TR>\n");
                        }
                        else {
-                               wprintf("<INPUT TYPE=\"hidden\" NAME=\"c_smtps_port\" VALUE=\"%s\">", buf);
+                               wprintf("<input type=\"hidden\" NAME=\"c_smtps_port\" VALUE=\"%s\">", buf);
                        }
                        break;
                case 43:
                        if (!strcasecmp(whichmenu, "general")) {
-                               wprintf("<TR><TD>Enable full text index (warning: resource intensive)</TD><TD>");
-                               wprintf("<INPUT TYPE=\"checkbox\" NAME=\"c_enable_fulltext\" VALUE=\"yes\" %s>", ((atoi(buf) != 0) ? "CHECKED" : ""));
+                               wprintf("<TR><TD>");
+                               wprintf(_("Enable full text index (warning: resource intensive)"));
+                               wprintf("</TD><TD>");
+                               wprintf("<input type=\"checkbox\" NAME=\"c_enable_fulltext\" VALUE=\"yes\" %s>",
+                                       ((atoi(buf) != 0) ? "CHECKED" : ""));
                                wprintf("</TD></TR>\n");
                        }
                        else {
-                               wprintf("<INPUT TYPE=\"hidden\" NAME=\"c_enable_fulltext\" VALUE=\"%s\">", buf);
+                               wprintf("<input type=\"hidden\" NAME=\"c_enable_fulltext\" VALUE=\"%s\">", buf);
                        }
                        break;
                case 44:
                        if (!strcasecmp(whichmenu, "tuning")) {
-                               wprintf("<TR><TD>Automatically delete committed database logs</TD><TD>");
-                               wprintf("<INPUT TYPE=\"checkbox\" NAME=\"c_auto_cull\" VALUE=\"yes\" %s>", ((atoi(buf) != 0) ? "CHECKED" : ""));
+                               wprintf("<TR><TD>");
+                               wprintf(_("Automatically delete committed database logs"));
+                               wprintf("</TD><TD>");
+                               wprintf("<input type=\"checkbox\" NAME=\"c_auto_cull\" VALUE=\"yes\" %s>",
+                                       ((atoi(buf) != 0) ? "CHECKED" : ""));
                                wprintf("</TD></TR>\n");
                        }
                        else {
-                               wprintf("<INPUT TYPE=\"hidden\" NAME=\"c_auto_cull\" VALUE=\"%s\">", buf);
+                               wprintf("<input type=\"hidden\" NAME=\"c_auto_cull\" VALUE=\"%s\">", buf);
                        }
                        break;
                case 45:
                        if (!strcasecmp(whichmenu, "network")) {
-                               wprintf("<TR><TD>Instantly expunge deleted messages in IMAP</TD><TD>");
-                               wprintf("<INPUT TYPE=\"checkbox\" NAME=\"c_instant_expunge\" VALUE=\"yes\" %s>", ((atoi(buf) != 0) ? "CHECKED" : ""));
+                               wprintf("<TR><TD>");
+                               wprintf(_("Instantly expunge deleted messages in IMAP"));
+                               wprintf("</TD><TD>");
+                               wprintf("<input type=\"checkbox\" NAME=\"c_instant_expunge\" VALUE=\"yes\" %s>",
+                                       ((atoi(buf) != 0) ? "CHECKED" : ""));
                                wprintf("</TD></TR>\n");
                        }
                        else {
-                               wprintf("<INPUT TYPE=\"hidden\" NAME=\"c_instant_expunge\" VALUE=\"%s\">", buf);
+                               wprintf("<input type=\"hidden\" NAME=\"c_instant_expunge\" VALUE=\"%s\">", buf);
                        }
                        break;
                case 46:
                        if (!strcasecmp(whichmenu, "network")) {
-                               wprintf("<TR><TD>Allow unauthenticated SMTP clients to spoof my domains</TD><TD>");
-                               wprintf("<INPUT TYPE=\"checkbox\" NAME=\"c_allow_spoofing\" VALUE=\"yes\" %s>", ((atoi(buf) != 0) ? "CHECKED" : ""));
+                               wprintf("<TR><TD>");
+                               wprintf(_("Allow unauthenticated SMTP clients to spoof this site's domains"));
+                               wprintf("</TD><TD>");
+                               wprintf("<input type=\"checkbox\" NAME=\"c_allow_spoofing\" VALUE=\"yes\" %s>",
+                                       ((atoi(buf) != 0) ? "CHECKED" : ""));
                                wprintf("</TD></TR>\n");
                        }
                        else {
-                               wprintf("<INPUT TYPE=\"hidden\" NAME=\"c_allow_spoofing\" VALUE=\"%s\">", buf);
+                               wprintf("<input type=\"hidden\" NAME=\"c_allow_spoofing\" VALUE=\"%s\">", buf);
                        }
                        break;
                }
@@ -672,53 +761,64 @@ void display_siteconfig(void)
 
                wprintf("<TR><TD COLSPAN=2><hr /></TD></TR>\n");
 
-               wprintf("<TR><TD>Default message expire policy for public rooms</TD><TD>");
-               wprintf("<INPUT TYPE=\"radio\" NAME=\"sitepolicy\" VALUE=\"1\" %s>",
+               wprintf("<TR><TD>");
+               wprintf(_("Default message expire policy for public rooms"));
+               wprintf("</TD><TD>");
+               wprintf("<input type=\"radio\" NAME=\"sitepolicy\" VALUE=\"1\" %s>",
                        ((sitepolicy == 1) ? "CHECKED" : "") );
-               wprintf("Never automatically expire messages<br />\n");
-               wprintf("<INPUT TYPE=\"radio\" NAME=\"sitepolicy\" VALUE=\"2\" %s>",
+               wprintf(_("Never automatically expire messages"));
+               wprintf("<br />\n");
+               wprintf("<input type=\"radio\" NAME=\"sitepolicy\" VALUE=\"2\" %s>",
                        ((sitepolicy == 2) ? "CHECKED" : "") );
-               wprintf("Expire by message count<br />\n");
-               wprintf("<INPUT TYPE=\"radio\" NAME=\"sitepolicy\" VALUE=\"3\" %s>",
+               wprintf(_("Expire by message count"));
+               wprintf("<br />\n");
+               wprintf("<input type=\"radio\" NAME=\"sitepolicy\" VALUE=\"3\" %s>",
                        ((sitepolicy == 3) ? "CHECKED" : "") );
-               wprintf("Expire by message age<br />");
-               wprintf("Number of messages or days: ");
-               wprintf("<INPUT TYPE=\"text\" NAME=\"sitevalue\" MAXLENGTH=\"5\" VALUE=\"%d\">", sitevalue);
+               wprintf(_("Expire by message age"));
+               wprintf("<br />");
+               wprintf(_("Number of messages or days: "));
+               wprintf("<input type=\"text\" NAME=\"sitevalue\" MAXLENGTH=\"5\" VALUE=\"%d\">", sitevalue);
                wprintf("</TD></TR>\n");
 
                wprintf("<TR><TD COLSPAN=2><hr /></TD></TR>\n");
 
-               wprintf("<TR><TD>Default message expire policy for private mailboxes</TD><TD>");
-               wprintf("<INPUT TYPE=\"radio\" NAME=\"mboxpolicy\" VALUE=\"0\" %s>",
+               wprintf("<TR><TD>");
+               wprintf(_("Default message expire policy for private mailboxes"));
+               wprintf("</TD><TD>");
+               wprintf("<input type=\"radio\" NAME=\"mboxpolicy\" VALUE=\"0\" %s>",
                        ((mboxpolicy == 0) ? "CHECKED" : "") );
-               wprintf("Same policy as public rooms<br />\n");
-               wprintf("<INPUT TYPE=\"radio\" NAME=\"mboxpolicy\" VALUE=\"1\" %s>",
+               wprintf(_("Same policy as public rooms"));
+               wprintf("<br />\n");
+               wprintf("<input type=\"radio\" NAME=\"mboxpolicy\" VALUE=\"1\" %s>",
                        ((mboxpolicy == 1) ? "CHECKED" : "") );
-               wprintf("Never automatically expire messages<br />\n");
-               wprintf("<INPUT TYPE=\"radio\" NAME=\"mboxpolicy\" VALUE=\"2\" %s>",
+               wprintf(_("Never automatically expire messages"));
+               wprintf("<br />\n");
+               wprintf("<input type=\"radio\" NAME=\"mboxpolicy\" VALUE=\"2\" %s>",
                        ((mboxpolicy == 2) ? "CHECKED" : "") );
-               wprintf("Expire by message count<br />\n");
-               wprintf("<INPUT TYPE=\"radio\" NAME=\"mboxpolicy\" VALUE=\"3\" %s>",
+               wprintf(_("Expire by message count"));
+               wprintf("<br />\n");
+               wprintf("<input type=\"radio\" NAME=\"mboxpolicy\" VALUE=\"3\" %s>",
                        ((mboxpolicy == 3) ? "CHECKED" : "") );
-               wprintf("Expire by message age<br />");
-               wprintf("Number of messages or days: ");
-               wprintf("<INPUT TYPE=\"text\" NAME=\"mboxvalue\" MAXLENGTH=\"5\" VALUE=\"%d\">", mboxvalue);
+               wprintf(_("Expire by message age"));
+               wprintf("<br />");
+               wprintf(_("Number of messages or days: "));
+               wprintf("<input type=\"text\" NAME=\"mboxvalue\" MAXLENGTH=\"5\" VALUE=\"%d\">", mboxvalue);
                wprintf("</TD></TR>\n");
 
                wprintf("<TR><TD COLSPAN=2><hr /></TD></TR>\n");
 
        }
        else {
-               wprintf("<INPUT TYPE=\"hidden\" NAME=\"sitepolicy\" VALUE=\"%d\">\n", sitepolicy);
-               wprintf("<INPUT TYPE=\"hidden\" NAME=\"sitevalue\" VALUE=\"%d\">\n", sitevalue);
-               wprintf("<INPUT TYPE=\"hidden\" NAME=\"mboxpolicy\" VALUE=\"%d\">\n", mboxpolicy);
-               wprintf("<INPUT TYPE=\"hidden\" NAME=\"mboxvalue\" VALUE=\"%d\">\n", mboxvalue);
+               wprintf("<input type=\"hidden\" NAME=\"sitepolicy\" VALUE=\"%d\">\n", sitepolicy);
+               wprintf("<input type=\"hidden\" NAME=\"sitevalue\" VALUE=\"%d\">\n", sitevalue);
+               wprintf("<input type=\"hidden\" NAME=\"mboxpolicy\" VALUE=\"%d\">\n", mboxpolicy);
+               wprintf("<input type=\"hidden\" NAME=\"mboxvalue\" VALUE=\"%d\">\n", mboxvalue);
        }
 
-       wprintf("</TABLE><div align="center">");
-       wprintf("<INPUT TYPE=\"submit\" NAME=\"sc\" VALUE=\"OK\">");
+       wprintf("</TABLE><div align=\"center\">");
+       wprintf("<input type=\"submit\" NAME=\"ok_button\" VALUE=\"%s\">", _("Save changes"));
        wprintf("&nbsp;");
-       wprintf("<INPUT TYPE=\"submit\" NAME=\"sc\" VALUE=\"Cancel\">\n");
+       wprintf("<input type=\"submit\" NAME=\"cancel_button\" VALUE=\"%s\">\n", _("Cancel"));
        wprintf("</div></FORM>\n");
        wprintf("</td></tr></table></div>\n");
        wDumpContent(1);
@@ -727,9 +827,9 @@ void display_siteconfig(void)
 
 void siteconfig(void)
 {
-       char buf[SIZ];
+       char buf[256];
 
-       if (strcasecmp(bstr("sc"), "OK")) {
+       if (strlen(bstr("ok_button")) == 0) {
                display_siteconfig();
                return;
        }
@@ -793,7 +893,7 @@ void siteconfig(void)
        serv_printf("SPEX mailboxes|%d|%d", atoi(bstr("mboxpolicy")), atoi(bstr("mboxvalue")));
        serv_getln(buf, sizeof buf);
 
-       safestrncpy(WC->ImportantMessage, "System configuration has been updated.",
+       safestrncpy(WC->ImportantMessage, _("Your system configuration has been updated."),
                sizeof WC->ImportantMessage);
        display_siteconfig();
 }