past tense page done - still need to add habitual past

This commit is contained in:
lingdocs 2022-07-01 21:10:35 -05:00
parent 451613b17b
commit 36dabd75d8
9 changed files with 919 additions and 17 deletions

View File

@ -6,7 +6,7 @@
"@formkit/auto-animate": "^1.0.0-beta.1", "@formkit/auto-animate": "^1.0.0-beta.1",
"@fortawesome/fontawesome-free": "^5.15.4", "@fortawesome/fontawesome-free": "^5.15.4",
"@lingdocs/lingdocs-main": "^0.3.1", "@lingdocs/lingdocs-main": "^0.3.1",
"@lingdocs/pashto-inflector": "^3.1.9", "@lingdocs/pashto-inflector": "^3.2.2",
"@testing-library/jest-dom": "^5.11.4", "@testing-library/jest-dom": "^5.11.4",
"@testing-library/react": "^11.1.0", "@testing-library/react": "^11.1.0",
"@testing-library/user-event": "^12.1.10", "@testing-library/user-event": "^12.1.10",

View File

@ -11,7 +11,7 @@ export function EditIcon() {
return <i className="fas fa-edit" />; return <i className="fas fa-edit" />;
} }
function EditableVPEx({ children, opts, formChoice, noEdit }: { children: T.VPSelectionState, opts: T.TextOptions, formChoice?: boolean, noEdit?: boolean }) { function EditableVPEx({ children, opts, formChoice, noEdit, length }: { children: T.VPSelectionState, opts: T.TextOptions, formChoice?: boolean, noEdit?: boolean, length: "long" | "short" }) {
const [editing, setEditing] = useState<boolean>(false); const [editing, setEditing] = useState<boolean>(false);
const [vps, setVps] = useState<T.VPSelectionState>(children); const [vps, setVps] = useState<T.VPSelectionState>(children);
function handleReset() { function handleReset() {
@ -43,6 +43,7 @@ function EditableVPEx({ children, opts, formChoice, noEdit }: { children: T.VPSe
justify="left" justify="left"
onlyOne="concat" onlyOne="concat"
setForm={formChoice ? handleSetForm : "disable"} setForm={formChoice ? handleSetForm : "disable"}
length={length}
/> />
</div>; </div>;
} }

View File

@ -0,0 +1,411 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
sodipodi:docname="imperfective-past.svg"
inkscape:version="1.0 (4035a4fb49, 2020-05-01)"
id="svg8"
version="1.1"
viewBox="0 0 140.69031 43.485966"
height="164.3564"
width="531.7431">
<defs
id="defs2">
<rect
id="rect6050"
height="18.811117"
width="56.433346"
y="7.8961401"
x="121.9088" />
<rect
id="rect5964"
height="15.296953"
width="41.756546"
y="38.37397"
x="107.62167" />
<marker
inkscape:isstock="true"
style="overflow:visible"
id="Arrow1Mend"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow1Mend">
<path
transform="matrix(-0.4,0,0,-0.4,-4,0)"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
d="M 0,0 5,-5 -12.5,0 5,5 Z"
id="path1352" />
</marker>
<rect
id="rect5876"
height="14.883522"
width="52.299042"
y="5.0927606"
x="37.338371" />
<marker
inkscape:isstock="true"
style="overflow:visible"
id="Arrow1Mstart"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow1Mstart">
<path
transform="matrix(0.4,0,0,0.4,4,0)"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
d="M 0,0 5,-5 -12.5,0 5,5 Z"
id="path1349" />
</marker>
<marker
inkscape:isstock="true"
style="overflow:visible"
id="Arrow1Lend"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow1Lend">
<path
transform="matrix(-0.8,0,0,-0.8,-10,0)"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
d="M 0,0 5,-5 -12.5,0 5,5 Z"
id="path1346" />
</marker>
<marker
inkscape:isstock="true"
style="overflow:visible"
id="marker1631"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow1Lstart">
<path
transform="matrix(0.8,0,0,0.8,10,0)"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
d="M 0,0 5,-5 -12.5,0 5,5 Z"
id="path1629" />
</marker>
<marker
inkscape:isstock="true"
style="overflow:visible"
id="marker1615"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow1Lstart">
<path
transform="matrix(0.8,0,0,0.8,10,0)"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
d="M 0,0 5,-5 -12.5,0 5,5 Z"
id="path1613" />
</marker>
<marker
inkscape:isstock="true"
style="overflow:visible"
id="Arrow1Lstart"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow1Lstart">
<path
transform="matrix(0.8,0,0,0.8,10,0)"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
d="M 0,0 5,-5 -12.5,0 5,5 Z"
id="path1343" />
</marker>
<rect
id="rect1054"
height="16.33053"
width="66.975845"
y="47.882885"
x="62.350956" />
<rect
x="78.980247"
y="-7.9594593"
width="109.33515"
height="26.602938"
id="rect1910" />
<rect
x="38.637333"
y="2.4186096"
width="71.915634"
height="12.862959"
id="rect1904" />
<rect
x="49.46875"
y="33.489403"
width="43.65625"
height="22.867559"
id="rect1742" />
<rect
id="rect837"
height="14.552084"
width="34.962795"
y="26.647322"
x="26.647322" />
<rect
x="26.647322"
y="26.647322"
width="34.962795"
height="14.552084"
id="rect837-8" />
<rect
x="26.647322"
y="26.647322"
width="34.962795"
height="14.552084"
id="rect852" />
<rect
id="rect1742-2"
height="22.867559"
width="43.65625"
y="33.489403"
x="49.46875" />
<rect
id="rect1755"
height="22.867559"
width="43.65625"
y="33.489403"
x="49.46875" />
<rect
id="rect1742-5"
height="22.867559"
width="43.65625"
y="33.489403"
x="49.46875" />
<rect
id="rect1784"
height="22.867559"
width="43.65625"
y="33.489403"
x="49.46875" />
<rect
x="49.46875"
y="33.489403"
width="43.65625"
height="22.867559"
id="rect1742-2-1" />
<rect
x="49.46875"
y="33.489403"
width="43.65625"
height="22.867559"
id="rect1787" />
<rect
id="rect1910-4"
height="23.679539"
width="116.05897"
y="-7.9594593"
x="78.980247" />
<rect
id="rect1927"
height="26.602938"
width="109.33515"
y="-7.9594593"
x="78.980247" />
<rect
x="78.980247"
y="-7.9594593"
width="47.651417"
height="15.49402"
id="rect1910-4-1" />
<rect
x="78.980247"
y="-7.9594593"
width="116.05897"
height="23.679539"
id="rect1956" />
<rect
x="62.350956"
y="47.882885"
width="66.975845"
height="16.33053"
id="rect1054-5" />
<rect
x="62.350956"
y="47.882885"
width="66.975845"
height="16.33053"
id="rect1067" />
<rect
x="37.338371"
y="5.0927606"
width="16.123816"
height="13.849944"
id="rect5876-9" />
<rect
x="37.338371"
y="5.0927606"
width="52.299042"
height="14.883522"
id="rect5977" />
<rect
id="rect5876-9-4"
height="14.263375"
width="29.973761"
y="5.0927606"
x="37.338371" />
<rect
id="rect6006"
height="13.849944"
width="16.123816"
y="5.0927606"
x="37.338371" />
<rect
id="rect5876-9-8"
height="13.436513"
width="31.8342"
y="5.0927606"
x="37.338371" />
<rect
id="rect6006-1"
height="13.849944"
width="16.123816"
y="5.0927606"
x="37.338371" />
<marker
inkscape:stockid="Arrow1Mend"
orient="auto"
refY="0"
refX="0"
id="Arrow1Mend-3"
style="overflow:visible"
inkscape:isstock="true">
<path
id="path1352-7"
d="M 0,0 5,-5 -12.5,0 5,5 Z"
style="fill:#666666;fill-opacity:1;fill-rule:evenodd;stroke:#666666;stroke-width:1pt;stroke-opacity:1"
transform="matrix(-0.4,0,0,-0.4,-4,0)" />
</marker>
</defs>
<sodipodi:namedview
inkscape:snap-to-guides="true"
inkscape:snap-global="true"
inkscape:window-maximized="1"
inkscape:window-y="-9"
inkscape:window-x="-9"
inkscape:window-height="1001"
inkscape:window-width="1920"
units="px"
fit-margin-bottom="10"
fit-margin-right="10"
fit-margin-left="10"
fit-margin-top="10"
showgrid="false"
inkscape:document-rotation="0"
inkscape:current-layer="layer1"
inkscape:document-units="mm"
inkscape:cy="221.16176"
inkscape:cx="272.14963"
inkscape:zoom="1.279939"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
borderopacity="1.0"
bordercolor="#666666"
pagecolor="#ffffff"
id="base" />
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
transform="translate(-46.189009,10.114638)"
id="layer1"
inkscape:groupmode="layer"
inkscape:label="Layer 1">
<text
xml:space="preserve"
id="text1902"
style="font-style:normal;font-weight:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect1904);fill:#000000;fill-opacity:1;stroke:none;"
transform="translate(0.37797619,0.37797619)" />
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
x="64.887398"
y="10.543595"
id="text1916"><tspan
sodipodi:role="line"
id="tspan1914"
x="64.887398"
y="10.543595"
style="stroke-width:0.264583" /></text>
<g
id="g2100"
transform="translate(0,0.18449876)">
<g
aria-label="...was eating supper."
transform="translate(-20.320974,53.966148)"
id="text1908-0-1"
style="font-style:normal;font-weight:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect1910-4);fill:#000000;fill-opacity:1;stroke:none" />
</g>
<g
id="g190"
transform="translate(0.7472605)">
<path
style="fill:none;stroke:#000000;stroke-width:0.765;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 48.087582,22.870299 H 183.48628"
id="path5870" />
<path
style="fill:none;stroke:#000000;stroke-width:0.765;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 115.78693,15.015107 V 30.725491"
id="path5872" />
</g>
<text
style="font-style:normal;font-weight:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect5964);fill:#000000;fill-opacity:1;stroke:none;"
id="text5962"
xml:space="preserve" />
<rect
y="18.429726"
x="58.6689"
height="8.8811474"
width="11.752648"
id="rect123-9"
style="fill:#ffffff;stroke:#000000;stroke-width:0.864259" />
<g
id="g194"
transform="translate(0.6201485,-60.822466)">
<path
id="path5870-2"
d="M 48.214696,61.208853 H 183.61339"
style="fill:none;stroke:#000000;stroke-width:0.765;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
id="path5872-7"
d="M 115.91404,53.353661 V 69.064044"
style="fill:none;stroke:#000000;stroke-width:0.765;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
</g>
<rect
style="fill:#ffffff;stroke:#000000;stroke-width:0.864258"
id="rect123"
width="35.111511"
height="8.8811474"
x="65.268372"
y="-4.0541849" />
<rect
style="fill:#ffffff;stroke:#000000;stroke-width:0.864259"
id="rect123-9-39"
width="11.752649"
height="8.8811474"
x="76.570534"
y="18.429726" />
<rect
style="fill:#ffffff;stroke:#000000;stroke-width:0.864259"
id="rect123-9-10"
width="11.752649"
height="8.8811474"
x="94.472168"
y="18.429726" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 11 KiB

View File

@ -1,5 +1,5 @@
--- ---
title: Past Tense title: Past Tense 😱
--- ---
import { import {
@ -13,8 +13,10 @@ import Link from "../../components/Link";
import Formula from "../../components/formula/Formula"; import Formula from "../../components/formula/Formula";
import verbTreePastPresent from "./verb-tree-past-present.svg"; import verbTreePastPresent from "./verb-tree-past-present.svg";
import verbTreeImperfectivePerfective from "./verb-tree-imperfective-perfective.svg"; import verbTreeImperfectivePerfective from "./verb-tree-imperfective-perfective.svg";
import imperfectiveFuture from "./imperfective-future-graph.svg"; import simplePast from "./simple-past-in-reality.svg";
import perfectiveFuture from "./perfective-future-graph.svg"; import continuousPast from "./continuous-past-in-reality.svg";
import unoReverseMeme from "./uno-reverse-meme.jpg";
import EditableVPEx, { EditIcon } from "../../components/phrase-diagram/EditableVPEx";
import BasicVerbShowCase from "../../components/BasicVerbShowCase"; import BasicVerbShowCase from "../../components/BasicVerbShowCase";
export function KingIcon() { export function KingIcon() {
@ -25,7 +27,7 @@ export function ServantIcon() {
return <i className="mx-1 fas fa-male" />; return <i className="mx-1 fas fa-male" />;
}; };
Past tense verbs in Pashto are famous for being very difficult and confusing for the learner. Thankfully there are some very simple rules that we can learn, and with a little practice (ok, a *lot* of practice) you'll find there's nothing confusing about past tense verbs in Pashto at all. Past tense verbs in Pashto are famous for being very difficult and confusing for the learner. Thankfully there are some very simple rules that we can learn, and with a little practice (ok, a *lot* of practice) you'll find there's nothing scary about the past tense in Pashto at all.
Now that we're making past tense verbs, we will be using the **bottom half** of the <Link to="/verbs/roots-and-stems/">roots and stems</Link> tree. Now that we're making past tense verbs, we will be using the **bottom half** of the <Link to="/verbs/roots-and-stems/">roots and stems</Link> tree.
@ -57,9 +59,19 @@ Then, we will see **what really trips people up** when learning Pashto is that <
**First we'll introduce the two forms (simple and continuous past) using intransitive verbs**, and then later we'll see how things change when we use transitive verbs. Let's go! **First we'll introduce the two forms (simple and continuous past) using intransitive verbs**, and then later we'll see how things change when we use transitive verbs. Let's go!
## Past tense with intransitive verbs ## Past tense with intransitive verbs 😀
### Simple Past We'll start by looking at the *intransitive* verbs in the past tense because it's much simpler. The subject is the king <KingIcon /> that controls the verb and there's no weird inflection going on.
### Simple Past <i className="fas fa-camera" />
The simple past tense is used for **single, one-time, complete actions**. It's also known as the "[preterite](https://en.wikipedia.org/wiki/Preterite)" or "perfective past."
It uses the <i className="fas fa-camera" /> **perfective root** because it's looking at the event in the perfective aspect, as a complete whole.
<div className="text-center">
<img src={simplePast} alt="" className="img-fluid" />
</div>
<Formula> <Formula>
Perfective root +{` `} Perfective root +{` `}
@ -68,7 +80,19 @@ Then, we will see **what really trips people up** when learning Pashto is that <
<BasicVerbShowCase opts={opts} tense="perfectivePast" /> <BasicVerbShowCase opts={opts} tense="perfectivePast" />
### Continuous Past Notice how when you can use the *short or the long* version of the roots.
### Continuous Past <i className="fas fa-video" />
The continuous past tense is used for:
- actions that were ongoing, in progress or repeated in the past
- actions that were going to happen (but didn't)
- actions that "would" happen
- as in they *would* happen *if* ...
- or as in they would happen regularly/habitually in the past
The continuous past uses the <i className="fas fa-video" /> **imperfective root** because it's looking at the event in the imperfective aspect, and seeing the action as in progress, ongoing, or incompleted. It's often used to set the background for other events, as in: <InlinePs opts={opts} ps={{ p: "زه کور ته تلم چې...", f: "zu kor ta tlum che...", e: "I was going home when..." }} />
<Formula> <Formula>
Imperfective root +{` `} Imperfective root +{` `}
@ -77,9 +101,9 @@ Then, we will see **what really trips people up** when learning Pashto is that <
<BasicVerbShowCase opts={opts} tense="imperfectivePast" /> <BasicVerbShowCase opts={opts} tense="imperfectivePast" />
## Past Tense with Transitive Verbs ## Past tense with transitive verbs 😵
Here's where things get interesting. With non-past tense verbs the *subject* is the <KingIcon /> king of the phrase, leaving the <ServantIcon /> servant role to the object. But with past tense transitive verbs, the roles are reversed! With past tense transitive verbs in Pashto: Here's where things get interesting. <Link to="/phrase-structure/vp/">Remember</Link>, with non-past tense transitive verbs the *subject* is always the <KingIcon /> of the phrase, leaving the servant <ServantIcon /> role to the object. But **with past tense transitive verbs, the roles are reversed!** With past tense transitive verbs in Pashto:
- The **object** is the <KingIcon /> **king** of the phrase - The **object** is the <KingIcon /> **king** of the phrase
- The *object* commands the verb! - The *object* commands the verb!
@ -90,6 +114,58 @@ Also, another weird thing that happens is that the **subject** is inflected.
- The **subject** gets **inflected** - The **subject** gets **inflected**
- The **object** does NOT get inflected - The **object** does NOT get inflected
This isn't just some insanity unique to Pashto, in linguistics it's known as [ergative alignment](https://en.wikipedia.org/wiki/Ergative%E2%80%93absolutive_alignment). And in Pashto this seemingly "backwards" <Link to="/phrase-structure/vp/">phrase structure</Link> hits us whenever we use a past tense transitive verb. Just when you thought you were getting the hang of things, Pashto goes ahead a deals you an uno reverse card!
IN PROGRESS <div className="text-center mb-4">
<img src={unoReverseMeme} alt="uno reverse meme with pashto transitive past tense" className="img-fluid" />
</div>
This isn't just some insanity unique to Pashto. In linguistics it's known as [ergative alignment](https://en.wikipedia.org/wiki/Ergative%E2%80%93absolutive_alignment). And in Pashto this seemingly "backwards" <Link to="/phrase-structure/vp/">phrase structure</Link> hits us whenever we use a past tense transitive verb.
The tenses (simple and continous past) stay the same and the formulas for making them are the same, but the <Link to="/phrase-structure/vp/#3-with-past-tense-transitive-verbs-">phrase structure changes</Link>. Have a look at the examples below. Try editing them and changing the subjects and objects to see how it affects the verb. Remember, the **object is king** <KingIcon /> and the **subject inflects**.
### Examples with simple past <i className="fas fa-camera" />
<Formula>
Perfective root +{` `}
<Link to="/verbs/verb-endings/#past-verb-endings">Past verb ending</Link>
</Formula>
<EditableVPEx opts={opts} long>{
{"blocks":[{"key":0.03311699983526872,"block":{"type":"subjectSelection","selection":{"type":"NP","selection":{"type":"pronoun","person":0,"distance":"far"}}}},{"key":0.9335532893306246,"block":{"type":"objectSelection","selection":{"type":"NP","selection":{"type":"pronoun","person":2,"distance":"far"}}}}],"verb":{"type":"verb","verb":{"entry":{"ts":1527812275,"i":11610,"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":"basic","transitivity":"transitive","isCompound":false,"voice":"active","negative":false,"canChangeTransitivity":true,"canChangeVoice":true,"canChangeStatDyn":false},"form":{"removeKing":false,"shrinkServant":false}}
}</EditableVPEx>
<EditableVPEx opts={opts} long>{
{"blocks":[{"key":0.03311699983526872,"block":{"type":"subjectSelection","selection":{"type":"NP","selection":{"type":"pronoun","person":0,"distance":"far"}}}},{"key":0.9335532893306246,"block":{"type":"objectSelection","selection":{"type":"NP","selection":{"type":"pronoun","person":10,"distance":"far"}}}}],"verb":{"type":"verb","verb":{"entry":{"ts":1527812275,"i":11610,"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":"basic","transitivity":"transitive","isCompound":false,"voice":"active","negative":false,"canChangeTransitivity":true,"canChangeVoice":true,"canChangeStatDyn":false},"form":{"removeKing":false,"shrinkServant":false}}
}</EditableVPEx>
<EditableVPEx opts={opts} long>{
{"blocks":[{"key":0.021807382558673538,"block":{"type":"subjectSelection","selection":{"type":"NP","selection":{"type":"noun","entry":{"ts":1527812881,"i":11709,"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":[]}}}},{"key":0.03701805628286148,"block":{"type":"objectSelection","selection":{"type":"NP","selection":{"type":"pronoun","person":0,"distance":"far"}}}}],"verb":{"type":"verb","verb":{"entry":{"ts":1527815399,"i":14483,"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":"basic","transitivity":"transitive","isCompound":false,"voice":"active","negative":false,"canChangeTransitivity":false,"canChangeVoice":true,"canChangeStatDyn":false},"form":{"removeKing":false,"shrinkServant":false}}
}</EditableVPEx>
<EditableVPEx opts={opts} long>{
{"blocks":[{"key":0.7215647271503056,"block":{"type":"subjectSelection","selection":{"type":"NP","selection":{"type":"pronoun","person":3,"distance":"far"}}}},{"key":0.5243897934182491,"block":{"type":"objectSelection","selection":{"type":"NP","selection":{"type":"noun","entry":{"ts":1527812564,"i":6538,"p":"ډوډۍ","f":"DoDúy","g":"DoDuy","e":"bread, food, meal","c":"n. f."},"gender":"fem","genderCanChange":false,"number":"singular","numberCanChange":true,"adjectives":[]}}}}],"verb":{"type":"verb","verb":{"entry":{"ts":1527812790,"i":5795,"p":"خوړل","f":"khoRul","g":"khoRul","e":"to eat, to bite","c":"v. trans.","psp":"خور","psf":"khor","tppp":"خوړ","tppf":"khoR","ec":"eat,eats,eating,ate,eaten"}},"verbTense":"perfectivePast","perfectTense":"presentPerfect","imperativeTense":"imperfectiveImperative","tenseCategory":"basic","transitivity":"transitive","isCompound":false,"voice":"active","negative":false,"canChangeTransitivity":false,"canChangeVoice":true,"canChangeStatDyn":false},"form":{"removeKing":false,"shrinkServant":false}}
}</EditableVPEx>
### Examples with continous past <i className="fas fa-video" />
<Formula>
Imperfective root +{` `}
<Link to="/verbs/verb-endings/#past-verb-endings">Past verb ending</Link>
</Formula>
<EditableVPEx opts={opts} long>{
{"blocks":[{"key":0.03311699983526872,"block":{"type":"subjectSelection","selection":{"type":"NP","selection":{"type":"pronoun","person":0,"distance":"far"}}}},{"key":0.9335532893306246,"block":{"type":"objectSelection","selection":{"type":"NP","selection":{"type":"pronoun","person":2,"distance":"far"}}}}],"verb":{"type":"verb","verb":{"entry":{"ts":1527812275,"i":11610,"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":"imperfectivePast","perfectTense":"presentPerfect","imperativeTense":"imperfectiveImperative","tenseCategory":"basic","transitivity":"transitive","isCompound":false,"voice":"active","negative":false,"canChangeTransitivity":true,"canChangeVoice":true,"canChangeStatDyn":false},"form":{"removeKing":false,"shrinkServant":false}}
}</EditableVPEx>
<EditableVPEx opts={opts} long>{
{"blocks":[{"key":0.03311699983526872,"block":{"type":"subjectSelection","selection":{"type":"NP","selection":{"type":"pronoun","person":0,"distance":"far"}}}},{"key":0.9335532893306246,"block":{"type":"objectSelection","selection":{"type":"NP","selection":{"type":"pronoun","person":10,"distance":"far"}}}}],"verb":{"type":"verb","verb":{"entry":{"ts":1527812275,"i":11610,"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":"imperfectivePast","perfectTense":"presentPerfect","imperativeTense":"imperfectiveImperative","tenseCategory":"basic","transitivity":"transitive","isCompound":false,"voice":"active","negative":false,"canChangeTransitivity":true,"canChangeVoice":true,"canChangeStatDyn":false},"form":{"removeKing":false,"shrinkServant":false}}
}</EditableVPEx>
<EditableVPEx opts={opts} long>{
{"blocks":[{"key":0.021807382558673538,"block":{"type":"subjectSelection","selection":{"type":"NP","selection":{"type":"noun","entry":{"ts":1527812881,"i":11709,"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":[]}}}},{"key":0.03701805628286148,"block":{"type":"objectSelection","selection":{"type":"NP","selection":{"type":"pronoun","person":0,"distance":"far"}}}}],"verb":{"type":"verb","verb":{"entry":{"ts":1527815399,"i":14483,"p":"وهل","f":"wahul","g":"wahul","e":"to hit","c":"v. trans.","tppp":"واهه","tppf":"waahu","ec":"hit,hits,hitting,hit,hit"}},"verbTense":"imperfectivePast","perfectTense":"presentPerfect","imperativeTense":"imperfectiveImperative","tenseCategory":"basic","transitivity":"transitive","isCompound":false,"voice":"active","negative":false,"canChangeTransitivity":false,"canChangeVoice":true,"canChangeStatDyn":false},"form":{"removeKing":false,"shrinkServant":false}}
}</EditableVPEx>
<EditableVPEx opts={opts} long>{
{"blocks":[{"key":0.7215647271503056,"block":{"type":"subjectSelection","selection":{"type":"NP","selection":{"type":"pronoun","person":3,"distance":"far"}}}},{"key":0.5243897934182491,"block":{"type":"objectSelection","selection":{"type":"NP","selection":{"type":"noun","entry":{"ts":1527812564,"i":6538,"p":"ډوډۍ","f":"DoDúy","g":"DoDuy","e":"bread, food, meal","c":"n. f."},"gender":"fem","genderCanChange":false,"number":"singular","numberCanChange":true,"adjectives":[]}}}}],"verb":{"type":"verb","verb":{"entry":{"ts":1527812790,"i":5795,"p":"خوړل","f":"khoRul","g":"khoRul","e":"to eat, to bite","c":"v. trans.","psp":"خور","psf":"khor","tppp":"خوړ","tppf":"khoR","ec":"eat,eats,eating,ate,eaten"}},"verbTense":"imperfectivePast","perfectTense":"presentPerfect","imperativeTense":"imperfectiveImperative","tenseCategory":"basic","transitivity":"transitive","isCompound":false,"voice":"active","negative":false,"canChangeTransitivity":false,"canChangeVoice":true,"canChangeStatDyn":false},"form":{"removeKing":false,"shrinkServant":false}}
}</EditableVPEx>

View File

@ -0,0 +1,414 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="531.7431"
height="79.377823"
viewBox="0 0 140.69031 21.002049"
version="1.1"
id="svg8"
inkscape:version="1.0 (4035a4fb49, 2020-05-01)"
sodipodi:docname="perfective-past.svg">
<defs
id="defs2">
<rect
x="146.44608"
y="-14.548825"
width="16.950678"
height="12.402935"
id="rect409" />
<rect
x="138.79759"
y="-19.303284"
width="23.772291"
height="14.470091"
id="rect371" />
<rect
x="9.3936357"
y="53.347046"
width="13.023082"
height="15.090237"
id="rect328" />
<rect
x="121.9088"
y="7.8961401"
width="56.433346"
height="18.811117"
id="rect6050" />
<rect
x="107.62167"
y="38.37397"
width="41.756546"
height="15.296953"
id="rect5964" />
<marker
inkscape:stockid="Arrow1Mend"
orient="auto"
refY="0"
refX="0"
id="Arrow1Mend"
style="overflow:visible"
inkscape:isstock="true">
<path
id="path1352"
d="M 0,0 5,-5 -12.5,0 5,5 Z"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
transform="matrix(-0.4,0,0,-0.4,-4,0)" />
</marker>
<rect
x="37.338371"
y="5.0927606"
width="52.299042"
height="14.883522"
id="rect5876" />
<marker
inkscape:stockid="Arrow1Mstart"
orient="auto"
refY="0"
refX="0"
id="Arrow1Mstart"
style="overflow:visible"
inkscape:isstock="true">
<path
id="path1349"
d="M 0,0 5,-5 -12.5,0 5,5 Z"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
transform="matrix(0.4,0,0,0.4,4,0)" />
</marker>
<marker
inkscape:stockid="Arrow1Lend"
orient="auto"
refY="0"
refX="0"
id="Arrow1Lend"
style="overflow:visible"
inkscape:isstock="true">
<path
id="path1346"
d="M 0,0 5,-5 -12.5,0 5,5 Z"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
transform="matrix(-0.8,0,0,-0.8,-10,0)" />
</marker>
<marker
inkscape:stockid="Arrow1Lstart"
orient="auto"
refY="0"
refX="0"
id="marker1631"
style="overflow:visible"
inkscape:isstock="true">
<path
id="path1629"
d="M 0,0 5,-5 -12.5,0 5,5 Z"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
transform="matrix(0.8,0,0,0.8,10,0)" />
</marker>
<marker
inkscape:stockid="Arrow1Lstart"
orient="auto"
refY="0"
refX="0"
id="marker1615"
style="overflow:visible"
inkscape:isstock="true">
<path
id="path1613"
d="M 0,0 5,-5 -12.5,0 5,5 Z"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
transform="matrix(0.8,0,0,0.8,10,0)" />
</marker>
<marker
inkscape:stockid="Arrow1Lstart"
orient="auto"
refY="0"
refX="0"
id="Arrow1Lstart"
style="overflow:visible"
inkscape:isstock="true">
<path
id="path1343"
d="M 0,0 5,-5 -12.5,0 5,5 Z"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
transform="matrix(0.8,0,0,0.8,10,0)" />
</marker>
<rect
x="62.350956"
y="47.882885"
width="66.975845"
height="16.33053"
id="rect1054" />
<rect
id="rect1910"
height="26.602938"
width="109.33515"
y="-7.9594593"
x="78.980247" />
<rect
id="rect1904"
height="12.862959"
width="71.915634"
y="2.4186096"
x="38.637333" />
<rect
id="rect1742"
height="22.867559"
width="43.65625"
y="33.489403"
x="49.46875" />
<rect
x="26.647322"
y="26.647322"
width="34.962795"
height="14.552084"
id="rect837" />
<rect
id="rect837-8"
height="14.552084"
width="34.962795"
y="26.647322"
x="26.647322" />
<rect
id="rect852"
height="14.552084"
width="34.962795"
y="26.647322"
x="26.647322" />
<rect
x="49.46875"
y="33.489403"
width="43.65625"
height="22.867559"
id="rect1742-2" />
<rect
x="49.46875"
y="33.489403"
width="43.65625"
height="22.867559"
id="rect1755" />
<rect
x="49.46875"
y="33.489403"
width="43.65625"
height="22.867559"
id="rect1742-5" />
<rect
x="49.46875"
y="33.489403"
width="43.65625"
height="22.867559"
id="rect1784" />
<rect
id="rect1742-2-1"
height="22.867559"
width="43.65625"
y="33.489403"
x="49.46875" />
<rect
id="rect1787"
height="22.867559"
width="43.65625"
y="33.489403"
x="49.46875" />
<rect
x="78.980247"
y="-7.9594593"
width="116.05897"
height="23.679539"
id="rect1910-4" />
<rect
x="78.980247"
y="-7.9594593"
width="109.33515"
height="26.602938"
id="rect1927" />
<rect
id="rect1910-4-1"
height="15.49402"
width="47.651417"
y="-7.9594593"
x="78.980247" />
<rect
id="rect1956"
height="23.679539"
width="116.05897"
y="-7.9594593"
x="78.980247" />
<rect
id="rect1054-5"
height="16.33053"
width="66.975845"
y="47.882885"
x="62.350956" />
<rect
id="rect1067"
height="16.33053"
width="66.975845"
y="47.882885"
x="62.350956" />
<rect
id="rect5876-9"
height="13.849944"
width="16.123816"
y="5.0927606"
x="37.338371" />
<rect
id="rect5977"
height="14.883522"
width="52.299042"
y="5.0927606"
x="37.338371" />
<rect
x="37.338371"
y="5.0927606"
width="29.973761"
height="14.263375"
id="rect5876-9-4" />
<rect
x="37.338371"
y="5.0927606"
width="16.123816"
height="13.849944"
id="rect6006" />
<rect
x="37.338371"
y="5.0927606"
width="31.8342"
height="13.436513"
id="rect5876-9-8" />
<rect
x="37.338371"
y="5.0927606"
width="16.123816"
height="13.849944"
id="rect6006-1" />
<marker
inkscape:isstock="true"
style="overflow:visible"
id="Arrow1Mend-3"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow1Mend">
<path
transform="matrix(-0.4,0,0,-0.4,-4,0)"
style="fill:#666666;fill-opacity:1;fill-rule:evenodd;stroke:#666666;stroke-width:1pt;stroke-opacity:1"
d="M 0,0 5,-5 -12.5,0 5,5 Z"
id="path1352-7" />
</marker>
<rect
id="rect328-5"
height="15.090237"
width="13.023082"
y="53.347046"
x="9.3936357" />
<rect
id="rect341"
height="15.090237"
width="13.023082"
y="53.347046"
x="9.3936357" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.279939"
inkscape:cx="272.15815"
inkscape:cy="221.18205"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
inkscape:document-rotation="0"
showgrid="false"
fit-margin-top="10"
fit-margin-left="10"
fit-margin-right="10"
fit-margin-bottom="10"
units="px"
inkscape:window-width="1920"
inkscape:window-height="1001"
inkscape:window-x="-9"
inkscape:window-y="-9"
inkscape:window-maximized="1"
inkscape:snap-global="false"
inkscape:snap-to-guides="true" />
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-46.189011,10.114638)">
<text
transform="translate(0.37797619,0.37797619)"
style="font-style:normal;font-weight:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect1904);fill:#000000;fill-opacity:1;stroke:none;"
id="text1902"
xml:space="preserve" />
<text
id="text1916"
y="10.543595"
x="64.887398"
style="font-style:normal;font-weight:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
xml:space="preserve"><tspan
style="stroke-width:0.264583"
y="10.543595"
x="64.887398"
id="tspan1914"
sodipodi:role="line" /></text>
<g
transform="translate(0,0.18449876)"
id="g2100">
<g
style="font-style:normal;font-weight:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect1910-4);fill:#000000;fill-opacity:1;stroke:none"
id="text1908-0-1"
transform="translate(-20.320974,53.966148)"
aria-label="...was eating supper." />
</g>
<text
xml:space="preserve"
id="text5962"
style="font-style:normal;font-weight:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect5964);fill:#000000;fill-opacity:1;stroke:none;" />
<g
transform="translate(0.6201485,-60.822466)"
id="g194">
<path
style="fill:none;stroke:#000000;stroke-width:0.765;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 48.214696,61.208853 H 183.61339"
id="path5870-2" />
<path
style="fill:none;stroke:#000000;stroke-width:0.765;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 115.91404,53.353661 V 69.064044"
id="path5872-7" />
</g>
<path
style="fill:#333333;stroke:#333333;stroke-width:0.985254"
id="path367"
sodipodi:type="arc"
sodipodi:cx="85.568314"
sodipodi:cy="0.38638401"
sodipodi:rx="4.5913458"
sodipodi:ry="4.5913458"
sodipodi:start="0.80404003"
sodipodi:end="0.79007041"
sodipodi:open="true"
sodipodi:arc-type="arc"
d="m 88.753803,3.6929103 a 4.5913458,4.5913458 0 0 1 -6.480871,-0.109509 4.5913458,4.5913458 0 0 1 0.08688,-6.4812131 4.5913458,4.5913458 0 0 1 6.481477,0.064239 4.5913458,4.5913458 0 0 1 -0.0416,6.4816617" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 191 KiB

View File

@ -1695,10 +1695,10 @@
rambda "^6.7.0" rambda "^6.7.0"
react-select "^5.2.2" react-select "^5.2.2"
"@lingdocs/pashto-inflector@^3.1.9": "@lingdocs/pashto-inflector@^3.2.2":
version "3.1.9" version "3.2.2"
resolved "https://npm.lingdocs.com/@lingdocs%2fpashto-inflector/-/pashto-inflector-3.1.9.tgz#1c31c4b9ab8ee851de2465fa6950c3cbf5818b4a" resolved "https://npm.lingdocs.com/@lingdocs%2fpashto-inflector/-/pashto-inflector-3.2.2.tgz#d9a6c7c95fc53d51b8594e1827c7fb1e3abcd947"
integrity sha512-dcgkGZPubUKsbesllERajAYkNIbemKNvoYu4JyvwZZ4kjq3TI9NPFtHE5uNPJ1R52mrbMrkm2aT2ss2SrybCRg== integrity sha512-JrkOKFmhYUBkMuaR+Mf0hFJUFWooynWjMPzSF84NnWDCGiDbE+7u/BoMy4TkmtDXRWlDeTGerLkB79xu9QswoQ==
dependencies: dependencies:
"@formkit/auto-animate" "^1.0.0-beta.1" "@formkit/auto-animate" "^1.0.0-beta.1"
classnames "^2.2.6" classnames "^2.2.6"