home *** CD-ROM | disk | FTP | other *** search
- /***************************************************************/
- /* */
- /* FINNISH.H */
- /* */
- /* Support for the Finnish language. */
- /* */
- /* Author: Mikko Silvonen (Mikko.Silvonen@Helsinki.FI) */
- /* */
- /* This file is part of REMIND. */
- /* Copyright (C) 1992, 1993 by David F. Skoll. */
- /* */
- /***************************************************************/
-
- /* All Finnish words in this file are in "7-bit Finnish ASCII";
- they can be converted to other character sets if needed. */
-
- /* The very first define in a language support file must be L_LANGNAME: */
- #define L_LANGNAME "Finnish"
-
- /* Day names */
- #define L_SUNDAY "sunnuntai"
- #define L_MONDAY "maanantai"
- #define L_TUESDAY "tiistai"
- #define L_WEDNESDAY "keskiviikko"
- #define L_THURSDAY "torstai"
- #define L_FRIDAY "perjantai"
- #define L_SATURDAY "lauantai"
-
- /* Day initials - first letter only */
- #define L_DAYINIT "SMTKTPL"
-
- /* Month names */
- #define L_JAN "tammikuu"
- #define L_FEB "helmikuu"
- #define L_MAR "maaliskuu"
- #define L_APR "huhtikuu"
- #define L_MAY "toukokuu"
- #define L_JUN "kes{kuu"
- #define L_JUL "hein{kuu"
- #define L_AUG "elokuu"
- #define L_SEP "syyskuu"
- #define L_OCT "lokakuu"
- #define L_NOV "marraskuu"
- #define L_DEC "joulukuu"
-
- /* Today and tomorrow */
- #define L_TODAY "t{n{{n"
- #define L_TOMORROW "huomenna"
-
- /* The default banner */
- #define L_BANNER "Viestit %wna, %d. %mta %y%o:"
-
- /* "am" and "pm" */
- #define L_AM "ap"
- #define L_PM "ip"
-
- /*** The following are only used in dosubst.c ***/
- #ifdef L_IN_DOSUBST
-
- /* Ago and from now */
- #define L_AGO "sitten"
- #define L_FROMNOW "kuluttua"
-
- /* "in %d days' time" */
- #define L_INXDAYS "%d p{iv{n kuluttua"
-
- /* "on" as in "on date...", but in Finnish it is a case ending;
- L_PARTIT is the partitive ending appended to -kuu and -tai */
- #define L_ON "na"
- #define L_PARTIT "ta"
-
- /* Pluralizing - this is a problem for many languages and may require
- a more drastic fix */
- /* The partitive ending of "day" */
- #define L_PLURAL "{"
-
- /* Minutes, hours, at, etc */
- #define L_NOW "nyt"
- #define L_AT "klo"
- #define L_MINUTE "minuutti"
- #define L_HOUR "tunti"
- #define L_IS "on"
- #define L_WAS "oli"
- #define L_AND "ja"
-
- /* What to add to make "hour" plural (or actually partitive) */
- #define L_HPLU "a"
- /* What to add to make "minute" plural (or actually partitive) */
- #define L_MPLU "a"
-
- /* Genitive form of "hour" */
- #define L_HGEN "tunnin"
- /* Genitive form of "minute" */
- #define L_MGEN "minuutin"
-
- /* Define any overrides here, such as L_ORDINAL_OVERRIDE, L_A_OVER, etc.
- See the file dosubst.c for more info. */
-
- #define L_ORDINAL_OVERRIDE switch(d) { \
- case 1: plu = ":sen{"; break; \
- case 2: plu = ":sena"; break; \
- default: \
- switch(d%10) { \
- case 2: \
- case 3: \
- case 6: \
- case 8: plu = ":ntena"; break; \
- default: plu = ":nten{"; break; \
- } \
- }
- #define L_A_OVER sprintf(s, "%s%s, %d. %s%s %d", DayName[jul%7], L_ON, d, \
- MonthName[m], L_PARTIT, y);
- #define L_C_OVER sprintf(s, "%s%s", DayName[jul%7], L_ON);
- #define L_E_OVER sprintf(s, "%02d%c%02d%c%04d", d, DATESEP, m+1, DATESEP, \
- y);
- #define L_F_OVER sprintf(s, "%02d%c%02d%c%04d", m+1, DATESEP, d, DATESEP, y);
- #define L_G_OVER sprintf(s, "%s%s, %d. %s%s", DayName[jul%7], L_ON, d, \
- MonthName[m], L_PARTIT);
- #define L_H_OVER sprintf(s, "%02d%c%02d", d, DATESEP, m+1);
- #define L_I_OVER sprintf(s, "%02d%c%02d", m+1, DATESEP, d);
- #define L_J_OVER sprintf(s, "%s%s, %sn %d%s %d", DayName[jul%7], L_ON, \
- MonthName[m], d, plu, y);
- #define L_K_OVER sprintf(s, "%s%s, %sn %d%s", DayName[jul%7], L_ON, \
- MonthName[m], d, plu);
- #define L_L_OVER sprintf(s, "%04d%c%02d%c%02d", y, DATESEP, m+1, DATESEP, d);
- #define L_Q_OVER sprintf(s, "n");
- #define L_U_OVER sprintf(s, "%s%s, %d%s %s%s %d", DayName[jul%7], L_ON, \
- d, plu, MonthName[m], L_PARTIT, y);
- #define L_V_OVER sprintf(s, "%s%s, %d%s %s%s", DayName[jul%7], L_ON, d, \
- plu, MonthName[m], L_PARTIT);
- #define L_1_OVER if (tdiff == 0) \
- sprintf(s, L_NOW); \
- else { \
- if (hdiff != 0) { \
- if (tdiff < 0) \
- sprintf(s, "%d %s%s ", hdiff, L_HOUR, hplu); \
- else \
- sprintf(s, "%d %s ", hdiff, L_HGEN); \
- s += strlen(s); \
- } \
- if (mdiff != 0) { \
- if (tdiff < 0) \
- sprintf(s, "%d %s%s ", mdiff, L_MINUTE, \
- mplu); \
- else \
- sprintf(s, "%d %s ", mdiff, L_MGEN); \
- s += strlen(s); \
- } \
- sprintf(s, when); \
- }
- #endif /* L_IN_DOSUBST */
-