From 834fb588fad11402bc1948b4b2f9aa1302228066 Mon Sep 17 00:00:00 2001 From: Francisco de Juan Date: Sun, 9 Jun 2013 18:22:11 +0200 Subject: [PATCH] Configure default locale :es. Add translations for account, devise and rails --- app/controllers/application_controller.rb | 8 + app/views/devise/sessions/new.html.haml | 2 +- app/views/layouts/application.html.haml | 4 +- app/views/my_accounts/show.html.haml | 24 ++- config/application.rb | 2 +- config/locales/devise.es.yml | 73 ++++++++ config/locales/es.yml | 55 ++++++ config/locales/rails.es.yml | 194 ++++++++++++++++++++++ 8 files changed, 351 insertions(+), 11 deletions(-) create mode 100644 config/locales/devise.es.yml create mode 100644 config/locales/es.yml create mode 100644 config/locales/rails.es.yml diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index da39385..d4625ed 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -2,4 +2,12 @@ class ApplicationController < ActionController::Base protect_from_forgery before_filter :authenticate_user! + before_filter :set_locale + + + private + + def set_locale + I18n.locale = :es + end end diff --git a/app/views/devise/sessions/new.html.haml b/app/views/devise/sessions/new.html.haml index 0746ee8..064b592 100644 --- a/app/views/devise/sessions/new.html.haml +++ b/app/views/devise/sessions/new.html.haml @@ -1,4 +1,4 @@ -%h2 Sign in +%h2= t('sign_in') = form_for(resource, :as => resource_name, :url => session_path(resource_name)) do |f| %div = f.label :email diff --git a/app/views/layouts/application.html.haml b/app/views/layouts/application.html.haml index 5702962..fd60e7d 100644 --- a/app/views/layouts/application.html.haml +++ b/app/views/layouts/application.html.haml @@ -31,8 +31,8 @@ %ul.nav.pull-right %li= link_to t('devise.links.sign_out'), destroy_user_session_path, :method => :delete %ul.nav - %li= link_to "My account", my_account_path - %li= link_to "Calendar", calendar_path + %li= link_to t('my_account'), my_account_path + %li= link_to t('calendar'), calendar_path .container-fluid diff --git a/app/views/my_accounts/show.html.haml b/app/views/my_accounts/show.html.haml index d352103..f645344 100644 --- a/app/views/my_accounts/show.html.haml +++ b/app/views/my_accounts/show.html.haml @@ -1,32 +1,42 @@ .page-header - %h1 My account + %h1= t('my_account') .row .span3 - %b Name: + %b= "#{User.human_attribute_name(:name)}:" = best_in_place @user, :name, input: :input, ok_button: t('save'), cancel_button: t('cancel') .span3 - %b Phone: + %b= "#{User.human_attribute_name(:phone)}:" = best_in_place @user, :phone, input: :input, ok_button: t('save'), cancel_button: t('cancel') .span3 - %b Email: + %b= "#{User.human_attribute_name(:email)}:" = @user.email .page-header - %h2 My week + %h2= t('my_week') + + +%p= t('week_explanation') +%p= t('notification_explanation') .row .span9 - %table.table.table-striped %thead %tr %td   - @weekdays.each do |day| - %th= day + %th= t(day) %tbody - (10..22).each do |hour| %tr %th= hour - @weekdays.each do |day| %td= best_in_place @user, "#{day}_#{hour}".to_sym, type: :checkbox, collection: [''.html_safe, ''.html_safe] + .span3.well + %p + %i.icon-circle-blank + = t('not_available') + %p + %i.icon-ok + = t('available') diff --git a/config/application.rb b/config/application.rb index 30f0135..7016834 100644 --- a/config/application.rb +++ b/config/application.rb @@ -31,7 +31,7 @@ class Application < Rails::Application # The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded. # config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s] - # config.i18n.default_locale = :de + config.i18n.default_locale = :es # Configure the default encoding used in templates for Ruby 1.9. config.encoding = "utf-8" diff --git a/config/locales/devise.es.yml b/config/locales/devise.es.yml new file mode 100644 index 0000000..16ed026 --- /dev/null +++ b/config/locales/devise.es.yml @@ -0,0 +1,73 @@ +--- +es: + not_authorized: "No tiene permisos para acceder a este recurso" + errors: + messages: + expired: "ha expirado, por favor pide una nueva" + not_found: "no encontrado" + already_confirmed: "ya fue confirmada. Intenta ingresar." + not_locked: "no ha sido bloqueada" + not_saved: + one: "Ha habido 1 error:" + other: "Han habido %{count} errores:" + + devise: + failure: + already_authenticated: 'Ya iniciaste sesión' + unauthenticated: 'Tienes que registrarte o iniciar sesión antes de continuar' + unconfirmed: 'Tienes que confirmar tu cuenta antes de continuar' + locked: 'Tu cuente está bloqueada' + invalid: 'Email o contraseña inválidos' + invalid_token: 'Token de autentificación inválido' + timeout: 'Tu sesión ha expirado. Inicia sesión nuevamente' + inactive: 'Tu cuenta aun no ha sido activada' + sessions: + signed_in: 'Iniciaste sesión correctamente' + signed_out: 'Cerraste sesión correctamente' + passwords: + change_password_instructions: "Introduce tu nueva contraseña en este formulario" + change_my_password: "Cambia mi contraseña" + change_your_password: "Cambia tu contraseña" + confirm_your_new_password: "Confirma tu nueva contraseña" + forgot_password: "¿Has olvidado tu contraseña?" + new_password: "Nueva contraseña" + reset_password_instructions: 'Introduce tu email en el siguiente campo y pulsa el botón para cambiar tu contraseña' + send_instructions: 'Recibirás un email con instrucciones para reiniciar tu contraseña en unos minutos' + updated: 'Tu contraseña fue cambiada correctamente. Has iniciado sesión' + updated_not_active: 'Tu contraseña fue cambiada correctamente' + send_paranoid_instructions: "Si tu email existe en el sistema, recibirás instrucciones para recuperar tu contraseña en él" + confirmations: + send_instructions: 'Recibirás instrucciones para confirmar tu cuenta en tu email en unos minutos' + send_paranoid_instructions: 'Si tu email existe en el sistema, recibirás instrucciones para confirmar tu cuenta en tu email en unos minutos' + confirmed: 'Tu cuenta fue confirmada. Has iniciado sesión' + registrations: + signed_up: 'Bienvenido! Te has registrado correctamente' + signed_up_but_unconfirmed: 'Te hemos enviado un email con instrucciones para que confirmes tu cuenta' + signed_up_but_inactive: 'Te has registrado correctamente, pero tu cuenta aun no ha sido activada' + signed_up_but_locked: 'Te has registrado correctamente, pero tu cuenta está bloqueada' + updated: 'Actualizaste tu cuenta correctamente' + update_needs_confirmation: "Actualizaste tu cuenta correctamente, pero tenemos que revalidar tu email. Revisa tu correo para confirmar la dirección." + destroyed: 'Adiós, tu cuenta ha sido eliminada. Esperamos verte de vuelta pronto!' + unlocks: + send_instructions: 'Recibirás un email con instrucciones para desbloquear tu cuenta en unos minutos' + unlocked: 'Tu cuenta ha sido desbloqueada. Inicia sesión para continuar' + send_paranoid_instructions: 'Si tu cuenta existe, recibirás instrucciones para desbloquear tu cuenta en unos minutos' + omniauth_callbacks: + success: 'Te autentificaste correctamente con tu cuenta de %{kind}' + failure: 'No pudimos autentificar tu cuenta de %{kind} por la siguiente razón: %{reason}' + mailer: + confirmation_instructions: + subject: 'Instrucciones de confirmación' + reset_password_instructions: + subject: 'Instrucciones de cambio de contraseña' + unlock_instructions: + subject: 'Instrucciones de desbloqueo' + links: + sign_in: 'Inicia sesión' + sign_up: 'Regístrate' + forgot_password: '¿Olvidaste tu contraseña?' + sign_in_with: "Inicia sesión con %{provider}" + sign_out: "Salir" + buttons: + sign_in: "Acceder" + send_me_reset_password_instructions: Enviar instrucciones para cambiar contraseña diff --git a/config/locales/es.yml b/config/locales/es.yml new file mode 100644 index 0000000..e575298 --- /dev/null +++ b/config/locales/es.yml @@ -0,0 +1,55 @@ +es: + # Forms + save: "Guardar" + cancel: "Cancelar" + + # Navigation + my_account: "Mi cuenta" + calendar: "Calendario" + + my_week: "Mi semana" + monday: "Lunes" + tuesday: "Martes" + wednesday: "Miércoles" + thursday: "Jueves" + friday: "Viernes" + saturday: "Sábado" + sunday: "Domingo" + + week_explanation: "Señala en el siguiente cuadro los días y las horas en las que sueles estar disponible para jugar." + notification_explanation: "Cuando alguien cree un partido en esas horas, te llegará un correo para que confirmes si quieres apuntarte." + not_available: "No estoy disponible" + available: "Avísame cuando se creen partidos" + + # Scaffold + helpers: + links: + back: "Atrás" + cancel: "Cancelar" + confirm: "¿Estás seguro?" + edit: "Editar" + new: "Nuevo" + destroy: "Borrar" + titles: + edit: "Editar %{model}" + new: "Crear %{model}" + new_report: "%{model} - crear informe" + new_document: "%{model} - crear documento" + + # Activerecord + activerecord: + models: + user: + one: "Usuario" + other: "Usuarios" + attributes: + user: + email: "Email" + name: "Nombre" + phone: "Teléfono" + + + will_paginate: + previous_label: "← Anterior" + next_label: "Siguiente →" + page_gap: "…" diff --git a/config/locales/rails.es.yml b/config/locales/rails.es.yml new file mode 100644 index 0000000..f7b4925 --- /dev/null +++ b/config/locales/rails.es.yml @@ -0,0 +1,194 @@ +--- +es: + date: + abbr_day_names: + - dom + - lun + - mar + - mié + - jue + - vie + - sáb + abbr_month_names: + - + - Ene + - Feb + - Mar + - Abr + - May + - Jun + - Jul + - Ago + - Sep + - Oct + - Nov + - Dic + day_names: + - domingo + - lunes + - martes + - miércoles + - jueves + - viernes + - sábado + formats: + default: ! '%e/%m/%Y' + long: ! '%e de %B de %Y' + short: ! '%e de %b' + month_year: ! '%b %y' + month_names: + - + - enero + - febrero + - marzo + - abril + - mayo + - junio + - julio + - agosto + - septiembre + - octubre + - noviembre + - diciembre + order: + - :day + - :month + - :year + datetime: + distance_in_words: + about_x_hours: + one: alrededor de 1 hora + other: alrededor de %{count} horas + about_x_months: + one: alrededor de 1 mes + other: alrededor de %{count} meses + about_x_years: + one: alrededor de 1 año + other: alrededor de %{count} años + almost_x_years: + one: casi 1 año + other: casi %{count} años + half_a_minute: medio minuto + less_than_x_minutes: + one: menos de 1 minuto + other: menos de %{count} minutos + less_than_x_seconds: + one: menos de 1 segundo + other: menos de %{count} segundos + over_x_years: + one: más de 1 año + other: más de %{count} años + x_days: + one: 1 día + other: ! '%{count} días' + x_minutes: + one: 1 minuto + other: ! '%{count} minutos' + x_months: + one: 1 mes + other: ! '%{count} meses' + x_seconds: + one: 1 segundo + other: ! '%{count} segundos' + prompts: + day: Día + hour: Hora + minute: Minutos + month: Mes + second: Segundos + year: Año + errors: &errors + format: ! '%{attribute} %{message}' + messages: + accepted: debe ser aceptado + blank: no puede estar en blanco + confirmation: no coincide con la confirmación + empty: no puede estar vacío + equal_to: debe ser igual a %{count} + even: debe ser par + exclusion: está reservado + greater_than: debe ser mayor que %{count} + greater_than_or_equal_to: debe ser mayor que o igual a %{count} + inclusion: no está incluido en la lista + invalid: no es válido + less_than: debe ser menor que %{count} + less_than_or_equal_to: debe ser menor que o igual a %{count} + not_a_number: no es un número + not_an_integer: debe ser un entero + odd: debe ser impar + record_invalid: ! 'La validación falló: %{errors}' + taken: ya está en uso + too_long: es demasiado largo (%{count} caracteres máximo) + too_short: es demasiado corto (%{count} caracteres mínimo) + wrong_length: no tiene la longitud correcta (%{count} caracteres exactos) + template: + body: ! 'Se encontraron problemas con los siguientes campos:' + header: + one: No se pudo guardar este/a %{model} porque se encontró 1 error + other: No se pudo guardar este/a %{model} porque se encontraron %{count} errores + helpers: + select: + prompt: Por favor seleccione + submit: + create: Crear %{model} + submit: Guardar %{model} + update: Actualizar %{model} + number: + currency: + format: + delimiter: . + format: ! '%n %u' + precision: 2 + separator: ! ',' + significant: false + strip_insignificant_zeros: false + unit: € + format: + delimiter: . + precision: 3 + separator: ! ',' + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: ! '%n %u' + units: + billion: mil millones + million: millón + quadrillion: mil billones + thousand: mil + trillion: billón + unit: '' + format: + delimiter: '' + precision: 1 + significant: true + strip_insignificant_zeros: true + storage_units: + format: ! '%n %u' + units: + byte: + one: Byte + other: Bytes + gb: GB + kb: KB + mb: MB + tb: TB + percentage: + format: + delimiter: '' + precision: + format: + delimiter: '' + support: + array: + last_word_connector: ! ' y ' + two_words_connector: ! ' y ' + words_connector: ! ', ' + time: + am: am + formats: + default: ! '%A, %d de %B de %Y %H:%M:%S %z' + long: ! '%d de %B de %Y %H:%M' + short: ! '%d de %b %H:%M' + pm: pm \ No newline at end of file