proper 8 categories of equatives

This commit is contained in:
lingdocs 2022-06-27 14:02:00 -05:00
parent 8bdaaeabbd
commit 076fd07be5
7 changed files with 56 additions and 22 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.1", "@lingdocs/pashto-inflector": "^3.1.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

@ -33,6 +33,7 @@ import {
equativeGamePast, equativeGamePast,
equativeGameWouldBe, equativeGameWouldBe,
equativeGamePastSubjunctive, equativeGamePastSubjunctive,
equativeGameWouldHaveBeen,
} from "../../games/games"; } from "../../games/games";
import GameDisplay from "../../games/GameDisplay"; import GameDisplay from "../../games/GameDisplay";
@ -400,7 +401,7 @@ Because this is based on the the non-inflecting tail, *it doesn't change at all,
<InlinePs opts={opts} ps={{ p: "و", f: "w" }} /> + non-inflecting tail <InlinePs opts={opts} ps={{ p: "و", f: "w" }} /> + non-inflecting tail
</Formula> </Formula>
export function WithTailChoice() { export function WithTailChoice(props) {
const [choice, setChoice] = React.useState("aay"); const [choice, setChoice] = React.useState("aay");
const waay = concatPsString( const waay = concatPsString(
{p: "و", f: "w"}, {p: "و", f: "w"},
@ -423,15 +424,20 @@ export function WithTailChoice() {
</div> </div>
<EquativeFormChoice <EquativeFormChoice
forms={{ forms={{
sentence: { sentence: !props.ba ? {
displayForm: concatPsString( displayForm: concatPsString(
{ p: "کاشکې ... ...", f: "kaashke ... ..."}, " ", { p: "کاشکې ... ...", f: "kaashke ... ..."}, " ",
waay, { p: "!", f: "!" }, waay, { p: "!", f: "!" },
), ),
english: [[["If only ... was/were ...!"]]], english: [[["If only ... was/were ...!"]]],
} : {
displayForm: concatPsString(
{ p: "به ...", f: "ba ..." }, " ", waay,
),
english: [[["... would have been ..."]]],
}, },
pure: { pure: {
displayForm: waay, displayForm: !props.ba ? waay : concatPsString(grammarUnits.baParticle, " ", waay),
}, },
}} }}
opts={opts} opts={opts}
@ -482,37 +488,55 @@ export function WithTailChoice() {
<GameDisplay record={equativeGamePastSubjunctive} /> <GameDisplay record={equativeGamePastSubjunctive} />
## Overview ## "Would have been" Equative
#### Present Equative This is used to talk about:
- If some hypothetical condition were true, A would have been B
- A should have been B, or it would have been good if A would have been B
<Formula>
<InlinePs opts={opts} ps={grammarUnits.baParticle} /> + <Link to="#past-subjunctive">past subjunctive</Link>
</Formula>
<WithTailChoice ba />
<GameDisplay record={equativeGameWouldHaveBeen} />
## Overview of 8 Equatives
#### 1. Present Equative
- A is B currently - A is B currently
- A is B categorically, definately - A is B categorically, definately
#### Habitual Equative #### 2. Habitual Equative
- A is B habitually, repeatedly, generally - A is B habitually, repeatedly, generally
- A tends to be B - A tends to be B
#### Subjunctive Equative #### 3. Subjunctive Equative
- One desires or wants A to be B - One desires or wants A to be B
- A should/must be B (judgement) - A should/must be B (judgement)
- If/it's possible that A is B - If/it's possible that A is B
- ...so that A is B (purpose) - ...so that A is B (purpose)
#### Future Equative #### 4. Future Equative
- A will be B - A will be B
- presuming or guessing that A will be B - presuming or guessing that A will be B
#### Past Equative #### 5. Past Equative
- A was B - A was B
- (if) A turns out to be B - (if) A turns out to be B
#### "Would be" Equative #### 6. "Would be" Equative
- A was B habitually - A was B habitually
- Presuming or guessing that A was B - Presuming or guessing that A was B
- A would have been B (as the result of a hypothetical outcome) - A would have been B (as the result of a hypothetical outcome)
- A should have been B - A should have been B
#### Past Subjunctive Equative #### 7. Past Subjunctive Equative
- A should have been B - A should have been B
- If A were B (unreal conditional) - If A were B (unreal conditional)
- I wish/if only A were B! - I wish/if only A were B!
#### 8. "Would have been" Equative
- A would have been B

View File

@ -90,7 +90,7 @@ import * as theFiveYeys from "!babel-loader!@lingdocs/mdx-loader!./writing/the-f
import * as typingIssues from "!babel-loader!@lingdocs/mdx-loader!./writing/typing-issues.mdx"; import * as typingIssues from "!babel-loader!@lingdocs/mdx-loader!./writing/typing-issues.mdx";
// @ts-ignore // @ts-ignore
import * as unrealConditionals from "!babel-loader!@lingdocs/mdx-loader!./recipies/unreal-conditionals.mdx"; import * as unrealConditionals from "!babel-loader!@lingdocs/mdx-loader!./recipes/unreal-conditionals.mdx";
// @ts-ignore // @ts-ignore
import * as games from "!babel-loader!@lingdocs/mdx-loader!./games.mdx"; import * as games from "!babel-loader!@lingdocs/mdx-loader!./games.mdx";
@ -300,8 +300,8 @@ const contentTree = [
], ],
}, },
{ {
heading: "Recipies 👩‍🍳", heading: "Recipes 👩‍🍳",
subdirectory: "recipies", subdirectory: "recipes",
chapters: [ chapters: [
{ {
import: unrealConditionals, import: unrealConditionals,

View File

@ -10,8 +10,8 @@ title: Unreal Conditionals
- past subjunctive equative / perfect - past subjunctive equative / perfect
#### B. Then something else would be true #### B. Then something else would be true
- currently - currently
- continuous past / ba + continuous past - continuous past / habitual continuous past
- "would be" equative - "would be" equative
- in the past - in the past
- "would be" equative / perfect - "would be" equative / perfect
- ba + past subjunctive equative / perfect - "would have been" equative / perfect

View File

@ -84,6 +84,13 @@ export const equativeGamePastSubjunctive = makeGameRecord(
(id, link) => () => <EquativeGame id={id} link={link} level="pastSubjunctive" />, (id, link) => () => <EquativeGame id={id} link={link} level="pastSubjunctive" />,
); );
export const equativeGameWouldHaveBeen = makeGameRecord(
'Write the "would have been" equative',
"equative-would-have-been",
"/equatives/other-equatives/#wold-have-been-equative",
(id, link) => () => <EquativeGame id={id} link={link} level="wouldHaveBeen" />,
);
export const equativeGameAllIdentify = makeGameRecord( export const equativeGameAllIdentify = makeGameRecord(
"Identify the equative (all tenses)", "Identify the equative (all tenses)",
"equative-past-summary-identify", "equative-past-summary-identify",
@ -124,6 +131,7 @@ const games: { chapter: string, items: GameRecord[] }[] = [
equativeGamePast, equativeGamePast,
equativeGameWouldBe, equativeGameWouldBe,
equativeGamePastSubjunctive, equativeGamePastSubjunctive,
equativeGameWouldHaveBeen,
equativeGameSituations, equativeGameSituations,
equativeGameAllIdentify, equativeGameAllIdentify,
equativeGameAllProduce, equativeGameAllProduce,

View File

@ -54,7 +54,7 @@ const locAdverbs: T.LocativeAdverbEntry[] = [
{"ts":1527812449,"i":13937,"p":"هلته","f":"hálta, álta","g":"halta,alta","e":"there","c":"loc. adv."}, {"ts":1527812449,"i":13937,"p":"هلته","f":"hálta, álta","g":"halta,alta","e":"there","c":"loc. adv."},
].filter(tp.isLocativeAdverbEntry); ].filter(tp.isLocativeAdverbEntry);
const tenses: T.EquativeTense[] = [ const tenses: T.EquativeTense[] = [
"present", "habitual", "subjunctive", "future", "past", "wouldBe", "pastSubjunctive", "present", "habitual", "subjunctive", "future", "past", "wouldBe", "pastSubjunctive", "wouldHaveBeen"
]; ];
type Situation = { type Situation = {
@ -466,6 +466,8 @@ function humanReadableTense(tense: T.EquativeTense | "allProduce"): string {
? "past subjunctive" ? "past subjunctive"
: tense === "wouldBe" : tense === "wouldBe"
? `"would be"` ? `"would be"`
: tense === "wouldHaveBeen"
? `"would have been"`
: tense; : tense;
} }

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.1": "@lingdocs/pashto-inflector@^3.1.2":
version "3.1.1" version "3.1.2"
resolved "https://npm.lingdocs.com/@lingdocs%2fpashto-inflector/-/pashto-inflector-3.1.1.tgz#607cb0ed6a3569bd86b8033ce12cbb9f530150a7" resolved "https://npm.lingdocs.com/@lingdocs%2fpashto-inflector/-/pashto-inflector-3.1.2.tgz#cdd43202fb5c934964a5370762587853fbea968b"
integrity sha512-tMG1viHjZDJVKR5Hwr0s/fHDYqTM0XMOPgWdSZtMgY4VVJIQgms9gaT9aVVibRsfO8p7GauteE+B1hwaIbMxpg== integrity sha512-B2Yb7Thx1HPhsB9ZumDVvjGETHGejiClalsOxnXaWStDEPmsmemgDvmn5Zp/6E2gUhCr9dW6vIaLfG5wYSxG+A==
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"