From cd95c7eb3b9e4bc4832a7b33d8d79b4fd3cbda2d Mon Sep 17 00:00:00 2001 From: les Date: Thu, 5 Sep 2019 13:46:40 +0200 Subject: [PATCH] fixes #7, add es locale --- locales/es.js | 214 +++++++++++++++++++++++++++++++++++++++++- locales/index.js | 3 +- middleware/i18n.js | 4 +- plugins/element-ui.js | 3 +- plugins/filters.js | 1 + 5 files changed, 218 insertions(+), 7 deletions(-) diff --git a/locales/es.js b/locales/es.js index f01ae3b9..1e49bf6e 100644 --- a/locales/es.js +++ b/locales/es.js @@ -1,3 +1,211 @@ -{ - "registration_email": "registration_email" -} \ No newline at end of file +export default { + common: { + add_event: 'Nuevo evento', + next: 'Continúa', + export: 'Exporta', + send: 'Envía', + where: 'Donde', + address: 'Dirección', + when: 'Cuando', + what: 'Cosa', + media: 'Media', // media in che senso? in che contesto? + login: 'Entrá', + email: 'Email', + password: 'Contraseña', + register: 'Regístrate', + description: 'Descripción', + remove: 'Elimina', + hide: 'Oculta', + search: 'Busca', + edit: 'Edita', + info: 'Info', + confirm: 'Confirma', + admin: 'Administra', + users: 'Usuarios', + events: 'Eventos', + places: 'Lugares', + settings: 'Opciones', + actions: 'Acciones', + deactivate: 'Desactiva', + remove_admin: 'Elimina Admin', + activate: 'Activa', + save: 'Guarda', + preview: 'Vista previa', + logout: 'Cierra sesión', + share: 'Exporta', // share non sarebbe condividi? + name: 'Nombre', + associate: 'Associa', // anche qui per capire ho bisogno del contesto + edit_event: 'Edita evento', + related: 'Memoria histórica', // ? + add: 'Agrega', + logout_ok: 'Sesión cerrada correctamente', + copy: 'Copia', + recover_password: 'Recupera contraseña', + new_password: 'Nuova contraseña', + new_user: 'Nuevo usuario', + ok: 'Ok', + cancel: 'Cancela', + enable: 'Habilita', + disable: 'Deshabilita', + me: 'Sos tú', + password_updated: 'Contraseña actualizada!', + username: 'Nickname', + comments: 'ningún comentario|un comentario|{n} comentarios' + }, + + login: { + description: 'Entrando podrás publicar nuevos eventos.', + check_email: 'Ravisa tu casilla de correo (también el spam o correo no deseado)', + not_registered: '¿No estás registrado/a?', + forgot_password: '¿Olvidaste la contraseña?', + error: 'Error: ', + insert_email: 'Ingresa tu email', + ok: 'Todo bien' + }, + + recover: { + not_valid_code: 'Mmmmm algo no salió bien...' + }, + + export: { + intro: `A diferencia de las plataformas del capitalismo, que hacen todo lo posible para mantener + datos y usuarios dentro de ellas, creemos las informaciones, así como las personas, + deben ser libres. Para esto, podés mantenerte actualizado sobre los eventos que te interesan como mejor te parezca, + sin necesariamente tener que pasar por este sitio.`, + email_description: `Podés recibir por mail los eventos que te interesan.`, + insert_your_address: 'Casilla de correo', + feed_description: `Para seguir las actualizaciones desde una computadora o teléfono inteligente sin la necesidad de abrir periódicamente el sitio, el método recomendado es usar los feeds RSS.

+ +

Con rss feeds, utilizás una aplicación especial para recibir actualizaciones de los sitios que más le interesan, como por ejemplo este. Es una buena manera de seguir muchos sitios muy rápidamente, sin la necesidad de crear una cuenta u otras complicaciones.

+ +
  • Si tenés Android, te sugerimos Flym o Feeder
  • +
  • Para iPhone/iPad podés usar Feed4U
  • +
  • En el caso de una computadora aconsejamos Feedbro, se instala como plugin de Firefox o de Chrome y funciona con todos los principales sistemas.
  • +
    + Agregando este link a tu lector de feed, estarás siempre actualizado/a.`, + ical_description: `Las computadoras y los teléfonos inteligentes suelen estar equipados con una aplicación para administrar un calendario. Estos programas generalmente se pueden usar para importar un calendario remoto.`, + list_description: `Si tenés un sitio web y querés mostrar una lista de eventos, podés usar el siguiente código` + }, + + register: { + description: `Los movimientos sociales necesitan organizarse y autofinanciarse.
    Este es un regalo para ustedes, úsenlo solamente para eventos con fines no comerciales y obviamente antifascistas, antisexistas y antirracistas. +
    Antes de que puedas publicar debemos aprobar la cuenta . Como imaginarás, detrás de este sitio hay personas de carne y hueso, por esto te pedimos escribir algo para hacernos saber que tipos de eventos te gustaría publicar.`, + error: 'Error: ', + complete: 'Confirmaremos el registro lo antes posible.' + }, + + event: { + anon: 'Anónimo', + anon_description: `Podés ingresar un evento sin registrarte o iniciar sesión, + pero en este caso tendrás que esperar a que alguien lo lea para confirmar que + es un evento adecuado para este espacio, delegando esta elección. Además, no será posible modificarlo.

    + Si no te gusta, podés iniciar sesión o registrarte , + de lo contrario, continúa y recibirás una respuesta lo antes posible.`, + same_day: 'Mismo día', + what_description: 'Nombre evento', + description_description: 'Descripción, podés copiar y pegar', + tag_description: 'Tag...', + media_description: 'Podés agregar un volante (opcionál)', + added: 'Evento agregado', + added_anon: 'Evento agregado, será confirmado cuanto antes.', + where_description: `¿Dónde es? Si el lugar no está, escribilo y presiona enter. `, + confirmed: 'Evento confirmado', + not_found: 'Evento no encontrado', + remove_confirmation: `¿Estás seguro/a de querér eliminar este evento?`, + recurrent: `Recurrente`, + recurrent_description: 'Elegí la frecuencia y selecciona los días.', + multidate_description: '¿Un festival o más de un día? Elegí cuándo comienza y cuándo termina.', + multidate: 'Más días', + normal: 'Normal', + normal_description: 'Selecciona el d{ia.', + recurrent_1w_days: 'Cada {days}', + recurrent_2w_days: 'Un {days} cada dos', + recurrent_1m_days: '|El día {days} de cada mes|Los días {days} de cada mes', + recurrent_2m_days: '|El día {days} cada dos meses|Los días {days} cada dos meses', + recurrent_1m_ordinal: 'El {n} {days} de cada mes', + recurrent_2m_ordinal: '|El {n} {days} un mes sí y el otro no|El {n} {days} un mes sí y el otro no', + each_week: 'Cads semana', + each_2w: 'Cada dos semanas', + each_month: 'cada mes', + due: 'a las', + from: 'Desde las', + image_too_big: 'La imagén es demasiado grande! Tamaño máx 4M', + interact_with_me_at: 'Sígueme en el fediverso en' + }, + + admin: { + mastodon_instance: 'Instancia', + mastodon_description: 'Podés asociar una cuenta de mastodon a esta instancia de Gancio, cada evento se publicará también allí.', + place_description: `En el caso de que un lugar sea incorrecto o cambie de dirección, podés cambiarlo.
    En este caso hay que tener en cuenta que todos los eventos asociados con ese lugar cambiarán de dirección (¡incluso los pasados!)`, + event_confirm_description: 'Podés confirmar acá los eventos agregados por usuarios anónimos', + delete_user: 'Elimina', + remove_admin: 'Borra admin', + delete_user_confirm: '¿Estás seguro/a de borrar este usuario?', + user_remove_ok: 'Usuario eliminado', + user_create_ok: 'Usuario creado', + allow_registration_description : '¿Querés habilitar el registro?', + allow_anon_event: '¿Se pueden ingresar eventos anónimos (sujeto a confirmación)?', + allow_comments: 'Habilitar comentarios', + allow_recurrent_event: 'Habilitar eventos fijos', + recurrent_event_visible: 'Eventos fijos visibles por defecto', + federation: 'Federación / ActivityPub', + enable_federation: 'Habilita la federación!' + }, + + auth: { + not_confirmed: 'Todavía no hemos confirmado este email...', + fail: 'No pudimos autenticarte. ¿La contraseña es correcta? ¿Y el mail?' + }, + + settings: { + change_password: 'Cambia contraseña', + password_updated: 'Contraseña modificada', + danger_section: 'Sección peligrosa', + remove_account: 'Al presionar el siguiente botón, su usuario será eliminado. No serán eliminados los eventos que publicaste.', + remove_account_confirm: 'Estás por borrar definitivamente tu cuenta', + }, + + error: { + nick_taken: 'Este nickname ya está registrado', + email_taken: 'Este correo electrónico ya está registrado' + }, + + ordinal: { + 1: 'primero', + 2: 'segundo', + 3: 'tercero', + 4: 'cuarto', + 5: 'quinto', + [-1]: 'último', + }, + + about: ` +

    + Gancio es un proyecto del underscore hacklab y es uno de los + servicios de cisti.org.

    + +
    ¿Que es gancio?
    +

    Gancio (se pronuncia "gancho") es una herramienta para compartir eventos orientado a las comunidades radicales. + Dentro del gancio pueden encontrar y agregar eventos. + Gancio, como todo cisti.org es una herramienta + antisexista, antirracista, antifascista y anticapitalista, así que piensen en eso cuando + van a publicar un evento.

    + +
    Ok, pero ¿que quiere decir gancio?
    +

    + Literalmente sería "enganche", pero en realidad viene de una forma de decir que se usa en en Turín (Italia). Ahí si alguien dice: "ehi, ci diamo un gancio alle 8?" ("ehi, ¿nos damos un enganche a las 8?") quiere decir "ehí, ¿nos vemos a las 8?". "Darsi un gancio" es juntarse a una hora X en un lugar Y.

    + + + + +
    Contactos
    +

    + ¿Escribiste una nueva interfaz para gancio? ¿Querés abrir un gancio en tu ciudad? + ¿Hay algo que te gustaría mejorar? Para contribuir el código fuente es libre y disponible + acá. Ayuda y sugerencias son siempre bienvenidos, podés comunicarte con nosotros + enviando un mail a underscore arroba autistici.org

    ` + +} diff --git a/locales/index.js b/locales/index.js index e7388210..6ef6c229 100644 --- a/locales/index.js +++ b/locales/index.js @@ -1,6 +1,7 @@ import it from './it' import en from './en' +import es from './es' export default { - it, en + it, en, es } diff --git a/middleware/i18n.js b/middleware/i18n.js index 419b12aa..aba9c471 100644 --- a/middleware/i18n.js +++ b/middleware/i18n.js @@ -2,10 +2,10 @@ import acceptLanguage from 'accept-language' export default function ({ req, app, store }) { if (process.server) { const acceptedLanguages = req.headers['accept-language'] - const supportedLanguages = ['en', 'it'] + const supportedLanguages = ['en', 'it', 'es'] acceptLanguage.languages(supportedLanguages) const lang = acceptLanguage.get(acceptedLanguages) - store.commit('setLocale', lang || 'it') + store.commit('setLocale', lang || 'it') app.i18n.locale = store.state.locale } } diff --git a/plugins/element-ui.js b/plugins/element-ui.js index 3f0ec960..8dc97ea1 100644 --- a/plugins/element-ui.js +++ b/plugins/element-ui.js @@ -7,7 +7,8 @@ import locale from 'element-ui/lib/locale' const locales = { it: require('element-ui/lib/locale/lang/it'), - en: require('element-ui/lib/locale/lang/en') + en: require('element-ui/lib/locale/lang/en'), + es: require('element-ui/lib/locale/lang/es') } export default ({ app, store }) => { diff --git a/plugins/filters.js b/plugins/filters.js index 0a0ca7fd..9c9187cf 100644 --- a/plugins/filters.js +++ b/plugins/filters.js @@ -1,6 +1,7 @@ import Vue from 'vue' import moment from 'dayjs' import 'dayjs/locale/it' +import 'dayjs/locale/es' export default ({ app, store }) => {