diff -ru ./src/file.c ./hypermail-2b30/src/file.c --- ./src/file.c Sun May 28 18:43:28 2000 +++ ./src/file.c Mon Jan 15 02:40:57 2001 @@ -45,19 +45,15 @@ if (stat(dir, &sbuf)) { if (errno != ENOENT || mkdir(dir, set_dirmode) < 0) { - sprintf(errmsg, "%s \"%s\".", - lang[MSG_CANNOT_CREATE_DIRECTORY], dir); + sprintf(errmsg, _("Can not create directory \"%s\"."), dir); progerr(errmsg); return; } else if (set_showprogress) - printf(" %s \"%s\", %s %o.\n", - lang[MSG_CREATING_DIRECTORY], dir, - lang[MSG_MODE], set_dirmode); + printf(_(" Creating directory \"%s\", mode %o.\n"), dir, set_dirmode); if (chmod(dir, set_dirmode) == -1) { - sprintf(errmsg, "%s \"%s\" to %o.", - lang[MSG_CANNOT_CHMOD], dir, set_dirmode); + sprintf(errmsg, _("Can not chmod \"%s\" to %o."), dir, set_dirmode); progerr(errmsg); } } @@ -84,19 +80,15 @@ *p = '\0'; if (stat(dir, &sbuf)) { if (errno != ENOENT || mkdir(dir, set_dirmode) < 0) { - sprintf(errmsg, "%s \"%s\".", - lang[MSG_CANNOT_CREATE_DIRECTORY], dir); + sprintf(errmsg, _("Can not create directory \"%s\"."), dir); progerr(errmsg); return; } else if (set_showprogress) - printf(" %s \"%s\", %s %o.\n", - lang[MSG_CREATING_DIRECTORY], dir, - lang[MSG_MODE], set_dirmode); + printf(_(" Creating directory \"%s\", mode %o.\n"), dir, set_dirmode); if (chmod(dir, set_dirmode) == -1) { - sprintf(errmsg, "%s \"%s\" to %o.", - lang[MSG_CANNOT_CHMOD], dir, set_dirmode); + sprintf(errmsg, _("Can not chmod \"%s\" to %o."), dir, set_dirmode); progerr(errmsg); } } @@ -243,6 +235,6 @@ ConfigInit(path); if (set_showprogress && !cmd_show_variables) - printf("%s: %s\n", lang[MSG_PATH], path); + printf("path: %s\n", path); } } diff -ru ./src/hypermail.c ./src/hypermail.c --- ./src/hypermail.c Sun May 28 18:43:28 2000 +++ ./src/hypermail.c Mon Jan 15 04:42:39 2001 @@ -44,7 +44,7 @@ void cmderr(char *errorstr) { - fprintf(stderr, "\n%s: %s: %s\n", lang[MSG_ERROR], PROGNAME, errorstr); + fprintf(stderr, _("\nERROR: %s: %s\n"), PROGNAME, errorstr); usage(); unlock_archive(); exit(-1); @@ -106,8 +106,7 @@ void version(void) { - printf("%s: %s: %s %s: %s\n", PROGNAME, - lang[MSG_VERSION], VERSION, lang[MSG_PATCHLEVEL], PATCHLEVEL); + printf(_("%s: Version: %s %s: Patchlevel\n"), PROGNAME, VERSION, PATCHLEVEL); exit(0); } @@ -117,31 +116,31 @@ void usage(void) { - struct language_entry *lte; + struct language_entry * lte; - printf("%s: %s [options]\n", lang[MSG_USAGE], PROGNAME); + printf(_("Usage: %s [options]\n"), PROGNAME); - printf("%s:\n", lang[MSG_OPTIONS]); - printf(" -a URL : %s\n", lang[MSG_OPTION_A]); - printf(" -b URL : %s\n", lang[MSG_OPTION_B]); - printf(" -c file : %s\n", lang[MSG_OPTION_C]); - printf(" -d dir : %s\n", lang[MSG_OPTION_D]); - printf(" -i : %s\n", lang[MSG_OPTION_I]); - printf(" -l label : %s\n", lang[MSG_OPTION_L]); - printf(" -m mbox : %s\n", lang[MSG_OPTION_M]); - printf(" -M : %s\n", "Use metadata"); - printf(" -n listaddr : %s\n", lang[MSG_OPTION_N]); - printf(" -o keyword=val: Set config item\n"); - printf(" -p : %s\n", lang[MSG_OPTION_P]); - printf(" -s htmlsuffix : %s\n", "HTML file suffix (.html, .htm, ..)"); - printf(" -t : %s\n", "Use Tables"); - printf(" -T : %s\n", "Use index tables"); - printf(" -u : %s\n", lang[MSG_OPTION_U]); - printf(" -v : %s\n", lang[MSG_OPTION_VERBOSE]); - printf(" -V : %s\n", lang[MSG_OPTION_VERSION]); - printf(" -x : %s\n", lang[MSG_OPTION_X]); - printf(" -1 : %s\n", lang[MSG_OPTION_1]); - printf(" -L lang : %s (", lang[MSG_OPTION_LANG]); + printf(_("Options:\n")); + printf(_(" -a URL : URL to other archives\n")); + printf(_(" -b URL : URL to archive information\n")); + printf(_(" -c file : Configuration file to read in\n")); + printf(_(" -d dir : The directory to save HTML files in\n")); + printf(_(" -i : Read messages from standard input\n")); + printf(_(" -l label : What to name the output archive\n")); + printf(_(" -m mbox : Mail archive to read in\n")); + printf(_(" -M : Use metadata\n")); + printf(_(" -n listaddr : The submission address of the list\n")); + printf(_(" -o keyword=val: Set config item\n")); + printf(_(" -p : Show progress\n")); + printf(_(" -s htmlsuffix : HTML file suffix (.html, .htm, ..)\n")); + printf(_(" -t : Use Tables\n")); + printf(_(" -T : Use index tables\n")); + printf(_(" -u : Update archive by one article\n")); + printf(_(" -v : Show configuration variables only\n")); + printf(_(" -V : Show version information and exit\n")); + printf(_(" -x : Overwrite previous messages\n")); + printf(_(" -1 : Read only one mail from input\n")); + printf(_(" -L lang : Specify language to use (")); /* Print out languages supported */ lte = <able[0]; @@ -150,9 +149,9 @@ lte++; } printf(")\n"); - printf("%s : %s\n", lang[MSG_VERSION], VERSION); - printf("%s : %s\n", lang[MSG_PATCHLEVEL], PATCHLEVEL); - printf("%s : %s\n\n", lang[MSG_DOCS], HMURL); + printf(_("Version : %s\n"), VERSION); + printf(_("Patchlevel : %s\n"), PATCHLEVEL); + printf(_("Docs : %s\n\n"), HMURL); exit(1); } @@ -160,7 +159,7 @@ { int i, use_stdin, use_mbox; char *configfile = NULL; - char **tlang; + struct message_entry * tlang; int cmd_show_variables; int print_usage; @@ -320,12 +319,14 @@ */ if ((tlang = valid_language(set_language)) == NULL) { - sprintf(errmsg, "\"%s\" %s.", set_language, - lang[MSG_LANGUAGE_NOT_SUPPORTED]); + sprintf(errmsg, _("\"%s\" Language not supported."), set_language); cmderr(errmsg); } lang = tlang; /* A good language, make it so. */ +#ifdef DEBUG_LANG + verify_language(); +#endif if (print_usage) /* Print the usage message and terminate */ usage(); @@ -447,7 +448,7 @@ /* Injecting a little sanity... */ if (use_mbox && use_stdin) { - cmderr(lang[MSG_CANNOT_READ_FROM_BOTH_FILE_AND_STDIN]); + cmderr(_("Cannot read from both file and stdin.")); } gettimezone(); @@ -498,7 +499,7 @@ writeauthors(amount_new); } else { - printf("No mails to output!\n"); + printf(_("No mails to output!\n")); } if (set_uselock) diff -ru ./src/hypermail.h ./src/hypermail.h --- ./src/hypermail.h Sun May 28 18:43:28 2000 +++ ./src/hypermail.h Mon Jan 15 03:22:48 2001 @@ -22,6 +22,9 @@ #ifndef _HYPERMAIL_HYPERMAIL_H #define _HYPERMAIL_HYPERMAIL_H +#define _(x) x +#define N_(x) x + #ifndef MAIN_FILE #define VAR extern #else diff -ru ./src/lang.c ./src/lang.c --- ./src/lang.c Sun May 28 18:43:28 2000 +++ ./src/lang.c Mon Jan 15 04:19:13 2001 @@ -1,10 +1,747 @@ -#ifdef LANG_PROG -#define MAIN_FILE +#include "hypermail.h" + +/* +** English version of the language table +*/ + +struct message_entry en[] = { /* English */ + {"New Message", MSG_NEW_MESSAGE}, + {"Reply", MSG_REPLY}, + {"About this list", MSG_ABOUT_THIS_LIST}, + {"End of Messages", MSG_END_OF_MESSAGES}, + {"Start of Messages", MSG_START_OF_MESSAGES}, + {"Date view", MSG_DATE_VIEW}, + {"Thread view", MSG_THREAD_VIEW}, + {"Subject view", MSG_SUBJECT_VIEW}, + {"Author view", MSG_AUTHOR_VIEW}, + {"Other groups", MSG_OTHER_GROUPS}, + {"Messages", MSG_MESSAGES}, + {"Starting", MSG_STARTING}, + {"Ending", MSG_ENDING}, + {"About this archive", MSG_ABOUT_THIS_ARCHIVE}, + {"sorted by", MSG_SORTED_BY}, + {"Other mail archives", MSG_OTHER_MAIL_ARCHIVES}, + {"By Date", MSG_BY_DATE}, + {"Most recent messages", MSG_MOST_RECENT_MESSAGES}, + {"author", MSG_AUTHOR}, + {"date", MSG_DATE}, + {"thread", MSG_THREAD}, + {"subject", MSG_SUBJECT}, + {"Last message date", MSG_LAST_MESSAGE_DATE}, + {"Archived on", MSG_ARCHIVED_ON}, + {"Next message", MSG_NEXT_MESSAGE}, + {"Previous message", MSG_PREVIOUS_MESSAGE}, + {"Maybe in reply to", MSG_MAYBE_IN_REPLY_TO}, + {"In reply to", MSG_IN_REPLY_TO}, + {"Next in thread", MSG_NEXT_IN_THREAD}, + {"Maybe reply", MSG_MAYBE_REPLY}, + {"By Thread", MSG_BY_THREAD}, + {"By Subject", MSG_BY_SUBJECT}, + {"By Author", MSG_BY_AUTHOR}, + {"Mail actions", MSG_MAIL_ACTIONS}, + {"mail a new topic", MSG_MA_NEW_MESSAGE}, + {"respond to this message", MSG_MA_REPLY}, + {"This archive was generated by", MSG_ARCHIVE_GENERATED_BY}, + {"encoding is not supported, stored as-is", MSG_ENCODING_IS_NOT_SUPPORTED}, + {"messages", MSG_ARTICLES}, + {"attachment", MSG_ATTACHMENT}, + {"Author", MSG_CAUTHOR}, + {"Date", MSG_CDATE}, + {"Subject", MSG_CSUBJECT}, + {NULL, LAST_MSG} +}; + +#if 0 + +/* +** German version of the language table +** Translation by Martin Schulze +*/ + + +char *de[] = { /* German */ + "Neue Nachricht", /* New Message -HTML*/ + "Antwort", /* Reply -HTML*/ + "Über diese Liste", /* About this list -HTML*/ + "Ende der Nachricht", /* End of Messages -HTML*/ + "Anfang der Nachricht", /* Start of Messages -HTML*/ + "Datums-Sicht", /* Date view -HTML*/ + "Thread-Sicht", /* Thread view -HTML*/ + "Subject-Sicht", /* Subject view -HTML*/ + "Autor-Sicht", /* Author view -HTML*/ + "Weitere Gruppen", /* Other groups -HTML*/ + "Nachrichten", /* Messages -HTML*/ + "Anfang", /* Starting -HTML*/ + "Ende", /* Ending -HTML*/ + "Über dieses Archiv", /* About this archive -HTML*/ + "sortiert nach", /* sorted by -HTML*/ + "Weitere Mail-Archive", /* Other mail archives -HTML*/ + "Datum", /* By Date -HTML*/ + "Neueste Nachrichten", /* Most recent messages-HTML*/ + "Autor", /* author -HTML*/ + "Datum", /* date -HTML*/ + "Thread", /* thread -HTML*/ + "Subject", /* subject -HTML*/ + "für Optionen", /* for options -STDOUT*/ + "Schreibe Nachrichten in", /* Writing messages to-STDOUT*/ + "Schreibe Datums-Index in", /* Writing date index to-STDOUT*/ + "Schreibe Thread-Index in", /* Writing thread index to -STDOUT*/ + "Schreibe Subject-Index in", /* Writing subject index to-STDOUT*/ + "Schreibe Autoren-Index in", /* Writing author index to-STDOUT*/ + "Letztes Datum", /* Last message date -HTML*/ + "Archiviert auf", /* Archived on -HTML*/ + "Kann Dateimodus nicht ändern", /* Can not chmod -STDERR*/ + "Kann nicht schreiben", /* Could not write -STDERR*/ + "Nächste Nachricht", /* Next message -HTML*/ + "Vorherige Nachricht", /* Previous message -HTML*/ + "Vielleicht als Antwort auf", /* Maybe in reply to -HTML*/ + "Als Antwort auf", /* In reply to -HTML*/ + "Nächste im Thread", /* Next in thread -HTML*/ + "Eventuelle Antwort", /* Maybe reply -HTML*/ + "Nach Thread", /* By Thread -HTML*/ + "Nach Subject", /* By Subject -HTML*/ + "Nach Autor", /* By Author -HTML*/ + "Kann das Verzeichnis nicht erstellen", /* Can not create directory -STDERR*/ + "Erstelle Verzeichnis", /* Creating directory -STDOUT*/ + "Konfiguration", /* Configuration Values -STDOUT*/ + "Pfad", /* path -STDOUT*/ + "Kein Speicher mehr!", /* Ran out of memory!-STDERR*/ + "Dieses Archiv wurde generiert von", /* This archive was generated by-HTML*/ + "Elemente", /* Elements -STDOUT*/ + "Keine Elemente", /* No Elements -STDOUT*/ + "Kann Mail-Archiv nicht öffnen", /* Cannot open mail archive */ + "Lese neue Header...", /* Reading new header...-STDOUT*/ + "Lade Mailbox", /* Loading mailbox -STDOUT*/ + "Kodierung wird nicht unterstützt, speichere so", + /* encoding is not supported, stored as-is -HTML*/ + "Nachrichten", /* messages -HTML*/ + "Version", /* Version -STDOUT*/ + "Patchlevel", /* Patchlevel -STDOUT*/ + "Dokus", /* Docs -STDOUT*/ + "Befehls- und Kontrollvariablen", /* Command and Control Variables-STDOUT*/ + "Ja", /* Yes -STDOUT*/ + "Nein", /* No -STDOUT*/ + "Über das Archiv: nicht benutzt", /* About the archive: not used-STDOUT */ + "Andere Archive: nicht benutzt", /* Other archives: not used-STDOUT*/ + "Adresse nicht benutzt", /* address not used -STDOUT*/ + "Eingebautes benutzt", /* Builtin statement used-STDOUT*/ + "Kann nicht von Datei und stdin lesen.", /* Cannot read from both file and stdin. -STDERR*/ + "Optionen", /* Options -STDOUT*/ + "URL für weitere Archive", /* URL to other archives -STDOUT*/ + "URL für Informationen über Archiv", + /* URL to archive information -STDOUT*/ + "Konfigurationsdatei zum Einlesen", + /* Configuration file to read in -STDOUT*/ + "Das Verzeichnis, um die HTML-Dateien zu speichern", + /* The directory to save HTML files in -STDOUT*/ + "Lese Nachrichten von der Standard Eingabe", + /* Read messages from standard input -STDOUT*/ + "Wie soll das Archiv genannt werden", + /* What to name the output archive -STDOUT*/ + "Mail-Archive zum Einlesen", /* Mail archive to read in -STDOUT*/ + "Zeige Zwischenbericht", /* Show progress -STDOUT*/ + "Zeigt nur die Konfigurationsvariablen", /* Show configuration variables only -STDOUT*/ + "Zeigt Version und beende", /* Show version information and exit -STDOUT*/ + "Jeweils einen Artikel hinzufügen", /* Update archive by one article -STDOUT*/ + "Vorherige Nachrichten überschreiben", /* Overwrite previous messages -STDOUT*/ + "Sprache angeben", /* Specify language to use -STDOUT*/ + "Usage", /* Usage -STDOUT*/ + "Die Sprache wird nicht unterstützt",/* Language not supported -STDERR*/ + "Nicht gesetzt", /* Not set -STDOUT*/ + "Nicht benutzt", /* Not used -STDOUT*/ + "Attachement-Datei angelegt", /* Created attachment file -STDOUT*/ + "Attachement", /* attachment -HTML*/ + "Mode", /* mode -STDOUT*/ + "Lese alte Header", /* Reading old headers -STDOUT*/ + "", /* for alignment only -STDOUT*/ + "ERROR", /* ERROR -STDERR*/ + "The submission address of the list", + /* The submission address of the list-STDERR*/ + "Read only one mail from input", + "Autor", /* author -HTML*/ + "Datum", /* date -HTML*/ + "Subject", /* subject -HTML*/ + "Mail actions", /* Mail actions (MA) header -HTML*/ + "mail a new topic", /* MA New Message -HTML*/ + "respond to this message", /* MA Reply -HTML*/ + NULL, /* End Of Message Table - NOWHERE*/ +}; + +/* +** Spanish version of the language table +** Translation by Francisco Iacobelli . +*/ + +char *es[] = { /* Espanol/Spanish */ + "Nuevo Mensaje", /* New Message - HTML */ + "Responder", /* Reply - HTML*/ + "Acerca de la Lista", /* About this list - HTML*/ + "Fin de los Mensajes", /* End of Messages - HTML*/ + "Inicio de Mensajes", /* Start of Messages - HTML*/ + "Por Fecha", /* Date view - HTML*/ + "Por Seguimiento", /* Thread view - HTML*/ + "Por Tema", /* Subject view - HTML*/ + "Por Autor", /* Author view - HTML*/ + "Otros Grupos", /* Other groups - HTML*/ + "Mensajes", /* Messages - HTML*/ + "Inicio", /* Starting - HTML*/ + "Fin", /* Ending - HTML*/ + "Acerca de este archivo", /* About this archive - HTML */ + "Ordenados Por", /* Messages sorted by - HTML*/ + "Otros archivos de correo", /* Other mail archives - HTML*/ + "Por Fecha", /* By Date - HTML*/ + "Mensajes recientes", /* Most recent messages - HTML */ + "autor", /* author - HTML*/ + "fecha", /* date - HTML*/ + "seguimiento", /* thread - HTML*/ + "tema", /* subject - HTML*/ + "para las opciones", /* for options - STDOUT*/ + "Escribiendo Mensajes en", /* Writing articles to - STDOUT*/ + "Escribiendo Indice de Fechas en", /* Writing date index to - STDOUT*/ + "Escribiendo Indice de Seguimientos en", /* Writing thread index to - STDOUT*/ + "Escribiendo Indice de Temas en", /* Writing subject index to - STDOUT*/ + "Escribiendo Indice de Autores en", /* Writing author index to - STDOUT*/ + "Fecha del mensaje final", /* Last message date - HTML */ + "Archivado el ", /* Archived on - HTML*/ + "No se puede ejecutar chmod", /* Can not chmod - STDERR */ + "No se pudo escribir", /* Could not write - STDERR */ + "Mensaje siguiente", /* Next message - HTML*/ + "Mensaje anterior", /* Previous message - HTML*/ + "Respuesta posible a ", /* Maybe in reply to - HTML*/ + "En Respuesta a", /* In reply to - HTML*/ + "Siguiente en el seguimiento", /* Next in thread - HTML*/ + "Posible respuesta", /* Maybe reply - HTML*/ + "Por Seguimiento", /* By Thread - HTML*/ + "Por Tema", /* By Subject - HTML*/ + "Por Autor", /* By Author - HTML*/ + "No se puede crear el directorio", /* Can not create directory - STDERR */ + "Creando el directorio", /* Creating directory - STDOUT */ + "Valores de Conf.", /* Configuration Values - STDOUT */ + "ruta", /* path - STDOUT */ + "No hay suficiente memoria!", /* Ran out of memory! - STDERR */ + "Este archivo fue generado por", /* This archive was generated by - HTML*/ + "Elementos", /* Elements - STDOUT */ + "No Existen Elementos", /* No Elements - STDOUT */ + "No se puede abrir el archivo de correo", /* Cannot open mail archive - STDERR */ + "Leyendo el encabezado nuevo...", /* Reading new header... - STDOUT */ + "Cargando la casilla", /* Loading mailbox - STDOUT */ + "No se puede codificar en este momento, se graba -tal cual-", + /* encoding is not supported, stored as-is - HTML */ + + "mensajes", /* articles */ + "Ver. ", /* Version - STDOUT */ + "Parche No.", /* Patchlevel - STDOUT */ + "Docs", /* Docs - STDOUT */ + "Variables de Comandos y Control", /* Command and Control Variables - STDOUT */ + "Si", /* Yes - STDOUT */ + "No", /* No - STDOUT */ + "Acerca del Archivo:no utilizado", /* About the archive: not used - STDOUT */ + "Otros Archivos: no utilizado", /* Other archives: not used - STDOUT */ + "Variable no utilizada", /* address not used - STDOUT */ + "Comando interno utilizado", /* Builtin statement used - STDOUT */ + "No se puede leer de archivo y de stdin a la vez.", + /* Cannot read from both file and stdin. - STDERR */ + "Opciones", /* Options - STDOUT */ + "URL de otros Archivos", /* URL to other archives - STDOUT */ + "URL de Informaciķn de Archivos", /* URL to archive information - STDOUT */ + "Archivo de conf. para leer", /* Configuration file to read in - STDOUT */ + "Directorio donde grabar archivos HTML", + /* The directory to save HTML files in - STDOUT */ + "Leer mensajes de la entrada por defecto", + /* Read messages from standard input - STDOUT */ + "Nombre del archivo de salida", /* What to name the output archive - STDOUT */ + "Archivo de correo para leer", /* Mail archive to read in - STDOUT */ + "Mostrar avance", /* Show progress - STDOUT */ + "Mostrar solamente variables de conf.", + /* Show configuration variables only - STDOUT*/ + "Mostrar info. de version y salir", + /* Show version information and exit - STDOUT*/ + "Actualizar el archivo de a un mensaje", + /* Update archive by one article - STDOUT*/ + "Sobreescribir mensajes anteriores", /* Overwrite previous messages - STDOUT*/ + "Especifique un idioma a utilizar", /* Specify language to use - STDOUT*/ + "Modo de uso", /* Usage -STDOUT*/ + "Lenguaje no incorporado", /* Language not supported -STDERR*/ + "No establecido", /* Not set -STDOUT*/ + "No utilizado", /* Not used -STDOUT*/ + "Archivo Aņadido ceado", /* Created attachment file -STDOUT*/ + "Añadido", /* attachment -HTML*/ + "modo", /* mode -STDOUT*/ + "Leyendo encabezados antiguos", /* Reading old headers -STDOUT*/ + "", /* (for alignment only) -STDOUT*/ + "ERROR", /* ERROR -STDERR*/ + "The submission address of the list", + /* The submission address of the list-STDERR*/ + "Read only one mail from input", + "Autor", /* author - HTML*/ + "Fecha", /* date - HTML*/ + "Tema", /* subject - HTML*/ + "Mail actions", /* Mail actions (MA) header -HTML*/ + "mail a new topic", /* MA New Message -HTML*/ + "respond to this message", /* MA Reply -HTML*/ + NULL, /* End Of Message Table */ +}; + +/* +** Finnish version of the language table +*/ + +char *fi[] = { /* Finnish */ + "Lähetä uusi viesti", /* New Message -HTML*/ + "Kommentoi", /* Reply -HTML*/ + "Tietoa listasta", /* About this list -HTML*/ + "Viestien loppuun", /* End of Messages -HTML*/ + "Viestien alkuun", /* Start of Messages -HTML*/ + "Päiväysnäkymä", /* Date view -HTML*/ + "Ketjunäkymä", /* Thread view -HTML*/ + "Aihenäkymä", /* Subject view -HTML*/ + "Kirjoittajanäkymä", /* Author view -HTML*/ + "Muut arkistot", /* Other groups -HTML*/ + "Viestit", /* Messages -HTML*/ + "alkaa", /* Starting -HTML*/ + "loppuu", /* Ending -HTML*/ + "Tietoa arkistosta", /* About this archive -HTML*/ + "lajiteltuna", /* Messages sorted by -HTML*/ + "Muita arkistoja", /* Other mail archives -HTML*/ + "Päiväyksittäin", /* By Date -HTML*/ + "Tuoreimmat viestit", /* Most recent messages-HTML*/ + "kirjoittajittain", /* author -HTML*/ + "päiväyksittäin", /* date -HTML*/ + "ketjuittain", /* thread -HTML*/ + "aiheittain", /* subject -HTML*/ + "asetuksiin", /* for options -STDOUT*/ + "Kirjoitan viestejä", /* Writing messages to-STDOUT*/ + "Kirjoitan hakemistoa päiväyksittäin", /* Writing date index to-STDOUT*/ + "Kirjoitan hakemistoa ketjuittain", /* Writing thread index to -STDOUT*/ + "Kirjoitan hakemistoa aiheittain", /* Writing subject index to-STDOUT*/ + "Kirjoitan hakemistoa kirjoittajittain", /* Writing author index to-STDOUT*/ + "Viimeinen viesti päivätty", /* Last message date -HTML*/ + "Arkistoitu", /* Archived on -HTML*/ + "Ei voi muuttaa oikeuksia ", /* Can not chmod -STDERR*/ + "Kirjoitus epäonnistui", /* Could not write -STDERR*/ + "Seuraava viesti", /* Next message -HTML*/ + "Edellinen viesti", /* Previous message -HTML*/ + "Ehkä kommentti viestiin", /* Maybe in reply to -HTML*/ + "Kommentti viestiin", /* In reply to -HTML*/ + "Seuraava ketjussa", /* Next in thread -HTML*/ + "Ehkä kommentti", /* Maybe reply -HTML*/ + "Ketjuittain", /* By Thread -HTML*/ + "Aiheittain", /* By Subject -HTML*/ + "Kirjoittajittain", /* By Author -HTML*/ + "Ei voi luoda hakemistoa", /* Can not create directory -STDERR*/ + "Luon hakemistoa", /* Creating directory -STDOUT*/ + "Asetukset", /* Configuration Values -STDOUT*/ + "polku", /* path -STDOUT*/ + "Muisti loppui!", /* Ran out of memory!-STDERR*/ + "Tämän arkiston loi", /* This archive was generated by-HTML*/ + "Osaset", /* Elements -STDOUT*/ + "Ei osasia", /* No Elements -STDOUT*/ + "Ei voi avata postiarkistoa", /* Cannot open mail archive */ + "Luen uusia otsikkorivejä...", /* Reading new header...-STDOUT */ + "Lataan postilaatikkoa", /* Loading mailbox -STDOUT */ + "koodaus ei tuettu, talletettu sellaisenaan", /* encoding is not supported, stored as-is -HTML*/ + "viestiä", /* messages -HTML*/ + "Versio", /* Version -STDOUT*/ + "Patchlevel", /* Patchlevel -STDOUT*/ + "Ohjeet", /* Docs -STDOUT*/ + "Komento- ja ohjausmuuttujat", /* Command and Control Variables-STDOUT*/ + "Kyllä", /* Yes -STDOUT*/ + "Ei", /* No -STDOUT*/ + "Tietoa arkistosta: ei käytössä", /* About the archive: not used-STDOUT */ + "Muut arkistot: ei käytössä", /* Other archives: not used-STDOUT*/ + "osoite ei käytössä", /* address not used -STDOUT*/ + "Käytetään oletus--rakennetta", /* Builtin statement used-STDOUT*/ + "Ei voi lukea sekä tiedostosta että syöttövirrasta (stdin).", /* Cannot read from both file and stdin. -STDERR*/ + "Asetukset", /* Options -STDOUT*/ + "URL muihin arkistoihin", /* URL to other archives -STDOUT*/ + "URL arkiston tietoihin", /* URL to archive information -STDOUT*/ + "Asetustiedosto", /* Configuration file to read in -STDOUT*/ + "HTML-tiedostojen talletushakemisto", /* The directory to save HTML files in -STDOUT*/ + "Lue viestit syöttövirrasta (stdin)",/* Read messages from standard input -STDOUT*/ + "Talletettavan arkiston nimi", /* What to name the output archive -STDOUT*/ + "Luettava postiarkisto", /* Mail archive to read in -STDOUT*/ + "Näytä eteneminen", /* Show progress -STDOUT*/ + "Näytä vain asetusmuuttujat", /* Show configuration variables only -STDOUT*/ + "Näytä versiotieto ja lopeta ohjelma", /* Show version information and exit -STDOUT*/ + "Päivitä arkistoa yhdellä viestillä", /* Update archive by one article -STDOUT*/ + "Korvaa aiemmat viestit", /* Overwrite previous messages -STDOUT*/ + "Määritä käytettävä kieli", /* Specify language to use -STDOUT*/ + "Käyttöohje", /* Usage -STDOUT*/ + "Kieli ei tuettu", /* Language not supported -STDERR*/ + "Ei asetettu", /* Not set -STDOUT*/ + "Ei käytössä", /* Not used -STDOUT*/ + "Luotu liitetiedosto", /* Created attachment file -STDOUT*/ + "liite", /* attachment -HTML*/ + "suojaus", /* mode -STDOUT*/ + "Luen vanhoja otsikkorivejä", /* Reading old headers -STDOUT*/ + "", /* for alignment only -STDOUT*/ + "VIRHE", /* ERROR -STDERR*/ + "Listan lähetysosoite", /* The submission address of the list-STDERR*/ + "Lue vain yksi viesti", + "Kirjoittajan mukaan", /* author -HTML*/ + "Päiväyksen mukaan", /* date -HTML*/ + "Aiheen mukaan", /* subject -HTML*/ + "Mail actions", /* Mail actions (MA) header -HTML*/ + "mail a new topic", /* MA New Message -HTML*/ + "respond to this message", /* MA Reply -HTML*/ + NULL, /* End Of Message Table - NOWHERE*/ +}; + +/* +** French version of the language table +** Translation by Nicolas Noble +*/ + +char *fr[] = { /* French */ + "Nouveau Message", /* New Message -HTML*/ + "Réponse", /* Reply -HTML*/ + "A propos de cette liste", /* About this list -HTML*/ + "Fin des Messages", /* End of Messages -HTML*/ + "Début des Messages", /* Start of Messages -HTML*/ + "Liste par Date", /* Date view -HTML*/ + "Liste par Thème", /* Thread view -HTML*/ + "Liste par Sujet", /* Subject view -HTML*/ + "Liste par Auteur", /* Author view -HTML*/ + "Autres groupes", /* Other groups -HTML*/ + "Messages", /* Messages -HTML*/ + "Début", /* Starting -HTML*/ + "Fin", /* Ending -HTML*/ + "A propos de cette archive", /* About this archive -HTML*/ + "Messages classés par", /* Messages sorted by -HTML*/ + "Autres archives", /* Other mail archives -HTML*/ + "Par Date", /* By Date -HTML*/ + "Messages les plus récents", /* Most recent messages-HTML*/ + "auteur", /* author -HTML*/ + "date", /* date -HTML*/ + "thèeme", /* thread -HTML*/ + "sujet", /* subject -HTML*/ + "pour les options", /* for options -STDOUT*/ + "Ecriture des messages vers", /* Writing messages to-STDOUT*/ + "Ecriture de l'index 'date' vers", /* Writing date index to-STDOUT*/ + "Ecriture de l'index 'thčme' vers", /* Writing thread index to -STDOUT*/ + "Ecriture de l'index 'sujet' vers", /* Writing subject index to-STDOUT*/ + "Ecriture de l'index 'auteur' vers", /* Writing author index to-STDOUT*/ + "Date du dernier message", /* Last message date -HTML*/ + "Archivé le", /* Archived on -HTML*/ + "Ne peut effectuer de chmod", /* Can not chmod -STDERR*/ + "Ne peut écrire", /* Could not write -STDERR*/ + "Message suivant", /* Next message -HTML*/ + "Message précédent", /* Previous message -HTML*/ + "Sans doute en réponse ā", /* Maybe in reply to -HTML*/ + "En réponse ā", /* In reply to -HTML*/ + "Suivant dans le thème", /* Next in thread -HTML*/ + "Sans doute en réponse", /* Maybe reply -HTML*/ + "Par Thème", /* By Thread -HTML*/ + "Par Sujet", /* By Subject -HTML*/ + "Par Auteur", /* By Author -HTML*/ + "Ne peut créer le répertoire", /* Can not create directory -STDERR*/ + "Création du répertoire", /* Creating directory -STDOUT*/ + "Valeurs configurées", /* Configuration Values -STDOUT*/ + "chemin", /* path -STDOUT*/ + "Plus assez de mémoire!", /* Ran out of memory!-STDERR*/ + "Cette archive a été créée par", /* This archive was generated by-HTML*/ + "Eléments", /* Elements -STDOUT*/ + "Aucun Elément", /* No Elements -STDOUT*/ + "Ne peut ouvrir l'archive de mail", /* Cannot open mail archive */ + "Lecture du nouvel en-tęte...", /* Reading new header...-STDOUT */ + "Chargement de la mailbox", /* Loading mailbox -STDOUT */ + "encodage non supporté, stocké tel quel", /* encoding is not supported, stored as-is -HTML*/ + "messages", /* messages -HTML*/ + "Version", /* Version -STDOUT*/ + "Patchlevel", /* Patchlevel -STDOUT*/ + "Documents", /* Docs -STDOUT*/ + "Variables de Commande et de Contrôle", /* Command and Control Variables-STDOUT*/ + "Oui", /* Yes -STDOUT*/ + "Non", /* No -STDOUT*/ + "A propos de l'archive: non utilisé", /* About the archive: not used-STDOUT */ + "Autres archives: non utilisé", /* Other archives: not used-STDOUT*/ + "adresse non utilisée", /* address not used -STDOUT*/ + "Utilisation de la déclaration ", /* Builtin statement used-STDOUT*/ + "Ne peut lire ā la fois un fichier et le stdin", /* Cannot read from both file and stdin. -STDERR*/ + "Options", /* Options -STDOUT*/ + "URL vers les autres archives", /* URL to other archives -STDOUT*/ + "URL vers les informations sur l'archive", /* URL to archive information -STDOUT*/ + "Fichier de configuration ā lire", /* Configuration file to read in -STDOUT*/ + "Répertoire oų sauver les fichiers HTML", /* The directory to save HTML files in -STDOUT*/ + "Lecture des messages depuis le stdin", /* Read messages from standard input -STDOUT*/ + "Nom de l'archive de sortie", /* What to name the output archive -STDOUT*/ + "Archive de mail lue", /* Mail archive to read in -STDOUT*/ + "Voir la progression", /* Show progress -STDOUT*/ + "Voir les variables de configuration seulement", /* Show configuration variables only -STDOUT*/ + "Afficher la version et quitter", /* Show version information and exit -STDOUT*/ + "Mettre ā jour l'archive d'un article", /* Update archive by one article -STDOUT*/ + "Ecraser les messages précédents", /* Overwrite previous messages -STDOUT*/ + "Spécifier la langue ā utiliser", /* Specify language to use -STDOUT*/ + "Usage", /* Usage -STDOUT*/ + "Langue non supportée", /* Language not supported -STDERR*/ + "Non défini", /* Not set -STDOUT*/ + "Non utilisé", /* Not used -STDOUT*/ + "Fichier d'attachement créé", /* Created attachment file -STDOUT*/ + "attachement", /* attachment -HTML*/ + "mode", /* mode -STDOUT*/ + "Lecture des anciens en-tętes", /* Reading old headers -STDOUT*/ + "", /* for alignment only -STDOUT*/ + "ERREUR", /* ERROR -STDERR*/ + "Adresse de soumission de la liste", + /* The submission address of the list-STDERR*/ + "Lire seulement un mail depuis l'entrée", + "Auteur", /* author -HTML*/ + "Date", /* date -HTML*/ + "Sujet", /* subject -HTML*/ + "Actions sur les mails", /* Mail actions (MA) header -HTML*/ + "créer un nouveau thème", /* MA New Message -HTML*/ + "répondre à ce message", /* MA Reply -HTML*/ + NULL, /* End Of Message Table - NOWHERE*/ +}; + +/* +** Icelandic version of the language table +** Translation by Bjarni R. Einarsson +*/ + +char *is[] = { /* Icelandic */ + "Nũtt bréf", /* New Message -HTML*/ + "Svar", /* Reply -HTML*/ + "Um ūennan lista", /* About this list -HTML*/ + "Endir safns", /* End of Messages -HTML*/ + "Upphaf safns", /* Start of Messages -HTML*/ + "Rađađ e. dagssetningum", /* Date view -HTML*/ + "Rađađ e. umræđum", /* Thread view -HTML*/ + "Rađađ e. viđfangsefnum", /* Subject view -HTML*/ + "Rađađ e. höfundum", /* Author view -HTML*/ + "Ađrir flokkar", /* Other groups -HTML*/ + "Bréfum", /* Messages -HTML*/ + "Frá", /* Starting -HTML*/ + "Til", /* Ending -HTML*/ + "Um ūetta safn", /* About this archive -HTML*/ + "Rađa eftir", /* Messages sorted by -HTML*/ + "Önnur söfn", /* Other mail archives -HTML*/ + "eftir dagssetningum", /* By Date -HTML*/ + "Nũjustu bréfin", /* Most recent messages-HTML*/ + "höfundum", /* author -HTML*/ + "dags.", /* date -HTML*/ + "umræđum", /* thread -HTML*/ + "viđfangsefnum", /* subject -HTML*/ + "for options", /* for options -STDOUT*/ + "Writing messages to", /* Writing messages to-STDOUT*/ + "Writing date index to", /* Writing date index to-STDOUT*/ + "Writing thread index to", /* Writing thread index to -STDOUT*/ + "Writing subject index to", /* Writing subject index to-STDOUT*/ + "Writing author index to", /* Writing author index to-STDOUT*/ + "Dags. síđasta bréfs", /* Last message date -HTML*/ + "Síđasta bréf mķttekiđ", /* Archived on -HTML*/ + "Can not chmod", /* Can not chmod -STDERR*/ + "Could not write", /* Could not write -STDERR*/ + "Næsta bréf", /* Next message -HTML*/ + "Fyrra bréf", /* Previous message -HTML*/ + "Mögulega í frh. af", /* Maybe in reply to -HTML*/ + "Í framhaldi af", /* In reply to -HTML*/ + "Næst í umræđu", /* Next in thread -HTML*/ + "Mögulegt svar", /* Maybe reply -HTML*/ + "eftir umræđum", /* By Thread -HTML*/ + "eftir viđfangsefnum", /* By Subject -HTML*/ + "eftir höfundum", /* By Author -HTML*/ + "Can not create directory", /* Can not create directory -STDERR*/ + "Creating directory", /* Creating directory -STDOUT*/ + "Configuration Values", /* Configuration Values -STDOUT*/ + "path", /* path -STDOUT*/ + "Ran out of memory!", /* Ran out of memory!-STDERR*/ + "Framreitt af", /* This archive was generated by-HTML*/ + "Elements", /* Elements -STDOUT*/ + "No Elements", /* No Elements -STDOUT*/ + "Cannot open mail archive", /* Cannot open mail archive */ + "Reading new header...", /* Reading new header...-STDOUT */ + "Loading mailbox", /* Loading mailbox -STDOUT */ + "framandi kķđun, geymt ķbreytt", /* encoding is not supported, stored as-is -HTML*/ + "bréf.", /* messages -HTML*/ + "Version", /* Version -STDOUT*/ + "Patchlevel", /* Patchlevel -STDOUT*/ + "Docs", /* Docs -STDOUT*/ + "Command and Control Variables", /* Command and Control Variables-STDOUT*/ + "Yes", /* Yes -STDOUT*/ + "No", /* No -STDOUT*/ + "About the archive: not used", /* About the archive: not used-STDOUT */ + "Other archives: not used", /* Other archives: not used-STDOUT*/ + "address not used", /* address not used -STDOUT*/ + "Builtin statement used", /* Builtin statement used-STDOUT*/ + "Cannot read from both file and stdin.", /* Cannot read from both file and stdin. -STDERR*/ + "Options", /* Options -STDOUT*/ + "URL to other archives", /* URL to other archives -STDOUT*/ + "URL to archive information", /* URL to archive information -STDOUT*/ + "Configuration file to read in", /* Configuration file to read in -STDOUT*/ + "The directory to save HTML files in", /* The directory to save HTML files in -STDOUT*/ + "Read messages from standard input", /* Read messages from standard input -STDOUT*/ + "What to name the output archive", /* What to name the output archive -STDOUT*/ + "Mail archive to read in", /* Mail archive to read in -STDOUT*/ + "Show progress", /* Show progress -STDOUT*/ + "Show configuration variables only", /* Show configuration variables only -STDOUT*/ + "Show version information and exit", /* Show version information and exit -STDOUT*/ + "Update archive by one article", /* Update archive by one article -STDOUT*/ + "Overwrite previous messages", /* Overwrite previous messages -STDOUT*/ + "Specify language to use", /* Specify language to use -STDOUT*/ + "Usage", /* Usage -STDOUT*/ + "Language not supported", /* Language not supported -STDERR*/ + "Not set", /* Not set -STDOUT*/ + "Not used", /* Not used -STDOUT*/ + "Created attachment file", /* Created attachment file -STDOUT*/ + "viđhengi", /* attachment -HTML*/ + "mode", /* mode -STDOUT*/ + "Reading old headers", /* Reading old headers -STDOUT*/ + "", /* for alignment only -STDOUT*/ + "ERROR", /* ERROR -STDERR*/ + "The submission address of the list", + /* The submission address of the list-STDERR*/ + "Read only one mail from input", + "Höfundur", /* author -HTML*/ + "Dagssetning", /* date -HTML*/ + "Viđfangsefni", /* subject -HTML*/ + "Mail actions", /* Mail actions (MA) header -HTML*/ + "mail a new topic", /* MA New Message -HTML*/ + "respond to this message", /* MA Reply -HTML*/ + NULL, /* End Of Message Table - NOWHERE*/ +}; + +/* +** Swedish version of the language table. Daniel Stenberg translation. +** (a little secret for free: we don't say bork ;-) +*/ + +char *se[] = { + "Nytt Brev", /* New Message -HTML*/ + "Svar" , /* Reply -HTML*/ + "Angende den här listan", /* About this list -HTML*/ + "Slut på brevlistan", /* End of Messages -HTML*/ + "Start på brevlistan", /* Start of Messages -HTML*/ + "Datumvy", /* Date view -HTML*/ + "Trådvy", /* Thread view -HTML*/ + "Ämnesvy", /* Subject view -HTML*/ + "Författarvy", /* Author view -HTML*/ + "Andra grupper", /* Other groups -HTML*/ + "Brev", /* Messages -HTML*/ + "Startar", /* Starting -HTML*/ + "Slutar", /* Ending -HTML*/ + "Angående det här arkivet", /* About this archive -HTML*/ + "sorterat på", /* Messages sorted by -HTML*/ + "Andra brevarkiv", /* Other mail archives-HTML*/ + "På Datum", /* By Date -HTML*/ + "Nyast brev", /* Most recent messages-HTML*/ + "författare", /* author -HTML*/ + "datum", /* date -HTML*/ + "tråd", /* thread -HTML*/ + "ämne", /* subject -HTML*/ + "för inställningar", /* for options -STDOUT*/ + "Skriver brev till", /* Writing messages to-STDOUT*/ + "Skriver datumindex till", /* Writing date index to-STDOUT*/ + "Skriver trådindex till", /* Writing thread index to -STDOUT*/ + "Skriver ämnesindex till", /* Writing subject index to-STDOUT*/ + "Skriver författarindex till", /* Writing author index to-STDOUT*/ + "Senaste brev datum", /* Last message date -HTML*/ + "Arkiverat", /* Archived on -HTML*/ + "Kan inte chmod", /* Can not chmod -STDERR*/ + "Kunde inte skriva", /* Could not write -STDERR*/ + "Nästa brev", /* Next message -HTML*/ + "Tidigare brev", /* Previous message -HTML*/ + "Kanske ett svar till", /* Maybe in reply to -HTML*/ + "Svar till", /* In reply to -HTML*/ + "Nästa i trden", /* Next in thread -HTML*/ + "Kanske svar", /* Maybe reply -HTML*/ + "Per tråd", /* By Thread -HTML*/ + "Per ämne", /* By Subject -HTML*/ + "Per författare", /* By Author -HTML*/ + "Kan inte skapa directory", /* Can not create directory -STDERR*/ + "Skapar directory", /* Creating directory -STDOUT*/ + "Konfigureringsvärden", /* Configuration Values -STDOUT*/ + "path", /* path -STDOUT*/ + "Fick slut på minne!", /* Ran out of memory!-STDERR*/ + "Det här arkivet skapades av", /* This archive was generated by-HTML*/ + "Delar", /* Elements -STDOUT*/ + "Inge delar", /* No Elements -STDOUT*/ + "Kan inte öppna brevarkivet", /* Cannot open mail archive */ + "Läser ny header...", /* Reading new header...-STDOUT*/ + "Laddar mailbox", /* Loading mailbox -STDOUT */ + "kodformatet stöds inte, sparat som det är", + /* encoding is not supported, stored as-is -HTML*/ + "brev", /* messages -HTML*/ + "Version", /* Version -STDOUT*/ + "Patchnivå", /* Patchlevel -STDOUT*/ + "Dokumentation", /* Docs -STDOUT*/ + "Kommando och kontrollvariabler", /* Command and Control Variables-STDOUT*/ + "Ja", /* Yes -STDOUT*/ + "Nej", /* No -STDOUT*/ + "Angående arkivet: ej använd", /* About the archive: not used-STDOUT */ + "Andra arkiv: ej använd", /* Other archives: not used-STDOUT*/ + "adress ej använd", /* address not used -STDOUT*/ + "Inbyggd använd", /* Builtin statement used-STDOUT*/ + "Kan inte läsa bde från fil och stdin.", + /* Cannot read from both file and stdin. -STDERR*/ + "Alternativ", /* Options -STDOUT*/ + "URL till andra arkiv", /* URL to other archives -STDOUT*/ + "URL till arkivinformation", /* URL to archive information -STDOUT*/ + "Konfigurationsfil att läsa in", /* Configuration file to read in -STDOUT*/ + "Directory att spara HTML-filerna i", + /* The directory to save HTML files in -STDOUT*/ + "Läs breven från standard input", /* Read messages from standard input-STDOUT*/ + "Namnet på utarkivet", /* What to name the output archive-STDOUT*/ + "Brevarkiv att läsa in", /* Mail archive to read in -STDOUT*/ + "Visa progress", /* Show progress -STDOUT*/ + "Visa konfigurationsvariabler enbart", + /* Show configuration variables only-STDOUT*/ + "Visa versionsinformation och sluta", + /* Show version information and exit -STDOUT*/ + "Updatera arkivet med ett brev", /*Update archive by one article -STDOUT*/ + "Skriv över tidigare brev", /* Overwrite previous messages -STDOUT*/ + "Ange språk att använda", /* Specify language to use -STDOUT*/ + "Användning", /* Usage -STDOUT*/ + "Språk ej supportat", /* Language not supported -STDERR*/ + "Ej angivet", /* Not set -STDOUT*/ + "Ej använt", /* Not used -STDOUT*/ + "Skapade bifogningsfil", /* Created attachment file -STDOUT*/ + "bifogning", /* attachment -HTML*/ + "mode", /* mode -STDOUT*/ + "Läser gamla headers", /* Reading old headers -STDOUT*/ + "", /* for alignment only -STDOUT*/ + "FEL", /* ERROR -STDERR*/ + "Adressen för att posta till listan", + /* The submission address of the list-STDERR*/ + "Läs bara ett mail från input", + "Författare", /* author -HTML*/ + "Datum", /* date -HTML*/ + "Ämne", /* subject -HTML*/ + "Mail actions", /* Mail actions (MA) header -HTML*/ + "mail a new topic", /* MA New Message -HTML*/ + "respond to this message", /* MA Reply -HTML*/ + NULL, /* End Of Message Table - NOWHERE*/ +}; + #endif -#include "hypermail.h" +/* +** list of supported languages +*/ + +struct language_entry ltable[] = { +#if 0 +{ "de", de }, /* German */ +#endif +{ "en", en }, /* English */ +#if 0 +{ "es", es }, /* Spanish */ +{ "fi", fi }, /* Finnish */ +{ "fr", fr }, /* French */ +{ "is", is }, /* Icelandic */ +{ "se", se }, /* Swedish */ +#endif +{ NULL, NULL }, /* EOL */ +}; + +/* +** Default language table +*/ +struct message_entry * lang = en; + -char **valid_language(char *lg) + +struct message_entry * valid_language(char *lg) { struct language_entry *lte; @@ -18,6 +755,40 @@ return (NULL); } +char * lang_tr(int msgid) { + char * r; + +#ifdef DEBUG_LANG +/* These two tests are for debugging purposes only. */ + if (msgid >= LAST_MSG) { + fprintf(stderr, _("Error: message id '%d' too high, last value = %d\n"), msgid, LAST_MSG); + exit(-1); + } + if (lang[msgid].msgid != msgid) { + fprintf(stderr, _("Error: message id '%d' has an incorrect assignment (%d)\n"), msgid, lang[msgid].msgid); + exit(-1); + } +#endif + +/* If the translated message is not set (== NULL) then we fall back to english */ + if (!(r = lang[msgid].message)) r = en[msgid].message; + + return r; +} + +#ifdef DEBUG_LANG +/* This will verify the language that was set up by asking the 'translation' + of every strings from the language. If something fails, it will exit. */ +void verify_language(void) { + int i; + char * m; + + for (i = 0; i < LAST_MSG; i++) { + m = lang_tr(i); + } +} +#endif + #ifdef LANG_PROG int main(int argc, char **argv) @@ -78,3 +849,4 @@ } #endif + diff -ru ./src/lang.h ./src/lang.h --- ./src/lang.h Sun May 28 18:43:28 2000 +++ ./src/lang.h Mon Jan 15 04:43:37 2001 @@ -26,916 +26,69 @@ ** a start in the right direction. */ -struct language_entry { - char *langcode; - char **mtable; -}; - -/* print.c */ -#define MSG_NEW_MESSAGE 0 -#define MSG_REPLY 1 -#define MSG_ABOUT_THIS_LIST 2 -#define MSG_END_OF_MESSAGES 3 -#define MSG_START_OF_MESSAGES 4 -#define MSG_DATE_VIEW 5 -#define MSG_THREAD_VIEW 6 -#define MSG_SUBJECT_VIEW 7 -#define MSG_AUTHOR_VIEW 8 -#define MSG_OTHER_GROUPS 9 -#define MSG_MESSAGES 10 -#define MSG_STARTING 11 -#define MSG_ENDING 12 -#define MSG_ABOUT_THIS_ARCHIVE 13 -#define MSG_SORTED_BY 14 -#define MSG_OTHER_MAIL_ARCHIVES 15 -#define MSG_BY_DATE 16 -#define MSG_MOST_RECENT_MESSAGES 17 -#define MSG_AUTHOR 18 -#define MSG_DATE 19 -#define MSG_THREAD 20 -#define MSG_SUBJECT 21 -#define MSG_FOR_OPTIONS 22 -#define MSG_WRITING_ARTICLES 23 -#define MSG_WRITING_DATE_INDEX 24 -#define MSG_WRITING_THREAD_INDEX 25 -#define MSG_WRITING_SUBJECT_INDEX 26 -#define MSG_WRITING_AUTHOR_INDEX 27 -#define MSG_LAST_MESSAGE_DATE 28 -#define MSG_ARCHIVED_ON 29 -#define MSG_CANNOT_CHMOD 30 -#define MSG_COULD_NOT_WRITE 31 -#define MSG_NEXT_MESSAGE 32 -#define MSG_PREVIOUS_MESSAGE 33 -#define MSG_MAYBE_IN_REPLY_TO 34 -#define MSG_IN_REPLY_TO 35 -#define MSG_NEXT_IN_THREAD 36 -#define MSG_MAYBE_REPLY 37 -#define MSG_BY_THREAD 38 -#define MSG_BY_SUBJECT 39 -#define MSG_BY_AUTHOR 40 - -/* file.c */ -#define MSG_CANNOT_CREATE_DIRECTORY 41 -#define MSG_CREATING_DIRECTORY 42 -#define MSG_CONFIGURATION_VALUES 43 -#define MSG_PATH 44 - -/* mem.c */ -#define MSG_RAN_OUT_OF_MEMORY 45 - -/* printfile.c */ -#define MSG_ARCHIVE_GENERATED_BY 46 - -/* struct.c */ -#define MSG_ELEMENTS 47 -#define MSG_NO_ELEMENTS 48 - -/* parse.c */ -#define MSG_CANNOT_OPEN_MAIL_ARCHIVE 49 -#define MSG_READING_NEW_HEADER 50 -#define MSG_LOADING_MAILBOX 51 -#define MSG_ENCODING_IS_NOT_SUPPORTED 52 -#define MSG_ARTICLES 53 - -/* hypermail.c */ -#define MSG_VERSION 54 -#define MSG_PATCHLEVEL 55 -#define MSG_DOCS 56 -#define MSG_COMMAND_AND_CONTROL_VARIABLES 57 -#define MSG_YES 58 -#define MSG_NO 59 -#define MSG_ABOUT_THE_ARCHIVE_NOT_USED 60 -#define MSG_OTHER_ARCHIVES_NOT_USED 61 -#define MSG_ADDRESS_NOT_USED 62 -#define MSG_BUILTIN_BODY_STATEMENT_USED 63 -#define MSG_CANNOT_READ_FROM_BOTH_FILE_AND_STDIN 64 -#define MSG_OPTIONS 65 -#define MSG_OPTION_A 66 -#define MSG_OPTION_B 67 -#define MSG_OPTION_C 68 -#define MSG_OPTION_D 69 -#define MSG_OPTION_I 70 -#define MSG_OPTION_L 71 -#define MSG_OPTION_M 72 -#define MSG_OPTION_P 73 -#define MSG_OPTION_VERBOSE 74 -#define MSG_OPTION_VERSION 75 -#define MSG_OPTION_U 76 -#define MSG_OPTION_X 77 -#define MSG_OPTION_LANG 78 -#define MSG_USAGE 79 -#define MSG_LANGUAGE_NOT_SUPPORTED 80 -#define MSG_NOT_SET 81 -#define MSG_NOT_USED 82 -#define MSG_CREATED_ATTACHMENT_FILE 83 -#define MSG_ATTACHMENT 84 -#define MSG_MODE 85 -#define MSG_READING_OLD_HEADERS 86 -#define MSG_OPTIONS_STRING2 87 -#define MSG_ERROR 88 -#define MSG_OPTION_N 89 -#define MSG_OPTION_1 90 -#define MSG_CAUTHOR 91 -#define MSG_CDATE 92 -#define MSG_CSUBJECT 93 - -/* print.c This belong in the first list, but it's quite a lot of work - to move all the numbers to add them there :-/ How can we simplify - this work? Jose */ -#define MSG_MAIL_ACTIONS 94 -#define MSG_MA_NEW_MESSAGE 95 -#define MSG_MA_REPLY 96 - -#ifdef MAIN_FILE - -/* -** German version of the language table -** Translation by Martin Schulze -*/ - -char *de[] = { /* German */ - "Neue Nachricht", /* New Message -HTML*/ - "Antwort", /* Reply -HTML*/ - "Über diese Liste", /* About this list -HTML*/ - "Ende der Nachricht", /* End of Messages -HTML*/ - "Anfang der Nachricht", /* Start of Messages -HTML*/ - "Datums-Sicht", /* Date view -HTML*/ - "Thread-Sicht", /* Thread view -HTML*/ - "Subject-Sicht", /* Subject view -HTML*/ - "Autor-Sicht", /* Author view -HTML*/ - "Weitere Gruppen", /* Other groups -HTML*/ - "Nachrichten", /* Messages -HTML*/ - "Anfang", /* Starting -HTML*/ - "Ende", /* Ending -HTML*/ - "Über dieses Archiv", /* About this archive -HTML*/ - "sortiert nach", /* sorted by -HTML*/ - "Weitere Mail-Archive", /* Other mail archives -HTML*/ - "Datum", /* By Date -HTML*/ - "Neueste Nachrichten", /* Most recent messages-HTML*/ - "Autor", /* author -HTML*/ - "Datum", /* date -HTML*/ - "Thread", /* thread -HTML*/ - "Subject", /* subject -HTML*/ - "für Optionen", /* for options -STDOUT*/ - "Schreibe Nachrichten in", /* Writing messages to-STDOUT*/ - "Schreibe Datums-Index in", /* Writing date index to-STDOUT*/ - "Schreibe Thread-Index in", /* Writing thread index to -STDOUT*/ - "Schreibe Subject-Index in", /* Writing subject index to-STDOUT*/ - "Schreibe Autoren-Index in", /* Writing author index to-STDOUT*/ - "Letztes Datum", /* Last message date -HTML*/ - "Archiviert auf", /* Archived on -HTML*/ - "Kann Dateimodus nicht ändern", /* Can not chmod -STDERR*/ - "Kann nicht schreiben", /* Could not write -STDERR*/ - "Nächste Nachricht", /* Next message -HTML*/ - "Vorherige Nachricht", /* Previous message -HTML*/ - "Vielleicht als Antwort auf", /* Maybe in reply to -HTML*/ - "Als Antwort auf", /* In reply to -HTML*/ - "Nächste im Thread", /* Next in thread -HTML*/ - "Eventuelle Antwort", /* Maybe reply -HTML*/ - "Nach Thread", /* By Thread -HTML*/ - "Nach Subject", /* By Subject -HTML*/ - "Nach Autor", /* By Author -HTML*/ - "Kann das Verzeichnis nicht erstellen", /* Can not create directory -STDERR*/ - "Erstelle Verzeichnis", /* Creating directory -STDOUT*/ - "Konfiguration", /* Configuration Values -STDOUT*/ - "Pfad", /* path -STDOUT*/ - "Kein Speicher mehr!", /* Ran out of memory!-STDERR*/ - "Dieses Archiv wurde generiert von", /* This archive was generated by-HTML*/ - "Elemente", /* Elements -STDOUT*/ - "Keine Elemente", /* No Elements -STDOUT*/ - "Kann Mail-Archiv nicht öffnen", /* Cannot open mail archive */ - "Lese neue Header...", /* Reading new header...-STDOUT*/ - "Lade Mailbox", /* Loading mailbox -STDOUT*/ - "Kodierung wird nicht unterstützt, speichere so", - /* encoding is not supported, stored as-is -HTML*/ - "Nachrichten", /* messages -HTML*/ - "Version", /* Version -STDOUT*/ - "Patchlevel", /* Patchlevel -STDOUT*/ - "Dokus", /* Docs -STDOUT*/ - "Befehls- und Kontrollvariablen", /* Command and Control Variables-STDOUT*/ - "Ja", /* Yes -STDOUT*/ - "Nein", /* No -STDOUT*/ - "Über das Archiv: nicht benutzt", /* About the archive: not used-STDOUT */ - "Andere Archive: nicht benutzt", /* Other archives: not used-STDOUT*/ - "Adresse nicht benutzt", /* address not used -STDOUT*/ - "Eingebautes benutzt", /* Builtin statement used-STDOUT*/ - "Kann nicht von Datei und stdin lesen.", /* Cannot read from both file and stdin. -STDERR*/ - "Optionen", /* Options -STDOUT*/ - "URL für weitere Archive", /* URL to other archives -STDOUT*/ - "URL für Informationen über Archiv", - /* URL to archive information -STDOUT*/ - "Konfigurationsdatei zum Einlesen", - /* Configuration file to read in -STDOUT*/ - "Das Verzeichnis, um die HTML-Dateien zu speichern", - /* The directory to save HTML files in -STDOUT*/ - "Lese Nachrichten von der Standard Eingabe", - /* Read messages from standard input -STDOUT*/ - "Wie soll das Archiv genannt werden", - /* What to name the output archive -STDOUT*/ - "Mail-Archive zum Einlesen", /* Mail archive to read in -STDOUT*/ - "Zeige Zwischenbericht", /* Show progress -STDOUT*/ - "Zeigt nur die Konfigurationsvariablen", /* Show configuration variables only -STDOUT*/ - "Zeigt Version und beende", /* Show version information and exit -STDOUT*/ - "Jeweils einen Artikel hinzufügen", /* Update archive by one article -STDOUT*/ - "Vorherige Nachrichten überschreiben", /* Overwrite previous messages -STDOUT*/ - "Sprache angeben", /* Specify language to use -STDOUT*/ - "Usage", /* Usage -STDOUT*/ - "Die Sprache wird nicht unterstützt",/* Language not supported -STDERR*/ - "Nicht gesetzt", /* Not set -STDOUT*/ - "Nicht benutzt", /* Not used -STDOUT*/ - "Attachement-Datei angelegt", /* Created attachment file -STDOUT*/ - "Attachement", /* attachment -HTML*/ - "Mode", /* mode -STDOUT*/ - "Lese alte Header", /* Reading old headers -STDOUT*/ - "", /* for alignment only -STDOUT*/ - "ERROR", /* ERROR -STDERR*/ - "The submission address of the list", - /* The submission address of the list-STDERR*/ - "Read only one mail from input", - "Autor", /* author -HTML*/ - "Datum", /* date -HTML*/ - "Subject", /* subject -HTML*/ - "Mail actions", /* Mail actions (MA) header -HTML*/ - "mail a new topic", /* MA New Message -HTML*/ - "respond to this message", /* MA Reply -HTML*/ - NULL, /* End Of Message Table - NOWHERE*/ -}; - -/* -** English version of the language table -*/ - -char *en[] = { /* English */ - "New Message", /* New Message -HTML*/ - "Reply", /* Reply -HTML*/ - "About this list", /* About this list -HTML*/ - "End of Messages", /* End of Messages -HTML*/ - "Start of Messages", /* Start of Messages -HTML*/ - "Date view", /* Date view -HTML*/ - "Thread view", /* Thread view -HTML*/ - "Subject view", /* Subject view -HTML*/ - "Author view", /* Author view -HTML*/ - "Other groups", /* Other groups -HTML*/ - "Messages", /* Messages -HTML*/ - "Starting", /* Starting -HTML*/ - "Ending", /* Ending -HTML*/ - "About this archive", /* About this archive -HTML*/ - "sorted by", /* Messages sorted by -HTML*/ - "Other mail archives", /* Other mail archives -HTML*/ - "By Date", /* By Date -HTML*/ - "Most recent messages", /* Most recent messages-HTML*/ - "author", /* author -HTML*/ - "date", /* date -HTML*/ - "thread", /* thread -HTML*/ - "subject", /* subject -HTML*/ - "for options", /* for options -STDOUT*/ - "Writing messages to", /* Writing messages to-STDOUT*/ - "Writing date index to", /* Writing date index to-STDOUT*/ - "Writing thread index to", /* Writing thread index to -STDOUT*/ - "Writing subject index to", /* Writing subject index to-STDOUT*/ - "Writing author index to", /* Writing author index to-STDOUT*/ - "Last message date", /* Last message date -HTML*/ - "Archived on", /* Archived on -HTML*/ - "Can not chmod", /* Can not chmod -STDERR*/ - "Could not write", /* Could not write -STDERR*/ - "Next message", /* Next message -HTML*/ - "Previous message", /* Previous message -HTML*/ - "Maybe in reply to", /* Maybe in reply to -HTML*/ - "In reply to", /* In reply to -HTML*/ - "Next in thread", /* Next in thread -HTML*/ - "Maybe reply", /* Maybe reply -HTML*/ - "By Thread", /* By Thread -HTML*/ - "By Subject", /* By Subject -HTML*/ - "By Author", /* By Author -HTML*/ - "Can not create directory", /* Can not create directory -STDERR*/ - "Creating directory", /* Creating directory -STDOUT*/ - "Configuration Values", /* Configuration Values -STDOUT*/ - "path", /* path -STDOUT*/ - "Ran out of memory!", /* Ran out of memory!-STDERR*/ - "This archive was generated by", /* This archive was generated by-HTML*/ - "Elements", /* Elements -STDOUT*/ - "No Elements", /* No Elements -STDOUT*/ - "Cannot open mail archive", /* Cannot open mail archive */ - "Reading new header...", /* Reading new header...-STDOUT */ - "Loading mailbox", /* Loading mailbox -STDOUT */ - "encoding is not supported, stored as-is", /* encoding is not supported, stored as-is -HTML*/ - "messages", /* messages -HTML*/ - "Version", /* Version -STDOUT*/ - "Patchlevel", /* Patchlevel -STDOUT*/ - "Docs", /* Docs -STDOUT*/ - "Command and Control Variables", /* Command and Control Variables-STDOUT*/ - "Yes", /* Yes -STDOUT*/ - "No", /* No -STDOUT*/ - "About the archive: not used", /* About the archive: not used-STDOUT */ - "Other archives: not used", /* Other archives: not used-STDOUT*/ - "address not used", /* address not used -STDOUT*/ - "Builtin statement used", /* Builtin statement used-STDOUT*/ - "Cannot read from both file and stdin.", /* Cannot read from both file and stdin. -STDERR*/ - "Options", /* Options -STDOUT*/ - "URL to other archives", /* URL to other archives -STDOUT*/ - "URL to archive information", /* URL to archive information -STDOUT*/ - "Configuration file to read in", /* Configuration file to read in -STDOUT*/ - "The directory to save HTML files in", /* The directory to save HTML files in -STDOUT*/ - "Read messages from standard input",/* Read messages from standard input -STDOUT*/ - "What to name the output archive", /* What to name the output archive -STDOUT*/ - "Mail archive to read in", /* Mail archive to read in -STDOUT*/ - "Show progress", /* Show progress -STDOUT*/ - "Show configuration variables only", /* Show configuration variables only -STDOUT*/ - "Show version information and exit", /* Show version information and exit -STDOUT*/ - "Update archive by one article", /* Update archive by one article -STDOUT*/ - "Overwrite previous messages", /* Overwrite previous messages -STDOUT*/ - "Specify language to use", /* Specify language to use -STDOUT*/ - "Usage", /* Usage -STDOUT*/ - "Language not supported", /* Language not supported -STDERR*/ - "Not set", /* Not set -STDOUT*/ - "Not used", /* Not used -STDOUT*/ - "Created attachment file", /* Created attachment file -STDOUT*/ - "attachment", /* attachment -HTML*/ - "mode", /* mode -STDOUT*/ - "Reading old headers", /* Reading old headers -STDOUT*/ - "", /* for alignment only -STDOUT*/ - "ERROR", /* ERROR -STDERR*/ - "The submission address of the list", - /* The submission address of the list-STDERR*/ - "Read only one mail from input", - "Author", /* author -HTML*/ - "Date", /* date -HTML*/ - "Subject", /* subject -HTML*/ - "Mail actions", /* Mail actions (MA) header -HTML*/ - "mail a new topic", /* MA New Message -HTML*/ - "respond to this message", /* MA Reply -HTML*/ - NULL, /* End Of Message Table - NOWHERE*/ -}; - -/* -** Spanish version of the language table -** Translation by Francisco Iacobelli . -*/ - -char *es[] = { /* Espanol/Spanish */ - "Nuevo Mensaje", /* New Message - HTML */ - "Responder", /* Reply - HTML*/ - "Acerca de la Lista", /* About this list - HTML*/ - "Fin de los Mensajes", /* End of Messages - HTML*/ - "Inicio de Mensajes", /* Start of Messages - HTML*/ - "Por Fecha", /* Date view - HTML*/ - "Por Seguimiento", /* Thread view - HTML*/ - "Por Tema", /* Subject view - HTML*/ - "Por Autor", /* Author view - HTML*/ - "Otros Grupos", /* Other groups - HTML*/ - "Mensajes", /* Messages - HTML*/ - "Inicio", /* Starting - HTML*/ - "Fin", /* Ending - HTML*/ - "Acerca de este archivo", /* About this archive - HTML */ - "Ordenados Por", /* Messages sorted by - HTML*/ - "Otros archivos de correo", /* Other mail archives - HTML*/ - "Por Fecha", /* By Date - HTML*/ - "Mensajes recientes", /* Most recent messages - HTML */ - "autor", /* author - HTML*/ - "fecha", /* date - HTML*/ - "seguimiento", /* thread - HTML*/ - "tema", /* subject - HTML*/ - "para las opciones", /* for options - STDOUT*/ - "Escribiendo Mensajes en", /* Writing articles to - STDOUT*/ - "Escribiendo Indice de Fechas en", /* Writing date index to - STDOUT*/ - "Escribiendo Indice de Seguimientos en", /* Writing thread index to - STDOUT*/ - "Escribiendo Indice de Temas en", /* Writing subject index to - STDOUT*/ - "Escribiendo Indice de Autores en", /* Writing author index to - STDOUT*/ - "Fecha del mensaje final", /* Last message date - HTML */ - "Archivado el ", /* Archived on - HTML*/ - "No se puede ejecutar chmod", /* Can not chmod - STDERR */ - "No se pudo escribir", /* Could not write - STDERR */ - "Mensaje siguiente", /* Next message - HTML*/ - "Mensaje anterior", /* Previous message - HTML*/ - "Respuesta posible a ", /* Maybe in reply to - HTML*/ - "En Respuesta a", /* In reply to - HTML*/ - "Siguiente en el seguimiento", /* Next in thread - HTML*/ - "Posible respuesta", /* Maybe reply - HTML*/ - "Por Seguimiento", /* By Thread - HTML*/ - "Por Tema", /* By Subject - HTML*/ - "Por Autor", /* By Author - HTML*/ - "No se puede crear el directorio", /* Can not create directory - STDERR */ - "Creando el directorio", /* Creating directory - STDOUT */ - "Valores de Conf.", /* Configuration Values - STDOUT */ - "ruta", /* path - STDOUT */ - "No hay suficiente memoria!", /* Ran out of memory! - STDERR */ - "Este archivo fue generado por", /* This archive was generated by - HTML*/ - "Elementos", /* Elements - STDOUT */ - "No Existen Elementos", /* No Elements - STDOUT */ - "No se puede abrir el archivo de correo", /* Cannot open mail archive - STDERR */ - "Leyendo el encabezado nuevo...", /* Reading new header... - STDOUT */ - "Cargando la casilla", /* Loading mailbox - STDOUT */ - "No se puede codificar en este momento, se graba -tal cual-", - /* encoding is not supported, stored as-is - HTML */ - - "mensajes", /* articles */ - "Ver. ", /* Version - STDOUT */ - "Parche No.", /* Patchlevel - STDOUT */ - "Docs", /* Docs - STDOUT */ - "Variables de Comandos y Control", /* Command and Control Variables - STDOUT */ - "Si", /* Yes - STDOUT */ - "No", /* No - STDOUT */ - "Acerca del Archivo:no utilizado", /* About the archive: not used - STDOUT */ - "Otros Archivos: no utilizado", /* Other archives: not used - STDOUT */ - "Variable no utilizada", /* address not used - STDOUT */ - "Comando interno utilizado", /* Builtin statement used - STDOUT */ - "No se puede leer de archivo y de stdin a la vez.", - /* Cannot read from both file and stdin. - STDERR */ - "Opciones", /* Options - STDOUT */ - "URL de otros Archivos", /* URL to other archives - STDOUT */ - "URL de Informaciķn de Archivos", /* URL to archive information - STDOUT */ - "Archivo de conf. para leer", /* Configuration file to read in - STDOUT */ - "Directorio donde grabar archivos HTML", - /* The directory to save HTML files in - STDOUT */ - "Leer mensajes de la entrada por defecto", - /* Read messages from standard input - STDOUT */ - "Nombre del archivo de salida", /* What to name the output archive - STDOUT */ - "Archivo de correo para leer", /* Mail archive to read in - STDOUT */ - "Mostrar avance", /* Show progress - STDOUT */ - "Mostrar solamente variables de conf.", - /* Show configuration variables only - STDOUT*/ - "Mostrar info. de version y salir", - /* Show version information and exit - STDOUT*/ - "Actualizar el archivo de a un mensaje", - /* Update archive by one article - STDOUT*/ - "Sobreescribir mensajes anteriores", /* Overwrite previous messages - STDOUT*/ - "Especifique un idioma a utilizar", /* Specify language to use - STDOUT*/ - "Modo de uso", /* Usage -STDOUT*/ - "Lenguaje no incorporado", /* Language not supported -STDERR*/ - "No establecido", /* Not set -STDOUT*/ - "No utilizado", /* Not used -STDOUT*/ - "Archivo Aņadido ceado", /* Created attachment file -STDOUT*/ - "Añadido", /* attachment -HTML*/ - "modo", /* mode -STDOUT*/ - "Leyendo encabezados antiguos", /* Reading old headers -STDOUT*/ - "", /* (for alignment only) -STDOUT*/ - "ERROR", /* ERROR -STDERR*/ - "The submission address of the list", - /* The submission address of the list-STDERR*/ - "Read only one mail from input", - "Autor", /* author - HTML*/ - "Fecha", /* date - HTML*/ - "Tema", /* subject - HTML*/ - "Mail actions", /* Mail actions (MA) header -HTML*/ - "mail a new topic", /* MA New Message -HTML*/ - "respond to this message", /* MA Reply -HTML*/ - NULL, /* End Of Message Table */ -}; +#ifndef __LANG_H__ +#define __LANG_H__ -/* -** Finnish version of the language table -*/ -char *fi[] = { /* Finnish */ - "Lähetä uusi viesti", /* New Message -HTML*/ - "Kommentoi", /* Reply -HTML*/ - "Tietoa listasta", /* About this list -HTML*/ - "Viestien loppuun", /* End of Messages -HTML*/ - "Viestien alkuun", /* Start of Messages -HTML*/ - "Päiväysnäkymä", /* Date view -HTML*/ - "Ketjunäkymä", /* Thread view -HTML*/ - "Aihenäkymä", /* Subject view -HTML*/ - "Kirjoittajanäkymä", /* Author view -HTML*/ - "Muut arkistot", /* Other groups -HTML*/ - "Viestit", /* Messages -HTML*/ - "alkaa", /* Starting -HTML*/ - "loppuu", /* Ending -HTML*/ - "Tietoa arkistosta", /* About this archive -HTML*/ - "lajiteltuna", /* Messages sorted by -HTML*/ - "Muita arkistoja", /* Other mail archives -HTML*/ - "Päiväyksittäin", /* By Date -HTML*/ - "Tuoreimmat viestit", /* Most recent messages-HTML*/ - "kirjoittajittain", /* author -HTML*/ - "päiväyksittäin", /* date -HTML*/ - "ketjuittain", /* thread -HTML*/ - "aiheittain", /* subject -HTML*/ - "asetuksiin", /* for options -STDOUT*/ - "Kirjoitan viestejä", /* Writing messages to-STDOUT*/ - "Kirjoitan hakemistoa päiväyksittäin", /* Writing date index to-STDOUT*/ - "Kirjoitan hakemistoa ketjuittain", /* Writing thread index to -STDOUT*/ - "Kirjoitan hakemistoa aiheittain", /* Writing subject index to-STDOUT*/ - "Kirjoitan hakemistoa kirjoittajittain", /* Writing author index to-STDOUT*/ - "Viimeinen viesti päivätty", /* Last message date -HTML*/ - "Arkistoitu", /* Archived on -HTML*/ - "Ei voi muuttaa oikeuksia ", /* Can not chmod -STDERR*/ - "Kirjoitus epäonnistui", /* Could not write -STDERR*/ - "Seuraava viesti", /* Next message -HTML*/ - "Edellinen viesti", /* Previous message -HTML*/ - "Ehkä kommentti viestiin", /* Maybe in reply to -HTML*/ - "Kommentti viestiin", /* In reply to -HTML*/ - "Seuraava ketjussa", /* Next in thread -HTML*/ - "Ehkä kommentti", /* Maybe reply -HTML*/ - "Ketjuittain", /* By Thread -HTML*/ - "Aiheittain", /* By Subject -HTML*/ - "Kirjoittajittain", /* By Author -HTML*/ - "Ei voi luoda hakemistoa", /* Can not create directory -STDERR*/ - "Luon hakemistoa", /* Creating directory -STDOUT*/ - "Asetukset", /* Configuration Values -STDOUT*/ - "polku", /* path -STDOUT*/ - "Muisti loppui!", /* Ran out of memory!-STDERR*/ - "Tämän arkiston loi", /* This archive was generated by-HTML*/ - "Osaset", /* Elements -STDOUT*/ - "Ei osasia", /* No Elements -STDOUT*/ - "Ei voi avata postiarkistoa", /* Cannot open mail archive */ - "Luen uusia otsikkorivejä...", /* Reading new header...-STDOUT */ - "Lataan postilaatikkoa", /* Loading mailbox -STDOUT */ - "koodaus ei tuettu, talletettu sellaisenaan", /* encoding is not supported, stored as-is -HTML*/ - "viestiä", /* messages -HTML*/ - "Versio", /* Version -STDOUT*/ - "Patchlevel", /* Patchlevel -STDOUT*/ - "Ohjeet", /* Docs -STDOUT*/ - "Komento- ja ohjausmuuttujat", /* Command and Control Variables-STDOUT*/ - "Kyllä", /* Yes -STDOUT*/ - "Ei", /* No -STDOUT*/ - "Tietoa arkistosta: ei käytössä", /* About the archive: not used-STDOUT */ - "Muut arkistot: ei käytössä", /* Other archives: not used-STDOUT*/ - "osoite ei käytössä", /* address not used -STDOUT*/ - "Käytetään oletus--rakennetta", /* Builtin statement used-STDOUT*/ - "Ei voi lukea sekä tiedostosta että syöttövirrasta (stdin).", /* Cannot read from both file and stdin. -STDERR*/ - "Asetukset", /* Options -STDOUT*/ - "URL muihin arkistoihin", /* URL to other archives -STDOUT*/ - "URL arkiston tietoihin", /* URL to archive information -STDOUT*/ - "Asetustiedosto", /* Configuration file to read in -STDOUT*/ - "HTML-tiedostojen talletushakemisto", /* The directory to save HTML files in -STDOUT*/ - "Lue viestit syöttövirrasta (stdin)",/* Read messages from standard input -STDOUT*/ - "Talletettavan arkiston nimi", /* What to name the output archive -STDOUT*/ - "Luettava postiarkisto", /* Mail archive to read in -STDOUT*/ - "Näytä eteneminen", /* Show progress -STDOUT*/ - "Näytä vain asetusmuuttujat", /* Show configuration variables only -STDOUT*/ - "Näytä versiotieto ja lopeta ohjelma", /* Show version information and exit -STDOUT*/ - "Päivitä arkistoa yhdellä viestillä", /* Update archive by one article -STDOUT*/ - "Korvaa aiemmat viestit", /* Overwrite previous messages -STDOUT*/ - "Määritä käytettävä kieli", /* Specify language to use -STDOUT*/ - "Käyttöohje", /* Usage -STDOUT*/ - "Kieli ei tuettu", /* Language not supported -STDERR*/ - "Ei asetettu", /* Not set -STDOUT*/ - "Ei käytössä", /* Not used -STDOUT*/ - "Luotu liitetiedosto", /* Created attachment file -STDOUT*/ - "liite", /* attachment -HTML*/ - "suojaus", /* mode -STDOUT*/ - "Luen vanhoja otsikkorivejä", /* Reading old headers -STDOUT*/ - "", /* for alignment only -STDOUT*/ - "VIRHE", /* ERROR -STDERR*/ - "Listan lähetysosoite", /* The submission address of the list-STDERR*/ - "Lue vain yksi viesti", - "Kirjoittajan mukaan", /* author -HTML*/ - "Päiväyksen mukaan", /* date -HTML*/ - "Aiheen mukaan", /* subject -HTML*/ - "Mail actions", /* Mail actions (MA) header -HTML*/ - "mail a new topic", /* MA New Message -HTML*/ - "respond to this message", /* MA Reply -HTML*/ - NULL, /* End Of Message Table - NOWHERE*/ +#define DEBUG_LANG +struct message_entry { + char *message; + int msgid; }; -/* -** French version of the language table -** Translation by Nicolas NOBLE -*/ - -char *fr[] = { /* French */ - "Nouveau Message", /* New Message -HTML*/ - "Réponse", /* Reply -HTML*/ - "A propos de cette liste", /* About this list -HTML*/ - "Fin des Messages", /* End of Messages -HTML*/ - "Début des Messages", /* Start of Messages -HTML*/ - "Liste par Date", /* Date view -HTML*/ - "Liste par Thème", /* Thread view -HTML*/ - "Liste par Sujet", /* Subject view -HTML*/ - "Liste par Auteur", /* Author view -HTML*/ - "Autres groupes", /* Other groups -HTML*/ - "Messages", /* Messages -HTML*/ - "Début", /* Starting -HTML*/ - "Fin", /* Ending -HTML*/ - "A propos de cette archive", /* About this archive -HTML*/ - "Messages classés par", /* Messages sorted by -HTML*/ - "Autres archives", /* Other mail archives -HTML*/ - "Par Date", /* By Date -HTML*/ - "Messages les plus récents", /* Most recent messages-HTML*/ - "auteur", /* author -HTML*/ - "date", /* date -HTML*/ - "thèeme", /* thread -HTML*/ - "sujet", /* subject -HTML*/ - "pour les options", /* for options -STDOUT*/ - "Ecriture des messages vers", /* Writing messages to-STDOUT*/ - "Ecriture de l'index 'date' vers", /* Writing date index to-STDOUT*/ - "Ecriture de l'index 'thčme' vers", /* Writing thread index to -STDOUT*/ - "Ecriture de l'index 'sujet' vers", /* Writing subject index to-STDOUT*/ - "Ecriture de l'index 'auteur' vers", /* Writing author index to-STDOUT*/ - "Date du dernier message", /* Last message date -HTML*/ - "Archivé le", /* Archived on -HTML*/ - "Ne peut effectuer de chmod", /* Can not chmod -STDERR*/ - "Ne peut écrire", /* Could not write -STDERR*/ - "Message suivant", /* Next message -HTML*/ - "Message précédent", /* Previous message -HTML*/ - "Sans doute en réponse ā", /* Maybe in reply to -HTML*/ - "En réponse ā", /* In reply to -HTML*/ - "Suivant dans le thème", /* Next in thread -HTML*/ - "Sans doute en réponse", /* Maybe reply -HTML*/ - "Par Thème", /* By Thread -HTML*/ - "Par Sujet", /* By Subject -HTML*/ - "Par Auteur", /* By Author -HTML*/ - "Ne peut créer le répertoire", /* Can not create directory -STDERR*/ - "Création du répertoire", /* Creating directory -STDOUT*/ - "Valeurs configurées", /* Configuration Values -STDOUT*/ - "chemin", /* path -STDOUT*/ - "Plus assez de mémoire!", /* Ran out of memory!-STDERR*/ - "Cette archive a été créée par", /* This archive was generated by-HTML*/ - "Eléments", /* Elements -STDOUT*/ - "Aucun Elément", /* No Elements -STDOUT*/ - "Ne peut ouvrir l'archive de mail", /* Cannot open mail archive */ - "Lecture du nouvel en-tęte...", /* Reading new header...-STDOUT */ - "Chargement de la mailbox", /* Loading mailbox -STDOUT */ - "encodage non supporté, stocké tel quel", /* encoding is not supported, stored as-is -HTML*/ - "messages", /* messages -HTML*/ - "Version", /* Version -STDOUT*/ - "Patchlevel", /* Patchlevel -STDOUT*/ - "Documents", /* Docs -STDOUT*/ - "Variables de Commande et de Contrôle", /* Command and Control Variables-STDOUT*/ - "Oui", /* Yes -STDOUT*/ - "Non", /* No -STDOUT*/ - "A propos de l'archive: non utilisé", /* About the archive: not used-STDOUT */ - "Autres archives: non utilisé", /* Other archives: not used-STDOUT*/ - "adresse non utilisée", /* address not used -STDOUT*/ - "Utilisation de la déclaration ", /* Builtin statement used-STDOUT*/ - "Ne peut lire ā la fois un fichier et le stdin", /* Cannot read from both file and stdin. -STDERR*/ - "Options", /* Options -STDOUT*/ - "URL vers les autres archives", /* URL to other archives -STDOUT*/ - "URL vers les informations sur l'archive", /* URL to archive information -STDOUT*/ - "Fichier de configuration ā lire", /* Configuration file to read in -STDOUT*/ - "Répertoire oú sauver les fichiers HTML", /* The directory to save HTML files in -STDOUT*/ - "Lecture des messages depuis le stdin", /* Read messages from standard input -STDOUT*/ - "Nom de l'archive de sortie", /* What to name the output archive -STDOUT*/ - "Archive de mail lue", /* Mail archive to read in -STDOUT*/ - "Voir la progression", /* Show progress -STDOUT*/ - "Voir les variables de configuration seulement", /* Show configuration variables only -STDOUT*/ - "Afficher la version et quitter", /* Show version information and exit -STDOUT*/ - "Mettre ā jour l'archive d'un article", /* Update archive by one article -STDOUT*/ - "Ecraser les messages précédents", /* Overwrite previous messages -STDOUT*/ - "Spécifier la langue ā utiliser", /* Specify language to use -STDOUT*/ - "Usage", /* Usage -STDOUT*/ - "Langue non supportée", /* Language not supported -STDERR*/ - "Non défini", /* Not set -STDOUT*/ - "Non utilisé", /* Not used -STDOUT*/ - "Fichier d'attachement créé", /* Created attachment file -STDOUT*/ - "attachement", /* attachment -HTML*/ - "mode", /* mode -STDOUT*/ - "Lecture des anciens en-tętes", /* Reading old headers -STDOUT*/ - "", /* for alignment only -STDOUT*/ - "ERREUR", /* ERROR -STDERR*/ - "Adresse de soumission de la liste", - /* The submission address of the list-STDERR*/ - "Lire seulement un mail depuis l'entrée", - "Auteur", /* author -HTML*/ - "Date", /* date -HTML*/ - "Sujet", /* subject -HTML*/ - "Mail actions", /* Mail actions (MA) header -HTML*/ - "mail a new topic", /* MA New Message -HTML*/ - "respond to this message", /* MA Reply -HTML*/ - NULL, /* End Of Message Table - NOWHERE*/ -}; - -/* -** Icelandic version of the language table -** Translation by Bjarni R. Einarsson -*/ - -char *is[] = { /* Icelandic */ - "Nũtt bréf", /* New Message -HTML*/ - "Svar", /* Reply -HTML*/ - "Um ūennan lista", /* About this list -HTML*/ - "Endir safns", /* End of Messages -HTML*/ - "Upphaf safns", /* Start of Messages -HTML*/ - "Rađađ e. dagssetningum", /* Date view -HTML*/ - "Rađađ e. umræđum", /* Thread view -HTML*/ - "Rađađ e. viđfangsefnum", /* Subject view -HTML*/ - "Rađađ e. höfundum", /* Author view -HTML*/ - "Ađrir flokkar", /* Other groups -HTML*/ - "Bréfum", /* Messages -HTML*/ - "Frá", /* Starting -HTML*/ - "Til", /* Ending -HTML*/ - "Um ūetta safn", /* About this archive -HTML*/ - "Rađa eftir", /* Messages sorted by -HTML*/ - "Önnur söfn", /* Other mail archives -HTML*/ - "eftir dagssetningum", /* By Date -HTML*/ - "Nũjustu bréfin", /* Most recent messages-HTML*/ - "höfundum", /* author -HTML*/ - "dags.", /* date -HTML*/ - "umræđum", /* thread -HTML*/ - "viđfangsefnum", /* subject -HTML*/ - "for options", /* for options -STDOUT*/ - "Writing messages to", /* Writing messages to-STDOUT*/ - "Writing date index to", /* Writing date index to-STDOUT*/ - "Writing thread index to", /* Writing thread index to -STDOUT*/ - "Writing subject index to", /* Writing subject index to-STDOUT*/ - "Writing author index to", /* Writing author index to-STDOUT*/ - "Dags. síđasta bréfs", /* Last message date -HTML*/ - "Síđasta bréf mķttekiđ", /* Archived on -HTML*/ - "Can not chmod", /* Can not chmod -STDERR*/ - "Could not write", /* Could not write -STDERR*/ - "Næsta bréf", /* Next message -HTML*/ - "Fyrra bréf", /* Previous message -HTML*/ - "Mögulega í frh. af", /* Maybe in reply to -HTML*/ - "Í framhaldi af", /* In reply to -HTML*/ - "Næst í umræđu", /* Next in thread -HTML*/ - "Mögulegt svar", /* Maybe reply -HTML*/ - "eftir umræđum", /* By Thread -HTML*/ - "eftir viđfangsefnum", /* By Subject -HTML*/ - "eftir höfundum", /* By Author -HTML*/ - "Can not create directory", /* Can not create directory -STDERR*/ - "Creating directory", /* Creating directory -STDOUT*/ - "Configuration Values", /* Configuration Values -STDOUT*/ - "path", /* path -STDOUT*/ - "Ran out of memory!", /* Ran out of memory!-STDERR*/ - "Framreitt af", /* This archive was generated by-HTML*/ - "Elements", /* Elements -STDOUT*/ - "No Elements", /* No Elements -STDOUT*/ - "Cannot open mail archive", /* Cannot open mail archive */ - "Reading new header...", /* Reading new header...-STDOUT */ - "Loading mailbox", /* Loading mailbox -STDOUT */ - "framandi kķđun, geymt ķbreytt", /* encoding is not supported, stored as-is -HTML*/ - "bréf.", /* messages -HTML*/ - "Version", /* Version -STDOUT*/ - "Patchlevel", /* Patchlevel -STDOUT*/ - "Docs", /* Docs -STDOUT*/ - "Command and Control Variables", /* Command and Control Variables-STDOUT*/ - "Yes", /* Yes -STDOUT*/ - "No", /* No -STDOUT*/ - "About the archive: not used", /* About the archive: not used-STDOUT */ - "Other archives: not used", /* Other archives: not used-STDOUT*/ - "address not used", /* address not used -STDOUT*/ - "Builtin statement used", /* Builtin statement used-STDOUT*/ - "Cannot read from both file and stdin.", /* Cannot read from both file and stdin. -STDERR*/ - "Options", /* Options -STDOUT*/ - "URL to other archives", /* URL to other archives -STDOUT*/ - "URL to archive information", /* URL to archive information -STDOUT*/ - "Configuration file to read in", /* Configuration file to read in -STDOUT*/ - "The directory to save HTML files in", /* The directory to save HTML files in -STDOUT*/ - "Read messages from standard input", /* Read messages from standard input -STDOUT*/ - "What to name the output archive", /* What to name the output archive -STDOUT*/ - "Mail archive to read in", /* Mail archive to read in -STDOUT*/ - "Show progress", /* Show progress -STDOUT*/ - "Show configuration variables only", /* Show configuration variables only -STDOUT*/ - "Show version information and exit", /* Show version information and exit -STDOUT*/ - "Update archive by one article", /* Update archive by one article -STDOUT*/ - "Overwrite previous messages", /* Overwrite previous messages -STDOUT*/ - "Specify language to use", /* Specify language to use -STDOUT*/ - "Usage", /* Usage -STDOUT*/ - "Language not supported", /* Language not supported -STDERR*/ - "Not set", /* Not set -STDOUT*/ - "Not used", /* Not used -STDOUT*/ - "Created attachment file", /* Created attachment file -STDOUT*/ - "viđhengi", /* attachment -HTML*/ - "mode", /* mode -STDOUT*/ - "Reading old headers", /* Reading old headers -STDOUT*/ - "", /* for alignment only -STDOUT*/ - "ERROR", /* ERROR -STDERR*/ - "The submission address of the list", - /* The submission address of the list-STDERR*/ - "Read only one mail from input", - "Höfundur", /* author -HTML*/ - "Dagssetning", /* date -HTML*/ - "Viđfangsefni", /* subject -HTML*/ - "Mail actions", /* Mail actions (MA) header -HTML*/ - "mail a new topic", /* MA New Message -HTML*/ - "respond to this message", /* MA Reply -HTML*/ - NULL, /* End Of Message Table - NOWHERE*/ -}; - -/* -** Swedish version of the language table. Daniel Stenberg translation. -** (a little secret for free: we don't say bork ;-) -*/ - -char *se[] = { - "Nytt Brev", /* New Message -HTML*/ - "Svar" , /* Reply -HTML*/ - "Angende den här listan", /* About this list -HTML*/ - "Slut på brevlistan", /* End of Messages -HTML*/ - "Start på brevlistan", /* Start of Messages -HTML*/ - "Datumvy", /* Date view -HTML*/ - "Trådvy", /* Thread view -HTML*/ - "Ämnesvy", /* Subject view -HTML*/ - "Författarvy", /* Author view -HTML*/ - "Andra grupper", /* Other groups -HTML*/ - "Brev", /* Messages -HTML*/ - "Startar", /* Starting -HTML*/ - "Slutar", /* Ending -HTML*/ - "Angående det här arkivet", /* About this archive -HTML*/ - "sorterat på", /* Messages sorted by -HTML*/ - "Andra brevarkiv", /* Other mail archives-HTML*/ - "På Datum", /* By Date -HTML*/ - "Nyast brev", /* Most recent messages-HTML*/ - "författare", /* author -HTML*/ - "datum", /* date -HTML*/ - "tråd", /* thread -HTML*/ - "ämne", /* subject -HTML*/ - "för inställningar", /* for options -STDOUT*/ - "Skriver brev till", /* Writing messages to-STDOUT*/ - "Skriver datumindex till", /* Writing date index to-STDOUT*/ - "Skriver trådindex till", /* Writing thread index to -STDOUT*/ - "Skriver ämnesindex till", /* Writing subject index to-STDOUT*/ - "Skriver författarindex till", /* Writing author index to-STDOUT*/ - "Senaste brev datum", /* Last message date -HTML*/ - "Arkiverat", /* Archived on -HTML*/ - "Kan inte chmod", /* Can not chmod -STDERR*/ - "Kunde inte skriva", /* Could not write -STDERR*/ - "Nästa brev", /* Next message -HTML*/ - "Tidigare brev", /* Previous message -HTML*/ - "Kanske ett svar till", /* Maybe in reply to -HTML*/ - "Svar till", /* In reply to -HTML*/ - "Nästa i trden", /* Next in thread -HTML*/ - "Kanske svar", /* Maybe reply -HTML*/ - "Per tråd", /* By Thread -HTML*/ - "Per ämne", /* By Subject -HTML*/ - "Per författare", /* By Author -HTML*/ - "Kan inte skapa directory", /* Can not create directory -STDERR*/ - "Skapar directory", /* Creating directory -STDOUT*/ - "Konfigureringsvärden", /* Configuration Values -STDOUT*/ - "path", /* path -STDOUT*/ - "Fick slut på minne!", /* Ran out of memory!-STDERR*/ - "Det här arkivet skapades av", /* This archive was generated by-HTML*/ - "Delar", /* Elements -STDOUT*/ - "Inge delar", /* No Elements -STDOUT*/ - "Kan inte öppna brevarkivet", /* Cannot open mail archive */ - "Läser ny header...", /* Reading new header...-STDOUT*/ - "Laddar mailbox", /* Loading mailbox -STDOUT */ - "kodformatet stöds inte, sparat som det är", - /* encoding is not supported, stored as-is -HTML*/ - "brev", /* messages -HTML*/ - "Version", /* Version -STDOUT*/ - "Patchnivå", /* Patchlevel -STDOUT*/ - "Dokumentation", /* Docs -STDOUT*/ - "Kommando och kontrollvariabler", /* Command and Control Variables-STDOUT*/ - "Ja", /* Yes -STDOUT*/ - "Nej", /* No -STDOUT*/ - "Angående arkivet: ej använd", /* About the archive: not used-STDOUT */ - "Andra arkiv: ej använd", /* Other archives: not used-STDOUT*/ - "adress ej använd", /* address not used -STDOUT*/ - "Inbyggd använd", /* Builtin statement used-STDOUT*/ - "Kan inte läsa bde från fil och stdin.", - /* Cannot read from both file and stdin. -STDERR*/ - "Alternativ", /* Options -STDOUT*/ - "URL till andra arkiv", /* URL to other archives -STDOUT*/ - "URL till arkivinformation", /* URL to archive information -STDOUT*/ - "Konfigurationsfil att läsa in", /* Configuration file to read in -STDOUT*/ - "Directory att spara HTML-filerna i", - /* The directory to save HTML files in -STDOUT*/ - "Läs breven från standard input", /* Read messages from standard input-STDOUT*/ - "Namnet på utarkivet", /* What to name the output archive-STDOUT*/ - "Brevarkiv att läsa in", /* Mail archive to read in -STDOUT*/ - "Visa progress", /* Show progress -STDOUT*/ - "Visa konfigurationsvariabler enbart", - /* Show configuration variables only-STDOUT*/ - "Visa versionsinformation och sluta", - /* Show version information and exit -STDOUT*/ - "Updatera arkivet med ett brev", /*Update archive by one article -STDOUT*/ - "Skriv över tidigare brev", /* Overwrite previous messages -STDOUT*/ - "Ange språk att använda", /* Specify language to use -STDOUT*/ - "Användning", /* Usage -STDOUT*/ - "Språk ej supportat", /* Language not supported -STDERR*/ - "Ej angivet", /* Not set -STDOUT*/ - "Ej använt", /* Not used -STDOUT*/ - "Skapade bifogningsfil", /* Created attachment file -STDOUT*/ - "bifogning", /* attachment -HTML*/ - "mode", /* mode -STDOUT*/ - "Läser gamla headers", /* Reading old headers -STDOUT*/ - "", /* for alignment only -STDOUT*/ - "FEL", /* ERROR -STDERR*/ - "Adressen för att posta till listan", - /* The submission address of the list-STDERR*/ - "Läs bara ett mail från input", - "Författare", /* author -HTML*/ - "Datum", /* date -HTML*/ - "Ämne", /* subject -HTML*/ - "Mail actions", /* Mail actions (MA) header -HTML*/ - "mail a new topic", /* MA New Message -HTML*/ - "respond to this message", /* MA Reply -HTML*/ - NULL, /* End Of Message Table - NOWHERE*/ +struct language_entry { + char *langcode; + struct message_entry * mtable; }; -/* -** list of supported languages -*/ - -struct language_entry ltable[] = { -{ "de", de }, /* German */ -{ "en", en }, /* English */ -{ "es", es }, /* Spanish */ -{ "fi", fi }, /* Finnish */ -{ "fr", fr }, /* French */ -{ "is", is }, /* Icelandic */ -{ "se", se }, /* Swedish */ -{ NULL, NULL }, /* EOL */ +enum { + MSG_NEW_MESSAGE = 0, + MSG_REPLY, + MSG_ABOUT_THIS_LIST, + MSG_END_OF_MESSAGES, + MSG_START_OF_MESSAGES, + MSG_DATE_VIEW, + MSG_THREAD_VIEW, + MSG_SUBJECT_VIEW, + MSG_AUTHOR_VIEW, + MSG_OTHER_GROUPS, + MSG_MESSAGES, /* 10 */ + MSG_STARTING, + MSG_ENDING, + MSG_ABOUT_THIS_ARCHIVE, + MSG_SORTED_BY, + MSG_OTHER_MAIL_ARCHIVES, + MSG_BY_DATE, + MSG_MOST_RECENT_MESSAGES, + MSG_AUTHOR, + MSG_DATE, + MSG_THREAD, /* 20 */ + MSG_SUBJECT, + MSG_LAST_MESSAGE_DATE, + MSG_ARCHIVED_ON, + MSG_NEXT_MESSAGE, + MSG_PREVIOUS_MESSAGE, + MSG_MAYBE_IN_REPLY_TO, + MSG_IN_REPLY_TO, + MSG_NEXT_IN_THREAD, + MSG_MAYBE_REPLY, + MSG_BY_THREAD, + MSG_BY_SUBJECT, + MSG_BY_AUTHOR, + MSG_MAIL_ACTIONS, + MSG_MA_NEW_MESSAGE, + MSG_MA_REPLY, + MSG_ARCHIVE_GENERATED_BY, + MSG_ENCODING_IS_NOT_SUPPORTED, + MSG_ARTICLES, + MSG_ATTACHMENT, + MSG_CAUTHOR, + MSG_CDATE, + MSG_CSUBJECT, + LAST_MSG }; -/* -** Default language table -*/ -char **lang = en; - -#else - -extern char **lang; extern struct language_entry ltable[]; +extern struct message_entry * lang; #endif diff -ru ./src/lock.c ./src/lock.c --- ./src/lock.c Sun May 28 18:43:28 2000 +++ ./src/lock.c Mon Jan 15 02:41:24 2001 @@ -27,7 +27,7 @@ ++count; if (set_showprogress) - fprintf(stderr, "Waiting for lock (file '%s')\n", lockfile); + fprintf(stderr, _("Waiting for lock (file '%s')\n"), lockfile); sleep(30); } @@ -37,7 +37,7 @@ fclose(fp); } else if (dir[0]) { - sprintf(errmsg, "Couldn't create lock file \"%s\".", lockfile); + sprintf(errmsg, _("Couldn't create lock file \"%s\"."), lockfile); progerr(errmsg); } } diff -ru ./src/mem.c ./src/mem.c --- ./src/mem.c Sun May 28 18:43:28 2000 +++ ./src/mem.c Mon Jan 15 02:42:13 2001 @@ -30,7 +30,7 @@ void *p; if ((p = (void *)malloc(i)) == NULL) - progerr(lang[MSG_RAN_OUT_OF_MEMORY]); + progerr(_("Ran out of memory!")); return p; } diff -ru ./src/parse.c ./src/parse.c --- ./src/parse.c Thu Jun 8 00:10:44 2000 +++ ./src/parse.c Mon Jan 15 04:20:51 2001 @@ -1080,8 +1080,7 @@ if (use_stdin || !mbox || !strcasecmp(mbox, "NONE")) fp = stdin; else if ((fp = fopen(mbox, "r")) == NULL) { - sprintf(errmsg, "%s \"%s\".", - lang[MSG_CANNOT_OPEN_MAIL_ARCHIVE], mbox); + sprintf(errmsg, _("Cannot open mail archive \"%s\"."), mbox); progerr(errmsg); } @@ -1105,12 +1104,12 @@ /* now what has this to do if readone is set or not? (Daniel) */ if (set_showprogress) { if (readone) - printf("%s\n", lang[MSG_READING_NEW_HEADER]); + printf(_("Reading new header...\n")); else { if ((mbox && !strcasecmp(mbox, "NONE")) || use_stdin) - printf("%s...\n", lang[MSG_LOADING_MAILBOX]); + printf("Loading mailbox...\n"); else - printf("%s \"%s\"...\n", lang[MSG_LOADING_MAILBOX], mbox); + printf("Loading mailbox \"%s\"...\n", mbox); } } @@ -1588,7 +1587,7 @@ sscanf(ptr, "%63s", code); sprintf(line, " ('%s' %s)\n", code, - lang[MSG_ENCODING_IS_NOT_SUPPORTED]); + lang_tr(MSG_ENCODING_IS_NOT_SUPPORTED)); bp = addbody(bp, &lp, line, @@ -2014,8 +2013,8 @@ if (-1 != binfile) { chmod(binname, set_filemode); if (set_showprogress) - print_progress(num, lang - [MSG_CREATED_ATTACHMENT_FILE], + print_progress(num, + _("Created attachment file"), binname); if (set_usemeta) { /* write the mime meta info */ @@ -2112,7 +2111,7 @@ "%s
    \n
  • %s %s: %s\n
\n", (set_showhr ? "
\n" : ""), type, - lang[MSG_ATTACHMENT], + lang_tr(MSG_ATTACHMENT), created_link, desc); free(created_link); @@ -2239,9 +2238,9 @@ } if (set_showprogress && !readone) - print_progress(num, lang[MSG_ARTICLES], NULL); + print_progress(num, _("messages"), NULL); #if DEBUG_PARSE - printf("\b\b\b\b%4d %s.\n", num, lang[MSG_ARTICLES]); + printf(_("\b\b\b\b%4d messages.\n"), num); #endif /* kpm - this is to prevent the closing of std and hypermail crashing @@ -2326,7 +2325,7 @@ authorlist = subjectlist = datelist = NULL; if (set_showprogress) - printf("%s...\n", lang[MSG_READING_OLD_HEADERS]); + printf(_("Reading old headers...\n")); /* * fromdate == @@ -2462,7 +2461,7 @@ free(filename); if (set_showprogress) - printf("\b\b\b\b%4d %s.\n", num, lang[MSG_ARTICLES]); + printf(_("\b\b\b\b%4d messages.\n"), num); /* can we clean up a bit please... */ @@ -2525,7 +2524,7 @@ } } fprintf(fp, "
  • %s: ", - lang[MSG_NEXT_MESSAGE]); + lang_tr(MSG_NEXT_MESSAGE)); fprintf(fp, "%s: \"%s\"\n", num + 1, set_htmlsuffix, email->name, ptr = convchars(email->subject)); @@ -2608,7 +2607,7 @@ if (fp) { while (bp) { if (!strncmp(bp->line, "