From fbdc4a7650e8af067fea1dc31aee7a6a378214e0 Mon Sep 17 00:00:00 2001 From: lingdocs <71590811+lingdocs@users.noreply.github.com> Date: Tue, 5 Jul 2022 19:35:36 -0500 Subject: [PATCH] perfect page started --- package.json | 2 +- .../phrase-diagram/EditableVPEx.tsx | 10 +- src/content/inflection/inflection-intro.mdx | 2 +- src/content/verbs/basic-present-verbs.ts | 2 + src/content/verbs/perfect-verbs.mdx | 102 +++++++++++++++--- yarn.lock | 8 +- 6 files changed, 106 insertions(+), 20 deletions(-) diff --git a/package.json b/package.json index 01f90ad..58ad089 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "@formkit/auto-animate": "^1.0.0-beta.1", "@fortawesome/fontawesome-free": "^5.15.4", "@lingdocs/lingdocs-main": "^0.3.1", - "@lingdocs/pashto-inflector": "^3.2.4", + "@lingdocs/pashto-inflector": "^3.2.5", "@testing-library/jest-dom": "^5.11.4", "@testing-library/react": "^11.1.0", "@testing-library/user-event": "^12.1.10", diff --git a/src/components/phrase-diagram/EditableVPEx.tsx b/src/components/phrase-diagram/EditableVPEx.tsx index 81fee3a..44c4dcf 100644 --- a/src/components/phrase-diagram/EditableVPEx.tsx +++ b/src/components/phrase-diagram/EditableVPEx.tsx @@ -11,7 +11,14 @@ export function EditIcon() { return ; } -function EditableVPEx({ children, opts, formChoice, noEdit, length }: { children: T.VPSelectionState, opts: T.TextOptions, formChoice?: boolean, noEdit?: boolean, length: "long" | "short" }) { +function EditableVPEx({ children, opts, formChoice, noEdit, length, mode }: { + children: T.VPSelectionState, + opts: T.TextOptions, + formChoice?: boolean, + noEdit?: boolean, + length: "long" | "short", + mode?: "text" | "blocks", +}) { const [editing, setEditing] = useState(false); const [vps, setVps] = useState(children); function handleReset() { @@ -44,6 +51,7 @@ function EditableVPEx({ children, opts, formChoice, noEdit, length }: { children onlyOne="concat" setForm={formChoice ? handleSetForm : "disable"} length={length} + mode={mode} /> ; } diff --git a/src/content/inflection/inflection-intro.mdx b/src/content/inflection/inflection-intro.mdx index 7eaea70..6a33f3f 100644 --- a/src/content/inflection/inflection-intro.mdx +++ b/src/content/inflection/inflection-intro.mdx @@ -107,7 +107,7 @@ Once a word gets inflected, you can push or bend it even further a second time. [ {p:"سړی", f:"saRey", e:"man"}, {p:"سړي", f:"saRee"}, - {p:"سړیو", f:"saReyo"}, + {p:"سړیو", f:"saRiyo"}, ], [ {p:"ښځه", f:"xudza", e:"woman"}, diff --git a/src/content/verbs/basic-present-verbs.ts b/src/content/verbs/basic-present-verbs.ts index 5f95549..dbb1037 100644 --- a/src/content/verbs/basic-present-verbs.ts +++ b/src/content/verbs/basic-present-verbs.ts @@ -20,4 +20,6 @@ export const intransitivePast: T.VerbEntry[] = [ {"ts":1527812645,"i":10822,"p":"ګرځېدل","f":"gurdzedul","g":"gurdzedul","e":"to walk, wander, turn about; to become, to be","c":"v. intrans.","shortIntrans":true,"ec":"walk"}, {"ts":1527816495,"i":3470,"p":"تښتېدل","f":"tuxtedul","g":"tuxtedul","e":"to run off, escape, flee","c":"v. intrans.","shortIntrans":true,"ec":"escape"}, {"ts":1527813680,"i":9218,"p":"غږېدل","f":"ghuGedul, ghaGedul","g":"ghugedul,ghagedul","e":"to speak, talk, converse, sing","c":"v. intrans.","ec":"speak,speaks,speaking,spoke"}, + {"ts":1527813994,"i":11589,"p":"لوېدل","f":"lwedul","g":"lwedul","e":"to fall, to tumble, go down, settle","c":"v. intrans.","ec":"fall,falls,falling,fell,fallen"}, + {"ts":1527813710,"i":7321,"p":"زېږېدل","f":"zeGedul","g":"zegedul","e":"to be born, to appear, arise","c":"v. intrans.","ec":"be","ep":"born"}, ].map(entry => ({ entry })); \ No newline at end of file diff --git a/src/content/verbs/perfect-verbs.mdx b/src/content/verbs/perfect-verbs.mdx index 0854112..af033a7 100644 --- a/src/content/verbs/perfect-verbs.mdx +++ b/src/content/verbs/perfect-verbs.mdx @@ -32,7 +32,9 @@ We use [perfect tenses](https://en.wikipedia.org/wiki/Perfect_(grammar)) when we In English we're not as strict with using the perfect tense. In fact it can sound a little formal or bookish to always say things like "I've lost my wallet" (perfect) instead of "I lost my wallet" (simple past). In Pashto however, this distinction is very normal and common, and you will see the perfect form used whenever it's important to talk about a state resulting from the action. -With the past tense we're talking about an event happening. We're just relaying the fact that something happened, without talking about the consequences of that event. +### Comparing Simple Past to Perfect + +With the simple past tense we're talking about an event happening. We're just relaying the fact that something happened, without talking about the consequences of that event.
@@ -42,12 +44,12 @@ With the past tense we're talking about an event happening. We're just relaying { p: "ما ډوډۍ وخوړله", f: "maa DoDúy óokhoRula", - e: "I ate food", + e: "I ate food (simple past)", sub: "meaning: I chewed and swallowed the food." } ]} -With a perfect tense, we're talking about the **result of an event**. We're saying that something has happened, and therefore there's an affect on the situation. +With a **perfect** tense, we're talking about the **result of an event**. We're saying that something has happened, and therefore there's an affect on the situation.
@@ -57,7 +59,7 @@ With a perfect tense, we're talking about the **result of an event**. We're sayi { p: "ما ډوډۍ خوړلې ده", f: "maa DoDúy khoRúle da", - e: "I've eaten food", + e: "I've eaten food (perfect)", sub: "meaning: I am full now." } ]} @@ -79,28 +81,102 @@ Well now we're going to do something very crazy. To make the perfect forms we ar To make the perfect forms we take the past participle of the verb and **add an equative block** next to it. For example, with the verb we could have something like: - +{ + {"blocks":[{"key":0.9450165572504559,"block":{"type":"subjectSelection","selection":{"type":"NP","selection":{"type":"pronoun","person":0,"distance":"far"}}}},{"key":0.9846690662896809,"block":{"type":"objectSelection","selection":"none"}}],"verb":{"type":"verb","verb":{"entry":{"ts":1527815348,"i":3656,"p":"تلل","f":"tlul","g":"tlul","e":"to go","c":"v. intrans. irreg.","psp":"ځ","psf":"dz","ssp":"لاړ ش","ssf":"láaR sh","prp":"لاړ","prf":"láaR","ec":"go,goes,going,went,gone"}},"verbTense":"perfectivePast","perfectTense":"presentPerfect","imperativeTense":"imperfectiveImperative","tenseCategory":"perfect","transitivity":"intransitive","isCompound":false,"voice":"active","negative":false,"canChangeTransitivity":false,"canChangeVoice":false,"canChangeStatDyn":false},"form":{"removeKing":false,"shrinkServant":false}} +} -Now instead of one verb block, *we have **two blocks** that have to agree with the king* of the . Let's see how this works with some intransitive verbs. +Now instead of one verb block, we have **two blocks** that have to agree with the king of the . + +1. The **past participle** is in the masculine uninflected form because it agrees with which is masculine singular. +2. The **equative** also agrees with the king , because it's a 1st pers. sing. equative. + +If a woman says this sentence it will change slightly... + +{ + {"blocks":[{"key":0.9450165572504559,"block":{"type":"subjectSelection","selection":{"type":"NP","selection":{"type":"pronoun","person":1,"distance":"far"}}}},{"key":0.9846690662896809,"block":{"type":"objectSelection","selection":"none"}}],"verb":{"type":"verb","verb":{"entry":{"ts":1527815348,"i":3656,"p":"تلل","f":"tlul","g":"tlul","e":"to go","c":"v. intrans. irreg.","psp":"ځ","psf":"dz","ssp":"لاړ ش","ssf":"láaR sh","prp":"لاړ","prf":"láaR","ec":"go,goes,going,went,gone"}},"verbTense":"perfectivePast","perfectTense":"presentPerfect","imperativeTense":"imperfectiveImperative","tenseCategory":"perfect","transitivity":"intransitive","isCompound":false,"voice":"active","negative":false,"canChangeTransitivity":false,"canChangeVoice":false,"canChangeStatDyn":false},"form":{"removeKing":false,"shrinkServant":false}} +} + +In that case the king, , will be *feminine*, so: + +1. The **past participle** will be given the feminine form because it agrees with which is feminine singular. +2. The **equative** stays the same. + +Note that the past participle always follows the #2 inflection pattern because it ends with an unstressed . + +How would we say "*We* have gone" ? Try to make this sentence by making the two blocks agree with . + +1. Inflect the **past participle** +2. Choose the right equative + +
+ Show Answer + +{ + {"blocks":[{"key":0.9450165572504559,"block":{"type":"subjectSelection","selection":{"type":"NP","selection":{"type":"pronoun","person":6,"distance":"far"}}}},{"key":0.9846690662896809,"block":{"type":"objectSelection","selection":"none"}}],"verb":{"type":"verb","verb":{"entry":{"ts":1527815348,"i":3656,"p":"تلل","f":"tlul","g":"tlul","e":"to go","c":"v. intrans. irreg.","psp":"ځ","psf":"dz","ssp":"لاړ ش","ssf":"láaR sh","prp":"لاړ","prf":"láaR","ec":"go,goes,going,went,gone"}},"verbTense":"perfectivePast","perfectTense":"presentPerfect","imperativeTense":"imperfectiveImperative","tenseCategory":"perfect","transitivity":"intransitive","isCompound":false,"voice":"active","negative":false,"canChangeTransitivity":false,"canChangeVoice":false,"canChangeStatDyn":false},"form":{"removeKing":false,"shrinkServant":false}} +} + +
+ +Notice how answer changes depending on whether the "we" in masculine or feminine! (Mixed groups are always considered masculine.) Press the and adjust it to see how it changes. + +Let's look at some examples of other intransitive verbs with all the different persons: -That seems like a pretty intimidating chart! But it gets simpler if we remember that we are just making the two blocks (past participle and equative) agree with the king of the phrase. +That seems like a pretty intimidating chart! But it gets simpler if we remember that we are just making the two blocks (past participle and equative) agree with the king of the phrase. Also notice how there's a pattern with the participle inflection that repeats every two lines. 🤓 + +## Examples Have a look at the examples below, and notice how both the past participle and the equative blocks agree with the king of the phrase. Perfects are considered past-tense so they will follow the same VP structure as other past tense forms, meaning that: - with **intransitive** verbs the *subject is king* - with **transitive** verbs the *object is king* -#### Intransitive Examples +### Intransitive Examples +{ +{"blocks":[{"key":0.8079406878333233,"block":{"type":"subjectSelection","selection":{"type":"NP","selection":{"type":"pronoun","person":0,"distance":"far"}}}},{"key":0.23472051857740772,"block":{"type":"AP","selection":{"type":"sandwich","before":{"p":"له","f":"la"},"after":{"p":"سره","f":"sara"},"e":"with","inside":{"type":"NP","selection":{"type":"noun","entry":{"ts":1527815177,"i":2536,"p":"پلار","f":"plaar","g":"plaar","e":"father","c":"n. m. anim."},"gender":"masc","genderCanChange":false,"number":"singular","numberCanChange":true,"adjectives":[],"possesor":{"np":{"type":"NP","selection":{"type":"pronoun","person":2,"distance":"far"}},"shrunken":false}}}}}},{"key":0.886370288897965,"block":{"type":"objectSelection","selection":"none"}}],"verb":{"type":"verb","verb":{"entry":{"ts":1527813680,"i":9219,"p":"غږېدل","f":"ghuGedul, ghaGedul","g":"ghugedul,ghagedul","e":"to speak, talk, converse, sing","c":"v. intrans.","ec":"speak,speaks,speaking,spoke,spoken"}},"verbTense":"perfectivePast","perfectTense":"presentPerfect","imperativeTense":"imperfectiveImperative","tenseCategory":"perfect","transitivity":"intransitive","isCompound":false,"voice":"active","negative":false,"canChangeTransitivity":false,"canChangeVoice":false,"canChangeStatDyn":false},"form":{"removeKing":false,"shrinkServant":false}} +} +{ +{"blocks":[{"key":0.9075416982120486,"block":{"type":"subjectSelection","selection":{"type":"NP","selection":{"type":"pronoun","person":5,"distance":"far"}}}},{"key":0.28604648139292244,"block":{"type":"AP","selection":{"type":"sandwich","before":{"p":"له","f":"la"},"after":{"p":"نه","f":"na"},"e":"from","inside":{"type":"NP","selection":{"type":"noun","entry":{"ts":1527822092,"i":4766,"p":"چت","f":"chat","g":"chat","e":"roof, ceiling, awning, deck","c":"n. m."},"gender":"masc","genderCanChange":false,"number":"singular","numberCanChange":true,"adjectives":[]}}}}},{"key":0.48162044574550333,"block":{"type":"objectSelection","selection":"none"}}],"verb":{"type":"verb","verb":{"entry":{"ts":1527813994,"i":11589,"p":"لوېدل","f":"lwedul","g":"lwedul","e":"to fall, to tumble, go down, settle","c":"v. intrans.","ec":"fall,falls,falling,fell,fallen"}},"verbTense":"perfectivePast","perfectTense":"presentPerfect","imperativeTense":"imperfectiveImperative","tenseCategory":"perfect","transitivity":"intransitive","isCompound":false,"voice":"active","negative":false,"canChangeTransitivity":false,"canChangeVoice":false,"canChangeStatDyn":false},"form":{"removeKing":false,"shrinkServant":false}} +} -IN PROGRESS +{ +{"blocks":[{"key":0.5572202015592207,"block":{"type":"AP","selection":{"type":"sandwich","before":{"p":"په","f":"pu"},"after":{"p":"کې","f":"ke"},"e":"in","inside":{"type":"NP","selection":{"type":"noun","entry":{"ts":1527812828,"i":10545,"p":"کور","f":"kor","g":"kor","e":"house, home","c":"n. m."},"gender":"masc","genderCanChange":false,"number":"singular","numberCanChange":true,"adjectives":[],"possesor":{"np":{"type":"NP","selection":{"type":"pronoun","person":2,"distance":"far"}},"shrunken":false}}}}}},{"key":0.3374492151395745,"block":{"type":"subjectSelection","selection":{"type":"NP","selection":{"type":"noun","entry":{"ts":1527812881,"i":11710,"p":"ماشوم","f":"maashoom","g":"maashoom","e":"child, kid","c":"n. m. anim. unisex","ec":"child","ep":"children"},"gender":"fem","genderCanChange":true,"number":"singular","numberCanChange":true,"adjectives":[]}}}},{"key":0.9314743458918573,"block":{"type":"objectSelection","selection":"none"}}],"verb":{"type":"verb","verb":{"entry":{"ts":1527813710,"i":7321,"p":"زېږېدل","f":"zeGedul","g":"zegedul","e":"to be born, to appear, arise","c":"v. intrans.","ec":"be","ep":"born"}},"verbTense":"perfectivePast","perfectTense":"presentPerfect","imperativeTense":"imperfectiveImperative","tenseCategory":"perfect","transitivity":"intransitive","isCompound":false,"voice":"active","negative":false,"canChangeTransitivity":false,"canChangeVoice":false,"canChangeStatDyn":false},"form":{"removeKing":false,"shrinkServant":false}} +} +### Transitive Examples -With perfect tenses, we'll use the and the tenses of equatives. +With transitive verbs everything works the same, but we follow the VP structure for past-tense transitive verbs meaning that now: + +1. The subject will inflect +2. The *object* is king + - The two verb blocks (past participle and equative) will agree with the *object* + +{ + {"blocks":[{"key":0.16283326329910142,"block":{"type":"subjectSelection","selection":{"type":"NP","selection":{"type":"pronoun","person":1,"distance":"far"}}}},{"key":0.934824319231268,"block":{"type":"objectSelection","selection":{"type":"NP","selection":{"type":"pronoun","person":3,"distance":"far"}}}}],"verb":{"type":"verb","verb":{"entry":{"ts":1527812275,"i":11611,"p":"لیدل","f":"leedul","g":"leedul","e":"to see","c":"v. trans./gramm. trans.","psp":"وین","psf":"ween","tppp":"لید","tppf":"leed","ec":"see,sees,seeing,saw,seen"}},"verbTense":"perfectivePast","perfectTense":"presentPerfect","imperativeTense":"imperfectiveImperative","tenseCategory":"perfect","transitivity":"transitive","isCompound":false,"voice":"active","negative":false,"canChangeTransitivity":true,"canChangeVoice":true,"canChangeStatDyn":false},"form":{"removeKing":false,"shrinkServant":false}} +} + +{ + {"blocks":[{"key":0.16283326329910142,"block":{"type":"subjectSelection","selection":{"type":"NP","selection":{"type":"noun","entry":{"ts":1527812797,"i":8621,"p":"ښځه","f":"xúdza","g":"xudza","e":"woman, wife","c":"n. f.","ec":"woman","ep":"women"},"gender":"fem","genderCanChange":false,"number":"plural","numberCanChange":true,"adjectives":[]}}}},{"key":0.934824319231268,"block":{"type":"objectSelection","selection":{"type":"NP","selection":{"type":"pronoun","person":6,"distance":"far"}}}}],"verb":{"type":"verb","verb":{"entry":{"ts":1527812275,"i":11611,"p":"لیدل","f":"leedul","g":"leedul","e":"to see","c":"v. trans./gramm. trans.","psp":"وین","psf":"ween","tppp":"لید","tppf":"leed","ec":"see,sees,seeing,saw,seen"}},"verbTense":"perfectivePast","perfectTense":"presentPerfect","imperativeTense":"imperfectiveImperative","tenseCategory":"perfect","transitivity":"transitive","isCompound":false,"voice":"active","negative":false,"canChangeTransitivity":true,"canChangeVoice":true,"canChangeStatDyn":false},"form":{"removeKing":false,"shrinkServant":false}} +} + +{ + {"blocks":[{"key":0.10982560050266565,"block":{"type":"subjectSelection","selection":{"type":"NP","selection":{"type":"pronoun","person":0,"distance":"far"}}}},{"key":0.41532608310706687,"block":{"type":"objectSelection","selection":{"type":"NP","selection":{"type":"noun","entry":{"ts":1527816299,"i":2903,"p":"پیسې","f":"peyse","g":"peyse","e":"money (plural of پېسې)","c":"n. f. pl."},"gender":"fem","genderCanChange":false,"number":"plural","numberCanChange":false,"adjectives":[]}}}}],"verb":{"type":"verb","verb":{"entry":{"ts":1527815273,"i":8464,"p":"شمېرل","f":"shmerul","g":"shmerul","e":"to count","c":"v. trans.","ec":"count"}},"verbTense":"perfectivePast","perfectTense":"presentPerfect","imperativeTense":"imperfectiveImperative","tenseCategory":"perfect","transitivity":"transitive","isCompound":false,"voice":"active","negative":false,"canChangeTransitivity":false,"canChangeVoice":true,"canChangeStatDyn":false},"form":{"removeKing":false,"shrinkServant":false}} +} + +{ + {"blocks":[{"key":0.740132092191961,"block":{"type":"subjectSelection","selection":{"type":"NP","selection":{"type":"pronoun","person":5,"distance":"far"}}}},{"key":0.47712578068366907,"block":{"type":"objectSelection","selection":{"type":"NP","selection":{"type":"noun","entry":{"ts":1527812817,"i":10014,"p":"کتاب","f":"kitáab","g":"kitaab","e":"book","c":"n. m."},"gender":"masc","genderCanChange":false,"number":"plural","numberCanChange":true,"adjectives":[]}}}}],"verb":{"type":"verb","verb":{"entry":{"ts":1527812856,"i":11633,"p":"لیکل","f":"leekul","g":"leekul","e":"to write, draw","c":"v. trans./gramm. trans.","ec":"write,writes,writing,wrote,written"}},"verbTense":"perfectivePast","perfectTense":"presentPerfect","imperativeTense":"imperfectiveImperative","tenseCategory":"perfect","transitivity":"transitive","isCompound":false,"voice":"active","negative":false,"canChangeTransitivity":true,"canChangeVoice":true,"canChangeStatDyn":false},"form":{"removeKing":false,"shrinkServant":false}} +} + +{ + {"blocks":[{"key":0.48107357509198234,"block":{"type":"subjectSelection","selection":{"type":"NP","selection":{"type":"noun","entry":{"ts":1527812881,"i":11710,"p":"ماشوم","f":"maashoom","g":"maashoom","e":"child, kid","c":"n. m. anim. unisex","ec":"child","ep":"children"},"gender":"masc","genderCanChange":true,"number":"plural","numberCanChange":true,"adjectives":[],"possesor":{"np":{"type":"NP","selection":{"type":"pronoun","person":2,"distance":"far"}},"shrunken":false}}}}},{"key":0.8253773159904139,"block":{"type":"objectSelection","selection":{"type":"NP","selection":{"type":"pronoun","person":0,"distance":"far"}}}}],"verb":{"type":"verb","verb":{"entry":{"ts":1527815399,"i":14484,"p":"وهل","f":"wahul","g":"wahul","e":"to hit","c":"v. trans.","tppp":"واهه","tppf":"waahu","ec":"hit,hits,hitting,hit,hit"}},"verbTense":"perfectivePast","perfectTense":"presentPerfect","imperativeTense":"imperfectiveImperative","tenseCategory":"perfect","transitivity":"transitive","isCompound":false,"voice":"active","negative":false,"canChangeTransitivity":false,"canChangeVoice":true,"canChangeStatDyn":false},"form":{"removeKing":false,"shrinkServant":false}} +} + +## Other forms of perfect + +All of these examples used the present equative. So this whole lesson has been about making the "present perfect." But we can actually use any of the 8 equatives to make perfect tenses with different meanings. + +EXPLANATION IN PROGRESS... diff --git a/yarn.lock b/yarn.lock index fb98e0d..cead245 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1695,10 +1695,10 @@ rambda "^6.7.0" react-select "^5.2.2" -"@lingdocs/pashto-inflector@^3.2.4": - version "3.2.4" - resolved "https://npm.lingdocs.com/@lingdocs%2fpashto-inflector/-/pashto-inflector-3.2.4.tgz#788d8d139446fb27964b4eeb4cbc2e6f12085192" - integrity sha512-5O361lWeRkP/gfjOJNTSKhv5WMraRegMyh6szMh+/FzI5r/gk6ShA1e8hIP/AHODqEoXxg4TvWRsJzbd2Gf6Hw== +"@lingdocs/pashto-inflector@^3.2.5": + version "3.2.5" + resolved "https://npm.lingdocs.com/@lingdocs%2fpashto-inflector/-/pashto-inflector-3.2.5.tgz#d1fc326dcaa9c5fa123828ab053b43d66749fe37" + integrity sha512-ItxOjkW8s1tzEK0O/6TUMVjOpCKPqSZnoHdEs3+A4TTMboLCofMwRL290YPgQr52OOp3jLprudh1v74zqsqhMQ== dependencies: "@formkit/auto-animate" "^1.0.0-beta.1" classnames "^2.2.6"