mirror of
https://gitlab.com/PronounsPage/PronounsPage.git
synced 2025-09-22 03:57:47 -04:00
#44 [pl] zaimki znanych osób - wip
This commit is contained in:
parent
1b015a40b2
commit
9432ae78af
@ -39,8 +39,6 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { locales } from '../src/data';
|
||||
|
||||
export default {
|
||||
data() {
|
||||
const links = [];
|
||||
@ -62,6 +60,10 @@
|
||||
links.push({ link: '/' + this.config.links.route, icon: 'bookmark', text: this.$t('links.header'), textLong: this.$t('links.headerLong') });
|
||||
}
|
||||
|
||||
if (this.config.people.enabled) {
|
||||
links.push({ link: '/' + this.config.people.route, icon: 'user-friends', text: this.$t('people.header'), textLong: this.$t('people.headerLong') });
|
||||
}
|
||||
|
||||
if (this.config.english.enabled) {
|
||||
links.push({ link: '/' + this.config.english.route, icon: 'globe-americas', text: this.$t('english.header'), textLong: this.$t('english.headerLong') });
|
||||
}
|
||||
@ -72,7 +74,6 @@
|
||||
|
||||
return {
|
||||
links,
|
||||
locales,
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
|
@ -16,6 +16,9 @@ nouns:
|
||||
names:
|
||||
enabled: false
|
||||
|
||||
people:
|
||||
enabled: false
|
||||
|
||||
english:
|
||||
enabled: false
|
||||
|
||||
|
1
locale/en/people.tsv
Normal file
1
locale/en/people.tsv
Normal file
@ -0,0 +1 @@
|
||||
name description pronouns sources
|
|
@ -91,6 +91,10 @@ links:
|
||||
url: 'https://facebook.com/neutratywy'
|
||||
headline: '<strong>fb.com/neutratywy</strong> – „Słownik Neutratywów Języka Polskiego”'
|
||||
|
||||
people:
|
||||
enabled: false
|
||||
route: 'znane'
|
||||
|
||||
english:
|
||||
enabled: false
|
||||
route: 'english'
|
||||
|
4
locale/pl/people.tsv
Normal file
4
locale/pl/people.tsv
Normal file
@ -0,0 +1,4 @@
|
||||
name description pronouns sources
|
||||
R.B. Lemberg autorzy, poeci, redaktorzy en:they/them:they,pl:oni/ich:oni
|
||||
Margot Szutowicz polska aktywistka LGBTQ+ pl:ona/jej:ona margotWywiad,margot
|
||||
Bogi Takács węgiersku poetu, pisarzu, psycholingwistu, redaktoru, tłumaczu en:e/em:e,en:they/them:they,pl:onu/jenu:onu bogiperson,oTryptyku
|
Can't render this file because it has a wrong number of fields in line 2.
|
@ -174,6 +174,40 @@ links:
|
||||
|
||||
social: 'Social media'
|
||||
|
||||
people:
|
||||
header: 'Znane osoby'
|
||||
headerLong: 'Zaimki znanych osób'
|
||||
headerLonger: 'Zaimki znanych osób – ściąga dla prasy'
|
||||
description: 'Polska prasa często idzie na łatwiznę i opisuje osoby używające they/them jako po prostu „on” lub „ona”, wymazując tym samym ich niebinarną tożsamość. Stworzyłośmy zatem małą ściągawkę, kto używa jakich zaimków.'
|
||||
intro:
|
||||
- >
|
||||
Wiele osób dziennikarskich, stojąc przed wyzwaniem stworzenia materiału o osobie z zagranicy,
|
||||
która w innym języku używa form neutralnych (jak np. angielskie <em>they/them</em>),
|
||||
poddaje się i idzie na łatwiznę – zwyczajnie używając normatywnych form męskich lub żeńskich.
|
||||
Niestety, wymazuje to niebinarną część tożsamości tej osoby
|
||||
i przyczynia się do utrwalania szkodliwego błędnego mniemania,
|
||||
jakoby osoby niebinarne były tylko „kobietami-light” czy „mężczyznami-light”.
|
||||
- >
|
||||
Śpieszymy zatem z pomocą!
|
||||
{/ona/ich=Przygotowałośmy} {/english=anglojęzyczny przegląd polskich form neutralnych},
|
||||
w którym tłumaczymy różne opcje osobom nieznającym polskiego.
|
||||
{/ona/ich=Rozesłałośmy} go do paru znanych osób z pytaniem, czy mają preferencje,
|
||||
jak chciałyby być opisywane przez polskie media i polskie fandomy.
|
||||
Liczymy, że lista będzie się z czasem wydłużała.
|
||||
- >
|
||||
Póki co, {/ona/ich=zebrałośmy} tu raptem parę znanych osób niebinarnych.
|
||||
Co więc robić, jeśli danej osoby tutaj nie ma?
|
||||
Przede wszystkim, nie idź na łatwiznę i nie opisuj jej zaimkami, które <em>wydaje ci się</em>,
|
||||
że <em>„powinna”</em> używać ze względu na „męskie” czy „żeńskie” ciało.
|
||||
Niektórzy używają zamiennie na przykład „they” i „she”, wtedy żeńskie zaimki w polszczyźnie są na miejscu.
|
||||
W przciwnym wypadku zajrzyj na naszą [home] {/=stronę główną},
|
||||
gdzie opisujemy neutralne możliwości. Zapoznaj się z nimi i na tej podstawie dokonaj wyboru.
|
||||
Możesz też spróbować spytać bezpośrednio osobę zainteresowaną o jej preferencje
|
||||
– posiłkując się naszymi {/english=anglojęzycznymi materiałami}.
|
||||
languages:
|
||||
pl: 'Polskie zaimki'
|
||||
en: 'Angielskie zaimki'
|
||||
|
||||
english:
|
||||
header: 'English'
|
||||
headerLong: 'An overview in English'
|
||||
|
@ -108,6 +108,10 @@ export default {
|
||||
routes.push({ path: '/' + config.links.route, component: resolve(__dirname, 'routes/links.vue') });
|
||||
}
|
||||
|
||||
if (config.people.enabled) {
|
||||
routes.push({ path: '/' + config.people.route, component: resolve(__dirname, 'routes/people.vue') });
|
||||
}
|
||||
|
||||
if (config.english.enabled) {
|
||||
routes.push({ path: '/' + config.english.route, component: resolve(__dirname, 'routes/english.vue') });
|
||||
}
|
||||
|
@ -1,8 +1,10 @@
|
||||
import Vue from 'vue'
|
||||
import t from '../src/translator';
|
||||
import config from '../data/config.suml';
|
||||
import { locales } from '../src/data';
|
||||
|
||||
export default ({ app }) => {
|
||||
Vue.prototype.$t = t;
|
||||
Vue.prototype.config = config;
|
||||
Vue.prototype.locales = locales;
|
||||
}
|
||||
|
@ -35,8 +35,8 @@
|
||||
components: { EnglishTable },
|
||||
head() {
|
||||
return head({
|
||||
title: this.$t('english.headerLonger'),
|
||||
description: this.$t('english.description'),
|
||||
title: this.$t('people.headerLonger'),
|
||||
description: this.$t('people.description'),
|
||||
});
|
||||
},
|
||||
}
|
||||
|
63
routes/people.vue
Normal file
63
routes/people.vue
Normal file
@ -0,0 +1,63 @@
|
||||
<template>
|
||||
<div class="container">
|
||||
<h2>
|
||||
<Icon v="user-friends"/>
|
||||
<T>people.headerLonger</T>
|
||||
</h2>
|
||||
|
||||
<section>
|
||||
<T>people.intro</T>
|
||||
</section>
|
||||
|
||||
<ul class="list-group">
|
||||
<li v-for="person in people" class="list-group-item">
|
||||
<h3 class="h4">
|
||||
<strong>
|
||||
{{person.name}}
|
||||
</strong>
|
||||
</h3>
|
||||
<p>
|
||||
{{person.description}}
|
||||
</p>
|
||||
<ul class="mb-2">
|
||||
<li v-for="(pronouns, locale) in person.pronouns">
|
||||
<T>people.languages.{{locale}}</T>:
|
||||
<ul class="list-inline d-inline">
|
||||
<li v-for="pronoun in pronouns" class="list-inline-item">
|
||||
<a :href="`${locales[locale].url}/${pronoun.link}`" target="_blank" rel="noopener">
|
||||
<strong>{{pronoun.display}}</strong>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<ul v-if="person.sources.length" class="list-unstyled mt-3">
|
||||
<li v-for="source in person.sources">
|
||||
<Source :name="source"/>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<ScrollButton/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { people } from "~/src/data";
|
||||
import { head } from "../src/helpers";
|
||||
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
people,
|
||||
}
|
||||
},
|
||||
head() {
|
||||
return head({
|
||||
title: this.$t('english.headerLonger'),
|
||||
description: this.$t('english.description'),
|
||||
});
|
||||
},
|
||||
}
|
||||
</script>
|
@ -347,3 +347,20 @@ export class Name {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
export class Person {
|
||||
constructor(name, description, pronouns, sources = []) {
|
||||
this.name = name;
|
||||
this.description = description;
|
||||
this.pronouns = {};
|
||||
for (let p of pronouns) {
|
||||
const [language, display, link] = p.split(':');
|
||||
if (this.pronouns[language] === undefined) {
|
||||
this.pronouns[language] = [];
|
||||
}
|
||||
this.pronouns[language].push({display: display, link: link});
|
||||
}
|
||||
this.sources = sources;
|
||||
}
|
||||
}
|
||||
|
14
src/data.js
14
src/data.js
@ -1,4 +1,4 @@
|
||||
import { Source, Example, NounTemplate, TemplateGroup, TemplateLibrary, Name } from './classes'
|
||||
import { Source, Example, NounTemplate, TemplateGroup, TemplateLibrary, Name, Person } from './classes'
|
||||
import { buildDict, buildList } from './helpers';
|
||||
import { parseTemplates, getTemplate } from './buildTemplate';
|
||||
|
||||
@ -115,3 +115,15 @@ export const names = buildDict(function* () {
|
||||
)];
|
||||
}
|
||||
});
|
||||
|
||||
import peopleRaw from '../data/people.tsv';
|
||||
export const people = buildList(function* () {
|
||||
for (let p of peopleRaw) {
|
||||
yield new Person(
|
||||
p.name,
|
||||
p.description,
|
||||
p.pronouns.split(','),
|
||||
p.sources ? p.sources.split(',') : [],
|
||||
);
|
||||
}
|
||||
});
|
||||
|
Loading…
x
Reference in New Issue
Block a user