From fffeb2a17a72e93871ff2b6c14ff93884dd7a937 Mon Sep 17 00:00:00 2001 From: vjrj Date: Tue, 28 Nov 2017 22:49:25 +0100 Subject: [PATCH] More i18n work --- imports/ui/components/Footer/Footer.js | 2 +- .../ui/components/Navigation/Navigation.js | 2 +- .../ui/components/Navigation/Navigation.scss | 2 +- .../OAuthLoginButtons/OAuthLoginButtons.scss | 3 +- imports/ui/pages/Login/Login.js | 2 +- .../pages/RecoverPassword/RecoverPassword.js | 2 +- .../ui/pages/ResetPassword/ResetPassword.js | 30 ++++++++++--------- imports/ui/pages/Signup/Signup.js | 2 +- imports/ui/pages/VerifyEmail/VerifyEmail.js | 11 ++++--- .../ui/stylesheets/bootstrap-overrides.scss | 4 +++ imports/ui/stylesheets/custom.scss | 4 +++ public/locales/en/common.json | 24 ++++++++++++++- public/locales/es/common.json | 24 ++++++++++++++- 13 files changed, 85 insertions(+), 27 deletions(-) diff --git a/imports/ui/components/Footer/Footer.js b/imports/ui/components/Footer/Footer.js index 08d11db..be110b7 100644 --- a/imports/ui/components/Footer/Footer.js +++ b/imports/ui/components/Footer/Footer.js @@ -16,7 +16,7 @@ const Footer = (props) => { return (
-

© Copyleft {copyrightYear()} {t('OrgNameFull')}{t('OrgName')}

+

© Copyleft {copyrightYear()} {t('OrgName')}{t('OrgName')}

  • {t('Términos')} {t('de Servicio')}
  • diff --git a/imports/ui/components/Navigation/Navigation.js b/imports/ui/components/Navigation/Navigation.js index 8a38052..4d3451d 100644 --- a/imports/ui/components/Navigation/Navigation.js +++ b/imports/ui/components/Navigation/Navigation.js @@ -14,7 +14,7 @@ const Navigation = props => ( {window.location.pathname != '/'? - {props.t('Inicio')} + {props.t('AppNameFull')} : '' } {/* */} diff --git a/imports/ui/components/Navigation/Navigation.scss b/imports/ui/components/Navigation/Navigation.scss index 1a7c2a6..7783f13 100644 --- a/imports/ui/components/Navigation/Navigation.scss +++ b/imports/ui/components/Navigation/Navigation.scss @@ -24,5 +24,5 @@ a.nav-link:hover { } .navbar { - padding: 0.3rem 1rem; + padding: 0.3rem 0rem; } diff --git a/imports/ui/components/OAuthLoginButtons/OAuthLoginButtons.scss b/imports/ui/components/OAuthLoginButtons/OAuthLoginButtons.scss index 672f8ea..4f49ae5 100644 --- a/imports/ui/components/OAuthLoginButtons/OAuthLoginButtons.scss +++ b/imports/ui/components/OAuthLoginButtons/OAuthLoginButtons.scss @@ -10,7 +10,8 @@ .EmailMessage { display: inline-block; - background: #fff; + background: #fff; /* default */ + background: lighten($todos-palette5, 70%); padding: 0 10px; position: absolute; bottom: -27px; diff --git a/imports/ui/pages/Login/Login.js b/imports/ui/pages/Login/Login.js index cddb43a..a428a46 100644 --- a/imports/ui/pages/Login/Login.js +++ b/imports/ui/pages/Login/Login.js @@ -57,7 +57,7 @@ class Login extends React.Component { render() { return (
    - +

    {this.t("Iniciar sesión")}

    diff --git a/imports/ui/pages/RecoverPassword/RecoverPassword.js b/imports/ui/pages/RecoverPassword/RecoverPassword.js index 1db243f..adc7235 100644 --- a/imports/ui/pages/RecoverPassword/RecoverPassword.js +++ b/imports/ui/pages/RecoverPassword/RecoverPassword.js @@ -53,7 +53,7 @@ class RecoverPassword extends React.Component { render() { return (
    - +

    {this.t("Recupera tu contraseña")}

    diff --git a/imports/ui/pages/ResetPassword/ResetPassword.js b/imports/ui/pages/ResetPassword/ResetPassword.js index e44c75c..7cc14b0 100644 --- a/imports/ui/pages/ResetPassword/ResetPassword.js +++ b/imports/ui/pages/ResetPassword/ResetPassword.js @@ -5,10 +5,12 @@ import Col from '../../components/Col/Col'; import { Accounts } from 'meteor/accounts-base'; import { Bert } from 'meteor/themeteorchef:bert'; import validate from '../../../modules/validate'; +import { translate } from 'react-i18next'; class ResetPassword extends React.Component { constructor(props) { super(props); + this.t = props.t; this.handleSubmit = this.handleSubmit.bind(this); } @@ -29,12 +31,13 @@ class ResetPassword extends React.Component { }, messages: { newPassword: { - required: 'Enter a new password, please.', - minlength: 'Use at least six characters, please.', + required: this.t("Introduce una nueva contraseña, por favor."), + minlength: this.t("Usa al menos seis caracteres."), }, repeatNewPassword: { - required: 'Repeat your new password, please.', - equalTo: 'Hmm, your passwords don\'t match. Try again?', + required: this.t("Repite tu nueva contraseña, por favor."), + equalTo: this.t("Mmmm, tus contraseñas no coinciden. ¿Inténtalo otra vez?"), + minlength: this.t("Usa al menos seis caracteres."), }, }, submitHandler() { component.handleSubmit(); }, @@ -56,35 +59,34 @@ class ResetPassword extends React.Component { render() { return (
    - + -

    Reset Password

    +

    {this.t("Resetea tu contraseña")}

    - To reset your password, enter a new one below. You will be logged in -with your new password. + { this.t("Para resetear tu contraseña, introduce una nueva debajo. Iniciarás la sesión con la nueva contraseña.") }
    (this.form = form)} onSubmit={event => event.preventDefault()}> - New Password + {this.t("Nueva contraseña")} (this.newPassword = newPassword)} name="newPassword" - placeholder="New Password" + placeholder={this.t("Nueva contraseña")} /> - Repeat New Password + {this.t("Repite la nueva contraseña")} (this.repeatNewPassword = repeatNewPassword)} name="repeatNewPassword" - placeholder="Repeat New Password" + placeholder={this.t("Repite la nueva contraseña")} /> - +
    @@ -97,4 +99,4 @@ ResetPassword.propTypes = { history: PropTypes.object.isRequired, }; -export default ResetPassword; +export default translate([], { wait: true })(ResetPassword); diff --git a/imports/ui/pages/Signup/Signup.js b/imports/ui/pages/Signup/Signup.js index 07e69ee..fdc0a85 100644 --- a/imports/ui/pages/Signup/Signup.js +++ b/imports/ui/pages/Signup/Signup.js @@ -86,7 +86,7 @@ class Signup extends React.Component { render() { return (
    - +

    {this.t("Registrarse")}

    diff --git a/imports/ui/pages/VerifyEmail/VerifyEmail.js b/imports/ui/pages/VerifyEmail/VerifyEmail.js index 2b39f1d..300986f 100644 --- a/imports/ui/pages/VerifyEmail/VerifyEmail.js +++ b/imports/ui/pages/VerifyEmail/VerifyEmail.js @@ -4,10 +4,12 @@ import { Alert } from 'react-bootstrap'; import { Meteor } from 'meteor/meteor'; import { Accounts } from 'meteor/accounts-base'; import { Bert } from 'meteor/themeteorchef:bert'; +import { translate } from 'react-i18next'; class VerifyEmail extends React.Component { constructor(props) { super(props); + this.t = props.t; this.state = { error: null }; } @@ -16,10 +18,11 @@ class VerifyEmail extends React.Component { Accounts.verifyEmail(match.params.token, (error) => { if (error) { Bert.alert(error.reason, 'danger'); - this.setState({ error: `${error.reason}. Please try again.` }); + this.setState({ error: error.reason + ". " + this.t("Por favor, inténtalo otra vez.")}); + // this.setState({ error: `${error.reason}. Please try again.` }); } else { setTimeout(() => { - Bert.alert('All set, thanks!', 'success'); + Bert.alert(this.t("¡Listo, gracias!"), 'success'); history.push('/documents'); }, 1500); } @@ -29,7 +32,7 @@ class VerifyEmail extends React.Component { render() { return (
    - {!this.state.error ? 'Verifying...' : this.state.error} + {!this.state.error ? this.t('Verificando...') : this.state.error}
    ); } @@ -40,4 +43,4 @@ VerifyEmail.propTypes = { history: PropTypes.object.isRequired, }; -export default VerifyEmail; +export default translate([], { wait: true })(VerifyEmail); diff --git a/imports/ui/stylesheets/bootstrap-overrides.scss b/imports/ui/stylesheets/bootstrap-overrides.scss index c305149..88af70d 100644 --- a/imports/ui/stylesheets/bootstrap-overrides.scss +++ b/imports/ui/stylesheets/bootstrap-overrides.scss @@ -9,3 +9,7 @@ margin-top: 20px; } } + +body { + background-color: lighten($todos-palette5, 70%); +} diff --git a/imports/ui/stylesheets/custom.scss b/imports/ui/stylesheets/custom.scss index 3df3325..d2561d7 100644 --- a/imports/ui/stylesheets/custom.scss +++ b/imports/ui/stylesheets/custom.scss @@ -5,3 +5,7 @@ a, a:hover { .bg-dark { background-color: $todos-palette1 !important; } + +h4.page-header { + line-height: 2em; +} diff --git a/public/locales/en/common.json b/public/locales/en/common.json index 5db5383..69ec925 100644 --- a/public/locales/en/common.json +++ b/public/locales/en/common.json @@ -77,5 +77,27 @@ "checkVerificationEmail": "Check {{email}} for a verification link!", "checkResetEmail": - "Check ${email} for a reset link!" + "Check ${email} for a reset link!", + "¡Listo, gracias!": + "All set, thanks!", + "Por favor, inténtalo otra vez.": + "Please try again.", + "Verificando...": + "Verifying...", + "Introduce una nueva contraseña, por favor.": + "Enter a new password, please.", + "Repite tu nueva contraseña, por favor.": + "Repeat your new password, please.", + "Mmmm, tus contraseñas no coinciden. Inténtalo otra vez": + "Hmm, your passwords don't match. Try again", + "Para resetear tu contraseña, introduce una nueva debajo. Iniciarás la sesión con la nueva contraseña.": + "To reset your password, enter a new one below. You will be logged in with your new password.", + "Resetea tu contraseña": + "Reset Password", + "Nueva contraseña": + "New Password", + "Repite la nueva contraseña": + "Repeat New Password", + "Resetea la contraseña y entra": + "Reset Password & Login" } diff --git a/public/locales/es/common.json b/public/locales/es/common.json index 379226e..4e04dae 100644 --- a/public/locales/es/common.json +++ b/public/locales/es/common.json @@ -78,5 +78,27 @@ "checkVerificationEmail": "¡Comprueba en tu correo {{email}} el enlace de verificación!", "checkResetEmail": - "¡Comprueba en tu correo {{email}} el enlace de reseteo!" + "¡Comprueba en tu correo {{email}} el enlace de reseteo!", + "¡Listo, gracias!": + "¡Listo, gracias!", + "Por favor, inténtalo otra vez.": + "Por favor, inténtalo otra vez.", + "Verificando...": + "Verificando...", + "Introduce una nueva contraseña, por favor.": + "Introduce una nueva contraseña, por favor.", + "Repite tu nueva contraseña, por favor.": + "Repite tu nueva contraseña, por favor.", + "Mmmm, tus contraseñas no coinciden. Inténtalo otra vez": + "Mmmm, tus contraseñas no coinciden. Inténtalo otra vez", + "Para resetear tu contraseña, introduce una nueva debajo. Iniciarás la sesión con la nueva contraseña.": + "Para resetear tu contraseña, introduce una nueva abajo. Iniciarás la sesión con la nueva contraseña.", + "Resetea tu contraseña": + "Resetea tu contraseña", + "Nueva contraseña": + "Nueva contraseña", + "Repite la nueva contraseña": + "Repite la nueva contraseña", + "Resetea la contraseña y entra": + "Resetea la contraseña y entra" }