mirror of
https://gitlab.com/PronounsPage/PronounsPage.git
synced 2025-09-27 06:52:35 -04:00

the #shared alias used by Nuxt cannot be easily disabled and to prevent breackage with jiti, we make use of it
425 lines
12 KiB
Vue
425 lines
12 KiB
Vue
<script setup lang="ts">
|
|
import { useNuxtApp } from 'nuxt/app';
|
|
|
|
import NounsNav from './NounsNav.vue';
|
|
|
|
import { removeSuffix } from '#shared/helpers.ts';
|
|
import { numeri, symbolsByNumeri } from '#shared/nouns.ts';
|
|
import type { NounDeclension } from '#shared/nouns.ts';
|
|
import useSimpleHead from '~/composables/useSimpleHead.ts';
|
|
|
|
definePageMeta({
|
|
translatedPaths: (config) => translatedPathForSingleLocale(config, 'pl', 'neutratywy'),
|
|
});
|
|
|
|
const { $translator: translator } = useNuxtApp();
|
|
const config = useConfig();
|
|
|
|
useSimpleHead({
|
|
title: translator.translate('nouns.neuterNouns.header'),
|
|
banner: `img/${config.locale}/flags/łoś.jpg`,
|
|
description: translator.translate('nouns.neuterNouns.info')[0],
|
|
}, translator);
|
|
|
|
const neuterExtendedDeclension: NounDeclension = {
|
|
singular: {
|
|
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'],
|
|
},
|
|
plural: {
|
|
m: ['te kosmiczne twórcza'],
|
|
d: ['tych kosmicznych twórczy'],
|
|
c: ['tym kosmicznym twórczom'],
|
|
b: ['te kosmiczne twórcza'],
|
|
n: ['tymi kosmicznymi twórczami'],
|
|
msc: ['tych kosmicznych twórczach'],
|
|
w: ['te kosmiczne twórcza'],
|
|
},
|
|
};
|
|
const neuterAltDeclensionTemplates = [
|
|
['ono/jego'], // , 'vono/vego', 'ono/jejgo'],
|
|
['ono/jej'],
|
|
['ono/jeno'],
|
|
['ono/jenu'],
|
|
];
|
|
const neuterAltDeclension: Record<string, NounDeclension[]> = {
|
|
księgowe: [
|
|
{
|
|
singular: {
|
|
m: ['owe'],
|
|
d: ['owego'],
|
|
c: ['owemu'],
|
|
b: ['owe'],
|
|
msc: ['owem', 'owym'],
|
|
w: ['owem', 'owym'],
|
|
},
|
|
},
|
|
{
|
|
singular: {
|
|
m: ['owe'],
|
|
d: ['owej'],
|
|
c: ['owej'],
|
|
b: ['owe'],
|
|
msc: ['ową'],
|
|
w: ['owej'],
|
|
},
|
|
},
|
|
{
|
|
singular: {
|
|
m: ['owe'],
|
|
d: ['oweno'],
|
|
c: ['owenu'],
|
|
b: ['owe', 'oweno'],
|
|
msc: ['owem'],
|
|
w: ['owem'],
|
|
},
|
|
},
|
|
{
|
|
singular: {
|
|
m: ['owe'],
|
|
d: ['owu'],
|
|
c: ['owenu'],
|
|
b: ['owe'],
|
|
msc: ['owum'],
|
|
w: ['owum'],
|
|
},
|
|
},
|
|
],
|
|
pracownicze: [
|
|
{
|
|
singular: {
|
|
m: ['cze'],
|
|
d: ['cza'],
|
|
c: ['czu'],
|
|
b: ['cze'],
|
|
msc: ['czem'],
|
|
w: ['czu'],
|
|
},
|
|
},
|
|
{
|
|
singular: {
|
|
m: ['cze'],
|
|
d: ['czy'],
|
|
c: ['czy'],
|
|
b: ['czę'],
|
|
msc: ['czą'],
|
|
w: ['czy'],
|
|
},
|
|
},
|
|
{
|
|
singular: {
|
|
m: ['cze'],
|
|
d: ['cza'],
|
|
c: ['czu'],
|
|
b: ['cze'],
|
|
msc: ['czem'],
|
|
w: ['czu'],
|
|
},
|
|
},
|
|
{
|
|
singular: {
|
|
m: ['cze'],
|
|
d: ['ku'],
|
|
c: ['ku'],
|
|
b: ['cze'],
|
|
msc: ['kum'],
|
|
w: ['kum'],
|
|
},
|
|
},
|
|
],
|
|
kochanie: [
|
|
{
|
|
singular: {
|
|
m: ['nie'],
|
|
d: ['nia'],
|
|
c: ['niu'],
|
|
b: ['nie'],
|
|
msc: ['niem'],
|
|
w: ['niu'],
|
|
},
|
|
},
|
|
{
|
|
singular: {
|
|
m: ['nie'],
|
|
d: ['ni'],
|
|
c: ['ni'],
|
|
b: ['nię'],
|
|
msc: ['nią'],
|
|
w: ['ni'],
|
|
},
|
|
},
|
|
{
|
|
singular: {
|
|
m: ['nie'],
|
|
d: ['nia'],
|
|
c: ['niu'],
|
|
b: ['nie'],
|
|
msc: ['niem'],
|
|
w: ['niu'],
|
|
},
|
|
},
|
|
{
|
|
singular: {
|
|
m: ['nie'],
|
|
d: ['niu'],
|
|
c: ['niu'],
|
|
b: ['nie'],
|
|
msc: ['nium'],
|
|
w: ['nium'],
|
|
},
|
|
},
|
|
],
|
|
wnuczę: [
|
|
{
|
|
singular: {
|
|
m: ['czę'],
|
|
d: ['częcia'],
|
|
c: ['częciu'],
|
|
b: ['czę'],
|
|
msc: ['częciem'],
|
|
w: ['częciu'],
|
|
},
|
|
},
|
|
{
|
|
singular: {
|
|
m: ['czę'],
|
|
d: ['częty'],
|
|
c: ['częcie'],
|
|
b: ['czętę'],
|
|
msc: ['czętą'],
|
|
w: ['częcie'],
|
|
},
|
|
},
|
|
{
|
|
singular: {
|
|
m: ['czę'],
|
|
d: ['częcia'],
|
|
c: ['częciu'],
|
|
b: ['czę'],
|
|
msc: ['częciem'],
|
|
w: ['częciu'],
|
|
},
|
|
},
|
|
{
|
|
singular: {
|
|
m: ['czę'],
|
|
d: ['czu'],
|
|
c: ['czu'],
|
|
b: ['czę'],
|
|
msc: ['czum'],
|
|
w: ['czum'],
|
|
},
|
|
},
|
|
],
|
|
Polko: [
|
|
{
|
|
singular: {
|
|
m: ['ko'],
|
|
d: ['ka'],
|
|
c: ['ku'],
|
|
b: ['ko'],
|
|
msc: ['kiem'],
|
|
w: ['ku'],
|
|
},
|
|
},
|
|
{
|
|
singular: {
|
|
m: ['ko'],
|
|
d: ['ki'],
|
|
c: ['ce'],
|
|
b: ['ko'],
|
|
msc: ['ką'],
|
|
w: ['ce'],
|
|
},
|
|
},
|
|
{
|
|
singular: {
|
|
m: ['ko'],
|
|
d: ['ka'],
|
|
c: ['ku'],
|
|
b: ['ko'],
|
|
msc: ['kiem'],
|
|
w: ['ku'],
|
|
},
|
|
},
|
|
{
|
|
singular: {
|
|
m: ['ko'],
|
|
d: ['ku'],
|
|
c: ['ku'],
|
|
b: ['ko'],
|
|
msc: ['kum'],
|
|
w: ['kum'],
|
|
},
|
|
},
|
|
],
|
|
kociaro: [
|
|
{
|
|
singular: {
|
|
m: ['ro'],
|
|
d: ['ra'],
|
|
c: ['rzu'],
|
|
b: ['ro'],
|
|
msc: ['rem'],
|
|
w: ['rzu'],
|
|
},
|
|
},
|
|
{
|
|
singular: {
|
|
m: ['ro'],
|
|
d: ['ry'],
|
|
c: ['rze'],
|
|
b: ['rę'],
|
|
msc: ['rą'],
|
|
w: ['rze'],
|
|
},
|
|
},
|
|
{
|
|
singular: {
|
|
m: ['ro'],
|
|
d: ['ra'],
|
|
c: ['rzu'],
|
|
b: ['ro'],
|
|
msc: ['rem'],
|
|
w: ['rzu'],
|
|
},
|
|
},
|
|
{
|
|
singular: {
|
|
m: ['ro'],
|
|
d: ['ru'],
|
|
c: ['ru'],
|
|
b: ['ro'],
|
|
msc: ['rum'],
|
|
w: ['rum'],
|
|
},
|
|
},
|
|
],
|
|
};
|
|
</script>
|
|
|
|
<template>
|
|
<Page>
|
|
<NounsNav />
|
|
|
|
<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>
|
|
<CensusStat type="nouns" item="neutratywy" colour="info" />
|
|
<Share :title="$t('nouns.neuterNouns.header')" />
|
|
</div>
|
|
<figure>
|
|
<img src="/img/pl/flags/neutratywy.svg" :alt="$t('nouns.neuterNouns.flag.alt')">
|
|
<figcaption><T>nouns.neuterNouns.flag.caption</T></figcaption>
|
|
|
|
<details class="small mt-3">
|
|
<summary>
|
|
<Icon v="user-friends" />
|
|
Autorstwo
|
|
</summary>
|
|
<ul>
|
|
<li>Oryginalny projekt: <nuxt-link to="/@ausir">@ausir</nuxt-link></li>
|
|
<li>Pomysł redesignu: <nuxt-link to="/@Śreżoga">@Śreżoga</nuxt-link></li>
|
|
<li>Realizacja redesignu: <nuxt-link to="/@andrea">@andrea</nuxt-link></li>
|
|
<li>Flaga osób niebinarych <a href="https://commons.wikimedia.org/wiki/File:Nonbinary_flag.svg" target="_blank" rel="noopener">Kye Rowan</a> (public domain)</li>
|
|
<li>Wektor łosia: <a href="https://commons.wikimedia.org/wiki/File:Coat_of_arms_of_Ontario,_Canada.svg" target="_blank" rel="noopener">Herb Ontario</a> (public domain)</li>
|
|
<li>Wektor łoma: <a href="https://www.vecteezy.com/free-vector/crowbar" target="_blank" rel="noopener">Vecteezy</a></li>
|
|
</ul>
|
|
</details>
|
|
</figure>
|
|
</div>
|
|
|
|
<section>
|
|
<BlogEntriesList :posts="['etymologia-odmiana-neutratywów', 'neutratywy-zdrobnienia']" />
|
|
</section>
|
|
|
|
<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 v-for="numerus of numeri" :key="numerus" class="p-3">
|
|
<h5>{{ symbolsByNumeri[numerus] }} <T>nouns.{{ numerus }}</T></h5>
|
|
<NounsDeclension :word="{ spelling: '', declension: neuterExtendedDeclension }" :numerus />
|
|
</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, spelling) in neuterAltDeclension" :key="spelling">
|
|
<td v-for="declension in declensions">
|
|
<NounsDeclension :word="{ spelling: removeSuffix(spelling, declension.singular!.m[0]), declension }" condense />
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</details>
|
|
|
|
<Separator icon="atom-alt" />
|
|
|
|
<NounsDictionary load />
|
|
</Page>
|
|
</template>
|
|
|
|
<style lang="scss" scoped>
|
|
@import "../../../app/assets/variables";
|
|
|
|
figure {
|
|
width: 100%;
|
|
max-width: 24rem;
|
|
padding: $spacer;
|
|
img {
|
|
width: 100%;
|
|
}
|
|
figcaption {
|
|
font-size: $small-font-size;
|
|
}
|
|
}
|
|
@include media-breakpoint-up('md') {
|
|
figure {
|
|
min-width: 20rem;
|
|
}
|
|
}
|
|
</style>
|