From 54ed057e06e1a97e5573f97f671eae62d1e94fa4 Mon Sep 17 00:00:00 2001 From: Esteban Rojas Date: Mon, 27 Jul 2020 23:41:31 -0600 Subject: [PATCH] feat: adding Spanish translation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Agregando la traducción al español --- README.md | 2 +- src/index.ejs | 1 + src/translations/es.json | 39 ++++++++++++++++++++++++++++++++++ src/translations/index.js | 3 ++- src/translations/index.test.js | 7 ++++++ 5 files changed, 50 insertions(+), 2 deletions(-) create mode 100644 src/translations/es.json diff --git a/README.md b/README.md index 610d3c14a..236923e0d 100644 --- a/README.md +++ b/README.md @@ -154,7 +154,7 @@ module API. Options include: container: '#some-query-selector'; // container to attach to APIUrl: 'https://www.example.com/.netlify/functions/identity'; // Absolute url to endpoint. ONLY USE IN SPECIAL CASES! namePlaceholder: 'some-placeholder-for-Name'; // custom placeholder for name input form - locale: 'en'; // language code for translations - available: en, fr - default to en + locale: 'en'; // language code for translations - available: en, fr, es - default to en } ``` diff --git a/src/index.ejs b/src/index.ejs index 625ca60ac..3fff09d0f 100644 --- a/src/index.ejs +++ b/src/index.ejs @@ -308,6 +308,7 @@ diff --git a/src/translations/es.json b/src/translations/es.json new file mode 100644 index 000000000..6bb424472 --- /dev/null +++ b/src/translations/es.json @@ -0,0 +1,39 @@ +{ + "log_in": "Iniciar sesión", + "log_out": "Cerrar sesión", + "logged_in_as": "Conectado como", + "logged_in": "Conectado", + "logging_in": "Iniciando sesión", + "logging_out": "Cerrando cuenta", + "sign_up": "Registrarse", + "signing_up": "Registrandose", + "forgot_password": "¿Olvidó su contraseña?", + "recover_password": "Recuperar contraseña", + "send_recovery_email": "Enviar correo electrónico de recuperación", + "sending_recovery_email": "Envío de correo electrónico de recuperación", + "never_mind": "No importa", + "update_password": "Actualizar contraseña", + "updating_password": "Actualizando contraseña", + "complete_your_signup": "Complete su registro", + "site_url_title": "Configuración de desarrollo", + "site_url_link_text": "Borrar URL del localhost", + "site_url_message": "Parece que está corriendo un servidor local. Háganos saber la URL de su sitio en Netlify.", + "site_url_label": "Ingrese la URL de su sitio en Netlify", + "site_url_placeholder": "URL de su sitio en Netlify", + "site_url_submit": "Establecer la URL del sitio", + "message_confirm": "Se envió un mensaje de confirmación a su correo electrónico, haga clic en el enlace allí para continuar.", + "message_password_mail": "Hemos enviado un correo electrónico de recuperación a su correo electrónico, siga el enlace allí para restablecer su contraseña.", + "message_email_changed": "¡Su dirección de correo electrónico ha sido actualizada!", + "message_verfication_error": "Se produjo un error al verificar su cuenta. Por favor intente nuevamente o contacte a un administrador.", + "message_signup_disabled": "Los registros públicos están deshabilitados. Póngase en contacto con un administrador y solicite una invitación.", + "form_name_placeholder": "Nombre", + "form_email_label": "Introduzca su correo electrónico", + "form_name_label": "Introduzca su nombre", + "form_email_placeholder": "Correo electrónico", + "form_password_label": "Ingrese su contraseña", + "form_password_placeholder": "Contraseña", + "coded_by": "Codificado por Netlify", + "No user found with this email": "No existe ningún usuario con este correo electrónico", + "Invalid Password": "La contraseña es invalida", + "continue_with": "Continúe con" +} diff --git a/src/translations/index.js b/src/translations/index.js index fd869101b..79db9572b 100644 --- a/src/translations/index.js +++ b/src/translations/index.js @@ -1,8 +1,9 @@ import * as en from "./en.json"; import * as fr from "./fr.json"; +import * as es from "./es.json"; export const defaultLocale = "en"; -const translations = { en, fr }; +const translations = { en, fr, es }; export const getTranslation = (key, locale = defaultLocale) => { const translated = translations[locale] && translations[locale][key]; diff --git a/src/translations/index.test.js b/src/translations/index.test.js index eabbf5efd..2c3292393 100644 --- a/src/translations/index.test.js +++ b/src/translations/index.test.js @@ -18,6 +18,11 @@ describe("translations", () => { expect(getTranslation("log_in", "fr")).toEqual("Connexion"); }); + it("should return translation for 'es' locale", () => { + const { getTranslation } = require("./"); + expect(getTranslation("log_in", "es")).toEqual("Iniciar sesión"); + }); + it("should return key for non existing translation", () => { const { getTranslation } = require("./"); expect(getTranslation("unknown_key")).toEqual("unknown_key"); @@ -26,9 +31,11 @@ describe("translations", () => { it("should default to 'en' on missing key", () => { jest.mock("./en.json", () => ({ log_in: "Log in" })); jest.mock("./fr.json", () => ({})); + jest.mock("./es.json", () => ({})); const { getTranslation } = require("./"); expect(getTranslation("log_in")).toEqual("Log in"); expect(getTranslation("log_in", "fr")).toEqual("Log in"); + expect(getTranslation("log_in", "es")).toEqual("Log in"); }); });