diff --git a/next-lib/src/english/CompatibilityEng.gf b/next-lib/src/english/CompatibilityEng.gf index 28ede2a17..63450d0ff 100644 --- a/next-lib/src/english/CompatibilityEng.gf +++ b/next-lib/src/english/CompatibilityEng.gf @@ -5,7 +5,13 @@ concrete CompatibilityEng of Compatibility = CatEng ** open Prelude, ResEng in { -- from Noun 19/4/2008 lin - NumInt n = {s = n.s ; n = Pl ; hasCard = True} ; - OrdInt n = {s = n.s ++ "th"} ; + NumInt n = {s = addGenitiveS n.s ; n = Pl ; hasCard = True} ; + OrdInt n = {s = \\c => n.s ++ (regGenitiveS "th")!c } ; + +oper + -- Note: this results in a space before 's, but there's + -- not mauch we can do about that. + addGenitiveS : Str -> Case => Str = \s -> + table { Gen => s ++ "'s"; _ => s } ; } diff --git a/next-lib/src/english/SymbolEng.gf b/next-lib/src/english/SymbolEng.gf index b3425c90a..0b7405b93 100644 --- a/next-lib/src/english/SymbolEng.gf +++ b/next-lib/src/english/SymbolEng.gf @@ -23,7 +23,7 @@ lin SymbS sy = sy ; SymbNum sy = { s = addGenitiveS sy.s ; n = Pl ; hasCard = True } ; - SymbOrd sy = { s = addGenitiveS (sy.s ++ "th")} ; + SymbOrd sy = { s = \\c => sy.s ++ (regGenitiveS "th")!c} ; lincat