mirror of
https://gitlab.com/PronounsPage/PronounsPage.git
synced 2025-09-22 12:03:25 -04:00
#44 [pl] zaimki znanych osób - wip
This commit is contained in:
parent
1b015a40b2
commit
9432ae78af
@ -39,8 +39,6 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { locales } from '../src/data';
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
const links = [];
|
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') });
|
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) {
|
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') });
|
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 {
|
return {
|
||||||
links,
|
links,
|
||||||
locales,
|
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
@ -16,6 +16,9 @@ nouns:
|
|||||||
names:
|
names:
|
||||||
enabled: false
|
enabled: false
|
||||||
|
|
||||||
|
people:
|
||||||
|
enabled: false
|
||||||
|
|
||||||
english:
|
english:
|
||||||
enabled: false
|
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'
|
url: 'https://facebook.com/neutratywy'
|
||||||
headline: '<strong>fb.com/neutratywy</strong> – „Słownik Neutratywów Języka Polskiego”'
|
headline: '<strong>fb.com/neutratywy</strong> – „Słownik Neutratywów Języka Polskiego”'
|
||||||
|
|
||||||
|
people:
|
||||||
|
enabled: false
|
||||||
|
route: 'znane'
|
||||||
|
|
||||||
english:
|
english:
|
||||||
enabled: false
|
enabled: false
|
||||||
route: 'english'
|
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'
|
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:
|
english:
|
||||||
header: 'English'
|
header: 'English'
|
||||||
headerLong: 'An overview in English'
|
headerLong: 'An overview in English'
|
||||||
|
@ -108,6 +108,10 @@ export default {
|
|||||||
routes.push({ path: '/' + config.links.route, component: resolve(__dirname, 'routes/links.vue') });
|
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) {
|
if (config.english.enabled) {
|
||||||
routes.push({ path: '/' + config.english.route, component: resolve(__dirname, 'routes/english.vue') });
|
routes.push({ path: '/' + config.english.route, component: resolve(__dirname, 'routes/english.vue') });
|
||||||
}
|
}
|
||||||
|
@ -1,8 +1,10 @@
|
|||||||
import Vue from 'vue'
|
import Vue from 'vue'
|
||||||
import t from '../src/translator';
|
import t from '../src/translator';
|
||||||
import config from '../data/config.suml';
|
import config from '../data/config.suml';
|
||||||
|
import { locales } from '../src/data';
|
||||||
|
|
||||||
export default ({ app }) => {
|
export default ({ app }) => {
|
||||||
Vue.prototype.$t = t;
|
Vue.prototype.$t = t;
|
||||||
Vue.prototype.config = config;
|
Vue.prototype.config = config;
|
||||||
|
Vue.prototype.locales = locales;
|
||||||
}
|
}
|
||||||
|
@ -35,8 +35,8 @@
|
|||||||
components: { EnglishTable },
|
components: { EnglishTable },
|
||||||
head() {
|
head() {
|
||||||
return head({
|
return head({
|
||||||
title: this.$t('english.headerLonger'),
|
title: this.$t('people.headerLonger'),
|
||||||
description: this.$t('english.description'),
|
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;
|
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 { buildDict, buildList } from './helpers';
|
||||||
import { parseTemplates, getTemplate } from './buildTemplate';
|
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