more
This commit is contained in:
parent
9c02e9d6dd
commit
04ad1831f0
|
@ -0,0 +1,5 @@
|
||||||
|
adjectives can be used like nouns
|
||||||
|
|
||||||
|
وبخښه، ته **استرحات** وې
|
||||||
|
|
||||||
|
زه **عادت** یم
|
|
@ -4,7 +4,7 @@
|
||||||
"private": true,
|
"private": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@fortawesome/fontawesome-free": "^5.15.2",
|
"@fortawesome/fontawesome-free": "^5.15.2",
|
||||||
"@lingdocs/pashto-inflector": "^0.4.0",
|
"@lingdocs/pashto-inflector": "^0.6.9",
|
||||||
"@testing-library/jest-dom": "^4.2.4",
|
"@testing-library/jest-dom": "^4.2.4",
|
||||||
"@testing-library/react": "^9.3.2",
|
"@testing-library/react": "^9.3.2",
|
||||||
"@testing-library/user-event": "^7.1.2",
|
"@testing-library/user-event": "^7.1.2",
|
||||||
|
@ -31,7 +31,8 @@
|
||||||
"start": "react-scripts start",
|
"start": "react-scripts start",
|
||||||
"build": "node scripts/get-words.js && react-scripts build",
|
"build": "node scripts/get-words.js && react-scripts build",
|
||||||
"test": "react-scripts test",
|
"test": "react-scripts test",
|
||||||
"eject": "react-scripts eject"
|
"eject": "react-scripts eject",
|
||||||
|
"get-words": "node scripts/get-words.js"
|
||||||
},
|
},
|
||||||
"eslintConfig": {
|
"eslintConfig": {
|
||||||
"extends": "react-app"
|
"extends": "react-app"
|
||||||
|
|
|
@ -37,12 +37,16 @@ export default nounsAdjs;`;
|
||||||
});
|
});
|
||||||
|
|
||||||
function getVerbsFromTsS(entries) {
|
function getVerbsFromTsS(entries) {
|
||||||
return allVerbTsS.map(item => {
|
const missingEc = [];
|
||||||
|
const toReturn = allVerbTsS.map(item => {
|
||||||
const entry = entries.find(x => item.ts === x.ts);
|
const entry = entries.find(x => item.ts === x.ts);
|
||||||
if (!entry) {
|
if (!entry) {
|
||||||
console.log("couldn't find ts", ts);
|
console.log("couldn't find ts", ts);
|
||||||
return undefined;
|
return undefined;
|
||||||
}
|
}
|
||||||
|
if (!entry.ec) {
|
||||||
|
missingEc.push(entry.ts);
|
||||||
|
}
|
||||||
if (entry.c && entry.c.includes("comp.")) {
|
if (entry.c && entry.c.includes("comp.")) {
|
||||||
const complement = entries.find(x => entry.l === x.ts);
|
const complement = entries.find(x => entry.l === x.ts);
|
||||||
return {
|
return {
|
||||||
|
@ -52,6 +56,10 @@ function getVerbsFromTsS(entries) {
|
||||||
}
|
}
|
||||||
return { entry, def: item.e };
|
return { entry, def: item.e };
|
||||||
}).filter(x => x);
|
}).filter(x => x);
|
||||||
|
if (missingEc.length !== 0) {
|
||||||
|
console.log("Verbs missing ec:", missingEc);
|
||||||
|
}
|
||||||
|
return toReturn;
|
||||||
}
|
}
|
||||||
|
|
||||||
function getNounsAdjsFromTsS(entries) {
|
function getNounsAdjsFromTsS(entries) {
|
||||||
|
|
|
@ -7,6 +7,7 @@ import {
|
||||||
Examples,
|
Examples,
|
||||||
InlinePs,
|
InlinePs,
|
||||||
} from "@lingdocs/pashto-inflector";
|
} from "@lingdocs/pashto-inflector";
|
||||||
|
import psmd from "../../lib/psmd";
|
||||||
import imperfectiveTimeline from "./imperfective-time.svg";
|
import imperfectiveTimeline from "./imperfective-time.svg";
|
||||||
import perfectiveTimeline from "./perfective-time.svg";
|
import perfectiveTimeline from "./perfective-time.svg";
|
||||||
|
|
||||||
|
@ -22,9 +23,10 @@ The imperfective aspect is used for looking at the action as a process that's co
|
||||||
|
|
||||||
For example:
|
For example:
|
||||||
|
|
||||||
<Examples opts={opts}>{[
|
<Examples opts={opts}>{psmd([
|
||||||
{ p: "ما ډوډۍ خوړله", f: "maa DoDuy khoRúla", e: "I was eating food" },
|
{ p: `ما ډوډۍ **خوړله**`, f: `maa DoDuy **khoRúla**`, e: "I was eating food" },
|
||||||
]}</Examples>
|
{ p: `زه په پارک کې **ګرځېدم**`, f: `zu pu paark ke **gurdzedúm**`, e: "I was walking in the park" },
|
||||||
|
])}</Examples>
|
||||||
|
|
||||||
#### 2. <i className="fas fa-camera" /> Perfective Aspect
|
#### 2. <i className="fas fa-camera" /> Perfective Aspect
|
||||||
|
|
||||||
|
@ -36,9 +38,10 @@ The perfective aspect is used for looking at the action as a complete whole, wit
|
||||||
|
|
||||||
For example:
|
For example:
|
||||||
|
|
||||||
<Examples opts={opts}>{[
|
<Examples opts={opts}>{psmd([
|
||||||
{ p: "ما ډوډۍ وخوړله", f: "maa DoDuy óokhoRula", e: "I ate food" },
|
{ p: `ما ډوډۍ **وخوړله**`, f: `maa DoDuy **óokhoRula**`, e: "I ate food" },
|
||||||
]}</Examples>
|
{ p: `زه په پارک کې **وګرځېدم**`, f: `zu pu paark ke **óogurdzedum**`, e: "I took a walk in the park" },
|
||||||
|
])}</Examples>
|
||||||
|
|
||||||
As we saw in the examples above, in English we are used to using these two different aspects with the past tense. But **Pashto uses these two aspects for almost *everything!*** This is very import to remember and it takes a while for learners to get used to.
|
As we saw in the examples above, in English we are used to using these two different aspects with the past tense. But **Pashto uses these two aspects for almost *everything!*** This is very import to remember and it takes a while for learners to get used to.
|
||||||
|
|
||||||
|
@ -54,14 +57,14 @@ For example, when making commands in Pashto we have to choose which aspect we ar
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<Examples opts={opts}>{[
|
<Examples opts={opts}>{psmd([
|
||||||
{ p: "خبله کوټه صفا کوه!", f: "khpula koTa safaa kawa!", e: "Clean your room!" },
|
{ p: `خبله کوټه **صفا کوه**!`, f: `khpula koTa **safaa kawa**`, e: "Clean your room!" },
|
||||||
]}</Examples>
|
])}</Examples>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<Examples opts={opts}>{[
|
<Examples opts={opts}>{psmd([
|
||||||
{ p: "خبله کوټه صفا کړه!", f: "khpula koTa safaa kRa!", e: "Clean your room!" },
|
{ p: `خبله کوټه **صفا کړه**!`, f: `khpula koTa **safaa kRa**!`, e: "Clean your room!" },
|
||||||
]}</Examples>
|
])}</Examples>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
|
@ -83,14 +86,14 @@ Or when talking about things in the future tense, we face the same choice of asp
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<Examples opts={opts}>{[
|
<Examples opts={opts}>{psmd([
|
||||||
{ p: "مونږ به کېنو او خبرې کوو", f: "moonG ba keenóo aw khabure kawoo", e: "We'll sit and talk" },
|
{ p: `مونږ به **کېنو** او **خبرې کوو**`, f: `moonG ba **keenóo** aw **khabure kawoo**`, e: "We'll sit and talk" },
|
||||||
]}</Examples>
|
])}</Examples>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<Examples opts={opts}>{[
|
<Examples opts={opts}>{psmd([
|
||||||
{ p: "مونږ به کېنو او خبرې وکړو", f: "moonG ba kéenoo aw khabure ookRoo", e: "We'll sit and talk" },
|
{ p: `مونږ به **کېنو** او **خبرې وکړو**`, f: `moonG ba **kéenoo** aw **khabure ookRoo**`, e: "We'll sit and talk" },
|
||||||
]}</Examples>
|
])}</Examples>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
|
@ -100,4 +103,35 @@ Or when talking about things in the future tense, we face the same choice of asp
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
In the next chapters (coming soon) we'll learn how to actually make verbs with these two different aspects. For now, it's just important to **be aware that they exist**. It takes a long time for learners to get used to the idea that they have to use the right aspect for almost everything. Otherwise, we tend to pick an aspect without thinking and sound completely wrong or confusing 50% of the time. 🤦♂️
|
Even when talking about ability in the past tense, you still have to choose an aspect!
|
||||||
|
|
||||||
|
<table class="table" style={{ tableLayout: "fixed" }}>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th scope="col"><i className="fas fa-video fa-lg" /> Imperfective</th>
|
||||||
|
<th scope="col"><i className="fas fa-camera fa-lg" /> Perfective</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<Examples opts={opts}>{psmd([
|
||||||
|
{ p: `هغه له کوره **وتلی شوه**`, f: `haghá la kora **watuley shwa**`, e: "She was able to leave the house." },
|
||||||
|
])}</Examples>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<Examples opts={opts}>{psmd([
|
||||||
|
{ p: `هغه له کوره **ووتلی شوه**`, f: `haghá la kora **óowatuley shwa**`, e: "She was able to leave the house." },
|
||||||
|
])}</Examples>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>She had permission to go and could go whenever she wanted, repeatedly or in general.</td>
|
||||||
|
<td>In one particular instance, she was able to get out of the house.</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
See what a big difference the aspect (<i className="fas fa-video" /> / <i className="fas fa-camera" /> ) makes? Poor English verbs don't have these aspects in a lot of situations, and so when we speak English we just have to make do with more ambiguity. But in Pashto we can (and must!) be precise.
|
||||||
|
|
||||||
|
In the next chapters (coming soon) we'll learn how to actually make verbs with these two different aspects. For now, it's just important to **be aware that they exist**. It takes a long time for learners to get used to the idea that they have to use the right aspect for almost everything. Otherwise, we tend to pick an aspect at random and then sound completely wrong or confusing 50% of the time. 🤦♂️
|
||||||
|
|
|
@ -7,18 +7,18 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
module.exports = [
|
module.exports = [
|
||||||
{ ts: 1527814617, e: "to take" }, // نیول - to take
|
{ ts: 1527814617, e: "to take", ec: ["take", "takes", "taking", "took", "taken"] }, // نیول - to take
|
||||||
{ ts: 1527811872, e: "to put on" }, // اچول - to put, pour, drop, throw, put on
|
{ ts: 1527811872, e: "to put on", ec: ["put", "puts", "putting", "put", "put"] }, // اچول - to put, pour, drop, throw, put on
|
||||||
{ ts: 1527817298, e: "to take" }, // اخیستل - to take, buy, purchase, receive; to shave, cut with scissors
|
{ ts: 1527817298, e: "to take", ec: ["take", "takes", "taking", "took", "taken"] }, // اخیستل - to take, buy, purchase, receive; to shave, cut with scissors
|
||||||
{ ts: 1527816127, e: "to turn over" }, // اړول - to turn over, flip over; convert, change; to move over to, establish oneself in a new spot; divert, turn away, hijack
|
{ ts: 1527816127, e: "to turn over" }, // اړول - to turn over, flip over; convert, change; to move over to, establish oneself in a new spot; divert, turn away, hijack
|
||||||
{ ts: 1527811605, e: "to test" }, // ازمویل - to attempt, try; to experiment, test
|
{ ts: 1527811605, e: "to test", ec: ["test", "tests", "testing", "tested", "tested"] }, // ازمویل - to attempt, try; to experiment, test
|
||||||
{ ts: 1527812458, e: "to send" },// استول - to send
|
{ ts: 1527812458, e: "to send", ec: ["send", "sends", "sending", "sent", "sent"] },// استول - to send
|
||||||
{ ts: 1527811397, e: "to wear" },// اغوستل - to wear, to put on (clothes)
|
{ ts: 1527811397, e: "to wear", ec: ["wear", "wears", "wearing", "worn", "worn"] },// اغوستل - to wear, to put on (clothes)
|
||||||
{ ts: 1527816125, e: "to make fly" },// الوزول - to make fly, to toss, to release (birds); to blow up
|
{ ts: 1527816125, e: "to make fly" },// الوزول - to make fly, to toss, to release (birds); to blow up
|
||||||
{ ts: 1527816146, e: "to take out" },// ایستل - to throw out, discard, chuck, toss; to extract, to take out
|
{ ts: 1527816146, e: "to take out" },// ایستل - to throw out, discard, chuck, toss; to extract, to take out
|
||||||
{ ts: 1527817786, e: "to forgive" },// بخښل - to forgive, to pardon
|
{ ts: 1527817786, e: "to forgive", ec: ["forgive", "forgives", "forgiving", "forgave", "forgiven"] },// بخښل - to forgive, to pardon
|
||||||
{ ts: 1527816092, e: "to call, deem" },// بلل - to call, invite; to consider, deem
|
{ ts: 1527816092, e: "to call, deem, consider", ec: ["deem", "deems", "deeming", "deemed", "deemed"] },// بلل - to call, invite; to consider, deem
|
||||||
{ ts: 1577389204616, e: "to open" },// پرانیستل - to open; to undo; to initiate
|
{ ts: 1577389204616, e: "to open", ec: ["open", "opens", "opening", "opened", "opened" ] }, // پرانیستل - to open; to undo; to initiate
|
||||||
{ ts: 1527816874, e: "to sell" },// پلورل - to sell
|
{ ts: 1527816874, e: "to sell" },// پلورل - to sell
|
||||||
{ ts: 1527815190, e: "to quit" },// پرېښودل - to quit
|
{ ts: 1527815190, e: "to quit" },// پرېښودل - to quit
|
||||||
{ ts: 1527815216, e: "to come" },// راتلل - to come
|
{ ts: 1527815216, e: "to come" },// راتلل - to come
|
||||||
|
|
|
@ -1554,10 +1554,10 @@
|
||||||
"@types/yargs" "^15.0.0"
|
"@types/yargs" "^15.0.0"
|
||||||
chalk "^4.0.0"
|
chalk "^4.0.0"
|
||||||
|
|
||||||
"@lingdocs/pashto-inflector@^0.4.0":
|
"@lingdocs/pashto-inflector@^0.6.9":
|
||||||
version "0.4.6"
|
version "0.6.9"
|
||||||
resolved "https://npm.lingdocs.com/@lingdocs%2fpashto-inflector/-/pashto-inflector-0.4.6.tgz#02326f80333b181d62bb31b72922e37e6b7dcef5"
|
resolved "https://npm.lingdocs.com/@lingdocs%2fpashto-inflector/-/pashto-inflector-0.6.9.tgz#924bfc8f35cd9947196ce6ceb4ac346f6c91a8d5"
|
||||||
integrity sha512-22AYH63kYoSMF2YOo4Pu9S631kvOLlsgCuVL41zHDMf9KzXgkoDOqfYO4ogorI5X/IlylfscSe50RSDvUnagQw==
|
integrity sha512-EfFkxC1SQS+zXhIbiS5HqQfKUV31TDIY0f6QUGN60pMcILDerHUghUlicsgEdbfb88asiplXb434eCU62z9Prg==
|
||||||
dependencies:
|
dependencies:
|
||||||
classnames "^2.2.6"
|
classnames "^2.2.6"
|
||||||
pbf "^3.2.1"
|
pbf "^3.2.1"
|
||||||
|
|
Loading…
Reference in New Issue