mirror of
https://framagit.org/les/gancio.git
synced 2025-01-31 16:42:22 +01:00
Merge branch 'master' of framagit.org:/les/gancio into feat/geolocation_allow_to_change_providers_merge
This commit is contained in:
commit
96694d3d58
22 changed files with 173 additions and 358 deletions
24
CHANGELOG
24
CHANGELOG
|
@ -1,27 +1,31 @@
|
||||||
All notable changes to this project will be documented in this file.
|
All notable changes to this project will be documented in this file.
|
||||||
|
|
||||||
### UNRELEASED
|
### 1.6.0 - 30 nov '22
|
||||||
- new plugin system - fix #177
|
- new plugin system - fix #177
|
||||||
- new "publish on telegram" plugin: (thanks @fadelkon)
|
- new "publish on telegram" plugin: (thanks @fadelkon)
|
||||||
- i18n refactoring
|
|
||||||
- people can now choose the language displayed - fix #171
|
- people can now choose the language displayed - fix #171
|
||||||
- fix place "[Object]" issue - #194
|
|
||||||
- live search
|
|
||||||
- admin could choose a custom fallback image - fix #195
|
- admin could choose a custom fallback image - fix #195
|
||||||
- it is now possible NOT to enter the end time of an event - fix #188
|
- it is now possible NOT to enter the end time of an event - fix #188
|
||||||
- Wordpress plugin now supports MU installation
|
- live search
|
||||||
- add nominatim / openstreetmap feature (thanks @sedum)
|
|
||||||
- improve event import
|
- improve event import
|
||||||
- new chinese translation
|
|
||||||
- new portuguese translation
|
|
||||||
- add Apple touch icon - fix #200
|
- add Apple touch icon - fix #200
|
||||||
- improve navbar layout
|
- add nominatim / openstreetmap search feature (thanks @sedum)
|
||||||
- improve event layout
|
|
||||||
- new hide calendar option
|
- new hide calendar option
|
||||||
- new hide thumbs from homepage option
|
- new hide thumbs from homepage option
|
||||||
|
- linkable admin tab
|
||||||
|
- friendly instances label is now customizable (thanks @sedum)
|
||||||
|
- i18n refactoring
|
||||||
|
- Wordpress plugin now supports MU installation
|
||||||
|
- new chinese translation
|
||||||
|
- new portuguese translation
|
||||||
|
- improve navbar layout
|
||||||
|
- improve event layout
|
||||||
- complete oauth2 refactoring
|
- complete oauth2 refactoring
|
||||||
|
- fix ics unique uuid
|
||||||
|
- fix place "[Object]" issue - #194
|
||||||
- fix random restart while downloading random media
|
- fix random restart while downloading random media
|
||||||
- fix mobile dialog layout
|
- fix mobile dialog layout
|
||||||
|
- urlencode place and tag urls
|
||||||
|
|
||||||
|
|
||||||
### 1.5.6 - 22 set '22
|
### 1.5.6 - 22 set '22
|
||||||
|
|
|
@ -32,13 +32,13 @@ export default {
|
||||||
</script>
|
</script>
|
||||||
<style>
|
<style>
|
||||||
nav {
|
nav {
|
||||||
background-image: linear-gradient(rgba(59, 0, 0, 0.4), rgba(0, 0, 0, 0.4)), url(/headerimage.png);
|
background-image: linear-gradient(rgba(0, 0, 0, 0.8), rgba(20, 20, 20, 0.7)), url(/headerimage.png);
|
||||||
background-position: center center;
|
background-position: center center;
|
||||||
background-size: cover;
|
background-size: cover;
|
||||||
}
|
}
|
||||||
|
|
||||||
.theme--light nav {
|
.theme--light nav {
|
||||||
background-image: linear-gradient(to bottom, rgba(255,230,230,.95), rgba(250,250,250,.95)), url(/headerimage.png);
|
background-image: linear-gradient(to bottom, rgba(230,230,230,.95), rgba(250,250,250,.95)), url(/headerimage.png);
|
||||||
}
|
}
|
||||||
|
|
||||||
#title {
|
#title {
|
||||||
|
|
|
@ -3,12 +3,11 @@ v-col(cols=12)
|
||||||
.text-center
|
.text-center
|
||||||
v-btn-toggle.v-col-6.flex-column.flex-sm-row(v-model='type' color='primary' @change='type => change("type", type)')
|
v-btn-toggle.v-col-6.flex-column.flex-sm-row(v-model='type' color='primary' @change='type => change("type", type)')
|
||||||
v-btn(value='normal' label="normal") {{ $t('event.normal') }}
|
v-btn(value='normal' label="normal") {{ $t('event.normal') }}
|
||||||
v-btn(value='multidate' label='multidate') {{ $t('event.multidate') }}
|
v-btn(v-if='settings.allow_multidate_event' value='multidate' label='multidate') {{ $t('event.multidate') }}
|
||||||
v-btn(v-if='settings.allow_recurrent_event' value='recurrent' label="recurrent") {{ $t('event.recurrent') }}
|
v-btn(v-if='settings.allow_recurrent_event' value='recurrent' label="recurrent") {{ $t('event.recurrent') }}
|
||||||
|
|
||||||
p {{ $t(`event.${type}_description`) }}
|
p {{ $t(`event.${type}_description`) }}
|
||||||
|
|
||||||
|
|
||||||
v-btn-toggle.v-col-6.flex-column.flex-sm-row(v-if='type === "recurrent"' color='primary' :value='value.recurrent.frequency' @change='fq => change("frequency", fq)')
|
v-btn-toggle.v-col-6.flex-column.flex-sm-row(v-if='type === "recurrent"' color='primary' :value='value.recurrent.frequency' @change='fq => change("frequency", fq)')
|
||||||
v-btn(v-for='f in frequencies' :key='f.value' :value='f.value') {{ f.text }}
|
v-btn(v-for='f in frequencies' :key='f.value' :value='f.value') {{ f.text }}
|
||||||
|
|
||||||
|
@ -60,7 +59,7 @@ v-col(cols=12)
|
||||||
:allowedMinutes='allowedMinutes'
|
:allowedMinutes='allowedMinutes'
|
||||||
format='24hr'
|
format='24hr'
|
||||||
@click:minute='menuFromHour = false'
|
@click:minute='menuFromHour = false'
|
||||||
@change='hr => change("fromHour", hr)')
|
@input='hr => change("fromHour", hr)')
|
||||||
|
|
||||||
|
|
||||||
v-col.col-12.col-sm-6
|
v-col.col-12.col-sm-6
|
||||||
|
@ -88,7 +87,7 @@ v-col(cols=12)
|
||||||
:allowedMinutes='allowedMinutes'
|
:allowedMinutes='allowedMinutes'
|
||||||
format='24hr'
|
format='24hr'
|
||||||
@click:minute='menuDueHour = false'
|
@click:minute='menuDueHour = false'
|
||||||
@change='hr => change("dueHour", hr)')
|
@input='hr => change("dueHour", hr)')
|
||||||
|
|
||||||
List(v-if='type === "normal" && todayEvents.length' :events='todayEvents' :title='$t("event.same_day")')
|
List(v-if='type === "normal" && todayEvents.length' :events='todayEvents' :title='$t("event.same_day")')
|
||||||
|
|
||||||
|
@ -235,6 +234,15 @@ export default {
|
||||||
} else if (what === 'dueHour') {
|
} else if (what === 'dueHour') {
|
||||||
if (value) {
|
if (value) {
|
||||||
this.value.due = this.value.due ? this.value.due : this.value.from
|
this.value.due = this.value.due ? this.value.due : this.value.from
|
||||||
|
const [hour, minute] = value.split(':')
|
||||||
|
const [fromHour, fromMinute] = this.value.fromHour.split(':')
|
||||||
|
if (!this.value.multidate) {
|
||||||
|
if (hour < fromHour) {
|
||||||
|
this.value.due = dayjs(this.value.from).add(1, 'day').toDate()
|
||||||
|
} else {
|
||||||
|
this.value.due = dayjs(this.value.from).toDate()
|
||||||
|
}
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
this.value.due = null
|
this.value.due = null
|
||||||
}
|
}
|
||||||
|
|
|
@ -39,6 +39,10 @@ v-container
|
||||||
inset
|
inset
|
||||||
:label="$t('admin.allow_anon_event')")
|
:label="$t('admin.allow_anon_event')")
|
||||||
|
|
||||||
|
v-switch.mt-1(v-model='allow_multidate_event'
|
||||||
|
inset
|
||||||
|
:label="$t('admin.allow_multidate_event')")
|
||||||
|
|
||||||
v-switch.mt-1(v-model='allow_recurrent_event'
|
v-switch.mt-1(v-model='allow_recurrent_event'
|
||||||
inset
|
inset
|
||||||
:label="$t('admin.allow_recurrent_event')")
|
:label="$t('admin.allow_recurrent_event')")
|
||||||
|
@ -115,6 +119,10 @@ export default {
|
||||||
get () { return this.settings.allow_recurrent_event },
|
get () { return this.settings.allow_recurrent_event },
|
||||||
set (value) { this.setSetting({ key: 'allow_recurrent_event', value }) }
|
set (value) { this.setSetting({ key: 'allow_recurrent_event', value }) }
|
||||||
},
|
},
|
||||||
|
allow_multidate_event: {
|
||||||
|
get () { return this.settings.allow_multidate_event },
|
||||||
|
set (value) { this.setSetting({ key: 'allow_multidate_event', value }) }
|
||||||
|
},
|
||||||
recurrent_event_visible: {
|
recurrent_event_visible: {
|
||||||
get () { return this.settings.recurrent_event_visible },
|
get () { return this.settings.recurrent_event_visible },
|
||||||
set (value) { this.setSetting({ key: 'recurrent_event_visible', value }) }
|
set (value) { this.setSetting({ key: 'recurrent_event_visible', value }) }
|
||||||
|
|
|
@ -16,6 +16,7 @@ v-container
|
||||||
:label="$t('admin.hide_calendar')")
|
:label="$t('admin.hide_calendar')")
|
||||||
|
|
||||||
v-card-title {{$t('admin.default_images')}}
|
v-card-title {{$t('admin.default_images')}}
|
||||||
|
v-card-subtitle(v-html="$t('admin.default_images_help')")
|
||||||
v-card-text
|
v-card-text
|
||||||
v-row
|
v-row
|
||||||
v-col(cols='4')
|
v-col(cols='4')
|
||||||
|
@ -109,12 +110,13 @@ import { mdiDeleteForever, mdiRestore, mdiPlus, mdiChevronUp } from '@mdi/js'
|
||||||
export default {
|
export default {
|
||||||
name: 'Theme',
|
name: 'Theme',
|
||||||
data () {
|
data () {
|
||||||
|
const t = new Date().getMilliseconds()
|
||||||
return {
|
return {
|
||||||
mdiDeleteForever, mdiRestore, mdiPlus, mdiChevronUp,
|
mdiDeleteForever, mdiRestore, mdiPlus, mdiChevronUp,
|
||||||
valid: false,
|
valid: false,
|
||||||
logoKey: 0,
|
logoKey: t,
|
||||||
fallbackImageKey: 0,
|
fallbackImageKey: t,
|
||||||
headerImageKey: 0,
|
headerImageKey: t,
|
||||||
link: { href: '', label: '' },
|
link: { href: '', label: '' },
|
||||||
linkModal: false
|
linkModal: false
|
||||||
// menu: [false, false, false, false]
|
// menu: [false, false, false, false]
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
Subproject commit 12640461481cc39cdee8efa05e7fd02a6a60e99c
|
Subproject commit 0486d0852db569b7064535f0d52709e06e9ecd1f
|
|
@ -1 +0,0 @@
|
||||||
{}
|
|
|
@ -192,6 +192,7 @@
|
||||||
"event_remove_ok": "Event removed",
|
"event_remove_ok": "Event removed",
|
||||||
"allow_registration_description": "Allow open registrations?",
|
"allow_registration_description": "Allow open registrations?",
|
||||||
"allow_anon_event": "Allow anonymous events (has to be confirmed)?",
|
"allow_anon_event": "Allow anonymous events (has to be confirmed)?",
|
||||||
|
"allow_multidate_event": "Allow multi-day events",
|
||||||
"allow_recurrent_event": "Allow recurring events",
|
"allow_recurrent_event": "Allow recurring events",
|
||||||
"allow_geolocation": "Allow events geolocation",
|
"allow_geolocation": "Allow events geolocation",
|
||||||
"recurrent_event_visible": "Show recurring events by default",
|
"recurrent_event_visible": "Show recurring events by default",
|
||||||
|
@ -265,6 +266,7 @@
|
||||||
"hide_thumbs": "Hide thumbs",
|
"hide_thumbs": "Hide thumbs",
|
||||||
"hide_calendar": "Hide calendar",
|
"hide_calendar": "Hide calendar",
|
||||||
"default_images": "Default images",
|
"default_images": "Default images",
|
||||||
|
"default_images_help": "You have to <a href='/admin?tab=theme'>refresh</a> the page to see the changes.",
|
||||||
"blocked": "Blocked",
|
"blocked": "Blocked",
|
||||||
"domain": "Domain",
|
"domain": "Domain",
|
||||||
"known_users": "Known users",
|
"known_users": "Known users",
|
||||||
|
|
|
@ -98,7 +98,10 @@
|
||||||
"about": "Sobre el sitio",
|
"about": "Sobre el sitio",
|
||||||
"close": "Cerrar",
|
"close": "Cerrar",
|
||||||
"help_translate": "Ayuda a traducir",
|
"help_translate": "Ayuda a traducir",
|
||||||
"calendar": "Calendario"
|
"calendar": "Calendario",
|
||||||
|
"content": "Contenido",
|
||||||
|
"admin_actions": "Acciones de administrador",
|
||||||
|
"recurring_event_actions": "Acciones de eventos recurrentes"
|
||||||
},
|
},
|
||||||
"login": {
|
"login": {
|
||||||
"description": "Entrando podrás publicar nuevos eventos.",
|
"description": "Entrando podrás publicar nuevos eventos.",
|
||||||
|
@ -268,7 +271,12 @@
|
||||||
"smtp_use_sendmail": "Usar sendmail",
|
"smtp_use_sendmail": "Usar sendmail",
|
||||||
"wrong_domain_warning": "El parámetro baseurl configurado en config.json <b>({baseurl})</b> difiere del que estás visitando <b>({url})</b>",
|
"wrong_domain_warning": "El parámetro baseurl configurado en config.json <b>({baseurl})</b> difiere del que estás visitando <b>({url})</b>",
|
||||||
"new_collection": "Nueva colección",
|
"new_collection": "Nueva colección",
|
||||||
"collections_description": "Las colecciones son agrupaciones de eventos por etiquetas y ubicaciones. Serán desplegadas en la página de inicio"
|
"collections_description": "Las colecciones son agrupaciones de eventos por etiquetas y ubicaciones. Serán desplegadas en la página de inicio",
|
||||||
|
"domain": "Dominio",
|
||||||
|
"created_at": "Creado a las",
|
||||||
|
"blocked": "Bloqueado",
|
||||||
|
"known_users": "Usuarios conocidos",
|
||||||
|
"default_images_help": "Tienes que <a href='/admin?tab=theme'>actualizas</a> la página para ver los cambios."
|
||||||
},
|
},
|
||||||
"auth": {
|
"auth": {
|
||||||
"not_confirmed": "Todavía no hemos confirmado este email…",
|
"not_confirmed": "Todavía no hemos confirmado este email…",
|
||||||
|
|
|
@ -25,7 +25,7 @@
|
||||||
"events": "Ekitaldiak",
|
"events": "Ekitaldiak",
|
||||||
"places": "Lekuak",
|
"places": "Lekuak",
|
||||||
"settings": "Aukerak",
|
"settings": "Aukerak",
|
||||||
"actions": "Ekintzak",
|
"actions": "Eragiketak",
|
||||||
"deactivate": "Desaktibatu",
|
"deactivate": "Desaktibatu",
|
||||||
"remove_admin": "Kendu administratzaile baimena",
|
"remove_admin": "Kendu administratzaile baimena",
|
||||||
"activate": "Aktibatu",
|
"activate": "Aktibatu",
|
||||||
|
@ -95,7 +95,10 @@
|
||||||
"show_map": "Erakutsi mapa",
|
"show_map": "Erakutsi mapa",
|
||||||
"calendar": "Egutegia",
|
"calendar": "Egutegia",
|
||||||
"home": "Etxea",
|
"home": "Etxea",
|
||||||
"about": "Honi buruz"
|
"about": "Honi buruz",
|
||||||
|
"recurring_event_actions": "Ekitaldi errepikarien eragiketak",
|
||||||
|
"content": "Edukia",
|
||||||
|
"admin_actions": "Administratzaile eragiketak"
|
||||||
},
|
},
|
||||||
"login": {
|
"login": {
|
||||||
"description": "Saioa hasten baduzu ekitaldi berriak sortu ahal izango dituzu.",
|
"description": "Saioa hasten baduzu ekitaldi berriak sortu ahal izango dituzu.",
|
||||||
|
@ -265,7 +268,12 @@
|
||||||
"config_plugin": "Pluginaren konfigurazioa",
|
"config_plugin": "Pluginaren konfigurazioa",
|
||||||
"fallback_image": "Lehenetsitako irudia",
|
"fallback_image": "Lehenetsitako irudia",
|
||||||
"header_image": "Goiburuko irudia",
|
"header_image": "Goiburuko irudia",
|
||||||
"default_images": "Lehenetsitako irudiak"
|
"default_images": "Lehenetsitako irudiak",
|
||||||
|
"blocked": "Blokeatuta",
|
||||||
|
"domain": "Domeinua",
|
||||||
|
"default_images_help": "Orrialdea <a href='/admin?tab=theme'>freskatu</a> behar duzu aldaketak ikusteko.",
|
||||||
|
"known_users": "Erabiltzaile ezagunak",
|
||||||
|
"created_at": "Noiz sortua:"
|
||||||
},
|
},
|
||||||
"auth": {
|
"auth": {
|
||||||
"not_confirmed": "Oraindik baieztatu gabe dago…",
|
"not_confirmed": "Oraindik baieztatu gabe dago…",
|
||||||
|
|
|
@ -93,7 +93,15 @@
|
||||||
"show_map": "Mostrar mapa",
|
"show_map": "Mostrar mapa",
|
||||||
"latitude": "Latitude",
|
"latitude": "Latitude",
|
||||||
"longitude": "Longitude",
|
"longitude": "Longitude",
|
||||||
"getting_there": "Chegar lá"
|
"getting_there": "Chegar lá",
|
||||||
|
"plugins": "Complementos",
|
||||||
|
"help_translate": "Axuda coa tradución",
|
||||||
|
"calendar": "Calendario",
|
||||||
|
"home": "Inicio",
|
||||||
|
"about": "Acerca de",
|
||||||
|
"content": "Contido",
|
||||||
|
"admin_actions": "Accións de Admin",
|
||||||
|
"recurring_event_actions": "Accións de eventos recurrentes"
|
||||||
},
|
},
|
||||||
"recover": {
|
"recover": {
|
||||||
"not_valid_code": "Algo fallou."
|
"not_valid_code": "Algo fallou."
|
||||||
|
@ -163,7 +171,9 @@
|
||||||
"alt_text_description": "Descrición para persoas con problemas de visión",
|
"alt_text_description": "Descrición para persoas con problemas de visión",
|
||||||
"choose_focal_point": "Elixe onde centrar a atención",
|
"choose_focal_point": "Elixe onde centrar a atención",
|
||||||
"remove_media_confirmation": "Confirmas a eliminación da imaxe?",
|
"remove_media_confirmation": "Confirmas a eliminación da imaxe?",
|
||||||
"download_flyer": "Descargar folleto"
|
"download_flyer": "Descargar folleto",
|
||||||
|
"address_description": "Cal é o enderezo?",
|
||||||
|
"address_description_osm": "Cal é o enderezo? (Contribuíntes a <a href='http://osm.org/copyright'>OpenStreetMap</a>)"
|
||||||
},
|
},
|
||||||
"admin": {
|
"admin": {
|
||||||
"place_description": "Se escribiches mal o lugar ou enderezo, podes cambialo.<br/>Cambiará o enderezo de tódolos eventos actuais e pasados asociados a este lugar.",
|
"place_description": "Se escribiches mal o lugar ou enderezo, podes cambialo.<br/>Cambiará o enderezo de tódolos eventos actuais e pasados asociados a este lugar.",
|
||||||
|
@ -247,8 +257,19 @@
|
||||||
"disable_admin_user_confirm": "Tes certeza de querer retirar os permisos de administración a {user}?",
|
"disable_admin_user_confirm": "Tes certeza de querer retirar os permisos de administración a {user}?",
|
||||||
"sender_email": "Remitente",
|
"sender_email": "Remitente",
|
||||||
"collections_description": "As coleccións son agrupamentos de eventos por etiqueta ou lugar. Pode ser mostrado na páxina de inicio",
|
"collections_description": "As coleccións son agrupamentos de eventos por etiqueta ou lugar. Pode ser mostrado na páxina de inicio",
|
||||||
"enable_admin_user_confirm": "Tes a certeza de querer darlle permisos de administración a {user}?",
|
"enable_admin_user_confirm": "Tes a certeza de engadir permiso de admin a {user}?",
|
||||||
"smtp_use_sendmail": "Usar sendmail"
|
"smtp_use_sendmail": "Usar sendmail",
|
||||||
|
"config_plugin": "Configuración do complemento",
|
||||||
|
"known_users": "Usuarias coñecidas",
|
||||||
|
"created_at": "Creado o",
|
||||||
|
"fallback_image": "Imaxe por omisión",
|
||||||
|
"header_image": "Imaxe da cabeceira",
|
||||||
|
"hide_thumbs": "Agochar miniaturas",
|
||||||
|
"hide_calendar": "Agochar calendario",
|
||||||
|
"default_images": "Imaxes por defecto",
|
||||||
|
"blocked": "Bloqueado",
|
||||||
|
"domain": "Dominio",
|
||||||
|
"default_images_help": "Tes que <a href='/admin?tab=theme'>actualizar</a> a páxina para ver os cambios."
|
||||||
},
|
},
|
||||||
"auth": {
|
"auth": {
|
||||||
"not_confirmed": "Aínda non foi confirmado…",
|
"not_confirmed": "Aínda non foi confirmado…",
|
||||||
|
|
|
@ -258,6 +258,11 @@
|
||||||
"hide_thumbs": "Nascondi immaginine",
|
"hide_thumbs": "Nascondi immaginine",
|
||||||
"hide_calendar": "Nascondi calendario",
|
"hide_calendar": "Nascondi calendario",
|
||||||
"default_images": "Immagini preimpostate",
|
"default_images": "Immagini preimpostate",
|
||||||
|
"default_images_help": "Devi <a href='/admin?tab=theme'>aggiornare</a> la pagina per vedere le modifiche.",
|
||||||
|
"blocked": "Bloccato",
|
||||||
|
"domain": "Domini",
|
||||||
|
"known_users": "Utenti conosciuti",
|
||||||
|
"created_at": "Creato il",
|
||||||
"show_geolocation_setup": "Impostazioni geolocalizzazione e mappa",
|
"show_geolocation_setup": "Impostazioni geolocalizzazione e mappa",
|
||||||
"geolocation_description": "<b>1. Definisci un fornitore per il servizio di georeferenziazione (geocodifica)</b>.<br>Al momento, tra quelli elencati nella <a href=\"https://wiki.openstreetmap.org/wiki/Nominatim#Alternatives_.2F_Third-party_providers\">wiki di OpenStreetMap</a>, è presente il supporto per i software <a href=\"https://github.com/osm-search/Nominatim\">Nominatim</a> e <a href=\"https://github.com/komoot/photon\">Photon</a>.<br>Puoi utilizzare una delle relative demo ufficiali copiandone il link nel campo 'Fornitore georeferenziazione':<ul><li>https://nominatim.openstreetmap.org/ <a href=\"https://operations.osmfoundation.org/policies/nominatim/\"> [Terms of Service]</a></li><li>https://photon.komoot.io/api/ <a href=\"https://photon.komoot.io/\"> [Terms of Service]</a></li></ul><br><b>2. Definisci un fornitore di layers per la mappa.</b><br>Qui puoi trovarne una lista: <a href=\"https://leaflet-extras.github.io/leaflet-providers/preview/\">https://leaflet-extras.github.io/leaflet-providers/preview/</a>",
|
"geolocation_description": "<b>1. Definisci un fornitore per il servizio di georeferenziazione (geocodifica)</b>.<br>Al momento, tra quelli elencati nella <a href=\"https://wiki.openstreetmap.org/wiki/Nominatim#Alternatives_.2F_Third-party_providers\">wiki di OpenStreetMap</a>, è presente il supporto per i software <a href=\"https://github.com/osm-search/Nominatim\">Nominatim</a> e <a href=\"https://github.com/komoot/photon\">Photon</a>.<br>Puoi utilizzare una delle relative demo ufficiali copiandone il link nel campo 'Fornitore georeferenziazione':<ul><li>https://nominatim.openstreetmap.org/ <a href=\"https://operations.osmfoundation.org/policies/nominatim/\"> [Terms of Service]</a></li><li>https://photon.komoot.io/api/ <a href=\"https://photon.komoot.io/\"> [Terms of Service]</a></li></ul><br><b>2. Definisci un fornitore di layers per la mappa.</b><br>Qui puoi trovarne una lista: <a href=\"https://leaflet-extras.github.io/leaflet-providers/preview/\">https://leaflet-extras.github.io/leaflet-providers/preview/</a>",
|
||||||
"geocoding_provider_type": "Software fornitore georeferenziazione",
|
"geocoding_provider_type": "Software fornitore georeferenziazione",
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"common": {
|
"common": {
|
||||||
"add_event": "Adicionar Evento",
|
"add_event": "Adicionar evento",
|
||||||
"description": "Descrição",
|
"description": "Descrição",
|
||||||
"send": "Enviar",
|
"send": "Enviar",
|
||||||
"address": "Endereço",
|
"address": "Endereço",
|
||||||
|
@ -13,7 +13,7 @@
|
||||||
"what": "O que",
|
"what": "O que",
|
||||||
"media": "Media",
|
"media": "Media",
|
||||||
"password": "Senha",
|
"password": "Senha",
|
||||||
"register": "Registro",
|
"register": "Registrar",
|
||||||
"remove": "Remover",
|
"remove": "Remover",
|
||||||
"confirm": "Confirmar",
|
"confirm": "Confirmar",
|
||||||
"events": "Eventos",
|
"events": "Eventos",
|
||||||
|
@ -22,8 +22,8 @@
|
||||||
"edit": "Editar",
|
"edit": "Editar",
|
||||||
"admin": "Admin",
|
"admin": "Admin",
|
||||||
"places": "Lugares",
|
"places": "Lugares",
|
||||||
"hide": "Esconder",
|
"hide": "Ocultar",
|
||||||
"search": "Procurar",
|
"search": "Buscar",
|
||||||
"info": "Info",
|
"info": "Info",
|
||||||
"users": "Usuários",
|
"users": "Usuários",
|
||||||
"share": "Compartilhar",
|
"share": "Compartilhar",
|
||||||
|
@ -76,11 +76,11 @@
|
||||||
"logout_ok": "Deslogado",
|
"logout_ok": "Deslogado",
|
||||||
"n_resources": "nenhum recurso|um recurso|{n} recursos",
|
"n_resources": "nenhum recurso|um recurso|{n} recursos",
|
||||||
"embed": "Incorporar",
|
"embed": "Incorporar",
|
||||||
"embed_title": "Incorpore este evento na sua página",
|
"embed_title": "Incorpore este evento em sua página",
|
||||||
"embed_help": "Copie o código seguinte em sua página e o evento será apresentado desta maneira",
|
"embed_help": "Copie o seguinte código em sua página e o evento será exibido desta maneira",
|
||||||
"displayname": "Nome de exibição",
|
"displayname": "Nome de exibição",
|
||||||
"feed_url_copied": "Abra a URL do feed no seu leitor RSS",
|
"feed_url_copied": "Abra a URL copiada do feed em seu leitor de RSS",
|
||||||
"follow_me_title": "Seguir atualizações a partir do Fediverso",
|
"follow_me_title": "Siga as atualizações pelo Fediverso",
|
||||||
"tags": "Marcadores",
|
"tags": "Marcadores",
|
||||||
"theme": "Tema",
|
"theme": "Tema",
|
||||||
"reset": "Reiniciar",
|
"reset": "Reiniciar",
|
||||||
|
@ -88,18 +88,27 @@
|
||||||
"collections": "Coleções",
|
"collections": "Coleções",
|
||||||
"max_events": "N. máximo de eventos",
|
"max_events": "N. máximo de eventos",
|
||||||
"label": "Etiqueta",
|
"label": "Etiqueta",
|
||||||
"close": "Fechar"
|
"close": "Fechar",
|
||||||
|
"plugins": "Plugins",
|
||||||
|
"help_translate": "Ajude a traduzir",
|
||||||
|
"show_map": "Mostrar mapa",
|
||||||
|
"calendar": "Calendário",
|
||||||
|
"home": "Início",
|
||||||
|
"about": "Sobre",
|
||||||
|
"content": "Conteúdo",
|
||||||
|
"admin_actions": "Ações de admin",
|
||||||
|
"recurring_event_actions": "Ações de eventos recorrentes"
|
||||||
},
|
},
|
||||||
"admin": {
|
"admin": {
|
||||||
"user_block_confirm": "Você está certo que quer bloquer o usuário {user}?",
|
"user_block_confirm": "Você está certo que quer bloquear o usuário {user}?",
|
||||||
"filter_instances": "Filtrar instâncias",
|
"filter_instances": "Filtrar instâncias",
|
||||||
"user_add_help": "Um e-mail con instruções para confirmar a inscrição e escolher uma senha será enviada ao novo usuário",
|
"user_add_help": "Um e-mail com instruções para confirmar a inscrição e escolher uma senha será enviada ao novo usuário",
|
||||||
"show_resource": "Mostrar recurso",
|
"show_resource": "Mostrar recurso",
|
||||||
"block_user": "Bloquear usuário",
|
"block_user": "Bloquear usuário",
|
||||||
"filter_users": "Filtrar usuários",
|
"filter_users": "Filtrar usuários",
|
||||||
"hide_resource": "Ocultar recurso",
|
"hide_resource": "Ocultar recurso",
|
||||||
"delete_resource": "Remover recurso",
|
"delete_resource": "Remover recurso",
|
||||||
"delete_resource_confirm": "Você está certo que quer remover esse recurso?",
|
"delete_resource_confirm": "Você está certo que quer remover este recurso?",
|
||||||
"show_smtp_setup": "Configurações de e-mail",
|
"show_smtp_setup": "Configurações de e-mail",
|
||||||
"resources": "Recursos",
|
"resources": "Recursos",
|
||||||
"delete_announcement_confirm": "Você está certo que quer remover o anúncio?",
|
"delete_announcement_confirm": "Você está certo que quer remover o anúncio?",
|
||||||
|
@ -107,7 +116,7 @@
|
||||||
"collections_description": "Coleções são agrupamentos de eventos por marcadores e locais. Eles serão exibidos na página principal",
|
"collections_description": "Coleções são agrupamentos de eventos por marcadores e locais. Eles serão exibidos na página principal",
|
||||||
"new_collection": "Nova coleção",
|
"new_collection": "Nova coleção",
|
||||||
"disable_admin_user_confirm": "Você está certo que quer remover permissões de administração de {user}?",
|
"disable_admin_user_confirm": "Você está certo que quer remover permissões de administração de {user}?",
|
||||||
"enable_admin_user_confirm": "Você está certo que quer adicionar permissões de administrador para {user}",
|
"enable_admin_user_confirm": "Você está certo que quer adicionar permissões de administrador para {user}?",
|
||||||
"event_remove_ok": "Evento removido",
|
"event_remove_ok": "Evento removido",
|
||||||
"smtp_description": "<ul><li>Administrador deve receber um e-mail quando um evento anônimo for adicionado (se habilitado).</li><li>Administrador deve receber um e-mail de requisição de registro (se habilitado).</li><li>Usuário deve receber um e-mail de solicitação de registro.</li><li>Usuário deve receber um e-mail de confirmação de registro.</li><li>Usuário deve recever um e-mail de confirmação quando registrado diretamente por um administrador.</li><li>Usuários devem receber um e-mail para recuperar a senha quando eles esquecerem ela</li></ul>",
|
"smtp_description": "<ul><li>Administrador deve receber um e-mail quando um evento anônimo for adicionado (se habilitado).</li><li>Administrador deve receber um e-mail de requisição de registro (se habilitado).</li><li>Usuário deve receber um e-mail de solicitação de registro.</li><li>Usuário deve receber um e-mail de confirmação de registro.</li><li>Usuário deve recever um e-mail de confirmação quando registrado diretamente por um administrador.</li><li>Usuários devem receber um e-mail para recuperar a senha quando eles esquecerem ela</li></ul>",
|
||||||
"allow_registration_description": "Permitir registro aberto de usuários?",
|
"allow_registration_description": "Permitir registro aberto de usuários?",
|
||||||
|
@ -138,7 +147,7 @@
|
||||||
"smtp_secure": "SMTP Seguro (TLS ou STARTTLS)",
|
"smtp_secure": "SMTP Seguro (TLS ou STARTTLS)",
|
||||||
"smtp_use_sendmail": "Utilizar sendmail",
|
"smtp_use_sendmail": "Utilizar sendmail",
|
||||||
"instance_place_help": "A etiqueta para exibir em outras instâncias",
|
"instance_place_help": "A etiqueta para exibir em outras instâncias",
|
||||||
"delete_trusted_instance_confirm": "Você quer realmente remover esse item do menu de instâncias amigas?",
|
"delete_trusted_instance_confirm": "Você quer realmente remover este item do menu de instâncias amigas?",
|
||||||
"sender_email": "E-mail do remetente",
|
"sender_email": "E-mail do remetente",
|
||||||
"widget": "Widget",
|
"widget": "Widget",
|
||||||
"wrong_domain_warning": "A baseurl configurado em config.json <b>({baseurl})</b> é diferente da que você está visitando <b>({url})</b>",
|
"wrong_domain_warning": "A baseurl configurado em config.json <b>({baseurl})</b> é diferente da que você está visitando <b>({url})</b>",
|
||||||
|
@ -160,7 +169,7 @@
|
||||||
"allow_recurrent_event": "Permitir eventos recorrentes",
|
"allow_recurrent_event": "Permitir eventos recorrentes",
|
||||||
"recurrent_event_visible": "Exibir eventos recorrentes por padrão",
|
"recurrent_event_visible": "Exibir eventos recorrentes por padrão",
|
||||||
"user_blocked": "Usuário {user} bloqueado",
|
"user_blocked": "Usuário {user} bloqueado",
|
||||||
"announcement_description": "Nesta seção você pode inserir um anúncio para ser exibido na página principal",
|
"announcement_description": "Nesta seção você pode inserir anúncios que serão exibidos na página principal",
|
||||||
"description_description": "Exibido no cabeçalho próximo ao título",
|
"description_description": "Exibido no cabeçalho próximo ao título",
|
||||||
"instance_place": "Local indicativo desta instância",
|
"instance_place": "Local indicativo desta instância",
|
||||||
"is_dark": "Tema escuro",
|
"is_dark": "Tema escuro",
|
||||||
|
@ -168,14 +177,26 @@
|
||||||
"new_announcement": "Novo anúncio",
|
"new_announcement": "Novo anúncio",
|
||||||
"federation": "Federação / ActivityPub",
|
"federation": "Federação / ActivityPub",
|
||||||
"smtp_test_success": "Um e-mail de teste foi enviado para {admin_email}, por favor verifique sua caixa de entrada",
|
"smtp_test_success": "Um e-mail de teste foi enviado para {admin_email}, por favor verifique sua caixa de entrada",
|
||||||
"smtp_test_button": "Enviar e-mail de teste"
|
"smtp_test_button": "Enviar e-mail de teste",
|
||||||
|
"allow_geolocation": "Permitir geolocalização de eventos",
|
||||||
|
"config_plugin": "Configuração de plugin",
|
||||||
|
"fallback_image": "Imagem alternativa",
|
||||||
|
"header_image": "Imagem de cabeçalho",
|
||||||
|
"hide_thumbs": "Ocultar miniaturas",
|
||||||
|
"default_images_help": "Você precisa <a href='/admin?tab=theme'>recarregar</a> a página para ver as mudanças.",
|
||||||
|
"domain": "Domínio",
|
||||||
|
"default_images": "Imagens padrão",
|
||||||
|
"known_users": "Usuários conhecidos",
|
||||||
|
"created_at": "Criado em",
|
||||||
|
"hide_calendar": "Ocultar calendário",
|
||||||
|
"blocked": "Bloqueado"
|
||||||
},
|
},
|
||||||
"event": {
|
"event": {
|
||||||
"follow_me_description": "Uma das maneiras de se manter atualizado com os eventos publicados aqui em {title},\né seguir a conta <u>{account}</u> no Fediverso, por exemplo via Mastodon, e possivelmente adicionar recursos para um evento a partir de lá.<br/><br/>\nSe você nunca ouviu falar sobre Mastodon ou do Fediverso nós recomendamos ler <a href='https://www.savjee.be/videos/simply-explained/mastodon-and-fediverse-explained/'>este artigo</a>.<br/><br/>Entre com sua instância abaixo (e.g. mastodon.social)",
|
"follow_me_description": "Uma das maneiras de se manter atualizado com os eventos publicados aqui em {title},\né seguir a conta <u>{account}</u> no Fediverso, por exemplo via Mastodon, e possivelmente adicionar recursos para um evento a partir de lá.<br/><br/>\nSe você nunca ouviu falar sobre Mastodon ou do Fediverso nós recomendamos ler <a href='https://www.savjee.be/videos/simply-explained/mastodon-and-fediverse-explained/'>este artigo</a>.<br/><br/>Entre com sua instância abaixo (e.g. mastodon.social)",
|
||||||
"saved": "Evento salvo",
|
"saved": "Evento salvo",
|
||||||
"recurrent": "Recorrente",
|
"recurrent": "Recorrente",
|
||||||
"ics": "ICS",
|
"ics": "ICS",
|
||||||
"recurrent_1m_days": "|O {days} de cada mês|{days} de cada mês",
|
"recurrent_1m_days": "Dia {days} de cada mês",
|
||||||
"interact_with_me": "Siga-me",
|
"interact_with_me": "Siga-me",
|
||||||
"media_description": "Você pode adicionar um flyer (opcional)",
|
"media_description": "Você pode adicionar um flyer (opcional)",
|
||||||
"same_day": "no mesmo dia",
|
"same_day": "no mesmo dia",
|
||||||
|
@ -202,12 +223,12 @@
|
||||||
"normal_description": "Escolha o dia.",
|
"normal_description": "Escolha o dia.",
|
||||||
"recurrent_1w_days": "A cada {days}",
|
"recurrent_1w_days": "A cada {days}",
|
||||||
"each_week": "Toda semana",
|
"each_week": "Toda semana",
|
||||||
"each_2w": "Todas outras semanas",
|
"each_2w": "A cada duas semanas",
|
||||||
"each_month": "Cada mês",
|
"each_month": "Todo mês",
|
||||||
"recurrent_2w_days": "{days} a cada dois",
|
"recurrent_2w_days": "{days} a cada dois",
|
||||||
"recurrent_2m_days": "|Dia {days} a cada dois meses|Os dias {days} a cada dois meses",
|
"recurrent_2m_days": "Dia {days} a cada dois meses",
|
||||||
"recurrent_1m_ordinal": "O {n} {days} de cada mês",
|
"recurrent_1m_ordinal": "{n} {days} de cada mês",
|
||||||
"recurrent_2m_ordinal": "|O {n} {days} a cada dois meses|O {n} {days} a cada dois meses",
|
"recurrent_2m_ordinal": "{n} {days} a cada dois meses",
|
||||||
"due": "até",
|
"due": "até",
|
||||||
"from": "De",
|
"from": "De",
|
||||||
"image_too_big": "A imagem não pode ser maior que 4MB",
|
"image_too_big": "A imagem não pode ser maior que 4MB",
|
||||||
|
@ -219,7 +240,9 @@
|
||||||
"alt_text_description": "Descrição para pessoas com deficiências visuais",
|
"alt_text_description": "Descrição para pessoas com deficiências visuais",
|
||||||
"choose_focal_point": "Escolha o ponto focal",
|
"choose_focal_point": "Escolha o ponto focal",
|
||||||
"remove_media_confirmation": "Você confirma a remoção da imagem?",
|
"remove_media_confirmation": "Você confirma a remoção da imagem?",
|
||||||
"download_flyer": "Baixar flyer"
|
"download_flyer": "Baixar flyer",
|
||||||
|
"address_description": "Qual é o endereço?",
|
||||||
|
"address_description_osm": "Qual é o endereço? (contribuidores do <a href='http://osm.org/copyright'>OpenStreetMap</a>)"
|
||||||
},
|
},
|
||||||
"confirm": {
|
"confirm": {
|
||||||
"not_valid": "Algo deu errado.",
|
"not_valid": "Algo deu errado.",
|
||||||
|
@ -231,7 +254,7 @@
|
||||||
"insert_your_address": "Informe seu endereço de e-mail",
|
"insert_your_address": "Informe seu endereço de e-mail",
|
||||||
"feed_description": "Para seguir as atualizações de um computador ou smartphone sem que você precise acessar essa página periodicamente, utilize um feeds RSS. </p>\n\n<p> Com feeds RSS você pode utilizar um app especial para receber atualizações de páginas que te interessam. É uma boa maneira de seguir muitas páginas rapidamente, sem a necessidade de criar contas de usuários ou outras complicações. </p>\n\n<li> Se você possui um Android, recomendamos <a href=\"https://f-droid.org/en/packages/net.frju.flym/\">Flym</a> ou Feeder </li>\n<li> Para iPhone / iPad você pode utilizar <a href=\"https://itunes.apple.com/ua/app/feeds4u/id1038456442?mt=8\"> Feed4U </a> </li>\n<li> Para desktop / laptop nós recomendamos Feedbro, que pode ser instalado no <a href=\"https://addons.mozilla.org/en-GB/firefox/addon/feedbroreader/\"> Firefox </a> ou <a href=\"https://chrome.google.com/webstore/detail/feedbro/mefgmmbdailogpfhfblcnnjfmnpnmdfa\"> Chrome </a>. </li>\n<br/>\nAdicionado este link ao seu leitor de RSS irá mantê-lo atualizado.",
|
"feed_description": "Para seguir as atualizações de um computador ou smartphone sem que você precise acessar essa página periodicamente, utilize um feeds RSS. </p>\n\n<p> Com feeds RSS você pode utilizar um app especial para receber atualizações de páginas que te interessam. É uma boa maneira de seguir muitas páginas rapidamente, sem a necessidade de criar contas de usuários ou outras complicações. </p>\n\n<li> Se você possui um Android, recomendamos <a href=\"https://f-droid.org/en/packages/net.frju.flym/\">Flym</a> ou Feeder </li>\n<li> Para iPhone / iPad você pode utilizar <a href=\"https://itunes.apple.com/ua/app/feeds4u/id1038456442?mt=8\"> Feed4U </a> </li>\n<li> Para desktop / laptop nós recomendamos Feedbro, que pode ser instalado no <a href=\"https://addons.mozilla.org/en-GB/firefox/addon/feedbroreader/\"> Firefox </a> ou <a href=\"https://chrome.google.com/webstore/detail/feedbro/mefgmmbdailogpfhfblcnnjfmnpnmdfa\"> Chrome </a>. </li>\n<br/>\nAdicionado este link ao seu leitor de RSS irá mantê-lo atualizado.",
|
||||||
"ical_description": "Computadores e smartphones normalmente possuem aplicações de calendário capazes de importar um calendário remoto.",
|
"ical_description": "Computadores e smartphones normalmente possuem aplicações de calendário capazes de importar um calendário remoto.",
|
||||||
"list_description": "Se você tem uma página e quer exibir uma lista de eventos, use o código seguinte",
|
"list_description": "Se você tem uma página e quer exibir uma lista de eventos, use o seguinte código",
|
||||||
"email_description": "Você pode obter os eventos que te interessam através de e-mail."
|
"email_description": "Você pode obter os eventos que te interessam através de e-mail."
|
||||||
},
|
},
|
||||||
"oauth": {
|
"oauth": {
|
||||||
|
@ -263,7 +286,7 @@
|
||||||
},
|
},
|
||||||
"setup": {
|
"setup": {
|
||||||
"https_warning": "Você está acessando por HTTP, lembre-se de alterar o valor de baseurl em config.json se você mudar para HTTPS!",
|
"https_warning": "Você está acessando por HTTP, lembre-se de alterar o valor de baseurl em config.json se você mudar para HTTPS!",
|
||||||
"completed": "Configuração completada",
|
"completed": "Configuração completa",
|
||||||
"start": "Iniciar",
|
"start": "Iniciar",
|
||||||
"completed_description": "<p>Você pode agora autenticar-se com o seguinte usuário:<br/><br/>Usuário: <b>{email}</b><br/>Senha: <b>{password}<b/></p>",
|
"completed_description": "<p>Você pode agora autenticar-se com o seguinte usuário:<br/><br/>Usuário: <b>{email}</b><br/>Senha: <b>{password}<b/></p>",
|
||||||
"copy_password_dialog": "Sim, você precisa copiar a senha!"
|
"copy_password_dialog": "Sim, você precisa copiar a senha!"
|
||||||
|
|
|
@ -1,293 +0,0 @@
|
||||||
{
|
|
||||||
"common": {
|
|
||||||
"embed_help": "将以下代码复制并粘贴到你的网站,此事件将像这样显示",
|
|
||||||
"follow": "关注",
|
|
||||||
"add_event": "添加事件",
|
|
||||||
"send": "发送",
|
|
||||||
"where": "地点",
|
|
||||||
"address": "地址",
|
|
||||||
"when": "时间",
|
|
||||||
"what": "事件",
|
|
||||||
"media": "媒体",
|
|
||||||
"login": "登录",
|
|
||||||
"email": "电子邮箱",
|
|
||||||
"register": "注册",
|
|
||||||
"description": "描述",
|
|
||||||
"hide": "隐藏",
|
|
||||||
"search": "搜索",
|
|
||||||
"confirm": "确认",
|
|
||||||
"admin": "管理员",
|
|
||||||
"users": "用户",
|
|
||||||
"events": "事件",
|
|
||||||
"actions": "操作",
|
|
||||||
"deactivate": "取消",
|
|
||||||
"remove_admin": "移除管理员",
|
|
||||||
"activate": "激活",
|
|
||||||
"save": "该村",
|
|
||||||
"logout": "登出",
|
|
||||||
"name": "名称",
|
|
||||||
"associate": "合作者",
|
|
||||||
"add": "添加",
|
|
||||||
"recover_password": "重置密码",
|
|
||||||
"enable": "启用",
|
|
||||||
"me": "你",
|
|
||||||
"ok": "完成",
|
|
||||||
"resources": "资源",
|
|
||||||
"n_resources": "无资源|1 个资源|{n} 个资源",
|
|
||||||
"displayname": "显示名称",
|
|
||||||
"copy_link": "复制链接",
|
|
||||||
"send_via_mail": "发送电子邮件",
|
|
||||||
"embed": "嵌入式页面",
|
|
||||||
"feed_url_copied": "在你的 RSS 阅读器中打开复制的链接",
|
|
||||||
"follow_me_title": "在 Fediverse 网络中关注更新",
|
|
||||||
"feed": "RSS 源",
|
|
||||||
"moderation": "中等",
|
|
||||||
"authorize": "认证",
|
|
||||||
"title": "标题",
|
|
||||||
"filter": "筛选",
|
|
||||||
"pause": "暂停",
|
|
||||||
"start": "开始",
|
|
||||||
"announcements": "公告",
|
|
||||||
"url": "URL",
|
|
||||||
"place": "地点",
|
|
||||||
"theme": "主题",
|
|
||||||
"label": "标签",
|
|
||||||
"collections": "收藏",
|
|
||||||
"max_events": "最大事件数",
|
|
||||||
"next": "下一个",
|
|
||||||
"export": "导出",
|
|
||||||
"remove": "移除",
|
|
||||||
"settings": "选项",
|
|
||||||
"logout_ok": "已登出",
|
|
||||||
"new_password": "新密码",
|
|
||||||
"new_user": "新用户",
|
|
||||||
"places": "地点",
|
|
||||||
"edit": "编辑",
|
|
||||||
"cancel": "取消",
|
|
||||||
"password": "密码",
|
|
||||||
"info": "信息",
|
|
||||||
"preview": "预览",
|
|
||||||
"share": "分享",
|
|
||||||
"edit_event": "编辑事件",
|
|
||||||
"copy": "复制",
|
|
||||||
"related": "相关",
|
|
||||||
"set_password": "设置密码",
|
|
||||||
"instances": "实例",
|
|
||||||
"activate_user": "已确认",
|
|
||||||
"federation": "联盟",
|
|
||||||
"add_to_calendar": "添加到日历",
|
|
||||||
"copied": "已复制",
|
|
||||||
"embed_title": "在你的网页上嵌入此事件",
|
|
||||||
"user": "用户",
|
|
||||||
"event": "事件",
|
|
||||||
"fediverse": "Fediverse 网络",
|
|
||||||
"skip": "跳过",
|
|
||||||
"delete": "移除",
|
|
||||||
"import": "导入",
|
|
||||||
"tags": "标签",
|
|
||||||
"close": "关闭",
|
|
||||||
"disable": "禁用",
|
|
||||||
"password_updated": "密码已修改。",
|
|
||||||
"reset": "重置"
|
|
||||||
},
|
|
||||||
"export": {
|
|
||||||
"list_description": "如果你有一个网站并希望展示一个事件列表,使用以下代码",
|
|
||||||
"email_description": "你可以通过发给你的电子邮件了解你感兴趣的事件。",
|
|
||||||
"insert_your_address": "输入你的电子邮箱地址",
|
|
||||||
"ical_description": "电脑和智能手机通常预装了能够导入远程日历的日历应用。",
|
|
||||||
"intro": "与那些竭尽全力保留用户和数据的非社交平台不同,我们认为信息和人一样,都必须是自由的。因此,即使不通过此网站,你仍可随时了解你想了解的事件之最新情况。",
|
|
||||||
"feed_description": "要想从电脑或智能手机上关注更新,而无需定期打开本网站,请使用RSS订阅。</p>\n\n<p>通过RSS订阅,您可以使用一个特殊的应用程序来接收你感兴趣的网站的更新。这是一个快速关注许多网站的好方法,不需要创建账户或做其他事。</p>\n\n<li> 如果您使用 Android,我们推荐 <a href=\"https://f-droid.org/en/packages/net.frju.flym/\">Flym</a> 或 Feeder。</li>\n<li> 对于iPhone/iPad,您可以使用 <a href=\"https://itunes.apple.com/ua/app/feeds4u/id1038456442?mt=8\">Feed4U</a> </li>\n<li> 对于台式机/笔记本电脑,我们推荐可在 <a href=\"https://addons.mozilla.org/en-GB/firefox/addon/feedbroreader/\">Firefox</a> 或 <a href=\"https://chrome.google.com/webstore/detail/feedbro/mefgmmbdailogpfhfblcnnjfmnpnmdfa\">Chrome</a> 上安装的 Feedbro。</li>\n<br/>\n将此链接添加到你的RSS阅读器中,以获得最新信息。"
|
|
||||||
},
|
|
||||||
"register": {
|
|
||||||
"description": "社会运动应该组织起来,并自筹资金<br/>\n<br/>在你能发布内容之前,<strong>你的账户必须审核通过</strong>,考虑到<strong>你可以通过此网站发现现实中的人</strong>,请写一些东西告诉我们你希望发布什么。",
|
|
||||||
"error": "错误: ",
|
|
||||||
"complete": "注册必须经过确认。",
|
|
||||||
"first_user": "管理员已创建"
|
|
||||||
},
|
|
||||||
"event": {
|
|
||||||
"anon_description": "即使不登录或注册,你也可以创建事件,但必须等待一些人看到它,\n并确认这是一个合适的事件。此外你也不能够修改它。<br/><br/>\n你也可以 <a href='/login'>登录</a> 或 <a href='/register'>注册</a>。或者继续浏览以得到答案。 ",
|
|
||||||
"anon": "匿名",
|
|
||||||
"same_day": "在同一天",
|
|
||||||
"what_description": "标题",
|
|
||||||
"description_description": "描述",
|
|
||||||
"added": "事件已添加",
|
|
||||||
"saved": "事件已保存",
|
|
||||||
"added_anon": "事件已添加,等待确认。",
|
|
||||||
"updated": "事件已更新",
|
|
||||||
"where_description": "事件的地点在哪里?如果不存在,你可以创建一个。",
|
|
||||||
"confirmed": "事件已确认",
|
|
||||||
"not_found": "找不到事件",
|
|
||||||
"recurrent": "日常事件",
|
|
||||||
"edit_recurrent": "编辑日常事件:",
|
|
||||||
"show_recurrent": "日常事件",
|
|
||||||
"show_past": "以及过往的事件",
|
|
||||||
"multidate_description": "这是一个节日吗?选择它开始和结束的时间",
|
|
||||||
"multidate": "更多日期",
|
|
||||||
"normal_description": "选择日期。",
|
|
||||||
"recurrent_2w_days": "每 {days} 天一次",
|
|
||||||
"each_week": "每周",
|
|
||||||
"each_2w": "隔周一次",
|
|
||||||
"due": "直到",
|
|
||||||
"from": "来自",
|
|
||||||
"image_too_big": "图片不能大于 4MB",
|
|
||||||
"interact_with_me_at": "在 Fediverse 网络上与我互动",
|
|
||||||
"interact_with_me": "关注我",
|
|
||||||
"remove_recurrent_confirmation": "你确定要移除这个日常事件吗?\n过去的事件仍将被维护,但不会再添加新事件。",
|
|
||||||
"import_URL": "从 URL 导入",
|
|
||||||
"import_ICS": "从 ICS 导入",
|
|
||||||
"ics": "ICS",
|
|
||||||
"alt_text_description": "为视觉障碍者提供的说明",
|
|
||||||
"choose_focal_point": "选择联络点",
|
|
||||||
"download_flyer": "下载传单",
|
|
||||||
"tag_description": "标签",
|
|
||||||
"media_description": "你可以添加一份传单(可选)",
|
|
||||||
"recurrent_description": "选择频率和日期",
|
|
||||||
"only_future": "仅限即将到来的事件",
|
|
||||||
"normal": "普通",
|
|
||||||
"recurrent_1w_days": "每 {days} 天",
|
|
||||||
"recurrent_1m_days": "|每月的第 {days} 天|每月的第 {days} 天",
|
|
||||||
"recurrent_1m_ordinal": "每月的第 {n} 个 {days}",
|
|
||||||
"each_month": "每月",
|
|
||||||
"follow_me_description": "一种对这里发布的 {title} 事件保持关注的方法,\n是在 Fediverse 网络,比如 Mastodon,上关注 <u>{account}</u>,亦有可能通过此方式给此事件添加资源。<br/><br/>\n如果你没听说过 Mastodon 和 Fediverse,我们建议你阅读 <a href='https://www.savjee.be/videos/simply-explained/mastodon-and-fediverse-explained/'>这篇文章</a>。<br/><br/>在下方输入你的实例名称(例如:mastodon.social)",
|
|
||||||
"import_description": "你可以从其他平台和实例通过标准格式(ICS 和 hCalendar)导入事件",
|
|
||||||
"remove_media_confirmation": "你确认要删除图片吗?",
|
|
||||||
"remove_confirmation": "你确定要移除此事件吗?"
|
|
||||||
},
|
|
||||||
"login": {
|
|
||||||
"check_email": "检查你的电子邮箱收件箱和垃圾邮件箱。",
|
|
||||||
"not_registered": "还未注册?",
|
|
||||||
"forgot_password": "忘记密码了?",
|
|
||||||
"insert_email": "输入你的电子邮箱地址",
|
|
||||||
"error": "无法登录,检查你的登录信息。",
|
|
||||||
"ok": "已登录",
|
|
||||||
"description": "登录以发布新事件。"
|
|
||||||
},
|
|
||||||
"recover": {
|
|
||||||
"not_valid_code": "发生了一些错误。"
|
|
||||||
},
|
|
||||||
"admin": {
|
|
||||||
"delete_user": "移除",
|
|
||||||
"remove_admin": "移除管理员",
|
|
||||||
"disable_user_confirm": "你确定禁用 {user} 吗?",
|
|
||||||
"disable_admin_user_confirm": "你确定移除 {user} 的管理员权限吗?",
|
|
||||||
"user_remove_ok": "用户已移除",
|
|
||||||
"user_create_ok": "用户已创建",
|
|
||||||
"event_remove_ok": "事件已移除",
|
|
||||||
"allow_registration_description": "允许公众注册?",
|
|
||||||
"allow_anon_event": "允许发布匿名事件(需要确认)?",
|
|
||||||
"allow_recurrent_event": "允许日常事件",
|
|
||||||
"federation": "联邦社交网络 / ActivityPub",
|
|
||||||
"enable_federation": "启用联邦社交网络",
|
|
||||||
"add_instance": "添加实例",
|
|
||||||
"select_instance_timezone": "时区",
|
|
||||||
"enable_resources": "启用资源",
|
|
||||||
"hide_boost_bookmark": "隐藏助力/书签",
|
|
||||||
"block": "屏蔽",
|
|
||||||
"unblock": "解除屏蔽",
|
|
||||||
"instance_name": "实例名称",
|
|
||||||
"hide_resource": "隐藏资源",
|
|
||||||
"delete_resource_confirm": "你确定要删除此资源吗?",
|
|
||||||
"filter_instances": "筛选实例",
|
|
||||||
"resources": "资源",
|
|
||||||
"favicon": "图标",
|
|
||||||
"user_block_confirm": "你确定要屏蔽用户 {user} 吗?",
|
|
||||||
"delete_announcement_confirm": "你确定要移除这个公告吗?",
|
|
||||||
"announcement_remove_ok": "公告已移除",
|
|
||||||
"instance_locale": "默认语言",
|
|
||||||
"title_description": "这将被用作页面的标题和电子邮件的主题,以导出 RSS 和 ICS 源。",
|
|
||||||
"description_description": "在标题旁的页眉中显示",
|
|
||||||
"instance_place_help": "在其他的实例中显示的标签",
|
|
||||||
"delete_trusted_instance_confirm": "你确定要从友好实例菜单中删除此项目吗?",
|
|
||||||
"edit_place": "编辑地点",
|
|
||||||
"new_announcement": "新公告",
|
|
||||||
"show_smtp_setup": "电子邮件设置",
|
|
||||||
"smtp_port": "SMTP 端口",
|
|
||||||
"smtp_secure": "SMTP 安全协议(TLS 或 STARTTLS)",
|
|
||||||
"smtp_test_success": "一封测试邮件已发送至 {admin_mail},请检查你的收件箱",
|
|
||||||
"sender_email": "发件人",
|
|
||||||
"widget": "小组件",
|
|
||||||
"wrong_domain_warning": "在 config.json 中设置的 baseurl <b>{baseurl}</b> 与你正在访问的 <b>{url}</b> 不同",
|
|
||||||
"edit_collection": "编辑收藏",
|
|
||||||
"event_confirm_description": "你可以在此确认匿名用户提交的事件",
|
|
||||||
"recurrent_event_visible": "默认显示日常事件",
|
|
||||||
"place_description": "如果你弄错了地点或地址,你可以修改。<br/>与这个地点相关的当前和过去的所有事件都会改变地址。",
|
|
||||||
"delete_user_confirm": "你确定移除 {user} 吗?",
|
|
||||||
"enable_admin_user_confirm": "你确定授予 {user} 管理员权限吗",
|
|
||||||
"enable_federation_help": "这将允许从 Fediverse 上关注此实例",
|
|
||||||
"enable_resources_help": "允许从 Fediverse 为此事件添加资源",
|
|
||||||
"hide_boost_bookmark_help": "隐藏来自 Fediverse 上的助力和书签数量图标",
|
|
||||||
"block_user": "屏蔽用户",
|
|
||||||
"filter_users": "筛选用户",
|
|
||||||
"user_add_help": "一封带有确认订阅和设置密码指引的邮件将被发送给新用户",
|
|
||||||
"show_resource": "显示资源",
|
|
||||||
"delete_resource": "删除资源",
|
|
||||||
"user_blocked": "用户 {user} 已屏蔽",
|
|
||||||
"instance_block_confirm": "你确定要屏蔽实例 {instance} 吗?",
|
|
||||||
"announcement_description": "你可以在此段落插入显示于首页的公告",
|
|
||||||
"instance_timezone_description": "Gancio 被设计用来收集特定区域,比如一座城市所发生的事件。这里的所有事件将以所选择的时区显示。",
|
|
||||||
"instance_locale_description": "特定页面偏好的用户语言。有时信息必须以相同的语言对所有人显示(比如通过 ActivityPub 发布内容或发送一些电子邮件时)。在这种情况下将使用上面选择的语言。",
|
|
||||||
"instance_place": "该实例的指示性位置",
|
|
||||||
"trusted_instances_help": "友好实例的列表将被显示于页眉",
|
|
||||||
"footer_links": "页脚链接",
|
|
||||||
"smtp_description": "<ul><li>当匿名事件被添加时(如果启用),管理员应当收到邮件</li>管理员应当会受到注册请求邮件(如果启用)。<li></li><li>用户应当会受到注册请求邮件。</li><li>用户应当收到注册确认邮件。</li><li>当管理员直接订阅时,用户应当受到邮件。</li><li>用户忘记密码时应当收到密码重置邮件。</li></ul>",
|
|
||||||
"smtp_use_sendmail": "使用 sendmail",
|
|
||||||
"smtp_test_button": "发送测试邮件",
|
|
||||||
"new_collection": "新建收藏",
|
|
||||||
"collections_description": "收藏是按标签和地点分组的事件。它们将于主页上显示",
|
|
||||||
"enable_trusted_instances": "启用友好实例",
|
|
||||||
"add_trusted_instance": "添加一个友好实例",
|
|
||||||
"add_link": "添加链接",
|
|
||||||
"delete_footer_link_confirm": "确定移除此链接吗?",
|
|
||||||
"instance_name_help": "要关注的 ActivityPub 账号",
|
|
||||||
"is_dark": "暗色主题",
|
|
||||||
"smtp_hostname": "SMTP 主机名"
|
|
||||||
},
|
|
||||||
"auth": {
|
|
||||||
"fail": "无法登录。你确定密码正确吗?",
|
|
||||||
"not_confirmed": "尚未确认……"
|
|
||||||
},
|
|
||||||
"settings": {
|
|
||||||
"change_password": "修改密码",
|
|
||||||
"password_updated": "密码已修改。",
|
|
||||||
"remove_account_confirm": "你即将永久删除你的账号",
|
|
||||||
"update_confirm": "你希望保存你的修改吗?",
|
|
||||||
"remove_account": "按下下方的按钮后你的账号将被删除。你发布的事件不会删除。",
|
|
||||||
"danger_section": "危险段落"
|
|
||||||
},
|
|
||||||
"error": {
|
|
||||||
"email_taken": "此电子邮箱地址已被使用。",
|
|
||||||
"nick_taken": "此昵称已被使用。"
|
|
||||||
},
|
|
||||||
"confirm": {
|
|
||||||
"title": "用户确认",
|
|
||||||
"not_valid": "出现了一些错误。",
|
|
||||||
"valid": "你的账户已被确认,你现在可以 <a href=\"/login\">登录</a>"
|
|
||||||
},
|
|
||||||
"ordinal": {
|
|
||||||
"4": "第四",
|
|
||||||
"5": "第五",
|
|
||||||
"2": "第二",
|
|
||||||
"-1": "最后",
|
|
||||||
"1": "第一",
|
|
||||||
"3": "第三"
|
|
||||||
},
|
|
||||||
"validators": {
|
|
||||||
"required": "{fieldName} 是必填项",
|
|
||||||
"email": "输入有效的电子邮箱地址"
|
|
||||||
},
|
|
||||||
"oauth": {
|
|
||||||
"authorization_request": "应用 <code>{app}</code> 申请在 <code>{instance_name}</code> 上获得以下权限:",
|
|
||||||
"redirected_to": "在确认后你将被重定向到 <code>{url}</code>",
|
|
||||||
"scopes": {
|
|
||||||
"event:write": "添加与编辑你的事件"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"setup": {
|
|
||||||
"completed_description": "<p>你现在可以以以下用户登录<br/><br/>用户名:<b>{email}</b><br/>密码:<b>{password}<b/></p>",
|
|
||||||
"copy_password_dialog": "没错,你必须复制密码!",
|
|
||||||
"start": "开始",
|
|
||||||
"https_warning": "你正在使用 HTTP 访问,如果你切换到 HTTPS,记得在 config.json 中修改 baseurl!",
|
|
||||||
"completed": "安装完成"
|
|
||||||
},
|
|
||||||
"about": "\n <p><a href='https://gancio.org'>Gancio</a> 是为本地社区设计的的共享日程表。</p>\n "
|
|
||||||
}
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "gancio",
|
"name": "gancio",
|
||||||
"version": "1.6.0-rc2",
|
"version": "1.6.0-rc3",
|
||||||
"description": "A shared agenda for local communities",
|
"description": "A shared agenda for local communities",
|
||||||
"author": "lesion",
|
"author": "lesion",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|
|
@ -91,17 +91,33 @@ export default {
|
||||||
WhereInput,
|
WhereInput,
|
||||||
DateInput
|
DateInput
|
||||||
},
|
},
|
||||||
validate({ store }) {
|
validate({ store, params, error }) {
|
||||||
return (store.state.auth.loggedIn || store.state.settings.allow_anon_event)
|
// should we allow anon event?
|
||||||
|
if(!store.state.settings.allow_anon_event && !store.state.auth.loggedIn) {
|
||||||
|
return error({ statusCode: 401, message: 'Not allowed'})
|
||||||
|
}
|
||||||
|
|
||||||
|
// do not allow edit to anon users
|
||||||
|
if (params.edit && !store.state.auth.loggedIn) {
|
||||||
|
return error({ statusCode: 401, message: 'Not allowed'})
|
||||||
|
}
|
||||||
|
|
||||||
|
return true
|
||||||
|
|
||||||
},
|
},
|
||||||
async asyncData({ params, $axios, error }) {
|
async asyncData({ params, $axios, error, $auth, store }) {
|
||||||
if (params.edit) {
|
if (params.edit) {
|
||||||
|
|
||||||
const data = { event: { place: {}, media: [] } }
|
const data = { event: { place: {}, media: [] } }
|
||||||
data.id = params.edit
|
data.id = params.edit
|
||||||
data.edit = true
|
data.edit = true
|
||||||
let event
|
let event
|
||||||
try {
|
try {
|
||||||
event = await $axios.$get('/event/' + data.id)
|
event = await $axios.$get('/event/' + data.id)
|
||||||
|
if (!$auth.user.is_admin && $auth.user.id !== event.userId) {
|
||||||
|
error({ statusCode: 401, message: 'Not allowed' })
|
||||||
|
return {}
|
||||||
|
}
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
error({ statusCode: 404, message: 'Event not found!' })
|
error({ statusCode: 404, message: 'Event not found!' })
|
||||||
return {}
|
return {}
|
||||||
|
|
|
@ -28,13 +28,13 @@ v-container#event.pa-0.pa-sm-2
|
||||||
|
|
||||||
.text-h6.p-location.h-adr(itemprop="location" itemscope itemtype="https://schema.org/Place")
|
.text-h6.p-location.h-adr(itemprop="location" itemscope itemtype="https://schema.org/Place")
|
||||||
v-icon(v-text='mdiMapMarker' small)
|
v-icon(v-text='mdiMapMarker' small)
|
||||||
nuxt-link.vcard.ml-2.p-name.text-decoration-none.text-button(itemprop="name" :to='`/place/${event.place.name}`') {{event.place && event.place.name}}
|
nuxt-link.vcard.ml-2.p-name.text-decoration-none.text-button(itemprop="name" :to='`/place/${encodeURIComponent(event.place.name)}`') {{event.place && event.place.name}}
|
||||||
.text-caption.p-street-address(itemprop='address') {{event.place && event.place.address}}
|
.text-caption.p-street-address(itemprop='address') {{event.place && event.place.address}}
|
||||||
|
|
||||||
//- tags, hashtags
|
//- tags, hashtags
|
||||||
v-card-text.pt-0(v-if='event.tags && event.tags.length')
|
v-card-text.pt-0(v-if='event.tags && event.tags.length')
|
||||||
v-chip.p-category.ml-1.mt-1(v-for='tag in event.tags' small label color='primary'
|
v-chip.p-category.ml-1.mt-1(v-for='tag in event.tags' small label color='primary'
|
||||||
outlined :key='tag' :to='`/tag/${tag}`') {{tag}}
|
outlined :key='tag' :to='`/tag/${encodeURIComponent(tag)}`') {{tag}}
|
||||||
|
|
||||||
v-divider
|
v-divider
|
||||||
//- info & actions
|
//- info & actions
|
||||||
|
|
|
@ -32,7 +32,7 @@ export default {
|
||||||
async asyncData ({ $axios, params, error }) {
|
async asyncData ({ $axios, params, error }) {
|
||||||
try {
|
try {
|
||||||
const tag = params.tag
|
const tag = params.tag
|
||||||
const events = await $axios.$get(`/tag/${tag}`)
|
const events = await $axios.$get(`/tag/${encodeURIComponent(tag)}`)
|
||||||
return { events, tag }
|
return { events, tag }
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
error({ statusCode: 400, message: 'Error!' })
|
error({ statusCode: 400, message: 'Error!' })
|
||||||
|
|
|
@ -88,6 +88,7 @@ const exportController = {
|
||||||
const start = tmpStart.utc(true).format('YYYY-M-D-H-m').split('-').map(Number)
|
const start = tmpStart.utc(true).format('YYYY-M-D-H-m').split('-').map(Number)
|
||||||
const end = tmpEnd.utc(true).format('YYYY-M-D-H-m').split('-').map(Number)
|
const end = tmpEnd.utc(true).format('YYYY-M-D-H-m').split('-').map(Number)
|
||||||
return {
|
return {
|
||||||
|
uid: `${e.id}@${settings.hostname}`,
|
||||||
start,
|
start,
|
||||||
end,
|
end,
|
||||||
title: `[${settings.title}] ${e.title}`,
|
title: `[${settings.title}] ${e.title}`,
|
||||||
|
|
|
@ -27,6 +27,7 @@ const defaultSettings = {
|
||||||
instance_place: '',
|
instance_place: '',
|
||||||
allow_registration: true,
|
allow_registration: true,
|
||||||
allow_anon_event: true,
|
allow_anon_event: true,
|
||||||
|
allow_multidate_event: true,
|
||||||
allow_recurrent_event: false,
|
allow_recurrent_event: false,
|
||||||
recurrent_event_visible: false,
|
recurrent_event_visible: false,
|
||||||
allow_geolocation: true,
|
allow_geolocation: true,
|
||||||
|
|
|
@ -80,6 +80,7 @@ module.exports = {
|
||||||
allow_registration: settings.allow_registration,
|
allow_registration: settings.allow_registration,
|
||||||
allow_anon_event: settings.allow_anon_event,
|
allow_anon_event: settings.allow_anon_event,
|
||||||
allow_recurrent_event: settings.allow_recurrent_event,
|
allow_recurrent_event: settings.allow_recurrent_event,
|
||||||
|
allow_multidate_event: settings.allow_multidate_event,
|
||||||
recurrent_event_visible: settings.recurrent_event_visible,
|
recurrent_event_visible: settings.recurrent_event_visible,
|
||||||
enable_federation: settings.enable_federation,
|
enable_federation: settings.enable_federation,
|
||||||
enable_resources: settings.enable_resources,
|
enable_resources: settings.enable_resources,
|
||||||
|
@ -125,7 +126,7 @@ module.exports = {
|
||||||
|
|
||||||
router.use('/fallbackimage.png', (req, res, next) => {
|
router.use('/fallbackimage.png', (req, res, next) => {
|
||||||
const fallbackImagePath = settingsController.settings.fallback_image || './static/noimg.svg'
|
const fallbackImagePath = settingsController.settings.fallback_image || './static/noimg.svg'
|
||||||
return express.static(fallbackImagePath, { maxAge: '1d' })(req, res, next)
|
return express.static(fallbackImagePath)(req, res, next)
|
||||||
})
|
})
|
||||||
|
|
||||||
router.use('/headerimage.png', (req, res, next) => {
|
router.use('/headerimage.png', (req, res, next) => {
|
||||||
|
@ -135,12 +136,12 @@ module.exports = {
|
||||||
|
|
||||||
router.use('/logo.png', (req, res, next) => {
|
router.use('/logo.png', (req, res, next) => {
|
||||||
const logoPath = settingsController.settings.logo || './static/gancio'
|
const logoPath = settingsController.settings.logo || './static/gancio'
|
||||||
return express.static(logoPath + '.png', {maxAge: '1d'})(req, res, next)
|
return express.static(logoPath + '.png')(req, res, next)
|
||||||
})
|
})
|
||||||
|
|
||||||
router.use('/favicon.ico', (req, res, next) => {
|
router.use('/favicon.ico', (req, res, next) => {
|
||||||
const faviconPath = res.locals.settings.logo ? res.locals.settings.logo + '.png' : './assets/favicon.ico'
|
const faviconPath = res.locals.settings.logo ? res.locals.settings.logo + '.png' : './assets/favicon.ico'
|
||||||
return express.static(faviconPath, {maxAge: '1d'})(req, res, next)
|
return express.static(faviconPath)(req, res, next)
|
||||||
})
|
})
|
||||||
|
|
||||||
return router
|
return router
|
||||||
|
|
|
@ -6,6 +6,7 @@ export const state = () => ({
|
||||||
instance_name: '',
|
instance_name: '',
|
||||||
allow_registration: true,
|
allow_registration: true,
|
||||||
allow_anon_event: true,
|
allow_anon_event: true,
|
||||||
|
allow_multidate_event: true,
|
||||||
allow_recurrent_event: true,
|
allow_recurrent_event: true,
|
||||||
recurrent_event_visible: false,
|
recurrent_event_visible: false,
|
||||||
allow_geolocation: false,
|
allow_geolocation: false,
|
||||||
|
|
Loading…
Reference in a new issue