home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / misc / volume36 / remind / patch04c / finnish.h next >
Encoding:
C/C++ Source or Header  |  1993-03-07  |  5.6 KB  |  152 lines

  1. /***************************************************************/
  2. /*                                                             */
  3. /*  FINNISH.H                                                  */
  4. /*                                                             */
  5. /*  Support for the Finnish language.                          */
  6. /*                                                             */
  7. /*  Author: Mikko Silvonen (Mikko.Silvonen@Helsinki.FI)        */
  8. /*                                                             */
  9. /*  This file is part of REMIND.                               */
  10. /*  Copyright (C) 1992, 1993 by David F. Skoll.                */
  11. /*                                                             */
  12. /***************************************************************/
  13.  
  14. /* All Finnish words in this file are in "7-bit Finnish ASCII";
  15.    they can be converted to other character sets if needed. */
  16.    
  17. /* The very first define in a language support file must be L_LANGNAME: */
  18. #define L_LANGNAME "Finnish"
  19.  
  20. /* Day names */
  21. #define L_SUNDAY "sunnuntai"
  22. #define L_MONDAY "maanantai"
  23. #define L_TUESDAY "tiistai"
  24. #define L_WEDNESDAY "keskiviikko"
  25. #define L_THURSDAY "torstai"
  26. #define L_FRIDAY "perjantai"
  27. #define L_SATURDAY "lauantai"
  28.  
  29. /* Day initials - first letter only */
  30. #define L_DAYINIT "SMTKTPL"
  31.  
  32. /* Month names */
  33. #define L_JAN "tammikuu"
  34. #define L_FEB "helmikuu"
  35. #define L_MAR "maaliskuu"
  36. #define L_APR "huhtikuu"
  37. #define L_MAY "toukokuu"
  38. #define L_JUN "kes{kuu"
  39. #define L_JUL "hein{kuu"
  40. #define L_AUG "elokuu"
  41. #define L_SEP "syyskuu"
  42. #define L_OCT "lokakuu"
  43. #define L_NOV "marraskuu"
  44. #define L_DEC "joulukuu"
  45.  
  46. /* Today and tomorrow */
  47. #define L_TODAY "t{n{{n"
  48. #define L_TOMORROW "huomenna"
  49.  
  50. /* The default banner */
  51. #define L_BANNER "Viestit %wna, %d. %mta %y%o:"
  52.  
  53. /* "am" and "pm" */
  54. #define L_AM "ap"
  55. #define L_PM "ip"
  56.  
  57. /*** The following are only used in dosubst.c ***/
  58. #ifdef L_IN_DOSUBST
  59.  
  60. /* Ago and from now */
  61. #define L_AGO "sitten"
  62. #define L_FROMNOW "kuluttua"
  63.  
  64. /* "in %d days' time" */
  65. #define L_INXDAYS "%d p{iv{n kuluttua"
  66.  
  67. /* "on" as in "on date...", but in Finnish it is a case ending;
  68.    L_PARTIT is the partitive ending appended to -kuu and -tai */
  69. #define L_ON "na"
  70. #define L_PARTIT "ta"
  71.  
  72. /* Pluralizing - this is a problem for many languages and may require
  73.    a more drastic fix */
  74. /* The partitive ending of "day" */
  75. #define L_PLURAL "{"
  76.  
  77. /* Minutes, hours, at, etc */
  78. #define L_NOW "nyt"
  79. #define L_AT "klo"
  80. #define L_MINUTE "minuutti"
  81. #define L_HOUR "tunti"
  82. #define L_IS "on"
  83. #define L_WAS "oli"
  84. #define L_AND "ja"
  85.  
  86. /* What to add to make "hour" plural (or actually partitive) */
  87. #define L_HPLU "a"  
  88. /* What to add to make "minute" plural (or actually partitive) */
  89. #define L_MPLU "a"
  90.  
  91. /* Genitive form of "hour" */
  92. #define L_HGEN "tunnin"
  93. /* Genitive form of "minute" */
  94. #define L_MGEN "minuutin"
  95.  
  96. /* Define any overrides here, such as L_ORDINAL_OVERRIDE, L_A_OVER, etc.
  97.    See the file dosubst.c for more info. */
  98.  
  99. #define L_ORDINAL_OVERRIDE switch(d) { \
  100.                                case 1:  plu = ":sen{"; break; \
  101.                                case 2:  plu = ":sena"; break; \
  102.                                default: \
  103.                                    switch(d%10) { \
  104.                                        case 2: \
  105.                                        case 3: \
  106.                                        case 6: \
  107.                                        case 8:  plu = ":ntena"; break; \
  108.                                        default: plu = ":nten{"; break; \
  109.                                    } \
  110.                            }
  111. #define L_A_OVER sprintf(s, "%s%s, %d. %s%s %d", DayName[jul%7], L_ON, d, \
  112.                          MonthName[m], L_PARTIT, y);
  113. #define L_C_OVER sprintf(s, "%s%s", DayName[jul%7], L_ON);
  114. #define L_E_OVER sprintf(s, "%02d%c%02d%c%04d", d, DATESEP, m+1, DATESEP, \
  115.                          y);
  116. #define L_F_OVER sprintf(s, "%02d%c%02d%c%04d", m+1, DATESEP, d, DATESEP, y);
  117. #define L_G_OVER sprintf(s, "%s%s, %d. %s%s", DayName[jul%7], L_ON, d, \
  118.                          MonthName[m], L_PARTIT);
  119. #define L_H_OVER sprintf(s, "%02d%c%02d", d, DATESEP, m+1);
  120. #define L_I_OVER sprintf(s, "%02d%c%02d", m+1, DATESEP, d);
  121. #define L_J_OVER sprintf(s, "%s%s, %sn %d%s %d", DayName[jul%7], L_ON, \
  122.                          MonthName[m], d, plu, y);
  123. #define L_K_OVER sprintf(s, "%s%s, %sn %d%s", DayName[jul%7], L_ON, \
  124.                MonthName[m], d, plu);
  125. #define L_L_OVER sprintf(s, "%04d%c%02d%c%02d", y, DATESEP, m+1, DATESEP, d);
  126. #define L_Q_OVER sprintf(s, "n");
  127. #define L_U_OVER sprintf(s, "%s%s, %d%s %s%s %d", DayName[jul%7], L_ON, \
  128.                             d, plu, MonthName[m], L_PARTIT, y);
  129. #define L_V_OVER sprintf(s, "%s%s, %d%s %s%s", DayName[jul%7], L_ON, d, \
  130.                          plu, MonthName[m], L_PARTIT);
  131. #define L_1_OVER if (tdiff == 0) \
  132.                      sprintf(s, L_NOW); \
  133.                  else { \
  134.                      if (hdiff != 0) { \
  135.                          if (tdiff < 0) \
  136.                              sprintf(s, "%d %s%s ", hdiff, L_HOUR, hplu); \
  137.                          else \
  138.                              sprintf(s, "%d %s ", hdiff, L_HGEN); \
  139.                          s += strlen(s); \
  140.                      } \
  141.                      if (mdiff != 0) { \
  142.                          if (tdiff < 0) \
  143.                              sprintf(s, "%d %s%s ", mdiff, L_MINUTE, \
  144.                                      mplu); \
  145.                          else \
  146.                              sprintf(s, "%d %s ", mdiff, L_MGEN); \
  147.                          s += strlen(s); \
  148.                      } \
  149.                      sprintf(s, when); \
  150.                  }
  151. #endif /* L_IN_DOSUBST */
  152.