#115 [pl] formy omijające płeć

This commit is contained in:
Avris 2020-11-29 11:03:01 +01:00
parent e07d90fca4
commit fd6b584b49
19 changed files with 108 additions and 14 deletions

View File

@ -62,7 +62,7 @@
icon: 'home',
text: this.$t('home.header'),
textLong: this.$t('home.headerLong'),
extra: ['all', '/' + this.config.pronouns.any],
extra: ['all', '/' + this.config.pronouns.any, this.config.pronouns.avoiding ? '/' + this.config.pronouns.avoiding : null ],
});
if (this.config.sources.enabled) {

View File

@ -1,5 +1,5 @@
<template>
<div class="container">
<div>
<h2>
<Icon v="person-dolly-empty"/>
<T>notFound.message</T>

View File

@ -5,7 +5,7 @@
<Nuxt/>
<ScrollButton/>
</div>
<div class="container">
<div>
<Footer/>
</div>
<Confirm ref="confirm"/>

View File

@ -34,6 +34,7 @@ pronouns:
reflexive: '#self'
examples: ['💫', '💙']
template: 'Open one of the examples and simply replace the emoji in the URL with your own.'
avoiding: false
others: 'Other pronouns'
pronunciation:

View File

@ -14,6 +14,7 @@ pronouns:
examples: ['on&ona', 'on&ono', 'ona&ono', 'on&onu', 'ona&onu', 'ono/jego&ono/jej']
emoji: false
null: false
avoiding: 'unikanie'
others: 'Inne formy'
pronunciation:

View File

@ -68,6 +68,53 @@ pronouns:
Choć dla wielu osób niezmiernie ważne jest, by używać wobec nich konkretnych zaimków,
innym nie przeszkadza zwracanie się w dowolny sposób o ile wiadomo z kontekstu, że to o nich mowa.
options: 'przejrzyj listę możliwości [share]{/=tutaj}.'
avoiding:
header: 'Unikanie form nacechowanych płciowo'
description: >
Niektóre osoby niebinarne preferują używanie form unikających precyzowania płci
zamiast tych nacechowanych czy to binarnie czy niebinarnie.
Warto też używać ich mówiąc o osobach, których płci nie znamy.
Choć w silnie zgenderyzowanym języku polskim jest to względnie trudne do zrobienia
i może lekko zmieniać znaczenie zdania,
to jednak wcale nie jest niemożliwe.
ideas:
-
header: 'Zmiana podmiotu zdania'
examples:
- ['usłyszałam dzwonek telefonu', 'zadzwonił telefon']
- ['przestraszyłem się nagłego hałasu', 'jakiś nagły hałas mnie przestraszył']
-
header: 'Strona bierna'
examples:
- ['przypomniałem sobie', 'przypomniało mi się']
- ['zmarzłam', 'zrobiło mi się zimno']
- ['pani w urzędzie powiedziała mi', 'w urzędzie powiedziano mi']
-
header: 'Bezokolicznikowy czas przyszły'
examples:
- ['będę robiła', 'będę robić']
- ['będę jadł', 'będę jeść']
-
header: 'Czas teraźniejszy i przyszły zamiast przeszłego'
examples:
- ['gdy robiłem wczoraj obiad, skaleczyłem się nożem', 'robię wczoraj obiad i jak się nie skaleczę']
-
header: 'Imiesłowy'
examples:
- ['usiadłem na kanapie', 'usiadłszy na kanapie']
- ['wypiłam herbatę', 'wypiwszy herbatę']
-
header: 'Osobatywy i inne normatywne neutralne rzeczowniki'
examples:
- ['zarządca', 'osoba zarządzająca']
- ['kandydaci i kandydatki', 'osoby kandydujące']
- ['proszę przyjść do szkoły z mamą lub tatą', 'proszę przyjść do szkoły z rodzicem']
-
header: 'Staropolska, rzeczownikowa odmiana przymiotników'
examples:
- ['jestem szczęśliwa!', 'jestem szczęśliw!']
- ['czemu jesteś taki zmartwiony?', 'czemu jesteś tak zmartwion?']
others: 'Inne formy'
othersRaw: 'inne'
or: 'lub'

View File

@ -179,6 +179,9 @@ export default {
if (config.pronouns.enabled) {
routes.push({ path: '/' + config.pronouns.any, component: resolve(__dirname, 'routes/any.vue') });
if (config.pronouns.avoiding) {
routes.push({ path: '/' + config.pronouns.avoiding, component: resolve(__dirname, 'routes/avoiding.vue') });
}
}
routes.push({ path: '/api', component: resolve(__dirname, 'routes/api.vue') });

View File

@ -1,5 +1,5 @@
<template>
<div class="container">
<div>
<h2>
<Icon v="tag"/>
<T>pronouns.intro</T>:

32
routes/avoiding.vue Normal file
View File

@ -0,0 +1,32 @@
<template>
<div>
<h2>
<T>pronouns.avoiding.header</T>
</h2>
<p>
<T>pronouns.avoiding.description</T>
</p>
<section v-for="idea in $t('pronouns.avoiding.ideas')">
<h3>{{idea.header}}</h3>
<ul>
<li v-for="[exampleFrom, exampleTo] in idea.examples">
{{exampleFrom}} <strong>{{exampleTo}}</strong>
</li>
</ul>
</section>
</div>
</template>
<script>
import { head } from "../src/helpers";
export default {
head() {
return head({
title: this.$t('pronouns.avoiding.header'),
});
},
};
</script>

View File

@ -11,7 +11,7 @@
export default {
async asyncData({route}) {
try {
const content = (await import(`../locale/pl/blog/${route.params.slug}.md`)).default;
const content = (await import(`../data/blog/${route.params.slug}.md`)).default;
const titleMatch = content.match('<h1[^>]*>([^<]+)</h1>');
const title = titleMatch ? titleMatch[1] : null;
const imgMatch = content.match('<img src="([^"]+)"[^>]*>');
@ -23,7 +23,9 @@
img,
}
} catch {
return {};
return {
content: null,
};
}
},
head() {

View File

@ -1,5 +1,5 @@
<template>
<div class="container">
<div>
<h2>
<Icon v="globe-americas"/>
<T>english.headerLonger</T>

View File

@ -1,5 +1,5 @@
<template>
<div class="container">
<div>
<h2>
<Icon v="map-marker-question"/>
<T>faq.headerLong</T>

View File

@ -192,6 +192,14 @@
<T>pronouns.any.description</T>
</p>
</li>
<li v-if="config.pronouns.avoiding" class="list-group-item">
<p class="h5">
<nuxt-link :to="'/' + config.pronouns.avoiding"><T>pronouns.avoiding.header</T></nuxt-link>
</p>
<p>
<T>pronouns.avoiding.description</T>
</p>
</li>
</ul>
</section>

View File

@ -1,5 +1,5 @@
<template>
<div class="container">
<div>
<Links top/>
<Media/>
<Socials/>

View File

@ -1,5 +1,5 @@
<template>
<div class="container">
<div>
<h2>
<Icon v="signature"/>
<T>names.headerLong</T>

View File

@ -1,5 +1,5 @@
<template>
<div class="container">
<div>
<h2>
<Icon v="user-friends"/>
<T>people.headerLonger</T>

View File

@ -1,6 +1,6 @@
<template>
<NotFound v-if="!selectedPronoun"/>
<div v-else class="container">
<div v-else>
<h2>
<Icon v="tag"/>
<T>pronouns.intro</T>:

View File

@ -1,5 +1,5 @@
<template>
<div class="container">
<div>
<h2>
<Icon v="books"/>
<T>sources.headerLonger</T>

View File

@ -1,5 +1,5 @@
<template>
<div class="container">
<div>
<h2>
<Icon v="user"/>
<T>user.headerLong</T>