From 786542a99150cb58a2a12be9d69bf7fb280bc4e0 Mon Sep 17 00:00:00 2001 From: Dessalines Date: Thu, 22 Aug 2019 18:34:24 -0700 Subject: [PATCH] Adding spanish translation. - Fixes #191 --- ui/src/components/moment-time.tsx | 1 + ui/src/i18next.ts | 2 + ui/src/translations/es.ts | 166 ++++++++++++++++++++++++++++++ ui/src/utils.ts | 2 + 4 files changed, 171 insertions(+) create mode 100644 ui/src/translations/es.ts diff --git a/ui/src/components/moment-time.tsx b/ui/src/components/moment-time.tsx index a8d8dcad9..78b3df020 100644 --- a/ui/src/components/moment-time.tsx +++ b/ui/src/components/moment-time.tsx @@ -1,5 +1,6 @@ import { Component } from 'inferno'; import * as moment from 'moment'; +import 'moment/locale/es'; import 'moment/locale/de'; import 'moment/locale/zh-cn'; import 'moment/locale/fr'; diff --git a/ui/src/i18next.ts b/ui/src/i18next.ts index 2c0c54192..5b22aaaae 100644 --- a/ui/src/i18next.ts +++ b/ui/src/i18next.ts @@ -1,6 +1,7 @@ import * as i18n from 'i18next'; import { getLanguage } from './utils'; import { en } from './translations/en'; +import { es } from './translations/es'; import { de } from './translations/de'; import { zh } from './translations/zh'; import { fr } from './translations/fr'; @@ -11,6 +12,7 @@ import { ru } from './translations/ru'; // TODO don't forget to add moment locales for new languages. const resources = { en, + es, de, zh, fr, diff --git a/ui/src/translations/es.ts b/ui/src/translations/es.ts new file mode 100644 index 000000000..d71973237 --- /dev/null +++ b/ui/src/translations/es.ts @@ -0,0 +1,166 @@ +export const es = { + translation: { + post: 'publicación', + remove_post: 'Remover Publicación', + no_posts: 'Sin Publicaciones.', + create_a_post: 'Crear una publicación', + create_post: 'Crear Publicación', + number_of_posts:'{{count}} Publicaciones', + posts: 'Publicaciones', + related_posts: 'Estas publicaciones podrían estar relacionadas', + comments: 'Comentarios', + number_of_comments:'{{count}} Comentarioss', + remove_comment: 'Remover Comentarios', + communities: 'Comunidades', + users: 'Usuarios', + create_a_community: 'Crear una comunidad', + create_community: 'Crear Comunidad', + remove_community: 'Remover Comunidad', + subscribed_to_communities:'Suscrito a <1>comunidades', + trending_communities:'<1>Comunidades en tendencia', + list_of_communities: 'Lista de comunidades', + community_reqs: 'minúsculas, guión bajo, y sin espacios.', + edit: 'editar', + reply: 'responder', + cancel: 'Cancelar', + unlock: 'desbloquear', + lock: 'bloquear', + link: 'link', + mod: 'moderador', + mods: 'moderadores', + moderates: 'Modera', + settings: 'Configuración', + remove_as_mod: 'remover como moderador', + appoint_as_mod: 'designar como moderador', + modlog: 'Historial de Moderador', + admin: 'administrador', + admins: 'administradores', + remove_as_admin: 'remover como administrador', + appoint_as_admin: 'designar como administrador', + remove: 'remover', + removed: 'removido', + locked: 'bloqueado', + reason: 'Razón', + mark_as_read: 'marcar como leído', + mark_as_unread: 'marcar como no leído', + delete: 'eliminar', + deleted: 'eliminado', + restore: 'restaurar', + ban: 'expulsar', + ban_from_site: 'expulsado del sitio', + unban: 'admitir', + unban_from_site: 'admitir al sitio', + save: 'guardar', + unsave: 'descartar', + create: 'crear', + username: 'Nombre de Usuario', + email_or_username: 'Correo electrónico o Nombre de Usuario', + number_of_users:'{{count}} Usuarios', + number_of_subscribers:'{{count}} Suscriptores', + number_of_points:'{{count}} Puntos', + name: 'Nombre', + title: 'Titulo', + category: 'Categoría', + subscribers: 'Suscriptores', + both: 'Ambos', + saved: 'Guardado', + unsubscribe: 'Cancelar suscripción', + subscribe: 'Suscribir', + subscribed: 'Suscrito', + prev: 'Anterior', + next: 'Siguiente', + sidebar: 'Barra Lateral', + sort_type: 'Orden', + hot: 'Popular', + new: 'Nuevo', + top_day: 'Lo mejor del día', + week: 'Semana', + month: 'Mes', + year: 'Año', + all: 'Todo', + top: 'Mejor', + api: 'API', + inbox: 'Buzón de entrada', + inbox_for: 'Buzón de entrada para <1>{{user}}', + mark_all_as_read: 'marcar todo como leído', + type: 'Tipo', + unread: 'No leído', + reply_sent: 'Respuesta enviada', + search: 'Buscar', + overview: 'Resumen', + view: 'Vista', + logout: 'Cerrar sesión', + login_sign_up: 'Iniciar sesión / Crear cuenta', + login: 'Iniciar sesión', + sign_up: 'Crear cuenta', + notifications_error: 'Notificaciones de escritorio no disponibles en tu navegador. Prueba Firefox o Chrome.', + unread_messages: 'Mensajes no leídos', + password: 'Contraseña', + verify_password: 'Verificar contraseña', + email: 'Correo electrónico', + optional: 'Opcional', + expires: 'Expira', + url: 'URL', + body: 'Body', + copy_suggested_title: 'copiar el título sugerido: {{title}}', + community: 'Comunidad', + expand_here: 'Expandir aquí', + subscribe_to_communities: 'Suscribirse a algunas <1>comunidades.', + chat: 'Chat', + no_results: 'Sin resultados.', + setup: 'Configurar', + lemmy_instance_setup: 'Configuración de Instancia de Lemmy', + setup_admin: 'Configurar Administrador del Sitio', + your_site: 'tu sitio', + modified: 'modificado', + nsfw: 'NSFW', + show_nsfw: 'Mostrar contenido NSFW', + sponsors: 'Patrocinadores', + sponsors_of_lemmy: 'Patrocinadores of Lemmy', + sponsor_message: 'Lemmy es software libre y de <1>código abierto, lo que significa que no tendrá publicidades, monetización, ni capitales emprendedores, nunca. Tus donaciones apoyan directamente el desarrollo a tiempo completo del proyecto. Muchas gracias a las siguientes personas:', + support_on_patreon: 'Apoyo en Patreon', + general_sponsors:'Patrocinadores Generales son aquellos que señaron entre $10 y $39 a Lemmy.', + crypto: 'Crypto', + bitcoin: 'Bitcoin', + ethereum: 'Ethereum', + monero: 'Monero', + code: 'Código', + joined: 'Unido', + powered_by: 'Impulsado por', + landing_0: 'Lemmy es un <1>agregador de links / alternativa a reddit, con la intención de funcionar en el <2>fediverso.<3>Es self-hostable, tiene cadenas de comentarios auto-actualizables, y es pequeño (<4>~80kB). Federación dentro de la red de ActivityPub es parte del plan. <5>Esta es una <6>version beta muy prematura, y muchas de las características están rotas o faltan actualmente. <7>Sugiere nuevas características o reporta errores <8>aquí.<9>Hecho con <10>Rust, <11>Actix, <12>Inferno, <13>Typescript.', + not_logged_in: 'Sin iniciar sesión.', + community_ban: 'Has sido expulsado de esta comunidad.', + site_ban: 'Has sido expulsado del sitio', + couldnt_create_comment: 'No se pudo crear el comentario.', + couldnt_like_comment: 'No se pudo gustar el comentario.', + couldnt_update_comment: 'No se pudo actualizar el comentario.', + couldnt_save_comment: 'No se pudo guardar el comentario.', + no_comment_edit_allowed: 'No tiene permitido editar el comentario.', + no_post_edit_allowed: 'No tiene permitido editar la publicación.', + no_community_edit_allowed: 'No tiene permitido editar la comunidad.', + couldnt_find_community: 'No se pudo encontrar la comunidad.', + couldnt_update_community: 'No se pudo actualizar la comunidad.', + community_already_exists: 'Esta comunidad ya existe.', + community_moderator_already_exists: 'Este moderador de la comunidad ya existe.', + community_follower_already_exists: 'Este seguidor de la comunidad ya existe.', + community_user_already_banned: 'Este usuario de la comunidad ya fue expulsado.', + couldnt_create_post: 'No se pudo crear la publicación.', + couldnt_like_post: 'No se pudo gustar la publicación.', + couldnt_find_post: 'No se pudo encontrar la publicación.', + couldnt_get_posts: 'No se pudo obtener las publicaciones', + couldnt_update_post: 'No se pudo actualizar la publicación', + couldnt_save_post: 'No se pudo guardar la publicación.', + no_slurs: 'Prohibido insultar.', + not_an_admin: 'No es un administrador.', + site_already_exists: 'El sitio ya existe.', + couldnt_update_site: 'No se pudo actualizar el sitio.', + couldnt_find_that_username_or_email: 'No se pudo encontrar ese nombre de usuario o correo electrónico.', + password_incorrect: 'Contraseña incorrecta.', + passwords_dont_match: 'Las contraseñas no coinciden.', + admin_already_created: 'Lo sentimos, ya hay un adminisitrador.', + user_already_exists: 'El usuario ya existe.', + couldnt_update_user: 'No se pudo actualizar el usuario.', + system_err_login: 'Error del sistema. Intente cerrar sesión e ingresar de nuevo.', + }, +} + diff --git a/ui/src/utils.ts b/ui/src/utils.ts index 02780b48c..1cd5c9c4d 100644 --- a/ui/src/utils.ts +++ b/ui/src/utils.ts @@ -186,6 +186,8 @@ export function getMomentLanguage(): string { lang = 'de'; } else if (lang.startsWith('ru')) { lang = 'ru'; + } else if (lang.startsWith('es')) { + lang = 'es'; } else { lang = 'en'; }