Merge branch '204-check-pronouns-config' into 'main'

detect unnecessary plurals / honorifics

Closes #204

See merge request PronounsPage/PronounsPage!456
This commit is contained in:
Valentyne Stigloher 2024-06-06 10:17:51 +00:00
commit df071306d2
41 changed files with 255 additions and 205 deletions

View File

@ -1,5 +1,5 @@
singular plural isHonorific singular
Mi pensas, ke {pronoun_subject} estas tre afabla. FALSE Mi pensas, ke {pronoun_subject} estas tre afabla.
Mi demandis {pronoun_subject}n, ĉu mi povas prunti {pronoun_subject}an skribilon. FALSE Mi demandis {pronoun_subject}n, ĉu mi povas prunti {pronoun_subject}an skribilon.
{'pronoun_subject} diris, ke la libroj estas {pronoun_subject}aj. FALSE {'pronoun_subject} diris, ke la libroj estas {pronoun_subject}aj.
{'pronoun_subject} diris, ke {pronoun_subject} preferas mem fari tion. FALSE {'pronoun_subject} diris, ke {pronoun_subject} preferas mem fari tion.

1 singular plural isHonorific
2 Mi pensas, ke {pronoun_subject} estas tre afabla. FALSE
3 Mi demandis {pronoun_subject}n, ĉu mi povas prunti {pronoun_subject}an skribilon. FALSE
4 {'pronoun_subject} diris, ke la libroj estas {pronoun_subject}aj. FALSE
5 {'pronoun_subject} diris, ke {pronoun_subject} preferas mem fari tion. FALSE

View File

@ -1,9 +1,9 @@
singular plural isHonorific singular
Creo que {pronoun} es muy querid{inflection}. FALSE Creo que {pronoun} es muy querid{inflection}.
Llamé a mi herman{inflection} esta mañana y me dijo que estará ocupad{inflection} esta tarde. FALSE Llamé a mi herman{inflection} esta mañana y me dijo que estará ocupad{inflection} esta tarde.
A mi amiga la quiero, pero a mi novi{inflection} {direct_object_pronoun} amo mucho. FALSE A mi amiga la quiero, pero a mi novi{inflection} {direct_object_pronoun} amo mucho.
{'plural_definite_article} activistas progresiv{inflection}s están presionando para la aceptación de los pronombres neutros. FALSE {'plural_definite_article} activistas progresiv{inflection}s están presionando para la aceptación de los pronombres neutros.
Se acerca la navidad y no sé qué regalos comprar para {plural_pronoun}. FALSE Se acerca la navidad y no sé qué regalos comprar para {plural_pronoun}.
{'definite_article} dueñ{inflection} de esta tienda es una persona amable. FALSE {'definite_article} dueñ{inflection} de esta tienda es una persona amable.
{'plural_direct_object_pronoun} vi anoche pero no me reconocieron. FALSE {'plural_direct_object_pronoun} vi anoche pero no me reconocieron.
Es {indefinite_article} estudiante muy list{inflection}. FALSE Es {indefinite_article} estudiante muy list{inflection}.

1 singular plural isHonorific
2 Creo que {pronoun} es muy querid{inflection}. FALSE
3 Llamé a mi herman{inflection} esta mañana y me dijo que estará ocupad{inflection} esta tarde. FALSE
4 A mi amiga la quiero, pero a mi novi{inflection} {direct_object_pronoun} amo mucho. FALSE
5 {'plural_definite_article} activistas progresiv{inflection}s están presionando para la aceptación de los pronombres neutros. FALSE
6 Se acerca la navidad y no sé qué regalos comprar para {plural_pronoun}. FALSE
7 {'definite_article} dueñ{inflection} de esta tienda es una persona amable. FALSE
8 {'plural_direct_object_pronoun} vi anoche pero no me reconocieron. FALSE
9 Es {indefinite_article} estudiante muy list{inflection}. FALSE

View File

@ -7,7 +7,7 @@ pronouns:
route: 'pronouns' route: 'pronouns'
default: 'tema' default: 'tema'
any: 'mistahes' any: 'mistahes'
plurals: true plurals: false
honorifics: false honorifics: false
generator: generator:
enabled: true enabled: true

View File

@ -1,5 +1 @@
singular plural isHonorific singular
I think {pronoun_subject} is very nice. I think {pronoun_subject} are very nice. FALSE
I asked {pronoun_object} if I can borrow {possessive_determiner} pencil. FALSE
{'pronoun_subject} told me that the house is {possessive_pronoun}. FALSE
{'pronoun_subject} said {pronoun_subject} would rather do it {reflexive}. FALSE

1 singular plural isHonorific
I think {pronoun_subject} is very nice. I think {pronoun_subject} are very nice. FALSE
I asked {pronoun_object} if I can borrow {possessive_determiner} pencil. FALSE
{'pronoun_subject} told me that the house is {possessive_pronoun}. FALSE
{'pronoun_subject} said {pronoun_subject} would rather do it {reflexive}. FALSE

View File

@ -1,5 +1,5 @@
singular plural isHonorific singular plural
Je pense qu'{pronoun_subject} est très genti{inflection_l}. Je pense qu'{pronoun_subject} sont très genti{inflection_l}. FALSE Je pense qu'{pronoun_subject} est très genti{inflection_l}. Je pense qu'{pronoun_subject} sont très genti{inflection_l}.
{'pronoun_subject} est {pronoun_possessive} voisi{inflection_n}. {'pronoun_subject} sont {pronoun_possessive} voisi{inflection_n}. FALSE {'pronoun_subject} est {pronoun_possessive} voisi{inflection_n}. {'pronoun_subject} sont {pronoun_possessive} voisi{inflection_n}.
Je vais {pronoun_object} rencontrer bientôt. FALSE Je vais {pronoun_object} rencontrer bientôt.
Je me fie à {pronoun_disjunctive}. FALSE Je me fie à {pronoun_disjunctive}.

1 singular plural isHonorific
2 Je pense qu'{pronoun_subject} est très genti{inflection_l}. Je pense qu'{pronoun_subject} sont très genti{inflection_l}. FALSE
3 {'pronoun_subject} est {pronoun_possessive} voisi{inflection_n}. {'pronoun_subject} sont {pronoun_possessive} voisi{inflection_n}. FALSE
4 Je vais {pronoun_object} rencontrer bientôt. FALSE
5 Je me fie à {pronoun_disjunctive}. FALSE

View File

@ -1,8 +1,8 @@
singular plural isHonorific singular
Eu acho que {pronoun} é muito simpáti{inflection_c}. FALSE Eu acho que {pronoun} é muito simpáti{inflection_c}.
Liguei para {possessive} sobrinh{inflection} esta manhã e {pronoun} disse que estará ocupad{inflection} esta tarde. FALSE Liguei para {possessive} sobrinh{inflection} esta manhã e {pronoun} disse que estará ocupad{inflection} esta tarde.
O Natal está chegando e não sei que presentes comprar para {plural_pronoun}. FALSE O Natal está chegando e não sei que presentes comprar para {plural_pronoun}.
{'definite_article} don{inflection} desta loja é uma pessoa gentil. FALSE {'definite_article} don{inflection} desta loja é uma pessoa gentil.
Eu {plural_definite_article} vi ontem à noite, mas {plural_pronoun} não me reconheceram. FALSE Eu {plural_definite_article} vi ontem à noite, mas {plural_pronoun} não me reconheceram.
{'pronoun} é {indefinite_article} alun{inflection} muito espert{inflection}. FALSE {'pronoun} é {indefinite_article} alun{inflection} muito espert{inflection}.
{'pronoun} me disse que esta é a casa {de_pronoun}. FALSE {'pronoun} me disse que esta é a casa {de_pronoun}.

1 singular plural isHonorific
2 Eu acho que {pronoun} é muito simpáti{inflection_c}. FALSE
3 Liguei para {possessive} sobrinh{inflection} esta manhã e {pronoun} disse que estará ocupad{inflection} esta tarde. FALSE
4 O Natal está chegando e não sei que presentes comprar para {plural_pronoun}. FALSE
5 {'definite_article} don{inflection} desta loja é uma pessoa gentil. FALSE
6 Eu {plural_definite_article} vi ontem à noite, mas {plural_pronoun} não me reconheceram. FALSE
7 {'pronoun} é {indefinite_article} alun{inflection} muito espert{inflection}. FALSE
8 {'pronoun} me disse que esta é a casa {de_pronoun}. FALSE

View File

@ -7,7 +7,7 @@ pronouns:
route: 'pronouns' route: 'pronouns'
default: 'he' default: 'he'
any: 'any' any: 'any'
plurals: true plurals: false
honorifics: false honorifics: false
generator: generator:
enabled: true enabled: true

View File

@ -1,5 +1 @@
singular plural isHonorific singular
I think {pronoun_subject} is very nice. I think {pronoun_subject} are very nice. FALSE
I asked {pronoun_object} if I can borrow {possessive_determiner} pencil. FALSE
{'pronoun_subject} told me that the house is {possessive_pronoun}. FALSE
{'pronoun_subject} said {pronoun_subject} would rather do it {reflexive}. FALSE

1 singular plural isHonorific
I think {pronoun_subject} is very nice. I think {pronoun_subject} are very nice. FALSE
I asked {pronoun_object} if I can borrow {possessive_determiner} pencil. FALSE
{'pronoun_subject} told me that the house is {possessive_pronoun}. FALSE
{'pronoun_subject} said {pronoun_subject} would rather do it {reflexive}. FALSE

View File

@ -1,9 +1,9 @@
singular plural isHonorific singular plural
{'article} volontar{noun_i} è molto vantaggios{adjective}. {'article} volontar{noun_i} sono molto vantaggios{adjective}. FALSE {'article} volontar{noun_i} è molto vantaggios{adjective}. {'article} volontar{noun_i} sono molto vantaggios{adjective}.
Sono stanc{h}{adjective}, ma molto felice. Siamo stanc{h}{adjective}, ma molto felice. FALSE Sono stanc{h}{adjective}, ma molto felice. Siamo stanc{h}{adjective}, ma molto felice.
{'pronoun_n} è arrivat{past_participle}. {'pronoun_n} sono arrivat{past_participle} FALSE {'pronoun_n} è arrivat{past_participle}. {'pronoun_n} sono arrivat{past_participle}
Sei stat{past_participle} a casa? Siete stat{past_participle} a casa? FALSE Sei stat{past_participle} a casa? Siete stat{past_participle} a casa?
Ho visto {article_indefinite} ragazz{noun} bell{adjective}. FALSE Ho visto {article_indefinite} ragazz{noun} bell{adjective}.
{'pronoun_n} canta a {possessive} amic{h}{noun}. {'pronoun_n} cantano a {possessive} amic{h}{noun}. FALSE {'pronoun_n} canta a {possessive} amic{h}{noun}. {'pronoun_n} cantano a {possessive} amic{h}{noun}.
{'pronoun_d} parlai per un'ora intera. FALSE {'pronoun_d} parlai per un'ora intera.
{'pronoun_a} vedo. FALSE {'pronoun_a} vedo.

1 singular plural isHonorific
2 {'article} volontar{noun_i} è molto vantaggios{adjective}. {'article} volontar{noun_i} sono molto vantaggios{adjective}. FALSE
3 Sono stanc{h}{adjective}, ma molto felice. Siamo stanc{h}{adjective}, ma molto felice. FALSE
4 {'pronoun_n} è arrivat{past_participle}. {'pronoun_n} sono arrivat{past_participle} FALSE
5 Sei stat{past_participle} a casa? Siete stat{past_participle} a casa? FALSE
6 Ho visto {article_indefinite} ragazz{noun} bell{adjective}. FALSE
7 {'pronoun_n} canta a {possessive} amic{h}{noun}. {'pronoun_n} cantano a {possessive} amic{h}{noun}. FALSE
8 {'pronoun_d} parlai per un'ora intera. FALSE
9 {'pronoun_a} vedo. FALSE

View File

@ -7,7 +7,7 @@ pronouns:
route: '三人称代名詞' route: '三人称代名詞'
default: '彼' default: '彼'
any: 'いずれ' any: 'いずれ'
plurals: true plurals: false
honorifics: false honorifics: false
generator: generator:
enabled: true enabled: true

View File

@ -1,5 +1,5 @@
singular plural isHonorific singular
思うに{base_pronoun}はめちゃくちゃ優しいですよ。 FALSE 思うに{base_pronoun}はめちゃくちゃ優しいですよ。
私は{base_pronoun}に{base_pronoun}のペンを借りてもいいかと尋ねました。 FALSE 私は{base_pronoun}に{base_pronoun}のペンを借りてもいいかと尋ねました。
{base_pronoun}は家は{base_pronoun}のものと言いました。 FALSE {base_pronoun}は家は{base_pronoun}のものと言いました。
後で{base_pronoun}に教えてください。 FALSE 後で{base_pronoun}に教えてください。

1 singular plural isHonorific
2 思うに{base_pronoun}はめちゃくちゃ優しいですよ。 FALSE
3 私は{base_pronoun}に{base_pronoun}のペンを借りてもいいかと尋ねました。 FALSE
4 {base_pronoun}は家は{base_pronoun}のものと言いました。 FALSE
5 後で{base_pronoun}に教えてください。 FALSE

View File

@ -3,13 +3,13 @@ key description normative base_pronoun plural pluralHonorific pronounceable sour
彼女 女性的 TRUE 彼女 FALSE FALSE TRUE 彼女 女性的 TRUE 彼女 FALSE FALSE TRUE
あの人 中性的 TRUE あの人 FALSE FALSE TRUE 文の主題は話し手の近くにいれば、「あ」を「こ」に置き換える。文の主題は話し手の遠く、聞き手の近くにいれば、「あ」を「そ」に置き換える。 あの人 中性的 TRUE あの人 FALSE FALSE TRUE 文の主題は話し手の近くにいれば、「あ」を「こ」に置き換える。文の主題は話し手の遠く、聞き手の近くにいれば、「あ」を「そ」に置き換える。
あの方 中性的(敬語) TRUE あの方 FALSE FALSE TRUE 文の主題は話し手の近くにいれば、「あ」を「こ」に置き換える。文の主題は話し手の遠く、聞き手の近くにいれば、「あ」を「そ」に置き換える。 あの方 中性的(敬語) TRUE あの方 FALSE FALSE TRUE 文の主題は話し手の近くにいれば、「あ」を「こ」に置き換える。文の主題は話し手の遠く、聞き手の近くにいれば、「あ」を「そ」に置き換える。
彼達 男性的と複数形(敬語) TRUE 彼達 TRUE FALSE TRUE 彼達 男性的と複数形(敬語) TRUE 彼達 FALSE FALSE TRUE
彼女達 女性的と複数形(敬語) TRUE 彼女達 TRUE FALSE TRUE 彼女達 女性的と複数形(敬語) TRUE 彼女達 FALSE FALSE TRUE
彼ら 男性的と複数形 TRUE 彼ら TRUE FALSE TRUE 彼ら 男性的と複数形 TRUE 彼ら FALSE FALSE TRUE
彼女ら 女性的と複数形 TRUE 彼女ら TRUE FALSE TRUE 彼女ら 女性的と複数形 TRUE 彼女ら FALSE FALSE TRUE
あの人達 中性的と複数形 TRUE あの人達 TRUE FALSE TRUE 文の主題は話し手の近くにいれば、「あ」を「こ」に置き換える。文の主題は話し手の遠く、聞き手の近くにいれば、「あ」を「そ」に置き換える。 あの人達 中性的と複数形 TRUE あの人達 FALSE FALSE TRUE 文の主題は話し手の近くにいれば、「あ」を「こ」に置き換える。文の主題は話し手の遠く、聞き手の近くにいれば、「あ」を「そ」に置き換える。
あの方達 中性的と複数形(敬語) TRUE あの方達 TRUE FALSE TRUE 文の主題は話し手の近くにいれば、「あ」を「こ」に置き換える。文の主題は話し手の遠く、聞き手の近くにいれば、「あ」を「そ」に置き換える。 あの方達 中性的と複数形(敬語) TRUE あの方達 FALSE FALSE TRUE 文の主題は話し手の近くにいれば、「あ」を「こ」に置き換える。文の主題は話し手の遠く、聞き手の近くにいれば、「あ」を「そ」に置き換える。
あいつ 中性的(友達) TRUE あいつ FALSE FALSE TRUE 文の主題は話し手の近くにいれば、「あ」を「こ」に置き換える。文の主題は話し手の遠く、聞き手の近くにいれば、「あ」を「そ」に置き換える。状況に応じて、失礼なことかもしれない。 あいつ 中性的(友達) TRUE あいつ FALSE FALSE TRUE 文の主題は話し手の近くにいれば、「あ」を「こ」に置き換える。文の主題は話し手の遠く、聞き手の近くにいれば、「あ」を「そ」に置き換える。状況に応じて、失礼なことかもしれない。
あいつら 中性的と複数形(友達) TRUE あいつら TRUE FALSE TRUE 文の主題は話し手の近くにいれば、「あ」を「こ」に置き換える。文の主題は話し手の遠く、聞き手の近くにいれば、「あ」を「そ」に置き換える。状況に応じて、失礼なことかもしれない。 あいつら 中性的と複数形(友達) TRUE あいつら FALSE FALSE TRUE 文の主題は話し手の近くにいれば、「あ」を「こ」に置き換える。文の主題は話し手の遠く、聞き手の近くにいれば、「あ」を「そ」に置き換える。状況に応じて、失礼なことかもしれない。
あやつ 中性的(友達) TRUE あやつ FALSE FALSE TRUE 文の主題は話し手の近くにいれば、「あ」を「こ」に置き換える。文の主題は話し手の遠く、聞き手の近くにいれば、「あ」を「そ」に置き換える。状況に応じて、失礼なことかもしれない。 あやつ 中性的(友達) TRUE あやつ FALSE FALSE TRUE 文の主題は話し手の近くにいれば、「あ」を「こ」に置き換える。文の主題は話し手の遠く、聞き手の近くにいれば、「あ」を「そ」に置き換える。状況に応じて、失礼なことかもしれない。
あやつら 中性的と複数形(友達) TRUE あやつら TRUE FALSE TRUE 文の主題は話し手の近くにいれば、「あ」を「こ」に置き換える。文の主題は話し手の遠く、聞き手の近くにいれば、「あ」を「そ」に置き換える。状況に応じて、失礼なことかもしれない。 あやつら 中性的と複数形(友達) TRUE あやつら FALSE FALSE TRUE 文の主題は話し手の近くにいれば、「あ」を「こ」に置き換える。文の主題は話し手の遠く、聞き手の近くにいれば、「あ」を「そ」に置き換える。状況に応じて、失礼なことかもしれない。

Can't render this file because it has a wrong number of fields in line 2.

View File

@ -8,7 +8,7 @@ pronouns:
default: '그' default: '그'
any: 'any' any: 'any'
plurals: true plurals: true
honorifics: false honorifics: true
generator: generator:
enabled: true enabled: true
slashes: true slashes: true

View File

@ -1,4 +1,4 @@
key description normative pronoun plural pluralHonorific pronounceable history thirdForm smallForm sourcesInfo key description normative pronoun plural pluralHonorific pronounceable history thirdForm smallForm sourcesInfo
그 표준 "그" TRUE 그 FALSE FALSE TRUE 그 표준 “그” TRUE 그 FALSE FALSE TRUE
그녀 표준 "그녀" TRUE 그녀 FALSE FALSE TRUE 그녀 표준 “그녀” TRUE 그녀 FALSE FALSE TRUE
그이 표준 "그이" TRUE 그이 FALSE FALSE TRUE 그이 표준 “그이” TRUE 그이 FALSE FALSE TRUE

Can't render this file because it contains an unexpected character in line 2 and column 12.

View File

@ -1,8 +1,8 @@
singular plural isHonorific singular
Penso ke {pronoun} es muy kerid{inflection}. FALSE Penso ke {pronoun} es muy kerid{inflection}.
Mi erman{inflection} esta muy okupad{inflection} en el mupak. FALSE Mi erman{inflection} esta muy okupad{inflection} en el mupak.
Es {indefinite_article} elev{inflection} muy meoyud{inflection}. FALSE Es {indefinite_article} elev{inflection} muy meoyud{inflection}.
{'direct_object_pronoun} visitare amanyana. FALSE {'direct_object_pronoun} visitare amanyana.
Es vedra ke {plural_pronoun} son tus amig{inflection}s? FALSE Es vedra ke {plural_pronoun} son tus amig{inflection}s?
{'plural_definite_article} pomper{inflection}s son muy brav{inflection}s. FALSE {'plural_definite_article} pomper{inflection}s son muy brav{inflection}s.
Sos {definite_article} maestr{inflection} de esta orkestra? FALSE Sos {definite_article} maestr{inflection} de esta orkestra?

1 singular plural isHonorific
2 Penso ke {pronoun} es muy kerid{inflection}. FALSE
3 Mi erman{inflection} esta muy okupad{inflection} en el mupak. FALSE
4 Es {indefinite_article} elev{inflection} muy meoyud{inflection}. FALSE
5 {'direct_object_pronoun} visitare amanyana. FALSE
6 Es vedra ke {plural_pronoun} son tus amig{inflection}s? FALSE
7 {'plural_definite_article} pomper{inflection}s son muy brav{inflection}s. FALSE
8 Sos {definite_article} maestr{inflection} de esta orkestra? FALSE

View File

@ -7,7 +7,7 @@ pronouns:
route: 'voornaamwoorden' route: 'voornaamwoorden'
default: 'hij' default: 'hij'
any: 'elk' any: 'elk'
plurals: true plurals: false
honorifics: false honorifics: false
generator: generator:
enabled: true enabled: true

View File

@ -1,5 +1,5 @@
singular plural isHonorific singular
{'nominative} zou er nu ongeveer moeten zijn. FALSE {'nominative} zou er nu ongeveer moeten zijn.
Ik vind {accusative} er mooi uitzien. FALSE Ik vind {accusative} er mooi uitzien.
Jij zei {dative} dat {pronominal_poss} veter los zat. FALSE Jij zei {dative} dat {pronominal_poss} veter los zat.
Dat deel is het {predicative_poss}. FALSE Dat deel is het {predicative_poss}.

1 singular plural isHonorific
2 {'nominative} zou er nu ongeveer moeten zijn. FALSE
3 Ik vind {accusative} er mooi uitzien. FALSE
4 Jij zei {dative} dat {pronominal_poss} veter los zat. FALSE
5 Dat deel is het {predicative_poss}. FALSE

View File

@ -7,7 +7,7 @@ pronouns:
route: 'pronomen' route: 'pronomen'
default: 'han' default: 'han'
any: 'alle' any: 'alle'
plurals: true plurals: false
honorifics: false honorifics: false
generator: generator:
enabled: true enabled: true

View File

@ -1,4 +1,4 @@
singular plural isHonorific singular
Jeg synes {pronoun_subject} er veldig snill. FALSE Jeg synes {pronoun_subject} er veldig snill.
Jeg spurte {pronoun_object} om jeg kunne låne blyanten {possessive}. FALSE Jeg spurte {pronoun_object} om jeg kunne låne blyanten {possessive}.
{'pronoun_subject} fortalte meg at huset er {possessive}. FALSE {'pronoun_subject} fortalte meg at huset er {possessive}.

1 singular plural isHonorific
2 Jeg synes {pronoun_subject} er veldig snill. FALSE
3 Jeg spurte {pronoun_object} om jeg kunne låne blyanten {possessive}. FALSE
4 {'pronoun_subject} fortalte meg at huset er {possessive}. FALSE

View File

@ -1,10 +1,10 @@
singular plural isHonorific singular
Eu acho que {pronoun} é muito simpáti{inflection_c}. FALSE Eu acho que {pronoun} é muito simpáti{inflection_c}.
Liguei para {possessive} sobrinh{inflection} esta manhã e {pronoun} disse que estará ocupad{inflection} esta tarde. FALSE Liguei para {possessive} sobrinh{inflection} esta manhã e {pronoun} disse que estará ocupad{inflection} esta tarde.
O Natal está chegando e não sei que presentes comprar para {plural_pronoun}. FALSE O Natal está chegando e não sei que presentes comprar para {plural_pronoun}.
{'definite_article} don{inflection} desta loja é uma pessoa gentil. FALSE {'definite_article} don{inflection} desta loja é uma pessoa gentil.
Eu {plural_definite_article} vi ontem à noite, mas {plural_pronoun} não me reconheceram. FALSE Eu {plural_definite_article} vi ontem à noite, mas {plural_pronoun} não me reconheceram.
{'pronoun} é {indefinite_article} alun{inflection} muito espert{inflection}. FALSE {'pronoun} é {indefinite_article} alun{inflection} muito espert{inflection}.
{'pronoun} me disse que esta é a casa {de_pronoun}. FALSE {'pronoun} me disse que esta é a casa {de_pronoun}.
Valorizo muito {demonstrative_ss} ami{inflection_g} que tenho. FALSE Valorizo muito {demonstrative_ss} ami{inflection_g} que tenho.
Você me faz lembrar daqu{pronoun} funcionári{inflection} que conheci noutro dia. FALSE Você me faz lembrar daqu{pronoun} funcionári{inflection} que conheci noutro dia.

1 singular plural isHonorific
2 Eu acho que {pronoun} é muito simpáti{inflection_c}. FALSE
3 Liguei para {possessive} sobrinh{inflection} esta manhã e {pronoun} disse que estará ocupad{inflection} esta tarde. FALSE
4 O Natal está chegando e não sei que presentes comprar para {plural_pronoun}. FALSE
5 {'definite_article} don{inflection} desta loja é uma pessoa gentil. FALSE
6 Eu {plural_definite_article} vi ontem à noite, mas {plural_pronoun} não me reconheceram. FALSE
7 {'pronoun} é {indefinite_article} alun{inflection} muito espert{inflection}. FALSE
8 {'pronoun} me disse que esta é a casa {de_pronoun}. FALSE
9 Valorizo muito {demonstrative_ss} ami{inflection_g} que tenho. FALSE
10 Você me faz lembrar daqu{pronoun} funcionári{inflection} que conheci noutro dia. FALSE

View File

@ -1,5 +1,5 @@
singular plural isHonorific singular plural
Cred că {pronoun_n} este de treabă. Cred că {pronoun_n} sunt de treabă. FALSE Cred că {pronoun_n} este de treabă. Cred că {pronoun_n} sunt de treabă.
{'first_article} întrebat{second_article} pe {pronoun_n} dacă îi pot împrumuta creionul său. {'first_article}am întrebat pe {pronoun_n} dacă le pot împrumuta creionul lor. FALSE {'first_article} întrebat{second_article} pe {pronoun_n} dacă îi pot împrumuta creionul său. {'first_article}am întrebat pe {pronoun_n} dacă le pot împrumuta creionul lor.
{'pronoun_n} mi-a spus că această casă este a {pronoun_dg}. {'pronoun_n} mi-au spus că această casă este a {pronoun_dg}. FALSE {'pronoun_n} mi-a spus că această casă este a {pronoun_dg}. {'pronoun_n} mi-au spus că această casă este a {pronoun_dg}.
{'pronoun_n} {strengthening} și-a dorit să devină erou. {'pronoun_n} {strengthening} și-au dorit să devină eroi. FALSE {'pronoun_n} {strengthening} și-a dorit să devină erou. {'pronoun_n} {strengthening} și-au dorit să devină eroi.

1 singular plural isHonorific
2 Cred că {pronoun_n} este de treabă. Cred că {pronoun_n} sunt de treabă. FALSE
3 {'first_article} întrebat{second_article} pe {pronoun_n} dacă îi pot împrumuta creionul său. {'first_article}am întrebat pe {pronoun_n} dacă le pot împrumuta creionul lor. FALSE
4 {'pronoun_n} mi-a spus că această casă este a {pronoun_dg}. {'pronoun_n} mi-au spus că această casă este a {pronoun_dg}. FALSE
5 {'pronoun_n} {strengthening} și-a dorit să devină erou. {'pronoun_n} {strengthening} și-au dorit să devină eroi. FALSE

View File

@ -1,15 +1,15 @@
singular plural isHonorific singular plural
Я слышал, что {nominative} замечательно танцует. Я слышал, что {nominative} замечательно танцуют. FALSE Я слышал, что {nominative} замечательно танцует. Я слышал, что {nominative} замечательно танцуют.
Я {genitive} сегодня ещё не видела. Я {genitive} сегодня ещё не видела. FALSE Я {genitive} сегодня ещё не видела. Я {genitive} сегодня ещё не видела.
Дай {dative} время. Дай {dative} время. FALSE Дай {dative} время. Дай {dative} время.
Не нужно {accusative} осуждать. Не нужно {accusative} осуждать. FALSE Не нужно {accusative} осуждать. Не нужно {accusative} осуждать.
Я горжусь {instrumental}. Я горжусь {instrumental}. FALSE Я горжусь {instrumental}. Я горжусь {instrumental}.
Расскажи мне о {prepositional}! Расскажи мне о {prepositional}! FALSE Расскажи мне о {prepositional}! Расскажи мне о {prepositional}!
Тебе стоит познакомиться с {instrumental_with_preposition}. Тебе стоит познакомиться с {instrumental_with_preposition}. FALSE Тебе стоит познакомиться с {instrumental_with_preposition}. Тебе стоит познакомиться с {instrumental_with_preposition}.
У {genitive_with_preposition} есть кот. У {genitive_with_preposition} есть кот. FALSE У {genitive_with_preposition} есть кот. У {genitive_with_preposition} есть кот.
{'nominative} очень талантли{short_adjective}. {'nominative} очень талантли{short_adjective}. FALSE {'nominative} очень талантли{short_adjective}. {'nominative} очень талантли{short_adjective}.
{'nominative} замечательн{adjective}. {'nominative} замечательн{adjective}. FALSE {'nominative} замечательн{adjective}. {'nominative} замечательн{adjective}.
{'possessive} знаком{adjective} умеет играть на гитаре. {'possessive} знаком{adjective} умеют играть на гитаре. FALSE {'possessive} знаком{adjective} умеет играть на гитаре. {'possessive} знаком{adjective} умеют играть на гитаре.
{'nominative} собра{reflexive_verb_past} на работу. {'nominative} собра{reflexive_verb_past} на работу. FALSE {'nominative} собра{reflexive_verb_past} на работу. {'nominative} собра{reflexive_verb_past} на работу.
{'nominative} сказа{nonreflexive_verb_past}, что пойдёт с нами! {'nominative} сказа{nonreflexive_verb_past}, что пойдут с нами! FALSE {'nominative} сказа{nonreflexive_verb_past}, что пойдёт с нами! {'nominative} сказа{nonreflexive_verb_past}, что пойдут с нами!
{'nominative} сделает это {definitive}. {'nominative} сделают это {definitive}. FALSE {'nominative} сделает это {definitive}. {'nominative} сделают это {definitive}.

1 singular plural isHonorific
2 Я слышал, что {nominative} замечательно танцует. Я слышал, что {nominative} замечательно танцуют. FALSE
3 Я {genitive} сегодня ещё не видела. Я {genitive} сегодня ещё не видела. FALSE
4 Дай {dative} время. Дай {dative} время. FALSE
5 Не нужно {accusative} осуждать. Не нужно {accusative} осуждать. FALSE
6 Я горжусь {instrumental}. Я горжусь {instrumental}. FALSE
7 Расскажи мне о {prepositional}! Расскажи мне о {prepositional}! FALSE
8 Тебе стоит познакомиться с {instrumental_with_preposition}. Тебе стоит познакомиться с {instrumental_with_preposition}. FALSE
9 У {genitive_with_preposition} есть кот. У {genitive_with_preposition} есть кот. FALSE
10 {'nominative} очень талантли{short_adjective}. {'nominative} очень талантли{short_adjective}. FALSE
11 {'nominative} замечательн{adjective}. {'nominative} замечательн{adjective}. FALSE
12 {'possessive} знаком{adjective} умеет играть на гитаре. {'possessive} знаком{adjective} умеют играть на гитаре. FALSE
13 {'nominative} собра{reflexive_verb_past} на работу. {'nominative} собра{reflexive_verb_past} на работу. FALSE
14 {'nominative} сказа{nonreflexive_verb_past}, что пойдёт с нами! {'nominative} сказа{nonreflexive_verb_past}, что пойдут с нами! FALSE
15 {'nominative} сделает это {definitive}. {'nominative} сделают это {definitive}. FALSE

View File

@ -7,7 +7,7 @@ pronouns:
route: 'pronomen' route: 'pronomen'
default: 'han' default: 'han'
any: 'alla' any: 'alla'
plurals: true plurals: false
honorifics: false honorifics: false
generator: generator:
enabled: true enabled: true

View File

@ -1,5 +1,5 @@
singular plural isHonorific singular
Jag tycker att {pronoun_nominative} är väldigt snäll. FALSE Jag tycker att {pronoun_nominative} är väldigt snäll.
Jag frågade {pronoun_object} om jag fick låna {possessive} penna. FALSE Jag frågade {pronoun_object} om jag fick låna {possessive} penna.
{'pronoun_nominative} sa att huset är {possessive}. FALSE {'pronoun_nominative} sa att huset är {possessive}.
{'pronoun_nominative} sa att {pronoun_nominative} hellre ville göra det själv. FALSE {'pronoun_nominative} sa att {pronoun_nominative} hellre ville göra det själv.

1 singular plural isHonorific
2 Jag tycker att {pronoun_nominative} är väldigt snäll. FALSE
3 Jag frågade {pronoun_object} om jag fick låna {possessive} penna. FALSE
4 {'pronoun_nominative} sa att huset är {possessive}. FALSE
5 {'pronoun_nominative} sa att {pronoun_nominative} hellre ville göra det själv. FALSE

View File

@ -1,8 +1,8 @@
key description normative pronoun_nominative pronoun_object possessive plural pluralHonorific pronounceable history thirdForm smallForm sourcesInfo key description normative pronoun_nominative pronoun_object possessive plural pluralHonorific pronounceable history thirdForm smallForm sourcesInfo
han,han/honom Normative “han/honom” TRUE han honom hans FALSE FALSE TRUE han,han/honom Normative ”han/honom” TRUE han honom hans FALSE FALSE TRUE
hon,hon/henne Normative “hon/henne" TRUE hon henne hennes FALSE FALSE TRUE hon,hon/henne Normative ”hon/henne” TRUE hon henne hennes FALSE FALSE TRUE
de,de/dem Singular “de/dem" TRUE de dem deras TRUE TRUE TRUE de,de/dem Singular ”de/dem” TRUE de dem deras FALSE FALSE TRUE
den,den/den Personal “den" TRUE den den dess FALSE FALSE TRUE den,den/den Personal ”den” TRUE den den dess FALSE FALSE TRUE
det,det/det Personal “det" TRUE det det dess FALSE FALSE TRUE det,det/det Personal ”det” TRUE det det dess FALSE FALSE TRUE
hen/hen "Normative ""hen/hen""" TRUE hen hen hens FALSE FALSE TRUE "Baserat på det Finska könsneutrala pronomenet “hän”. Ordet föreslogs av Rolf Dunås 1966 men kom inte med i Svenska Akademins ordlista förens april 2015. ”hen/hen” föredras över ”hen/henom"", enligt Svenska Akademien." hen/hen Normative ”hen/hen” TRUE hen hen hens FALSE FALSE TRUE "Baserat på det Finska könsneutrala pronomenet “hän”. Ordet föreslogs av Rolf Dunås 1966 men kom inte med i Svenska Akademins ordlista förens april 2015. ”hen/hen” föredras över ”hen/henom"", enligt Svenska Akademien."
hen,hen/henom "Normative ""hen/henom""" TRUE hen henom hens FALSE FALSE TRUE Baserat på det Finska könsneutrala pronomenet “hän”. Ordet föreslogs av Rolf Dunås 1966 men kom inte med i Svenska Akademins ordlista förens april 2015. hen,hen/henom Normative ”hen/henom” TRUE hen henom hens FALSE FALSE TRUE Baserat på det Finska könsneutrala pronomenet “hän”. Ordet föreslogs av Rolf Dunås 1966 men kom inte med i Svenska Akademins ordlista förens april 2015.

Can't render this file because it has a wrong number of fields in line 2.

View File

@ -1,2 +1,2 @@
singular plural isHonorific singular
pilin mi la {pronoun} li pona mute. FALSE pilin mi la {pronoun} li pona mute.

1 singular plural isHonorific
2 pilin mi la {pronoun} li pona mute. FALSE

View File

@ -1,14 +1,14 @@
singular plural isHonorific singular plural
Я чув, що {nominative} чудово танцює. Я чув, що {nominative} чудово танцює. FALSE Я чув, що {nominative} чудово танцює. Я чув, що {nominative} чудово танцює.
Я {genitive} сьогодні ще не бачив. Я {genitive} сьогодні ще не бачив. FALSE Я {genitive} сьогодні ще не бачив. Я {genitive} сьогодні ще не бачив.
Дай {dative} час. Дай {dative} час. FALSE Дай {dative} час. Дай {dative} час.
Не треба {accusative} засуджувати. Не треба {accusative} засуджувати. FALSE Не треба {accusative} засуджувати. Не треба {accusative} засуджувати.
Я пишаюся {instrumental}. Я пишаюся {instrumental}. FALSE Я пишаюся {instrumental}. Я пишаюся {instrumental}.
Розповіси мені про {prepositional}! Розповіси мені про {prepositional}! FALSE Розповіси мені про {prepositional}! Розповіси мені про {prepositional}!
Тобі варто познайомитися з {instrumental_with_preposition}. Тобі варто познайомитися з {instrumental_with_preposition}. FALSE Тобі варто познайомитися з {instrumental_with_preposition}. Тобі варто познайомитися з {instrumental_with_preposition}.
У {genitive_with_preposition} є кіт. У {genitive_with_preposition} є кіт. FALSE У {genitive_with_preposition} є кіт. У {genitive_with_preposition} є кіт.
{'nominative} чудов{adjective}. {'nominative} чудов{adjective}. FALSE {'nominative} чудов{adjective}. {'nominative} чудов{adjective}.
{'possessive} знайом{adjective} вміє грати на гітарі. {'possessive} знайом{adjective} вміють грати на гітарі. FALSE {'possessive} знайом{adjective} вміє грати на гітарі. {'possessive} знайом{adjective} вміють грати на гітарі.
{'nominative} зібра{reflexive_verb_past} на роботу. {'nominative} зібра{reflexive_verb_past} на роботу. FALSE {'nominative} зібра{reflexive_verb_past} на роботу. {'nominative} зібра{reflexive_verb_past} на роботу.
{'nominative} сказа{nonreflexive_verb_past}, що піде з нами! {'nominative} сказа{nonreflexive_verb_past}, що підуть з нами! FALSE {'nominative} сказа{nonreflexive_verb_past}, що піде з нами! {'nominative} сказа{nonreflexive_verb_past}, що підуть з нами!
{'nominative} зробить це {definitive}. {'nominative} зроблять це {definitive}. FALSE {'nominative} зробить це {definitive}. {'nominative} зроблять це {definitive}.

1 singular plural isHonorific
2 Я чув, що {nominative} чудово танцює. Я чув, що {nominative} чудово танцює. FALSE
3 Я {genitive} сьогодні ще не бачив. Я {genitive} сьогодні ще не бачив. FALSE
4 Дай {dative} час. Дай {dative} час. FALSE
5 Не треба {accusative} засуджувати. Не треба {accusative} засуджувати. FALSE
6 Я пишаюся {instrumental}. Я пишаюся {instrumental}. FALSE
7 Розповіси мені про {prepositional}! Розповіси мені про {prepositional}! FALSE
8 Тобі варто познайомитися з {instrumental_with_preposition}. Тобі варто познайомитися з {instrumental_with_preposition}. FALSE
9 У {genitive_with_preposition} є кіт. У {genitive_with_preposition} є кіт. FALSE
10 {'nominative} чудов{adjective}. {'nominative} чудов{adjective}. FALSE
11 {'possessive} знайом{adjective} вміє грати на гітарі. {'possessive} знайом{adjective} вміють грати на гітарі. FALSE
12 {'nominative} зібра{reflexive_verb_past} на роботу. {'nominative} зібра{reflexive_verb_past} на роботу. FALSE
13 {'nominative} сказа{nonreflexive_verb_past}, що піде з нами! {'nominative} сказа{nonreflexive_verb_past}, що підуть з нами! FALSE
14 {'nominative} зробить це {definitive}. {'nominative} зроблять це {definitive}. FALSE

View File

@ -7,7 +7,7 @@ pronouns:
route: 'danh-xưng' route: 'danh-xưng'
default: 'anh' default: 'anh'
any: 'bất-kì' any: 'bất-kì'
plurals: true plurals: false
honorifics: false honorifics: false
generator: generator:
enabled: true enabled: true

View File

@ -1,5 +1,5 @@
singular plural isHonorific singular
{2nd_person} ơi, hôm nay {2nd_person} khỏe chứ? FALSE {2nd_person} ơi, hôm nay {2nd_person} khỏe chứ?
Tôi thấy {3rd_person} thật tốt tính. FALSE Tôi thấy {3rd_person} thật tốt tính.
Tôi đã hỏi {3rd_person} cho tôi mượn cái bút chì của {3rd_person}. FALSE Tôi đã hỏi {3rd_person} cho tôi mượn cái bút chì của {3rd_person}.
{3rd_person} nói rằng {3rd_person} muốn làm cái này. FALSE {3rd_person} nói rằng {3rd_person} muốn làm cái này.

1 singular plural isHonorific
2 {2nd_person} ơi, hôm nay {2nd_person} khỏe chứ? FALSE
3 Tôi thấy {3rd_person} thật tốt tính. FALSE
4 Tôi đã hỏi {3rd_person} cho tôi mượn cái bút chì của {3rd_person}. FALSE
5 {3rd_person} nói rằng {3rd_person} muốn làm cái này. FALSE

View File

@ -15,5 +15,5 @@ cháu,cháu ấy trung tính TRUE cháu ấy cháu FALSE FALSE TRUE
đồng chí,đồng chí ấy trung tính FALSE đồng chí ấy đồng chí FALSE FALSE TRUE đồng chí,đồng chí ấy trung tính FALSE đồng chí ấy đồng chí FALSE FALSE TRUE
họ trung tính TRUE họ bạn|=cậu FALSE FALSE TRUE họ trung tính TRUE họ bạn|=cậu FALSE FALSE TRUE
bro trung tính FALSE bro bro FALSE FALSE TRUE bro trung tính FALSE bro bro FALSE FALSE TRUE
họ trung tính TRUE họ họ TRUE FALSE TRUE họ trung tính TRUE họ họ FALSE FALSE TRUE
sis trung tính FALSE sis sis FALSE FALSE TRUE sis trung tính FALSE sis sis FALSE FALSE TRUE

Can't render this file because it has a wrong number of fields in line 2.

View File

@ -1,6 +1,6 @@
singular plural isHonorific singular plural
איך טראַכט ‎אַז {pronoun_n} איז זייער ליב. איך טראַכט ‎אַז {pronoun_n} זענען זייער ליב. FALSE איך טראַכט ‎אַז {pronoun_n} איז זייער ליב. איך טראַכט ‎אַז {pronoun_n} זענען זייער ליב.
איז דאָס {pronoun_g} הויז? FALSE איז דאָס {pronoun_g} הויז?
איך האָב {pronoun_d} ערשט לעצטנס באַגעגנט. FALSE איך האָב {pronoun_d} ערשט לעצטנס באַגעגנט.
איך פֿאַרשטיי {pronoun_a} זייער גוט. FALSE איך פֿאַרשטיי {pronoun_a} זייער גוט.
איז דאָס {pronoun_n}, {article_n} וואָס האָט גערופן? זענען דאָס {pronoun_n}, {article_n} וואָס האָבן גערופן? FALSE איז דאָס {pronoun_n}, {article_n} וואָס האָט גערופן? זענען דאָס {pronoun_n}, {article_n} וואָס האָבן גערופן?

1 singular plural isHonorific
2 איך טראַכט ‎אַז {pronoun_n} איז זייער ליב. איך טראַכט ‎אַז {pronoun_n} זענען זייער ליב. FALSE
3 איז דאָס {pronoun_g} הויז? FALSE
4 איך האָב {pronoun_d} ערשט לעצטנס באַגעגנט. FALSE
5 איך פֿאַרשטיי {pronoun_a} זייער גוט. FALSE
6 איז דאָס {pronoun_n}, {article_n} וואָס האָט גערופן? זענען דאָס {pronoun_n}, {article_n} וואָס האָבן גערופן? FALSE

View File

@ -7,7 +7,7 @@ pronouns:
route: 'pronouns' route: 'pronouns'
default: '他' default: '他'
any: '任何' any: '任何'
plurals: true plurals: false
honorifics: false honorifics: false
generator: generator:
enabled: true enabled: true

View File

@ -1,4 +1,4 @@
singular plural isHonorific singular
{3rd_person}是一個非常好的學生。 FALSE {3rd_person}是一個非常好的學生。
我可以借{2nd_person}的鉛筆嗎? FALSE 我可以借{2nd_person}的鉛筆嗎?
{3rd_person}告訴我那所房子是{3rd_person}的。 FALSE {3rd_person}告訴我那所房子是{3rd_person}的。

1 singular plural isHonorific
2 {3rd_person}是一個非常好的學生。 FALSE
3 我可以借{2nd_person}的鉛筆嗎? FALSE
4 {3rd_person}告訴我那所房子是{3rd_person}的。 FALSE

View File

@ -3,7 +3,7 @@ key description normative 3rd_person 2nd_person plural pluralHonorific pronounce
她,她/你 陰柔 TRUE 她 你 FALSE FALSE TRUE “她”的發音與“他”相同,受西方影響才有書面的區分。 她,她/你 陰柔 TRUE 她 你 FALSE FALSE TRUE “她”的發音與“他”相同,受西方影響才有書面的區分。
她/妳 陰柔 TRUE 她 妳 FALSE FALSE TRUE “她”的發音與“他”相同,並在西方的影響下才開始使用。 另外,同理的女性第二人稱代詞“妳”主要在台灣使用。 她/妳 陰柔 TRUE 她 妳 FALSE FALSE TRUE “她”的發音與“他”相同,並在西方的影響下才開始使用。 另外,同理的女性第二人稱代詞“妳”主要在台灣使用。
伊,伊/你 陰柔/中立 FALSE 伊 你 FALSE FALSE TRUE “伊”曾經是性別中立代詞,在福建話裏也是被當作中立代詞。 歷史上在1870 -1930年它被用作唯一的女性代詞。 伊,伊/你 陰柔/中立 FALSE 伊 你 FALSE FALSE TRUE “伊”曾經是性別中立代詞,在福建話裏也是被當作中立代詞。 歷史上在1870 -1930年它被用作唯一的女性代詞。
tā,tā/你,ta,ta/你 中立 FALSE tā|=他 你 FALSE FALSE TRUE 漢語拼音的"tā"、 "ta"是性別中立代詞。與“他”同音。 tā,tā/你,ta,ta/你 中立 FALSE tā|=他 你 FALSE FALSE TRUE 漢語拼音的“tā”、 “ta”是性別中立代詞。與“他”同音。
X也,X也/你,x也,x也/你 中立 FALSE X也|=他 你 FALSE FALSE TRUE 2015年由雙性人{https://www.facebook.com/intersex0.972=The Missing Gender 0.972}團體所創造。與“他”同音。 X也,X也/你,x也,x也/你 中立 FALSE X也|=他 你 FALSE FALSE TRUE 2015年由雙性人{https://www.facebook.com/intersex0.972=The Missing Gender 0.972}團體所創造。與“他”同音。
无也,无也/你,无也,无也/你 中立 FALSE 无也|=他 你 FALSE FALSE TRUE 由{https://www.genderinlanguage.com/mandarin/zipengzhu=朱子蓬}創建。 无也,无也/你,无也,无也/你 中立 FALSE 无也|=他 你 FALSE FALSE TRUE 由{https://www.genderinlanguage.com/mandarin/zipengzhu=朱子蓬}創建。
佢,佢/你 中立 FALSE 佢 你 FALSE FALSE TRUE “佢“是粵語借詞,被一些香港人當作性別中立代詞使用。 佢,佢/你 中立 FALSE 佢 你 FALSE FALSE TRUE “佢“是粵語借詞,被一些香港人當作性別中立代詞使用。

Can't render this file because it has a wrong number of fields in line 2.

View File

@ -12,6 +12,7 @@ import type { Plugin as PostcssPlugin } from 'postcss';
import { buildList } from './src/helpers.ts'; import { buildList } from './src/helpers.ts';
import buildLocaleList from './src/buildLocaleList.ts'; import buildLocaleList from './src/buildLocaleList.ts';
import formatError from './src/error.js'; import formatError from './src/error.js';
import { tsvParseConfig } from './src/tsv.ts';
import type { Config } from './locale/config.ts'; import type { Config } from './locale/config.ts';
import type { Translations } from './locale/translations.ts'; import type { Translations } from './locale/translations.ts';
@ -272,12 +273,7 @@ const nuxtConfig: NuxtConfig = {
config.module!.rules.push({ config.module!.rules.push({
test: /\.csv|\.tsv$/, test: /\.csv|\.tsv$/,
loader: 'csv-loader', loader: 'csv-loader',
options: { options: tsvParseConfig,
dynamicTyping: true,
header: true,
skipEmptyLines: true,
delimiter: '\t',
},
}); });
config.module!.rules.push({ config.module!.rules.push({
test: /\.suml$/, test: /\.suml$/,

31
plugins/data.d.ts vendored
View File

@ -1,6 +1,27 @@
import type { Config } from '../locale/config.ts'; import type { Config } from '../locale/config.ts';
import type { Translations } from '../locale/translations.ts'; import type { Translations } from '../locale/translations.ts';
export interface PronounsData<M extends string[]> {
key: string;
description: string;
normative: string;
[morpheme: M]: string | null;
plural: string;
pluralHonorific: string;
pronounceable: string;
history?: string;
thirdForm?: M;
smallForm?: M;
sourcesInfo?: string;
hidden?: boolean;
}
export interface PronounExamplesData {
singular: string;
plural?: string;
isHonorific?: boolean;
}
declare namespace Data { declare namespace Data {
declare module '*/config.suml' { declare module '*/config.suml' {
declare const config: Config; declare const config: Config;
@ -12,6 +33,16 @@ declare namespace Data {
export default translations; export default translations;
} }
declare module '*/pronouns/pronouns.tsv' {
declare const data: PronounsData[];
export default data;
}
declare module '*/pronouns/examples.tsv' {
declare const data: PronounExamplesData[];
export default data;
}
declare module '*.tsv' { declare module '*.tsv' {
declare const data: Record<string, any>[]; declare const data: Record<string, any>[];
export default data; export default data;

View File

@ -1,13 +1,9 @@
import fs from 'fs'; import fs from 'fs';
import Suml from 'suml'; import Suml from 'suml';
import Papa from 'papaparse';
import { loadTsv as baseLoadTsv } from '../src/tsv.ts';
export const loadSumlFromBase = (name: string): unknown => new Suml().parse(fs.readFileSync(`./${name}.suml`, 'utf-8')); export const loadSumlFromBase = (name: string): unknown => new Suml().parse(fs.readFileSync(`./${name}.suml`, 'utf-8'));
export const loadSuml = (name: string): unknown => loadSumlFromBase(`data/${name}`); export const loadSuml = (name: string): unknown => loadSumlFromBase(`data/${name}`);
export const loadTsv = (name: string): unknown => Papa.parse(fs.readFileSync(`./data/${name}.tsv`).toString(), { export const loadTsv = <T = unknown>(name: string): T[] => baseLoadTsv(`./data/${name}.tsv`);
dynamicTyping: true,
header: true,
skipEmptyLines: true,
delimiter: '\t',
}).data;

View File

@ -4,7 +4,7 @@ import { createCanvas, loadImage } from 'canvas';
import { loadSuml, loadSumlFromBase } from '../loader.ts'; import { loadSuml, loadSumlFromBase } from '../loader.ts';
import avatar from '../avatar.ts'; import avatar from '../avatar.ts';
import { buildPronoun, parsePronouns } from '../../src/buildPronoun.ts'; import { buildPronoun, parsePronouns } from '../../src/buildPronoun.ts';
import { loadTsv } from '../../src/tsv.js'; import { loadTsv } from '../../src/tsv.ts';
import { handleErrorAsync } from '../../src/helpers.ts'; import { handleErrorAsync } from '../../src/helpers.ts';
import { Translator } from '../../src/translator.js'; import { Translator } from '../../src/translator.js';
import { CacheObject } from '../../src/cache.js'; import { CacheObject } from '../../src/cache.js';

View File

@ -1,10 +0,0 @@
import Papa from 'papaparse';
import fs from 'fs';
export const loadTsv = (filename) => {
return Papa.parse(fs.readFileSync(filename).toString('utf-8'), {
dynamicTyping: true,
header: true,
skipEmptyLines: true,
}).data;
};

13
src/tsv.ts Normal file
View File

@ -0,0 +1,13 @@
import Papa from 'papaparse';
import fs from 'fs';
export const tsvParseConfig = {
dynamicTyping: true,
header: true,
skipEmptyLines: true,
delimiter: '\t',
};
export const loadTsv = <T = unknown>(filename: string): T[] => {
return Papa.parse(fs.readFileSync(filename).toString('utf-8'), tsvParseConfig).data as T[];
};

View File

@ -1,9 +1,12 @@
import { describe, expect, test } from '@jest/globals'; import { describe, expect, test } from '@jest/globals';
import allLocales from '../../locale/locales.ts'; import allLocales from '../../locale/locales.ts';
import { loadTsv } from '../../src/tsv.js'; import { loadTsv } from '../../src/tsv.ts';
import { Example } from '../../src/classes.ts'; import { Example } from '../../src/classes.ts';
import type { ExpectationResult } from 'expect'; import type { ExpectationResult } from 'expect';
import { loadSumlFromBase } from '../../server/loader.ts';
import type { Config } from '../../locale/config.ts';
import type { PronounExamplesData, PronounsData } from '../../plugins/data';
const __dirname = new URL('.', import.meta.url).pathname; const __dirname = new URL('.', import.meta.url).pathname;
@ -34,9 +37,13 @@ declare module 'expect' {
expect.extend({ toHaveValidMorphemes }); expect.extend({ toHaveValidMorphemes });
describe.each(allLocales)('data files of $code', ({ code }) => { describe.each(allLocales)('data files of $code', ({ code }) => {
const config = loadSumlFromBase(`locale/${code}/config`) as Config;
const examples = loadTsv<PronounExamplesData>(`${__dirname}/../../locale/${code}/pronouns/examples.tsv`);
test('pronouns/pronouns.tsv match schema', async () => { test('pronouns/pronouns.tsv match schema', async () => {
const { default: MORPHEMES } = await import(`../../locale/${code}/pronouns/morphemes.js`); const { default: MORPHEMES } = await import(`../../locale/${code}/pronouns/morphemes.js`);
const pronouns = loadTsv(`${__dirname}/../../locale/${code}/pronouns/pronouns.tsv`); const pronouns = loadTsv<PronounsData<string[]>>(`${__dirname}/../../locale/${code}/pronouns/pronouns.tsv`);
if (pronouns.length === 0) { if (pronouns.length === 0) {
return; return;
} }
@ -54,9 +61,24 @@ describe.each(allLocales)('data files of $code', ({ code }) => {
expect(actual).toEqual(expect.arrayContaining(required)); expect(actual).toEqual(expect.arrayContaining(required));
expect([...required, ...optional]).toEqual(expect.arrayContaining(actual)); expect([...required, ...optional]).toEqual(expect.arrayContaining(actual));
}); });
test('pronouns/examples.tsv match schema', () => {
if (examples.length === 0) {
return;
}
const required = [
'singular',
];
if (config.pronouns.plurals) {
required.push('plural');
}
if (config.pronouns.honorifics) {
required.push('isHonorific');
}
const actual = Object.keys(examples[0]);
expect(actual).toEqual(required);
});
test('pronouns/examples.tsv contain valid morphemes', async () => { test('pronouns/examples.tsv contain valid morphemes', async () => {
const { default: MORPHEMES } = await import(`../../locale/${code}/pronouns/morphemes.js`); const { default: MORPHEMES } = await import(`../../locale/${code}/pronouns/morphemes.js`);
const examples = loadTsv(`${__dirname}/../../locale/${code}/pronouns/examples.tsv`);
for (const example of examples) { for (const example of examples) {
expect(example.singular).toHaveValidMorphemes(MORPHEMES); expect(example.singular).toHaveValidMorphemes(MORPHEMES);
if (example.plural) { if (example.plural) {
@ -64,4 +86,14 @@ describe.each(allLocales)('data files of $code', ({ code }) => {
} }
} }
}); });
test('pronouns/examples.tsv contains plural examples when language has plurals', () => {
const hasExamplesWithPlurals = examples.some((example) => {
return example.plural && example.plural !== example.singular;
});
expect(hasExamplesWithPlurals).toBe(!!config.pronouns.plurals);
});
test('pronouns/examples.tsv contains honorific examples when language has honorifics', () => {
const hasExamplesWithHonorifics = examples.some((example) => example.isHonorific);
expect(hasExamplesWithHonorifics).toBe(!!config.pronouns.honorifics);
});
}); });