#167 [pl][nouns] split dictionaries into subpages

This commit is contained in:
Avris 2021-01-17 20:43:21 +01:00
parent b409614c59
commit 122b996e75
13 changed files with 638 additions and 528 deletions

View File

@ -114,11 +114,23 @@
} }
if (this.config.nouns.enabled) { if (this.config.nouns.enabled) {
const extras = [];
for (let subroute of this.config.nouns.subroutes || []) {
extras.push(`/${this.config.nouns.route}/${subroute}`);
}
if (this.config.nouns.inclusive.enabled) {
extras.push(`/${this.config.nouns.route}/${this.config.nouns.inclusive.route}`);
}
if (this.config.nouns.terms.enabled) {
extras.push(`/${this.config.nouns.route}/${this.config.nouns.terms.route}`);
}
links.push({ links.push({
link: '/' + this.config.nouns.route, link: '/' + this.config.nouns.route,
icon: 'book', icon: 'book',
text: this.$t('nouns.header'), text: this.$t('nouns.header'),
textLong: this.$t('nouns.headerLong'), textLong: this.$t('nouns.headerLong'),
extra: extras,
}); });
} }

View File

@ -68,17 +68,20 @@ sources:
nouns: nouns:
enabled: true enabled: true
route: 'słowniki' route: 'słowniki'
collapsable: true collapsable: false
plurals: true plurals: true
pluralsRequired: true pluralsRequired: true
declension: true declension: true
submit: true submit: true
templates: true templates: true
hashNamespace: 'neutratywy' subroutes:
- 'neutratywy'
- 'dukatywy'
- 'osobatywy'
inclusive: inclusive:
enabled: false enabled: false
categories: ['interpłciowość', 'lgbtq+', 'niepełnosprawność', 'rasa', 'trans'] categories: ['interpłciowość', 'lgbtq+', 'niepełnosprawność', 'rasa', 'trans']
hashNamespace: 'inkluzywny' route: 'inkluzywny'
terms: terms:
enabled: false enabled: false
categories: categories:
@ -88,7 +91,7 @@ nouns:
- 'płeć' - 'płeć'
- 'ekspresja płciowa' - 'ekspresja płciowa'
- 'model relacji' - 'model relacji'
hashNamespace: 'terminologia' route: 'terminologia'
names: names:
enabled: false enabled: false

View File

@ -1,498 +1,2 @@
<template> <template>
<div>
<Separator icon="atom-alt"/>
<h3 :id="$t('nouns.neuterNouns.id')">
<Icon v="deer"/>
<T>nouns.neuterNouns.header</T>
</h3>
<div class="d-flex flex-column flex-md-row">
<div>
<T>nouns.neuterNouns.info</T>
</div>
<figure>
<img src="/img/łoś.jpg" :alt="$t('nouns.neuterNouns.flag.alt')"/>
<figcaption><T>nouns.neuterNouns.flag.caption</T></figcaption>
</figure>
</div>
<slot></slot>
<details class="border mb-3">
<summary class="bg-light p-3">
<h4 class="h5 d-inline"><T>nouns.neuterNouns.extended.header</T></h4>
</summary>
<div class="border-top">
<div class="d-flex flex-column flex-md-row">
<div class="p-3">
<h5> <T>nouns.singular</T></h5>
<Declension word="" :template="neuterExtendedDeclension" open/>
</div>
<div class="p-3">
<h5> <T>nouns.plural</T></h5>
<Declension word="" :template="neuterExtendedDeclension" open plural/>
</div>
</div>
</div>
</details>
<details class="border mb-3">
<summary class="bg-light p-3">
<h4 class="h5 d-inline"><T>nouns.neuterNouns.alt.header</T></h4>
</summary>
<div class="border-top">
<div class="p-4 pb-0">
<T>nouns.neuterNouns.alt.info</T>
</div>
<div class="table-responsive">
<table class="table table-striped table-hover table-fixed-3">
<thead>
<tr>
<th v-for="templates in neuterAltDeclensionTemplates" class="text-nowrap">
<ul class="list-inline mb-0">
<li v-for="template in templates" class="list-inline-item">
<nuxt-link :to="'/' + template">
{{ template }}
</nuxt-link>
</li>
</ul>
</th>
</tr>
</thead>
<tbody>
<tr v-for="(declensions, word) in neuterAltDeclension" :key="word">
<td v-for="declension in declensions">
<Declension :word="word" :template="declension" open condense/>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</details>
<Separator icon="atom-alt"/>
<h3 :id="$t('nouns.dukajNouns.id')">
<Icon v="ghost"/>
<T>nouns.dukajNouns.header</T>
</h3>
<div class="d-flex flex-column flex-md-row">
<div>
<T>nouns.dukajNouns.info</T>
</div>
<figure>
<img src="/img/dukaizmy.png" :alt="$t('nouns.dukajNouns.flag.alt')"/>
<figcaption><T>nouns.dukajNouns.flag.caption</T></figcaption>
</figure>
</div>
<details class="border mb-3">
<summary class="bg-light p-3">
<h4 class="h5 d-inline"><T>nouns.examples</T></h4>
</summary>
<div class="border-top table-responsive">
<table class="table table-striped table-hover table-fixed-3">
<thead>
<tr>
<th class="text-nowrap">
<Icon v="mars"/>
<T>nouns.masculine</T>
</th>
<th class="text-nowrap">
<Icon v="venus"/>
<T>nouns.feminine</T>
</th>
<th class="text-nowrap">
<Icon v="neuter"/>
<T>nouns.dukajNouns.label</T>
</th>
</tr>
</thead>
<tbody>
<tr v-for="noun in dukajNouns" :key="noun.id">
<td>
<ul class="list-singular">
<li v-for="w in noun.masc">{{ w }}</li>
</ul>
<ul class="list-plural">
<li v-for="w in noun.mascPl">{{ w }}</li>
</ul>
</td>
<td>
<ul class="list-singular">
<li v-for="w in noun.fem">{{ w }}</li>
</ul>
<ul class="list-plural">
<li v-for="w in noun.femPl">{{ w }}</li>
</ul>
</td>
<td>
<ul class="list-singular">
<li v-for="w in noun.neutr">
<Declension :word="w" :template="dukajDeclension"/>
</li>
</ul>
<ul class="list-plural">
<li v-for="w in noun.neutrPl">
<Declension :word="w" plural :singularOptions="noun.neutr" :template="dukajDeclension"/>
</li>
</ul>
</td>
</tr>
</tbody>
</table>
</div>
</details>
<details class="border mb-3">
<summary class="bg-light p-3">
<h4 class="h5 d-inline"><T>nouns.dukajNouns.extended.header</T></h4>
</summary>
<div class="border-top">
<div class="d-flex flex-column flex-md-row">
<div class="p-3">
<h5> <T>nouns.singular</T></h5>
<Declension word="" :template="dukajExtendedDeclension" open/>
</div>
<div class="p-3">
<h5> <T>nouns.plural</T></h5>
<Declension word="" :template="dukajExtendedDeclension" open plural/>
</div>
</div>
</div>
</details>
<Separator icon="atom-alt"/>
<h3 :id="$t('nouns.personNouns.id')">
<Icon v="user-friends"/>
<T>nouns.personNouns.header</T>
<small><NormativeBadge/></small>
</h3>
<T>nouns.personNouns.info</T>
<details class="border mb-3">
<summary class="bg-light p-3">
<h4 class="h5 d-inline"><T>nouns.examples</T></h4>
</summary>
<div class="border-top table-responsive">
<table class="table table-striped table-hover table-fixed-3">
<thead>
<tr>
<th class="text-nowrap">
<Icon v="mars"/>
<T>nouns.masculine</T>
</th>
<th class="text-nowrap">
<Icon v="venus"/>
<T>nouns.feminine</T>
</th>
<th class="text-nowrap">
<Icon v="neuter"/>
<T>nouns.personNouns.label</T>
</th>
</tr>
</thead>
<tbody>
<tr v-for="noun in personNouns" :key="noun.id">
<td>
<ul class="list-singular">
<li v-for="w in noun.masc">{{ w }}</li>
</ul>
<ul class="list-plural">
<li v-for="w in noun.mascPl">{{ w }}</li>
</ul>
</td>
<td>
<ul class="list-singular">
<li v-for="w in noun.fem">{{ w }}</li>
</ul>
<ul class="list-plural">
<li v-for="w in noun.femPl">{{ w }}</li>
</ul>
</td>
<td>
<ul class="list-singular">
<li v-for="w in noun.neutr">{{ w }}</li>
</ul>
<ul class="list-plural">
<li v-for="w in noun.neutrPl">{{ w }}</li>
</ul>
</td>
</tr>
</tbody>
</table>
</div>
</details>
<template v-if="config.nouns.inclusive.enabled">
<Separator icon="atom-alt"/>
<h3 :id="$t('nouns.inclusive.id')">
<Icon v="book-heart"/>
<T>nouns.inclusive.headerLong</T>
</h3>
<T>nouns.inclusive.info</T>
<details class="border mb-3" ref="inclusivedictionarywrapper">
<summary class="bg-light p-3" @click="$refs.inclusivedictionary.loadEntries()">
<h4 class="h5 d-inline">
<Icon v="book-heart"/>
<T>nouns.inclusive.headerLong</T>
</h4>
</summary>
<div class="border-top">
<InclusiveDictionary ref="inclusivedictionary"/>
</div>
</details>
</template>
<template v-if="config.nouns.terms.enabled">
<Separator icon="atom-alt"/>
<h3 :id="$t('nouns.terms.id')">
<Icon v="flag"/>
<T>nouns.terms.headerLong</T>
</h3>
<T>nouns.terms.info</T>
<details class="border mb-3" ref="termsdictionarywrapper">
<summary class="bg-light p-3" @click="$refs.termsdictionary.loadEntries()">
<h4 class="h5 d-inline">
<Icon v="flag"/>
<T>nouns.terms.headerLong</T>
</h4>
</summary>
<div class="border-top">
<TermsDictionary ref="termsdictionary"/>
</div>
</details>
</template>
</div>
</template> </template>
<script>
import {Noun, NounDeclension} from "../../../src/classes";
import hash from "../../../plugins/hash";
export default {
mixins: [ hash ],
data() {
return {
personNouns: [
new Noun({
id: 'kandydat',
masc: 'kandydat', fem: 'kandydatka', neutr: 'osoba kandydująca',
mascPl: 'kandydaci', femPl: 'kandydatki', neutrPl: 'osoby kandydujące',
}),
new Noun({
id: 'kucharz',
masc: 'kucharz', fem: 'kucharka', neutr: 'osoba gotująca|osoba kucharska',
mascPl: 'kucharze', femPl: 'kucharki', neutrPl: 'osoby gotujące|osoby kucharskie',
}),
new Noun({
id: 'mężczyzna',
masc: 'mężczyzna', fem: 'kobieta', neutr: 'osoba|osoba niebinarna',
mascPl: 'mężczyźni', femPl: 'kobiety', neutrPl: 'osoby|osoby niebinarne',
}),
new Noun({
id: 'partner',
masc: 'partner', fem: 'partnerka', neutr: 'osoba partnerska',
mascPl: 'partnerzy', femPl: 'partnerki', neutrPl: 'osoby partnerskie',
}),
new Noun({
id: 'prezes',
masc: 'prezes', fem: 'prezeska', neutr: 'osoba prezesujące',
mascPl: 'prezesi', femPl: 'prezeski', neutrPl: 'osoby prezesujące',
}),
],
dukajNouns: [
new Noun({
id: 'astronauta',
masc: 'astronauta', fem: 'astronautka', neutr: 'astronautu',
mascPl: 'astronauci', femPl: 'astronautki', neutrPl: 'astronauty',
}),
new Noun({
id: 'Europejczyk',
masc: 'Europejczyk', fem: 'Europejka', neutr: 'Europeju',
mascPl: 'Europejczycy', femPl: 'Europejki', neutrPl: 'Europejy',
}),
new Noun({
id: 'przyjaciel',
masc: 'przyjaciel', fem: 'przyjaciółka', neutr: 'przyjaciełu',
mascPl: 'przyjaciele', femPl: 'przyjaciółki', neutrPl: 'przyjacieły',
}),
new Noun({
id: 'twórca',
masc: 'twórca', fem: 'twórczyni', neutr: 'twórcu',
mascPl: 'twórcy', femPl: 'twórczynie', neutrPl: 'twórcy',
}),
],
dukajDeclension: new NounDeclension({
M: 'u', D: 'u', C: 'u', B: 'u', N: 'um', Msc: 'um', W: 'u',
M_pl: 'y', D_pl: 'ych', C_pl: 'ym', B_pl: 'y', N_pl: 'umy', Msc_pl: 'ych', W_pl: 'y',
}),
dukajExtendedDeclension: new NounDeclension({
M: 'tenu kosmicznu twórcu',
D: 'tenu kosmicznenu twórcu',
C: 'tewu kosmicznewu twórcu',
B: 'tenu kosmicznenu twórcu',
N: 'tum kosmicznum twórcum',
Msc: 'tum kosmicznum twórcum',
W: 'tenu kosmicznu twórcu',
M_pl: 'teny kosmiczny twórcy',
D_pl: 'tenych kosmicznych twórcych',
C_pl: 'tenym kosmicznym twórcym',
B_pl: 'teny kosmiczneny twórcy',
N_pl: 'tumy kosmicznumy twórcumy',
Msc_pl: 'tumych kosmicznumych twórcych',
W_pl: 'teny kosmiczny twórcy',
}),
neuterExtendedDeclension: new NounDeclension({
M: 'to kosmiczne twórcze',
D: 'tego kosmicznego twórcza',
C: 'temu kosmicznemu twórczu',
B: 'to kosmiczne twórcze',
N: 'tym kosmicznym twórczem',
Msc: 'tym kosmicznym twórczu',
W: 'to kosmiczne twórcze',
M_pl: 'te kosmiczne twórcza',
D_pl: 'tych kosmicznych twórczy',
C_pl: 'tym kosmicznym twórczom',
B_pl: 'te kosmiczne twórcza',
N_pl: 'tymi kosmicznymi twórczami',
Msc_pl: 'tych kosmicznych twórczach',
W_pl: 'te kosmiczne twórcza',
}),
neuterAltDeclensionTemplates: [
['ono/jego'], // , 'vono/vego', 'ono/jejgo'],
['ono/jej'],
['ono/jeno'],
['ono/jenu'],
],
neuterAltDeclension: {
księgowe: [
new NounDeclension({
M: 'owe', D: 'owego', C: 'owemu', B: 'owe', N: 'owem/owym', Msc: 'owem/owym', W: 'owe',
}),
new NounDeclension({
M: 'owe', D: 'owej', C: 'owej', B: 'owe', N: 'ową', Msc: 'owej', W: 'owe',
}),
new NounDeclension({
M: 'owe', D: 'oweno', C: 'owenu', B: 'owe/oweno', N: 'owem', Msc: 'owem', W: 'owe',
}),
new NounDeclension({
M: 'owe', D: 'owu', C: 'owenu', B: 'owe', N: 'owum', Msc: 'owum', W: 'owe',
}),
],
pracownicze: [
new NounDeclension({
M: 'cze', D: 'cza', C: 'czu', B: 'cze', N: 'czem', Msc: 'czu', W: 'cze',
}),
new NounDeclension({
M: 'cze', D: 'czej', C: 'czej', B: 'cze', N: 'czą', Msc: 'czej', W: 'cze',
}),
new NounDeclension({
M: 'cze', D: 'cza', C: 'czu', B: 'cze', N: 'czem', Msc: 'czu', W: 'cze',
}),
new NounDeclension({
M: 'cze', D: 'ku', C: 'ku', B: 'cze', N: 'kum', Msc: 'kum', W: 'cze',
}),
],
kochanie: [
new NounDeclension({
M: 'nie', D: 'nia', C: 'niu', B: 'nie', N: 'niem', Msc: 'niu', W: 'nie',
}),
new NounDeclension({
M: 'nie', D: 'niej', C: 'niej', B: 'nie', N: 'nią', Msc: 'niej', W: 'nie',
}),
new NounDeclension({
M: 'nie', D: 'nia', C: 'niu', B: 'nie', N: 'niem', Msc: 'niu', W: 'nie',
}),
new NounDeclension({
M: 'nie', D: 'niu', C: 'niu', B: 'nie', N: 'nium', Msc: 'nium', W: 'nie',
}),
],
wnuczę: [
new NounDeclension({
M: 'czę', D: 'częcia', C: 'częciu', B: 'czę', N: 'częciem', Msc: 'częciu', W: 'czę',
}),
new NounDeclension({
M: 'czę', D: 'częciej', C: 'częciej', B: 'czę', N: 'częcią', Msc: 'częciej', W: 'czę',
}),
new NounDeclension({
M: 'czę', D: 'częcia', C: 'częciu', B: 'czę', N: 'częciem', Msc: 'częciu', W: 'czę',
}),
new NounDeclension({
M: 'czę', D: 'czu', C: 'czu', B: 'czę', N: 'czum', Msc: 'czum', W: 'czę',
}),
],
Polko: [
new NounDeclension({
M: 'ko', D: 'ka', C: 'ku', B: 'ko', N: 'kiem', Msc: 'ku', W: 'ko',
}),
new NounDeclension({
M: 'ko', D: 'ki', C: 'ce', B: 'ko', N: 'ką', Msc: 'ce', W: 'ko',
}),
new NounDeclension({
M: 'ko', D: 'ka', C: 'ku', B: 'ko', N: 'kiem', Msc: 'ku', W: 'ko',
}),
new NounDeclension({
M: 'ko', D: 'ku', C: 'ku', B: 'ko', N: 'kum', Msc: 'kum', W: 'ko',
}),
],
kociaro: [
new NounDeclension({
M: 'ro', D: 'ra', C: 'rzu', B: 'ro', N: 'rem', Msc: 'rzu', W: 'ro',
}),
new NounDeclension({
M: 'ro', D: 'rej', C: 'rej', B: 'ro', N: 'rą', Msc: 'rej', W: 'ro',
}),
new NounDeclension({
M: 'ro', D: 'ra', C: 'rzu', B: 'ro', N: 'rem', Msc: 'rzu', W: 'ro',
}),
new NounDeclension({
M: 'ro', D: 'ru', C: 'ru', B: 'ro', N: 'rum', Msc: 'rum', W: 'ro',
}),
],
},
}
},
mounted() {
this.handleHash(this.config.nouns.inclusive.hashNamespace, filter => {
this.$refs.inclusivedictionarywrapper.open = true;
this.$refs.inclusivedictionarywrapper.scrollIntoView();
this.$refs.inclusivedictionary.setFilter(filter);
});
this.handleHash(this.config.nouns.terms.hashNamespace, filter => {
this.$refs.termsdictionarywrapper.open = true;
this.$refs.termsdictionarywrapper.scrollIntoView();
this.$refs.termsdictionary.setFilter(filter);
});
}
}
</script>
<style lang="scss" scoped>
@import "assets/variables";
figure {
width: 100%;
max-width: 24rem;
padding: $spacer;
img {
width: 100%;
}
figcaption {
font-size: $small-font-size;
}
}
</style>

View File

@ -1,13 +1,13 @@
<template> <template>
<section> <section>
<div class="d-none d-md-inline-flex btn-group btn-block mb-2"> <div class="d-none d-md-inline-flex btn-group btn-block mb-2">
<a v-for="(icon, name) in links" :href="'#' + $t(`nouns.${name}.id`)" class="btn btn-outline-primary"> <a v-for="{name, icon, route} in links" :href="`/${config.nouns.route}/${route}`" class="btn btn-outline-primary">
<Icon :v="icon"/> <Icon :v="icon"/>
<T>nouns.{{name}}.header</T> <T>nouns.{{name}}.header</T>
</a> </a>
</div> </div>
<div class="d-block d-md-none btn-group-vertical btn-block mb-2"> <div class="d-block d-md-none btn-group-vertical btn-block mb-2">
<a v-for="(icon, name) in links" :href="'#' + $t(`nouns.${name}.id`)" class="btn btn-outline-primary"> <a v-for="{name, icon, route} in links" :href="`/${config.nouns.route}/${route}`" class="btn btn-outline-primary">
<Icon :v="icon"/> <Icon :v="icon"/>
<T>nouns.{{name}}.header</T> <T>nouns.{{name}}.header</T>
</a> </a>
@ -18,18 +18,18 @@
<script> <script>
export default { export default {
data() { data() {
const links = { const links = [
neuterNouns: 'deer', {name: 'neuterNouns', icon: 'deer', route: 'neutratywy'},
dukajNouns: 'ghost', {name: 'dukajNouns', icon: 'ghost', route: 'dukatywy'},
personNouns: 'user-friends', {name: 'personNouns', icon: 'user-friends', route: 'osobatywy'},
} ];
if (this.config.nouns.inclusive.enabled) { if (this.config.nouns.inclusive.enabled) {
links['inclusive'] = 'book-heart'; links.push({name: 'inclusive', icon: 'book-heart', route: this.config.nouns.inclusive.route});
} }
if (this.config.nouns.terms.enabled) { if (this.config.nouns.terms.enabled) {
links['terms'] = 'flag'; links.push({name: 'terms', icon: 'flag', route: this.config.nouns.terms.route});
} }
return { return {

View File

@ -0,0 +1,172 @@
<template>
<div>
<h2>
<Icon v="ghost"/>
<T>nouns.dukajNouns.header</T>
</h2>
<div class="d-flex flex-column flex-md-row">
<div>
<T>nouns.dukajNouns.info</T>
<p><Share :title="$t('nouns.dukajNouns.header')"/></p>
</div>
<figure>
<img src="/img/dukaizmy.png" :alt="$t('nouns.dukajNouns.flag.alt')"/>
<figcaption><T>nouns.dukajNouns.flag.caption</T></figcaption>
</figure>
</div>
<details open class="border mb-3">
<summary class="bg-light p-3">
<h4 class="h5 d-inline"><T>nouns.examples</T></h4>
</summary>
<div class="border-top table-responsive">
<table class="table table-striped table-hover table-fixed-3">
<thead>
<tr>
<th class="text-nowrap">
<Icon v="mars"/>
<T>nouns.masculine</T>
</th>
<th class="text-nowrap">
<Icon v="venus"/>
<T>nouns.feminine</T>
</th>
<th class="text-nowrap">
<Icon v="neuter"/>
<T>nouns.dukajNouns.label</T>
</th>
</tr>
</thead>
<tbody>
<tr v-for="noun in dukajNouns" :key="noun.id">
<td>
<ul class="list-singular">
<li v-for="w in noun.masc">{{ w }}</li>
</ul>
<ul class="list-plural">
<li v-for="w in noun.mascPl">{{ w }}</li>
</ul>
</td>
<td>
<ul class="list-singular">
<li v-for="w in noun.fem">{{ w }}</li>
</ul>
<ul class="list-plural">
<li v-for="w in noun.femPl">{{ w }}</li>
</ul>
</td>
<td>
<ul class="list-singular">
<li v-for="w in noun.neutr">
<Declension :word="w" :template="dukajDeclension"/>
</li>
</ul>
<ul class="list-plural">
<li v-for="w in noun.neutrPl">
<Declension :word="w" plural :singularOptions="noun.neutr" :template="dukajDeclension"/>
</li>
</ul>
</td>
</tr>
</tbody>
</table>
</div>
</details>
<details open class="border mb-3">
<summary class="bg-light p-3">
<h4 class="h5 d-inline"><T>nouns.dukajNouns.extended.header</T></h4>
</summary>
<div class="border-top">
<div class="d-flex flex-column flex-md-row">
<div class="p-3">
<h5> <T>nouns.singular</T></h5>
<Declension word="" :template="dukajExtendedDeclension" open/>
</div>
<div class="p-3">
<h5> <T>nouns.plural</T></h5>
<Declension word="" :template="dukajExtendedDeclension" open plural/>
</div>
</div>
</div>
</details>
</div>
</template>
<script>
import {Noun, NounDeclension} from "../../../src/classes";
import {head} from "../../../src/helpers";
export default {
data() {
return {
dukajNouns: [
new Noun({
id: 'astronauta',
masc: 'astronauta', fem: 'astronautka', neutr: 'astronautu',
mascPl: 'astronauci', femPl: 'astronautki', neutrPl: 'astronauty',
}),
new Noun({
id: 'Europejczyk',
masc: 'Europejczyk', fem: 'Europejka', neutr: 'Europeju',
mascPl: 'Europejczycy', femPl: 'Europejki', neutrPl: 'Europejy',
}),
new Noun({
id: 'przyjaciel',
masc: 'przyjaciel', fem: 'przyjaciółka', neutr: 'przyjaciełu',
mascPl: 'przyjaciele', femPl: 'przyjaciółki', neutrPl: 'przyjacieły',
}),
new Noun({
id: 'twórca',
masc: 'twórca', fem: 'twórczyni', neutr: 'twórcu',
mascPl: 'twórcy', femPl: 'twórczynie', neutrPl: 'twórcy',
}),
],
dukajDeclension: new NounDeclension({
M: 'u', D: 'u', C: 'u', B: 'u', N: 'um', Msc: 'um', W: 'u',
M_pl: 'y', D_pl: 'ych', C_pl: 'ym', B_pl: 'y', N_pl: 'umy', Msc_pl: 'ych', W_pl: 'y',
}),
dukajExtendedDeclension: new NounDeclension({
M: 'tenu kosmicznu twórcu',
D: 'tenu kosmicznenu twórcu',
C: 'tewu kosmicznewu twórcu',
B: 'tenu kosmicznenu twórcu',
N: 'tum kosmicznum twórcum',
Msc: 'tum kosmicznum twórcum',
W: 'tenu kosmicznu twórcu',
M_pl: 'teny kosmiczny twórcy',
D_pl: 'tenych kosmicznych twórcych',
C_pl: 'tenym kosmicznym twórcym',
B_pl: 'teny kosmiczneny twórcy',
N_pl: 'tumy kosmicznumy twórcumy',
Msc_pl: 'tumych kosmicznumych twórcych',
W_pl: 'teny kosmiczny twórcy',
}),
}
},
head() {
return head({
title: this.$t('nouns.dukajNouns.header'),
description: this.$t('nouns.dukajNouns.info')[0],
});
},
}
</script>
<style lang="scss" scoped>
@import "assets/variables";
figure {
width: 100%;
max-width: 24rem;
padding: $spacer;
img {
width: 100%;
}
figcaption {
font-size: $small-font-size;
}
}
</style>

View File

@ -0,0 +1,226 @@
<template>
<div>
<h2>
<Icon v="deer"/>
<T>nouns.neuterNouns.header</T>
</h2>
<div class="d-flex flex-column flex-md-row">
<div>
<T>nouns.neuterNouns.info</T>
<p><Share :title="$t('nouns.neuterNouns.header')"/></p>
</div>
<figure>
<img src="/img/łoś.jpg" :alt="$t('nouns.neuterNouns.flag.alt')"/>
<figcaption><T>nouns.neuterNouns.flag.caption</T></figcaption>
</figure>
</div>
<details class="border mb-3">
<summary class="bg-light p-3">
<h4 class="h5 d-inline"><T>nouns.neuterNouns.extended.header</T></h4>
</summary>
<div class="border-top">
<div class="d-flex flex-column flex-md-row">
<div class="p-3">
<h5> <T>nouns.singular</T></h5>
<Declension word="" :template="neuterExtendedDeclension" open/>
</div>
<div class="p-3">
<h5> <T>nouns.plural</T></h5>
<Declension word="" :template="neuterExtendedDeclension" open plural/>
</div>
</div>
</div>
</details>
<details class="border mb-3">
<summary class="bg-light p-3">
<h4 class="h5 d-inline"><T>nouns.neuterNouns.alt.header</T></h4>
</summary>
<div class="border-top">
<div class="p-4 pb-0">
<T>nouns.neuterNouns.alt.info</T>
</div>
<div class="table-responsive">
<table class="table table-striped table-hover table-fixed-3">
<thead>
<tr>
<th v-for="templates in neuterAltDeclensionTemplates" class="text-nowrap">
<ul class="list-inline mb-0">
<li v-for="template in templates" class="list-inline-item">
<nuxt-link :to="'/' + template">
{{ template }}
</nuxt-link>
</li>
</ul>
</th>
</tr>
</thead>
<tbody>
<tr v-for="(declensions, word) in neuterAltDeclension" :key="word">
<td v-for="declension in declensions">
<Declension :word="word" :template="declension" open condense/>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</details>
<Separator icon="atom-alt"/>
<Dictionary load ref="dictionary"/>
</div>
</template>
<script>
import {Noun, NounDeclension} from "../../../src/classes";
import hash from "../../../plugins/hash";
import {head} from "../../../src/helpers";
export default {
mixins: [ hash ],
data() {
return {
neuterExtendedDeclension: new NounDeclension({
M: 'to kosmiczne twórcze',
D: 'tego kosmicznego twórcza',
C: 'temu kosmicznemu twórczu',
B: 'to kosmiczne twórcze',
N: 'tym kosmicznym twórczem',
Msc: 'tym kosmicznym twórczu',
W: 'to kosmiczne twórcze',
M_pl: 'te kosmiczne twórcza',
D_pl: 'tych kosmicznych twórczy',
C_pl: 'tym kosmicznym twórczom',
B_pl: 'te kosmiczne twórcza',
N_pl: 'tymi kosmicznymi twórczami',
Msc_pl: 'tych kosmicznych twórczach',
W_pl: 'te kosmiczne twórcza',
}),
neuterAltDeclensionTemplates: [
['ono/jego'], // , 'vono/vego', 'ono/jejgo'],
['ono/jej'],
['ono/jeno'],
['ono/jenu'],
],
neuterAltDeclension: {
księgowe: [
new NounDeclension({
M: 'owe', D: 'owego', C: 'owemu', B: 'owe', N: 'owem/owym', Msc: 'owem/owym', W: 'owe',
}),
new NounDeclension({
M: 'owe', D: 'owej', C: 'owej', B: 'owe', N: 'ową', Msc: 'owej', W: 'owe',
}),
new NounDeclension({
M: 'owe', D: 'oweno', C: 'owenu', B: 'owe/oweno', N: 'owem', Msc: 'owem', W: 'owe',
}),
new NounDeclension({
M: 'owe', D: 'owu', C: 'owenu', B: 'owe', N: 'owum', Msc: 'owum', W: 'owe',
}),
],
pracownicze: [
new NounDeclension({
M: 'cze', D: 'cza', C: 'czu', B: 'cze', N: 'czem', Msc: 'czu', W: 'cze',
}),
new NounDeclension({
M: 'cze', D: 'czej', C: 'czej', B: 'cze', N: 'czą', Msc: 'czej', W: 'cze',
}),
new NounDeclension({
M: 'cze', D: 'cza', C: 'czu', B: 'cze', N: 'czem', Msc: 'czu', W: 'cze',
}),
new NounDeclension({
M: 'cze', D: 'ku', C: 'ku', B: 'cze', N: 'kum', Msc: 'kum', W: 'cze',
}),
],
kochanie: [
new NounDeclension({
M: 'nie', D: 'nia', C: 'niu', B: 'nie', N: 'niem', Msc: 'niu', W: 'nie',
}),
new NounDeclension({
M: 'nie', D: 'niej', C: 'niej', B: 'nie', N: 'nią', Msc: 'niej', W: 'nie',
}),
new NounDeclension({
M: 'nie', D: 'nia', C: 'niu', B: 'nie', N: 'niem', Msc: 'niu', W: 'nie',
}),
new NounDeclension({
M: 'nie', D: 'niu', C: 'niu', B: 'nie', N: 'nium', Msc: 'nium', W: 'nie',
}),
],
wnuczę: [
new NounDeclension({
M: 'czę', D: 'częcia', C: 'częciu', B: 'czę', N: 'częciem', Msc: 'częciu', W: 'czę',
}),
new NounDeclension({
M: 'czę', D: 'częciej', C: 'częciej', B: 'czę', N: 'częcią', Msc: 'częciej', W: 'czę',
}),
new NounDeclension({
M: 'czę', D: 'częcia', C: 'częciu', B: 'czę', N: 'częciem', Msc: 'częciu', W: 'czę',
}),
new NounDeclension({
M: 'czę', D: 'czu', C: 'czu', B: 'czę', N: 'czum', Msc: 'czum', W: 'czę',
}),
],
Polko: [
new NounDeclension({
M: 'ko', D: 'ka', C: 'ku', B: 'ko', N: 'kiem', Msc: 'ku', W: 'ko',
}),
new NounDeclension({
M: 'ko', D: 'ki', C: 'ce', B: 'ko', N: 'ką', Msc: 'ce', W: 'ko',
}),
new NounDeclension({
M: 'ko', D: 'ka', C: 'ku', B: 'ko', N: 'kiem', Msc: 'ku', W: 'ko',
}),
new NounDeclension({
M: 'ko', D: 'ku', C: 'ku', B: 'ko', N: 'kum', Msc: 'kum', W: 'ko',
}),
],
kociaro: [
new NounDeclension({
M: 'ro', D: 'ra', C: 'rzu', B: 'ro', N: 'rem', Msc: 'rzu', W: 'ro',
}),
new NounDeclension({
M: 'ro', D: 'rej', C: 'rej', B: 'ro', N: 'rą', Msc: 'rej', W: 'ro',
}),
new NounDeclension({
M: 'ro', D: 'ra', C: 'rzu', B: 'ro', N: 'rem', Msc: 'rzu', W: 'ro',
}),
new NounDeclension({
M: 'ro', D: 'ru', C: 'ru', B: 'ro', N: 'rum', Msc: 'rum', W: 'ro',
}),
],
},
}
},
mounted() {
this.handleHash(this.config.nouns.hashNamespace, filter => {
this.$refs.dictionary.setFilter(filter);
});
},
head() {
return head({
title: this.$t('nouns.neuterNouns.header'),
description: this.$t('nouns.neuterNouns.info')[0],
});
},
}
</script>
<style lang="scss" scoped>
@import "assets/variables";
figure {
width: 100%;
max-width: 24rem;
padding: $spacer;
img {
width: 100%;
}
figcaption {
font-size: $small-font-size;
}
}
</style>

View File

@ -0,0 +1,113 @@
<template>
<div>
<h2>
<Icon v="user-friends"/>
<T>nouns.personNouns.header</T>
<small><NormativeBadge/></small>
</h2>
<section>
<T>nouns.personNouns.info</T>
<p><Share :title="$t('nouns.personNouns.header')"/></p>
</section>
<details open class="border mb-3">
<summary class="bg-light p-3">
<h4 class="h5 d-inline"><T>nouns.examples</T></h4>
</summary>
<div class="border-top table-responsive">
<table class="table table-striped table-hover table-fixed-3">
<thead>
<tr>
<th class="text-nowrap">
<Icon v="mars"/>
<T>nouns.masculine</T>
</th>
<th class="text-nowrap">
<Icon v="venus"/>
<T>nouns.feminine</T>
</th>
<th class="text-nowrap">
<Icon v="neuter"/>
<T>nouns.personNouns.label</T>
</th>
</tr>
</thead>
<tbody>
<tr v-for="noun in personNouns" :key="noun.id">
<td>
<ul class="list-singular">
<li v-for="w in noun.masc">{{ w }}</li>
</ul>
<ul class="list-plural">
<li v-for="w in noun.mascPl">{{ w }}</li>
</ul>
</td>
<td>
<ul class="list-singular">
<li v-for="w in noun.fem">{{ w }}</li>
</ul>
<ul class="list-plural">
<li v-for="w in noun.femPl">{{ w }}</li>
</ul>
</td>
<td>
<ul class="list-singular">
<li v-for="w in noun.neutr">{{ w }}</li>
</ul>
<ul class="list-plural">
<li v-for="w in noun.neutrPl">{{ w }}</li>
</ul>
</td>
</tr>
</tbody>
</table>
</div>
</details>
</div>
</template>
<script>
import {Noun} from "../../../src/classes";
import {head} from "../../../src/helpers";
export default {
data() {
return {
personNouns: [
new Noun({
id: 'kandydat',
masc: 'kandydat', fem: 'kandydatka', neutr: 'osoba kandydująca',
mascPl: 'kandydaci', femPl: 'kandydatki', neutrPl: 'osoby kandydujące',
}),
new Noun({
id: 'kucharz',
masc: 'kucharz', fem: 'kucharka', neutr: 'osoba gotująca|osoba kucharska',
mascPl: 'kucharze', femPl: 'kucharki', neutrPl: 'osoby gotujące|osoby kucharskie',
}),
new Noun({
id: 'mężczyzna',
masc: 'mężczyzna', fem: 'kobieta', neutr: 'osoba|osoba niebinarna',
mascPl: 'mężczyźni', femPl: 'kobiety', neutrPl: 'osoby|osoby niebinarne',
}),
new Noun({
id: 'partner',
masc: 'partner', fem: 'partnerka', neutr: 'osoba partnerska',
mascPl: 'partnerzy', femPl: 'partnerki', neutrPl: 'osoby partnerskie',
}),
new Noun({
id: 'prezes',
masc: 'prezes', fem: 'prezeska', neutr: 'osoba prezesujące',
mascPl: 'prezesi', femPl: 'prezeski', neutrPl: 'osoby prezesujące',
}),
],
}
},
head() {
return head({
title: this.$t('nouns.personNouns.header'),
description: this.$t('nouns.personNouns.info')[0],
});
},
}
</script>

View File

@ -1,21 +1,21 @@
key description normative pronoun_n pronoun_g pronoun_g_acc pronoun_d pronoun_a pronoun_i pronoun_l pronoun_all adjective_n adjective_n_c adjective_n_k adjective_ll adjective_middle verb_end_inter verb_end_about verb_middle_inter verb_middle_about verb_nasal verb_go verb_o honorific plural pluralHonorific pronounceable history thirdForm smallForm sourcesInfo key description normative pronoun_n pronoun_g pronoun_g_acc pronoun_d pronoun_a pronoun_i pronoun_l pronoun_all adjective_n adjective_n_c adjective_n_k adjective_ll adjective_middle verb_end_inter verb_end_about verb_middle_inter verb_middle_about verb_nasal verb_go verb_o honorific plural pluralHonorific pronounceable history thirdForm smallForm sourcesInfo
on,on/jego Rodzaj męski TRUE on jego niego mu go nim nim y y ki e e ą szedł ó pan FALSE FALSE TRUE on,on/jego Rodzaj męski TRUE on jego niego mu go nim nim y y ki e e ą szedł ó pan FALSE FALSE TRUE
ona,ona/jej Rodzaj żeński TRUE ona jej niej jej ją nią niej a a ka a a a a ę szł o pani FALSE FALSE TRUE ona,ona/jej Rodzaj żeński TRUE ona jej niej jej ją nią niej a a ka a a a a ę szł o pani FALSE FALSE TRUE
ono,ono/jego Rodzaj neutralny TRUE ono jego niego mu je nim nim e e kie o o o o ę szł o pań FALSE FALSE TRUE Formy „byłom”, „zrobiłoś”, itp. są {https://rjp.pan.pl/index.php?option=com_content&view=article&id=317:byom-byo&catid=44&Itemid=208=wg RJP} poprawne gramatycznie.@Normatywna odmiana rodzaju neutralnego w liczbie mnogiej dostępna jest {/one=tutaj}, a neologiczna {/ona/ich=tutaj}.@Rzeczowniki zgodne rodzajowo z rodzajem neutralnym to {/słowniki#neutratywy=neutratywy}. ono,ono/jego Rodzaj neutralny TRUE ono jego niego mu je nim nim e e kie o o o o ę szł o pań FALSE FALSE TRUE Formy „byłom”, „zrobiłoś”, itp. są {https://rjp.pan.pl/index.php?option=com_content&view=article&id=317:byom-byo&catid=44&Itemid=208=wg RJP} poprawne gramatycznie.@Normatywna odmiana rodzaju neutralnego w liczbie mnogiej dostępna jest {/one=tutaj}, a neologiczna {/ona/ich=tutaj}.@Rzeczowniki zgodne rodzajowo z rodzajem neutralnym to {/słowniki/neutratywy=neutratywy}.
ono/jej Rodzaj neutralny z formami żeńskimi zamiast męskich FALSE ono jej niej jej je nią niej e e kie o o o o ę szł o pań FALSE FALSE TRUE Normatywna odmiana rodzaju neutralnego w liczbie mnogiej dostępna jest {/one=tutaj}, a neologiczna {/ona/ich=tutaj}.@Rzeczowniki zgodne rodzajowo z rodzajem neutralnym to {/słowniki#neutratywy=neutratywy}. ono/jej Rodzaj neutralny z formami żeńskimi zamiast męskich FALSE ono jej niej jej je nią niej e e kie o o o o ę szł o pań FALSE FALSE TRUE Normatywna odmiana rodzaju neutralnego w liczbie mnogiej dostępna jest {/one=tutaj}, a neologiczna {/ona/ich=tutaj}.@Rzeczowniki zgodne rodzajowo z rodzajem neutralnym to {/słowniki/neutratywy=neutratywy}.
ono/jejgo Rodzaj neutralny z formami łączonymi FALSE ono jejgo niejgo jejmu jejgo niąnim niejnim e e kie o o o o ę szł o pań FALSE FALSE TRUE Normatywna odmiana rodzaju neutralnego w liczbie mnogiej dostępna jest {/one=tutaj}, a neologiczna {/ona/ich=tutaj}.@Rzeczowniki zgodne rodzajowo z rodzajem neutralnym to {/słowniki#neutratywy=neutratywy}. ono/jejgo Rodzaj neutralny z formami łączonymi FALSE ono jejgo niejgo jejmu jejgo niąnim niejnim e e kie o o o o ę szł o pań FALSE FALSE TRUE Normatywna odmiana rodzaju neutralnego w liczbie mnogiej dostępna jest {/one=tutaj}, a neologiczna {/ona/ich=tutaj}.@Rzeczowniki zgodne rodzajowo z rodzajem neutralnym to {/słowniki/neutratywy=neutratywy}.
ono/jeno Rodzaj neutralny z elementami dukaizmów FALSE ono jeno nieno nu no niemu niem e e kie o u o o ę szł o pań FALSE FALSE TRUE Normatywna odmiana rodzaju neutralnego w liczbie mnogiej dostępna jest {/one=tutaj}, a neologiczna {/ona/ich=tutaj}.@Rzeczowniki zgodne rodzajowo z rodzajem neutralnym to {/słowniki#neutratywy=neutratywy}. ono/jeno Rodzaj neutralny z elementami dukaizmów FALSE ono jeno nieno nu no niemu niem e e kie o u o o ę szł o pań FALSE FALSE TRUE Normatywna odmiana rodzaju neutralnego w liczbie mnogiej dostępna jest {/one=tutaj}, a neologiczna {/ona/ich=tutaj}.@Rzeczowniki zgodne rodzajowo z rodzajem neutralnym to {/słowniki/neutratywy=neutratywy}.
ono/jenu Rodzaj neutralny z dukaizmami zamiast form męskich FALSE ono jenu nienu wu nu num num e e kie o o o o ę szł o pań FALSE FALSE TRUE Normatywna odmiana rodzaju neutralnego w liczbie mnogiej dostępna jest {/one=tutaj}, a neologiczna {/ona/ich=tutaj}.@Rzeczowniki zgodne rodzajowo z rodzajem neutralnym to {/słowniki#neutratywy=neutratywy}. ono/jenu Rodzaj neutralny z dukaizmami zamiast form męskich FALSE ono jenu nienu wu nu num num e e kie o o o o ę szł o pań FALSE FALSE TRUE Normatywna odmiana rodzaju neutralnego w liczbie mnogiej dostępna jest {/one=tutaj}, a neologiczna {/ona/ich=tutaj}.@Rzeczowniki zgodne rodzajowo z rodzajem neutralnym to {/słowniki/neutratywy=neutratywy}.
vono,vono/vego Rodzaj neutralny z neozaimkami vono/vego FALSE vono vego viego vu vo vim vim e e kie o o o o ę szł o pań FALSE FALSE TRUE Forma została stworzona przez tłumacza Pawła Wieczorka dla oddania stworzonych przez Grega Egana form {https://en.pronouns.page/ve=ve/ver}. vono,vono/vego Rodzaj neutralny z neozaimkami vono/vego FALSE vono vego viego vu vo vim vim e e kie o o o o ę szł o pań FALSE FALSE TRUE Forma została stworzona przez tłumacza Pawła Wieczorka dla oddania stworzonych przez Grega Egana form {https://en.pronouns.page/ve=ve/ver}.
ono/eno Neozaimki ono/eno FALSE ono eno eno ne no em em u u ku o u o o ę szł o pan FALSE FALSE TRUE "Formy stworzone przez {https://twitter.com/NicoBillie/status/1312894040061497346=&#64;NicoBillie}." ono/eno Neozaimki ono/eno FALSE ono eno eno ne no em em u u ku o u o o ę szł o pan FALSE FALSE TRUE "Formy stworzone przez {https://twitter.com/NicoBillie/status/1312894040061497346=&#64;NicoBillie}."
onu,onu/jenu Rodzaj postpłciowy, dukaizmy FALSE onu jenu nienu wu nu num num u u ku u u u u ę szł o panu FALSE FALSE TRUE Formy te zostały stworzone przez {https://pl.wikipedia.org/wiki/Jacek_Dukaj=Jacka Dukaja} do książki {https://pl.wikipedia.org/wiki/Perfekcyjna_niedoskonałość=„Perfekcyjna niedoskonałość”}. 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”.@Odmiana dukaizmów w liczbie mnogiej dostępna jest {/ony=tutaj}.@Rzeczowniki zgodne z rodzajem postpłciowym to {/słowniki#dukatywy=dukatywy}. onu,onu/jenu Rodzaj postpłciowy, dukaizmy FALSE onu jenu nienu wu nu num num u u ku u u u u ę szł o panu FALSE FALSE TRUE Formy te zostały stworzone przez {https://pl.wikipedia.org/wiki/Jacek_Dukaj=Jacka Dukaja} do książki {https://pl.wikipedia.org/wiki/Perfekcyjna_niedoskonałość=„Perfekcyjna niedoskonałość”}. 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”.@Odmiana dukaizmów w liczbie mnogiej dostępna jest {/ony=tutaj}.@Rzeczowniki zgodne z rodzajem postpłciowym to {/słowniki/dukatywy=dukatywy}.
onu/jejo Dukaizmy z łączonymi formami męskimi i żeńskimi FALSE onu jejo jejo jeju jegą nimą nimej u u ku u u u u ę szł o panu FALSE FALSE TRUE Formy te wymyśliłu Len Król.@Rzeczowniki zgodne z rodzajem postpłciowym to {/słowniki#dukatywy=dukatywy}. onu/jejo Dukaizmy z łączonymi formami męskimi i żeńskimi FALSE onu jejo jejo jeju jegą nimą nimej u u ku u u u u ę szł o panu FALSE FALSE TRUE Formy te wymyśliłu Len Król.@Rzeczowniki zgodne z rodzajem postpłciowym to {/słowniki/dukatywy=dukatywy}.
ne,ne/nego Dukaizmy z neozaimkami ne/nego FALSE ne nego nia nemu ne nym nym u u ku u u u u u szł o panu FALSE FALSE TRUE Formy stworzone przez {http://transpomoc.pl/viewtopic.php?p=49434&highlight=#49434=Freję Draco} na bazie dukaizmów.@Rzeczowniki zgodne z rodzajem postpłciowym to {/słowniki#dukatywy=dukatywy}. ne,ne/nego Dukaizmy z neozaimkami ne/nego FALSE ne nego nia nemu ne nym nym u u ku u u u u u szł o panu FALSE FALSE TRUE Formy stworzone przez {http://transpomoc.pl/viewtopic.php?p=49434&highlight=#49434=Freję Draco} na bazie dukaizmów.@Rzeczowniki zgodne z rodzajem postpłciowym to {/słowniki/dukatywy=dukatywy}.
oni,oni/ich Formy męskoosobowe liczby mnogiej TRUE oni ich nich im ich nimi nich cy i y cy l e li li eli eli ęli szli o państwo TRUE TRUE TRUE Druga osoba liczby mnogiej może być w normatywnej polszczyźnie używana jako wyraz szacunku (zob. {https://pl.wikipedia.org/wiki/Per_wy=„Per wy”}, {http://www.dialektologia.uw.edu.pl/index.php?l1=leksykon&lid=653=„Pluralis maiestaticus”}) oni,oni/ich Formy męskoosobowe liczby mnogiej TRUE oni ich nich im ich nimi nich cy i y cy l e li li eli eli ęli szli o państwo TRUE TRUE TRUE Druga osoba liczby mnogiej może być w normatywnej polszczyźnie używana jako wyraz szacunku (zob. {https://pl.wikipedia.org/wiki/Per_wy=„Per wy”}, {http://www.dialektologia.uw.edu.pl/index.php?l1=leksykon&lid=653=„Pluralis maiestaticus”})
one,one/ich Formy niemęskoosobowe liczby mnogiej TRUE one ich nich im je nimi nich tkie e e kie ł o ły ły ały ały ęły szły o państwo TRUE TRUE TRUE one,one/ich Formy niemęskoosobowe liczby mnogiej TRUE one ich nich im je nimi nich tkie e e kie ł o ły ły ały ały ęły szły o państwo TRUE TRUE TRUE
oni/e,oni/e/ich Formy liczby mnogiej z ukośnikiem TRUE oni/e ich nich im ich/je nimi nich cy/tkie i/e i/e cy/kie li/łe eni/one li/ły li/ły eli/ały eli/ały ęli/eły szli/szły o państwo TRUE TRUE FALSE oni/e,oni/e/ich Formy liczby mnogiej z ukośnikiem TRUE oni/e ich nich im ich/je nimi nich cy/tkie i/e i/e cy/kie li/łe eni/one li/ły li/ły eli/ały eli/ały ęli/eły szli/szły o państwo TRUE TRUE FALSE
ona/ich Neutralne formy mnogie z zaimkiem „ona” FALSE ona ich nich im je nimi nich tkie e e kie ł o ło ły ało ały ęło szło o państwo TRUE TRUE TRUE Zaimek „ona” zapożyczony z języka chorwackiego, gdzie jest nienacechowaną płciowo formą liczby mnogiej. Dość zresztą intuicyjny w polszczyźnie: jak <em>to okno → te okna</em>, tak to <em>ono → te ona</em>).@Odmiana rodzaju neutralnego w liczbie pojedynczej dostępna jest {/ono=tutaj}. ona/ich Neutralne formy mnogie z zaimkiem „ona” FALSE ona ich nich im je nimi nich tkie e e kie ł o ło ły ało ały ęło szło o państwo TRUE TRUE TRUE Zaimek „ona” zapożyczony z języka chorwackiego, gdzie jest nienacechowaną płciowo formą liczby mnogiej. Dość zresztą intuicyjny w polszczyźnie: jak <em>to okno → te okna</em>, tak to <em>ono → te ona</em>).@Odmiana rodzaju neutralnego w liczbie pojedynczej dostępna jest {/ono=tutaj}.
ony,ony/ich Formy mnogie dukaizmów z zaimkiem „ony” FALSE ony ich nich im ny nimi nich tki e e kie ł o łu ły ału ały ęłu szłu o państwo TRUE TRUE TRUE Zaimek „ony” to po czesku liczba mnoga dla rodzaju żeńskiego i męskonieżywotnego.@Formy czasowników z „u” zostały stworzone przez {https://pl.wikipedia.org/wiki/Jacek_Dukaj=Jacka Dukaja} do książki {https://pl.wikipedia.org/wiki/Perfekcyjna_niedoskonałość=„Perfekcyjna niedoskonałość”}. 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”.@Odmiana dukaizmów w liczbie pojedynczej dostępna jest {/onu=tutaj}.@Rzeczowniki zgodne z rodzajem postpłciowym to {/słowniki#dukatywy=dukatywy}. ony,ony/ich Formy mnogie dukaizmów z zaimkiem „ony” FALSE ony ich nich im ny nimi nich tki e e kie ł o łu ły ału ały ęłu szłu o państwo TRUE TRUE TRUE Zaimek „ony” to po czesku liczba mnoga dla rodzaju żeńskiego i męskonieżywotnego.@Formy czasowników z „u” zostały stworzone przez {https://pl.wikipedia.org/wiki/Jacek_Dukaj=Jacka Dukaja} do książki {https://pl.wikipedia.org/wiki/Perfekcyjna_niedoskonałość=„Perfekcyjna niedoskonałość”}. 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”.@Odmiana dukaizmów w liczbie pojedynczej dostępna jest {/onu=tutaj}.@Rzeczowniki zgodne z rodzajem postpłciowym to {/słowniki/dukatywy=dukatywy}.
onie,onie/ich Neologiczne formy mnogie z zaimkiem „onie” FALSE onie ich nich im je niemi nich tkie e e kie ł o łe ły ałe ałe ęłe szłe o państwo TRUE TRUE TRUE onie,onie/ich Neologiczne formy mnogie z zaimkiem „onie” FALSE onie ich nich im je niemi nich tkie e e kie ł o łe ły ałe ałe ęłe szłe o państwo TRUE TRUE TRUE
onæ,onæ/jæ Formy z „ae” lub ligaturą „æ” FALSE onæ|ˈɔ̃næ̯ jæ|jæ̯ næ|ɲæ̯ jæ|jæ̯ jæ|jæ̯ næm|ɲæm næm|ɲæm æ|æ̯ æ|æ̯ kæ|kæ̯ æ|æ̯ æ|æ̯ æ|æ̯ æ|æ̯ ą szł o panæ|panæ̯ FALSE FALSE TRUE onæ,onæ/jæ Formy z „ae” lub ligaturą „æ” FALSE onæ|ˈɔ̃næ̯ jæ|jæ̯ næ|ɲæ̯ jæ|jæ̯ jæ|jæ̯ næm|ɲæm næm|ɲæm æ|æ̯ æ|æ̯ kæ|kæ̯ æ|æ̯ æ|æ̯ æ|æ̯ æ|æ̯ ą szł o panæ|panæ̯ FALSE FALSE TRUE
on/a,on/a/jego/jej Formy z ukośnikiem TRUE on/a jego/jej niego/niej mu/jej go/ją nim/ą nim/ej y/a y/a ky/ka /a /a e/a e/a ą szł o pan/i FALSE FALSE FALSE on/a,on/a/jego/jej Formy z ukośnikiem TRUE on/a jego/jej niego/niej mu/jej go/ją nim/ą nim/ej y/a y/a ky/ka /a /a e/a e/a ą szł o pan/i FALSE FALSE FALSE

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

View File

@ -228,14 +228,13 @@ nouns:
- > - >
Dla rozwiązania tych problemów proponujemy trzy opcje, które {/ona/ich=nazwałośmy} analogicznie do feminatywów: Dla rozwiązania tych problemów proponujemy trzy opcje, które {/ona/ich=nazwałośmy} analogicznie do feminatywów:
{#neutratywy=<strong>neutratywami</strong>} (formy zgodne z rodzajem neutralnym), {/słowniki/neutratywy=<strong>neutratywami</strong>} (formy zgodne z rodzajem neutralnym),
{#dukatywy=<strong>dukatywami</strong>} (formy zgodne z dukaizmami) {/słowniki/dukatywy=<strong>dukatywami</strong>} (formy zgodne z dukaizmami)
i {#osobatywy=<strong>osobatywami</strong>} (formy neutralne, niewskazujące na płeć). i {/słowniki/osobatywy=<strong>osobatywami</strong>} (formy neutralne, niewskazujące na płeć).
personNouns: personNouns:
header: 'Osobatywy' header: 'Osobatywy'
label: 'osobatyw' label: 'osobatyw'
id: 'osobatywy'
info: info:
- > - >
Są to konstrukcje typu: „osoba” + imiesłów, „osoba” + przymiotnik, itp. Są to konstrukcje typu: „osoba” + imiesłów, „osoba” + przymiotnik, itp.
@ -245,7 +244,6 @@ nouns:
dukajNouns: dukajNouns:
header: 'Dukatywy' header: 'Dukatywy'
label: 'dukatyw' label: 'dukatyw'
id: 'dukatywy'
flag: flag:
alt: 'Flaga osób niebinarnych z naniesionym duszkiem krzyczącym „-łu”.' alt: 'Flaga osób niebinarnych z naniesionym duszkiem krzyczącym „-łu”.'
caption: 'Ze względu na końcówki „-łum”, „-łuś” i „-łu”, flaga dukazimów i dukatywów przedstawia duszka krzyczącego „łu!”.' caption: 'Ze względu na końcówki „-łum”, „-łuś” i „-łu”, flaga dukazimów i dukatywów przedstawia duszka krzyczącego „łu!”.'
@ -268,7 +266,6 @@ nouns:
neuterNouns: neuterNouns:
header: 'Neutratywy' header: 'Neutratywy'
label: 'neutratyw' label: 'neutratyw'
id: 'neutratywy'
flag: flag:
alt: 'Flaga osób niebinarnych z naniesionym łosiem trzymającym łom.' alt: 'Flaga osób niebinarnych z naniesionym łosiem trzymającym łom.'
caption: 'Ze względu na końcówki „-łom”, „-łoś” i „-ło”, flaga rodzaju neutralnego i neutratywów przedstawia łosia z łomem.' caption: 'Ze względu na końcówki „-łom”, „-łoś” i „-ło”, flaga rodzaju neutralnego i neutratywów przedstawia łosia z łomem.'
@ -330,7 +327,6 @@ nouns:
inclusive: inclusive:
header: 'Inkluzywność' header: 'Inkluzywność'
headerLong: 'Słownik inkluzywnego języka' headerLong: 'Słownik inkluzywnego języka'
id: 'inkluzywnosc'
insteadOf: 'Zamiast' insteadOf: 'Zamiast'
say: 'Lepiej mów' say: 'Lepiej mów'
because: 'Ponieważ' because: 'Ponieważ'
@ -349,7 +345,6 @@ nouns:
terms: terms:
header: 'Terminologia' header: 'Terminologia'
headerLong: 'Słownik terminologii queerowej' headerLong: 'Słownik terminologii queerowej'
id: 'terminologia'
info: info:
- > - >
Większość zwrotów i wyrażeń związanych ze środowiskiem LGBTQ+ Większość zwrotów i wyrażeń związanych ze środowiskiem LGBTQ+
@ -692,7 +687,7 @@ faq:
Na przykład: owszem, można pisać „kandydaci/tki”, co jest inkluzywne dla kobiet, Na przykład: owszem, można pisać „kandydaci/tki”, co jest inkluzywne dla kobiet,
wciąż jednak pomija osoby niebinarne. wciąż jednak pomija osoby niebinarne.
Jednym z popularnieszych normatywnych pomysłów na neutralne rzeczowniki Jednym z popularnieszych normatywnych pomysłów na neutralne rzeczowniki
(alternatywa dla {/słowniki=neutratywów}) (alternatywa dla {/słowniki/neutratywy=neutratywów})
są konstrukcje „osoba” + imiesłów lub „osoba” + przymiotnik. są konstrukcje „osoba” + imiesłów lub „osoba” + przymiotnik.
Zamiast „kandydaci” lub „kandydatki” możemy mówić „osoby kandydujące”. Zamiast „kandydaci” lub „kandydatki” możemy mówić „osoby kandydujące”.
{http://transfuzja.org/=Fundacja Trans-Fuzja} na przykład zamiast „prezesa” lub „prezeski” ma „osobę prezesującą”. {http://transfuzja.org/=Fundacja Trans-Fuzja} na przykład zamiast „prezesa” lub „prezeski” ma „osobę prezesującą”.
@ -854,7 +849,7 @@ english:
contact: contact:
header: 'Kontakt' header: 'Kontakt'
authors: '{/słowniki#autor=Autorza} strony' authors: '{/słowniki/neutratywy#autor=Autorza} strony'
team: team:
name: 'Kolektyw „Rada Języka Neutralnego”' name: 'Kolektyw „Rada Języka Neutralnego”'
description: description:

View File

@ -0,0 +1,6 @@
-- Up
ALTER TABLE terms ADD COLUMN category TEXT NULL DEFAULT NULL;
ALTER TABLE terms ADD COLUMN images TEXT NOT NULL DEFAULT '';
-- Down

View File

@ -149,6 +149,15 @@ export default {
if (config.nouns.enabled) { if (config.nouns.enabled) {
routes.push({ path: '/' + config.nouns.route, component: resolve(__dirname, 'routes/nouns.vue') }); routes.push({ path: '/' + config.nouns.route, component: resolve(__dirname, 'routes/nouns.vue') });
for (let subroute of config.nouns.subroutes || []) {
routes.push({ path: `/${config.nouns.route}/${subroute}`, component: resolve(__dirname, `data/nouns/${subroute}.vue`) });
}
if (config.nouns.inclusive.enabled) {
routes.push({path: `/${config.nouns.route}/${config.nouns.inclusive.route}`, component: resolve(__dirname, 'routes/inclusive.vue')});
}
if (config.nouns.terms.enabled) {
routes.push({path: `/${config.nouns.route}/${config.nouns.terms.route}`, component: resolve(__dirname, 'routes/queerTerms.vue')});
}
} }
if (config.names.enabled) { if (config.names.enabled) {

35
routes/inclusive.vue Normal file
View File

@ -0,0 +1,35 @@
<template>
<div>
<h2>
<Icon v="book-heart"/>
<T>nouns.inclusive.headerLong</T>
</h2>
<section>
<T>nouns.inclusive.info</T>
<Share :title="$t('nouns.inclusive.headerLong')"/>
</section>
<InclusiveDictionary load ref="inclusivedictionary"/>
</div>
</template>
<script>
import { head } from "../src/helpers";
import hash from "../plugins/hash";
export default {
mixins: [ hash ],
mounted() {
this.handleHash(this.config.nouns.inclusive.hashNamespace || '', filter => {
this.$refs.inclusivedictionary.setFilter(filter);
});
},
head() {
return head({
title: this.$t('nouns.inclusive.headerLong'),
description: this.$t('nouns.inclusive.info')[0],
});
},
}
</script>

35
routes/queerTerms.vue Normal file
View File

@ -0,0 +1,35 @@
<template>
<div>
<h2>
<Icon v="flag"/>
<T>nouns.terms.headerLong</T>
</h2>
<section>
<T>nouns.terms.info</T>
<Share :title="$t('nouns.terms.headerLong')"/>
</section>
<TermsDictionary load ref="termsdictionary"/>
</div>
</template>
<script>
import { head } from "../src/helpers";
import hash from "../plugins/hash";
export default {
mixins: [ hash ],
mounted() {
this.handleHash(this.config.nouns.terms.hashNamespace || '', filter => {
this.$refs.termsdictionary.setFilter(filter);
});
},
head() {
return head({
title: this.$t('nouns.terms.headerLong'),
description: this.$t('nouns.terms.info')[0],
});
},
}
</script>