home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD2.mdf / c / library / os2 / remind / src / french.h < prev    next >
Encoding:
C/C++ Source or Header  |  1993-10-13  |  15.4 KB  |  425 lines

  1. /***************************************************************/
  2. /*                                                             */
  3. /*  FRENCH.H                                                   */
  4. /*                                                             */
  5. /*  Support for the French language.                           */
  6. /*                                                             */
  7. /*  Contributed by Laurent Duperval.                           */
  8. /*                                                             */
  9. /*  This file is part of REMIND.                               */
  10. /*                                                             */
  11. /*  REMIND is Copyright (C) 1992, 1993 by David F. Skoll.      */
  12. /*  This file is Copyright (C) 1993 by Laurent Duperval and    */
  13. /*  David F. Skoll.                                            */
  14. /*                                                             */
  15. /***************************************************************/
  16.  
  17. /* The very first define in a language support file must be L_LANGNAME: */
  18. #define L_LANGNAME "French"
  19.  
  20. /* Day names */
  21. #define L_SUNDAY "dimanche"
  22. #define L_MONDAY "lundi"
  23. #define L_TUESDAY "mardi"
  24. #define L_WEDNESDAY "mercredi"
  25. #define L_THURSDAY "jeudi"
  26. #define L_FRIDAY "vendredi"
  27. #define L_SATURDAY "samedi"
  28.  
  29. /* Day initials - first letter only */
  30. #define L_DAYINIT "dlmmjvs"
  31.  
  32. /* Month names */
  33. #define L_JAN "janvier"
  34. #ifdef ISOLATIN1
  35. #define L_FEB "f\351vrier"
  36. #else
  37. #define L_FEB "fevrier"
  38. #endif
  39. #define L_MAR "mars"
  40. #define L_APR "avril"
  41. #define L_MAY "mai"
  42. #define L_JUN "juin"
  43. #define L_JUL "juillet"
  44. #ifdef ISOLATIN1
  45. #define L_AUG "ao\373t"
  46. #else
  47. #define L_AUG "aout"
  48. #endif
  49. #define L_SEP "septembre"
  50. #define L_OCT "octobre"
  51. #define L_NOV "novembre"
  52. #ifdef ISOLATIN1
  53. #define L_DEC "d\351cembre"
  54. #else
  55. #define L_DEC "decembre"
  56. #endif
  57. /* Today and tomorrow */
  58. #define L_TODAY "aujourd'hui"
  59. #define L_TOMORROW "demain"
  60.  
  61. /* The default banner */
  62. #define L_BANNER "Rappels pour %w, %d%s %m, %y%o:"
  63.  
  64. /* "am" and "pm" */
  65. #define L_AM "am"
  66. #define L_PM "pm"
  67.  
  68. /*** The following are only used in dosubst.c ***/
  69. #ifdef L_IN_DOSUBST
  70.  
  71. /* Ago and from now */
  72. #define L_AGO "il y a"
  73. #define L_FROMNOW "dans"
  74.  
  75. /* "in %d days' time" */
  76. #define L_INXDAYS "dans %d jours"
  77.  
  78. /* "on" as in "on date..." */
  79. #define L_ON "le"
  80.  
  81. /* Pluralizing - this is a problem for many languages and may require
  82.    a more drastic fix */
  83. #define L_PLURAL "s"
  84.  
  85. /* Minutes, hours, at, etc */
  86. #define L_NOW "maintenant"
  87. #ifdef ISOLATIN1
  88. #define L_AT "\340"
  89. #else
  90. #define L_AT "a"
  91. #endif
  92. #define L_MINUTE "minute"
  93. #define L_HOUR "heure"
  94. #define L_IS "est"
  95. #ifdef ISOLATIN1
  96. #define L_WAS "\351tait"
  97. #else
  98. #define L_WAS "etait"
  99. #endif
  100. #define L_AND "et"
  101. /* What to add to make "hour" plural */
  102. #define L_HPLU "s"  
  103. /* What to add to make "minute" plural */
  104. #define L_MPLU "s"
  105.  
  106. /* Define any overrides here, such as L_ORDINAL_OVERRIDE, L_A_OVER, etc.
  107.    See the file dosubst.c for more info. */
  108.  
  109. #define L_ORDINAL_OVERRIDE \
  110.    switch(d) { \
  111.       case 1: plu = "er"; break; \
  112.        \
  113.       default: plu = ""; break; \
  114.    }
  115.  
  116. #define L_1_OVER \
  117. if (tdiff == 0) \
  118.    sprintf(s, L_NOW); \
  119. else if (tdiff < 0) { \
  120.    if (mdiff == 0) \
  121.       sprintf(s, "il y a %d heure%s", hdiff, hplu); \
  122.    else if (hdiff == 0) \
  123.       sprintf(s, "il y a %d minute%s", mdiff, mplu); \
  124.    else \
  125.       sprintf(s, "il y a %d heure%s et %d minute%s", hdiff, hplu, mdiff, mplu); \
  126. } else { \
  127.    if (mdiff == 0) \
  128.       sprintf(s, "dans %d heure%s", hdiff, hplu); \
  129.    else if (hdiff == 0) \
  130.       sprintf(s, "dans %d minute%s", mdiff, mplu); \
  131.    else \
  132.       sprintf(s, "dans %d heure%s et %d minute%s", hdiff, hplu, mdiff, mplu); \
  133. }
  134.  
  135. #define L_J_OVER \
  136.         sprintf(s, "%s %s, %d%s %s, %d", L_ON, DayName[jul%7], \
  137.                d, plu, MonthName[m], y);
  138.  
  139. #define L_K_OVER \
  140.         sprintf(s, "%s %s, %d%s %s", L_ON, DayName[jul%7], \
  141.                d, plu, MonthName[m]);
  142.  
  143. #endif /* L_IN_DOSUBST */
  144.  
  145. /* The next ones are used only when MK_GLOBALS is set */
  146. #ifdef MK_GLOBALS
  147. #define L_ERR_OVERRIDE 1
  148. EXTERN char *ErrMsg[] =
  149. {
  150. #ifdef ISOLATIN1
  151.    "Ok",
  152.    "']' manquant",
  153.    "Apostrophe manquant",
  154.    "Expression trop complexe - trop d'op\351rateurs",
  155.    "Expression trop complexe - trop d'op\351randes",
  156.    "')' manquante",
  157.    "Fonction non-d\351finie",
  158.    "Caract\350re ill\351gal",
  159.    "Op\351rateur binaire attendu",
  160.    "Manque de m\351moire",
  161.    "Nombre mal form\351",
  162.    "Erreur interne - 'underflow' de la pile d'op\351rateurs",
  163.    "Erreur interne - 'underflow' de la pile de variables",
  164.    "Impossible de convertir",
  165.    "Types non-\351quivalents",
  166.    "D\351bordement de date",
  167.    "Erreur interne - erreur de pile",
  168.    "Division par z\351ro",
  169.    "Variable non d\351finie",
  170.    "Fin de ligne non attendue",
  171.    "Fin de fichier non attendue",
  172.    "Erreur I/O",
  173.    "Ligne trop longue",
  174.    "Erreur interne",
  175.    "Mauvaise date sp\351cifi\351e",
  176.    "Pas assez d'arguments",
  177.    "Trop d'arguments",
  178.    "Heure mal form\351e",
  179.    "Nombre trop \351lev\351",
  180.    "Nombre trop bas",
  181.    "Impossible d'ouvrir le fichier",
  182.    "Trop d'INCLUDE imbriqu\351s",
  183.    "Erreur d'analyse",
  184.    "Impossible de calculer le d\351clenchement",
  185.    "Trop de IF imbriqu\351s",
  186.    "ELSE sans IF correspondant",
  187.    "ENDIF sans IF correspondant",
  188.    "Impossible d'omettre (OMIT) tous les jours",
  189.    "El\351ment(s) \351tranger(s) sur la ligne",
  190.    "POP-OMIT-CONTEXT sans PUSH-OMIT-CONTEXT correspondant",
  191.    "RUN d\351activ\351",
  192.    "Erreur de domaine",
  193.    "Identificateur invalide",
  194.    "Appel r\351cursif d\351tect\351",
  195.    "",
  196.    "Impossible de modifier une variable syst\350me",
  197.    "Fonction de la librairie C ne peut repr\351senter la date/l'heure",
  198.    "Tentative de red\351finition d'une fonction intrins\350que",
  199.    "Impossible d'imbriquer une d\351finition de fonction dans une expression",
  200.    "Pour utiliser le facteur de r\351p\351tition la date doit \352tre sp\351cifi\351e au complet",
  201.    "Ann\351e sp\351cifi\351e deux fois",
  202.    "Mois sp\351cifi\351 deux fois",
  203.    "Jour sp\351cifi\351 deux fois",
  204.    "El\351ment inconnu",
  205.    "Mois et jour doivent \352tre sp\351cifi\351s dans commande OMIT",
  206.    "Trop de OMITs partiels",
  207.    "Trop de OMITs complets",
  208.    "Attention: PUSH-OMIT-CONTEXT sans POP-OMIT-CONTEXT correspondant",
  209.    "Erreur \340 la lecture du fichier",
  210.    "Fin de ligne attendue",
  211.    "Date h\351breuse invalide",
  212.    "IIF demande nombre d'arguments impair",
  213.    "Attention: ENDIF manquant",
  214.    "Virgule attendue",
  215.    "Jour de la semaine sp\351cifi\351 deux fois",
  216.    "Utiliser un seul parmi BEFORE, AFTER ou SKIP",
  217.    "Impossible d'imbriquer MSG, MSF, RUN, etc. dans une expression",
  218.    "Valeur de r\351p\351tition sp\351cifi\351e deux fois",
  219.    "Valeur delta sp\351cifi\351e deux fois",
  220.    "Valeur de retour sp\351cifi\351e deux fois",
  221.    "Mot-cl\351 ONCE utilis\351 deux fois. (Hah.)",
  222.    "Heure attendue apr\350s AT",
  223.    "Mot-cl\351 UNTIL utilis\351 deux fois",
  224.    "Sp\351cification de date incompl\350te",
  225.    "Mot-cl\351 SCANFROM utilis\351 deux fois",
  226.    "Variable",
  227.    "Valeur",
  228.    "*NON-DEFINI*",
  229.    "Entr\351e dans UserFN",
  230.    "Sortie de UserFN",
  231.    "Expir\351",
  232.    "fork() \351chou\351 - impossible de faire les appels en queue",
  233.    "Impossible d'acc\351der au fichier",
  234.    "Date syst\350me ill\351gale: Ann\351e est inf\351rieure \340 %d\n",
  235.    "Option de d\351verminage inconnue '%c'\n",
  236.    "Option inconnue '%c'\n",
  237.    "Usager inconnu '%s'\n",
  238.    "Impossible de changer gid pour %d\n",
  239.    "Impossible de changer uid pour %d\n",
  240.    "Manque de m\351moire pour environnement\n",
  241.    "Signe '=' manquant",
  242.    "Nom de variable absent",
  243.    "Expression absente",
  244.    "Impossible de changer la date d'acc\350s de %s\n",
  245.    "Remind: '-i' option: %s\n",
  246.    "Pas de rappels.",
  247.    "%d rappel(s) en file pour aujourd'hui.\n",
  248.    "Nombre attendu"
  249. #else /* ISOLATIN1 */
  250.    "Ok",
  251.    "']' manquant",
  252.    "Apostrophe manquant",
  253.    "Expression trop complexe - trop d'operateurs",
  254.    "Expression trop complexe - trop d'operandes",
  255.    "')' manquante",
  256.    "Fonction non-definie",
  257.    "Caractere illegal",
  258.    "Operateur binaire attendu",
  259.    "Manque de memoire",
  260.    "Nombre mal forme",
  261.    "Erreur interne - 'underflow' de la pile d'operateurs",
  262.    "Erreur interne - 'underflow' de la pile de variables",
  263.    "Impossible de convertir",
  264.    "Types non-equivalents",
  265.    "Debordement de date",
  266.    "Erreur interne - erreur de pile",
  267.    "Division par zero",
  268.    "Variable non definie",
  269.    "Fin de ligne non attendue",
  270.    "Fin de fichier non attendue",
  271.    "Erreur I/O",
  272.    "Ligne trop longue",
  273.    "Erreur interne",
  274.    "Mauvaise date specifiee",
  275.    "Pas assez d'arguments",
  276.    "Trop d'arguments",
  277.    "Heure mal formee",
  278.    "Nombre trop eleve",
  279.    "Nombre trop bas",
  280.    "Impossible d'ouvrir le fichier",
  281.    "Trop d'INCLUDE imbriques",
  282.    "erreur d'analyse",
  283.    "Impossible de calculer le declenchement",
  284.    "Trop de IF imbriques",
  285.    "ELSE sans IF correspondant",
  286.    "ENDIF sans IF correspondant",
  287.    "Impossible d'omettre (OMIT) tous les jours",
  288.    "Element(s) etranger(s) sur la ligne",
  289.    "POP-OMIT-CONTEXT sans PUSH-OMIT-CONTEXT correspondant",
  290.    "RUN desactive",
  291.    "Erreur de domaine",
  292.    "Identificateur invalide",
  293.    "Appel recursif detecte",
  294.    "",
  295.    "Impossible de modifier une variable systeme",
  296.    "Fonction de la librairie C ne peut representer la date/l'heure",
  297.    "Tentative de redefinition d'une fonction intrinseque",
  298.    "Impossible d'imbriquer une definition de fonction dans une expression",
  299.    "Pour utiliser le facteur de repetition la date doit etre specifiee au complet",
  300.    "Annee specifiee deux fois",
  301.    "Mois specifie deux fois",
  302.    "Jour specifie deux fois",
  303.    "Element inconnu",
  304.    "Mois et jour doivent etre specifies dans commande OMIT",
  305.    "Trop de OMITs partiels",
  306.    "Trop de OMITs complets",
  307.    "Attention: PUSH-OMIT-CONTEXT sans POP-OMIT-CONTEXT correspondant",
  308.    "Erreur a la lecture du fichier",
  309.    "Fin de ligne attendue",
  310.    "Date hebreuse invalide",
  311.    "IIF demande nombre d'arguments impair",
  312.    "Attention: ENDIF manquant",
  313.    "Virgule attendue",
  314.    "Jour de la semaine specifie deux fois",
  315.    "Utiliser un seul parmi BEFORE, AFTER ou SKIP",
  316.    "Impossible d'imbriquer MSG, MSF, RUN, etc. dans une expression",
  317.    "Valeur de repetition specifiee deux fois",
  318.    "Valeur delta specifiee deux fois",
  319.    "Valeur de retour specifiee deux fois",
  320.    "Mot-cle ONCE utilise deux fois. (Hah.)",
  321.    "Heure attendue apres AT",
  322.    "Mot-cle UNTIL utilise deux fois",
  323.    "Specification de date incomplete",
  324.    "Mot-cle SCANFROM utilise deux fois",
  325.    "Variable",
  326.    "Valeur",
  327.    "*NON-DEFINI*",
  328.    "Entree dans UserFN",
  329.    "Sortie de UserFN",
  330.    "Expire",
  331.    "fork() echoue - impossible de faire les appels en queue",
  332.    "Impossible d'acceder au fichier",
  333.    "Date systeme illegale: Annee est inferieure a %d\n",
  334.    "Option de deverminage inconnue '%c'\n",
  335.    "Option inconnue '%c'\n",
  336.    "Usager inconnu '%s'\n",
  337.    "Impossible de changer gid pour %d\n",
  338.    "Impossible de changer uid pour %d\n",
  339.    "Manque de memoire pour environnement\n",
  340.    "Signe '=' manquant",
  341.    "Nom de variable absent",
  342.    "Expression absente",
  343.    "Impossible de changer la date d'acces de %s\n",
  344.    "Remind: '-i' option: %s\n",
  345.    "Pas de rappels.",
  346.    "%d rappel(s) en file pour aujourd'hui.\n",
  347.    "Nombre attendu"
  348. #endif /* ISOLATIN1 */
  349. };
  350. #endif /* MK_GLOBALS */
  351.  
  352. /* The following is only used in init.c */
  353. #ifdef L_IN_INIT
  354. #define L_USAGE_OVERRIDE 1
  355. #ifdef HAVE_PROTOS
  356. PUBLIC void Usage(void)
  357. #else
  358. void Usage()
  359. #endif /* HAVE_PROTOS */
  360. {
  361.    fprintf(ErrFp, "\nREMIND %s (%s version) Copyright 1992, 1993 by David F. Skoll\n", VERSION, L_LANGNAME);
  362. #ifdef BETA
  363.    fprintf(ErrFp, ">>>> BETA VERSION <<<<\n");
  364. #endif
  365. #ifdef ISOLATIN1
  366.    fprintf(ErrFp, "\nUtilisation: remind [options] fichier [date] [*r\351p\351tition]\n");
  367.    fprintf(ErrFp, "Options:\n");
  368.    fprintf(ErrFp, " -n     Afficher la prochaine occurence des rappels en format simple\n");
  369.    fprintf(ErrFp, " -r     D\351sactiver les instructions RUN\n");
  370.    fprintf(ErrFp, " -c[n]  Produire un calendrier pour n (d\351faut 1) mois\n");
  371.    fprintf(ErrFp, " -c+[n] Produire un calendrier pour n (d\351faut 1) semaines\n");
  372.    fprintf(ErrFp, " -w[n[,p[,s]]]  Sp\351cifier largeur, remplissage et espacement du calendrier\n");
  373.    fprintf(ErrFp, " -s[+][n] Produire un 'calendrier simple' pour n (1) mois (semaines)\n");
  374.    fprintf(ErrFp, " -p[n]  Comme -s, mais avec entr\351e compatible avec rem2ps\n");
  375.    fprintf(ErrFp, " -v     Mode verbeux\n");
  376.    fprintf(ErrFp, " -o     Ignorer instructions ONCE\n");
  377.    fprintf(ErrFp, " -t     D\351clencher tous les rappels peu importe le delta\n");
  378.    fprintf(ErrFp, " -h     Mode silencieux\n");
  379. #ifdef HAVE_QUEUED
  380.    fprintf(ErrFp, " -a     Ne pas d\351clencher les rappels minut\351s imm\351diatement - les mettre en file\n");
  381.    fprintf(ErrFp, " -q     Ne pas mettre les rappels minut\351s en file\n");
  382.    fprintf(ErrFp, " -f     D\351clencher les rappels minut\351s imm\351diatement en restant en avant-plan\n");
  383.    fprintf(ErrFp, " -z[n]  Entrer en mode 'daemon', r\351veil chaque n (5) minutes\n");
  384. #endif
  385.    fprintf(ErrFp, " -d...  Debug: e=echo x=expr-eval t=trig v=dumpvars l=showline\n");
  386.    fprintf(ErrFp, " -e     Envoyer les messages de stderr \340 stdout\n");
  387.    fprintf(ErrFp, " -b[n]  Formats de l'heure pour le calendrier: 0=am/pm, 1=24hr, 2=aucun\n");
  388.    fprintf(ErrFp, " -x[n]  Limite d'it\351rations pour la clause SATISFY (def=150)\n");
  389.    fprintf(ErrFp, " -kcmd  Ex\351cuter 'cmd' pour les rappels de type MSG\n");
  390.    fprintf(ErrFp, " -g[ddd] Trier les rappels par date, heure et priorit\351 avant d'\351mettre\n");
  391.    fprintf(ErrFp, " -ivar=val Initialiser var \340 val et conserver var\n\n");
  392.    fprintf(ErrFp, " -m     Commencer le calendrier avec lundi plutot que dimanche");
  393. #else /* ISOLATIN1 */
  394.    fprintf(ErrFp, "\nUtilisation: remind [options] fichier [date] [*repetition]\n");
  395.    fprintf(ErrFp, "Options:\n");
  396.    fprintf(ErrFp, " -n     Afficher la prochaine occurence des rappels en format simple\n");
  397.    fprintf(ErrFp, " -r     Desactiver les instructions RUN\n");
  398.    fprintf(ErrFp, " -c[n]  Produire un calendrier pour n (defaut 1) mois\n");
  399.    fprintf(ErrFp, " -c+[n] Produire un calendrier pour n (defaut 1) semaines\n");
  400.    fprintf(ErrFp, " -w[n[,p[,s]]]  Specifier largeur, remplissage et espacement du calendrier\n");
  401.    fprintf(ErrFp, " -s[+][n] Produire un 'calendrier simple' pour n (1) mois (semaines)\n");
  402.    fprintf(ErrFp, " -p[n]  Comme -s, mais avec entree compatible avec rem2ps\n");
  403.    fprintf(ErrFp, " -v     Mode verbeux\n");
  404.    fprintf(ErrFp, " -o     Ignorer instructions ONCE\n");
  405.    fprintf(ErrFp, " -t     Declencher tous les rappels peu importe le delta\n");
  406.    fprintf(ErrFp, " -h     Mode silencieux\n");
  407. #ifdef HAVE_QUEUED
  408.    fprintf(ErrFp, " -a     Ne pas declencher les rappels minutes immediatement - les mettre en file\n");
  409.    fprintf(ErrFp, " -q     Ne pas mettre les rappels minutes en file\n");
  410.    fprintf(ErrFp, " -f     Declencher les rappels minutes immediatement en restant en avant-plan\n");
  411.    fprintf(ErrFp, " -z[n]  Entrer en mode 'daemon', reveil chaque n (5) minutes\n");
  412. #endif
  413.    fprintf(ErrFp, " -d...  Debug: e=echo x=expr-eval t=trig v=dumpvars l=showline\n");
  414.    fprintf(ErrFp, " -e     Envoyer les messages de stderr a stdout\n");
  415.    fprintf(ErrFp, " -b[n]  Formats de l'heure pour le calendrier: 0=am/pm, 1=24hr, 2=aucun\n");
  416.    fprintf(ErrFp, " -x[n]  Limite d'iterations pour la clause SATISFY (def=150)\n");
  417.    fprintf(ErrFp, " -kcmd  Executer 'cmd' pour les rappels de type MSG\n");
  418.    fprintf(ErrFp, " -g[ddd] Trier les rappels par date, heure et priorite avant d'emettre\n");
  419.    fprintf(ErrFp, " -ivar=val Initialiser var a val et conserver var\n\n");
  420.    fprintf(ErrFp, " -m     Commencer le calendrier avec lundi plutot que dimanche");
  421. #endif /* ISOLATIN1 */
  422.    exit(1);
  423. }
  424. #endif /* L_IN_INIT */
  425.