mini pronoun examples

This commit is contained in:
lingdocs 2021-03-18 18:07:29 +04:00
parent 40ab04d45c
commit 7dd12b74b9
8 changed files with 264 additions and 18 deletions

View File

@ -14,13 +14,10 @@ jobs:
env:
LINGDOCS_NPM_TOKEN: ${{ secrets.LINGDOCS_NPM_TOKEN }}
LINGDOCS_DICTIONARY_URL: ${{ secrets.LINGDOCS_DICTIONARY_URL }}
strategy:
matrix:
node-version: [12.x, 14.x, 15.x]
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
node-version: 12
- run: yarn install
- run: yarn build

View File

@ -4,10 +4,14 @@
"private": true,
"dependencies": {
"@fortawesome/fontawesome-free": "^5.15.2",
"@lingdocs/pashto-inflector": "^0.2.5",
"@lingdocs/pashto-inflector": "^0.3.3",
"@testing-library/jest-dom": "^4.2.4",
"@testing-library/react": "^9.3.2",
"@testing-library/user-event": "^7.1.2",
"@types/jest": "^26.0.21",
"@types/node": "^14.14.35",
"@types/react": "^17.0.3",
"@types/react-dom": "^17.0.2",
"bootstrap": "4.5.3",
"classnames": "^2.2.6",
"react": "^17.0.1",
@ -17,7 +21,8 @@
"react-router-hash-link": "^2.3.1",
"react-scripts": "3.4.3",
"react-scrollspy": "^3.4.3",
"react-smooth-collapse": "^2.1.0"
"react-smooth-collapse": "^2.1.0",
"typescript": "^4.2.3"
},
"scripts": {
"start": "react-scripts start",

36
src/components/Chart.tsx Normal file
View File

@ -0,0 +1,36 @@
import React from "react";
import {
Types as T,
Examples,
} from "@lingdocs/pashto-inflector";
function Chart({ titleRow, children, opts }: {
titleRow: string[] | undefined,
children: T.PsString[][],
opts: T.TextOptions,
}) {
console.log(children)
return <table className="table">
<thead>
{titleRow && <tr>
{titleRow.map((title) => (
<th scope="col" key={title}>{title}</th>
))}
</tr>}
</thead>
<tbody>
{children.map((row) => (
<tr>
{row.map((col) => (
<td>
<Examples opts={opts}>{col}</Examples>
</td>
))}
</tr>
))}
</tbody>
</table>;
}
export default Chart;

View File

@ -1,5 +1,5 @@
---
title: Mini Pronouns
title: Mini Pronouns 👶
---
<!--
@ -13,19 +13,23 @@ https://creativecommons.org/licenses/by-sa/4.0/legalcode
-->
import {
defaultTextOptions,
grammarUnits,
VerbTable,
Examples,
} from "@lingdocs/pashto-inflector";
import bigAndLittleBrother from "../../images/big-and-little-brother.jpg";
import Chart from "../../components/Chart";
These are **enclitic prounouns** that hang on to the back of words. They can't be used at the beginning of a sentence.
Mini pronouns are **enclitic prounouns** that hang on to the back of words. They can't be used at the beginning of a sentence. You can think of them as little babies 👶 that can't stand on their own. **They can't be used to start a sentence.** They always need to lean up against the back of another word.
The can only be used as:
<img className="rounded mx-auto d-block my-3" src={bigAndLittleBrother} />
1. The object of a non-past tense transitive verb
2. The subject/agent of a past tense transitive verb
Mini pronouns can only be used as one of three things:
1. The object of a present/future verb
2. The subject of a past tense transitive verb
3. A possesive pronoun
<VerbTable
@ -39,4 +43,96 @@ The can only be used as:
["him/her/it", "they"],
["him/her/it", "they"],
]}
/>
/>
## Examples
Below are some examples of how mini pronouns can be used in the place of regular pronouns. The mini pronouns are used when you don't need a strong emphasis on the pronoun.
### 1. As the object of a present/future verb
<Chart titleRow={["w/ reg. pronoun", "w/ mini pronoun 👶"]} opts={defaultTextOptions}>{[
[
{ p: "زه تا وینم", f: "zu taa weenum", e: "I see you"},
{ p: "زه دې وینم", f: "zu de weenum", e: "I see you"},
],
[
{ p: "هلک ما وهي", f: "haluk maa wahee", e: "The boy's hitting me" },
{ p: "هلک مې وهي", f: "haluk me wahee", e: "The boy's hitting me" },
],
[
{ p: "دوي ولې مونږ وهی؟", f: "dwee wăle moonG wahée?", e: "Why are they hitting us?" },
{ p: "دوي ولې مو وهی؟", f: "dwee wăle mU wahée?", e: "Why are they hitting us?" },
],
]}</Chart>
### 2. As the subject of a past tense transitive verb
<Chart titleRow={["w/ reg. pronoun", "w/ mini pronoun 👶"]} opts={defaultTextOptions}>{[
[
{ p: "ما ډوډۍ وخوړله", f: "maa DoDuy óokhoRula", e: "I ate food"},
{ p: "ډوډۍ مې وخوړله", f: "DoDuy me óokhoRula", e: "I ate food"},
],
[
{ p: "هغه واده کړی دی", f: "haghú waadu kúRey dey", e: "He's gotten married" },
{ p: "واده یې کړی دی", f: "waadu ye kúRey dey", e: "He's gotten married" },
],
[
{ p: "ما ولیدې", f: "maa óoleede", e: "I saw you" },
{ p: "ومې لیدې", f: "óo-me-leede", e: "I saw you" },
],
]}</Chart>
### 3. As a possesive pronoun
<Chart titleRow={["w/ reg. pronoun", "w/ mini pronoun 👶"]} opts={defaultTextOptions}>{[
[
{ p: "د هغې پلار مریض دی", f: "du haghe plaar mareez dey", e: "Her father is ill" },
{ p: "پلار یې مریض دی", f: "plaar ye mareez dey", e: "Her father is ill" },
],
[
{ p: "ستاسو کار سخت دی", f: "staaso kaar sakht dey", e: "Your work is difficult" },
{ p: "کار مو سخت دی", f: "kaar mU sakht dey", e: "Your work is difficult" },
],
[
{ p: "زمونږ کور په کابل کې دی", f: "zmoonG kor pu kaabul ke dey", e: "Our house is in Kabul" },
{ p: "کور مو په کابل کې دی", f: "kor mU pu kaabul ke dey", e: "Our house is in Kabul" },
],
]}</Chart>
## The order of mini-pronouns
In some sentences we might have more than one mini-prounoun. In these cases, it can be confusing for learners to know which pronoun has what role. For example, have a look at these sentences:
<Examples opts={defaultTextOptions}>{[
{ p: "پلار مې یې وهي", f: "plaar me ye wahee" },
]}</Examples>
Does this mean "My dad is hitting him" or "His dad is hitting me" ?
<details className="mb-3">
<summary>Answer:</summary>
It means, "."
</details>
<Examples opts={defaultTextOptions}>{[
{ p: "کتاب مې یې ولیده", f: "kitaab me ye óoleedu" },
]}</Examples>
Does this mean "He saw my book" or "I saw his book" ?
<details className="mb-3">
<summary>Answer:</summary>
It means, "I saw his book."
</details>
<Examples opts={defaultTextOptions}>{[
{ p: "غږ مې دې واورېده", f: "ghuG me de wáawredu" },
]}</Examples>
Does this mean "I heard your voice" or "You heard my voice" ?
<details className="mb-3">
<summary>Answer:</summary>
It means, "I heard your voice."
</details>

Binary file not shown.

After

Width:  |  Height:  |  Size: 77 KiB

1
src/react-app-env.d.ts vendored Normal file
View File

@ -0,0 +1 @@
/// <reference types="react-scripts" />

25
tsconfig.json Normal file
View File

@ -0,0 +1,25 @@
{
"compilerOptions": {
"target": "es5",
"lib": [
"dom",
"dom.iterable",
"esnext"
],
"allowJs": true,
"skipLibCheck": true,
"esModuleInterop": true,
"allowSyntheticDefaultImports": true,
"strict": true,
"forceConsistentCasingInFileNames": true,
"module": "esnext",
"moduleResolution": "node",
"resolveJsonModule": true,
"isolatedModules": true,
"noEmit": true,
"jsx": "react"
},
"include": [
"src"
]
}

View File

@ -1493,10 +1493,21 @@
"@types/yargs" "^15.0.0"
chalk "^3.0.0"
"@lingdocs/pashto-inflector@^0.2.5":
version "0.2.6"
resolved "https://npm.lingdocs.com/@lingdocs%2fpashto-inflector/-/pashto-inflector-0.2.6.tgz#556fd1f1d3e6b03512a6b4f28ced92d52f2bdf97"
integrity sha512-X3DQSzyicSm3xwk9Kztx6jKrl2Zad9cr2ehW2Ogfq5Nb04jmt/VUDleaxidwZOzGnLoBVgT7O/c72GbYfwL0aw==
"@jest/types@^26.6.2":
version "26.6.2"
resolved "https://registry.yarnpkg.com/@jest/types/-/types-26.6.2.tgz#bef5a532030e1d88a2f5a6d933f84e97226ed48e"
integrity sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==
dependencies:
"@types/istanbul-lib-coverage" "^2.0.0"
"@types/istanbul-reports" "^3.0.0"
"@types/node" "*"
"@types/yargs" "^15.0.0"
chalk "^4.0.0"
"@lingdocs/pashto-inflector@^0.3.3":
version "0.3.3"
resolved "https://npm.lingdocs.com/@lingdocs%2fpashto-inflector/-/pashto-inflector-0.3.3.tgz#4121f5fb7aca110ec55e42656175abd35bde1956"
integrity sha512-63PVVepthTsn4LuT753KL5JYCf8OgZ93jwdfdLyvzz2qDiwGpsh7lnRYUQX+I8QgMQZYlDv3OurTrvLGp9k5Qw==
dependencies:
classnames "^2.2.6"
pbf "^3.2.1"
@ -1841,6 +1852,21 @@
"@types/istanbul-lib-coverage" "*"
"@types/istanbul-lib-report" "*"
"@types/istanbul-reports@^3.0.0":
version "3.0.0"
resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz#508b13aa344fa4976234e75dddcc34925737d821"
integrity sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA==
dependencies:
"@types/istanbul-lib-report" "*"
"@types/jest@^26.0.21":
version "26.0.21"
resolved "https://registry.yarnpkg.com/@types/jest/-/jest-26.0.21.tgz#3a73c2731e7e4f0fbaea56ce7ff8c79cf812bd24"
integrity sha512-ab9TyM/69yg7eew9eOwKMUmvIZAKEGZYlq/dhe5/0IMUd/QLJv5ldRMdddSn+u22N13FP3s5jYyktxuBwY0kDA==
dependencies:
jest-diff "^26.0.0"
pretty-format "^26.0.0"
"@types/json-schema@^7.0.3":
version "7.0.4"
resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.4.tgz#38fd73ddfd9b55abb1e1b2ed578cb55bd7b7d339"
@ -1868,6 +1894,11 @@
resolved "https://registry.yarnpkg.com/@types/node/-/node-13.9.2.tgz#ace1880c03594cc3e80206d96847157d8e7fa349"
integrity sha512-bnoqK579sAYrQbp73wwglccjJ4sfRdKU7WNEZ5FW4K2U6Kc0/eZ5kvXG0JKsEKFB50zrFmfFt52/cvBbZa7eXg==
"@types/node@^14.14.35":
version "14.14.35"
resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.35.tgz#42c953a4e2b18ab931f72477e7012172f4ffa313"
integrity sha512-Lt+wj8NVPx0zUmUwumiVXapmaLUcAk3yPuHCFVXras9k5VT9TdhJqKqGVUQCD60OTMCl0qxJ57OiTL0Mic3Iag==
"@types/parse-json@^4.0.0":
version "4.0.0"
resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0"
@ -1895,6 +1926,13 @@
dependencies:
"@types/react" "*"
"@types/react-dom@^17.0.2":
version "17.0.2"
resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-17.0.2.tgz#35654cf6c49ae162d5bc90843d5437dc38008d43"
integrity sha512-Icd9KEgdnFfJs39KyRyr0jQ7EKhq8U6CcHRMGAS45fp5qgUvxL3ujUCfWFttUK2UErqZNj97t9gsVPNAqcwoCg==
dependencies:
"@types/react" "*"
"@types/react-transition-group@^4.4.1":
version "4.4.1"
resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.4.1.tgz#e1a3cb278df7f47f17b5082b1b3da17170bd44b1"
@ -1910,7 +1948,7 @@
"@types/prop-types" "*"
csstype "^3.0.2"
"@types/react@>=16.9.11", "@types/react@>=16.9.35":
"@types/react@>=16.9.11", "@types/react@>=16.9.35", "@types/react@^17.0.3":
version "17.0.3"
resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.3.tgz#ba6e215368501ac3826951eef2904574c262cc79"
integrity sha512-wYOUxIgs2HZZ0ACNiIayItyluADNbONl7kt8lkLjVK8IitMH5QMyAh75Fwhmo37r1m7L2JaFj03sIfxBVDvRAg==
@ -3199,6 +3237,14 @@ chalk@^3.0.0:
ansi-styles "^4.1.0"
supports-color "^7.1.0"
chalk@^4.0.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a"
integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==
dependencies:
ansi-styles "^4.1.0"
supports-color "^7.1.0"
change-case@^3.0.2:
version "3.1.0"
resolved "https://registry.yarnpkg.com/change-case/-/change-case-3.1.0.tgz#0e611b7edc9952df2e8513b27b42de72647dd17e"
@ -4134,6 +4180,11 @@ diff-sequences@^24.9.0:
resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-24.9.0.tgz#5715d6244e2aa65f48bba0bc972db0b0b11e95b5"
integrity sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew==
diff-sequences@^26.6.2:
version "26.6.2"
resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.6.2.tgz#48ba99157de1923412eed41db6b6d4aa9ca7c0b1"
integrity sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==
diffie-hellman@^5.0.0:
version "5.0.3"
resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875"
@ -6491,6 +6542,16 @@ jest-diff@^24.0.0, jest-diff@^24.9.0:
jest-get-type "^24.9.0"
pretty-format "^24.9.0"
jest-diff@^26.0.0:
version "26.6.2"
resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-26.6.2.tgz#1aa7468b52c3a68d7d5c5fdcdfcd5e49bd164394"
integrity sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA==
dependencies:
chalk "^4.0.0"
diff-sequences "^26.6.2"
jest-get-type "^26.3.0"
pretty-format "^26.6.2"
jest-docblock@^24.3.0:
version "24.9.0"
resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-24.9.0.tgz#7970201802ba560e1c4092cc25cbedf5af5a8ce2"
@ -6549,6 +6610,11 @@ jest-get-type@^24.9.0:
resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-24.9.0.tgz#1684a0c8a50f2e4901b6644ae861f579eed2ef0e"
integrity sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q==
jest-get-type@^26.3.0:
version "26.3.0"
resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-26.3.0.tgz#e97dc3c3f53c2b406ca7afaed4493b1d099199e0"
integrity sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==
jest-haste-map@^24.9.0:
version "24.9.0"
resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-24.9.0.tgz#b38a5d64274934e21fa417ae9a9fbeb77ceaac7d"
@ -9257,6 +9323,16 @@ pretty-format@^25.1.0, pretty-format@^25.5.0:
ansi-styles "^4.0.0"
react-is "^16.12.0"
pretty-format@^26.0.0, pretty-format@^26.6.2:
version "26.6.2"
resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.6.2.tgz#e35c2705f14cb7fe2fe94fa078345b444120fc93"
integrity sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==
dependencies:
"@jest/types" "^26.6.2"
ansi-regex "^5.0.0"
ansi-styles "^4.0.0"
react-is "^17.0.1"
prismjs@^1.15.0:
version "1.23.0"
resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.23.0.tgz#d3b3967f7d72440690497652a9d40ff046067f33"
@ -9563,6 +9639,11 @@ react-is@^16.12.0, react-is@^16.3.2, react-is@^16.6.0, react-is@^16.7.0, react-i
resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"
integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
react-is@^17.0.1:
version "17.0.1"
resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.1.tgz#5b3531bd76a645a4c9fb6e693ed36419e3301339"
integrity sha512-NAnt2iGDXohE5LI7uBnLnqvLQMtzhkiAOLXTmv+qnF9Ky7xAPcX8Up/xWIhxvLVGJvuLiNc4xQLtuqDRzb4fSA==
react-lifecycles-compat@^3.0.4:
version "3.0.4"
resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362"
@ -11416,6 +11497,11 @@ typedarray@^0.0.6:
resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=
typescript@^4.2.3:
version "4.2.3"
resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.2.3.tgz#39062d8019912d43726298f09493d598048c1ce3"
integrity sha512-qOcYwxaByStAWrBf4x0fibwZvMRG+r4cQoTjbPtUlrWjBHbmCAww1i448U0GJ+3cNNEtebDteo/cHOR3xJ4wEw==
typographic-apostrophes-for-possessive-plurals@^1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/typographic-apostrophes-for-possessive-plurals/-/typographic-apostrophes-for-possessive-plurals-1.0.5.tgz#ca31b6f3d27ba800d6902d62fba29b548f639b99"