Files
gf-core/lib/resource/russian/TimeRus.gf
2005-11-25 20:02:53 +00:00

43 lines
1.4 KiB
Plaintext

concrete TimeRus of Time = NumeralsRus **
open Prelude, CategoriesRus
--, ParadigmsRus
, MorphoRus in {
flags coding=utf8 ;
lincat
-- SS does not work for Russian,
-- например, "первое мая, суббота" - "парад состоялся первоГО мая, в субботУ" :
Date = N ;
Weekday = N ;
Hour = {s: Case => Str} ;
Minute = {s: Case => Str};
Time = SS ;
lin
DayDate day = day ;
DayTimeDate day time = {s=\\sf => day.s ! sf ++ "," ++ time.s; g=day.g; anim=day.anim; lock_N=<>} ;
-- The formulation (strings in between) depends on the number
-- например, "один час" - "двенадцать часОВ"
-- so all the definitions that deal with "Time" are only partially correct:
FormalTime h m = ss (h.s!Nom ++ "часов" ++ m.s!Nom ++ "минут") ;
PastTime h m = ss (m.s!Nom++ "минут"++h.s!Gen) ;
ToTime h m = ss ("без"++m.s!Gen ++ "минут" ++ h.s!Nom) ;
ExactTime h = ss (h.s!Nom ++ "ровно") ;
-- "Numerals.gf" is not refined enough to give the time categories:
NumHour n = {s = \\_ => n.s ! attr ! Masc} ;
NumMinute n = {s =\\_ => n.s ! attr ! Fem } ;
monday = ponedelnik ** {lock_N=<>};
tuesday = vtornik ** {lock_N=<>};
wednesday = sreda ** {lock_N=<>};
thursday = chetverg ** {lock_N=<>};
friday = pyatnica ** {lock_N=<>};
saturday = subbota ** {lock_N=<>};
sunday = voskresenje ** {lock_N=<>};
} ;