#17 refactoring - lepsza organizacja danych

This commit is contained in:
Avris 2020-07-25 19:21:52 +02:00
parent 6cadb5f649
commit 6611dc7259
14 changed files with 236 additions and 624 deletions

View File

@ -9,7 +9,7 @@
<ul class="list-unstyled">
<li v-for="source in sources" class="my-2">
<Source :source="source"/>
<Source :name="source"/>
</li>
</ul>
</div>

View File

@ -1,6 +1,6 @@
<template>
<div>
<Icon :v="source.icon()" v-if="source.icon()"/>
<Icon :v="source.icon()"/>
<strong>{{source.author}}<span v-if="source.author"> </span><em><a v-if="source.link" :href="source.link" target="_blank" rel="noopener">{{source.title}}</a><span v-else>{{source.title}}</span></em></strong><template v-if="source.extra"> ({{source.extra}})</template>, {{source.year}}<template v-if="source.comment">; {{source.comment}}</template>
<ul v-if="source.fragments.length">
<li v-for="fragment in source.fragments">
@ -11,9 +11,16 @@
</template>
<script>
import { sources } from '../src/data';
export default {
props: {
source: { required: true },
name: { required: true },
},
data() {
return {
source: sources[this.name],
};
},
}
</script>

15
data/examples.tsv Normal file
View File

@ -0,0 +1,15 @@
singular plural isHonorific
Myślę, że {pronoun_n} jest bardzo mił{adjective_n}. Myślę, że {pronoun_n} są bardzo mi{adjective_ll}{adjective_n} FALSE
Tęsknię za {pronoun_g} śmiechem. FALSE
Napiszę do {pronoun_g_acc} później FALSE
Powiedział{verb_middle}m {pronoun_d}, że {pronoun_a} lubię. Powiedzi{verb_middle}śmy {pronoun_d}, że {pronoun_a} lubimy. FALSE
Chciał{verb_end_inter}bym pójść do kina. Chci{verb_middle}byśmy pójść do kina. FALSE
Czy będziesz grał{verb_end_about} z nami? Czy będziecie gra{verb_end_about} z nami? FALSE
Kiedy będziesz m{verb_o}gł{verb_end_about} się z nami spotkać? Kiedy będziecie m{verb_o}g{verb_end_about} się z nami spotkać? FALSE
Gdy był{verb_middle}m w domu, zacz{verb_nasal}ł{verb_middle}m gotować. Gdy by{verb_end_inter}śmy w domu, zacz{verb_nasal}śmy gotować. FALSE
Dostał{verb_middle}m wyniki egzaminu i jestem z nich zadowolon{adjective_n}. Dosta{verb_end_inter}śmy wyniki egzaminu i jesteśmy z nich zadowol{adjective_middle}n{adjective_n}. FALSE
Po{verb_go}{verb_middle}m z {pronoun_i} do szkoły. Po{verb_go}śmy z {pronoun_i} do szkoły. FALSE
Rozmawialiśmy o {pronoun_l} ostatnio. FALSE
Każd{adjective_n} z nich chciał{verb_end_about} czego innego. Wszys{pronoun_all} z nich chci{verb_middle} czego innego. FALSE
To miło, że nas {honorific} odwiedza. To miło, że nas {honorific} odwiedzają. TRUE
Czy będzie {honorific} kontynuować subskrypcję? Czy będą {honorific} kontynuować subskrypcję? TRUE
1 singular plural isHonorific
2 Myślę, że {pronoun_n} jest bardzo mił{adjective_n}. Myślę, że {pronoun_n} są bardzo mi{adjective_ll}{adjective_n} FALSE
3 Tęsknię za {pronoun_g} śmiechem. FALSE
4 Napiszę do {pronoun_g_acc} później FALSE
5 Powiedział{verb_middle}m {pronoun_d}, że {pronoun_a} lubię. Powiedzi{verb_middle}śmy {pronoun_d}, że {pronoun_a} lubimy. FALSE
6 Chciał{verb_end_inter}bym pójść do kina. Chci{verb_middle}byśmy pójść do kina. FALSE
7 Czy będziesz grał{verb_end_about} z nami? Czy będziecie gra{verb_end_about} z nami? FALSE
8 Kiedy będziesz m{verb_o}gł{verb_end_about} się z nami spotkać? Kiedy będziecie m{verb_o}g{verb_end_about} się z nami spotkać? FALSE
9 Gdy był{verb_middle}m w domu, zacz{verb_nasal}ł{verb_middle}m gotować. Gdy by{verb_end_inter}śmy w domu, zacz{verb_nasal}śmy gotować. FALSE
10 Dostał{verb_middle}m wyniki egzaminu i jestem z nich zadowolon{adjective_n}. Dosta{verb_end_inter}śmy wyniki egzaminu i jesteśmy z nich zadowol{adjective_middle}n{adjective_n}. FALSE
11 Po{verb_go}{verb_middle}m z {pronoun_i} do szkoły. Po{verb_go}śmy z {pronoun_i} do szkoły. FALSE
12 Rozmawialiśmy o {pronoun_l} ostatnio. FALSE
13 Każd{adjective_n} z nich chciał{verb_end_about} czego innego. Wszys{pronoun_all} z nich chci{verb_middle} czego innego. FALSE
14 To miło, że nas {honorific} odwiedza. To miło, że nas {honorific} odwiedzają. TRUE
15 Czy będzie {honorific} kontynuować subskrypcję? Czy będą {honorific} kontynuować subskrypcję? TRUE

37
data/sources.tsv Normal file
View File

@ -0,0 +1,37 @@
key type author title extra year fragments comment link
zapachKosmosu Book Ginny Nawrocka Cierpki zapach kosmosu w: „Tęczowe i fantastyczne” 2020 Ja, Gosia, Ewa i Jacek. Gosia była najmłodsza... Jest najmłodsza. Jacek jest z tego samego roku, co ja, ale onu urodziłu się na początku, a ja pod koniec. A Ewa jest pięć lat starszy ode mnie. oprócz tego także postaci niebinarne używające męskich i żeńskich form
confirmatio Book Bartek Biedrzycki Confirmatio Vir Llamki, albo o wizycie Nieziemca Macka Simma na Starej Ziemi w: „Dzieje się” 2018 Usiedli. Vir wskoczyło na łóżko i zainstalowało się tam po turecku, Simm przysiadł na obrotowym krześle przy biurku.| Jak dorosnę, to chcę polecieć na Marsa.| Przecież już byłoś u mnie dwa razy.| Ale ja chcę na stałe
perfekcyjna Book Jacek Dukaj Perfekcyjna niedoskonałość 2003 Do Creytona powinniśmy dotrzeć w ciągu trzydziestu ośmiu k-godzin. Nawet zważywszy na utratę krwi pana i stahs McPherson | Chciałuś powiedzieć przerwał nu Zamoyski powinniśmy byli tam dotrzeć. Samu twierdzisz, że po odcięciu od Plateau nie wiesz nawet, w którą stronę lecimy. Swoją drogą, zastanawiam się, jak to możliwe. Przecież chyba pamiętasz, gdzie celowałuś.
silaNizsza Book Marta Kisiel Siła niższa 2016 Ja co prawda słabo znam gościa - odparł po kilku chwilach - ale tak sobie myślę, że on to nie lubi nikogo. | Nawet swojego człowieka? Przecież jest aniołem stróżem. Ja swoich zawsze lubiłom. Jak miałobym im stróżować bez lubienia?
smoczaPerla Book Yoon Ha Lee Smocza perła tłumaczenie: Agnieszka Fulińska i Aleksandra Klęczar 2019 Idzie ci lepiej niż zwykle oznajmiło w końcu Sujin. Nie zauważyłam, że pogrążone w lekturze książki dotyczącej chemii zwracało na nas w ogóle uwagę.
lewaReka Book Ursula K. Le Guin Lewa ręka ciemności tłum. Lech Jęczmyk 1987 postać niebinarna używająca form męskich
zabSpraw Book Ann Leckie Zabójcza sprawiedliwość tłum. Danuta Górska 2015 postać niebinarna używająca form żeńskich
zabMiecz Book Ann Leckie Zabójczy miecz tłum. Danuta Górska 2016 postać niebinarna używająca form żeńskich
krolowaZimy Book Ursula K. Le Guin Królowa Zimy w: „Wszystkie strony świata”, tłum. Lech Jęczmyk 1980 postać niebinarna używająca form żeńskich
milo Article Małgorzata Goślińska Zrobimy z ciebie mężczyznę w: „Magazyn TVN24” 2019 Milo nie miało myśli erotycznych. Tak boleśnie myślało o własnym ciele, że nie potrafiło myśleć o nim w towarzystwie innych ciał. Ale żeby zmienić ciało, musiało odpowiedzieć u psychologa na pytania: Od kiedy się masturbujesz? Jak to robisz? O czym wtedy myślisz? W jakiej pozycji uprawiasz seks? Jak się całujesz? Milo było rozdarte, nie lubiło kłamać.@Przez jeden dzień Milo się cieszyło. Ale to był krok w bok. Milo nie posunęło się do przodu w kierunku tranzycji prawnej ani medycznej. Uznali imię, nie tożsamość. W dowodzie pozostała literka M. Milo było osobą niebinarną, ale z dwojga złego wolałoby literkę K. Było rozdarte. Nie lubiło swojego męskiego ciała, dlatego postanowiło przejść tranzycję. Ale nie po to wyrwało się z klatki chłopca, żeby wejść w kolejną klatkę. Chciało być sobą. Milo - historia życia i śmierci https://tvn24.pl/magazyn-tvn24/zrobimy-z-ciebie-mezczyzne,242,4189
starTrek Series Star Trek: Następne Pokolenie, sezon 5 odcinek 17 „Wyklęci”/„Presja społeczna” tłumaczenie: Kamil Borek 2016 Radzisz sobie, jakbyś dorastało w wahadłowcu.| Dorastałom. Moi rodzice to piloci. Latałom z nimi, zanim umiałom chodzić. https://www.netflix.com/watch/70177979
niepelnia Book Anna Kańtoch Niepełnia 2917 Ale Sło­neczko oczy­wi­ście chciało, i to bar­dzo. Chciało i bało się jed­no­cze­śnie, ponie­waż wie­rzyło matce. Świat na zewnątrz był piękny, ale też okrutny zwłasz­cza dla takich jak ono. Bo Sło­neczko, choć nikt ni­gdy nie powie­dział mu tego wyraź­nie, wie­działo, że różni się od zwy­czaj­nych dzieci, a ludzie nie lubią tego, co inne.
dozywocie Book Marta Kisiel Dożywocie 2010 Starało się zrobić wrażenie bardzo zasmuconego i stanowczego jednocześnie, aczkolwiek nie wzięło pod uwagę faktu, że wygląd trochę wchodzi mu w paradę. Owszem, peleryna świetnie maskowała skrzydła, ale poza tym była zdecydowanie zbyt wielka na jedno małe Licho.
lichoNiebozatko Book Marta Kisiel Małe Licho i tajemnica Niebożątka 2018
lichoAniol Book Marta Kisiel Małe Licho i anioł z kamienia 2019
siewca Book Maja Lidia Kossakowska Siewca wiatru 2004
maska Book Stanisław Lem Maska w zbiorze „Maska” 1976
ekonomiaNiesam Book Anna Łagan Ekonomia to dolina niesamowitości w: „Skafander i melonik” 2018 Oczywiście zgodziło się Manu. Właśnie przeprowadziłom analizę skutków obniżenia moich cen i mimo że widzę wiele niedogodności i nieprzyjemnych konsekwencji, rozumiem, że jak p. powiedział, jest to na ten moment najlepsze rozwiązanie problemu. Zgadzam się na zmianę umowy i obniżenie kosztów… Oto cena, którą p. proponuję.'
rzekaBogow Book Ian McDonald Rzeka bogów tłumaczenie: Wojciech Próchniewicz 2010 Poznali się, ślub, sześć miesięcy później - ja. I zanim zapytasz: nie. Byłom jedynakiem. Moi rodzice byli atrakcją na Chowpatty Beatch. Brali mnie na wszystkie imprezy, byłom prawdziwą ozdobą.
doBlyskPod Book Ada Palmer Do błyskawicy podobne tłumaczenie: Michał Jakuszewski 2019
siedemKapit Book Ada Palmer Siedem kapitulacji tłumaczenie: Michał Jakuszewski 2019
listopadBez Book Joanna Krystyna Radosz Listopad bez snów w: „Tęczowe i fantastyczne” 2020 Gdy je otwieram, rozlega się zgrzyt zamka w drzwiach, przedpokój zalewa fala światła, a z głębi mieszkania dobiega lekko bełkotliwy głos Mady:| ...a ja byłom jak: kupiliśmy trzyosobowy materac, a ty gardzisz!
ofiara Book Aleksandra Stanisz Ofiara w: „Umieranie to parszywa robota” 2019
uratowacKotka Book A. Szydlik Jak uratować kotka z nawiedzonego domu w: „Tęczowe i fantastyczne” 2020 Znalazłom ten portfel na przystanku, wciśnięty między krzesełka. Podniosłom go, trochę bezmyślnie, trochę dla zabicia czasu. Autobus miał przyjechać za kwadrans. Mogłom co prawda iść piechota ̨, ale było ciemno, zimno i lało, a ja byłom bardzo zmęczone. Usiadłom więc na plastikowym krzesełku i otworzyłom portfel.
loe Article Rozmowa Ewy Tomaszewicz z Loë Fjorsigviss i Magdaleną Stonawską Tęcza w fandomie w: „Replika” #83 2020 <em>[Loë Fjorsigviss]</em> Od kiedy pamiętam, uwierało mnie mówienie o sobie jako o dziewczynie czy kobiecie. Nie utożsamiałum się z tym. Zorientowałum się, że mogę nie być kobietą, nie ze względu na dysforię płciową, tylko ze względu na euforię. Kiedy dopuściłum do siebie myśl, że są inne opcje, zaczęłum esksperymentować i poprosiłum parę znajomych osób, żeby spróbowały tak się do mnie zwracać. Gdy zaczęły tak do mnie mówić, poczułum ogromną ulgę. Kiedy mówię o sobie, ta inna forma przychodzi mi z trudem, ciągle samu mam z nią problem, ale to uczucie, kiedy inni mówią o mnie w ten sposób, powiedziało mi, że to może być faktycznie dobry kierunek, że nie jestem dziewczyną ani chłopakiem, ale kimś poza tym. I to było naprawdę wspaniałe i wyzwalające uczucie. https://replika-online.pl/spis-tresci-83/
smoczeDzieko Book Artur Nowrot Smocze dziecko w: „Tęczowe i fantastyczne” 2020 Yare robiłu jednak, co w jenu mocy, by zadowolić rodziców i starszyznę, wykonywać bez zwłoki polecenia, nie zaniedbywać obowiązków i za bardzo nie narzekać. przymiotniki w formie nijakiej
interwencja Book Kelly Robson Interwencja "w: „Nowa Fantastyka” 5/2020; tłumaczenie: Paweł Dembowski" 2020 Émeraude odpięłu się i pokazału palec lekarce. Przełączału się między dwoma trybami wszystko albo nic. Kilka miesięcy temu doznału kontuzji, naciągając mocno ścięgno zginacza.
skrzydla Book Karolina Fedyk Skrzydła 2019
obcaByla Book Weronika Mamuna Obca, która była w: „Tęczowe i fantastyczne” 2020
cyborgizacja Book Agnieszka Żak Dorastanie w czasach cyborgizacji w: „Tęczowe i fantastyczne” 2020
angielskieImie Book R.S. Benedict Moje angielskie imię w: „Nowa Fantastyka” 3/2019 2019
stanWyczerpania Book Greg Egan Stan wyczerpania tłum. Paweł Wieczorek 2003 Kuwale było tylko pół pokolenia młodsze ode mnie i prawdopodobnie mieliśmy wiele podobnych poglądów na świat, vono jednak nieco ekstremalniej wierzyło we wszystko to, w co wierzyliśmy my. Nauka i technologia zdawały się dawać vu wszystko, czego chciało.
diaspora Book Greg Egan Diaspora tłumaczenie: Michał Jakuszewski 2015 Yatima przyjrzało się otaczającym polis gwiazdom. Wszystkie emitowały światło o widmie przesuniętym w wyniku efektu Dopplera, tworząc na niebie nieruchome koncentryczne fale koloru - od ekspansji po konwergencję. Ve zastanawiało się, jak powinni się zachować, gdy wreszcie dościgną uciekających. rodzaj nijaki z neozaimkami ve/vir
mlotThora Book Rick Riordan Młot Thora 2016 postać genderfluid o zmiennych zaimkach
statekUmarlych Book Rick Riordan Statek umarłych 2017 postać genderfluid o zmiennych zaimkach
zwierciadlo Book Marta Magdalena Lasik Zwierciadło w dziurce od klucza w: „Skafander i melonik” 2018
Can't render this file because it has a wrong number of fields in line 2.

16
data/templates.tsv Normal file
View File

@ -0,0 +1,16 @@
key description pronoun_n pronoun_g pronoun_g_acc pronoun_d pronoun_a pronoun_i pronoun_l pronoun_all adjective_n adjective_ll adjective_middle verb_end_inter verb_end_about verb_middle verb_nasal verb_go verb_o honorific plural pluralHonorific history sources
on,on/jego Rodzaj męski on jego niego mu go nim nim y e ą szedł ó pan FALSE FALSE confirmatio,perfekcyjna,silaNizsza,zapachKosmosu,lewaReka
ona,ona/jej Rodzaj żeński ona jej niej jej ją nią niej a a a a ę szł o pani FALSE FALSE smoczaPerla,zapachKosmosu,zabSpraw,zabMiecz,krolowaZimy
ono/jego,ono Rodzaj nijaki ono jego niego mu je nim nim e o o o ę szł o pań FALSE FALSE milo,starTrek,confirmatio,niepelnia,dozywocie,lichoNiebozatko,lichoAniol,silaNizsza,siewca,smoczaPerla,maska,ekonomiaNiesam,rzekaBogow,doBlyskPod,siedemKapit,listopadBez,ofiara,uratowacKotka
ono/jej Rodzaj nijaki z formami żeńskimi zamiast męskich ono jej niej jej je nią niej e o o o ę szł o pań FALSE FALSE
ono/jejgo Rodzaj nijaki ono jejgo niejgo jejmu jejgo niejnim niejmu e o o o ę szł o pań FALSE FALSE
ono/jeno Neorodzaj gramatyczny, z elementami rodzaju nijakiego i dukaizmów ono jeno nieno nu no niemu niem e o u o ę szł o pań FALSE FALSE
ono/jenu Rodzaj nijaki z dukaizmami zamiast form męskich ono jenu nienu nu nu num num e o o o ę szł o pań FALSE FALSE
onu,onu/jenu Rodzaj postpłciowy, dukaizmy onu jenu nienu nu nu num num u u u u ę szł o panu FALSE FALSE "Formy te zostały stworzone przez <a href=""https://pl.wikipedia.org/wiki/Jacek_Dukaj"" target=""_blank"" rel=""noopener"">Jacka Dukaja</a> do książki <a href=""https://pl.wikipedia.org/wiki/Perfekcyjna_niedoskona%C5%82o%C5%9B%C4%87"" target=""_blank"" rel=""noopener"">„Perfekcyjna niedoskonałość”</a>. Używają jej tam istoty post-ludzkie (phoebe), które nie mają określonej płci. Od nazwiska autora te formy gramatyczne są nazywane „dukaizmami”." loe,perfekcyjna,zapachKosmosu,smoczeDzieko,interwencja
onæ,onæ/jæ Formy z „ae” lub ligaturą „æ” onæ jæ næ jæ jæ næm næm æ æ æ æ ą szł o panæ FALSE FALSE
oni,oni/ich Formy męskoosobowe liczby mnogiej oni ich nich im ich nimi nich cy i l e li li eli ęli szli o państwo TRUE TRUE skrzydla,obcaByla,cyborgizacja
one,one/ich Formy niemęskoosobowe liczby mnogiej one ich nich im je nimi nich tkie e ł o ły ły ały ęły szły o państwo TRUE TRUE smoczeDzieko
onx,onx/jex Formy z iksem onx jex nix jex jex nix nix x x x x ę szł o panx FALSE FALSE
on_,on_/je_ Formy z podkreślnikiem on_ je_ ni_ je_ je_ ni_ ni_ _ _ _ _ ę szł o pan_ FALSE FALSE angielskieImie
onø,onø/jeø Formy z samogłoską nosową onø jenø nienø nø nø nøm nøm ø ø ø ø ę szł o panø FALSE FALSE "Formy te używają samogłoski nosowej <a href=""https://pl.wikipedia.org/wiki/%C3%98"">„ø”</a>, która występowała w pisowni polszczyzny od XII do XV wieku, i została zastąpiona przez „ą” i „ę”. Miała zatem zastosowanie dosyć zbliżone do obecnego w powyższych formach."
vono,vono/viego Rodzaj nijaki z neozaimkami vono/viego vono viego viego vu vo vim vim e o o o ę szł o pań FALSE FALSE Forma została stworzona przez tłumacza Pawła Wieczorka dla oddania stworzonych przez Grega Egana form ve/vir. stanWyczerpania
Can't render this file because it has a wrong number of fields in line 5.

View File

@ -52,7 +52,19 @@ export default {
lang: 'pl',
}
},
build: {},
build: {
extend (config, ctx) {
config.module.rules.push({
test: /\.csv|\.tsv$/,
loader: 'csv-loader',
options: {
dynamicTyping: true,
header: true,
skipEmptyLines: true,
}
})
},
},
env: {
baseUrl: process.env.BASE_URL
},

View File

@ -21,6 +21,7 @@
"avris-daemonise": "^0.0.2",
"bootstrap": "^4.5.0",
"clipboard": "^2.0.6",
"csv-loader": "^3.0.3",
"sass": "^1.26.10",
"sass-loader": "^9.0.2"
}

View File

@ -28,13 +28,7 @@
<ul>
<li v-for="example in examples" class="my-1">
<span v-for="part in example.parts[selectedTemplate.plural]">
<strong v-if="part.variable">{{selectedTemplate.morphemes[part.str]}}</strong>
<span v-else>{{part.str}}</span>
</span>
</li>
<li v-for="example in examplesHonorific" class="my-1">
<span v-for="part in example.parts[selectedTemplate.pluralHonorific]">
<span v-for="part in example[(example.isHonorific ? selectedTemplate.pluralHonorific : selectedTemplate.plural) ? 'pluralParts' : 'singularParts']">
<strong v-if="part.variable">{{selectedTemplate.morphemes[part.str]}}</strong>
<span v-else>{{part.str}}</span>
</span>
@ -70,14 +64,13 @@
</template>
<script>
import { examples, examplesHonorific, templates } from "~/src/data";
import { examples, templates } from "~/src/data";
import { buildTemplate, getTemplate } from "../src/buildTemplate";
export default {
data() {
return {
examples: examples,
examplesHonorific: examplesHonorific,
templates: templates,
getTemplate: getTemplate,

View File

@ -66,10 +66,10 @@
<p>
Przykłady użycia w zdaniu:
</p>
<template v-for="(typeExamples, isHonorific) in {0: examples, 1: examplesHonorific}">
<template v-for="isHonorific in [false, true]">
<ul>
<li v-for="example in typeExamples">
<span v-for="part in example.parts[bool(isHonorific) ? selectedTemplate.pluralHonorific : selectedTemplate.plural]">
<li v-for="example in examples" v-if="example.isHonorific === isHonorific">
<span v-for="part in example[(isHonorific ? selectedTemplate.pluralHonorific : selectedTemplate.plural) ? 'pluralParts' : 'singularParts']">
<input v-if="part.variable" v-model="selectedTemplate.morphemes[part.str]"
:class="['form-control form-input p-0', {'active': selectedMorpheme === part.str}]"
:size="selectedTemplate.morphemes[part.str] ? selectedTemplate.morphemes[part.str].length : 0"
@ -82,7 +82,7 @@
</li>
</ul>
<div class="my-3">
<div class="custom-control custom-switch" v-if="bool(isHonorific)">
<div class="custom-control custom-switch" v-if="isHonorific">
<input type="checkbox" class="custom-control-input" id="pluralHonorific" v-model="selectedTemplate.pluralHonorific">
<label class="custom-control-label" for="pluralHonorific">Liczba mnoga <Icon v="level-up"/></label>
</div>
@ -163,7 +163,7 @@
</template>
<script>
import { examples, examplesHonorific, templates } from "~/src/data";
import { examples, templates } from "~/src/data";
import Compressor from "../src/compressor";
import ClipboardJS from 'clipboard';
import { getTemplate } from "../src/buildTemplate";
@ -172,7 +172,6 @@
data() {
return {
examples: examples,
examplesHonorific: examplesHonorific,
templates: templates,
getTemplate: getTemplate,
@ -224,9 +223,6 @@
focusLink() {
setTimeout(_ => this.$refs.link.select(), 100);
},
bool(v) {
return !!parseInt(v);
}
}
}
</script>

View File

@ -16,6 +16,11 @@
<small v-if="template.name">({{ template.name() }})</small>
</a>
</li>
<li>
<a href="#inne">
Inne formy
</a>
</li>
</ul>
</section>
@ -23,33 +28,42 @@
<Share title="Niebinarna polszczyzna w literaturze, prasie, filmach i serialach"/>
</section>
<div v-for="template in templates" v-if="template.sources.length">
<h2 v-if="template.name" class="h4" :id="template.name().replace(/\//g, '-')">
<section v-for="template in templates" v-if="template.sources.length">
<h2 class="h4" :id="template.name().replace(/\//g, '-')">
<nuxt-link :to="'/' + template.pronoun()">
{{ template.description }}
<small>({{ template.name() }})</small>
</nuxt-link>
</h2>
<h2 v-else class="h4" id="inne">
{{ template.description }}
</h2>
<ul class="list-unstyled">
<li v-for="source in template.sources">
<Source :source="source"/>
<Source :name="source"/>
</li>
</ul>
</div>
</section>
<section>
<h2 class="h4" id="inne">
Inne formy
</h2>
<ul class="list-unstyled">
<li v-for="source in otherSources">
<Source :name="source"/>
</li>
</ul>
</section>
</div>
</template>
<script>
import { templates, otherSources } from '../src/data'
import { templates, sources } from '../src/data'
export default {
data() {
return {
templates: [...Object.values(templates), {description: 'Inne formy', sources: otherSources}],
templates: templates,
};
},
head() {
@ -62,5 +76,16 @@
],
}
},
computed: {
otherSources() {
const other = new Set(Object.keys(sources));
for (let template of Object.values(this.templates)) {
for (let source of template.sources) {
other.delete(source);
}
}
return other;
},
},
}
</script>

View File

@ -14,22 +14,13 @@ export class ExamplePart {
}
export class Example {
constructor(singularParts, pluralParts) {
this.parts = {
false: singularParts,
true: pluralParts,
};
constructor(singularParts, pluralParts, isHonorific = false) {
this.singularParts = singularParts;
this.pluralParts = pluralParts;
this.isHonorific = isHonorific;
}
static parse(str) {
const versions = str.split('|');
return new Example(
Example._parse(versions[0]),
Example._parse(versions[versions.length > 1 ? 1 : 0])
);
}
static _parse(str) {
const parts = [];
let lastPosition = 0;
@ -70,7 +61,15 @@ function clone(mainObject) {
}
export class Source {
constructor (author, title, extra, year, fragments = [], comment = null, link = null) {
ICONS = {
Book: 'book-open',
Article: 'newspaper',
Movie: 'film',
Series: 'tv',
}
constructor (type, author, title, extra, year, fragments = [], comment = null, link = null) {
this.type = type;
this.author = author;
this.title = title;
this.extra = extra;
@ -81,35 +80,11 @@ export class Source {
}
icon() {
return 'circle';
return this.ICONS[this.type] || 'horizontal-rule';
}
}
export class Book extends Source {
icon() {
return 'book-open';
}
}
export class Article extends Source {
icon() {
return 'newspaper';
}
}
export class Movie extends Source {
icon() {
return 'film';
}
}
export class Series extends Source {
icon() {
return 'tv';
}
}
export const morphemes = [
export const MORPHEMES = [
'pronoun_n',
'pronoun_g',
'pronoun_g_acc',
@ -145,8 +120,8 @@ export class Template {
constructor (description, morphemes, plural, pluralHonorific, sources = [], aliases = [], history = null) {
this.description = description;
this.morphemes = morphemes
this.pluralHonorific = pluralHonorific;
this.plural = plural;
this.pluralHonorific = pluralHonorific;
this.sources = sources;
this.aliases = aliases;
this.history = history;
@ -182,25 +157,25 @@ export class Template {
}
static from(data) {
if (data.length === morphemes.length + 2) {
if (data.length === MORPHEMES.length + 2) {
data.push('');
}
if (data.length !== morphemes.length + 3
if (data.length !== MORPHEMES.length + 3
|| data[0].length === 0
|| data[data.length - 1].length > 48
|| ![0, 1].includes(parseInt(data[morphemes.length]))
|| ![0, 1].includes(parseInt(data[morphemes.length + 1]))
|| ![0, 1].includes(parseInt(data[MORPHEMES.length]))
|| ![0, 1].includes(parseInt(data[MORPHEMES.length + 1]))
|| data.slice(1, data.length - 3).filter(s => s.length > 7).length
) {
return null;
}
const m = {}
for (let i in morphemes) {
m[morphemes[parseInt(i)]] = data[parseInt(i)];
for (let i in MORPHEMES) {
m[MORPHEMES[parseInt(i)]] = data[parseInt(i)];
}
return new Template(data[data.length - 1], m, parseInt(data[morphemes.length]) === 1, parseInt(data[morphemes.length + 1]) === 1)
return new Template(data[data.length - 1], m, parseInt(data[MORPHEMES.length]) === 1, parseInt(data[MORPHEMES.length + 1]) === 1)
}
}

View File

@ -1,549 +1,56 @@
import { Article, Book, Movie, Series, Example, Template } from './classes'
import { Source, Example, Template, MORPHEMES } from './classes'
import { buildDict, buildList } from './helpers';
export const examples = [
Example.parse('Myślę, że {pronoun_n} jest bardzo mił{adjective_n}.|Myślę, że {pronoun_n} są bardzo mi{adjective_ll}{adjective_n}'),
Example.parse('Tęsknię za {pronoun_g} śmiechem.'),
Example.parse('Napiszę do {pronoun_g_acc} później'),
Example.parse('Powiedział{verb_middle}m {pronoun_d}, że {pronoun_a} lubię.|Powiedzi{verb_middle}śmy {pronoun_d}, że {pronoun_a} lubimy.'),
Example.parse('Chciał{verb_end_inter}bym pójść do kina.|Chci{verb_middle}byśmy pójść do kina.'),
Example.parse('Czy będziesz grał{verb_end_about} z nami?|Czy będziecie gra{verb_end_about} z nami?'),
Example.parse('Kiedy będziesz m{verb_o}gł{verb_end_about} się z nami spotkać?|Kiedy będziecie m{verb_o}g{verb_end_about} się z nami spotkać?'),
Example.parse('Gdy był{verb_middle}m w domu, zacz{verb_nasal}ł{verb_middle}m gotować.|Gdy by{verb_end_inter}śmy w domu, zacz{verb_nasal}śmy gotować.'),
Example.parse('Dostał{verb_middle}m wyniki egzaminu i jestem z nich zadowolon{adjective_n}.|Dosta{verb_end_inter}śmy wyniki egzaminu i jesteśmy z nich zadowol{adjective_middle}n{adjective_n}.'),
Example.parse('Po{verb_go}{verb_middle}m z {pronoun_i} do szkoły.|Po{verb_go}śmy z {pronoun_i} do szkoły.'),
Example.parse('Rozmawialiśmy o {pronoun_l} ostatnio.'),
Example.parse('Każd{adjective_n} z nich chciał{verb_end_about} czego innego.|Wszys{pronoun_all} z nich chci{verb_middle} czego innego.'),
];
import examplesRaw from '../data/examples.tsv';
export const examples = buildList(function* () {
for (let e of examplesRaw) {
yield new Example(
Example.parse(e.singular),
Example.parse(e.plural || e.singular),
e.isHonorific,
);
}
});
export const examplesHonorific = [
Example.parse('To miło, że nas {honorific} odwiedza.|To miło, że nas {honorific} odwiedzają.'),
Example.parse('Czy będzie {honorific} kontynuować subskrypcję?|Czy będą {honorific} kontynuować subskrypcję?'),
];
import sourcesRaw from '../data/sources.tsv';
export const sources = buildDict(function* () {
for (let s of sourcesRaw) {
yield [
s.key,
new Source(
s.type,
s.author,
s.title,
s.extra,
s.year,
s.fragments ? s.fragments.replace(/\|/g, '\n').split('@') : [],
s.comment,
s.link,
)
];
}
});
const zapachKosmosu = new Book(
'Ginny Nawrocka',
'Cierpki zapach kosmosu',
'w: „Tęczowe i fantastyczne”',
2020,
['Ja, Gosia, Ewa i Jacek. Gosia była najmłodsza... Jest najmłodsza. Jacek jest z tego samego roku, co ja, ale onu urodziłu się na początku, a ja pod koniec. A Ewa jest pięć lat starszy ode mnie.'],
'oprócz tego także postaci niebinarne używające męskich i żeńskich form',
);
import templatesRaw from '../data/templates.tsv';
export const templates = buildDict(function* () {
for (let t of templatesRaw) {
const aliases = t.key.split(',')
const confirmatio = new Book(
'Bartek Biedrzycki',
'Confirmatio Vir Llamki, albo o wizycie Nieziemca Macka Simma na Starej Ziemi',
'w: „Dzieje się”',
2018,
['Usiedli. Vir wskoczyło na łóżko i zainstalowało się tam po turecku, Simm przysiadł na obrotowym krześle przy biurku.\n Jak dorosnę, to chcę polecieć na Marsa.\n Przecież już byłoś u mnie dwa razy.\n Ale ja chcę na stałe'],
);
const perfekcyjna = new Book(
'Jacek Dukaj',
'Perfekcyjna niedoskonałość',
'',
2003,
[' Do Creytona powinniśmy dotrzeć w ciągu trzydziestu ośmiu k-godzin. Nawet zważywszy na utratę krwi pana i stahs McPherson \n Chciałuś powiedzieć przerwał nu Zamoyski powinniśmy byli tam dotrzeć. Samu twierdzisz, że po odcięciu od Plateau nie wiesz nawet, w którą stronę lecimy. Swoją drogą, zastanawiam się, jak to możliwe. Przecież chyba pamiętasz, gdzie celowałuś.'],
);
const silaNizsza = new Book(
'Marta Kisiel',
'Siła niższa',
'',
2016,
[' Ja co prawda słabo znam gościa - odparł po kilku chwilach - ale tak sobie myślę, że on to nie lubi nikogo. \n Nawet swojego człowieka? Przecież jest aniołem stróżem. Ja swoich zawsze lubiłom. Jak miałobym im stróżować bez lubienia?'],
);
const smoczaPerla = new Book(
'Yoon Ha Lee',
'Smocza perła',
'tłumaczenie: Agnieszka Fulińska i Aleksandra Klęczar',
2019,
[' Idzie ci lepiej niż zwykle oznajmiło w końcu Sujin. Nie zauważyłam, że pogrążone w lekturze książki dotyczącej chemii zwracało na nas w ogóle uwagę.'],
);
export const templates = {
on: new Template('Rodzaj męski', {
'pronoun_n': 'on',
'pronoun_g': 'jego',
'pronoun_g_acc': 'niego',
'pronoun_d': 'mu',
'pronoun_a': 'go',
'pronoun_i': 'nim',
'pronoun_l': 'nim',
'pronoun_all': null,
'adjective_n': 'y',
'adjective_ll': null,
'adjective_middle': null,
'verb_end_inter': '',
'verb_end_about': '',
'verb_middle': 'e',
'verb_nasal': 'ą',
'verb_go': 'szedł',
'verb_o': 'ó',
'honorific': 'pan',
}, false, false, [
confirmatio,
perfekcyjna,
silaNizsza,
zapachKosmosu,
new Book('Ursula K. Le Guin', 'Lewa ręka ciemności', 'tłum. Lech Jęczmyk', 1987, [], 'postać niebinarna używająca form męskich'),
], ['on/jego']),
ona: new Template('Rodzaj żeński', {
'pronoun_n': 'ona',
'pronoun_g': 'jej',
'pronoun_g_acc': 'niej',
'pronoun_d': 'jej',
'pronoun_a': 'ją',
'pronoun_i': 'nią',
'pronoun_l': 'niej',
'pronoun_all': null,
'adjective_n': 'a',
'adjective_ll': null,
'adjective_middle': null,
'verb_end_inter': 'a',
'verb_end_about': 'a',
'verb_middle': 'a',
'verb_nasal': 'ę',
'verb_go': 'szł',
'verb_o': 'o',
'honorific': 'pani',
}, false, false, [
smoczaPerla,
zapachKosmosu,
new Book('Ann Leckie', 'Zabójcza sprawiedliwość', 'tłum. Danuta Górska', 2015, [], 'postać niebinarna używająca form żeńskich'),
new Book('Ann Leckie', 'Zabójczy miecz', 'tłum. Danuta Górska', 2016, [], 'postać niebinarna używająca form żeńskich'),
new Book('Ursula K. Le Guin', 'Królowa Zimy', 'w: „Wszystkie strony świata”', 'tłum. Lech Jęczmyk', 1980, 'postać niebinarna używająca form żeńskich'),
], ['ona/jej']),
'ono/jego': new Template('Rodzaj nijaki', {
'pronoun_n': 'ono',
'pronoun_g': 'jego',
'pronoun_g_acc': 'niego',
'pronoun_d': 'mu',
'pronoun_a': 'je',
'pronoun_i': 'nim',
'pronoun_l': 'nim',
'pronoun_all': null,
'adjective_n': 'e',
'adjective_ll': null,
'adjective_middle': null,
'verb_end_inter': 'o',
'verb_end_about': 'o',
'verb_middle': 'o',
'verb_nasal': 'ę',
'verb_go': 'szł',
'verb_o': 'o',
'honorific': 'pań',
}, false, false, [
new Article(
'Małgorzata Goślińska',
'Zrobimy z ciebie mężczyznę',
'w: „Magazyn TVN24”',
2019,
[
'Milo nie miało myśli erotycznych. Tak boleśnie myślało o własnym ciele, że nie potrafiło myśleć o nim w towarzystwie innych ciał. Ale żeby zmienić ciało, musiało odpowiedzieć u psychologa na pytania: Od kiedy się masturbujesz? Jak to robisz? O czym wtedy myślisz? W jakiej pozycji uprawiasz seks? Jak się całujesz? Milo było rozdarte, nie lubiło kłamać.',
'Przez jeden dzień Milo się cieszyło. Ale to był krok w bok. Milo nie posunęło się do przodu w kierunku tranzycji prawnej ani medycznej. Uznali imię, nie tożsamość. W dowodzie pozostała literka M. Milo było osobą niebinarną, ale z dwojga złego wolałoby literkę K. Było rozdarte. Nie lubiło swojego męskiego ciała, dlatego postanowiło przejść tranzycję. Ale nie po to wyrwało się z klatki chłopca, żeby wejść w kolejną klatkę. Chciało być sobą.',
],
'Milo - historia życia i śmierci',
'https://tvn24.pl/magazyn-tvn24/zrobimy-z-ciebie-mezczyzne,242,4189'
),
new Series(
'',
'Star Trek: Następne Pokolenie, sezon 5 odcinek 17 „Wyklęci”/„Presja społeczna”',
'tłumaczenie: Kamil Borek',
1991,
[' Radzisz sobie, jakbyś dorastało w wahadłowcu.\n' +
' Dorastałom. Moi rodzice to piloci. Latałom z nimi, zanim umiałom chodzić.'],
'',
'https://www.netflix.com/watch/70177979',
),
confirmatio,
new Book(
'Anna Kańtoch',
'Niepełnia',
'',
2017,
['Ale Sło­neczko oczy­wi­ście chciało, i to bar­dzo. Chciało i bało się jed­no­cze­śnie, ponie­waż wie­rzyło matce. Świat na zewnątrz był piękny, ale też okrutny zwłasz­cza dla takich jak ono. Bo Sło­neczko, choć nikt ni­gdy nie powie­dział mu tego wyraź­nie, wie­działo, że różni się od zwy­czaj­nych dzieci, a ludzie nie lubią tego, co inne.'],
),
new Book(
'Marta Kisiel',
'Dożywocie',
'',
2010,
['Starało się zrobić wrażenie bardzo zasmuconego i stanowczego jednocześnie, aczkolwiek nie wzięło pod uwagę faktu, że wygląd trochę wchodzi mu w paradę. Owszem, peleryna świetnie maskowała skrzydła, ale poza tym była zdecydowanie zbyt wielka na jedno małe Licho.'],
),
new Book(
'Marta Kisiel',
'Małe Licho i tajemnica Niebożątka',
'',
2018,
),
new Book(
'Marta Kisiel',
'Małe Licho i anioł z kamienia',
'',
2019,
),
silaNizsza,
new Book(
'Maja Lidia Kossakowska',
'Siewca wiatru',
'',
2004,
),
smoczaPerla,
new Book(
'Stanisław Lem',
'Maska',
'w zbiorze „Maska”',
1976,
),
new Book(
'Anna Łagan',
'Ekonomia to dolina niesamowitości',
'w: „Skafander i melonik”',
2018,
[' Oczywiście zgodziło się Manu. Właśnie przeprowadziłom analizę skutków obniżenia moich cen i mimo że widzę wiele niedogodności i nieprzyjemnych konsekwencji, rozumiem, że jak p. powiedział, jest to na ten moment najlepsze rozwiązanie problemu. Zgadzam się na zmianę umowy i obniżenie kosztów… Oto cena, którą p. proponuję.'],
),
new Book(
'Ian McDonald',
'Rzeka bogów',
'tłumaczenie: Wojciech Próchniewicz',
2010,
['Poznali się, ślub, sześć miesięcy później - ja. I zanim zapytasz: nie. Byłom jedynakiem. Moi rodzice byli atrakcją na Chowpatty Beatch. Brali mnie na wszystkie imprezy, byłom prawdziwą ozdobą.'],
),
new Book(
'Ada Palmer',
'Do błyskawicy podobne',
'tłumaczenie: Michał Jakuszewski',
2019,
),
new Book(
'Ada Palmer',
'Siedem kapitulacji',
'tłumaczenie: Michał Jakuszewski',
2019,
),
new Book(
'Joanna Krystyna Radosz',
'Listopad bez snów',
'w: „Tęczowe i fantastyczne”',
2020,
['Gdy je otwieram, rozlega się zgrzyt zamka w drzwiach, przedpokój zalewa fala światła, a z głębi mieszkania dobiega lekko bełkotliwy głos Mady:\n ...a ja byłom jak: kupiliśmy trzyosobowy materac, a ty gardzisz!']
),
new Book(
'Aleksandra Stanisz',
'Ofiara',
'w: „Umieranie to parszywa robota”',
2019,
),
new Book(
'A. Szydlik',
'Jak uratować kotka z nawiedzonego domu',
'w: „Tęczowe i fantastyczne”',
2020,
['Znalazłom ten portfel na przystanku, wciśnięty między krzesełka. Podniosłom go, trochę bezmyślnie, trochę dla zabicia czasu. Autobus miał przyjechać za kwadrans. Mogłom co prawda iść piechota ̨, ale było ciemno, zimno i lało, a ja byłom bardzo zmęczone. Usiadłom więc na plastikowym krzesełku i otworzyłom portfel.'],
),
], ['ono']),
'ono/jej': new Template('Rodzaj nijaki z formami żeńskimi zamiast męskich', {
'pronoun_n': 'ono',
'pronoun_g': 'jej',
'pronoun_g_acc': 'niej',
'pronoun_d': 'jej',
'pronoun_a': 'je',
'pronoun_i': 'nią',
'pronoun_l': 'niej',
'pronoun_all': null,
'adjective_n': 'e',
'adjective_ll': null,
'adjective_middle': null,
'verb_end_inter': 'o',
'verb_end_about': 'o',
'verb_middle': 'o',
'verb_nasal': 'ę',
'verb_go': 'szł',
'verb_o': 'o',
'honorific': 'pań',
}, false, false, [], []),
'ono/jejgo': new Template('Rodzaj nijaki', {
'pronoun_n': 'ono',
'pronoun_g': 'jejgo',
'pronoun_g_acc': 'niejgo',
'pronoun_d': 'jejmu',
'pronoun_a': 'jejgo',
'pronoun_i': 'niejnim',
'pronoun_l': 'niejmu',
'pronoun_all': null,
'adjective_n': 'e',
'adjective_ll': null,
'adjective_middle': null,
'verb_end_inter': 'o',
'verb_end_about': 'o',
'verb_middle': 'o',
'verb_nasal': 'ę',
'verb_go': 'szł',
'verb_o': 'o',
'honorific': 'pań',
}, false, false, [], []),
'ono/jeno': new Template('Neorodzaj gramatyczny, z elementami rodzaju nijakiego i dukaizmów', {
'pronoun_n': 'ono',
'pronoun_g': 'jeno',
'pronoun_g_acc': 'nieno',
'pronoun_d': 'nu',
'pronoun_a': 'no',
'pronoun_i': 'niemu',
'pronoun_l': 'niem',
'pronoun_all': null,
'adjective_n': 'e',
'adjective_ll': null,
'adjective_middle': null,
'verb_end_inter': 'o',
'verb_end_about': 'u',
'verb_middle': 'o',
'verb_nasal': 'ę',
'verb_go': 'szł',
'verb_o': 'o',
'honorific': 'pań',
}, false, false, [], []),
'ono/jenu': new Template('Rodzaj nijaki z dukaizmami zamiast form męskich', {
'pronoun_n': 'ono',
'pronoun_g': 'jenu',
'pronoun_g_acc': 'nienu',
'pronoun_d': 'nu',
'pronoun_a': 'nu',
'pronoun_i': 'num',
'pronoun_l': 'num',
'pronoun_all': null,
'adjective_n': 'e',
'adjective_ll': null,
'adjective_middle': null,
'verb_end_inter': 'o',
'verb_end_about': 'o',
'verb_middle': 'o',
'verb_nasal': 'ę',
'verb_go': 'szł',
'verb_o': 'o',
'honorific': 'pań',
}, false, false, [], []),
onu: new Template('Rodzaj postpłciowy, dukaizmy', {
'pronoun_n': 'onu',
'pronoun_g': 'jenu',
'pronoun_g_acc': 'nienu',
'pronoun_d': 'nu',
'pronoun_a': 'nu',
'pronoun_i': 'num',
'pronoun_l': 'num',
'pronoun_all': null,
'adjective_n': 'u',
'adjective_ll': null,
'adjective_middle': null,
'verb_end_inter': 'u',
'verb_end_about': 'u',
'verb_middle': 'u',
'verb_nasal': 'ę',
'verb_go': 'szł',
'verb_o': 'o',
'honorific': 'panu',
}, false, false, [
new Article(
'Rozmowa Ewy Tomaszewicz z Loë Fjorsigviss i Magdaleną Stonawską',
'Tęcza w fandomie',
'w: „Replika” #83',
2020,
['<em>[Loë Fjorsigviss]</em> Od kiedy pamiętam, uwierało mnie mówienie o sobie jako o dziewczynie czy kobiecie. Nie utożsamiałum się z tym. Zorientowałum się, że mogę nie być kobietą, nie ze względu na dysforię płciową, tylko ze względu na euforię. Kiedy dopuściłum do siebie myśl, że są inne opcje, zaczęłum esksperymentować i poprosiłum parę znajomych osób, żeby spróbowały tak się do mnie zwracać. Gdy zaczęły tak do mnie mówić, poczułum ogromną ulgę. Kiedy mówię o sobie, ta inna forma przychodzi mi z trudem, ciągle samu mam z nią problem, ale to uczucie, kiedy inni mówią o mnie w ten sposób, powiedziało mi, że to może być faktycznie dobry kierunek, że nie jestem dziewczyną ani chłopakiem, ale kimś poza tym. I to było naprawdę wspaniałe i wyzwalające uczucie.'],
'',
'https://replika-online.pl/spis-tresci-83/',
),
perfekcyjna,
zapachKosmosu,
new Book(
'Artur Nowrot',
'Smocze dziecko',
'w: „Tęczowe i fantastyczne”',
2020,
['Yare robiłu jednak, co w jenu mocy, by zadowolić rodziców i starszyznę, wykonywać bez zwłoki polecenia, nie zaniedbywać obowiązków i za bardzo nie narzekać.'],
'przymiotniki w formie nijakiej', // TODO separate?
),
new Book(
'Kelly Robson',
'Interwencja',
'w: „Nowa Fantastyka” 5/2020; tłumaczenie: Paweł Dembowski',
2020,
['Émeraude odpięłu się i pokazału palec lekarce. Przełączału się między dwoma trybami wszystko albo nic. Kilka miesięcy temu doznału kontuzji, naciągając mocno ścięgno zginacza.'],
),
], ['onu/jenu'], 'Formy te zostały stworzone przez <a href="https://pl.wikipedia.org/wiki/Jacek_Dukaj" target="_blank" rel="noopener">Jacka Dukaja</a> do książki <a href="https://pl.wikipedia.org/wiki/Perfekcyjna_niedoskona%C5%82o%C5%9B%C4%87" target="_blank" rel="noopener">„Perfekcyjna niedoskonałość”</a>. Używają jej tam istoty post-ludzkie (phoebe), które nie mają określonej płci. Od nazwiska autora te formy gramatyczne są nazywane „dukaizmami”.'),
'onæ': new Template('Formy z „ae” lub ligaturą „æ”', {
'pronoun_n': 'onæ',
'pronoun_g': 'jæ',
'pronoun_g_acc': 'næ',
'pronoun_d': 'jæ',
'pronoun_a': 'jæ',
'pronoun_i': 'næm',
'pronoun_l': 'næm',
'pronoun_all': null,
'adjective_n': 'æ',
'adjective_ll': null,
'adjective_middle': null,
'verb_end_inter': 'æ',
'verb_end_about': 'æ',
'verb_middle': 'æ',
'verb_nasal': 'ą',
'verb_go': 'szł',
'verb_o': 'o',
'honorific': 'panæ',
}, false, false, [], ['onæ/jæ']),
oni: new Template('Formy męskoosobowe liczby mnogiej', {
'pronoun_n': 'oni',
'pronoun_g': 'ich',
'pronoun_g_acc': 'nich',
'pronoun_d': 'im',
'pronoun_a': 'ich',
'pronoun_i': 'nimi',
'pronoun_l': 'nich',
'pronoun_all': 'cy',
'adjective_n': 'i',
'adjective_ll': 'l',
'adjective_middle': 'e',
'verb_end_inter': 'li',
'verb_end_about': 'li',
'verb_middle': 'eli',
'verb_nasal': 'ęli',
'verb_go': 'szli',
'verb_o': 'o',
'honorific': 'państwo',
}, true, true, [
new Book('Karolina Fedyk', 'Skrzydła', '', 2019),
new Book('Weronika Mamuna', 'Obca, która była', 'w: „Tęczowe i fantastyczne”', 2020),
new Book('Agnieszka Żak', 'Dorastanie w czasach cyborgizacji', 'w: „Tęczowe i fantastyczne”', 2020),
], ['oni/ich']),
one: new Template('Formy niemęskoosobowe liczby mnogiej', {
'pronoun_n': 'one',
'pronoun_g': 'ich',
'pronoun_g_acc': 'nich',
'pronoun_d': 'im',
'pronoun_a': 'je',
'pronoun_i': 'nimi',
'pronoun_l': 'nich',
'pronoun_all': 'tkie',
'adjective_n': 'e',
'adjective_ll': 'ł',
'adjective_middle': 'o',
'verb_end_inter': 'ły',
'verb_end_about': 'ły',
'verb_middle': 'ały',
'verb_nasal': 'ęły',
'verb_go': 'szły',
'verb_o': 'o',
'honorific': 'państwo',
}, true, true, [
new Book('Artur Nowrot', 'Smocze dziecko', 'w: „Tęczowe i fantastyczne”', 2020),
], ['one/ich']),
onx: new Template('Formy z iksem', {
'pronoun_n': 'onx',
'pronoun_g': 'jex',
'pronoun_g_acc': 'nix',
'pronoun_d': 'jex',
'pronoun_a': 'jex',
'pronoun_i': 'nix',
'pronoun_l': 'nix',
'pronoun_all': null,
'adjective_n': 'x',
'adjective_ll': null,
'adjective_middle': null,
'verb_end_inter': 'x',
'verb_end_about': 'x',
'verb_middle': 'x',
'verb_nasal': 'ę',
'verb_go': 'szł',
'verb_o': 'o',
'honorific': 'panx',
}, false, false, [], ['onx/jex']),
on_: new Template('Formy z podkreślnikiem', {
'pronoun_n': 'on_',
'pronoun_g': 'je_',
'pronoun_g_acc': 'ni_',
'pronoun_d': 'je_',
'pronoun_a': 'je_',
'pronoun_i': 'ni_',
'pronoun_l': 'ni_',
'pronoun_all': null,
'adjective_n': '_',
'adjective_ll': null,
'adjective_middle': null,
'verb_end_inter': '_',
'verb_end_about': '_',
'verb_middle': '_',
'verb_nasal': 'ę',
'verb_go': 'szł',
'verb_o': 'o',
'honorific': 'pan_',
}, false, false, [
new Book('R.S. Benedict', 'Moje angielskie imię', 'w: „Nowa Fantastyka” 3/2019', 2019),
], ['on_/je_']),
onø: new Template('Formy z samogłoską nosową', {
'pronoun_n': 'onø',
'pronoun_g': 'jenø',
'pronoun_g_acc': 'nienø',
'pronoun_d': 'nø',
'pronoun_a': 'nø',
'pronoun_i': 'nøm',
'pronoun_l': 'nøm',
'pronoun_all': null,
'adjective_n': 'ø',
'adjective_ll': null,
'adjective_middle': null,
'verb_end_inter': 'ø',
'verb_end_about': 'ø',
'verb_middle': 'ø',
'verb_nasal': 'ę',
'verb_go': 'szł',
'verb_o': 'o',
'honorific': 'panø',
}, false, false, [], ['onø/jeø'], 'Formy te używają samogłoski nosowej <a href="https://pl.wikipedia.org/wiki/%C3%98">„ø”</a>, która występowała w pisowni polszczyzny od XII do XV wieku, i została zastąpiona przez „ą” i „ę”. Miała zatem zastosowanie dosyć zbliżone do obecnego w powyższych formach. '),
vono: new Template('Rodzaj nijaki z neozaimkami vono/viego', {
'pronoun_n': 'vono',
'pronoun_g': 'viego',
'pronoun_g_acc': 'viego',
'pronoun_d': 'vu',
'pronoun_a': 'vo',
'pronoun_i': 'vim',
'pronoun_l': 'vim',
'pronoun_all': null,
'adjective_n': 'e',
'adjective_ll': null,
'adjective_middle': null,
'verb_end_inter': 'o',
'verb_end_about': 'o',
'verb_middle': 'o',
'verb_nasal': 'ę',
'verb_go': 'szł',
'verb_o': 'o',
'honorific': 'pań',
}, false, false, [
new Book(
'Greg Egan',
'Stan wyczerpania',
'tłum. Paweł Wieczorek',
2003,
['Kuwale było tylko pół pokolenia młodsze ode mnie i prawdopodobnie mieliśmy wiele podobnych poglądów na świat, vono jednak nieco ekstremalniej wierzyło we wszystko to, w co wierzyliśmy my. Nauka i technologia zdawały się dawać vu wszystko, czego chciało.'],
),
], ['vono/viego'], 'Forma została stworzona przez tłumacza Pawła Wieczorka dla oddania stworzonych przez Grega Egana form ve/vir.'),
};
export const otherSources = [
// neozaimki
new Book(
'Greg Egan',
'Diaspora',
'tłumaczenie: Michał Jakuszewski',
2015,
['Yatima przyjrzało się otaczającym polis gwiazdom. Wszystkie emitowały światło o widmie przesuniętym w wyniku efektu Dopplera, tworząc na niebie nieruchome koncentryczne fale koloru - od ekspansji po konwergencję. Ve zastanawiało się, jak powinni się zachować, gdy wreszcie dościgną uciekających.'],
'rodzaj nijaki z neozaimkami ve/vir',
),
// genderfluid
new Book('Rick Riordan', 'Młot Thora', '', 2016, [], 'postać genderfluid o zmiennych zaimkach'),
new Book('Rick Riordan', 'Statek umarłych', '', 2017, [], 'postać genderfluid o zmiennych zaimkach'),
// inne
new Book('Marta Magdalena Lasik', 'Zwierciadło w dziurce od klucza', 'w: „Skafander i melonik”', 2018),
];
yield [
aliases[0],
new Template(
t.description,
buildDict(function* () {
for (let morpheme of MORPHEMES) {
yield [morpheme, t[morpheme]];
}
}),
t.plural,
t.pluralHonorific,
t.sources ? t.sources.split(',') : [],
aliases.slice(1),
t.history,
)
];
}
})

15
src/helpers.js Normal file
View File

@ -0,0 +1,15 @@
export const buildDict = (fn, ...args) => {
const dict = {};
for (let [key, value] of fn(...args)) {
dict[key] = value;
}
return dict;
}
export const buildList = (fn, ...args) => {
const list = [];
for (let value of fn(...args)) {
list.push(value);
}
return list;
}

View File

@ -2837,6 +2837,14 @@ csso@^4.0.2:
dependencies:
css-tree "1.0.0-alpha.39"
csv-loader@^3.0.3:
version "3.0.3"
resolved "https://registry.yarnpkg.com/csv-loader/-/csv-loader-3.0.3.tgz#eba02221a6f3ceb1447140d3bae26f4032b4af52"
integrity sha512-JMr83kH2sOFKbRO95fAQV1fLEc1Chx1osJpU7Gd5ZQhmXrsQN479P08sDuyZoO5LMiJ8IsR72Xtl/nSA7rh4Lw==
dependencies:
loader-utils "^2.0.0"
papaparse "^5.2.0"
cuint@^0.2.2:
version "0.2.2"
resolved "https://registry.yarnpkg.com/cuint/-/cuint-0.2.2.tgz#408086d409550c2631155619e9fa7bcadc3b991b"
@ -5585,6 +5593,11 @@ pako@~1.0.5:
resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf"
integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==
papaparse@^5.2.0:
version "5.2.0"
resolved "https://registry.yarnpkg.com/papaparse/-/papaparse-5.2.0.tgz#97976a1b135c46612773029153dc64995caa3b7b"
integrity sha512-ylq1wgUSnagU+MKQtNeVqrPhZuMYBvOSL00DHycFTCxownF95gpLAk1HiHdUW77N8yxRq1qHXLdlIPyBSG9NSA==
parallel-transform@^1.1.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.2.0.tgz#9049ca37d6cb2182c3b1d2c720be94d14a5814fc"