#61 English version - WIP

This commit is contained in:
Avris 2020-10-28 14:18:24 +01:00
parent de85859619
commit 08e5b85cbd
7 changed files with 132 additions and 36 deletions

View File

@ -44,6 +44,11 @@ links:
contact:
enabled: true
route: 'contact'
contacts:
-
icon: 'envelope'
url: 'mailto:contact@pronouns.page'
headline: 'contact@pronouns.page'
authors:
-
name: 'Andrea'
@ -73,6 +78,15 @@ contact:
areas:
social_media: ~
support:
enabled: true
links:
-
icon: 'paypal'
iconSet: 'b'
url: 'https://paypal.me/AndreAvris'
headline: 'PayPal'
user:
enabled: true
route: 'account'
@ -83,6 +97,6 @@ user:
- ['mx.', 'mr.', 'miss', 'sir', 'ma''am']
- ['person', 'man', 'woman', 'lady', 'dude', 'boy', 'girl', 'bro', 'sis']
- ['pretty', 'handsome', 'cute']
- ['partner', 'boyfriend', 'girlfriend', 'joyfriend']
- ['partner', 'boyfriend', 'girlfriend', 'joyfriend', 'husband', 'wife', 'kissmate']
redirects: []

View File

@ -1,2 +1,5 @@
singular plural isHonorific
foo {pronoun_subject} bar {pronoun_object} test {possessive_determiner} test {possessive_pronoun} test {reflexive}. FALSE
I think {pronoun_subject} is very nice. I think {pronoun_subject} are very nice. FALSE
I asked {pronoun_object} if I can borrow {possessive_determiner} pencil. FALSE
{'pronoun_subject} told me that the house is {possessive_pronoun}. FALSE
{'pronoun_subject} said they would rather do it {reflexive}. FALSE

1 singular plural isHonorific
2 foo {pronoun_subject} bar {pronoun_object} test {possessive_determiner} test {possessive_pronoun} test {reflexive}. I think {pronoun_subject} is very nice. I think {pronoun_subject} are very nice. FALSE
3 I asked {pronoun_object} if I can borrow {possessive_determiner} pencil. FALSE
4 {'pronoun_subject} told me that the house is {possessive_pronoun}. FALSE
5 {'pronoun_subject} said they would rather do it {reflexive}. FALSE

View File

@ -5,7 +5,7 @@ home:
link: 'Homepage'
header: 'Pronouns'
headerLong: 'List of pronouns'
why: 'Skąd potrzeba niebinarnych zaimków?'
why: 'What''s the deal with pronouns?'
about:
- >
Udostępniamy tutaj linki do przykładów użycia
@ -69,10 +69,11 @@ template:
or: 'or'
sources:
header: 'Teksty kultury'
headerLong: 'Przykłady z tekstów kultury'
headerLonger: 'Niebinarna polszczyzna w tekstach kultury'
toc: 'Pokaż spis treści'
header: 'Sources'
headerLong: 'Examples from cultural texts'
headerLonger: 'Examples from cultural texts'
subheader: 'Text corpus of gender neutral language'
toc: 'Show table of contents'
type:
All: 'All'
Book: 'Books'
@ -85,9 +86,9 @@ sources:
links:
header: 'Links'
headerLong: 'Dodatkowe materiały'
headerLong: 'Extra links'
media: 'Zaimki.pl w mediach'
media: 'Pronouns.page in the media'
social: 'Social media'
@ -95,21 +96,77 @@ contact:
header: 'Contact'
authors: 'Authors of the website'
user:
header: 'Account'
headerLong: 'Your account'
tokenExpired: 'Token has expired. Please refresh the website and try again.'
login:
placeholder: 'Email (or username, if you''re already registered)'
action: 'Log in'
emailSent: 'We''ve sent you an email with a 6-digit code. Enter it here. The code is single-use and stays valid for 15 minutes.'
userNotFound: 'User not found.'
email:
subject: 'Your login code is %code%'
content: |
To confirm your email address, use the following code: %code%.
If you didn't order this code, simply ignore this message.
why: >
Registering lets you manage your cards ({/@andrea=like this one}).
code:
action: 'Validate'
invalid: 'Invalid code.'
account:
changeUsername:
header: 'Username'
action: 'Change'
invalid: 'Username must be between 4 and 16 characters long and can only contain numbers, letters, dots, hyphens and underscore.'
taken: 'This username is taken.'
changeEmail:
header: 'Email address'
action: 'Change'
invalid: 'Invalid email address.'
taken: 'This address is taken.'
admin: 'Admin'
logout: 'Log out'
avatar:
header: 'Avatar'
change: 'Change'
deleteAccount: 'Delete account'
deleteAccountConfirm: 'Are you sure you want to remove your account? This will be irreversible!'
profile:
description: 'Description'
names: 'Names'
pronouns: 'Pronouns'
pronounsInfo: 'You can enter a pronoun or a link.'
words: 'Words'
birthday: 'Age'
birthdayInfo: 'We do not publish your birthday, just the calculated age.'
flags: 'Flags'
flagsInfo: 'Drag & drop your pride flags into this frame.'
links: 'Links'
column: 'Column'
list: 'Your cards'
init: 'Create a card'
show: 'Show'
edit: 'Edit'
delete: 'Delete'
deleteConfirm: 'Are you sure you want to delete this card?'
editor:
header: 'Card editor'
save: 'Save your card'
share: 'Share'
crud:
approve: 'Zatwierdź'
hide: 'Schowaj'
remove: 'Usuń'
edit: 'Edytuj'
filter: 'Filtruj'
filterLong: 'Filtruj listę…'
beta: >
Strona jest w wersji βeta!
Przykłady, formy gramatyczne i linki mogą się jeszcze mocno zmienić!
Jeśli masz jakieś sugestie lub uwagi, daj mi proszę znać
{https://twitter.com/AvrisIT=na Twitterze} lub {mailto:andrea@avris.it=przez maila}.
approve: 'Approve'
hide: 'Hide'
remove: 'Remove'
edit: 'Edit'
filter: 'Filter'
filterLong: 'Filter the list…'
footer:
source: 'Source code is {https://gitlab.com/Avris/Zaimki=published} under the {https://mit.avris.it=MIT} license.'
@ -119,6 +176,12 @@ notFound:
message: 'Page was not found'
back: 'Go back to the homepage'
confirm:
header: 'Are you sure?'
yes: 'Yes, I''m sure'
no: 'No, cancel'
terms:
header: 'Terms of Service'
lastUpdate: 'Last Updated'
consent: 'By registering you''re accepting the'

View File

@ -119,10 +119,10 @@
<p>
<T>template.examples</T>:
</p>
<template v-for="isHonorific in [false, true]">
<template v-for="isHonorific in [false, true]" v-if="examples.filter(e => e.isHonorific === isHonorific).length">
<ul>
<li v-for="example in examples" v-if="example.isHonorific === isHonorific">
<span v-for="part in example[(isHonorific ? selectedTemplate.isPluralHonorific() : selectedTemplate.isPlural()) ? 'pluralParts' : 'singularParts']">
<span v-for="part in clearExampleParts(example[(isHonorific ? selectedTemplate.isPluralHonorific() : selectedTemplate.isPlural()) ? 'pluralParts' : 'singularParts'])">
<input v-if="part.variable" v-model="selectedTemplate.morphemes[part.str]"
:class="['form-control form-input p-0', {'active': selectedMorpheme === part.str}]"
:size="selectedTemplate.morphemes[part.str] ? selectedTemplate.morphemes[part.str].length : 0"
@ -187,6 +187,7 @@
<script>
import { examples, templates, getSources, templateLibrary } from "~/src/data";
import { ExamplePart } from "~/src/classes";
import Compressor from "../src/compressor";
import { getTemplate } from "../src/buildTemplate";
import MORPHEMES from '../data/templates/morphemes';
@ -267,6 +268,9 @@
addSlash(link) {
return link + (link.substr(link.length - 1) === '*' ? '/' : '');
},
clearExampleParts(parts) {
return parts.map(p => new ExamplePart(p.variable, p.str.replace(/^'/, '')));
},
},
}
</script>

View File

@ -1,4 +1,4 @@
import {buildDict, buildList} from "./helpers";
import {buildDict, buildList, capitalise} from "./helpers";
import MORPHEMES from '../data/templates/morphemes';
export class ExamplePart {
@ -27,7 +27,7 @@ export class Example {
const parts = [];
let lastPosition = 0;
for (let m of str.matchAll(/{([a-z_]+)}/g)) {
for (let m of str.matchAll(/{('?[a-z_]+)}/g)) {
const textBefore = str.substr(lastPosition, m.index - lastPosition);
if (textBefore.length) {
parts.push(new ExamplePart(false, textBefore));
@ -163,13 +163,21 @@ export class Template {
}
getMorpheme(morpheme, counter = 0) {
let capital = false;
if (morpheme.startsWith("'")) {
capital = true;
morpheme = morpheme.substring(1);
}
if (!this.morphemes[morpheme]) {
return null;
}
const options = this.morphemes[morpheme].split('&');
return options[counter % options.length]
const result = options[counter % options.length];
return capital ? capitalise(result) : result;
}
isPlural(counter = 0) {

View File

@ -4,7 +4,7 @@ import { parseTemplates, getTemplate } from './buildTemplate';
import sourcesForMultipleForms from '../data/sources/sourcesMultiple';
export const locales = {
// en: { name: 'English', url: 'https://en.pronouns.page' },
en: { name: 'English', url: 'https://en.pronouns.page' },
pl: { name: 'Polski', url: 'https://zaimki.pl' },
// de: { name: 'Deutsch', url: 'https://de.pronouns.page' },
// nl: { name: 'Nederlands', url: 'https://nl.pronouns.page' },

View File

@ -145,3 +145,7 @@ export const curry = function (func) {
}
};
}
export const capitalise = function (word) {
return word.substring(0, 1).toUpperCase() + word.substring(1);
}