locale(de): english page sie/:plural, die/:plural, er:sie; no pronouns

This commit is contained in:
Valentyne Stigloher 2025-09-20 22:30:26 +02:00
parent a2129f0be3
commit 45bf583a0e
2 changed files with 71 additions and 18 deletions

View File

@ -599,7 +599,9 @@ english:
many nonbinary people decide to simply use “he” ({/er=„er”}) or “she” ({/sie=„sie”})
either the same as their gender assigned at birth or the opposite.
That doesnt make them any less nonbinary! Pronouns ≠ gender.
table: { er: 'Masculine', sie: 'Feminine' }
table:
- { pronoun: 'er', description: 'Masculine' }
- { pronoun: 'sie', description: 'Feminine' }
-
name: 'Neutrative forms'
description:
@ -620,7 +622,9 @@ english:
Theres one more issue with neuter, though: it is neutral in nominative (the “who?”),
but in other cases (the “whose?”, “whom?”, etc.) if falls back to being identical to masculine forms.
Thats why some enbies mix multiple forms, for instance using feminine or plural forms in other cases.
table: { es: 'Neutrative', es/ihr: 'Neutrative with female declension' }
table:
- { pronoun: 'es', description: 'Neutrative' }
- { pronoun: 'es/ihr', description: 'Neutrative with female declension' }
-
name: 'Plural forms'
description:
@ -636,7 +640,26 @@ english:
Some enbies avoid this by using the plural article.
While also being the article of the feminine singular,
this has not the heavy connotation of being a feminine pronoun.
table: { die: 'Adjusted plural' }
table:
- { pronoun: 'sie/:plural', description: 'Normative plural' }
- { pronoun: 'die/:plural', description: 'Adjusted plural' }
- { pronoun: 'die', description: 'Adjusted plural as singular' }
-
name: 'No pronouns'
description:
- >
As in English, it is possible to ditch gendered language in case of pronouns and possessives
by just using the name.
- >
There are some forms that are not expressible that way, but most of the time
it can be easily circumvented.
- >
As German has its specials in grammar, names ending with s, x, z or ß
will not follow the rule to have a s for their possessives appended apostrophe,
but instead an apostrophe.
table:
- { pronoun: ':Toni' }
- { pronoun: ':Alex' }
-
name: 'Neopronouns similar to “they/them”'
description:
@ -647,7 +670,10 @@ english:
- >
However, it has some shortcomings with some lesser used forms which might need to be replaced
with our syntax constructs or resorting to a different pronoun set.
table: { they: 'English version', dey: 'Germanized version (A)', dey/denen/demm: 'Germanized version (B)' }
table:
- { pronoun: 'they', description: 'English version' }
- { pronoun: 'dey', description: 'Germanized version (A)' }
- { pronoun: 'dey/denen/demm', description: 'Germanized version (B)' }
-
name: 'Neopronouns with new stem'
description:
@ -657,7 +683,10 @@ english:
They differ in how many forms they cover, but all of them are suitable for basic conversations.
Some of them are even related to neutral noun convention,
covering nearly every aspect of gendering in German.
table: { en/em: '', nin: '', mensch: '' }
table:
- { pronoun: 'en/em' }
- { pronoun: 'nin' }
- { pronoun: 'mensch' }
-
name: 'Neopronouns by fusion'
description:
@ -665,7 +694,9 @@ english:
One can also take the two binary forms and fuse them together
to build the different forms.
They are pronounced differently to just chaining both normative forms.
table: { sier: '', xier: '' }
table:
- { pronoun: 'sier' }
- { pronoun: 'xier' }
-
name: 'Placeholder forms'
description:
@ -681,7 +712,10 @@ english:
even to listeners unfamiliar with the concept of nonbinary.
The main disadvantage is that in most cases they are only usable in writing,
while some forms are hard or impossible to pronounce.
table: { er*sie: '', er_sie: '' }
table:
- { pronoun: 'er:sie' }
- { pronoun: 'er*sie' }
- { pronoun: 'er_sie' }
-
name: 'Interchangeable forms'
description:

View File

@ -1,13 +1,27 @@
<script setup lang="ts">
import { buildPronoun } from '#shared/buildPronoun.ts';
import { capitalise } from '#shared/helpers.ts';
import { loadPronouns } from '~/src/data.ts';
defineProps<{
table: Record<string, string>;
interface TableRow {
pronoun: string;
description?: string;
}
const props = defineProps<{
table: TableRow[];
}>();
const { $translator: translator } = useNuxtApp();
const config = useConfig();
const pronouns = await loadPronouns(config);
const rows = computed(() => {
return props.table.map((row) => ({
...row,
pronoun: buildPronoun(pronouns, row.pronoun, config, translator)!,
}));
});
</script>
<template>
@ -23,25 +37,30 @@ const pronouns = await loadPronouns(config);
</tr>
</thead>
<tbody>
<tr v-for="(description, pronoun) in table">
<tr v-for="{ pronoun, description } of rows" :key="pronoun?.canonicalName">
<th>
<nuxt-link :to="`/${pronouns[pronoun].canonicalName}`">
{{ pronouns[pronoun].name() }}
<br v-if="description">
<small>{{ description }}</small>
<nuxt-link :to="`/${pronoun.canonicalName}`">
{{ pronoun.name() }}
<small v-if="description" class="d-block">{{ description }}</small>
</nuxt-link>
</th>
<td>
<strong>{{ capitalise(pronouns[pronoun].morphemes.pronoun_n ?? '') }}</strong> liest
<strong>{{ capitalise(pronoun.morphemes.pronoun_n ?? '') }}</strong>
<template v-if="pronoun.plural[0]">
lesen
</template>
<template v-else>
liest
</template>
</td>
<td>
Das ist <strong>{{ pronouns[pronoun].morphemes.possessive_determiner_f_n }}</strong> Katze
Das ist <strong>{{ pronoun.morphemes.possessive_determiner_f_n }}</strong> Katze
</td>
<td>
Ich spreche mit <strong>{{ pronouns[pronoun].morphemes.pronoun_d }}</strong>
Ich spreche mit <strong>{{ pronoun.morphemes.pronoun_d }}</strong>
</td>
<td>
Ich mag <strong>{{ pronouns[pronoun].morphemes.pronoun_a }}</strong>
Ich mag <strong>{{ pronoun.morphemes.pronoun_a }}</strong>
</td>
</tr>
</tbody>