aplat

Documents structurés pour Unix
git clone git://git.asteride.xyz/~ldp/aplat.git
Journaux | Fichiers | Références | LISEZ-MOI | LICENCE

commit b4ec76c874658c0af348da396bee582b8c8901f0
parent b73e6be7f78bb28817984d37c8822d9ec18178d5
Auteur: Selve <selve@asteride.xyz>
Date:   Sat, 20 Jan 2024 17:31:01 -0500

internationalisation

Diffstat:
Maplat.c | 17+++++++++++++----
Atrad.h | 18++++++++++++++++++
2 files changed, 31 insertions(+), 4 deletions(-)

diff --git a/aplat.c b/aplat.c @@ -2,6 +2,9 @@ #include <stdio.h> #include <stdlib.h> +#include <nl_types.h> +#include "trad.h" + #include "tampon.h" #define TLL_ETQ 4096 /* taille initiale du tampon à étiquettes */ @@ -27,7 +30,8 @@ static int afficher_ligne(struct tampon *, struct tampon *, int *); static int guillemets(FILE *, struct tampon *); static int bloc(FILE *, struct tampon *); -char *nom_prog; /* nom du programme */ +char *nom_prog; /* nom du programme */ +nl_catd catd; struct tampon etq; /* tampon à étiquettes */ struct tampon ctn; /* tampon à texte */ @@ -38,6 +42,8 @@ main(int argc, char **argv) if ((nom_prog = argv[0]) == NULL || nom_prog[0] == '\0') nom_prog = "aplat"; + catd = catopen("aplat", 0); + if (argc > 1) { utilisation(); return 1; @@ -56,7 +62,8 @@ main(int argc, char **argv) static void utilisation(void) { - printf("UTILISATION: %s <[fichier]\n", nom_prog); + printf(catgets(catd, ESMBL, TRAD_I_UTILISATION, TRAD_M_UTILISATION), + nom_prog); } static int transformer(FILE *f) @@ -76,7 +83,7 @@ static int transformer(FILE *f) return 0; default: fprintf(stderr, - "%s: le premier caractère affichable doit être « ( »\n", + catgets(catd, ESMBL, TRAD_I_ERR_PREMCAR, TRAD_M_ERR_PREMCAR), nom_prog); return -1; } @@ -151,7 +158,9 @@ ferm: assert(0); deseq: - fprintf(stderr, "%s: parenthèses déséquilibrées\n", nom_prog); + fprintf(stderr, + catgets(catd, ESMBL, TRAD_I_ERR_PAR, TRAD_M_ERR_PAR), + nom_prog); return -1; } diff --git a/trad.h b/trad.h @@ -0,0 +1,18 @@ +#ifndef TRAD_H +#define TRAD_H + +#define ESMBL 1 /* ensemble pour catgets */ + +#define TRAD_I_UTILISATION 1 +#define TRAD_M_UTILISATION \ +"UTILISATION: %s <[fichier]\n" + +#define TRAD_I_ERR_PREMCAR 2 +#define TRAD_M_ERR_PREMCAR \ +"%s: le premier caractère affichable doit être « ( »\n" + +#define TRAD_I_ERR_PAR 3 +#define TRAD_M_ERR_PAR \ +"%s: parenthèses déséquilibrées\n" + +#endif