allow configurable colons

This commit is contained in:
Avris 2021-12-02 17:18:25 +01:00
parent 4160a54927
commit 00d787d187
51 changed files with 104 additions and 102 deletions

View File

@ -101,7 +101,7 @@
<Loading :value="profiles"> <Loading :value="profiles">
<template v-slot:header> <template v-slot:header>
<h3 class="h4"><T>profile.list</T>:</h3> <h3 class="h4"><T>profile.list</T><T>quotation.colon</T></h3>
</template> </template>
<ul v-if="profiles !== undefined" class="list-group"> <ul v-if="profiles !== undefined" class="list-group">
<li v-for="(options, locale) in locales" :key="locale" :class="['list-group-item', locale === config.locale ? 'profile-current' : '']"> <li v-for="(options, locale) in locales" :key="locale" :class="['list-group-item', locale === config.locale ? 'profile-current' : '']">
@ -112,7 +112,7 @@
<Loading :value="socialConnections"> <Loading :value="socialConnections">
<template v-slot:header> <template v-slot:header>
<h3 class="h4"><T>user.socialConnection.list</T>:</h3> <h3 class="h4"><T>user.socialConnection.list</T><T>quotation.colon</T></h3>
</template> </template>
<ul v-if="socialConnections !== undefined" class="list-group"> <ul v-if="socialConnections !== undefined" class="list-group">
<li v-for="(providerOptions, provider) in socialProviders" :key="provider" :class="['list-group-item', socialConnections[provider] !== undefined ? 'profile-current' : '']"> <li v-for="(providerOptions, provider) in socialProviders" :key="provider" :class="['list-group-item', socialConnections[provider] !== undefined ? 'profile-current' : '']">

View File

@ -24,7 +24,7 @@
<div v-else> <div v-else>
<textarea v-model="user.bannedReason" class="form-control" rows="3" :placeholder="$t('ban.reason') + ' ' + $t('ban.visible')" :disabled="saving"></textarea> <textarea v-model="user.bannedReason" class="form-control" rows="3" :placeholder="$t('ban.reason') + ' ' + $t('ban.visible')" :disabled="saving"></textarea>
<div class="form-group"> <div class="form-group">
<p class="my-1"><label><strong><T>ban.terms</T>:</strong></label></p> <p class="my-1"><label><strong><T>ban.terms</T><T>quotation.colon</T></strong></label></p>
<div style="columns: 3" class="small"> <div style="columns: 3" class="small">
<div class="form-check ps-0" v-for="term in forbidden"> <div class="form-check ps-0" v-for="term in forbidden">
<label> <label>

View File

@ -2,7 +2,7 @@
<section v-if="config.calendar && config.calendar.enabled && events !== undefined" class="alert alert-info"> <section v-if="config.calendar && config.calendar.enabled && events !== undefined" class="alert alert-info">
<p class="h3"> <p class="h3">
<Icon v="calendar-star"/> <Icon v="calendar-star"/>
<T>calendar.banner</T>: <T>calendar.banner</T><T>quotation.colon</T>
</p> </p>
<ul class="list-unstyled my-3 ms-3"> <ul class="list-unstyled my-3 ms-3">
<li v-for="event in events" class="mb-2"> <li v-for="event in events" class="mb-2">

View File

@ -3,7 +3,7 @@
<div class="alert alert-info d-flex flex-column flex-md-row justify-content-around"> <div class="alert alert-info d-flex flex-column flex-md-row justify-content-around">
<div v-if="day"> <div v-if="day">
<p class="mb-0"> <p class="mb-0">
<T>calendar.full</T>: <T>calendar.full</T><T>quotation.colon</T>
</p> </p>
<nuxt-link :to="`/${config.calendar.route}/${day.year}`" class="btn btn-primary m-1"> <nuxt-link :to="`/${config.calendar.route}/${day.year}`" class="btn btn-primary m-1">
<Icon v="calendar-star"/> <Icon v="calendar-star"/>
@ -37,7 +37,7 @@
</div> </div>
<div> <div>
<p class="mb-0"> <p class="mb-0">
<T>calendar.image.header</T>: <T>calendar.image.header</T><T>quotation.colon</T>
</p> </p>
<p class="mb-0" v-if="day"> <p class="mb-0" v-if="day">
<a :href="`/calendar/${day}.png`" target="_blank" rel="noopener" class="btn btn-outline-primary m-1"> <a :href="`/calendar/${day}.png`" target="_blank" rel="noopener" class="btn btn-outline-primary m-1">

View File

@ -45,7 +45,7 @@
<Noun :noun="s.el" gender="masc"/> <Noun :noun="s.el" gender="masc"/>
<small v-if="s.el.base && nouns[s.el.base]"> <small v-if="s.el.base && nouns[s.el.base]">
<p><strong><T>nouns.edited</T>:</strong></p> <p><strong><T>nouns.edited</T><T>quotation.colon</T></strong></p>
<Diff switchable> <Diff switchable>
<template v-slot:before><Noun :noun="nouns[s.el.base]" gender="masc"/></template> <template v-slot:before><Noun :noun="nouns[s.el.base]" gender="masc"/></template>
<template v-slot:after><Noun :noun="s.el" gender="masc"/></template> <template v-slot:after><Noun :noun="s.el" gender="masc"/></template>
@ -56,7 +56,7 @@
<Noun :noun="s.el" gender="fem"/> <Noun :noun="s.el" gender="fem"/>
<small v-if="s.el.base && nouns[s.el.base]"> <small v-if="s.el.base && nouns[s.el.base]">
<p><strong><T>nouns.edited</T>:</strong></p> <p><strong><T>nouns.edited</T><T>quotation.colon</T></strong></p>
<Diff switchable> <Diff switchable>
<template v-slot:before><Noun :noun="nouns[s.el.base]" gender="fem"/></template> <template v-slot:before><Noun :noun="nouns[s.el.base]" gender="fem"/></template>
<template v-slot:after><Noun :noun="s.el" gender="fem"/></template> <template v-slot:after><Noun :noun="s.el" gender="fem"/></template>
@ -67,7 +67,7 @@
<Noun :noun="s.el" gender="neutr"/> <Noun :noun="s.el" gender="neutr"/>
<small v-if="s.el.base && nouns[s.el.base]"> <small v-if="s.el.base && nouns[s.el.base]">
<p><strong><T>nouns.edited</T>:</strong></p> <p><strong><T>nouns.edited</T><T>quotation.colon</T></strong></p>
<Diff switchable> <Diff switchable>
<template v-slot:before><Noun :noun="nouns[s.el.base]" gender="neutr"/></template> <template v-slot:before><Noun :noun="nouns[s.el.base]" gender="neutr"/></template>
<template v-slot:after><Noun :noun="s.el" gender="neutr"/></template> <template v-slot:after><Noun :noun="s.el" gender="neutr"/></template>
@ -75,7 +75,7 @@
</small> </small>
<div v-if="s.el.sourcesData.length" class="div-three-columns"> <div v-if="s.el.sourcesData.length" class="div-three-columns">
<p><strong><T>sources.referenced</T>:</strong></p> <p><strong><T>sources.referenced</T><T>quotation.colon</T></strong></p>
<ul class="list-unstyled"> <ul class="list-unstyled">
<li v-for="source in s.el.sourcesData"> <li v-for="source in s.el.sourcesData">
<Source :source="source"/> <Source :source="source"/>
@ -90,7 +90,7 @@
<nuxt-link :to="`/@${s.el.author}`" class="btn btn-concise btn-outline-dark btn-sm m-1"> <nuxt-link :to="`/@${s.el.author}`" class="btn btn-concise btn-outline-dark btn-sm m-1">
<Icon v="user"/> <Icon v="user"/>
<span class="btn-label"> <span class="btn-label">
<T>crud.author</T>: <T>crud.author</T><T>quotation.colon</T>
@{{s.el.author}} @{{s.el.author}}
</span> </span>
</nuxt-link> </nuxt-link>

View File

@ -4,7 +4,7 @@
<div class="d-flex flex-column flex-md-row justify-content-around mt-4 mb-5"> <div class="d-flex flex-column flex-md-row justify-content-around mt-4 mb-5">
<div class="small text-center d-flex flex-column justify-content-center"> <div class="small text-center d-flex flex-column justify-content-center">
<p class="mb-2"> <p class="mb-2">
<T>contact.authors</T>: <T>contact.authors</T><T>quotation.colon</T>
</p> </p>
<Authors/> <Authors/>
@ -17,7 +17,7 @@
<div class="my-2"> <div class="my-2">
<p class="small mb-0"> <p class="small mb-0">
<Icon v="users"/> <Icon v="users"/>
<T>footer.links</T>: <T>footer.links</T><T>quotation.colon</T>
</p> </p>
<div class="mb-3" :class="['d-flex', config.links.socials.length > 2 ? 'flex-column' : 'flex-row', 'justify-content-center', 'align-items-center']"> <div class="mb-3" :class="['d-flex', config.links.socials.length > 2 ? 'flex-column' : 'flex-row', 'justify-content-center', 'align-items-center']">
<span> <span>

View File

@ -88,11 +88,11 @@
<T>ban.header</T> <T>ban.header</T>
</p> </p>
<p > <p >
<T>ban.reason</T>: <T>ban.reason</T><T>quotation.colon</T>
{{$user().bannedReason}} {{$user().bannedReason}}
</p> </p>
<p> <p>
<T>ban.termsIntro</T> <T>ban.termsIntro</T><T>quotation.colon</T>
</p> </p>
<blockquote class="small"> <blockquote class="small">
It is forbidden to post on the Service any Content that might break the law or violate social norms, It is forbidden to post on the Service any Content that might break the law or violate social norms,

View File

@ -63,7 +63,7 @@
</ul> </ul>
<div v-if="s.el.base && entries[s.el.base]" class="small"> <div v-if="s.el.base && entries[s.el.base]" class="small">
<p><strong><T>nouns.edited</T>:</strong></p> <p><strong><T>nouns.edited</T><T>quotation.colon</T></strong></p>
<Diff switchable> <Diff switchable>
<template v-slot:before> <template v-slot:before>
@ -101,7 +101,7 @@
</ul> </ul>
<small v-if="s.el.base && entries[s.el.base]"> <small v-if="s.el.base && entries[s.el.base]">
<p><strong><T>nouns.edited</T>:</strong></p> <p><strong><T>nouns.edited</T><T>quotation.colon</T></strong></p>
<Diff switchable> <Diff switchable>
<template v-slot:before> <template v-slot:before>
@ -130,7 +130,7 @@
</ul> </ul>
<small v-if="s.el.base && entries[s.el.base]"> <small v-if="s.el.base && entries[s.el.base]">
<p><strong><T>nouns.edited</T>:</strong></p> <p><strong><T>nouns.edited</T><T>quotation.colon</T></strong></p>
<Diff switchable> <Diff switchable>
<template v-slot:before> <template v-slot:before>
@ -167,7 +167,7 @@
<nuxt-link :to="`/@${s.el.author}`" class="btn btn-concise btn-outline-dark btn-sm m-1"> <nuxt-link :to="`/@${s.el.author}`" class="btn btn-concise btn-outline-dark btn-sm m-1">
<Icon v="user"/> <Icon v="user"/>
<span class="btn-label"> <span class="btn-label">
<T>crud.author</T>: <T>crud.author</T><T>quotation.colon</T>
@{{s.el.author}} @{{s.el.author}}
</span> </span>
</nuxt-link> </nuxt-link>

View File

@ -42,7 +42,7 @@
</div> </div>
<div class="form-group"> <div class="form-group">
<label><strong><T>inclusive.categories</T>:</strong></label> <label><strong><T>inclusive.categories</T><T>quotation.colon</T></strong></label>
<a v-for="category in config.inclusive.categories" <a v-for="category in config.inclusive.categories"
href="#" :class="['badge border mx-1 text-decoration-none', form.categories.includes(category) ? 'bg-primary text-white' : 'bg-light text-primary']" href="#" :class="['badge border mx-1 text-decoration-none', form.categories.includes(category) ? 'bg-primary text-white' : 'bg-light text-primary']"
@click.prevent="form.categories = form.categories.includes(category) ? form.categories.filter(c => c !== category) : [...form.categories, category]" @click.prevent="form.categories = form.categories.includes(category) ? form.categories.filter(c => c !== category) : [...form.categories, category]"
@ -52,7 +52,7 @@
</div> </div>
<div class="form-group"> <div class="form-group">
<label><strong><T>inclusive.sources</T>:</strong></label> <label><strong><T>inclusive.sources</T><T>quotation.colon</T></strong></label>
<ListInput v-model="form.links" v-slot="s"> <ListInput v-model="form.links" v-slot="s">
<input v-model="s.val" type="url" class="form-control" @keyup="s.update(s.val)" required/> <input v-model="s.val" type="url" class="form-control" @keyup="s.update(s.val)" required/>
</ListInput> </ListInput>

View File

@ -3,7 +3,7 @@
<h2 class="h4"> <h2 class="h4">
<nuxt-link :to="'/' + config.sources.route"> <nuxt-link :to="'/' + config.sources.route">
<Icon v="books"/> <Icon v="books"/>
<T>sources.headerLong</T>: <T>sources.headerLong</T><T>quotation.colon</T>
</nuxt-link> </nuxt-link>
</h2> </h2>

View File

@ -9,32 +9,32 @@
<ul class="list-unstyled w-md-50"> <ul class="list-unstyled w-md-50">
<li v-if="name.origin" class="mb-2"> <li v-if="name.origin" class="mb-2">
<Icon v="map-marked-alt"/> <Icon v="map-marked-alt"/>
<strong><T>names.origin</T>:</strong> <strong><T>names.origin</T><T>quotation.colon</T></strong>
{{ name.origin }} {{ name.origin }}
</li> </li>
<li v-if="name.meaning" class="mb-2"> <li v-if="name.meaning" class="mb-2">
<Icon v="comment-exclamation"/> <Icon v="comment-exclamation"/>
<strong><T>names.meaning</T>:</strong> <strong><T>names.meaning</T><T>quotation.colon</T></strong>
<LinkedText :text="name.meaning"/> <LinkedText :text="name.meaning"/>
</li> </li>
<li v-if="name.usage" class="mb-2"> <li v-if="name.usage" class="mb-2">
<Icon v="user-friends"/> <Icon v="user-friends"/>
<strong><T>names.usage</T>:</strong> <strong><T>names.usage</T><T>quotation.colon</T></strong>
{{ name.usage }} {{ name.usage }}
</li> </li>
<li v-if="config.names.legally && name.legally" class="mb-2"> <li v-if="config.names.legally && name.legally" class="mb-2">
<Icon v="file-contract"/> <Icon v="file-contract"/>
<strong><T>names.legally</T>:</strong> <strong><T>names.legally</T><T>quotation.colon</T></strong>
{{ name.legally }} {{ name.legally }}
</li> </li>
<li v-if="config.names.count" class="mb-2"> <li v-if="config.names.count" class="mb-2">
<Icon v="users"/> <Icon v="users"/>
<strong><T>names.count</T>:</strong> <strong><T>names.count</T><T>quotation.colon</T></strong>
<NameCount :name="name.name"/> <NameCount :name="name.name"/>
</li> </li>
<li v-if="config.names.namedays && name.namedays.length"> <li v-if="config.names.namedays && name.namedays.length">
<Icon v="glass-cheers"/> <Icon v="glass-cheers"/>
<strong><T>names.namedays</T>:</strong> <strong><T>names.namedays</T><T>quotation.colon</T></strong>
{{ namedaysString(name) }} {{ namedaysString(name) }}
<p class="small" v-if="name.namedaysComment">(<LinkedText :text="name.namedaysComment"/>)</p> <p class="small" v-if="name.namedaysComment">(<LinkedText :text="name.namedaysComment"/>)</p>
</li> </li>

View File

@ -15,62 +15,62 @@
<div class="row"> <div class="row">
<div class="col-12 col-lg-6"> <div class="col-12 col-lg-6">
<div class="form-group"> <div class="form-group">
<label><strong><T>names.name</T>:</strong></label> <label><strong><T>names.name</T><T>quotation.colon</T></strong></label>
<input v-model="form.name" class="form-control" required/> <input v-model="form.name" class="form-control" required/>
</div> </div>
<div class="form-group"> <div class="form-group">
<label><strong><T>names.origin</T>:</strong></label> <label><strong><T>names.origin</T><T>quotation.colon</T></strong></label>
<input v-model="form.origin" class="form-control"/> <input v-model="form.origin" class="form-control"/>
</div> </div>
<div class="form-group"> <div class="form-group">
<label><strong><T>names.meaning</T>:</strong></label> <label><strong><T>names.meaning</T><T>quotation.colon</T></strong></label>
<input v-model="form.meaning" class="form-control"/> <input v-model="form.meaning" class="form-control"/>
</div> </div>
<div class="form-group"> <div class="form-group">
<label><strong><T>names.usage</T>:</strong></label> <label><strong><T>names.usage</T><T>quotation.colon</T></strong></label>
<input v-model="form.usage" class="form-control"/> <input v-model="form.usage" class="form-control"/>
</div> </div>
<div class="form-group" v-if="config.names.legally"> <div class="form-group" v-if="config.names.legally">
<label><strong><T>names.legally</T>:</strong></label> <label><strong><T>names.legally</T><T>quotation.colon</T></strong></label>
<input v-model="form.legally" class="form-control"/> <input v-model="form.legally" class="form-control"/>
</div> </div>
<template v-if="config.names.namedays"> <template v-if="config.names.namedays">
<div class="form-group"> <div class="form-group">
<label><strong><T>names.namedays</T>:</strong></label> <label><strong><T>names.namedays</T><T>quotation.colon</T></strong></label>
<ListInput v-model="form.namedays" v-slot="s"> <ListInput v-model="form.namedays" v-slot="s">
<DayMonth v-model="s.val" @input="s.update(s.val)"/> <DayMonth v-model="s.val" @input="s.update(s.val)"/>
</ListInput> </ListInput>
</div> </div>
<div class="form-group"> <div class="form-group">
<label><strong><T>names.namedaysComment</T>:</strong></label> <label><strong><T>names.namedaysComment</T><T>quotation.colon</T></strong></label>
<input v-model="form.namedaysComment" class="form-control"/> <input v-model="form.namedaysComment" class="form-control"/>
</div> </div>
</template> </template>
</div> </div>
<div class="col-12 col-lg-6"> <div class="col-12 col-lg-6">
<div class="form-group"> <div class="form-group">
<label><strong><T>names.pros</T>:</strong></label> <label><strong><T>names.pros</T><T>quotation.colon</T></strong></label>
<ListInput v-model="form.pros"/> <ListInput v-model="form.pros"/>
</div> </div>
<div class="form-group"> <div class="form-group">
<label><strong><T>names.cons</T>:</strong></label> <label><strong><T>names.cons</T><T>quotation.colon</T></strong></label>
<ListInput v-model="form.cons"/> <ListInput v-model="form.cons"/>
</div> </div>
<div class="form-group"> <div class="form-group">
<label><strong><T>names.notablePeople</T>:</strong></label> <label><strong><T>names.notablePeople</T><T>quotation.colon</T></strong></label>
<ListInput v-model="form.notablePeople"/> <ListInput v-model="form.notablePeople"/>
</div> </div>
<div class="form-group"> <div class="form-group">
<label><strong><T>names.links</T>:</strong></label> <label><strong><T>names.links</T><T>quotation.colon</T></strong></label>
<ListInput v-model="form.links" v-slot="s"> <ListInput v-model="form.links" v-slot="s">
<input v-model="s.val" type="url" class="form-control" @keyup="s.update(s.val)" required/> <input v-model="s.val" type="url" class="form-control" @keyup="s.update(s.val)" required/>
</ListInput> </ListInput>

View File

@ -69,7 +69,7 @@
</table> </table>
</div> </div>
<div v-if="$isGranted('sources')" class="form-group"> <div v-if="$isGranted('sources')" class="form-group">
<label><strong><T>sources.referenced</T>:</strong></label> <label><strong><T>sources.referenced</T><T>quotation.colon</T></strong></label>
<ListInput v-model="form.sources"/> <ListInput v-model="form.sources"/>
</div> </div>
<div class="alert alert-info" v-if="form.base"> <div class="alert alert-info" v-if="form.base">
@ -91,7 +91,7 @@
<T>nouns.template</T> <T>nouns.template</T>
</a> </a>
<div class="card-body"> <div class="card-body">
<T>nouns.root</T>: <input class="form-control form-control-sm d-inline-block w-auto" v-model="templateBase" autofocus/> <T>nouns.root</T><T>quotation.colon</T> <input class="form-control form-control-sm d-inline-block w-auto" v-model="templateBase" autofocus/>
<ul> <ul>
<li v-for="template in templates" class="my-2"> <li v-for="template in templates" class="my-2">

View File

@ -20,7 +20,7 @@
</tr> </tr>
<tr v-if="count && rowsCount"> <tr v-if="count && rowsCount">
<td :colspan="columns"> <td :colspan="columns">
<T>table.count</T>: <T>table.count</T><T>quotation.colon</T>
<strong>{{ rowsCount }}</strong> <strong>{{ rowsCount }}</strong>
</td> </td>
</tr> </tr>

View File

@ -2,7 +2,7 @@
<div> <div>
<p class="small mb-0"> <p class="small mb-0">
<Icon v="share"/> <Icon v="share"/>
<T>share</T>: <T>share</T><T>quotation.colon</T>
</p> </p>
<button class="btn btn-primary" v-if="hasShareApi" @click="shareApi"> <button class="btn btn-primary" v-if="hasShareApi" @click="shareApi">
<Icon v="share"/> <Icon v="share"/>

View File

@ -16,7 +16,7 @@
<nuxt-link :to="`/@${source.submitter}`" class="badge bg-light text-dark border btn-sm m-1"> <nuxt-link :to="`/@${source.submitter}`" class="badge bg-light text-dark border btn-sm m-1">
<Icon v="user"/> <Icon v="user"/>
<span class="btn-label"> <span class="btn-label">
<T>crud.author</T>: <T>crud.author</T><T>quotation.colon</T>
@{{source.submitter}} @{{source.submitter}}
</span> </span>
</nuxt-link> </nuxt-link>
@ -54,7 +54,7 @@
</li> </li>
<li class="list-inline-item" v-if="source.key"> <li class="list-inline-item" v-if="source.key">
<span class="badge bg-primary text-white"> <span class="badge bg-primary text-white">
<T>sources.submit.key</T>: {{source.key}} <T>sources.submit.key</T><T>quotation.colon</T> {{source.key}}
</span> </span>
</li> </li>
</ul> </ul>

View File

@ -1,16 +1,5 @@
<template> <template>
<component :is="Array.isArray(txt) ? 'div' : 'span'"> <component :is="Array.isArray(txt) ? 'div' : 'span'"><template v-if="Array.isArray(txt)"><p v-for="p in txt"><Icon v-if="icon" :v="icon"/><LinkedText :text="p"/></p></template><template v-else><Icon v-if="icon" :v="icon"/><LinkedText :text="txt"/></template></component>
<template v-if="Array.isArray(txt)">
<p v-for="p in txt">
<Icon v-if="icon" :v="icon"/>
<LinkedText :text="p"/>
</p>
</template>
<template v-else>
<Icon v-if="icon" :v="icon"/>
<LinkedText :text="txt"/>
</template>
</component>
</template> </template>
<script> <script>

View File

@ -20,7 +20,7 @@
</tr> </tr>
<tr v-if="count"> <tr v-if="count">
<td :colspan="columns"> <td :colspan="columns">
<T>table.count</T>: <T>table.count</T><T>quotation.colon</T>
<strong>{{ data.length }}</strong> <strong>{{ data.length }}</strong>
</td> </td>
</tr> </tr>

View File

@ -3,7 +3,7 @@
<p v-for="(p, i) in term.definition.split('\n\n')"> <p v-for="(p, i) in term.definition.split('\n\n')">
<template v-if="i === 0"> <template v-if="i === 0">
<span v-if="term.key && $isGranted('terms')" class="badge bg-primary text-white"> <span v-if="term.key && $isGranted('terms')" class="badge bg-primary text-white">
<T>sources.submit.key</T>: <T>sources.submit.key</T><T>quotation.colon</T>
{{term.key}} {{term.key}}
</span> </span>
<strong><LinkedTextMultiple :texts="term.term" noicons/></strong> <strong><LinkedTextMultiple :texts="term.term" noicons/></strong>

View File

@ -42,7 +42,7 @@
<Term :term="s.el" categoryLink flags versions :events="year.eventsByTerm[s.el.key]" @filter="setFilter"/> <Term :term="s.el" categoryLink flags versions :events="year.eventsByTerm[s.el.key]" @filter="setFilter"/>
<div class="small" v-if="s.el.base && entries[s.el.base]"> <div class="small" v-if="s.el.base && entries[s.el.base]">
<p><strong><T>nouns.edited</T>:</strong></p> <p><strong><T>nouns.edited</T><T>quotation.colon</T></strong></p>
<Diff switchable> <Diff switchable>
<template v-slot:before><Term :term="entries[s.el.base]" flags/></template> <template v-slot:before><Term :term="entries[s.el.base]" flags/></template>
@ -57,7 +57,7 @@
<nuxt-link :to="`/@${s.el.author}`" class="btn btn-concise btn-outline-dark btn-sm m-1"> <nuxt-link :to="`/@${s.el.author}`" class="btn btn-concise btn-outline-dark btn-sm m-1">
<Icon v="user"/> <Icon v="user"/>
<span class="btn-label"> <span class="btn-label">
<T>crud.author</T>: <T>crud.author</T><T>quotation.colon</T>
@{{s.el.author}} @{{s.el.author}}
</span> </span>
</nuxt-link> </nuxt-link>

View File

@ -39,7 +39,7 @@
</div> </div>
<div class="form-group"> <div class="form-group">
<label><strong><T>terminology.category</T>:</strong></label> <label><strong><T>terminology.category</T><T>quotation.colon</T></strong></label>
<a v-for="category in config.terminology.categories" <a v-for="category in config.terminology.categories"
href="#" :class="['badge border mx-1 text-decoration-none', form.categories.includes(category) ? 'bg-primary text-white' : 'bg-light text-primary']" href="#" :class="['badge border mx-1 text-decoration-none', form.categories.includes(category) ? 'bg-primary text-white' : 'bg-light text-primary']"
@click.prevent="form.categories = form.categories.includes(category) ? form.categories.filter(c => c !== category) : [...form.categories, category]" @click.prevent="form.categories = form.categories.includes(category) ? form.categories.filter(c => c !== category) : [...form.categories, category]"

View File

@ -2,7 +2,7 @@
<section> <section>
<h2 class="h4"> <h2 class="h4">
<Icon v="spell-check"/> <Icon v="spell-check"/>
<T>pronouns.grammarTable</T>: <T>pronouns.grammarTable</T><T>quotation.colon</T>
</h2> </h2>
<div class="table-responsive"> <div class="table-responsive">

View File

@ -528,6 +528,7 @@ api:
quotation: quotation:
start: '„' start: '„'
end: '“' end: '“'
colon: ':'
localise: localise:
shorter: 'Mehr hinzufügen' shorter: 'Mehr hinzufügen'
@ -558,7 +559,7 @@ ban:
confirm: 'Bist du sicher, die Person @%username% zu sperren?' confirm: 'Bist du sicher, die Person @%username% zu sperren?'
header: 'Du wurdest gesperrt. Dein Profil kann nicht mehr angesehen werden.' header: 'Du wurdest gesperrt. Dein Profil kann nicht mehr angesehen werden.'
banned: 'gesperrt' banned: 'gesperrt'
termsIntro: 'Gemäß unserer Geschäftsbedingungen {/Nutzungsbedingungen=Geschäftsbedingungen}:' termsIntro: 'Gemäß unserer Geschäftsbedingungen {/Nutzungsbedingungen=Geschäftsbedingungen}'
report: report:
action: 'Missbrauch melden' action: 'Missbrauch melden'

View File

@ -2,7 +2,7 @@
<section> <section>
<h2 class="h4"> <h2 class="h4">
<Icon v="spell-check"/> <Icon v="spell-check"/>
<T>pronouns.grammarTable</T>: <T>pronouns.grammarTable</T><T>quotation.colon</T>
</h2> </h2>
<div class="table-responsive"> <div class="table-responsive">

View File

@ -637,6 +637,7 @@ api:
quotation: quotation:
start: '“' start: '“'
end: '”' end: '”'
colon: ':'
localise: localise:
shorter: 'Add more' shorter: 'Add more'
@ -668,7 +669,7 @@ ban:
confirm: 'Are you sure you want to ban @%username%?' confirm: 'Are you sure you want to ban @%username%?'
header: 'You''re banned. Your profile will not be shown to anyone.' header: 'You''re banned. Your profile will not be shown to anyone.'
banned: 'Banned' banned: 'Banned'
termsIntro: 'According to our {/terms=Terms of Service}:' termsIntro: 'According to our {/terms=Terms of Service}'
report: report:
action: 'Report abuse' action: 'Report abuse'

View File

@ -2,7 +2,7 @@
<section> <section>
<h2 class="h4"> <h2 class="h4">
<Icon v="spell-check"/> <Icon v="spell-check"/>
<T>pronouns.grammarTable</T>: <T>pronouns.grammarTable</T><T>quotation.colon</T>
</h2> </h2>
<div class="table-responsive"> <div class="table-responsive">

View File

@ -541,6 +541,7 @@ api:
quotation: quotation:
start: '“' start: '“'
end: '”' end: '”'
colon: ':'
localise: localise:
shorter: 'Añadir versiones' shorter: 'Añadir versiones'
@ -572,7 +573,7 @@ ban:
confirm: '¿Estás segure que quieres banear a @%username%?' confirm: '¿Estás segure que quieres banear a @%username%?'
header: 'Has sido baneado. Tu perfil no se mostrará a nadie.' header: 'Has sido baneado. Tu perfil no se mostrará a nadie.'
banned: 'Baneado' banned: 'Baneado'
termsIntro: 'De acuerdo con nuestros {/terminos=Términos de Servicio}:' termsIntro: 'De acuerdo con nuestros {/terminos=Términos de Servicio}'
report: report:
action: 'Reportar abuso' action: 'Reportar abuso'

View File

@ -2,7 +2,7 @@
<section> <section>
<h2 class="h4"> <h2 class="h4">
<Icon v="spell-check"/> <Icon v="spell-check"/>
<T>pronouns.grammarTable</T>: <T>pronouns.grammarTable</T><T>quotation.colon</T>
</h2> </h2>
<div class="table-responsive"> <div class="table-responsive">

View File

@ -535,6 +535,7 @@ api:
quotation: quotation:
start: '« ' start: '« '
end: ' »' end: ' »'
colon: ' :'
localise: localise:
shorter: 'Ajouter' shorter: 'Ajouter'
@ -566,7 +567,7 @@ ban:
confirm: 'Voulez-vous bannir @%username% ?' confirm: 'Voulez-vous bannir @%username% ?'
header: 'Vous êtes banni. Votre profil napparaîtra plus aux autres utilisateurs.' header: 'Vous êtes banni. Votre profil napparaîtra plus aux autres utilisateurs.'
banned: 'Banni' banned: 'Banni'
termsIntro: 'Selon nos {/termes=Termes de service} :' termsIntro: 'Selon nos {/termes=Termes de service}'
report: report:
action: 'Signaler' action: 'Signaler'

View File

@ -2,7 +2,7 @@
<section> <section>
<h2 class="h4"> <h2 class="h4">
<Icon v="spell-check"/> <Icon v="spell-check"/>
<T>pronouns.grammarTable</T>: <T>pronouns.grammarTable</T><T>quotation.colon</T>
</h2> </h2>
<div class="table-responsive"> <div class="table-responsive">

View File

@ -537,6 +537,7 @@ api:
quotation: quotation:
start: '“' start: '“'
end: '”' end: '”'
colon: ':'
localise: localise:
shorter: 'Adicionar versões' shorter: 'Adicionar versões'
@ -568,7 +569,7 @@ ban:
confirm: 'Você está certe que quer banir @%username%?' confirm: 'Você está certe que quer banir @%username%?'
header: 'Você está banido. Seu perfil não mais aparecerá em nosso site.' header: 'Você está banido. Seu perfil não mais aparecerá em nosso site.'
banned: 'Banido' banned: 'Banido'
termsIntro: 'De acordo com nossos {/termos=termos de uso}:' termsIntro: 'De acordo com nossos {/termos=termos de uso}'
report: report:
action: 'Reportar abuso' action: 'Reportar abuso'

View File

@ -38,7 +38,7 @@ home:
このツールでは、空欄にテキストを書き込み、他の人と共有できるリンクを作成することができます。 このツールでは、空欄にテキストを書き込み、他の人と共有できるリンクを作成することができます。
button: 'ジェネレータを見せる' button: 'ジェネレータを見せる'
header2: 'リンクを生成する' header2: 'リンクを生成する'
base: '基づく' base: '基づく'
alt: '加えてフィールドでは交換用の別バージョンを書くこともできます。例えば、<code>彼&彼女</code> は「彼」か「彼女」です。' alt: '加えてフィールドでは交換用の別バージョンを書くこともできます。例えば、<code>彼&彼女</code> は「彼」か「彼女」です。'
whatisit: '三人称代名詞とはなんですか?' whatisit: '三人称代名詞とはなんですか?'
@ -61,7 +61,7 @@ pronouns:
headerLong: '三人称代名詞' headerLong: '三人称代名詞'
examples: '文での使い方の例' examples: '文での使い方の例'
plural: '複数形' plural: '複数形'
intro: '私の三人称代名詞は' intro: '私の三人称代名詞は'
normative: '規範的' normative: '規範的'
alt: alt:
button: '交換可能バージョンへのリンクを生成する。' button: '交換可能バージョンへのリンクを生成する。'
@ -532,11 +532,12 @@ table:
api: api:
header: 'パブリックAPI' header: 'パブリックAPI'
example: '例' example: '例'
query: 'クエリー文字列のパラメーター' query: 'クエリー文字列のパラメーター'
quotation: quotation:
start: '「' start: '「'
end: '」' end: '」'
colon: ''
localise: localise:
shorter: 'もう一つの追加する' shorter: 'もう一つの追加する'
@ -568,7 +569,7 @@ ban:
confirm: '@%username%を禁止してもよろしいですか?' confirm: '@%username%を禁止してもよろしいですか?'
header: 'あなたを禁止されました。 誰もはあなたのプロファイルを見えません。' header: 'あなたを禁止されました。 誰もはあなたのプロファイルを見えません。'
banned: '禁止されました' banned: '禁止されました'
termsIntro: '私たちの{/利用規約=利用規約}に従って' termsIntro: '私たちの{/利用規約=利用規約}に従って'
report: report:
action: '不正使用の報告' action: '不正使用の報告'

View File

@ -2,7 +2,7 @@
<section> <section>
<h2 class="h4"> <h2 class="h4">
<Icon v="spell-check"/> <Icon v="spell-check"/>
<T>pronouns.grammarTable</T>: <T>pronouns.grammarTable</T><T>quotation.colon</T>
</h2> </h2>
<div class="table-responsive"> <div class="table-responsive">

View File

@ -520,6 +520,7 @@ api:
quotation: quotation:
start: '“' start: '“'
end: '”' end: '”'
colon: ':'
localise: localise:
shorter: 'Voeg meer toe' shorter: 'Voeg meer toe'
@ -551,7 +552,7 @@ ban:
confirm: 'Are you sure you want to ban @%username%?' confirm: 'Are you sure you want to ban @%username%?'
header: 'Je bent geband. Jouw profiel zal onzichtbaar zijn .' header: 'Je bent geband. Jouw profiel zal onzichtbaar zijn .'
banned: 'Geband.' banned: 'Geband.'
termsIntro: 'Volgens onze {/voorwaarden=gebruiksvoorwaarden}:' termsIntro: 'Volgens onze {/voorwaarden=gebruiksvoorwaarden}'
report: report:
action: 'Rapporteer misbruik' action: 'Rapporteer misbruik'

View File

@ -2,7 +2,7 @@
<section> <section>
<h2 class="h4"> <h2 class="h4">
<Icon v="spell-check"/> <Icon v="spell-check"/>
<T>pronouns.grammarTable</T>: <T>pronouns.grammarTable</T><T>quotation.colon</T>
</h2> </h2>
<div class="table-responsive"> <div class="table-responsive">

View File

@ -530,6 +530,7 @@ api:
quotation: quotation:
start: '“' start: '“'
end: '”' end: '”'
colon: ':'
localise: localise:
shorter: 'Legg til mer' shorter: 'Legg til mer'
@ -561,7 +562,7 @@ ban:
confirm: 'Er du sikker på at du vil forby @%username%?' confirm: 'Er du sikker på at du vil forby @%username%?'
header: 'Du er forbydd. Profilen din vil ikke bli vist til noen.' header: 'Du er forbydd. Profilen din vil ikke bli vist til noen.'
banned: 'Forbydd' banned: 'Forbydd'
termsIntro: 'Ifølge våre {/termes=Terms of Service}:' termsIntro: 'Ifølge våre {/termes=Terms of Service}'
report: report:
action: 'Rapporter problem' action: 'Rapporter problem'

View File

@ -1372,6 +1372,7 @@ api:
quotation: quotation:
start: '„' start: '„'
end: '”' end: '”'
colon: ':'
localise: localise:
shorter: 'Dodaj więcej' shorter: 'Dodaj więcej'
@ -1403,7 +1404,7 @@ ban:
confirm: 'Czy na pewno chcesz zbanować @%username%?' confirm: 'Czy na pewno chcesz zbanować @%username%?'
header: 'Twoje konto jest zablokowane. Twoje profile nie są widoczne publicznie.' header: 'Twoje konto jest zablokowane. Twoje profile nie są widoczne publicznie.'
banned: 'Zbanowanx' banned: 'Zbanowanx'
termsIntro: 'Zgodnie z naszym {/regulamin=Regulaminem}:' termsIntro: 'Zgodnie z naszym {/regulamin=Regulaminem}'
report: report:
action: 'Zgłoś profil' action: 'Zgłoś profil'

View File

@ -2,7 +2,7 @@
<section> <section>
<h2 class="h4"> <h2 class="h4">
<Icon v="spell-check"/> <Icon v="spell-check"/>
<T>pronouns.grammarTable</T>: <T>pronouns.grammarTable</T><T>quotation.colon</T>
</h2> </h2>
<div class="table-responsive"> <div class="table-responsive">

View File

@ -537,6 +537,7 @@ api:
quotation: quotation:
start: '“' start: '“'
end: '”' end: '”'
colon: ':'
localise: localise:
shorter: 'Adicionar versões' shorter: 'Adicionar versões'
@ -568,7 +569,7 @@ ban:
confirm: 'Você está certe que quer banir @%username%?' confirm: 'Você está certe que quer banir @%username%?'
header: 'Você está banido. Seu perfil não mais aparecerá em nosso site.' header: 'Você está banido. Seu perfil não mais aparecerá em nosso site.'
banned: 'Banido' banned: 'Banido'
termsIntro: 'De acordo com nossos {/termos=termos de uso}:' termsIntro: 'De acordo com nossos {/termos=termos de uso}'
report: report:
action: 'Reportar abuso' action: 'Reportar abuso'
@ -777,7 +778,7 @@ calendar:
aids_awareness_month: '{https://pt.wikipedia.org/wiki/Dezembro_Vermelho=Dezembro Vermelho}' aids_awareness_month: '{https://pt.wikipedia.org/wiki/Dezembro_Vermelho=Dezembro Vermelho}'
genderfluid_week: 'Semana da Consciência de Gênero-fluído' genderfluid_week: 'Semana da Consciência de Gênero-fluído'
pan_week: 'Semana da Visibilidade Pan' pan_week: 'Semana da Visibilidade Pan'
parents_day: 'Dia de Nans Expansivo de Gênero' parents_day: 'Dia de Nans Expansivo de Gênero'
banner: 'Hoje celebramos' banner: 'Hoje celebramos'
celebrating_custom: 'celebra-se' celebrating_custom: 'celebra-se'

View File

@ -512,6 +512,7 @@ api:
quotation: quotation:
start: '«' start: '«'
end: '»' end: '»'
colon: ':'
localise: localise:
shorter: 'Добавить' shorter: 'Добавить'
@ -543,7 +544,7 @@ ban:
confirm: 'Вы уверены, что хотите заблокировать пользователь_ницу @%username%?' confirm: 'Вы уверены, что хотите заблокировать пользователь_ницу @%username%?'
header: 'Вы заблокированы. Ваш профиль не будет отображаться на сайте.' header: 'Вы заблокированы. Ваш профиль не будет отображаться на сайте.'
banned: 'Пользователь_ница заблокирован_а' banned: 'Пользователь_ница заблокирован_а'
termsIntro: 'В соответствии с нашими {/terms=Условиями предоставления услуг}:' termsIntro: 'В соответствии с нашими {/terms=Условиями предоставления услуг}'
report: report:
action: 'Сообщить о насилии' action: 'Сообщить о насилии'

View File

@ -2,7 +2,7 @@
<section> <section>
<h2 class="h4"> <h2 class="h4">
<Icon v="spell-check"/> <Icon v="spell-check"/>
<T>pronouns.grammarTable</T>: <T>pronouns.grammarTable</T><T>quotation.colon</T>
</h2> </h2>
<div class="table-responsive"> <div class="table-responsive">

View File

@ -542,6 +542,7 @@ api:
quotation: quotation:
start: '“' start: '“'
end: '”' end: '”'
colon: ':'
localise: localise:
shorter: 'Add more' shorter: 'Add more'
@ -575,7 +576,7 @@ ban:
confirm: 'Are you sure you want to ban @%username%?' confirm: 'Are you sure you want to ban @%username%?'
header: 'You''re banned. Your profile will not be shown to anyone.' header: 'You''re banned. Your profile will not be shown to anyone.'
banned: 'Banned' banned: 'Banned'
termsIntro: 'According to our {/terinos=Terms of Service}:' termsIntro: 'According to our {/terinos=Terms of Service}'
# TODO # TODO
report: report:

View File

@ -503,6 +503,7 @@ api:
quotation: quotation:
start: '“' start: '“'
end: '”' end: '”'
colon: ''
localise: localise:
shorter: '添加更多' shorter: '添加更多'
@ -535,7 +536,7 @@ ban:
confirm: '您確定要封禁@%username%嗎' confirm: '您確定要封禁@%username%嗎'
header: '您被封禁了。你的資料不會對任何人顯示。' header: '您被封禁了。你的資料不會對任何人顯示。'
banned: '被封禁' banned: '被封禁'
termsIntro: '根據我們的{/terms=服務條款}' termsIntro: '根據我們的{/terms=服務條款}'
report: report:
action: '舉報濫用' action: '舉報濫用'

View File

@ -2,7 +2,7 @@
<div> <div>
<h2> <h2>
<Icon v="tag"/> <Icon v="tag"/>
<T>pronouns.intro</T>: <T>pronouns.intro</T><T>quotation.colon</T>
</h2> </h2>
<section> <section>
@ -22,7 +22,7 @@
<section> <section>
<h2 class="h4"> <h2 class="h4">
<Icon v="file-signature"/> <Icon v="file-signature"/>
<T>pronouns.examples</T>: <T>pronouns.examples</T><T>quotation.colon</T>
</h2> </h2>
<ul> <ul>
@ -40,7 +40,7 @@
<section class="mb-0"> <section class="mb-0">
<h2 class="h4"> <h2 class="h4">
<Icon v="info-circle"/> <Icon v="info-circle"/>
<T>home.whatisit</T>: <T>home.whatisit</T><T>quotation.colon</T>
</h2> </h2>
<T>home.about</T> <T>home.about</T>
<Homepage align="center"/> <Homepage align="center"/>

View File

@ -21,7 +21,7 @@
</a> </a>
</p> </p>
<p v-if="queryString" class="mb-0 small"> <p v-if="queryString" class="mb-0 small">
<T>api.query</T>: <T>api.query</T><T>quotation.colon</T>
</p> </p>
<ul v-if="queryString" class="small"> <ul v-if="queryString" class="small">
<li v-for="(description, param) in queryString"> <li v-for="(description, param) in queryString">

View File

@ -37,7 +37,7 @@
<nuxt-link :to="`/@${name.author}`" class="btn btn-outline-dark btn-sm"> <nuxt-link :to="`/@${name.author}`" class="btn btn-outline-dark btn-sm">
<Icon v="user"/> <Icon v="user"/>
<span class="btn-label"> <span class="btn-label">
<T>crud.author</T>: <T>crud.author</T><T>quotation.colon</T>
@{{name.author}} @{{name.author}}
</span> </span>
</nuxt-link> </nuxt-link>
@ -75,7 +75,7 @@
<small v-if="name.base && names[name.base]"> <small v-if="name.base && names[name.base]">
<hr/> <hr/>
<p><strong><T>nouns.edited</T>:</strong></p> <p><strong><T>nouns.edited</T><T>quotation.colon</T></strong></p>
<Diff switchable> <Diff switchable>
<template v-slot:before><Name :name="names[name.base]"/></template> <template v-slot:before><Name :name="names[name.base]"/></template>
<template v-slot:after><Name :name="name"/></template> <template v-slot:after><Name :name="name"/></template>

View File

@ -23,7 +23,7 @@
</p> </p>
<ul class="mb-2"> <ul class="mb-2">
<li v-for="(pronouns, locale) in person.pronouns"> <li v-for="(pronouns, locale) in person.pronouns">
<T>people.languages.{{locale}}</T>: <T>people.languages.{{locale}}</T><T>quotation.colon</T>
<ul class="list-inline d-inline"> <ul class="list-inline d-inline">
<li v-for="pronoun in pronouns" class="list-inline-item"> <li v-for="pronoun in pronouns" class="list-inline-item">
<LocaleLink :link="'/' + pronoun.link" :locale="locale"> <LocaleLink :link="'/' + pronoun.link" :locale="locale">

View File

@ -34,7 +34,7 @@
<div> <div>
<small> <small>
<Icon v="id-card"/> <Icon v="id-card"/>
<T>profile.card.link</T>: <T>profile.card.link</T><T>quotation.colon</T>
</small> </small>
<small v-if="profile.card === null && profile.cardDark === null"> <small v-if="profile.card === null && profile.cardDark === null">
<button class="btn btn-outline-success btn-sm" @click="generateCard(false)"> <button class="btn btn-outline-success btn-sm" @click="generateCard(false)">

View File

@ -4,7 +4,7 @@
<h2 class="d-flex justify-content-between"> <h2 class="d-flex justify-content-between">
<span> <span>
<Icon v="tag"/> <Icon v="tag"/>
<T>pronouns.intro</T>: <T>pronouns.intro</T><T>quotation.colon</T>
</span> </span>
<div v-if="nameOptions.length > 1" class="btn-group" role="group"> <div v-if="nameOptions.length > 1" class="btn-group" role="group">
<button :class="['btn btn-sm', counterSpeed === 0 ? 'btn-primary' : 'btn-outline-primary']" @click="counterPause"><Icon v="pause"/></button> <button :class="['btn btn-sm', counterSpeed === 0 ? 'btn-primary' : 'btn-outline-primary']" @click="counterPause"><Icon v="pause"/></button>
@ -45,7 +45,7 @@
<section> <section>
<h2 class="h4"> <h2 class="h4">
<Icon v="file-signature"/> <Icon v="file-signature"/>
<T>pronouns.examples</T>: <T>pronouns.examples</T><T>quotation.colon</T>
</h2> </h2>
<ul> <ul>

View File

@ -32,7 +32,7 @@
</div> </div>
<div class="card-body"> <div class="card-body">
<div class="card-title border-bottom pb-3"> <div class="card-title border-bottom pb-3">
<p><strong><T>home.generator.base</T>:</strong></p> <p><strong><T>home.generator.base</T><T>quotation.colon</T></strong></p>
<ul class="list-unstyled"> <ul class="list-unstyled">
<li v-for="[group, groupPronouns] in pronounLibrary.split()" > <li v-for="[group, groupPronouns] in pronounLibrary.split()" >
<ul class="list-inline"> <ul class="list-inline">
@ -64,7 +64,7 @@
</div> </div>
<p> <p>
<T>pronouns.examples</T>: <T>pronouns.examples</T><T>quotation.colon</T>
</p> </p>
<template v-for="isHonorific in [false, true]" v-if="examples.filter(e => e.isHonorific === isHonorific).length"> <template v-for="isHonorific in [false, true]" v-if="examples.filter(e => e.isHonorific === isHonorific).length">
<ul> <ul>
@ -127,7 +127,7 @@
<div v-else class="card"> <div v-else class="card">
<div class="card-header"> <div class="card-header">
<Icon v="sliders-h-square"/> <Icon v="sliders-h-square"/>
<T>pronouns.alt.header</T>: <T>pronouns.alt.header</T><T>quotation.colon</T>
</div> </div>
<div class="card-body"> <div class="card-body">
<div class="card-title"> <div class="card-title">

View File

@ -5,7 +5,7 @@
<T>terms.header</T> <T>terms.header</T>
</h2> </h2>
<p class="small"><em><T>terms.lastUpdate</T>: 2021-11-24</em></p> <p class="small"><em><T>terms.lastUpdate</T><T>quotation.colon</T> 2021-11-24</em></p>
<p> <p>
These Terms of Service govern your access to and use of the Service provided on the website These Terms of Service govern your access to and use of the Service provided on the website