starting EP page
This commit is contained in:
parent
b9d74a81fb
commit
4048557c65
|
@ -1,6 +1,7 @@
|
|||
function KidsSectionIllustration({ blocks, showKidsSection }: {
|
||||
blocks: ("NP" | "AP" | "comp." | "verb" | "equative")[],
|
||||
function BasicBlocks({ blocks, showKidsSection, large }: {
|
||||
blocks: (string | { top?: string | JSX.Element, inside?: string | JSX.Element, bottom?: string | JSX.Element })[],
|
||||
showKidsSection?: boolean,
|
||||
large?: boolean,
|
||||
}) {
|
||||
return <div className="d-flex flex-row justify-content-center">
|
||||
<div>
|
||||
|
@ -20,15 +21,21 @@ function KidsSectionIllustration({ blocks, showKidsSection }: {
|
|||
</div>
|
||||
</div>
|
||||
</div>}
|
||||
<div className="d-flex flex-row justify-content-center mb-4">
|
||||
<div className="d-flex flex-row justify-content-center mb-4 align-items-end">
|
||||
{blocks.map((block, i) => (
|
||||
<div className="text-center mr-2" key={`blockr-${i}`}>
|
||||
<div style={{
|
||||
<div>{typeof block === "object" ? block.top : <div></div>}</div>
|
||||
<div
|
||||
className="d-flex flex-row justify-content-center align-items-center"
|
||||
style={{
|
||||
border: "2px solid black",
|
||||
height: "2.5rem",
|
||||
width: "4rem",
|
||||
}}/>
|
||||
<div>{block}</div>
|
||||
height: large ? "2.75rem" : "2.5rem",
|
||||
width: large ? "4.5rem" : "4rem",
|
||||
}}
|
||||
>
|
||||
{(typeof block === "object" && block.inside) ? block.inside : ""}
|
||||
</div>
|
||||
<div>{typeof block === "object" ? block.bottom : block}</div>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
|
@ -36,4 +43,4 @@ function KidsSectionIllustration({ blocks, showKidsSection }: {
|
|||
</div>;
|
||||
}
|
||||
|
||||
export default KidsSectionIllustration;
|
||||
export default BasicBlocks;
|
|
@ -0,0 +1,97 @@
|
|||
import { useState } from "react";
|
||||
import {
|
||||
ButtonSelect,
|
||||
} from "@lingdocs/pashto-inflector";
|
||||
|
||||
export function EquativeIllustration() {
|
||||
const [choice, setChoice] = useState<"p" | "f" | "e">("f");
|
||||
return (
|
||||
<div>
|
||||
<div className="text-center my-3">
|
||||
<ButtonSelect
|
||||
options={[
|
||||
{ label: "Phonetics", value: "f" },
|
||||
{ label: "Pashto", value: "p" },
|
||||
{ label: "English", value: "e" },
|
||||
]}
|
||||
value={choice}
|
||||
handleChange={(p) => setChoice(p)}
|
||||
/>
|
||||
</div>
|
||||
{choice === "f" ?
|
||||
<div className="d-flex justify-content-around mx-auto mb-3" style={{ maxWidth: "400px" }}>
|
||||
<div className="text-center p-2">
|
||||
<div className="display-3">A</div>
|
||||
<div>subject</div>
|
||||
<div className="h4 mt-3">zu</div>
|
||||
<div className="h4 mt-3">haghá</div>
|
||||
<div className="h4 mt-3">moonG</div>
|
||||
</div>
|
||||
<div className="text-center p-2">
|
||||
<div className="display-3">B</div>
|
||||
<div>predicate</div>
|
||||
<div className="h4 mt-3">stuRey</div>
|
||||
<div className="h4 mt-3">dălta</div>
|
||||
<div className="h4 mt-3">zdakawóonkee</div>
|
||||
</div>
|
||||
<div className="text-center p-2" style={{ border: "1px solid black", borderRadius: "10px" }}>
|
||||
<div className="display-3">=</div>
|
||||
<div>equative</div>
|
||||
<div className="h4 mt-3">yum.</div>
|
||||
<div className="h4 mt-3">dey.</div>
|
||||
<div className="h4 mt-3">yoo.</div>
|
||||
</div>
|
||||
</div>
|
||||
: choice === "p" ?
|
||||
<div className="d-flex justify-content-around mx-auto mb-3" style={{ direction: "rtl", maxWidth: "400px" }}>
|
||||
<div className="text-center p-2">
|
||||
<div className="display-3">ا</div>
|
||||
<div>subject</div>
|
||||
<div className="h4 mt-3">زه</div>
|
||||
<div className="h4 mt-3">هغه</div>
|
||||
<div className="h4 mt-3">مونږ</div>
|
||||
</div>
|
||||
<div className="text-center p-2">
|
||||
<div className="display-3">ب</div>
|
||||
<div>predicate</div>
|
||||
<div className="h4 mt-3">ستړی</div>
|
||||
<div className="h4 mt-3">دلته</div>
|
||||
<div className="h4 mt-3">زدکوونکي</div>
|
||||
</div>
|
||||
<div className="text-center p-2" style={{ border: "1px solid black", borderRadius: "10px" }}>
|
||||
<div className="display-3">=</div>
|
||||
<div>equative</div>
|
||||
<div className="h4 mt-3">یم.</div>
|
||||
<div className="h4 mt-3">دی.</div>
|
||||
<div className="h4 mt-3">یو.</div>
|
||||
</div>
|
||||
</div>
|
||||
: <div className="d-flex justify-content-around mx-auto mb-3" style={{ maxWidth: "400px" }}>
|
||||
<div className="text-center p-2">
|
||||
<div className="display-3">A</div>
|
||||
<div>subject</div>
|
||||
<div className="h4 mt-3">I</div>
|
||||
<div className="h4 mt-3">He</div>
|
||||
<div className="h4 mt-3">We</div>
|
||||
</div>
|
||||
<div className="text-center p-2" style={{ border: "1px solid black", borderRadius: "10px" }}>
|
||||
<div className="display-3">=</div>
|
||||
<div>equative</div>
|
||||
<div className="h4 mt-3">am</div>
|
||||
<div className="h4 mt-3">is</div>
|
||||
<div className="h4 mt-3">are</div>
|
||||
</div>
|
||||
<div className="text-center p-2">
|
||||
<div className="display-3">B</div>
|
||||
<div>predicate</div>
|
||||
<div className="h4 mt-3">tired.</div>
|
||||
<div className="h4 mt-3">here.</div>
|
||||
<div className="h4 mt-3">students.</div>
|
||||
</div>
|
||||
</div>}
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
export default EquativeIllustration;
|
||||
|
|
@ -31,107 +31,6 @@ import {
|
|||
import GameDisplay from "../../games/GameDisplay";
|
||||
import psmd from "../../lib/psmd";
|
||||
|
||||
The [equative](https://en.wikipedia.org/wiki/Equative) might be the most basic way of joining words together. We use it to say that something *is/equals* something else. It's kind of like an equals "=" sign in math.
|
||||
|
||||
<div className="d-flex justify-content-around mx-auto mb-3" style={{ maxWidth: "400px" }}>
|
||||
<div className="text-center p-2">
|
||||
<div className="display-3">A</div>
|
||||
<div>subject</div>
|
||||
<div className="h4 mt-3">I</div>
|
||||
<div className="h4 mt-3">He</div>
|
||||
<div className="h4 mt-3">We</div>
|
||||
</div>
|
||||
<div className="text-center p-2" style={{ border: "1px solid black", borderRadius: "10px" }}>
|
||||
<div className="display-3">=</div>
|
||||
<div>equative</div>
|
||||
<div className="h4 mt-3">am</div>
|
||||
<div className="h4 mt-3">is</div>
|
||||
<div className="h4 mt-3">are</div>
|
||||
</div>
|
||||
<div className="text-center p-2">
|
||||
<div className="display-3">B</div>
|
||||
<div>complement</div>
|
||||
<div className="h4 mt-3">tired.</div>
|
||||
<div className="h4 mt-3">here.</div>
|
||||
<div className="h4 mt-3">students.</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
But **in Pashto, the word order is different**. Here are those same three sentences, written in Pashto:
|
||||
|
||||
export function EquativeIllustration({forms, opts}) {
|
||||
const [choice, setChoice] = useState("f");
|
||||
return (
|
||||
<div>
|
||||
<div className="text-center my-3">
|
||||
<ButtonSelect
|
||||
options={[
|
||||
{ label: "Phonetics", value: "f" },
|
||||
{ label: "Pashto Script", value: "p" },
|
||||
]}
|
||||
value={choice}
|
||||
handleChange={(p) => setChoice(p)}
|
||||
/>
|
||||
</div>
|
||||
{choice === "f" ?
|
||||
<div className="d-flex justify-content-around mx-auto mb-3" style={{ maxWidth: "400px" }}>
|
||||
<div className="text-center p-2">
|
||||
<div className="display-3">A</div>
|
||||
<div>subject</div>
|
||||
<div className="h4 mt-3">zu</div>
|
||||
<div className="h4 mt-3">haghá</div>
|
||||
<div className="h4 mt-3">moonG</div>
|
||||
</div>
|
||||
<div className="text-center p-2">
|
||||
<div className="display-3">B</div>
|
||||
<div>complement</div>
|
||||
<div className="h4 mt-3">stuRey</div>
|
||||
<div className="h4 mt-3">dălta</div>
|
||||
<div className="h4 mt-3">zdakawóonkee</div>
|
||||
</div>
|
||||
<div className="text-center p-2" style={{ border: "1px solid black", borderRadius: "10px" }}>
|
||||
<div className="display-3">=</div>
|
||||
<div>equative</div>
|
||||
<div className="h4 mt-3">yum.</div>
|
||||
<div className="h4 mt-3">dey.</div>
|
||||
<div className="h4 mt-3">yoo.</div>
|
||||
</div>
|
||||
</div>
|
||||
:
|
||||
<div className="d-flex justify-content-around mx-auto mb-3" style={{ direction: "rtl", maxWidth: "400px" }}>
|
||||
<div className="text-center p-2">
|
||||
<div className="display-3">ا</div>
|
||||
<div>subject</div>
|
||||
<div className="h4 mt-3">زه</div>
|
||||
<div className="h4 mt-3">هغه</div>
|
||||
<div className="h4 mt-3">مونږ</div>
|
||||
</div>
|
||||
<div className="text-center p-2">
|
||||
<div className="display-3">ب</div>
|
||||
<div>complement</div>
|
||||
<div className="h4 mt-3">ستړی</div>
|
||||
<div className="h4 mt-3">دلته</div>
|
||||
<div className="h4 mt-3">زدکوونکي</div>
|
||||
</div>
|
||||
<div className="text-center p-2" style={{ border: "1px solid black", borderRadius: "10px" }}>
|
||||
<div className="display-3">=</div>
|
||||
<div>equative</div>
|
||||
<div className="h4 mt-3">یم.</div>
|
||||
<div className="h4 mt-3">دی.</div>
|
||||
<div className="h4 mt-3">یو.</div>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
<EquativeIllustration />
|
||||
|
||||
<!-- **Warning: ⚠** *Often times English speakers learning Pashto will be tempted to just forget the equative at the end because it can feel like they're done the sentence, or it might be hard to remember which equative to use. But don't leave it out, it's a vital part of the sentence!*
|
||||
|
||||
The important thing about the equative is that **the equative has to agree with the subject**. Just like it would sound strange to say "I are tired," in Pashto you can't say ❌ <InlinePs opts={defaultTextOptions} ps={{ p: "زه ستړی یو", f: "zu stuRey yoo" }} /> ❌. -->
|
||||
|
||||
## Present Equative Form
|
||||
|
||||
Here are the **present equative endings** that you have to use depending on the subject. We use this **present equative** form when:
|
||||
|
|
|
@ -35,6 +35,8 @@ import * as NPIntro from "!babel-loader!@lingdocs/mdx-loader!./phrase-structure/
|
|||
// @ts-ignore
|
||||
import * as APIntro from "!babel-loader!@lingdocs/mdx-loader!./phrase-structure/ap.mdx";
|
||||
// @ts-ignore
|
||||
import * as EPIntro from "!babel-loader!@lingdocs/mdx-loader!./phrase-structure/ep.mdx";
|
||||
// @ts-ignore
|
||||
import * as KidsSection from "!babel-loader!@lingdocs/mdx-loader!./phrase-structure/kids-section.mdx";
|
||||
|
||||
// @ts-ignore
|
||||
|
@ -161,6 +163,10 @@ const contentTree = [
|
|||
import: APIntro,
|
||||
slug: "ap",
|
||||
},
|
||||
{
|
||||
import: EPIntro,
|
||||
slug: "ep",
|
||||
},
|
||||
{
|
||||
import: KidsSection,
|
||||
slug: "kids-section",
|
||||
|
|
|
@ -0,0 +1,98 @@
|
|||
---
|
||||
title: EPs
|
||||
---
|
||||
|
||||
import {
|
||||
defaultTextOptions as opts,
|
||||
InlinePs,
|
||||
Examples,
|
||||
makeNounSelection,
|
||||
} from "@lingdocs/pashto-inflector";
|
||||
import psmd from "../../lib/psmd";
|
||||
import Link from "../../components/Link";
|
||||
import EditablePhraseDiagram, {
|
||||
EditIcon,
|
||||
} from "../../components/phrase-diagram/EditablePhraseDiagram";
|
||||
import EquativeIllustration from "../../components/EquativeIllustration";
|
||||
import BasicBlocks from "../../components/BasicBlocks"
|
||||
|
||||
|
||||
**There is no "to be" verb in Pashto**. 🤯 Let that sink in for a second. There's no infinitive "to be" form. You can't say "It's good *to be* here." We can't use "to be" as a verb and make normal verb phrases like we do in other language.
|
||||
|
||||
In Pashto, we use a special structure called an **equative phrase (EP)** when we talk about something being something.
|
||||
|
||||
Basically with an equative phrase we have three main parts:
|
||||
|
||||
- **"A"** a subject (the thing we are talking about)
|
||||
- **"B"** a predicate (what the thing *is*)
|
||||
- **"="** an equative at the end to join them together
|
||||
|
||||
Notice how the word order is different than it is in English.
|
||||
|
||||
<EquativeIllustration />
|
||||
|
||||
There are two ways to build an equative phrase:
|
||||
|
||||
1. <Link to="/phrase-structure/np/">NP</Link> + <Link to="/phrase-structure/ep/#whats-an-ep-complement">Complement</Link> + Equative
|
||||
|
||||
<BasicBlocks large blocks={[
|
||||
{ bottom: "NP", inside: "A", top: "Subject" },
|
||||
{ bottom: "Comp.", inside: "B", top: "Predicate" },
|
||||
{ bottom: "Equative", inside: "=" },
|
||||
]} />
|
||||
|
||||
2. <Link to="/phrase-structure/np/">NP</Link> + <Link to="/phrase-structure/np/">NP</Link> + Equative
|
||||
|
||||
<BasicBlocks large blocks={[
|
||||
{ bottom: "NP", inside: "A", top: "Subject" },
|
||||
{ bottom: "NP", inside: "B", top: "Predicate" },
|
||||
{ bottom: "Equative", inside: "=" },
|
||||
]} />
|
||||
|
||||
The equative will **always agree with the last NP** in the phrase. So for #1 it will agree with the *subject* and for #2 it will agree with the *predicate*.
|
||||
|
||||
## 1. NP + Complement
|
||||
|
||||
<BasicBlocks large blocks={[
|
||||
{ bottom: "NP", inside: "A", top: "Subject" },
|
||||
{ bottom: "Comp.", inside: "B", top: "Predicate" },
|
||||
{ bottom: "Equative", inside: "=" },
|
||||
]} />
|
||||
|
||||
This is the most common phrase you will see for describing what a subject is. With this kind of phrase we use an <Link to="/phrase-structure/ep/#whats-an-ep-complement">EP complement</Link> to describe the subject <Link to="/phrase-structure/np/">NP</Link>.
|
||||
|
||||
### What's an EP Complement?
|
||||
|
||||
An **EP complement** is one of four things:
|
||||
|
||||
- adjective
|
||||
- location adverb
|
||||
- sandwich
|
||||
- complement noun
|
||||
|
||||
Let's look at some examples using each of these kinds of complements.
|
||||
|
||||
#### With an adjective
|
||||
|
||||
An adjective is a word that describes what the subject is like. Notice that it will inflect to agree with the subject.
|
||||
|
||||
EXAMPLES COMING...
|
||||
|
||||
#### With a location adverb
|
||||
|
||||
An adverb is a word that describes the location of the subject. Don't worry, it doesn't inflect.
|
||||
|
||||
EXAMPLES COMING...
|
||||
|
||||
#### With a sandwich
|
||||
|
||||
#### With a complement noun
|
||||
|
||||
## 2. NP + NP
|
||||
|
||||
<BasicBlocks large blocks={[
|
||||
{ bottom: "NP", inside: "A", top: "Subject" },
|
||||
{ bottom: "NP", inside: "B", top: "Predicate" },
|
||||
{ bottom: "Equative", inside: "=" },
|
||||
]} />
|
||||
|
|
@ -9,26 +9,26 @@ import {
|
|||
} from "@lingdocs/pashto-inflector";
|
||||
import psmd from "../../lib/psmd";
|
||||
import Link from "../../components/Link";
|
||||
import KidsSectionIllustration from "../../components/KidsSectionIllustration";
|
||||
import BasicBlocks from "../../components/BasicBlocks";
|
||||
import EditablePhraseDiagram, {
|
||||
EditIcon,
|
||||
} from "../../components/phrase-diagram/EditablePhraseDiagram";
|
||||
|
||||
Pashto phrases are built with **blocks** that are <Link to="/phrase-structure/np/">NPs</Link>, <Link to="/phrase-structure/ap/">APs</Link>, or complements, with a verb or equative at the end. Here are some examples of what the phrases can look like.
|
||||
|
||||
<KidsSectionIllustration blocks={["NP", "Comp.", "Equative"]} />
|
||||
<KidsSectionIllustration blocks={["AP", "NP", "NP", "Equative"]} />
|
||||
<KidsSectionIllustration blocks={["NP", "Comp.", "Equative"]} />
|
||||
<KidsSectionIllustration blocks={["Verb"]} />
|
||||
<KidsSectionIllustration blocks={["NP", "NP", "Equative"]} />
|
||||
<BasicBlocks blocks={["NP", "Comp.", "Equative"]} />
|
||||
<BasicBlocks blocks={["AP", "NP", "NP", "Equative"]} />
|
||||
<BasicBlocks blocks={["NP", "Comp.", "Equative"]} />
|
||||
<BasicBlocks blocks={["Verb"]} />
|
||||
<BasicBlocks blocks={["NP", "NP", "Equative"]} />
|
||||
|
||||
**After the first block** in a phrase comes a special place that we'll call the **kids' section**.
|
||||
|
||||
<KidsSectionIllustration showKidsSection blocks={["NP", "Comp.", "Equative"]} />
|
||||
<KidsSectionIllustration showKidsSection blocks={["AP", "NP", "NP", "Equative"]} />
|
||||
<KidsSectionIllustration showKidsSection blocks={["NP", "Comp.", "Equative"]} />
|
||||
<KidsSectionIllustration showKidsSection blocks={["Verb"]} />
|
||||
<KidsSectionIllustration showKidsSection blocks={["NP", "NP", "Equative"]} />
|
||||
<BasicBlocks showKidsSection blocks={["NP", "Comp.", "Equative"]} />
|
||||
<BasicBlocks showKidsSection blocks={["AP", "NP", "NP", "Equative"]} />
|
||||
<BasicBlocks showKidsSection blocks={["NP", "Comp.", "Equative"]} />
|
||||
<BasicBlocks showKidsSection blocks={["Verb"]} />
|
||||
<BasicBlocks showKidsSection blocks={["NP", "NP", "Equative"]} />
|
||||
|
||||
In Pashto we have a bunch of little words that we will treat like little **children**.
|
||||
|
||||
|
|
|
@ -12,15 +12,15 @@ import Link from "../../components/Link";
|
|||
import EditablePhraseDiagram, {
|
||||
EditIcon,
|
||||
} from "../../components/phrase-diagram/EditablePhraseDiagram";
|
||||
import KidsSectionIllustration from "../../components/KidsSectionIllustration";
|
||||
import BasicBlocks from "../../components/BasicBlocks";
|
||||
|
||||
Pashto phrases are built with a basic **building blocks** 🧱 like NPs, APs, verbs, and equatives. We can think of phrases in Pashto as a line of blocks like this:
|
||||
|
||||
<KidsSectionIllustration blocks={["AP", "NP", "NP", "Verb"]} />
|
||||
<BasicBlocks blocks={["AP", "NP", "NP", "Verb"]} />
|
||||
|
||||
Or like this...
|
||||
|
||||
<KidsSectionIllustration blocks={["NP", "NP", "Equative"]} />
|
||||
<BasicBlocks blocks={["NP", "NP", "Equative"]} />
|
||||
|
||||
|
||||
In Pashto, it's important to know how these building blocks line up. But first, let's look at what these blocks actually are. In this chapter we'll look at the NP.
|
||||
|
|
Loading…
Reference in New Issue