Merge remote-tracking branch 'origin/main'

This commit is contained in:
Andrea Vos 2024-01-10 20:39:45 +01:00
commit ea4fb418d5
6 changed files with 48 additions and 197 deletions

View File

@ -1,27 +1,31 @@
<template> <template>
<div <div>
:class="['uploader-container', form ? 'form-control p-2' : classes, drag ? 'drag' : '']"
@dragover="drag=true" @dragleave="drag=false"
>
<input type="file" <input type="file"
:id="id"
:name="name + (multiple ? '[]' : '')" :name="name + (multiple ? '[]' : '')"
:multiple="multiple" :multiple="multiple"
:disabled="uploading" :disabled="uploading"
@change="filesChange($event.target.name, $event.target.files)" @change="filesChange($event.target.name, $event.target.files)"
:accept="mime"/> :accept="mime"/>
<p v-if="errorMessage" class="text-danger mb-0"> <label
<Icon v="exclamation-circle"/> :for="id"
<T>{{errorMessage}}</T> :class="['uploader-container', form ? 'form-control p-2' : classes, drag ? 'drag' : '']"
</p> @dragover="drag=true" @dragleave="drag=false"
<p v-else-if="uploading" class="mb-0"> >
<Spinner/> <p v-if="errorMessage" class="text-danger mb-0">
</p> <Icon v="exclamation-circle"/>
<p v-else class="mb-0"> <T>{{errorMessage}}</T>
<slot> </p>
<Icon v="upload"/> <p v-else-if="uploading" class="mb-0">
<T>images.upload.instructionShort</T> <Spinner/>
</slot> </p>
</p> <p v-else class="mb-0">
<slot>
<Icon v="upload"/>
<T>images.upload.instructionShort</T>
</slot>
</p>
</label>
</div> </div>
</template> </template>
@ -40,6 +44,7 @@
uploading: false, uploading: false,
drag: false, drag: false,
errorMessage: '', errorMessage: '',
id: `upload-${this.name}`,
} }
}, },
methods: { methods: {
@ -87,12 +92,6 @@
} }
input[type="file"] { input[type="file"] {
opacity: 0; display: none;
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
cursor: pointer;
} }
</style> </style>

View File

@ -114,8 +114,6 @@ profile:
- -
header: ~ header: ~
values: [] values: []
flags:
defaultPronoun: 'ona'
longNames: true longNames: true
calendar: calendar:

View File

@ -1,5 +1 @@
key description normative pronoun plural pluralHonorific pronounceable history thirdForm smallForm sourcesInfo key description normative pronoun plural pluralHonorific pronounceable history thirdForm smallForm sourcesInfo
ona FALSE ona FALSE FALSE TRUE
jan ni FALSE jan ni FALSE FALSE TRUE
jan Sonja FALSE jan Sonja FALSE FALSE TRUE
mama sama Mawijo FALSE mama sama Mawijo FALSE FALSE TRUE

Can't render this file because it has a wrong number of fields in line 2.

View File

@ -4,8 +4,6 @@ description: 'Usage examples of personal pronouns and gender neutral language.'
home: home:
link: 'lipu open' link: 'lipu open'
header: 'Pronouns'
headerLong: 'List of pronouns'
welcome: 'lipu nimi la kama pona' welcome: 'lipu nimi la kama pona'
intro: > intro: >
lipu ni li pana e nimi wile jan e sona tonsi. lipu ni li pana e nimi wile jan e sona tonsi.
@ -16,16 +14,6 @@ home:
- > - >
ilo ni la sina ken pana e nimi sina tawa lipu. ilo ni la sina ken pana e nimi sina tawa lipu.
lipu la ale li ken sona e ni: ona o toki e sina kepeken nimi seme? lipu la ale li ken sona e ni: ona o toki e sina kepeken nimi seme?
pronouns: 'nasin nimi jan mute'
generator:
header: 'ilo nimi'
description: >
sina pana e nimi tawa ni la ilo li toki e jan kepeken nimi ni.
button: 'Show the generator'
header2: 'Generate a link'
base: 'Based on'
alt: 'You can also enter interchangeable forms in each field separately, eg. <code>him&her</code> = “him” or “her”.'
pronunciation: 'You can also specify the pronunciation after a pipe character, using IPA, eg. <code>faerself|fɛɹsɛlf</code> = “faerself” pronounced as /fɛɹsɛlf/.'
whatisit: 'ni li suli tan seme?' whatisit: 'ni li suli tan seme?'
mission: mission:
header: 'wile mi' header: 'wile mi'
@ -42,151 +30,10 @@ home:
ken la mi toki e nasin jan e jan wan ala. ken la mi toki e nasin jan e jan wan ala.
nimi o pona lon ni kin. nimi o pona lon ni kin.
pronouns:
header: 'nimi'
headerLong: 'nimi jan'
examples: 'o kepeken lon toki sama ni'
plural: 'Plural'
intro: 'nimi mi li'
normative: 'Normative'
alt:
button: 'Generate a link to interchangeable forms'
header: 'Interchangeable forms'
raw: 'interchangeable'
generated: 'Those pronouns have been created using a generator. The team of pronouns.page is not responsible for it.'
any:
header: 'Any pronouns'
short: 'any'
description: >
Even though for many people it's incredibly important that people use specific pronouns to talk about them,
others don't mind being addressed in any way as long as the context is clear as to who one talks about.
options: 'check out the options [share]{/pronouns=here}.'
others: 'Other forms'
othersRaw: 'other'
or: 'or'
grammarTable: 'Table'
sources:
header: 'Sources'
headerLong: 'Examples from cultural texts'
headerLonger: 'Nonbinary and gender neutral language in cultural texts'
subheader: 'Text corpus of nonbinary and gender neutral language'
toc: 'Show table of contents'
type:
All: 'All'
Book: 'Books'
Article: 'Articles'
Movie: 'Movies'
Series: 'Series'
Song: 'Music'
Poetry: 'Poetry'
Comics: 'Comics'
Game: 'Game'
Other: 'Other'
submit:
header: 'Submit an example to be added'
action: 'Submit'
pronouns: 'Which pronouns have been used?'
pronounsInfo: 'Enter the simplest form of the pronoun, the way it''s in the link, np. “they”, “e/em/es”, “he&she”'
type: 'Source type'
author: 'Author'
title: 'Title'
extra: 'Additional info (translator, name of journal, …)'
year: 'Release year (of the English version)'
fragments: 'Fragments'
fragmentsInfo: 'You can mark the relevant pronouns using square brackets: “Then \[\[they]] saw how \[\[they]] did all of that to \[\[themselves]].”'
comment: 'Comment'
link: 'Link to the content'
thanks: 'Thanks for contributing!'
another: 'Submit another one'
moderation: 'Submissions will have to get approved before getting published.'
key: 'Key'
keyInfo: 'Identifier for linking sources between language versions and linking with the dictionary'
images: 'Images'
spoiler: 'Spoiler'
otherVersions: 'In other languages'
referenced: 'Examples of use'
nouns:
header: 'Dictionary'
headerLong: 'Dictionary of neutral nouns'
headerLonger: 'Dictionary of gender neutral language'
description: 'It''s not just pronouns! Check out our dictionary of gender neutral nouns.'
intro:
- >
Inclusive and gender neutral is not just respecting someone's pronouns.
It's also describing their job, position, relationship etc.
in a way that doesn't assume their gender.
Not all firefighters are “firemen”. Not every spouse is a “husband” or a “wife”.
- >
When referring to someone whose gender you don't know,
to a group of people of mixed gender,
and especially to nonbinary people who explicitly prefer them,
use the neutral forms.
- >
Below we present a dictionary of the words to watch out for.
You can contribute to it and add your suggestions.
- >
Keep in mind that it's a dictionary of <em>ideas, proposals</em>.
Not all quoted forms will make sense in every context, not all are <em>fully</em> gender neutral
(but they're used by some nonbinary people to express themselves outside of the gender binary),
and not every word here can be used for any given nonbinary person just ask what they prefer to be called.
approved: 'approved entries'
pending: 'awaiting moderation'
edit: 'Propose a change'
edited: 'Proposed change of'
editing: 'You''re editing an existing entry'
empty: 'No words found that match your criteria.'
submit:
action: 'Submit'
actionLong: 'Submit a word'
thanks: 'Thank you for contributing!'
another: 'Submit another one'
moderation: 'Submissions will have to get approved before getting published.'
template: 'Use a template'
root: 'Root'
masculine: 'masculine'
masculineShort: 'masc.'
feminine: 'feminine'
feminineShort: 'fem.'
neuter: 'neutral'
neuterShort: 'neutr.'
singular: 'singular'
singularShort: 'sing.'
plural: 'plural'
pluralShort: 'pl.'
image: 'Picture'
community: community:
header: 'kulupu' header: 'kulupu'
headerLong: 'kulupu tonsi' headerLong: 'kulupu tonsi'
terminology:
header: 'Terminology'
headerLong: 'Dictionary of queer terminology'
info:
- >
Many of the terms and phrases related to the LGBTQ+ community
are used as English inserts into <your language> texts.
We'd like to present a glossary of those terms, describe their meaning,
and propose their <your language> translations.
- >
Keep in mind that identity labels are inherently subjective and flexible.
This dictionary is a community effort to find the most widely accepted definitions of queer terms,
but shouldn't be treated as any kind of authority on the subject.
The only authority on someone's identity and what words best describe it is… that person themself.
term: 'Term'
original: 'Etymology'
category: 'Category'
images: 'Additional images, from outside the flag catalogue'
definition: 'Definition'
faq: faq:
header: 'sona' header: 'sona'
headerLong: 'sona pi nasin nimi jan' headerLong: 'sona pi nasin nimi jan'
@ -197,7 +44,7 @@ faq:
- > - >
mi ante e toki la mi ante mute e nasin ilo kin. mi weka e ni: lipu li wile toki e kule mute pi nimi "ona". nasin lipu li kama ni: sina ken toki e nimi sina. mi ante e toki la mi ante mute e nasin ilo kin. mi weka e ni: lipu li wile toki e kule mute pi nimi "ona". nasin lipu li kama ni: sina ken toki e nimi sina.
flags: flags:
question: 'o pana e sitelen kule ni! o weka e sitelen kule ni!' question: 'kulupu pali o! o pana e sitelen kule ni! o weka e sitelen kule ni!'
answer: answer:
- > - >
mu: mu:
@ -453,7 +300,7 @@ profile:
publishArea: 'lipu la ma suli sina o lon' publishArea: 'lipu la ma suli sina o lon'
publishLocation: 'lipu la poka sina o lon' publishLocation: 'lipu la poka sina o lon'
time: 'mi la tenpo ni li %time% lon tenpo suno %weekday%' time: 'mi la tenpo ni li %time% lon tenpo suno %weekday%'
approximate: 'It''s just an approximate location' approximate: 'ni li ma poka suli taso'
areas: areas:
Africa: 'ma Apika' Africa: 'ma Apika'
America: 'ma Mewika' America: 'ma Mewika'
@ -465,12 +312,12 @@ profile:
Europe: 'ma Elopa' Europe: 'ma Elopa'
Indian: 'ma Palata' Indian: 'ma Palata'
Pacific: 'telo Pasipi' Pacific: 'telo Pasipi'
flags: 'Flags' flags: 'sitelen kule'
flagsInfo: 'Drag & drop your pride flags into this frame.' flagsInfo: 'o tawa e sitelen pi wile sina tawa poki ni.'
flagsCustom: 'Upload custom flags' flagsCustom: 'Upload custom flags'
flagsCustomWarning: 'This flag has been uploaded by a user. The team of pronouns.page is not responsible for it.' flagsCustomWarning: 'This flag has been uploaded by a user. The team of pronouns.page is not responsible for it.'
flagsAsterisk: 'This is not a queer identity, but we include it for people who are queer in other ways (eg. straight trans people).' flagsAsterisk: 'nasin ni li nasa ala, taso sitelen ona li lon tan ni: ken la jan li nasa lon ijo ante li nasa ala lon ni, sama ni: jan meli li olin mije li tonsi.'
links: 'Links' links: 'lipu ante'
linksRecommended: 'We recommend linking to' linksRecommended: 'We recommend linking to'
column: 'Column' column: 'Column'
opinions: opinions:
@ -553,6 +400,10 @@ profile:
removeSelf: removeSelf:
action: 'o weka e mi' action: 'o weka e mi'
confirm: 'sina wile ala wile weka a e sina tan kulupu pi jan @%username%?' confirm: 'sina wile ala wile weka a e sina tan kulupu pi jan @%username%?'
share:
customise: 'nasin nasin'
local: 'o tawa lipu pi toki ni taso'
atAlternative: 'o kepeken nimi /u/'
backup: backup:
header: 'awen lipu' header: 'awen lipu'
export: export:
@ -581,9 +432,9 @@ crud:
removeConfirm: 'Are you sure you want to remove this item?' removeConfirm: 'Are you sure you want to remove this item?'
edit: 'Edit' edit: 'Edit'
add: 'Add' add: 'Add'
filter: 'Search…' filter: 'o alasa…'
filterLong: 'Search…' filterLong: 'o alasa…'
search: 'Search…' search: 'o alasa…'
author: 'Added by' author: 'Added by'
saved: 'Changes saved successfully!' saved: 'Changes saved successfully!'
loginRequired: '{/account=Log in} to submit an entry' loginRequired: '{/account=Log in} to submit an entry'
@ -593,6 +444,7 @@ crud:
validation: validation:
genericForm: 'The submitted form is invalid. Correct the issues and send it again.' genericForm: 'The submitted form is invalid. Correct the issues and send it again.'
listMaxLength: 'The maximum number of elements in this list is %maxlength%.' listMaxLength: 'The maximum number of elements in this list is %maxlength%.'
alt: 'toki sitelen:'
footer: footer:
license: > license: >
@ -620,6 +472,7 @@ footer:
uptime: 'Uptime' uptime: 'Uptime'
responseTime: 'Avg response time' responseTime: 'Avg response time'
month: 'li lon lipu ni' month: 'li lon lipu ni'
version: 'ilo li sin nanpa'
notFound: notFound:
message: 'lipu li lon ala' message: 'lipu li lon ala'

View File

@ -20,10 +20,12 @@ export default ({ app, store }) => {
} }
return false; return false;
} }
Vue.prototype.$translateForPronoun = (str, pronoun) => Vue.prototype.$translateForPronoun = (str, pronoun) => {
pronoun.format( let translation = translator.translate(`flags.${str.replace(/ /g, '_').replace(/'/g, `*`)}`, {}, false) || str;
translator.translate(`flags.${str.replace(/ /g, '_').replace(/'/g, `*`)}`, {}, false) || str if (pronoun)
); translation = pronoun.format(translation);
return translation;
}
Vue.prototype.config = config; Vue.prototype.config = config;

View File

@ -564,7 +564,10 @@
}, },
computed: { computed: {
mainPronoun() { mainPronoun() {
let mainPronoun = buildPronoun(pronouns, this.config.profile.flags.defaultPronoun); if (!this.config.profile?.flags?.defaultPronoun) {
return null;
}
let mainPronoun = buildPronoun(pronouns, this.config.profile.flags?.defaultPronoun);
let mainOpinion = -1; let mainOpinion = -1;
for (let {value: pronoun, opinion} of this.pronouns) { for (let {value: pronoun, opinion} of this.pronouns) {
const opinionValue = opinions[opinion]?.value || 0; const opinionValue = opinions[opinion]?.value || 0;