forked from GitHub/gf-core
Estonian Phrasebook: '<Nationality> restaurant' and 'NN is <Nationality>' use different forms
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
concrete SentencesEst of Sentences = NumeralEst ** SentencesI -
|
concrete SentencesEst of Sentences = NumeralEst ** SentencesI -
|
||||||
[NameNN, ObjMass,
|
[NameNN, ObjMass,
|
||||||
NPPlace, CNPlace, placeNP, mkCNPlace, mkCNPlacePl,
|
NPPlace, CNPlace, placeNP, mkCNPlace, mkCNPlacePl, NPNationality, mkNPNationality,
|
||||||
CitiNat,
|
CitiNat, Citizenship, Nationality, ACitizen, PropCit, PCitizenship,
|
||||||
GObjectPlease
|
GObjectPlease
|
||||||
] with
|
] with
|
||||||
(Syntax = SyntaxEst),
|
(Syntax = SyntaxEst),
|
||||||
@@ -11,9 +11,15 @@ concrete SentencesEst of Sentences = NumeralEst ** SentencesI -
|
|||||||
|
|
||||||
flags optimize = noexpand ;
|
flags optimize = noexpand ;
|
||||||
|
|
||||||
|
lincat
|
||||||
|
Citizenship = ACitizenship ;
|
||||||
|
Nationality = NPNationality ;
|
||||||
|
|
||||||
oper
|
oper
|
||||||
NPPlace = {name : NP ; at : Adv ; to : Adv ; from : Adv} ;
|
NPPlace : Type = {name : NP ; at : Adv ; to : Adv ; from : Adv} ;
|
||||||
CNPlace = {name : CN ; at : Prep ; to : Prep ; from : Prep ; isPl : Bool} ;
|
CNPlace : Type = {name : CN ; at : Prep ; to : Prep ; from : Prep ; isPl : Bool} ;
|
||||||
|
ACitizenship : Type = { prop : A ; nat : A } ;
|
||||||
|
NPNationality : Type = ACitizenship ** {lang : NP ; country : NP} ;
|
||||||
|
|
||||||
placeNP : Det -> CNPlace -> NPPlace = \det,kind ->
|
placeNP : Det -> CNPlace -> NPPlace = \det,kind ->
|
||||||
let name : NP = mkNP det kind.name in {
|
let name : NP = mkNP det kind.name in {
|
||||||
@@ -50,6 +56,8 @@ concrete SentencesEst of Sentences = NumeralEst ** SentencesI -
|
|||||||
|
|
||||||
GObjectPlease o = lin Text (mkPhr noPConj (mkUtt o) (lin Voc (ss "palun"))) ;
|
GObjectPlease o = lin Text (mkPhr noPConj (mkUtt o) (lin Voc (ss "palun"))) ;
|
||||||
|
|
||||||
CitiNat n = n.prop ;
|
CitiNat n = n ; -- keep just prop and nat fields
|
||||||
|
PropCit c = c.prop ;
|
||||||
|
PCitizenship c = mkPhrase (mkUtt (mkAP c.prop)) ;
|
||||||
|
ACitizen p n = mkCl p.name n.nat ;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ concrete WordsEst of Words = SentencesEst **
|
|||||||
School = mkPlace (mkN "kool") ssa ; -- different in Fin
|
School = mkPlace (mkN "kool") ssa ; -- different in Fin
|
||||||
|
|
||||||
CitRestaurant cit = {
|
CitRestaurant cit = {
|
||||||
name = mkCN cit (mkN "restoran") ;
|
name = mkCN cit.prop (mkN "restoran") ;
|
||||||
at = casePrep inessive ;
|
at = casePrep inessive ;
|
||||||
to = casePrep illative;
|
to = casePrep illative;
|
||||||
from = casePrep elative ;
|
from = casePrep elative ;
|
||||||
@@ -94,32 +94,32 @@ concrete WordsEst of Words = SentencesEst **
|
|||||||
Yuan = mkCN (mkN "jüään") ;
|
Yuan = mkCN (mkN "jüään") ;
|
||||||
|
|
||||||
-- Citizenship
|
-- Citizenship
|
||||||
Belgian = mkA "belgia" ;
|
Belgian = { prop = invA "belgia" ; nat = mkA "belglane" } ;
|
||||||
Indian = mkA "india" ;
|
Indian = { prop = invA "india" ; nat = mkA "indialane" } ;
|
||||||
|
|
||||||
-- Country
|
-- Country
|
||||||
Belgium = mkNP (mkPN "Belgia") ;
|
Belgium = mkNP (mkPN "Belgia") ;
|
||||||
India = mkNP (mkPN "India") ;
|
India = mkNP (mkPN "India") ;
|
||||||
|
|
||||||
-- Nationality
|
-- Nationality
|
||||||
Bulgarian = mkNat "bulgaaria" (mkPN "Bulgaaria") ;
|
Bulgarian = mkNat "bulgaaria" "bulgaarlane" (mkPN "Bulgaaria") ;
|
||||||
Catalan = mkNat "katalaani" (mkPN "Kataloonia") ;
|
Catalan = mkNat "katalaani" "kataloonlane" (mkPN "Kataloonia") ;
|
||||||
Chinese = mkNat "hiina" (mkPN "Hiina") ;
|
Chinese = mkNat "hiina" "hiinlane" (mkPN "Hiina") ;
|
||||||
Danish = mkNat "taani" (mkPN "Taani") ;
|
Danish = mkNat "taani" "taanlane" (mkPN "Taani") ;
|
||||||
Dutch = mkNat "hollandi" (mkPN "Holland") ;
|
Dutch = mkNat "hollandi" "hollandlane" (mkPN "Holland") ;
|
||||||
English = mkNat "inglise" (mkPN "Inglismaa") ;
|
English = mkNat "inglise" "inglane" (mkPN "Inglismaa") ;
|
||||||
Finnish = mkNat "soome" (mkPN "Soome") ;
|
Finnish = mkNat "soome" "soomlane" (mkPN "Soome") ;
|
||||||
Flemish = mkNP (mkPN "flaami keel") ; -- Language
|
Flemish = mkNP (mkPN "flaami keel") ; -- Language
|
||||||
Hindi = mkNP (mkPN "hindi keel") ; -- Language
|
Hindi = mkNP (mkPN "hindi keel") ; -- Language
|
||||||
French = mkNat "prantsuse" (mkPN "Prantsusmaa") ;
|
French = mkNat "prantsuse" "prantslane" (mkPN "Prantsusmaa") ;
|
||||||
German = mkNat "saksa" (mkPN "Saksamaa") ;
|
German = mkNat "saksa" "sakslane" (mkPN "Saksamaa") ;
|
||||||
Italian = mkNat "itaalia" (mkPN "Itaalia") ;
|
Italian = mkNat "itaalia" "itaallane" (mkPN "Itaalia") ;
|
||||||
Norwegian = mkNat "norra" (mkPN "Norra") ;
|
Norwegian = mkNat "norra" "norralane" (mkPN "Norra") ;
|
||||||
Polish = mkNat "poola" (mkPN "Poola") ;
|
Polish = mkNat "poola" "poolapärane" (mkPN "Poola") ; -- Is there a -lane adjective for poola? Didn't find one at EKSS /IL2018
|
||||||
Romanian = mkNat "rumeenia" (mkPN "Rumeenia") ;
|
Romanian = mkNat "rumeenia" "rumeenlane" (mkPN "Rumeenia") ;
|
||||||
Russian = mkNat "vene" (mkPN "Venemaa") ;
|
Russian = mkNat "vene" "venelane" (mkPN "Venemaa") ;
|
||||||
Spanish = mkNat "hispaania" (mkPN "Hispaania") ;
|
Spanish = mkNat "hispaania" "hispaanlane" (mkPN "Hispaania") ;
|
||||||
Swedish = mkNat "rootsi" (mkPN "Rootsi") ;
|
Swedish = mkNat "rootsi" "rootslane" (mkPN "Rootsi") ;
|
||||||
|
|
||||||
---- it would be nice to have a capitalization Predef function
|
---- it would be nice to have a capitalization Predef function
|
||||||
|
|
||||||
@@ -153,7 +153,7 @@ concrete WordsEst of Words = SentencesEst **
|
|||||||
ALive p co = mkCl p.name (mkVP (mkVP L.live_V) (SyntaxEst.mkAdv in_Prep co)) ;
|
ALive p co = mkCl p.name (mkVP (mkVP L.live_V) (SyntaxEst.mkAdv in_Prep co)) ;
|
||||||
ALove p q = mkCl p.name L.love_V2 q.name ;
|
ALove p q = mkCl p.name L.love_V2 q.name ;
|
||||||
AMarried p = mkCl p.name (ParadigmsEst.mkAdv "abielus") ;
|
AMarried p = mkCl p.name (ParadigmsEst.mkAdv "abielus") ;
|
||||||
AReady p = mkCl p.name (ParadigmsEst.mkA "valmis") ;
|
AReady p = mkCl p.name (ParadigmsEst.invA "valmis" ) ;
|
||||||
-- Eng: I am scared
|
-- Eng: I am scared
|
||||||
-- Fin: Minua pelottaa (partitive)
|
-- Fin: Minua pelottaa (partitive)
|
||||||
-- Est: Mina kardan (nominative)
|
-- Est: Mina kardan (nominative)
|
||||||
@@ -170,9 +170,7 @@ concrete WordsEst of Words = SentencesEst **
|
|||||||
-- Est: Mina olen väsinud.
|
-- Est: Mina olen väsinud.
|
||||||
-- ATired p = mkCl p.name (caseV partitive (mkV "väsitada")) ;
|
-- ATired p = mkCl p.name (caseV partitive (mkV "väsitada")) ;
|
||||||
ATired p = mkCl p.name (ParadigmsEst.mkA "väsinud") ;
|
ATired p = mkCl p.name (ParadigmsEst.mkA "väsinud") ;
|
||||||
-- TODO: better: aru saama / saan aru
|
AUnderstand p = mkCl p.name (mkV "aru" (mkV "saama")) ;
|
||||||
-- AUnderstand p = mkCl p.name L.understand_V2 ;
|
|
||||||
AUnderstand p = mkCl p.name (mkV "mõistma") ;
|
|
||||||
AWant p obj = mkCl p.name (mkV2 "tahtma") obj ;
|
AWant p obj = mkCl p.name (mkV2 "tahtma") obj ;
|
||||||
AWantGo p place = mkCl p.name want_VV (mkVP (mkVP L.go_V) place.to) ;
|
AWantGo p place = mkCl p.name want_VV (mkVP (mkVP L.go_V) place.to) ;
|
||||||
|
|
||||||
@@ -180,8 +178,8 @@ concrete WordsEst of Words = SentencesEst **
|
|||||||
|
|
||||||
QWhatName p = mkQS (mkQCl whatSg_IP (mkVP (nameOf p))) ;
|
QWhatName p = mkQS (mkQCl whatSg_IP (mkVP (nameOf p))) ;
|
||||||
QWhatAge p = mkQS (mkQCl (E.ICompAP (mkAP L.old_A)) p.name) ;
|
QWhatAge p = mkQS (mkQCl (E.ICompAP (mkAP L.old_A)) p.name) ;
|
||||||
HowMuchCost item = mkQS (mkQCl how8much_IAdv (mkCl item (mkV "maksma"))) ;
|
HowMuchCost item = mkQS (mkQCl how8much_IAdv (mkCl item maksma_V)) ;
|
||||||
ItCost item price = mkCl item (mkV2 (mkV "maksma")) price ;
|
ItCost item price = mkCl item (mkV2 maksma_V) price ;
|
||||||
|
|
||||||
PropOpen p = mkCl p.name open_Adv ;
|
PropOpen p = mkCl p.name open_Adv ;
|
||||||
PropClosed p = mkCl p.name closed_Adv ;
|
PropClosed p = mkCl p.name closed_Adv ;
|
||||||
@@ -257,11 +255,13 @@ concrete WordsEst of Words = SentencesEst **
|
|||||||
oper
|
oper
|
||||||
kroon : N = mkN "kroon" "krooni" "krooni" "krooni" "kroonide" "kroone" ;
|
kroon : N = mkN "kroon" "krooni" "krooni" "krooni" "kroonide" "kroone" ;
|
||||||
kroon2 : Str -> N = \taani -> mkN (taani + " ") kroon ;
|
kroon2 : Str -> N = \taani -> mkN (taani + " ") kroon ;
|
||||||
|
maksma_V : V = mkV "maksma" "maksta" "maksab" ;
|
||||||
|
|
||||||
mkNat : Str -> PN ->
|
mkNat : Str -> Str -> PN -> NPNationality
|
||||||
{lang : NP ; prop : A ; country : NP} = \pro,co ->
|
= \attr,pred,co ->
|
||||||
{lang = mkNP (mkCN (mkN pro (mkN "keel" "keele" "keelt" "keelde" "keelte" "keeli")));
|
{lang = mkNP (mkCN (mkN (attr + " ") (mkN "keel" "keele" "keelt" "keelde" "keelte" "keeli")));
|
||||||
prop = mkA (mkN pro) R.Invariable ;
|
prop = invA attr ;
|
||||||
|
nat = mkA pred ;
|
||||||
country = mkNP co
|
country = mkNP co
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
@@ -328,7 +328,7 @@ concrete WordsEst of Words = SentencesEst **
|
|||||||
--------------------------------------------------
|
--------------------------------------------------
|
||||||
|
|
||||||
lin
|
lin
|
||||||
Thai = mkNat ("tai") (mkPN "Tai") ;
|
Thai = mkNat ("tai") "tailane" (mkPN "Tai") ;
|
||||||
Baht = mkCN (mkN "baht") ;
|
Baht = mkCN (mkN "baht") ;
|
||||||
|
|
||||||
Rice = mkCN (mkN "riis") ;
|
Rice = mkCN (mkN "riis") ;
|
||||||
|
|||||||
Reference in New Issue
Block a user