diff --git a/config/locales/app.admin.es.yml b/config/locales/app.admin.es.yml
new file mode 100644
index 000000000..e18bc8caf
--- /dev/null
+++ b/config/locales/app.admin.es.yml
@@ -0,0 +1,656 @@
+es:
+ app:
+ admin:
+ machines_new:
+ # add a new machine
+ declare_a_new_machine: "Declara una nueva máquina"
+ watch_out_when_creating_a_new_machine_its_prices_are_initialized_at_0_for_all_subscriptions: "Cuidado al crear una nueva máquina, los precios están inicializados a 0 para todas las subscripciones."
+ consider_changing_them_before_creating_any_reservation_slot: "Considera cambiarlos antes de crear cualquier ranura de reserva."
+
+ machines_edit:
+ # machine edition
+ machine_edit: "Editar una máquina"
+
+ calendar:
+ # manage the trainings & machines slots
+ admin_calendar:
+ calendar_management: "Administración de calendario"
+ trainings: "Formación"
+ machines: "Máquinas"
+ spaces: "Espacios"
+ availabilities: "Disponibilidades"
+ availabilities_notice: "Exportar a un libro de trabajo de Excel cada ranura disponible para reserva, y su ratio de ocupación."
+ ongoing_reservations: "Reservas en curso"
+ no_reservations: "Sin reservas"
+ confirmation_required: "Confirmación requerida"
+ do_you_really_want_to_cancel_the_USER_s_reservation_the_DATE_at_TIME_concerning_RESERVATION: "Realmente quieres cancelar la reserva del {USER}, en {DATE} a las {TIME}, respecto {RESERVATION}?" # messageFormat interpolation
+ reservation_was_successfully_cancelled: "La reserva fué cancelada con éxito."
+ reservation_cancellation_failed: "Fallo al cancelar la reserva."
+ unable_to_remove_the_last_machine_of_the_slot_delete_the_slot_rather: "No se puede quitar la última máquina de la ranura. Eliminar la ranura en su lugar."
+ do_you_really_want_to_remove_MACHINE_from_this_slot: "Realmente quieres borrar la \"{MACHINE}\" de este espacio?" # messageFormat interpolation
+ this_will_prevent_any_new_reservation_on_this_slot_but_wont_cancel_those_existing: "Esto evitará cualquier nueva reserva en esta ranura, pero no cancelará las existentes."
+ beware_this_cannot_be_reverted: "Beware: esto no puede ser revertido."
+ the_machine_was_successfully_removed_from_the_slot: "La máquina se eliminó correctamente de la ranura."
+ deletion_failed: "Fallo al borrar."
+ DATE_slot: "{{DATE}} espacio:" # angular interpolation
+ what_kind_of_slot_do_you_want_to_create: "¿Qué tipo de ranura desea crear??"
+ training: "Formación"
+ machine: "Máquina"
+ space: "Espacio"
+ next: "Siguiente >"
+ previous: "< Anterior"
+ select_some_machines: "Seleccione algunas máquinas"
+ number_of_tickets: "Número de tickets: "
+ adjust_the_opening_hours: "Ajustar el horario de apertura"
+ to_time: "to" # context: hora. ej. "de 18:00 a 21:00"
+ restrict_this_slot_with_labels_(optional): "Restringir esta ranura con etiquetas (opcional)"
+ the_slot_START-END_has_been_successfully_deleted: "La ranura {{START}} - {{END}} se ha eliminado correctamente" # angular interpolation
+ unable_to_delete_the_slot_START-END_because_it_s_already_reserved_by_a_member: "No se puede eliminar la ranura {{START}} - {{END}} porque ya está reservada por un miembror" # angular interpolation
+ you_should_select_at_least_a_machine: "Debe seleccionar al menos una máquina en esta ranura."
+ export_is_running_you_ll_be_notified_when_its_ready: "La exportación se está ejecutando. Se le notificará cuando esté listo."
+ actions: "Acciones"
+ block_reservations: "Reservas de bloques"
+ do_you_really_want_to_block_this_slot: "¿Realmente desea bloquear nuevas reservas en esta ranura? Se volverá invisible para los usuarios."
+ locking_success: "Ranura correctamente bloqueada, no aparecerá más en el calendario del usuario"
+ locking_failed: "Ocurrió un error. El bloqueo de la ranura ha fallado"
+ allow_reservations: "Permitir reservas"
+ do_you_really_want_to_allow_reservations: "¿Realmente desea permitir la reserva de nuevo en esta ranura? Será visible para los usuarios."
+ unlocking_success: "Ranura desbloqueada con éxito, aparecerá de nuevo en el calendario de usuario"
+ unlocking_failed: "Ocurrió un error. El desbloqueo de la ranura ha fallado"
+ reservations_locked: "La reserva está bloqueada"
+ unlockable_because_reservations: "No se puede bloquear la reserva en esta ranura porque existen algunas reservas no canceladas."
+
+ project_elements:
+ # management of the projects' components
+ projects_elements_management: "Gestión de elementos de proyectos"
+ add_a_material: "Añadir un material"
+ add_a_new_theme: "Añadir un nuevo tema"
+ licences: "Licencias"
+ add_a_new_licence: "Agregar una nueva licencia"
+
+ trainings:
+ # track and monitor the trainings
+ training: "Formación"
+ year_NUMBER: "Año {{NUMBER}}" # angular interpolation
+ month_of_NAME: "Mes of {{NAME}}" # angular interpolation
+ NUMBER_reservation: "{NUMBER} {NUMBER, plural, one{reservation} other{reservations}}" # messageFormat interpolation
+ none: "Nada"
+ training_validation: "Validación de la formación"
+ training_of_the_ : "Training of the " # context: fecha. p.ej. "entrenamiento del 1 de septiembre 2012"
+ you_can_validate_the_training_of_the_following_members: "Puede validar la formación de los siguientes miembros:"
+ no_reservation: "Sin reserva"
+ validate_the_trainings: "Validar los entrenamientos"
+ edition_of_the_description_tooltip: "Edición de la descripción tooltip"
+ describe_the_training_in_a_few_words: "Describa el entrenamiento en pocas palabras."
+ description_is_limited_to_255_characters: "La descripción está limitada a 255 caracteres."
+ description_was_successfully_saved: "La descripción se ha guardado correctamente."
+ training_successfully_deleted: "Entrenamiento eliminado correctamente."
+ unable_to_delete_the_training_because_some_users_alredy_booked_it: "No se puede eliminar el entrenamiento porque algunos usuarios ya lo han reservado."
+ do_you_really_want_to_delete_this_training: "¿De verdad quieres eliminar este entrenamiento?"
+
+ trainings_new:
+ # create a new training
+ beware_when_creating_a_training_its_reservation_prices_are_initialized_to_zero: "Tenga cuidado, al crear una formación, sus precios de reserva se inicializan en cero."
+ dont_forget_to_change_them_before_creating_slots_for_this_training: "No olvides cambiarlos antes de crear espacios para esta formación."
+
+ events:
+ # events tracking and management
+ events_monitoring: "Monitoreo de eventos"
+ manage_filters: "Administrar filtros"
+ fablab_events: "Eventos de Fablab"
+ all_events: "Todos los eventos"
+ passed_events: "Eventos pasados"
+ events_to_come: "Eventos por venir"
+ from_DATE: "Desde {{DATE}}" # angular interpolation
+ from_TIME: "Desde {{TIME}}" # angular interpolation
+ view_reservations: "Ver reservas"
+ categories: "Categorías"
+ add_a_category: "Añadir una categoría"
+ add_a_theme: "Añadir un tema"
+ age_ranges: "Rango de edad"
+ add_a_range: "Añadir un rango"
+ do_you_really_want_to_delete_this_ELEMENT: "¿Realmente desea eliminar este {ELEMENT, select, category{category} theme{theme} age_range{age range} other{element}}?" # messageFormat interpolation
+ unable_to_delete_ELEMENT_already_in_use_NUMBER_times: "No se puede eliminar este {ELEMENT, select, category{category} theme{theme} age_range{age range} other{element}} porque ya está asociado con {NUMBER, plural, =0{no events} one{one event} other{{NUMBER} events}}." # messageFormat interpolation
+ at_least_one_category_is_required: "Se requiere por lo menos una categoría."
+ unable_to_delete_the_last_one: "No se pudo eliminar el último."
+ unable_to_delete_an_error_occured: "No se pudo eliminar: se ha producido un error.."
+ manage_prices_categories: "Gestionar categorías de precios"
+ prices_categories: "Categorías de precios"
+ add_a_price_category: "Agregar una categoría de precios"
+ usages_count: "Cuenta de uso"
+ price_category: "Categoría de precios"
+ category_name: "Nombre de la categoría"
+ category_name_is_required: "El nombre de la categoría es obligatorio."
+ enter_here_the_conditions_under_which_this_price_is_applicable: "Introduzca aquí las condiciones bajo las cuales este precio es aplicable"
+ conditions_are_required: "Se requieren condiciones."
+ price_category_successfully_created: "Categoría de precios creada correctamente."
+ unable_to_add_the_price_category_check_name_already_used: "No se puede agregar la categoría de precio, compruebe que el nombre no está ya utilizado."
+ unexpected_error_occurred_please_refresh: "Se ha producido un error inesperado. Actualice la página.."
+ price_category_successfully_updated: "Categoría de precio actualizada correctamente."
+ unable_to_update_the_price_category: "No se puede actualizar la categoría de precios."
+ unable_to_delete_this_price_category_because_it_is_already_used: "No se puede eliminar esta categoría de precio ya que se está utilizando."
+ do_you_really_want_to_delete_this_price_category: "¿Desea realmente eliminar esta categoría de precios?"
+ price_category_successfully_deleted: "Categoría de precio eliminada correctamente."
+ price_category_deletion_failed: "Error al eliminar la categoría de precio."
+
+ events_new:
+ # add a new event
+ none: "Nada"
+ every_days: "Todos los dias"
+ every_week: "Cada semana"
+ every_month: "Cada mes"
+ every_year: "Cada año"
+
+ events_edit:
+ # edit an existing event
+ edit_the_event: "Editar el evento"
+
+ event_reservations:
+ # event reservations list
+ the_reservations: "Reservas :"
+ payment_date: "Fecha de pago"
+ reserved_tickets: "Tickets reservados "
+ show_the_event: "Mostrar el evento"
+ no_reservations_for_now: "No hay reservas por ahora."
+ back_to_monitoring: "Volver a monitorizar"
+
+ pricing:
+ # subscriptions, prices, credits and coupons management
+ pricing:
+ pricing_management: "Gestión de precios"
+ subscriptions: "Suscripciones"
+ trainings: "Formaciones"
+ list_of_the_subscription_plans: "Lista de los planes de suscripción"
+ beware_the_subscriptions_are_disabled_on_this_application: "Atención, las suscripciones están inhabilitadas en esta aplicación."
+ you_can_create_some_but_they_wont_be_available_until_the_project_is_redeployed_by_the_server_manager: "Puede crear algunos, pero no estarán disponibles hasta que el proyecto sea reasignado por el administrador del servidor."
+ for_safety_reasons_please_dont_create_subscriptions_if_you_dont_want_intend_to_use_them_later: "Por razones de seguridad, no cree suscripciones si no tiene la intención de usarlas más tarde."
+ add_a_new_subscription_plan: "Agregar un nuevo plan de suscripción"
+ type: "Tipo"
+ partner: "Socio"
+ standard: "Estándar"
+ name: "Nombre"
+ duration: "Duración"
+ group: "Grupo"
+ prominence: "Prominencia"
+ price: "Precio"
+ machine_hours: "Horas de la máquina"
+ these_prices_match_machine_hours_rates_: "Estos precios se ajustan a la tarifas de máquina por horas"
+ _without_subscriptions: "Sin suscripciones"
+ machines: "Máquinas"
+ credits: "Créditos"
+ subscription: "Suscripción"
+ related_trainings: "Formación relacionada"
+ add_a_machine_credit: "Agregar un crédito de máquina"
+ machine: "Máquina"
+ hours: "Horas"
+ related_subscriptions: "Suscripciónes relacionada"
+ please_specify_a_number: "Por favor, especifique un número."
+ none: "Nada" # nota gramatical: concordancia con "formación".
+ an_error_occurred_while_saving_the_number_of_credits: "Se ha producido un error al guardar el número de créditos."
+ an_error_occurred_while_deleting_credit_with_the_TRAINING: "Se ha producido un error al eliminar el crédito con la {{TRAINING}}." # angular interpolation
+ an_error_occurred_unable_to_find_the_credit_to_revoke: "Se ha producido un error: no se puede encontrar el crédito a revocar."
+ an_error_occurred_while_creating_credit_with_the_TRAINING: "Se ha producido un error al crear crédito con la {{TRAINING}}." # angular interpolation
+ not_set: "No establecido"
+ error_a_credit_linking_this_machine_with_that_subscription_already_exists: "Error: un crédito que vincula esta máquina con esa suscripción ya existe."
+ changes_have_been_successfully_saved: "Los cambios se han guardado correctamented."
+ credit_was_successfully_saved: "El crédito se ha guardado correctamente."
+ do_you_really_want_to_delete_this_subscription_plan: "¿Realmente desea eliminar este plan de suscripción?"
+ subscription_plan_was_successfully_deleted: "Plan de suscripción eliminado correctamente."
+ unable_to_delete_the_specified_subscription_an_error_occurred: "No se pudo eliminar la suscripción especificada, se produjo un error.."
+ coupons: "Cupones"
+ list_of_the_coupons: "Lista de los cupones"
+ discount: "Descuento"
+ nb_of_usages: "Número de usos"
+ status: "Estado"
+ add_a_new_coupon: "Añadir un nuevo cupón"
+ disabled: "Desactivado"
+ expired: "Expirado"
+ sold_out: "Agotado"
+ active: "Activo"
+ confirmation_required: "Confirmación requerida"
+ do_you_really_want_to_delete_this_coupon: "¿Desea realmente eliminar este cupón?"
+ coupon_was_successfully_deleted: "El cupón se eliminó correctamente."
+ unable_to_delete_the_specified_coupon_already_in_use: "No se puede eliminar el cupón especificado: ya se utiliza con algunas facturas."
+ unable_to_delete_the_specified_coupon_an_unexpected_error_occurred: "No se pudo eliminar el cupón especificado: se produjo un error inesperado."
+ send_a_coupon: "Enviar un cupón"
+ coupon: "Cupón"
+ usages: "Usos"
+ coupon_successfully_sent_to_USER: "Cupón enviado correctamente a {{USER}}" # angular interpolation
+ an_error_occurred_unable_to_send_the_coupon: "Un error inesperado impidió el envío del cupón.."
+ code: "Código"
+ enabled: "Habilitado"
+ validity_per_user: "Validez por usuario"
+ once: "Sólo una vez"
+ forever: "Cada uso"
+ valid_until: "Válido hasta (incluido)"
+ spaces: "Espacios"
+ these_prices_match_space_hours_rates_: "Estos precios coinciden con las tarifas de espacio por horas"
+ add_a_space_credit: "Añadir un crédito de espacio"
+ space: "Espacio"
+ error_a_credit_linking_this_space_with_that_subscription_already_exists: "Error: un crédito que vincula este espacio con esa suscripción ya existe."
+
+ coupons_new:
+ # ajouter un code promotionnel
+ add_a_coupon: "Añadir un cupón"
+ unable_to_create_the_coupon_check_code_already_used: "No se puede crear el cupón. Compruebe que el código no esté ya utilizado"
+
+ coupons_edit:
+ # mettre à jour un code promotionnel
+ unable_to_update_the_coupon_an_error_occurred: "No se puede actualizar el cupón: se ha producido un error."
+
+ plans:
+ new:
+ # add a subscription plan on the platform
+ new_plan:
+ add_a_subscription_plan: "Agregar un plan de suscripción"
+ unable_to_create_the_subscription_please_try_again: "No se puede crear el plan de suscripción. Por favor, inténtelo de nuevo."
+ successfully_created_subscription(s)_dont_forget_to_redefine_prices: "Suscripción(es) creada correctamente. No olvide redefinir los precios."
+ unable_to_save_this_user_check_that_there_isnt_an_already_a_user_with_the_same_name: "No se puede guardar este usuario. Compruebe que no hay un usuario ya definido con el mismo nombre."
+ edit:
+ # edit a subscription plan / machine hours prices
+ edit_plan:
+ subscription_plan: "Plan de suscripción:"
+ prices: "Precios"
+ copy_prices_from: "Copia los precios desde"
+ machines: "Máquinas"
+ machine: "Máquina"
+ hourly_rate: "Tarifa por hora"
+ spaces: "Espacios"
+ space: "Espacio"
+ unable_to_save_subscription_changes_please_try_again: "No se pueden guardar los cambios de suscripción. Por favor, inténtelo de nuevo."
+ subscription_successfully_changed: "Suscripción cambiada correctamente."
+
+ invoices:
+ # list of all invoices & invoicing parameters
+ invoices: "Facturas"
+ invoices_list: "Lista de facturas"
+ filter_invoices: "Filtrar facturas"
+ invoice_#_: "Factura #:"
+ customer_: "Cliente:"
+ date_: "Fecha:"
+ invoice_#: "Factura #"
+ customer: "Cliente"
+ credit_note: "Nota de crédito"
+ display_more_invoices: "Mostrar más facturas..."
+ invoicing_settings: "Configuración de facturación"
+ change_logo: "Cambio de logotipo"
+ john_smith: "John Smith"
+ john_smith@example_com: "jean.smith@example.com"
+ invoice_reference_: "Referencia de factura:"
+ code_: "Código:"
+ code_disabled: "Código inhabilitado"
+ order_#: "Orden #:"
+ invoice_issued_on_DATE_at_TIME: "Factura emitida el {{DATE}} a las {{TIME}}" # angular interpolation
+ object_reservation_of_john_smith_on_DATE_at_TIME: "Objeto: Reserva de John Smith el {{DATE}} a las {{TIME}}" # angular interpolation
+ order_summary: "Resumen del pedido:"
+ details: "Detalles"
+ amount: "Cantidad"
+ machine_booking-3D_printer: "Reserva de la máquina- Impresora 3D"
+ total_amount: "Cantidad total"
+ total_including_all_taxes: "Total incl. todos los impuestos"
+ VAT_disabled: "VAT disabled"
+ including_VAT: "IVA desactivado"
+ including_total_excluding_taxes: "Incluido Total excl. impuestos"
+ including_amount_payed_on_ordering: "Incluido el monto pagado en el pedido"
+ settlement_by_debit_card_on_DATE_at_TIME_for_an_amount_of_AMOUNT: "Liquidación por tarjeta de débito el {{DATE}} a las {{TIME}}, por una cantidad de {{AMOUNT}}"
+ important_notes: "Notas importantes"
+ address_and_legal_information: "Dirección e información legal"
+ invoice_reference: "Referencia de factura"
+ day: "Día"
+ "#_of_invoice": "# de factura"
+ online_sales: "Ventas en línea"
+ wallet: "Cartera"
+ refund: "Reembolso"
+ documentation: "Documentación"
+ 2_digits_year_(eg_70): "2 dígitos del año (por ejemplo, 70)"
+ 4_digits_year_(eg_1970): "4 dígitos del año (por ejemplo, 70)"
+ month_number_(eg_1): "Número del mes (por ejemplo, 1)"
+ 2_digits_month_number_(eg_01): "Número de mes de 2 dígitos (por ejemplo, 01)"
+ 3_characters_month_name_(eg_JAN): "3 caracteres nombre del mes (por ejemplo, ENE)"
+ day_in_the_month_(eg_1): "Día del mes (por ejemplo, 1)"
+ 2_digits_day_in_the_month_(eg_01): "2 dígitos en el mes (por ejemplo, 01)"
+ (n)_digits_daily_count_of_invoices_(eg_ddd_002_2nd_invoice_of_the_day): "(n) dígitos, cuenta diaria de facturas (por ejemplo, ddd => 002: 2ª factura del día)"
+ (n)_digits_monthly_count_of_invoices_(eg_mmmm_0012_12th_invoice_of_this_month): "(n) dígitos, recuento mensual de facturas (por ejemplo, mmmm => 0012: 12ª factura del mes)"
+ (n)_digits_annual_amount_of_invoices_(eg_yyyyyy_000008_8th_invoice_of_this_year): "(n) dígitos, recuento anual de facturas (ej. aaaaa => 000008: 8ª factura de este año)"
+ beware_if_the_number_exceed_the_specified_length_it_will_be_truncated_by_the_left: "Cuidado: si el número excede la longitud especificada, será aproximado por la izquierda."
+ (n)_digits_count_of_orders_(eg_nnnn_0327_327th_order): "(n) dígitos, cuenta diaria de órdenes (eg ddd => 002: segunda orden del día)"
+ (n)_digits_daily_count_of_orders_(eg_ddd_002_2nd_order_of_the_day): "((n) dígitos, cuenta diaria de órdenes (eg ddd => 002: segunda orden del día)"
+ (n)_digits_monthly_count_of_orders_(eg_mmmm_0012_12th_order_of_this_month): "(n) dígitos, recuento mensual de pedidos (por ejemplo, mmmm => 0012: 12º orden del mes)"
+ (n)_digits_annual_amount_of_orders_(eg_yyyyyy_000008_8th_order_of_this_year): "(n) dígitos, recuento anual de órdenes (ej: aaaaa => 000008: octava orden de este año)"
+ add_a_notice_regarding_the_online_sales_only_if_the_invoice_is_concerned: "Añadir un aviso con respecto a las ventas en línea, sólo si la factura es de interés."
+ this_will_never_be_added_when_a_refund_notice_is_present: "Esto nunca se agregará cuando se presente un aviso de reembolso."
+ (eg_X[/VL]_will_add_/VL_to_the_invoices_settled_with_stripe): '(por ejemplo, X [/ VL] agregará "/ VL" a las facturas liquidadas con la raya)'
+ add_a_notice_regarding_refunds_only_if_the_invoice_is_concerned: "Añada un aviso con respecto a los reembolsos, sólo si la factura es de interés."
+ this_will_never_be_added_when_an_online_sales_notice_is_present: "Esto nunca se agregará cuando un aviso de venta en línea está presente."
+ (eg_R[/A]_will_add_/A_to_the_refund_invoices): '(ed. R[/A] añadirá "/A" a las facturas de reembolso)'
+ add_a_notice_regarding_the_wallet_only_if_the_invoice_is_concerned: "Añadir un aviso con respecto a la cartera, sólo si la factura es de interés."
+ (eg_W[/PM]_will_add_/PM_to_the_invoices_settled_with_wallet): '(eg. W[/PM] añadirá "/PM" a las facturas liquidadas con cartera)'
+ code: "Código"
+ enable_the_code: "Habilitar el código"
+ enabled: "Habilitado"
+ disabled: "Desactivado"
+ order_number: "Número de orden"
+ elements: "Elementos"
+ VAT: "IVA"
+ enable_VAT: "Habilitar IVA"
+ VAT_rate: "Ratio IVA"
+ refund_invoice_successfully_created: "Factura de reembolso creada correctamente."
+ create_a_refund_on_this_invoice: "Crear un reembolso en esta factura"
+ creation_date_for_the_refund: "Fecha de creación del reembolso"
+ creation_date_is_required: "Se requiere la fecha de creación."
+ refund_mode: "Modo de reembolso:"
+ do_you_want_to_disable_the_user_s_subscription: "¿Quieres inhabilitar la suscripción del usuario?:"
+ elements_to_refund: "Elementos a reembolsar"
+ description_(optional): "Descripción (opcional):"
+ will_appear_on_the_refund_invoice: "Aparecerá en la factura de reembolso."
+ none: "Nada" # grammar note: concordancia con "medio de pago""
+ by_cash: "En efectivo"
+ by_cheque: "Mediante cheque"
+ by_transfer: "Por transferencia"
+ by_wallet: "Por cartera"
+ you_must_select_at_least_one_element_to_create_a_refund: "Debe seleccionar al menos un elemento, para crear un reembolso."
+ unable_to_create_the_refund: "No se puede crear el reembolso"
+ invoice_reference_successfully_saved: "Referencia de factura guardada correctamente."
+ an_error_occurred_while_saving_invoice_reference: "Se ha producido un error al guardar la referencia de la factura."
+ invoicing_code_succesfully_saved: "Código de facturación guardado correctamente."
+ an_error_occurred_while_saving_the_invoicing_code: "Se ha producido un error al guardar el código de facturación.."
+ code_successfully_activated: "Código activado correctamente."
+ code_successfully_disabled: "Código deshabilitado correctamente."
+ an_error_occurred_while_activating_the_invoicing_code: "Se ha producido un error al activar el código de facturación."
+ order_number_successfully_saved: "Número de pedido guardado correctamente."
+ an_error_occurred_while_saving_the_order_number: "Se ha producido un error al guardar el número de orden."
+ VAT_rate_successfully_saved: "VAT rate successfully saved."
+ an_error_occurred_while_saving_the_VAT_rate: "La tasa de IVA se ha guardado correctamente."
+ VAT_successfully_activated: "IVA activado correctamente."
+ VAT_successfully_disabled: "IVA desactivado correctamente."
+ an_error_occurred_while_activating_the_VAT: "Se ha producido un error al activar el IVA."
+ text_successfully_saved: "Texto guardado correctamente."
+ an_error_occurred_while_saving_the_text: "Se ha producido un error al guardar el texto."
+ address_and_legal_information_successfully_saved: "Dirección e información legal guardada correctamente."
+ an_error_occurred_while_saving_the_address_and_the_legal_information: "Se ha producido un error al guardar la dirección y la información legal."
+ logo_successfully_saved: "Logo guardado correctamente."
+ an_error_occurred_while_saving_the_logo: "Se ha producido un error al guardar el logotipo.."
+
+ members:
+ # management of users, labels, groups, and so on
+ users_management: "Gestión de usuarios"
+ members: "Miembros"
+ search_for_an_user: "Buscar un usuario"
+ add_a_new_member: "Añadir un nuevo miembro"
+ reservations: "Reservas"
+ email: "Email"
+ phone: "Teléfono"
+ user_type: "Tipo de usuario"
+ display_more_users: "Mostrar más usuarios...."
+ administrators: "Administradores"
+ search_for_an_administrator: "Buscar un administrador"
+ add_a_new_administrator: "Agregar un nuevo administrador"
+ groups: "Grupos"
+ authentication: "Autenticación"
+ do_you_really_want_to_delete_this_administrator_this_cannot_be_undone: "¿Desea realmente eliminar este administrador? Esto no se puede deshacer."
+ this_may_take_a_while_please_wait: "Advertencia: esto puede tomar un tiempo, por favor, tenga paciencia."
+ administrator_successfully_deleted: "Administrador eliminado correctamente."
+ unable_to_delete_the_administrator: "No se puede eliminar el administrador."
+ add_a_group: "Añadir un grupo"
+ group_name: "Nombre del grupo"
+ changes_successfully_saved: "Cambios guardados correctamente."
+ an_error_occurred_while_saving_changes: "Se ha producido un error al guardar los cambios."
+ new_group_successfully_saved: "Nuevo grupo guardado correctamente."
+ an_error_occurred_when_saving_the_new_group: "Se ha producido un error al guardar el nuevo grupo."
+ group_successfully_deleted: "Grupo eliminado correctamente."
+ unable_to_delete_group_because_some_users_and_or_groups_are_still_linked_to_it: "No se puede eliminar el grupo porque algunos usuarios y / o grupos todavía están vinculados a él."
+ add_a_tag: "Añadir una etiqueta"
+ tag_name: "Nombre de la etiqueta"
+ new_tag_successfully_saved: "Nueva etiqueta guardada correctamente."
+ an_error_occurred_while_saving_the_new_tag: "Se ha producido un error al guardar la nueva etiqueta.."
+ tag_successfully_deleted: "Etiqueta eliminada correctamente."
+ an_error_occurred_and_the_tag_deletion_failed: "Se ha producido un error y no se ha podido eliminar la etiqueta.."
+ search_for_an_authentication_provider: "Buscar un proveedor de autenticación"
+ add_a_new_authentication_provider: "Agregar un nuevo proveedor de autenticación"
+ strategy_name: "Nombre de la estrategia"
+ state: "Estado"
+ unknown: "Desconocido: "
+ active: "Activo"
+ pending: "Pendiente"
+ previous_provider: "Proveedor anteriorr"
+ do_you_really_want_to_delete_the_TYPE_authentication_provider_NAME: "¿Realmente desea eliminar la {{TYPE}} proveedor de autenticación: {{NAME}}?" # angular interpolation
+ authentication_provider_successfully_deleted: "El proveedor de autenticación se eliminó correctamente."
+ an_error_occurred_unable_to_delete_the_specified_provider: "Se ha producido un error: no se puede eliminar el proveedor especificado."
+ local_database: "Base de datos local"
+ o_auth2: "OAuth 2.0"
+
+ members_new:
+ # add a member
+ members_new:
+ add_a_member: "Agregar un miembro"
+ user_is_an_organization: "El usuario es una organización"
+
+ members_edit:
+ # edit a member
+ duration: "Duración:"
+ expires_at: "Caduca en:"
+ price_: "Precio:"
+ offer_free_days: "Ofrecer días gratis"
+ extend_subscription: "Ampliar suscripción"
+ user_has_no_current_subscription: "El usuario no tiene una suscripción actual."
+ subscribe_to_a_plan: "Suscribirse a un plan"
+ next_trainings: "Próxima formación"
+ passed_trainings: "Formación completada"
+ validated_trainings: "Formación validada"
+ events: "Eventos"
+ next_events: "Próximos eventos"
+ no_upcoming_events: "No hay próximos eventos"
+ NUMBER_full_price_tickets_reserved: "{NUMBER, plural, =0{} one{1 full price ticket reserved} other{{NUMBER} full price tickets reserved}}" # messageFormat interpolation
+ NUMBER_NAME_tickets_reserved: "{NUMBER, plural, =0{} one{1 {NAME} ticket reserved} other{{NUMBER} {NAME} tickets reserved}}" # messageFormat interpolation
+ passed_events: "Eventos pasados"
+ invoices: "Facturas"
+ invoice_#: "Factura #"
+ download_the_refund_invoice: "Descargar la factura de reembolso"
+ expiration_date: "Fecha de caducidad"
+ you_intentionally_decide_to_extend_the_user_s_subscription_by_offering_him_free_days: "Usted intencionalmente decide extender la suscripción del usuario ofreciéndole días libres."
+ you_intentionally_decide_to_extend_the_user_s_subscription_by_charging_him_again_for_his_current_subscription: "Usted intencionalmente decide extender la suscripción del usuario al cobrarle de nuevo por su suscripción actual."
+ until_(expiration_date): "Until (expiration date):"
+ you_successfully_changed_the_expiration_date_of_the_user_s_subscription: "Ha cambiado correctamente la fecha de caducidad de la suscripción del usuario"
+ a_problem_occurred_while_saving_the_date: "Se ha producido un problema al guardar la fecha."
+ new_subscription: "Nueva suscripción"
+ you_are_about_to_purchase_a_subscription_to_NAME: "Estás a punto de comprar una suscripción a {{NAME}}." # angular interpolation
+ subscription_successfully_purchased: "Suscripción comprada correctamente."
+ a_problem_occurred_while_taking_the_subscription: "Se ha producido un problema al realizar la suscripción."
+
+ admins_new:
+ # add a new administrator to the platform
+ add_an_administrator: "Agregar un administrador"
+ administrator_successfully_created_he_will_receive_his_connection_directives_by_email: "administrador creado correctamente. {GENDER, select, female{She} other{He}} receive {GENDER, select, female{her} other{his}} directivas de conexión por e-mail." # messageFormat interpolation
+
+ authentication_new:
+ # add a new authentication provider (SSO)
+ add_a_new_authentication_provider: "Agregar un nuevo proveedor de autenticación"
+ a_local_database_provider_already_exists_unable_to_create_another: "A proveedor de \"Base de datos local\" ya existe. No se puede crear otro."
+ local_provider_successfully_saved: "Proveedor local guardado correctamente."
+ it_is_required_to_set_the_matching_between_User.uid_and_the_API_to_add_this_provider: "Es necesario establecer la coincidencia entre User.uid y la API para agregar este proveedor"
+ security_issue_detected: "Se ha detectado un problema de seguridad"
+ beware_the_oauth2_authenticatoin_provider_you_are_about_to_add_isnt_using_HTTPS: "Tenga cuidado: el proveedor de OAuth 2 que va a agregar no está usando HTTPS."
+ this_is_a_serious_security_issue_on_internet_and_should_never_be_used_except_for_testing_purposes: "Este es un grave problema de seguridad en Internet y nunca debe utilizarse excepto para fines de prueba."
+ do_you_really_want_to_continue: "¿De verdad quieres continuar?"
+ unsecured_oauth2_provider_successfully_added: "Proveedor de OAuth 2.0 no seguro, se ha agregado correctamente."
+ oauth2_provider_successfully_added: "OAuth 2.0 proveedor agregado correctamente."
+
+ authentication_edit:
+ # edit an authentication provider (SSO)
+ provider: "Proveedor :"
+ it_is_required_to_set_the_matching_between_User.uid_and_the_API_to_add_this_provider: "Es necesario establecer la coincidencia entre User.uid y la API para agregar este proveedor"
+ provider_successfully_updated: "Proveedor actualizado correctamente"
+ an_error_occurred_unable_to_update_the_provider: "Se ha producido un error: no se puede actualizar el proveedor."
+
+ statistics:
+ # statistics tables
+ evolution: "Evolución"
+ age_filter: "Filtro de edad"
+ from_age: "Desde" # contexto: edad. por ejemplo: de 8 a 40 años
+ to_age: "a" # contexto: edad. por ejemplo: de 8 a 40 años
+ _years_old: "años"
+ start: "Principio:"
+ end: "Final:"
+ custom_filter: "Filtro personalizado"
+ NO_: "NO"
+ criterion: "Criterio:"
+ value: "Valor:"
+ exclude: "Excluir"
+ entries: "Entradas:"
+ revenue_: "Ingresos:"
+ average_age: "Edad media:"
+ years_old: "años"
+ total: "Total"
+ available_hours: "Horas disponibles para reservar:"
+ available_tickets: "Tickets disponibles para reservar:"
+ gender: "Genero"
+ age: "Edad"
+ revenue: "Ingresos"
+ unknown: "Desconocido"
+ user_id: "ID de usuario"
+ display_more_results: "Mostrar más resultados"
+ export_statistics_to_excel: "Exportar estadísticas a Excel"
+ export_all_statistics: "Exportar todas las estadísticas"
+ export_the_current_search_results: "Exportar los resultados de búsqueda actuales"
+ export: "Exportar"
+
+ stats_graphs:
+ # statistics graphs
+ data: "Datos"
+ day: "Dia"
+ week: "Semana"
+ start: "Inicio:"
+ end: "Final:"
+ revenue: "Ingresos"
+ top_list_of: "Lista top de"
+ number: "Número"
+ week_short: "Semana"
+ week_of_START_to_END: "Semana del {{START}} a {{END}}" # angular interpolation
+ no_data_for_this_period: "No hay datos para este periodo"
+
+ settings:
+ # global application parameters and customization
+ settings:
+ title: "Título"
+ customize_the_application: "Personalizar la aplicación"
+ general: "General"
+ fablab_title: "Título del FabLab"
+ fablab_name: "Nombre del FabLab "
+ title_concordance: "Concordancia de título"
+ male: "Masculino."
+ female: "Hembra."
+ eg: "ej:"
+ about: "Sobre"
+ male_preposition: "el"
+ female_preposition: "la"
+ customize_information_messages: "Personalizar mensajes de información"
+ message_of_the_machine_booking_page: "Mensaje de la página de reserva de la máquina:"
+ type_the_message_content: "Escriba el contenido del mensaje"
+ warning_message_of_the_training_booking_page: "Warning message of the training booking page:"
+ information_message_of_the_training_reservation_page: "Information message of the training reservation page:"
+ message_of_the_subscriptions_page: "Mensaje de advertencia de la página de reserva de formación:"
+ message_of_the_events_page: "Mensaje de la página de eventos:"
+ message_of_the_spaces_page: "Mensaje de la página de espacios:"
+ legal_documents: "Documentos legales"
+ if_these_documents_are_not_filled_no_consent_about_them_will_be_asked_to_the_user: "Si no se llenan estos documentos, no se pedirá su consentimiento."
+ general_terms_and_conditions_(T&C): "Términos Generales y Condiciones (T&C)"
+ terms_of_service_(TOS): "Términos de servicio (TOS)"
+ customize_the_graphics: "Personalizar los gráficos"
+ for_an_optimal_rendering_the_logo_image_must_be_at_the_PNG_format_with_a_transparent_background_and_with_an_aspect_ratio_3.5_times_wider_than_the_height: "Para una representación óptima, la imagen del logotipo debe estar en el formato PNG con un fondo transparente y una relación de aspecto 3,5 más ancha que la altura."
+ concerning_the_favicon_it_must_be_at_ICO_format_with_a_size_of_16x16_pixels: "En cuanto al favicon, debe estar en formato ICO con un tamaño de 16x16 píxeles."
+ remember_to_refresh_the_page_for_the_changes_to_take_effect: "Recuerde actualizar la página para que los cambios surtan efecto."
+ logo_(white_background): "Logo (fondo blanco)"
+ change_the_logo: "Cambiar el logotipo"
+ logo_(black_background): "Logo (fondo negro)"
+ favicon: "Favicon"
+ change_the_favicon: "Cambiar el favicon"
+ main_colour: "Color principal:"
+ primary: "Primario"
+ secondary_colour: "Color secundario:"
+ secondary: "Secundario"
+ background_picture_of_the_profile_banner: "Imagen de fondo de la bandera del perfil"
+ change_the_profile_banner: "Cambiar la bandera del perfil"
+ home_page: "Página de inicio"
+ news_of_the_home_page: "Noticias de la página principal:"
+ type_your_news_here: "Escriba sus noticias aquí"
+ leave_it_empty_to_not_bring_up_any_news_on_the_home_page: "Déjelo vacío para no abrir ninguna noticia en la página principal"
+ twitter_stream: "Twitter Stream:"
+ name_of_the_twitter_account: "Nombre de la cuenta de Twitter"
+ title_of_the_about_page: "Título de la página Acerca de"
+ shift_enter_to_force_carriage_return: "MAYÚS + ENTRAR para forzar el retorno de carro"
+ input_the_main_content: "Introduzca el contenido principal"
+ drag_and_drop_to_insert_images: "Arrastrar y soltar para insertar imágenes"
+ input_the_fablab_contacts: "Ingrese los contactos de FabLab"
+ reservations: "Reservas"
+ reservations_parameters: "Parámetros de reservas"
+ confine_the_booking_agenda: "Confine la agenda de reserva"
+ opening_time: "Hora de apertura"
+ closing_time: "Tiempo de cierre"
+ max_visibility: "Máxima visibilidad (en meses)"
+ visibility_for_yearly_members: "Para las suscripciones en curso, por lo menos 1 año"
+ visibility_for_other_members: "Para todos los demás miembros"
+ ability_for_the_users_to_move_their_reservations: "Capacidad para que los usuarios muevan sus reservas"
+ reservations_shifting: "Cambio de reservas"
+ prior_period_(hours): "Período anterior (horas)"
+ enabled: "Habilitado"
+ disabled: "Deshabilitado"
+ ability_for_the_users_to_cancel_their_reservations: "Capacidad para que los usuarios cancelen sus reservas"
+ reservations_cancelling: "Cancelaciones de reservas"
+ reservations_reminders: "Recordatorios de reservas"
+ notification_sending_before_the_reservation_occurs: "Envío de notificaciones antes de la reserva"
+ customization_of_SETTING_successfully_saved: "Personalización de la {{SETTING}} guardado con éxito." # angular interpolation
+ file_successfully_updated: "Archivo actualizado correctamente."
+ name_genre: "Concordancia del título"
+ machine_explications_alert: "mensaje de explicación en la página de reserva de la máquina"
+ training_explications_alert: "mensaje de explicación en la página de reserva de formación"
+ training_information_message: "mensaje de información en la página de reserva de la máquina"
+ subscription_explications_alert: "mensaje de explicación en la página de suscripción"
+ event_explications_alert: "mensaje de explicación en la página de reserva del evento"
+ space_explications_alert: "mensaje de explicación en la página de reserva de espacio"
+ main_color: "Color principal"
+ secondary_color: "color secundario"
+ home_blogpost: "Resumen de la página de inicio"
+ twitter_name: "Twitter feed name"
+ about_title: "Título de la página \"Acerca de\""
+ about_body: "Contenido de la página \"Acerca de\""
+ about_contacts: "Página contactos\"Acerca de\""
+ booking_window_start: "hora de apertura"
+ booking_window_end: "hora de cierre"
+ booking_move_enable: "Activar cambio de reserva"
+ booking_move_delay: "Demora de reserva"
+ booking_cancel_enable: "Habilitar cancelar reserva"
+ booking_cancel_delay: "Cancelar demora de reserva"
+ reminder_enable: "Recordatorio de reserva"
+ reminder_delay: "demora antes de enviar el recordatorio"
+ default_value_is_24_hours: "Si el campo es dejado vacio: 24 horas."
+ visibility_yearly: "máxima visibilidad para suscriptores anuales"
+ visibility_others: "máxima visibilidad para otros miembros"
+
+ open_api_clients:
+ add_new_client: "Crear un nuevo cliente de API"
+ api_documentation: "Documentation API"
+ open_api_clients: "Clientes OpenAPI"
+ calls_count: "Número de llamadas"
+ created_at: "Fecha de creación"
+ reset_token: "revocar el acceso"
+ client_name: "Nombre del cliente"
+ do_you_really_want_to_delete_this_open_api_client: "¿Desea realmente eliminar este cliente OpenAPI?"
+ do_you_really_want_to_revoke_this_open_api_access: "¿Realmente desea revocar este acceso? Se borrará y reemplazará el token actual."
+ client_successfully_created: "Cliente creado correctamente."
+ client_successfully_updated: "Cliente actualizado correctamente."
+ client_successfully_deleted: "Cliente borrado correctamente."
+ access_successfully_revoked: "Acceso revocado correctamente."
+
+ space_new:
+ # create a new space
+ space_new:
+ add_a_new_space: "Añadir un espacio nuevo"
+ watch_out_when_creating_a_new_space_its_prices_are_initialized_at_0_for_all_subscriptions: ¡Cuidado! Al crear un nuevo espacio, sus precios se inicializan en 0 para todas las suscripciones."
+ consider_changing_its_prices_before_creating_any_reservation_slot: "Considere cambiar sus precios antes de crear cualquier espacio de reserva."
+ add_this_space: "Añadir este espacio"
+
+ space_edit:
+ # modify an exiting space
+ space_edit:
+ edit_the_space_NAME: "Edit the space: {{NAME}}" # angular interpolation
+ validate_the_changes: "Validar los cambios"
diff --git a/config/locales/app.logged.es.yml b/config/locales/app.logged.es.yml
new file mode 100644
index 000000000..b57763bb5
--- /dev/null
+++ b/config/locales/app.logged.es.yml
@@ -0,0 +1,130 @@
+es:
+ app:
+ logged:
+ profileCompletion:
+ # user's profile completion page when logging from an SSO provider
+ confirm_your_new_account: "Confirme su nueva cuenta"
+ you_ve_just_created_a_new_account_on_the_fablab_by_logging_from: "acaba de crear una nueva cuenta {NAME}, al iniciar sesión desde" # messageFormat interpolation
+ we_need_some_more_details: "Para finalizar la configuración de la plataforma, necesitamos algunos detalles más."
+ your_email_is_already_used_by_another_account_on_the_platform: "Parece que su dirección de correo electrónico ya está siendo utilizada por otro usuario. Compruebe su dirección de correo electrónico e ingrese debajo del código que le hemos enviado."
+ please_fill_the_following_form: "rellene el siguiente formulario, por favor"
+ some_data_may_have_already_been_provided_by_provider_and_cannot_be_modified: "Algunos datos pueden haber sido proporcionados ya por {{NAME}} y no pueden modificarse" # angular interpolation
+ then_click_on_: "haz click en"
+ _to_start_using_the_application: "para empezar a usar la aplicación"
+ new_on_this_platform: "¿Nuevo en esta plataforma?"
+ your_email_: "Su e-mail"
+ _is_currently_associated_with_another_account_on_this_platform: "ya está asociado con otra cuenta en esta plataforma."
+ please_click_to_change_email_associated_with_your_PROVIDER_account: "Si este no es su mail, por favor, haz click en el siguiente botón para cambiar el mail asociado con su cuenta {{PROVIDER}} ." # angular interpolation
+ do_you_already_have_an_account: "¿Ya tiene una cuenta?"
+ do_not_fill_the_form_beside_but_specify_here_the_code_you_ve_received_by_email_to_recover_your_access: "No rellene el formulario,escriba aquí el código que ha recibido por correo electrónico para recuperar su acceso."
+ just_specify_code_here_to_recover_access: "Simplemente especifica aquí el código que has recibido en tu correo electrónico para recuperar tu acceso."
+ i_did_not_receive_the_code: "No he recibido ningún código"
+ authentification_code: "Código de autentificación"
+ confirm_my_code: "Confirmar código"
+ an_unexpected_error_occurred_check_your_authentication_code: "Ha ocurrido un error inesperado, por favor, revise su código de autentificación."
+ send_code_again: "Enviar el código de nuevo"
+ email_address_associated_with_your_account: "Email asociado con su cuenta"
+ email_format_is_incorrect: "El formato de email incorrecto"
+ code_successfully_sent_again: "El mail ha sido enviado otra vez con éxito"
+
+ dashboard:
+ # dashboard: public profile
+ profile:
+ empty: ''
+ settings:
+ # dashboard: edit my profile
+ last_activity_on_: "Última vez activo"
+ i_want_to_change_group: "Quiero cambiar de grupo"
+ your_subscription_expires_on_: "su suscripción acaba el"
+ no_subscriptions: "Sin suscripciones"
+ i_want_to_subscribe: "Quiero suscribirme"
+ to_come: "por venir"
+ approved: "aprobado"
+ projects: "Projectos"
+ no_projects: "Sin projectos"
+ labels: "Etiquetas"
+ no_labels: "Sin etiquetas"
+ delete_my_account: "Eliminar mi cuenta"
+ edit_my_profile: "Editar mi perfil"
+ your_group_has_been_successfully_changed: "Su grupo ha sido cambiado con exito."
+ an_unexpected_error_prevented_your_group_from_being_changed: "Un error inesperado impidió que su grupo fuese cambiado."
+ do_you_really_want_to_delete_your_account: "¿Está seguro de querer eliminar su cuenta?"
+ all_data_relative_to_your_projects_will_be_lost: "Todo dato relacionado con sus proyectos se perderá"
+ your_user_account_has_been_successfully_deleted_goodbye: "Su cuenta ha sido eliminada con éxito. Adiós"
+ an_error_occured_preventing_your_account_from_being_deleted: "Un error inesperado impidió que su cuenta fuese eliminada."
+ projects:
+ # dashboard: my projects
+ you_dont_have_any_projects: "Aún no tiene proyectos."
+ author: "Autor"
+ collaborator: "Colaborador"
+ trainings:
+ # dashboard: my trainings
+ your_next_trainings: "Sus próximos cursos"
+ your_previous_trainings: "Sus cursos anteriores"
+ your_approved_trainings: "Sus cursos aprobados"
+ events:
+ # dashboard: my events
+ your_next_events: "Sus próximos eventos"
+ no_events_to_come: "No hay próximos eventos"
+ your_previous_events: "Sus eventos anteriores"
+ NUMBER_normal_places_reserved: "{NUMBER} {NUMBER, plural, =0{} =1{normal place reserved} other{normal places reserved}}" # messageFormat interpolation
+ NUMBER_of_NAME_places_reserved: "{NUMBER} {NUMBER, plural, =0{} =1{of {NAME} place reserved} other{of {NAME} places reserved}}" # messageFormat interpolation
+ invoices:
+ # dashboard: my invoices
+ reference_number: "Numero de referencia"
+
+ members_show:
+ # public profil of a member
+ members_list: "Lista de miembros"
+
+ members:
+ # list of members accepting to be contacted
+ the_fablab_members: "Los miembros del fablab"
+ display_more_members: "Ver más miembros"
+ no_members_for_now: "Aún no hay miembros"
+ avatar: "Avatar"
+
+ projects_new:
+ # add a new project
+ add_a_new_project: "Añadir nuevo proyecto"
+ save_button_value: "Guardar borrador" # "Guardar borrador"
+
+ projects_edit:
+ # modify an existing project
+ save_button_value: "Guardar" # "Guardar"
+ edit_the_project: "Editar proyecto"
+ publish: "Publicar"
+
+ machines_reserve:
+ # book a machine
+ machine_planning: "Planning de la máquina"
+ i_ve_reserved: "He reservado"
+ not_available: "No disponible"
+ i_reserve: "reservo"
+ i_shift: "reemplazo"
+ i_change: "cambio"
+
+ trainings_reserve:
+ # book a training
+ trainings_planning: "Plan de curso"
+ planning_of: "Plan de " # followed by the training name (eg. "Planning of 3d printer training")
+ all_trainings: "Todos los cursos"
+ cancel_my_selection: "Cancelar mi selección"
+ i_ve_reserved: "He reservado"
+
+ space_reserve:
+ # book a space
+ space_reserve:
+ planning_of_space_NAME: "Planes de {{NAME}} " # angular interpolation
+ i_ve_reserved: "he reservado"
+ i_shift: "reemplazo"
+ i_change: "cambio"
+
+ notifications:
+ notifications_center: "Centro de notificaciones"
+ mark_all_as_read: "Marcar como leido"
+ notif_title: "Titulo"
+ no_new_notifications: "No hay notificaciones nuevas."
+ archives: "Archivos"
+ no_archived_notifications: "No hay notificaciones archivadas."
+ load_the_next_notifications: "Cargar las siguientes notificaciones..."
diff --git a/config/locales/app.public.es.yml b/config/locales/app.public.es.yml
new file mode 100644
index 000000000..2ab560bdd
--- /dev/null
+++ b/config/locales/app.public.es.yml
@@ -0,0 +1,277 @@
+es:
+ app:
+ public:
+ common:
+ # header and "about" page
+ about_the_fablab: "Sobre {NAME}" # messageFormat interpolation
+ return: "Volver"
+
+ # dashboard sections
+ dashboard: "Panel"
+ my_profile: "My Perfil"
+ my_settings: "Mis ajustes"
+ my_projects: "Mis proyectos"
+ my_trainings: "Mis cursos"
+ my_events: "Mis eventos"
+ my_invoices: "Mis facturas"
+ my_wallet: "Mi cartera"
+
+ # login/logout
+ sign_out: "Salir"
+ sign_up: "Entrar"
+ sign_in: "Registrarse"
+
+ # left menu
+ notifications: "Notificaciones"
+ admin: "Administrador"
+ reduce_panel: "Reducir panel"
+
+ # left menu (public)
+ home: "Menú principal"
+ reserve_a_machine: "Reservar una máquina"
+ trainings_registrations: "Registro de cursos"
+ events_registrations: "Registro de eventos"
+ reserve_a_space: "Reservar un espacio"
+ projects_gallery: "Galería de proyectos"
+ subscriptions: "Suscripciones"
+ public_calendar: "Calendario"
+
+ # left menu (admin)
+ trainings_monitoring: "Monitorización de cursos"
+ select_a_training: "Selecionar un curso"
+ manage_the_calendar: "Gestionar calendario"
+ manage_the_users: "Gestionar usuarios"
+ manage_the_invoices: "Gestionar facturas"
+ subscriptions_and_prices: "Suscripciones y precios"
+ manage_the_events: "Gestionar eventos"
+ manage_the_machines: "Gestionar máquinas"
+ manage_the_spaces: "Gestionar espacios"
+ manage_the_projects_elements: "Gestionar los elementos de los proyectos"
+ statistics: "Estadísticas"
+ customization: "Customización"
+ open_api_clients: "Clientes OpenAPI"
+
+ # account creation modal
+ create_your_account: "Crear su cuenta"
+ man: "Hombre"
+ woman: "Mujer"
+ gender_is_required: "El genero es obligatorio."
+ your_first_name: "Su nombre"
+ first_name_is_required: "El nombre es obligatorio."
+ your_surname: "Su apellido"
+ surname_is_required: "El apellido es obligatorio."
+ your_pseudonym: "Su seudónimo"
+ pseudonym_is_required: "El seudónimo es obligatorio."
+ your_email_address: "Su e-mail"
+ email_is_required: "El e-mail es obligatorio."
+ your_password: "Su contraseña"
+ password_is_required: "La contraseña es obligatoria."
+ password_is_too_short_(minimum_8_characters): "La contraseña es demasiado corta (minimo 8 caracteres)"
+ type_your_password_again: "Escriba su contraseña otra vez"
+ password_confirmation_is_required: "Confirmar su contraseña es obligatorio."
+ password_does_not_match_with_confirmation: "Las contraseñas no coinciden."
+ i_am_an_organization: "Soy una organización"
+ name_of_your_organization: "Nombre de su organización"
+ organization_name_is_required: "El nombre de su organización es obligatorio."
+ address_of_your_organization: "Dirección de su organización"
+ organization_address_is_required: "La dirección de su organización es obligatoria."
+ your_user_s_profile: "Su perfil de usuario"
+ user_s_profile_is_required: "El perfil de usuario es obligatorio."
+ birth_date: "Fecha de nacimiento"
+ birth_date_is_required: "La fecha de nacimiento es obligatoria."
+ phone_number: "Número de telefono"
+ phone_number_is_required: "El número de telefono es obligatorio."
+ i_authorize_Fablab_users_registered_on_the_site_to_contact_me: "Autorizo a los usuarios registrados en este FabLab a contactarme"
+ i_accept_to_receive_information_from_the_fablab: "Acepto recibir información del FabLab"
+ i_ve_read_and_i_accept_: "He leido y acepto"
+ _the_fablab_policy: "la política de FabLab"
+
+ # password modification modal
+ change_your_password: "Cambiar contraseña"
+ your_new_password: "Nueva contraseña"
+ your_password_was_successfully_changed: "Su contraseña ha sido cambiada con éxito."
+
+ # connection modal
+ connection: "Conexión"
+ password_forgotten: "¿Ha olvidado su contraseña?"
+ not_registered_to_the_fablab: "¿No está registrado en el fatlab aún?"
+ create_an_account: "Crear una cuenta"
+ wrong_email_or_password: "E-mail o contraseña incorrecta."
+ caps_lock_is_on: "Las mayusculas están activadas."
+
+ # forgotten password modal
+ your_email_address_is_unknown: "Se desconoce su email."
+ you_will_receive_in_a_moment_an_email_with_instructions_to_reset_your_password: "En un momento recibirá las instrucciones para restablecer su contraseña en su mail."
+
+ # Fab-manager's version
+ version: "Version:"
+
+ # Notifications
+ and_NUMBER_other_notifications: "y {NUMBER, plural, =0{no other notifications} =1{one other notification} otras{{NUMBER} other notifications}}..." # messageFormat interpolation
+
+ about:
+ # about page
+ read_the_fablab_policy: "Leer la politica del FabLab"
+ read_the_fablab_s_general_terms_and_conditions: "Leer los terminos y condiciones del FabLab"
+ your_fablab_s_contacts: "Sus contactos del FabLab"
+
+ home:
+ # home page
+ latest_documented_projects: "Los últimos proyectos documentados"
+ follow_us: "Siguenos"
+ latest_tweets: "Los últimos tweets"
+ latest_registered_members: "Miembros más recientes"
+ create_an_account: "Crear una cuenta"
+ discover_members: "Descubrir miembros"
+
+ # next events summary on the home page
+ fablab_s_next_events: "Próximos eventos del FabLab"
+ every_events: "Todos los eventos"
+ from_date_to_date: "Desde {{START}} hasta {{END}}" # angular interpolation
+ on_the_date: "El {{DATE}}" # angular interpolation
+ from_time_to_time: "Desde {{START}} hasta {{END}}" # angular interpolation
+ free_entry: "Entrada gratuita"
+ free_admission: "Admisión gratuita"
+ full_price: "Precio final"
+ event_full: "Evento lleno"
+
+ projects_list:
+ # projects gallery
+ the_fablab_projects: "Los proyectos del FabLab"
+ search_over_the_whole_network: "Buscar en toda la red de FabLab"
+ tooltip_openlab_projects_switch: "La busqueda en toda la red le permite buscar los proyectos de todos los FabLab que usan esta característica"
+ openlab_search_not_available_at_the_moment: "La busqueda en toda la red no está disponible en este momento. Puede seguir buscando proyectos en este FabLab."
+ project_search_result_is_empty: "Lo sentimos, no hemos encontrado nada."
+ reset_all_filters: "Limpiar filtros"
+ search: "Buscar"
+ all_projects: "Todos los proyectos"
+ my_projects: "Mis proyectos"
+ projects_to_whom_i_take_part_in: "Proyectos de los que formo parte"
+ all_machines: "Todas las máquinas"
+ all_materials: "Todo el material"
+ load_next_projects: "Cargar más proyectos"
+
+ projects_show:
+ # details of a projet
+ project_description: "Descripción de proyecto"
+ by_name: "Por {{NAME}}" # angular interpolation
+ posted_on_: "Subido el"
+ CAD_file_to_download: "{COUNT, plural, =0{No CAD files} =1{CAD file to download} other{CAD files to download}}" # messageFormat interpolation
+ licence: "Licencia"
+ report_an_abuse: "Reportar una infracción"
+ unauthorized_operation: "Operación no autorizada"
+ your_report_was_successful_thanks: "Su informe se ha enviado con éxito. Gracias."
+ an_error_occured_while_sending_your_report: "Ha ocurrido un error al enviar el informe."
+ your_first_name: "Su nombre"
+ your_first_name_is_required: "Su nombre es obligatorio."
+ your_surname: "Su apellido"
+ your_surname_is_required: "Su apellido es obligatorio."
+ your_email_address: "Su mail"
+ your_email_address_is_required: "Su mail es obligatorio."
+ tell_us_why_this_looks_abusive: "Cuéntanos porqué te parece abusivo"
+ message_is_required: "El mensaje es obligatorio."
+ report: "Reportar"
+ do_you_really_want_to_delete_this_project: "¿Está seguro de querer eliminar este proyecto?"
+
+ machines_list:
+ # list of machines
+ the_fablab_s_machines: "Las máquinas del FabLab"
+ add_a_machine: "Añadir una máquina"
+ _or_the_: " o el "
+
+ machines_show:
+ # details of a machine
+ book_this_machine: "Alquilar máquina"
+ files_to_download: "Archivos a descargar"
+ projects_using_the_machine: "Proyectos que utilizan esta máquina"
+ _or_the_: " o el "
+ do_you_really_want_to_delete_this_machine: "¿Está seguro de querer eliminar esta máquina?"
+ unauthorized_operation: "Unauthorized operation"
+ the_machine_cant_be_deleted_because_it_is_already_reserved_by_some_users: "La máquina no puede borrarse porque está siendo usada o ha sido reservada por algún usuario."
+
+ trainings_list:
+ # list of trainings
+ the_trainings: "Lista de cursos"
+
+ training_show:
+ # details of a training
+ book_this_training: "reservar plaza en este curso"
+ do_you_really_want_to_delete_this_training: "Está seguro de querer eliminar este curso?"
+ unauthorized_operation: "Operación no autorizada"
+ the_training_cant_be_deleted_because_it_is_already_reserved_by_some_users: "El curso no puede borrarse porque ya ha sido reservado por algún usuario."
+
+ plans:
+ # summary of the subscriptions
+ subcriptions: "Suscripciones"
+ i_choose_that_plan: "Elijo este plan"
+ i_subscribe_online: "Suscribirme online"
+ i_already_subscribed: "Ya me he suscrito"
+ more_information: "Más información"
+ your_subscription_expires_on_the_DATE: "Su suscripción termina {{DATE}}" # angular interpolation
+ my_group: "My grupo"
+ his_group: "{GENDER, select, male{His} female{Her} other{Its}} group" # messageFormat interpolation
+ he_wants_to_change_group: "{ROLE, select, admin{The user wants} other{I want}} cambiar el grupo" # messageFormat interpolation
+ change_my_group: "Cambiar {ROLE, select, admin{{GENDER, select, male{his} female{her} other{its}}} other{my}} grupo" # messageFormat interpolation
+ your_subscription_has_expired_on_the_DATE: "Sus suscripcion expiró el {{DATE}}" # angular interpolation
+ you_ve_just_payed_the_: "acaba de pagar"
+ thank_you_your_subscription_is_successful: "Gracias. Su suscripción ha tenido éxito"
+ your_group_was_successfully_changed: "Su grupo ha sido cambiado correctamente."
+ the_user_s_group_was_successfully_changed: "Los usuarios del grupo han cambiado correctamente."
+ an_error_prevented_your_group_from_being_changed: "Un error impidió que su grupo fuese cambiado."
+ an_error_prevented_to_change_the_user_s_group: "Un error impidió cambiar los componentes del grupo."
+ an_error_occured_during_the_payment_process_please_try_again_later: "Ha ocurrido un error mientras se procesaba el pago. Intentelo en unos minutos."
+ subscription_confirmation: "Confirmar suscripción"
+ here_is_the_NAME_subscription_summary: "Resumen de la suscrpición de{{NAME}}:" # angular interpolation
+
+ events_list:
+ # Fablab's events list
+ the_fablab_s_events: "Los eventos del FabLab"
+ all_categories: "Todas las categorías"
+ for_all: "Para todo"
+
+ events_show:
+ # details and booking of an event
+ event_description: "Descripción del evento"
+ downloadable_documents: "Archivos descargables"
+ informations_and_booking: "Información y reservas"
+ beginning: "Empieza:"
+ ending: "Termina:"
+ opening_hours: "Hora de apertura:"
+ tickets_still_availables: "Entradas disponibles:"
+ sold_out: "Entradas vendidas."
+ free_entry: "Entrada gratuita"
+ ticket: "{NUMBER, plural, one{ticket} other{tickets}}" # messageFormat interpolation
+ make_a_gift_of_this_reservation: "Regalar esta reserva"
+ you_can_find_your_reservation_s_details_on_your_: "Puede encontrar los detalles de su reserva en"
+ you_booked_(DATE): "You booked ({{DATE}}):" # angular interpolation
+ book: "Reservar"
+ change_the_reservation: "Cambiar la reserva"
+ you_can_shift_this_reservation_on_the_following_slots: "Puede cambiar la reserva en los siguientes campos:"
+
+ calendar:
+ # public calendar
+ calendar:
+ calendar: "Calendario"
+ show_unavailables: "Mostrar campos inválidos"
+ filter_calendar: "Filtrar calendario"
+ trainings: "Cursos"
+ machines: "Máquinas"
+ spaces: "Espacios"
+ events: "Eventos"
+
+ spaces_list:
+ # list of spaces
+ the_spaces: "Espacios"
+ add_a_space: "Añadir espacios"
+
+ space_show:
+ # display the details of a space
+ space_show:
+ book_this_space: "Reservar este espacio"
+ unauthorized_operation: "Operación no autorizada"
+ confirmation_required: "Confirmación requerida"
+ do_you_really_want_to_delete_this_space: "¿Está seguro de que quiere borrar este espacio?"
+ the_space_cant_be_deleted_because_it_is_already_reserved_by_some_users: "No puede borrarse este espacio porque está siendo usado por otros usuarios."
+ characteristics: "Características"
+ files_to_download: "Archivos para descargar"
+ projects_using_the_space: "Proyectos que usan el espacio"
\ No newline at end of file
diff --git a/config/locales/app.shared.es.yml b/config/locales/app.shared.es.yml
new file mode 100644
index 000000000..6757e64aa
--- /dev/null
+++ b/config/locales/app.shared.es.yml
@@ -0,0 +1,450 @@
+es:
+ app:
+ shared:
+ buttons:
+ # translations of common buttons
+ confirm_changes: "Confirmar cambios"
+ consult: "Consultar"
+ edit: "Editar"
+ change: "Cambiar"
+ delete: "Borrar"
+ browse: "Abrir"
+ cancel: "Cancelar"
+ close: "Cerrar"
+ clear: "Limpiar"
+ today: "Hoy"
+ confirm: "Confirmar"
+ save: "Guardar"
+ "yes": "Sí"
+ "no": "No"
+ apply: "Aplicar"
+ confirm_(payment_on_site): "Confirmar (Pago)"
+
+ elements:
+ # various translations used many times in the application
+ group: "Grupo"
+ subscription: "Suscripción"
+ trainings: "Cursos"
+ no_trainings: "Sin cursos"
+ confirmation_required: "Confirmación requerida"
+ description: "Descripción"
+ machines: "Máquinas"
+ events: "Eventos"
+ materials: "Materiales"
+ date: "Día"
+ price: "Precio"
+ download_the_invoice: "Descargar factura"
+ download_the_credit_note: "Descargar nota de crédito"
+ no_invoices_for_now: "Sin facturas por ahora."
+ email_address: "dirección email "
+ user: "Usuario"
+ pseudonym: "Seudónimo"
+ all_day: "Todo el día"
+ reservation_was_successfully_cancelled: "La reserva ha sido cancelada con éxito."
+ title: "Titulo"
+ total_: "TOTAL :"
+ full_price_: "Precio final:"
+ rough_draft: "Borrador"
+ machines_and_materials: "Máquinas y materiales"
+ collaborators: "Colaboradores"
+ summary: "Resumen"
+ you_ve_just_selected_a_: "Acaba de seleccionar" # you_ve_just_selected_a_ + _subscription
+ _subscription: "suscripción"
+ confirm_and_pay: "Confirmar y pagar"
+ your_invoice_will_be_available_soon_from_your_: "Su factura pronto estará disponible desde su "
+ add_an_event: "Añadir evento"
+ load_the_next_events: "Cargar próximos eventos"
+ no_passed_events: "Sin eventos anteriores"
+ dates: "Fechas:"
+ thank_you_your_payment_has_been_successfully_registered: "Gracias. Su pago se ha registrado correctamente"
+ surname: "Apellidos"
+ first_name: "Nombre"
+ address: "Dirección"
+ interests: "Intereses"
+ CAD_softwares_mastered: "Softwares dominados"
+ name: "Nombre"
+ step_N: "Paso {{INDEX}}" # angular interpolation
+ themes: "Temas"
+ tags: "Etiquetas"
+ technical_specifications: "Especificaciones técnicas"
+ online_payment: "Pago online"
+ type: "Tipo"
+ partner: "Compañero"
+ standard: "Estándar"
+ year: "año"
+ month: "Mes"
+ subscription_price: "Precio de la suscripción"
+ model: "Modelo"
+ from_date: "Desde" # context: date. eg: "Desde 01/01 to 01/05"
+ from_time: "Desde" # context: time. eg. "Desde 18:00 to 21:00"
+ to_date: "Hasta" # context: date. eg: "Hasta 01/01 to 01/05"
+ to_time: "Hasta" # context: time. eg. "Hasta 18:00 to 21:00"
+ or: "ó"
+ change_my_data: "Cambiar mis datos"
+ sync_my_profile: "Sincronizar mi perfil"
+ once_your_data_are_up_to_date_: "Una vez sus datos hayan sido actualizados,"
+ _click_on_the_synchronization_button_opposite_: "haz clic en el botón de sincronización"
+ _disconnect_then_reconnect_: "reconectarse"
+ _for_your_changes_to_take_effect: "para que sus cambios sean aplicados."
+ add_a_project: "Añadir un proyecto"
+ illustration: "Ilustración"
+ add_an_illustration: "Añadir una ilustración."
+ book: "Reservar"
+ description_is_required: "Se requiere una descripción."
+ name_is_required: "Se requiere un nombre."
+ all_themes: "Todos los temas"
+ filter: 'Filtro'
+ confirm_payment_of_html: "{ROLE, select, admin{Payment on site} other{Pay}}: {AMOUNT}" # messageFormat interpolation (context: confirm my payment of $20.00)
+ export_is_running_you_ll_be_notified_when_its_ready: "Exportando, será notificado cuando esté listo."
+ share_on_facebook: "Compartir en Facebook"
+ share_on_twitter: "Compartir en Twitter"
+ incomplete_profile: "Perfil completo"
+ unlimited: "Ilimitado"
+
+ messages:
+ you_will_lose_any_unsaved_modification_if_you_quit_this_page: "Si cierra la página se perderán todas las modificaciones que no se hayan guardado"
+ you_will_lose_any_unsaved_modification_if_you_reload_this_page: "Si recarga la página se perderán todas las modificaciones que no se hayan guardado"
+
+ user:
+ # user edition form
+ add_an_avatar: "Añadir un avatar"
+ pseudonym: "Seudónimo"
+ email_address_is_required: "Se requiere un email."
+ change_password: "Cambiar contraseña"
+ new_password: "Nueva contraseña"
+ confirmation_of_new_password: "Confirmar nueva contraseña"
+ confirmation_of_password_is_required: "Se requiere confirmar la contraseña."
+ confirmation_of_password_is_too_short_(minimum_8_characters): "la contraseña es demasiado corta (minimo 8 caracteres)."
+ confirmation_mismatch_with_password: "Las contraseñas no coinciden."
+ organization_name: "Nombre de la organización"
+ organization_address: "Dirección de la organización"
+ date_of_birth: "Fecha de nacimiento"
+ date_of_birth_is_required: "Se requiere una fecha de nacimiento."
+ website: "Página web"
+ job: "Ocupación"
+
+ project:
+ # project edition form
+ illustration: "Ilustración"
+ add_an_illustration: "Añadir una ilustración"
+ CAD_file: "Fichero CAD"
+ allowed_extensions: "Extensiones permitidas:"
+ add_a_new_file: "Añadir un nuevo archivo"
+ steps: "Pasos"
+ step_title: "Título de los pasos"
+ add_a_picture: "Añadir imagen"
+ change_the_picture: "Cambiar imagen"
+ delete_the_step: "Eliminar el paso"
+ do_you_really_want_to_delete_this_step: "Está seguro de querer borrar el paso?"
+ add_a_new_step: "añadir un nuevo paso"
+ publish_your_project: "Publicar proyecto"
+ employed_materials: "Material empleados"
+ employed_machines: "Máquinas empleadas"
+ creative_commons_licences: "Licencias Creative Commons"
+
+ machine:
+ # machine edition form
+ technical_specifications_are_required: "Se requieren especificaciones técnicas."
+ attached_files_(pdf): "archivos anclados (pdf)"
+ attach_a_file: "adjuntar archivo"
+ add_an_attachment: "añadir archivo adjunto"
+ validate_your_machine: "Validar su máquina"
+
+ plan_subscribe:
+ # frame to select a plan to subscribe
+ subscribe_online: "suscribirse online"
+ do_not_subscribe: "no suscribe"
+
+ member_select:
+ # admin: choose a member to interact with
+ select_a_member: "Selecciona un miembro"
+ start_typing: "Empezar a escribir..."
+ please_select_a_member_first: "Por favor, selecciona un miembro de la lista"
+
+ stripe:
+ # stripe payment modal
+ i_have_read_and_accept_: "He leido y acepto"
+ _the_general_terms_and_conditions: "Los términos y condiciones."
+ enter_your_card_number: "Introduce el número de tu tarjeta"
+ credit_amount_for_pay_reservation: "{{amount}} {{currency}} falta por pagar para efectuar su reserva"
+ client_credit_amount_for_pay_reservation: "{{amount}} {{currency}} falta por pagar para efectuar la reserva del cliente"
+
+ valid_reservation_modal:
+ # dialog of on site payment for reservations
+ booking_confirmation: "Confirmar reserva"
+ here_is_the_summary_of_the_slots_to_book_for_the_current_user: "Resumen de los espacios reservados por el usuario actual:"
+
+ event:
+ # event edition form
+ title_is_required: "Se requiere un título."
+ matching_visual: "Coincidencia visual"
+ choose_a_picture: "Selecciona una imagen"
+ attachments: "Adjuntos"
+ add_a_new_file: "añadir un archivo"
+ event_type: "Tipo de evento"
+ dates_and_opening_hours: "Fechas y horas de apertura"
+ all_day: "Todo el día"
+ start_date: "Fecha de inicio"
+ end_date: "Fecha de fin"
+ start_time: "Hora de inicio"
+ end_time: "Hora de fin"
+ recurrence: "Repeticiones"
+ _and_ends_on: "termina el"
+ prices_and_availabilities: "Precios y disponibilidad"
+ standard_rate: "Puntuación estándar"
+ 0_=_free: "0 = Gratis"
+ tickets_available: "Entradas disponibles"
+ event_theme: "Tema del evento"
+ age_range: "Rango de edades"
+
+ plan:
+ # subscription plan edition form
+ plan_form:
+ general_information: "Información general"
+ name: "Nombre"
+ name_length_must_be_less_than_24_characters: "el nombre debe contener menos de 24 caracteres."
+ type: "Tipo"
+ type_is_required: "Se requiere un tipo."
+ group: "Grupo"
+ transversal_(all_groups): "Transversal (todos los grupos)"
+ group_is_required: "Se requiere un tipo."
+ number_of_periods: "Numero de periodos"
+ number_of_periods_is_required: "El numero de periodos es obligatorio."
+ period: "Periodo"
+ year: "Año"
+ month: "Mes"
+ week: "Semana"
+ period_is_required: "Se requiere un periodo."
+ subscription_price: "Precio de la suscripción"
+ price_is_required: "Se requiere un precio."
+ visual_prominence_of_the_subscription: "Relevancia visual de la suscripción"
+ on_the_subscriptions_page_the_most_prominent_subscriptions_will_be_placed_at_the_top_of_the_list: "Las suscripciónes se ordenaran por orden de relevancia en la página de suscripciónes"
+ an_evelated_number_means_a_higher_prominence: "Un número elevado indica mayor relevancia."
+ rolling_subscription: "¿Suscripción continua?"
+ a_rolling_subscription_will_begin_the_day_of_the_first_training: "Una suscripción continuada empezará el día que se dé el primer curso."
+ otherwise_it_will_begin_as_soon_as_it_is_bought: "De otro modo, empezará tan pronto como se haya adquirido."
+ information_sheet: "hoja de información"
+ attach_an_information_sheet: "adjuntar una hoja de infomación"
+ notified_partner: "Compañero notificado"
+ new_user: "Nuevo usuario ..."
+ as_part_of_a_partner_subscription_some_notifications_may_be_sent_to_this_user: "Como parte de la suscripción, algunas notificaciones podrían ser enviadas a este usuario."
+ new_partner: "Nuevo compañero"
+ email_address_is_required: "Se requiere un mail."
+
+ trainings:
+ # training edition form
+ add_a_new_training: "Añadir curso"
+ validate_your_training: "Validar curso"
+ associated_machines: "Máquinas asociadas"
+ number_of_tickets: "Número de entradas"
+ public_page: "Hacer curso público"
+
+ user_admin:
+ # partial form to edit/create an user (admin view)
+ user_profile: "Profil utilisateur"
+ warning_incomplete_user_profile_probably_imported_from_sso: "Advertencia: Este perfil de usuario está incompleto. Como el método de autenticación SSO está activo, puede que la cuenta sea importada pero no fusionada. No la modifique a no ser que sepa lo que hace."
+ group: "Grupo"
+ group_is_required: "Se requiere un grupo"
+ disable_invoices_generation: "Desactivar generación de facturas:"
+ no_more_invoices_will_be_generated_for_: "No se generarán más facturas para"
+ _the_payments_carried_out_at_the_reception_: "El pago se efectuará en la entrada"
+ _regarding_this_user: "con respecto a este usuario."
+ trainings: "Cursos"
+
+ authentication:
+ # partial form to edit/create an authentication provider (SSO)
+ provider_name_is_required: "Se requiere el nombre del proveedor."
+ authentication_type: "Tipo de autenticación"
+ authentication_type_is_required: "Se requiere el tipo de autenticación."
+ data_mapping: "Mapeo de datos"
+ expected_data_type: "Tipo de datos esperado"
+ input_format: "Formato de entrada"
+ mappings: "Mapeos"
+
+ oauth2:
+ # edition/creation form of an OAuth2 authentication provider
+ common_url: "URL común"
+ common_url_is_required: "se requiere una URL común."
+ provided_url_is_not_a_valid_url: "La URL cedida no es válida."
+ authorization_endpoint: "Final de la autorización"
+ oauth2_authorization_endpoint_is_required: "Se requiere final de autorización OAuth 2.0."
+ provided_endpoint_is_not_valid: "El final de autorización proporcionado no es válido."
+ token_acquisition_endpoint: "Fin de adquisición de fichas"
+ oauth2_token_acquisition_endpoint_is_required: "Se requiere el final de adquisición de tokens OAuth 2.0."
+ profil_edition_url: "URL de edición de perfil"
+ profile_edition_url_is_required: "Se requiere URL de edición de perfil."
+ client_identifier: "Identificador de cliente"
+ oauth2_client_identifier_is_required: "Se requiere el identificador de cliente OAuth 2.0."
+ obtain_it_when_registering_with_your_provider: "Obtengalo al registrarse con su proveedor."
+ client_secret: "Secreto del cliente"
+ oauth2_client_secret_is_required: "Se requiere el secreto de cliente OAuth 2.0."
+ define_the_fields_mapping: "Definir el mapeo de campos"
+ add_a_match: "agregar coincidencia"
+ field: "Campos"
+ api_endpoint_url: "API final de URL"
+ api_type: "Tipo de API"
+ api_fields: "Campos de API"
+
+ confirm_modify_slot_modal:
+ # machine/training slot modification modal
+ change_the_slot: "Cambiar la ranura"
+ do_you_want_to_change_your_booking_slot_initially_planned_at: "Desea cambiar su reserva efectuada inicialmente el:"
+ do_you_want_to_change_NAME_s_booking_slot_initially_planned_at: "Desea cambiar la reserva de {{NAME}} , efectuada inicialmente el:" # angular interpolation
+ cancel_this_reservation: "Cancelar reserva"
+ i_want_to_change_date: "Quiero cambiar la fecha"
+
+ request_training_modal:
+ # modal introducing that a training is requested before booking a machine
+ to_book_the_MACHINE_you_must_have_completed_the_TRAINING: "Para reservar \"{{MACHINE}}\" debes haber completado el curso: {{TRAINING}}." # angular interpolation
+ register_for_the_training: "Apuntarse al curso"
+ i_dont_want_to_register_now: "No quiero apuntarme aún"
+
+ training_reservation_modal:
+ # modal introducing that a user must wait for his training being validated before booking a machine
+ machine_reservation: "Reserva de máquina"
+ you_must_wait_for_your_training_is_being_validated_by_the_fablab_team_to_book_this_machine: "Debes esperar a que el Fablab valide tu curso para reservar la máquina."
+ your_training_will_occur_: "Tu curso será realizado"
+
+ public_profile:
+ # user public profile
+ last_activity_: "Úlitma actividad"
+ _on_: "el"
+ to_come: "por llegar"
+ approved: "aprobada"
+ projects: "Proyectos"
+ no_projects: "Sin proyectos"
+ author: "Autor"
+ collaborator: "Colaborador"
+ private_profile: "Perfil privado"
+
+ wallet:
+ # wallet
+ wallet: 'Cartera'
+ your_wallet_amount: 'Su dinero disponible'
+ wallet_amount: 'Cantidad disponible'
+ no_transactions_for_now: 'Sin transacciones aún'
+ operation: 'Operación'
+ operator: 'Operador'
+ amount: 'Cantidad'
+ credit: 'Crédito'
+ debit: 'Débito'
+ credit_title: 'Crédito de la cartera'
+ credit_label: 'Selecciona la cantidad a creditar'
+ confirm_credit_label: 'Confirma la cantidad a creditar'
+ generate_a_refund_invoice: "Generar informe de devolución"
+ creation_date_for_the_refund: "Fecha de creación del informe de devolución"
+ creation_date_is_required: "Se requiere fecha de creación."
+ description_(optional): "Descripción (opcional):"
+ will_appear_on_the_refund_invoice: "Aparecerá en el informe de devolución."
+ to_credit: 'Credito'
+ wallet_credit_successfully: "La cartera del usuario ha sido acreditada con éxito."
+ a_problem_occurred_for_wallet_credit: "Ocurrió un problema mientras se acreditaba la cartera"
+ amount_is_required: "Se requiere la cantidad"
+ amount_minimum_1: "La cantidad mínima es 1"
+ amount_confirm_is_required: "Debe confirmarse la cantidad"
+ amount_confirm_does_not_match: "La confirmación de la cantidad no coincide"
+ you_have_amount_in_wallet: "Tiene {{amount}} {{currency}} en su cartera"
+ client_have_amount_in_wallet: "El cliente tiene {{amount}} {{currency}} en su cartera"
+ wallet_pay_reservation: "Puede pagar directamente su reserva"
+ client_wallet_pay_reservation: "El cliente puede pagar directamente su reserva"
+ debit_subscription: "Débito por suscripción"
+ debit_reservation_training: "Débito por reserva de curso"
+ debit_reservation_machine: "Débito por reserva de máquina"
+ debit_reservation_event: "Débito por reserva de evento"
+ warning_uneditable_credit: "ADVERTENCIA: una vez validada la reserva no podrá modificarse el pago."
+
+ coupon:
+ # promotional coupon (creation/edition form)
+ code: "Código"
+ code_is_required: "Se requiere un código."
+ code_must_be_composed_of_capital_letters_digits_and_or_dashes: "El código debe estar compuesto de mayúsculas, dígitos y / o guiones."
+ kind_of_coupon: "Tipo de cupón"
+ percentage: "Porcentaje"
+ amount: "Cantidad"
+ amount_off: "Cantidad descontada"
+ percent_off: "Porcentaje descontado"
+ percent_off_is_required: "El porcentaje descontado es obligatorio."
+ percentage_must_be_between_0_and_100: "El porcentaje descontado debe ser un número entre 0 y 100."
+ validity_per_user: "Validez por usuario"
+ once: "Validez única"
+ forever: "Cada usuario"
+ validity_per_user_is_required: "Se requiere validez por usuario."
+ valid_until: "Válido hasta (incluido)"
+ leave_empty_for_no_limit: "Dejar en blanco si no se desea especificar un límite."
+ max_usages: "Usos máximos permitidos"
+ max_usages_must_be_equal_or_greater_than_0: "El número de usos máximos permitidos debe ser mayor que 0."
+ enabled: "Activo"
+
+ coupon_input:
+ # coupon (input zone for users)
+ i_have_a_coupon: "I have a coupon!"
+ code_: "Code:"
+ the_coupon_has_been_applied_you_get_PERCENT_discount: "Se ha aplicado el cupón {{PERCENT}}% de descuento." # angular interpolation
+ the_coupon_has_been_applied_you_get_AMOUNT_CURRENCY: "Se ha aplicado el cupón. Recibirá un descuento de {{AMOUNT}} {{CURRENCY}}." # angular interpolation
+ unable_to_apply_the_coupon_because_disabled: "No se ha podido canjear el cupón: código inhabilitado."
+ unable_to_apply_the_coupon_because_expired: "No se ha podido canjear el cupón: código expirado."
+ unable_to_apply_the_coupon_because_sold_out: "No se puede aplicar el cupón: este código alcanzó su cuota."
+ unable_to_apply_the_coupon_because_already_used: "No se ha podido usar el cupón: ya has usado este cupón antes."
+ unable_to_apply_the_coupon_because_amount_exceeded: "No se puede aplicar el cupón: el descuento excede el monto total de esta compra."
+ unable_to_apply_the_coupon_because_undefined: "No se puede aplicar el cupón: se ha producido un error inesperado, póngase en contacto con el gerente del Fablab."
+ unable_to_apply_the_coupon_because_rejected: "Este código no existe."
+
+ space:
+ # form to create/edit a space
+ space:
+ name: "Nombre"
+ name_is_required: "Se requiere un nombre."
+ illustration: "Ilustración"
+ add_an_illustration: "añadir una ilustración"
+ description: "descripción"
+ description_is_required: "Se requiere una descripción."
+ characteristics: "Características"
+ characteristics_are_required: "Las características son obligatorias."
+ attached_files_(pdf): "Archivos adjuntos (pdf)"
+ attach_a_file: "Adjuntar archvo"
+ add_an_attachment: "Añadir adjunto"
+ default_places: "Máximo de entradas predeterminado"
+ default_places_is_required: "Se requiere un máximo de entradas predeterminado."
+
+ cart:
+ # module de panier d'achat de réservations
+ cart:
+ summary: "Resumen"
+ select_one_or_more_slots_in_the_calendar: "Selecciona uno {SINGLE, select, true{slot} other{or more slots}} en el calendario" # messageFormat interpolation
+ you_ve_just_selected_the_slot: "Acaba de seleccionar el espacio :"
+ datetime_to_time: "{{START_DATETIME}} hasta {{END_TIME}}" # angular interpolation, eg: Thursday, September 4 1986 8:30 PM to 10:00 PM
+ cost_of_TYPE: "Coste de {TYPE, select, Machine{a machine hour} Training{the training} other{the element}}" # messageFormat interpolation
+ offer_this_slot: "Ofertar este espacio"
+ confirm_this_slot: "Confirmar este espacio"
+ remove_this_slot: "Eliminar este espacio"
+ to_benefit_from_attractive_prices: "Para beneficiarse de precios"
+ view_our_subscriptions: "Ver nuestras suscripciónes"
+ or: "ó"
+ you_ve_just_selected_a_: "Acaba de seleccionar"
+ _subscription: "suscripción"
+ cost_of_the_subscription: "Coste de la suscripción"
+ confirm_and_pay: "Confirmar y pagar"
+ you_have_settled_the_following_TYPE: "Acaba de seleccionar {TYPE, select, Machine{machine hours} Training{training} other{elements}}:" # messageFormat interpolation
+ you_have_settled_a_: "Ha establecido una"
+ total_: "TOTAL :"
+ thank_you_your_payment_has_been_successfully_registered: "Gracias. Su pago se ha registrado con éxito."
+ your_invoice_will_be_available_soon_from_your_: "Su factura pronto estará disponible"
+ dashboard: "Panel"
+ i_want_to_change_the_following_reservation: "Deseo cambiar la siguiente reserva:"
+ cancel_my_modification: "Cancelar modificación"
+ select_a_new_slot_in_the_calendar: "Seleccionar nuevo espacio en el calendario"
+ cancel_my_selection: "Cancelar mi selección"
+ tags_of_the_original_slot: "Etiquetas del espacio original:"
+ tags_of_the_destination_slot: "Etiquetas del espacio final:"
+ confirm_my_modification: "Confirmar modificación"
+ your_booking_slot_was_successfully_moved_from_: "Tu reserva de espacio ha sido reemplazada con éxito"
+ to_date: "a" # context: date. eg: "from 01/01 to 01/05"
+ please_select_a_member_first: "Por favor, selecciona un miembro de la lista"
+ unable_to_change_the_reservation: "Imposible cambiar reserva"
+ confirmation_required: "Confirmación requerida"
+ do_you_really_want_to_cancel_this_reservation: "¿Está seguro de querer cancelar la reserva?"
+ reservation_was_cancelled_successfully: "La reserva se ha cancelado con éxito."
+ cancellation_failed: "Cancelación fallida."
+ confirm_payment_of_html: "{ROLE, select, admin{Payment on site} other{Pay}}: {AMOUNT}" # messageFormat interpolation (context: confirm my payment of $20.00)
+ a_problem_occured_during_the_payment_process_please_try_again_later: "A problem occurred during the payment process. Please try again later."
+ none: "Ninguno"
\ No newline at end of file
diff --git a/config/locales/devise.es.yml b/config/locales/devise.es.yml
new file mode 100644
index 000000000..b534db8e6
--- /dev/null
+++ b/config/locales/devise.es.yml
@@ -0,0 +1,64 @@
+# Additional translations at https://github.com/plataformatec/devise/wiki/I18n
+
+es:
+ devise:
+ confirmations:
+ confirmed: "Su cuenta se ha confirmado exitosamente."
+ send_instructions: "Recibirá un correo electrónico con instrucciones sobre cómo confirmar su cuenta en unos minutos."
+ send_paranoid_instructions: "Si su dirección de correo electrónico existe en nuestra base de datos, recibirá un correo electrónico con instrucciones sobre cómo confirmar su cuenta en unos minutos."
+ failure:
+ already_authenticated: "Ya ha sido registrado."
+ inactive: "Su cuenta aún no ha sido activada."
+ invalid: "Mail o contraseña inválidos."
+ locked: "Su cuenta ha sido bloqueada."
+ last_attempt: "Le queda un intento antes de que su cuenta sea bloqueada."
+ not_found_in_database: "mail o contraseña inválidos."
+ timeout: "Su sesión ha expirado. Por favor, inicie sesión de nuevo."
+ unauthenticated: "Necesita iniciar sesión o registrarse antes de contiunar."
+ unconfirmed: "Debe confirmar su cuenta antes de continuar."
+ mailer:
+ confirmation_instructions:
+ action:
+ instruction:
+ subject: "Instrucciones de confirmación"
+ reset_password_instructions:
+ action:
+ instruction:
+ ignore_otherwise:
+ subject: "Instrucciones para restablecer contraseña"
+ unlock_instructions:
+ subject: "Desbloquear instrucciones"
+ omniauth_callbacks:
+ failure: "No pudimos autentificarte desde %{kind} porque \"%{reason}\"."
+ success: "Autentificado correctamente desde la cuenta %{kind} ."
+ passwords:
+ no_token: "No puede acceder a esta página sin proceder de un correo electrónico de restablecimiento de contraseña. Si procede de un correo electrónico de restablecimiento de contraseña, asegúrese de utilizar la URL completa proporcionada."
+ send_instructions: "Recibirá un correo electrónico con instrucciones sobre cómo restablecer su contraseña en unos minutos."
+ send_paranoid_instructions: "Si su dirección de correo electrónico existe en nuestra base de datos, recibirá un enlace de recuperación de contraseña en su dirección de correo electrónico en unos minutos."
+ updated: "Tu contraseña se cambió correctamente. Ya has iniciado sesión."
+ updated_not_active: "Tu contraseña se cambió correctamente."
+ registrations:
+ destroyed: "¡Adiós! Su cuenta se canceló correctamente. Esperamos volver a verte pronto."
+ signed_up: "¡Bienvenido! Se ha registrado correctamente."
+ signed_up_but_inactive: "Te has registrado con éxito. Sin embargo, no pudimos iniciar sesión porque su cuenta todavía no está activada."
+ signed_up_but_locked: "Te has registrado con éxito. Sin embargo, no pudimos iniciar sesión porque su cuenta está bloqueada."
+ signed_up_but_unconfirmed: "Se ha enviado un mensaje con un enlace de confirmación a su dirección de correo electrónico. Abra el enlace para activar su cuenta."
+ update_needs_confirmation: "Actualizó su cuenta con éxito, pero debemos verificar su nueva dirección de correo electrónico. Compruebe su correo electrónico y haga clic en el enlace para confirmar la confirmación de su nueva dirección de correo electrónico."
+ updated: "Ha actualizado su cuenta con éxito."
+ sessions:
+ signed_in: "Inicio de sesión exitoso."
+ signed_out: "Cierre de sesión exitoso."
+ unlocks:
+ send_instructions: "Recibirá un correo electrónico con instrucciones sobre cómo desbloquear su cuenta en unos minutos."
+ send_paranoid_instructions: "Si su cuenta existe, recibirá un correo electrónico con instrucciones sobre cómo desbloquearlo en unos pocos minutos."
+ unlocked: "Tu cuenta se ha desbloqueado con éxito. Por favor inicie sesión para continuar."
+ errors:
+ messages:
+ already_confirmed: "Ya se confirmó, intente iniciar sesión"
+ confirmation_period_expired: "Necesita ser confirmado dentro de %{period}, por favor, solicite uno nuevo"
+ expired: "ha expirado, por favor, solicite uno nuevo"
+ not_found: "no encontrado"
+ not_locked: "no estaba bloqueado"
+ not_saved:
+ one: "un error prohibió que %{resource} fuese guardado:"
+ other: "%{count} errores evitaron que %{resource} fuese guardado:"
diff --git a/config/locales/es.yml b/config/locales/es.yml
new file mode 100644
index 000000000..1deaafb3d
--- /dev/null
+++ b/config/locales/es.yml
@@ -0,0 +1,363 @@
+es:
+
+ duration:
+ # subscription plan duration
+ year:
+ one: 'un año'
+ other: '%{count} años'
+ month:
+ one: 'un mes'
+ other: '%{count} meses'
+ week:
+ one: 'una semana'
+ other: '%{count} semanas'
+
+ time:
+ formats:
+ # See http://apidock.com/ruby/DateTime/strftime for a list of available directives
+ hour_minute: "%I:%M %p"
+
+ errors: &errors
+ messages: &errors_messages
+ # CarrierWave
+ carrierwave_processing_error: "fallo al procesar"
+ carrierwave_integrity_error: "es un tipo de archivo no permitido"
+ carrierwave_download_error: "no pudo ser descargado"
+ extension_white_list_error: "no le está permitido subir archivos de extensión %{extension} , tipos permitidos: %{allowed_types}"
+ extension_black_list_error: "no le está permitido subir archivos de extensión %{extension} , tipos prohibidos: %{prohibited_types}"
+ rmagick_processing_error: "error al manipular con rmagick, ¿Está seguro de que el archivo es una imagen? Error original: %{e}"
+ mime_types_processing_error: "error al procesar archivo MIME::Types, puede ser que el contenido no sea válido. Error original: %{e}"
+ mini_magick_processing_error: "Error al editar con MiniMagick, ¿Está seguro de que el archivo es una imagen? Error original: %{e}"
+ wrong_size: "Tamaño erroneo (should be %{file_size})"
+ size_too_small: "es demasiado pequeño (should be at least %{file_size})"
+ size_too_big: "es demasiado grande (should be at most %{file_size})"
+ export_not_found: "La exportación solicitada no se encontró. Probablemente se eliminó, por favor, genere una nueva exportación."
+ percentage_out_of_range: "El porcentaje debe estar incluido entre 0 y 100"
+ cannot_be_blank_at_same_time: "no puede estar vacío cuando %{field} también está vacío"
+ cannot_be_in_the_past: "no puede estar en el pasado"
+ cannot_be_before_previous_value: "No puede estar antes del valor anterior."
+
+ activemodel:
+ errors:
+ <<: *errors
+
+ apipie:
+ api_documentation: "Documentación API"
+
+ omniauth:
+ # error messages when importing an account Desde a SSO
+ email_already_linked_to_another_account_please_input_your_authentication_code: "E-mail \"%{OLD_MAIL}\"ya está vinculado a otra cuenta, ingrese su código de autenticación."
+ your_username_is_already_linked_to_another_account_unable_to_update_it: "Su nombre de usuario (%{USERNAME}) ."
+ your_email_address_is_already_linked_to_another_account_unable_to_update_it: "Your e-mail address (%{EMAIL}) ya está vinculado a otra cuenta, no se puede actualizar."
+ this_account_is_already_linked_to_an_user_of_the_platform: "Esta %{NAME} cuenta ya está vinculada a un usuario de la plataforma ."
+
+ availabilities:
+ # availability slots in the calendar
+ not_available: "No disponible"
+ i_ve_reserved: "He reservado"
+ must_be_at_least_1_hour_after_the_start_date: "Debe ser al menos 1 hora después de la fecha de inicio"
+ must_be_associated_with_at_least_1_machine: "debe estar asociado con al menos 1 máquina"
+
+ members:
+ # members management
+ unable_to_change_the_group_while_a_subscription_is_running: "No se puede cambiar el grupo mientras se está ejecutando una suscripción."
+ please_input_the_authentication_code_sent_to_the_address: "Ingrese el código de autenticación enviado a la dirección de correo electrónico %{EMAIL}"
+ your_authentication_code_is_not_valid: "Su código de autenticación no es válido."
+ current_authentication_method_no_code: "El método de autenticación actual no requiere ningún código de migración"
+ requested_account_does_not_exists: "La cuenta solicitada no existe"
+
+ invoices:
+ # PDF invoices generation
+ refund_invoice_reference: "Referencia de devolución de factura: %{REF}"
+ invoice_reference: "Referencia de factura: %{REF}"
+ code: "Código: %{CODE}"
+ order_number: "Pedido #: %{NUMBER}"
+ invoice_issued_on_DATE: "Factura emitida el %{DATE}"
+ refund_invoice_issued_on_DATE: "Factura de reembolso emitida el %{DATE}"
+ wallet_credit: "Crédito de la cartera"
+ cancellation_of_invoice_REF: "Cancelación de la factura %{REF}"
+ reservation_of_USER_on_DATE_at_TIME: "Reserva de %{USER} el %{DATE} a las %{TIME}"
+ cancellation: "Cancelación"
+ object: "Objeto:"
+ order_summary: "Resumen de pedido:"
+ details: "Detalles"
+ amount: "Cantidad"
+ subscription_extended_for_free_Desde_START_to_END: "Suscripción extendida gratis - desde %{START} to %{END}"
+ subscription_NAME_Desde_START_to_END: "Suscripción %{NAME} - desde %{START} hasta %{END}"
+ machine_reservation_DESCRIPTION: "Reserva de máquina - %{DESCRIPTION}"
+ space_reservation_DESCRIPTION: "Reserva de espacio - %{DESCRIPTION}"
+ training_reservation_DESCRIPTION: "Reserva de curso - %{DESCRIPTION}"
+ event_reservation_DESCRIPTION: "Reserva de evento - %{DESCRIPTION}"
+ full_price_ticket:
+ one: "Una entrada de precio completo"
+ other: "%{count} entradas de precio completo"
+ other_rate_ticket:
+ one: "un %{NAME} entrada"
+ other: "%{count} %{NAME} entradas"
+ reservation_other: "Reserva (other)"
+ coupon_CODE_discount_of_DISCOUNT: "Cupón {CODE}: descuento de {DISCOUNT}{TYPE, select, percent_off{%} other{}}" # messageFormat interpolation
+ total_including_all_taxes: "total impuestos incluidos"
+ including_VAT_RATE: "Incluyendo IVA %{RATE}%"
+ including_total_excluding_taxes: "Excluyendo IVA"
+ including_amount_payed_on_ordering: "Incluyendo cantidad pagada en el pedido"
+ total_amount: "Precio total"
+ refund_on_DATE: "Reembolso en %{DATE}"
+ by_stripe_online_payment: "por pago online"
+ by_cheque: "por cheque"
+ by_transfer: "por transferencia"
+ by_cash: "en efectivo"
+ no_refund: "sin devolución"
+ by_wallet: "por cartera"
+ settlement_by_debit_card: "Efectuado con tarjeta de débito"
+ settlement_done_at_the_reception: "Efectuado en recepción"
+ settlement_by_wallet: "Efectuado con cartera"
+ on_DATE_at_TIME: "el %{DATE} a las %{TIME},"
+ for_an_amount_of_AMOUNT: "Por una cantidad de %{AMOUNT}"
+ on_DATE_Desde_START_to_END: "El %{DATE} desde %{START} hasta %{END}" # eg: on feb. 7 Desde 7AM hasta 9AM
+ Desde_STARTDATE_to_ENDDATE_Desde_STARTTIME_to_ENDTIME: "Desde %{STARTDATE} hasta %{ENDDATE}, desde %{STARTTIME} hasta %{ENDTIME}" # eg: Desde feb. 7 hasta feb. 10, Desde 6PM hasta 10PM
+ subscription_of_NAME_for_DURATION_starting_Desde_DATE: "Suscripción %{NAME} por %{DURATION} empezando Desde %{DATE}"
+ subscription_of_NAME_extended_starting_Desde_STARTDATE_until_ENDDATE: "Subscripción de %{NAME} extendida (Free days) empezando desde %{STARTDATE} hasta %{ENDDATE}"
+ and: 'y'
+
+ trainings:
+ # training availabilities
+ i_ve_reserved: "he reservado"
+ completed: "Lleno"
+
+ events:
+ # error messages when updating an event
+ error_deleting_reserved_price: "No se puede eliminar el precio solicitado porque está asociado con algunas reservas."
+ other_error: "Se ha producido un error inesperado al actualizar el evento."
+
+ export_members:
+ # members list export to EXCEL format
+ members: "Miembros"
+ id: "ID"
+ surname: "Apellidos"
+ first_name: "Nombre"
+ email: "E-mail"
+ newsletter: "Hoja informativa"
+ gender: "Genero"
+ age: "Edad"
+ address: "Dirección"
+ phone: "Teléfono"
+ website: "Web"
+ job: "Trabajo"
+ interests: "Intereses"
+ cad_software_mastered: "Softwares dominados"
+ group: "Grupo"
+ subscription: "Suscripción"
+ subscription_end_date: "Fecha de fin de suscripción"
+ validated_trainings: "Cursos validados"
+ tags: "Etiquetas"
+ number_of_invoices: "Numero de facturas"
+ invoicing_disabled: "Facturación desactivada"
+ projects: "Proyectos"
+ facebook: "Facebook"
+ twitter: "Twitter"
+ echo_sciences: "Ecociencia"
+ organization: "Organización"
+ organization_address: "Dirección de la organización"
+ man: "hombre"
+ woman: "mujer"
+ without_subscriptions: "Sin suscripciones"
+
+ export_reservations:
+ # machines/trainings/events reservations list to EXCEL format
+ reservations: "Reservas"
+ customer_id: "Identificación del cliente"
+ customer: "Cliente"
+ email: "E-mail"
+ reservation_date: "fecha de reserva"
+ reservation_type: "tipo de reserva"
+ reservation_object: "objetivo de reserva"
+ slots_number_hours_tickets: "espacios reservados (horas/entradas)"
+ payment_method: "Método de pago"
+ local_payment: "Pago en recepción"
+ online_payment: "Pago online"
+
+ export_subscriptions:
+ # subscriptions list export to EXCEL format
+ subscriptions: "Suscripciones"
+ id: "ID"
+ customer: "Cliente"
+ email: "E-mail"
+ subscription: "Suscripción"
+ period: "Periodo"
+ start_date: "Fecha de comienzo"
+ expiration_date: "Fecha de fin"
+ amount: "Cantidad"
+ payment_method: "Método de pago"
+ local_payment: "Pago en recepción"
+ online_payment: "Pago online"
+
+ export_availabilities:
+ # reservation slots export, by type, to EXCEL format
+ machines: "Máquinas"
+ trainings: "Cursos"
+ spaces: "Espacios"
+ events: "Eventos"
+ day_of_week: "Día de la semana"
+ date: "Fecha"
+ slot: "Espacio"
+ machine: "Máquina"
+ training: "Curso"
+ space: "Espacio"
+ event: "Evento"
+ reservations: "Reservas"
+ available_seats: "Asientos disponibles"
+
+
+ api:
+ notifications:
+ # internal app notifications
+ notify_admin_abuse_reported:
+ an_abuse_was_reported_on_TYPE_ID_NAME_html: "Un abuso ha sido reportado %{TYPE} %{ID}: %{NAME}."
+ notify_admin_invoicing_changed:
+ invoices_generation_was_STATUS_for_user_NAME_html: "La generación de facturas ha sido {STATUS, select, true{disabled} other{enabled}} para el usuario {NAME}." # messageFormat interpolation
+ notify_admin_member_create_reservation:
+ a_RESERVABLE_reservation_was_made_by_USER_html: "una %{RESERVABLE} reserva fue hecha por %{USER}."
+ notify_admin_profile_complete:
+ account_imported_Desde_PROVIDER_(UID)_has_completed_its_information_html: "Cuenta importada desde %{PROVIDER} (%{UID}) ha completado su información."
+ notify_admin_slot_is_canceled:
+ USER_s_reservation_on_the_DATE_was_cancelled_remember_to_generate_a_refund_invoice_if_applicable_html: "La reserva de %{USER}, hecha el %{DATE} ha sido cancelada. Recuerda reclamar una devolución si está disponible."
+ notify_admin_slot_is_modified:
+ a_booking_slot_was_modified: "Una reserva fué modificada."
+ notify_admin_subscribed_plan:
+ subscription_PLAN_has_been_subscribed_by_USER_html: "La suscripción %{PLAN} ha sido solicitada por %{USER}."
+ notify_admin_subscription_canceled:
+ USER_s_subscription_has_been_cancelled: "La suscripción de %{USER}ha sido cancelada."
+ notify_admin_subscription_extended:
+ subscription_PLAN_of_the_member_USER_has_been_extended_FREE_until_DATE_html: "La suscripción {PLAN} de {USER} se ha extendido {FREE, select, true{for free} other{}} hasta {DATE}." # messageFormat interpolation
+ notify_admin_subscription_is_expired:
+ USER_s_subscription_has_expired: "%La suscripción de {USER} ha expirado."
+ notify_admin_subscription_will_expire_in_7_days:
+ USER_s_subscription_will_expire_in_7_days: "La suscripción de %{USER} expirará en 7 días."
+ notify_admin_user_group_changed:
+ user_NAME_changed_his_group_html: "El usuario {NAME} ha cambiado {GENDER, select, true{his} other{her}} el grupo." # messageFormat interpolation
+ notify_admin_user_merged:
+ user_NAME_has_merged_his_account_with_the_one_imported_Desde_PROVIDER_(UID)_html: "El usuario {NAME} se ha fusionado {GENDER, select, true{his} other{her}} con la cuenta importada desde {PROVIDER} ({UID})." # messageFormat interpolation
+ notify_admin_when_project_published:
+ project_NAME_has_been_published_html: "Project %{NAME} has been published."
+ notify_admin_when_user_is_created:
+ a_new_user_account_has_been_created_NAME_EMAIL_html: "Se ha creado una nueva cuenta: %{NAME} <%{EMAIL}>."
+ notify_admin_when_user_is_imported:
+ a_new_user_account_has_been_imported_Desde_PROVIDER_(UID)_html: "Se ha importado una nueva cuenta: %{PROVIDER} (%{UID})."
+ notify_member_create_reservation:
+ your_reservation_RESERVABLE_was_successfully_saved_html: "Su reserva %{RESERVABLE} se ha guardado correctamente."
+ notify_member_reservation_reminder:
+ reminder_you_have_a_reservation_RESERVABLE_to_be_held_on_DATE_html: "Recuerda: Su reserva %{RESERVABLE} tendrá lugar el %{DATE}"
+ notify_member_slot_is_canceled:
+ your_reservation_RESERVABLE_of_DATE_was_successfully_cancelled: "Su reserva %{RESERVABLE} de %{DATE} se ha cancelado correctamente."
+ notify_member_slot_is_modified:
+ your_reservation_slot_was_successfully_changed: "Su reserva ha sido cambiada correctamente."
+ notify_member_subscribed_plan:
+ you_have_subscribed_to_PLAN_html: "Se ha suscrito tp %{PLAN}."
+ notify_member_subscribed_plan_is_changed:
+ you_have_changed_your_subscription_to_PLAN_html: "Ha cambiado su suscripción a %{PLAN}."
+ notify_member_subscription_canceled:
+ your_subscription_PLAN_was_successfully_cancelled_html: "Su suscripción %{PLAN} se ha cancelado exitosamente."
+ notify_member_subscription_extended:
+ your_subscription_PLAN_has_been_extended_FREE_until_DATE_html: "Su suscripción {PLAN} se ha extendido {FREE, select, true{for free} other{}} hasta {DATE}." # messageFormat interpolation
+ notify_member_subscription_is_expired:
+ your_subscription_has_expired: "Su suscripción ha expirado."
+ notify_member_subscription_will_expire_in_7_days:
+ your_subscription_will_expire_in_7_days: "Su suscripción expirará en 7 días."
+ notify_partner_subscribed_plan:
+ subscription_partner_PLAN_has_been_subscribed_by_USER_html: "Un compañero %{PLAN} ha sido suscrito por %{USER}."
+ notify_project_author_when_collaborator_valid:
+ USER_became_collaborator_of_your_project: "%{USER} se ha convertido en colaborador de tu proyecto:"
+ notify_project_collaborator_to_valid:
+ you_are_invited_to_collaborate_on_the_project: "Has sido invitado a colaborar en este proyecto:"
+ notify_user_auth_migration:
+ your_account_was_migrated: "Ha migrado correctamente al nuevo sistema de autenticación."
+ notify_user_profile_complete:
+ your_profile_was_completed: "Su perfil se completó con éxito, ahora tiene acceso a toda la plataforma."
+ notify_user_training_valid:
+ your_TRAINING_was_validated_html: "Su curso %{TRAINING} ha sido validado con éxito."
+ notify_user_user_group_changed:
+ your_group_has_changed: "Su grupo ha sido cambiado."
+ notify_user_when_avoir_ready:
+ your_avoir_is_ready_html: "Su informe de devolución #%{REFERENCE}, of %{AMOUNT}, está listo. Haz clic aquí para descargarlo."
+ notify_user_when_invoice_ready:
+ your_invoice_is_ready_html: "Su factura #%{REFERENCE}, de %{AMOUNT} está lista. Haz clic aquí para descargarlo."
+ undefined_notification:
+ unknown_notification: "Notificación desconocida"
+ notification_ID_wrong_type_TYPE_unknown: "Notificación %{ID} fallida (type %{TYPE} unknown)"
+ notify_user_wallet_is_credited:
+ your_wallet_is_credited: "Su cartera ha sido acreditada por el administrador"
+ notify_admin_user_wallet_is_credited:
+ wallet_is_credited: "La cartera del miembro %{USER} ha sido creditada %{AMOUNT}"
+ notify_admin_export_complete:
+ export: "La exportación"
+ statistics_global: "de todas las estadísticas"
+ statistics_account: "de las estadísticas de registro"
+ statistics_event: "de estadísticas sobre eventos"
+ statistics_machine: "de estadísticas sobre horas de máquina"
+ statistics_project: "de estadísticas sobre proyectos"
+ statistics_subscription: "de estadísticas de suscripción"
+ statistics_training: "de estadísticas de cursos"
+ statistics_space: "de estadísticas sobre espacios"
+ users_members: "de la lista de miembros"
+ users_subscriptions: "de la lista de suscripciones"
+ users_reservations: "de la lista de reservas"
+ availabilities_index: "de las reservas disponibles"
+ is_over: "se ha acabado."
+ download_here: "Descargar aquí"
+ notify_member_about_coupon:
+ enjoy_a_discount_of_PERCENT_with_code_CODE: "Disfruta de un descuento de %{PERCENT}% con el código %{CODE}"
+ enjoy_a_discount_of_AMOUNT_with_code_CODE: "Disfruta de un descuento de %{AMOUNT} con el código %{CODE}"
+
+ statistics:
+ # statistics tools for admins
+ subscriptions: "Suscripciones"
+ machines_hours: "Horario de máquinas"
+ spaces: "Espacios"
+ trainings: "Cursos"
+ events: "Eventos"
+ registrations: "Registros"
+ projects: "Proyectos"
+ users: "Usuarios"
+ training_id: "ID de curso"
+ training_date: "Fecha de curso"
+ event_id: "ID de evento"
+ event_date: "Fecha de evento"
+ event_name: "Nombre de event "
+ event_theme: "Tema"
+ age_range: "Rango de edades"
+ themes: "Temas"
+ components: "Componentes"
+ machines: "Máquinas"
+ user_id: "ID de usuario"
+ bookings: "Reservas"
+ hours_number: "Número de horas"
+ tickets_number: "Número de entradas"
+ revenue: "Ingresos"
+ account_creation: "Creación de cuenta"
+ project_publication: "Publicación de proyectos"
+
+ export:
+ # statistics exports to the excel file format
+ entries: "Entradas"
+ revenue: "Ingresos"
+ average_age: "Edad media"
+ total: "hasta tal punto"
+ date: "Fecha"
+ user: "Usuario"
+ email: "Email"
+ phone: "Teléfono"
+ gender: "Genero"
+ age: "Edad"
+ type: "Tipo"
+ revenue: "Ingreso"
+ male: "Hombre"
+ female: "Mujer"
+
+ price_category:
+ # initial price's category for events, created to replace the old "reduced amount" property
+ reduced_fare: "Tarifa reducida"
+ reduced_fare_if_you_are_under_25_student_or_unemployed: "Tarifa reducida si tienes menos de 25 años, eres estudiante o estás desempleado."
+
+ group:
+ # name of the user's group for administrators
+ admins: 'Administradores'
diff --git a/config/locales/mails.es.yml b/config/locales/mails.es.yml
new file mode 100644
index 000000000..8edc7568e
--- /dev/null
+++ b/config/locales/mails.es.yml
@@ -0,0 +1,287 @@
+es:
+ layouts:
+ notifications_mailer:
+ see_you_later: "Nos vemos pronto en {GENDER, select, other{the}}" # messageFormat interpolation
+ sincerely: "Atentamente,"
+ signature: "El equipo del FabLab."
+ do_not_reply: "Por favor no conteste a este mail."
+
+ users_mailer:
+ notify_user_account_created:
+ subject: "Tu cuenta FabLab se ha creado con éxito"
+ body:
+ hello: "Hola %{NAME},"
+ intro: "El equipo FabLab acaba de crear una cuenta para ti, en la web de {FABLAB}" # messageFormat interpolation
+ connection_parameters: "Estos son los datos asociados a tu cuenta:"
+ account_name: "Nombre de usuario:"
+ password: "Contraseña:"
+ temporary_password: "Esta es una contraseña temporal, puede modificarla en la pantalla <>."
+ keep_advantages: "Con esta cuenta, guarda todas las ventajas relacionadas con su perfil de usuario de Fab Lab (cursos, planes de suscripción)."
+ thanks_to_: "Para usar el sitio web, por favor"
+ logon_or_login: "crea una nueva cuenta o inicia sesión haciendo clic aquí"
+ token_if_link_problem: "Si experimenta problemas con el enlace, puede introducir el siguiente código en el primer intento de conexión:"
+
+ notifications_mailer:
+ notify_user_user_group_changed:
+ subject: "Tu has cambiado grupo"
+ body:
+ warning: "Has cambiado de grupo. Se pueden realizar inspecciones en el laboratorio para verificar la legitimidad de este cambio.."
+
+ notify_admin_user_group_changed:
+ subject: "Un miembro ha cambiado de grupo."
+ body:
+ user_changed_group_html: "El usuario %{NAME} ha cambiado de grupo."
+ previous_group: "Grupo anterior:"
+ new_group: "Nuevo grupo:"
+
+ notify_admin_subscription_extended:
+ subject: "Una suscripción ha sido extendida"
+ body:
+ subscription_extended_html: "La suscripción {PLAN} del usuario {NAME} ha sido extendida {FREE, select, true{for free} other{}} until {DATE}." # messageFormat interpolation
+
+ notify_member_subscription_extended:
+ subject: "Su suscripción ha sido extendida"
+ body:
+ your_plan: "Su plan de suscripción"
+ has_been_extended: "ha sido extendida"
+ free: "gratuitamente"
+ until: "hasta"
+
+ notify_partner_subscribed_plan:
+ subject: "Ha adquirido un plan de suscripción"
+ body:
+ a_plan: "Un plan de suscripción"
+ was_purchased_by_member: "ha sido adquirido por el usuario"
+
+ notify_admin_when_project_published:
+ subject: "Un proyecto ha sido publicado"
+ body:
+ new_project_published: "Un nuevo proyecto ha sido publicado:"
+
+ notify_project_collaborator_to_valid:
+ subject: "Invitación de colaboración a un proyecto"
+ body:
+ your_are_invited_to_take_part_in_a_project: "Ha sido invitado a colaborar en el proyecto:"
+ to_accept_the_invitation_click_on_following_link: "Para aceptar la invitación por favor haga clic en el siguiente enlace:"
+
+ notify_project_author_when_collaborator_valid:
+ subject: "Nuevo colaborador en tu proyecto"
+ body:
+ the_member: "El usuario"
+ accepted_your_invitation_to_take_part_in_the_project: "ha aceptado unirse a tu proyecto:"
+
+ notify_user_training_valid:
+ subject: "Su curso ha sido validado"
+ body:
+ your_training: "Su curso"
+ has_been_validated: "Ha sido validado"
+
+ notify_member_subscribed_plan:
+ subject: "Su suscripción ha sido correctamente comprada"
+ body:
+ plan_subscribed_html: "Se ha suscrito al plan: %{PLAN}."
+ subscription_stops_on: "Su suscripción terminará el %{DATE}"
+
+ notify_member_create_reservation:
+ subject: "Su reserva se ha registrado correctamente"
+ body:
+ reservation_saved_html: "Su reserva %{RESERVATION} se ha registrado correctamente"
+ your_reserved_slots: "Sus espacios reservados son:"
+
+ notify_member_subscribed_plan_is_changed:
+ subject: "Su suscripción ha sido actualizada"
+ body:
+ new_plan_html: "Ha cambiado su plan a %{PLAN}."
+
+ notify_admin_member_create_reservation:
+ subject: "Nueva reserva"
+ body:
+ member_reserved_html: "El usuario %{NAME} ha reservado %{RESERVABLE}."
+ reserved_slots: "Los espacios de reserva están aquí:"
+
+ notify_member_slot_is_modified:
+ subject: "Su espacio de reserva ha sido cambiado correctamente"
+ body:
+ reservation_changed_to: "Su espacio de reserva se ha cambiado a:"
+ previous_date: "Fecha anterior:"
+
+ notify_admin_slot_is_modified:
+ subject: "Un espacio de reservra ha sido modificado"
+ body:
+ slot_modified: "El usuario %{NAME} ha modificado su reserva"
+ new_date: "Nuevo espacio"
+ old_date: "Espacio anterior"
+
+ notify_admin_when_user_is_created:
+ subject: "Se ha creado una nueva cuenta"
+ body:
+ new_account_created: "Se ha creado un nuevo usuario en la web:"
+ account_for_organization: "Esta cuenta gestiona una organización :"
+ invoicing_disabled_html: "La generación de facturación para este usuario es disabled."
+
+ notify_admin_subscribed_plan:
+ subject: "Se ha adquirido un plan de suscripción"
+ body:
+ plan_subscribed_html: "Un plan de suscripción %{PLAN} ha sido adquirido por el usuario %{NAME}."
+
+ notify_member_invoice_ready:
+ subject: "La factura de su FabLab"
+ body:
+ please_find_attached_html: "Por favor, encuentre como archivo adjunto su factura de {DATE}, por un valor de {AMOUNT} referente a {TYPE, select, Reservation{reservation} other{subscription}}." # messageFormat interpolation
+ invoice_in_your_dashboard_html: "Puede acceder a su factura en %{DASHBOARD} en la web del FabLab."
+ your_dashboard: "Su Panel"
+
+ notify_member_reservation_reminder:
+ subject: "Recordatorio de reserva"
+ body:
+ this_is_a_reminder_about_your_reservation_RESERVABLE_to_be_held_on_DATE_html: "Este es un recordatorio sobre su reserva %{RESERVABLE} a realizarse en %{DATE}"
+ this_reservation_concerns_the_following_slots: "Esta reserva involucra los siguientes espacios:"
+
+ notify_member_avoir_ready:
+ subject: "Su factura de reembolso de FabLab"
+ body:
+ please_find_attached_html: "Por favor, encuentre como archivo adjunto su factura de reembolso de {DATE}, con una cantidad de {AMOUNT} referente a su {TYPE, select, Reservation{reservation} WalletTransaction{wallet credit} other{subscription}}." # messageFormat interpolation
+ invoice_in_your_dashboard_html: "Puede acceder a su factura en %{DASHBOARD} en la web del FabLab."
+ your_dashboard: "Su panel"
+
+ notify_member_subscription_will_expire_in_7_days:
+ subject: "Su suscripción expira en 7 dias"
+ body:
+ your_plan: "su plan de suscripción"
+ expires_in_7_days: "expirará en 7 dias."
+ to_renew_your_plan_follow_the_link: "Por favor, haga clic en el siguiente enlace para renovar su suscripción"
+
+ notify_member_subscription_is_expired:
+ subject: "Su suscripción ha expirado"
+ body:
+ your_plan: "Su plan de suscripción"
+ has_expired: "ha expirado."
+ you_can_go_to: "Por favor acceda a"
+ to_renew_your_plan: "para renovar su suscripción"
+
+ notify_admin_subscription_will_expire_in_7_days:
+ subject: "La suscripción de un miembre expira en 7 días"
+ body:
+ subscription_will_expire_html: "El plan de suscripción de %{NAME} %{PLAN} expirará en 7 días."
+
+ notify_admin_subscription_is_expired:
+ subject: "La suscripción de un miembro ha expirado"
+ body:
+ subscription_expired_html: "La suscripción del usuario %{NAME} %{PLAN} ha expirado."
+
+ notify_admin_subscription_canceled:
+ subject: "La suscripción de un miembro ha sido cancelada"
+ body:
+ subscription_canceled_html: "La suscripción %{PLAN} del usuario %{NAME} ha sido cancelada."
+
+ notify_member_subscription_canceled:
+ subject: "Su suscripción ha sido cancelada"
+ body:
+ your_plan_was_canceled: "Su suscripción ha sido cancelada."
+ your_plan: "Su suscripción"
+ end_at: "termina el"
+
+ notify_member_slot_is_canceled:
+ subject: "Su reserva ha sido cancelada"
+ body:
+ reservation_canceled: "Su reserva para %{RESERVABLE} ha sido cancelada"
+
+ notify_admin_slot_is_canceled:
+ subject: "Una reserva ha sido cancelada"
+ body:
+ member_cancelled: "El usuario %{NAME} ha cancelado una reserva"
+ item_details: "%{START} - %{END}, referido a %{RESERVABLE}"
+ generate_refund: "No olvide generar una nota de crédito o un reembolso por esta cancelación."
+
+ notify_admin_when_user_is_imported:
+ subject: "Una cuenta de usuario ha sido importada (SSO)"
+ body:
+ new_account_imported: "Una nueva cuenta (ID: %{ID}) ha sido importada a la web via %{PROVIDER}."
+ provider_uid: "El ID del proveedor es: "
+ known_information: "Esto es lo que sabemos del proveedor:"
+ address_already_used: "Esta dirección ya está asociada con otro usuario."
+ no_more_info_available: "No se puede proporcionar ninguna otra información sobre este usuario antes de completar su perfil."
+
+ notify_user_profile_complete:
+ subject: "Ahora tienes acceso a nuestra web"
+ body:
+ message: "La información de su cuenta se ha actualizado correctamente, ahora tiene acceso a todo el sitio web."
+
+ notify_user_auth_migration:
+ subject: "Cambio importante a su cuenta FabLab"
+ body:
+ the_platform: "La web"
+ is_changing_its_auth_system_and_will_now_use: "en realidad está cambiando su sistema de identificación de usuario y usará"
+ instead_of: "en lugar de"
+ consequence_of_the_modification: "Debido a este cambio, no podrá iniciar sesión en el sitio web con sus nombres de usuario actual."
+ to_use_the_platform_thanks_for: "Para seguir usando el sitio web, por favor"
+ create_an_account_on: "cree una cuenta en"
+ or_use_an_existing_account_clicking_here: "o utilice una cuenta existente haciendo clic aquí"
+ in_case_of_problem_enter_the_following_code: "En caso de problemas con este enlace, puede ingresar el siguiente código en su primer intento de conexión para migrar su cuenta real al nuevo sistema de autenticación:"
+
+ notify_admin_user_merged:
+ subject: "Una cuenta importada se ha fusionado con una cuenta existente"
+ body:
+ imported_account_merged: "Una cuenta de usuario previamente importada vía %{PROVIDER) se ha fusionado con la cuenta existente %{NAME}"
+ provider_uid: "La identificación del proveedor es:"
+
+ notify_admin_profile_complete:
+ subject: "Una cuenta importada ha completado su perfil"
+ body:
+ account_completed: "Una cuenta de usuario importada previamente %{PROVIDER} ha completado su perfil:"
+ provider_id: "su ID de proveedor es:"
+
+ notify_admin_abuse_reported:
+ subject: "Se ha informado un contenido abusivo"
+ body:
+ intro: "Un usuario ha marcado un contenido como abusivo"
+ signaled_content: "contenido marcado:"
+ signaled_by: "marcado por:"
+ signaled_on: "marcado el:"
+ message: "Mensaje:"
+
+ notify_admin_invoicing_changed:
+ subject: "Se ha cambiado un parámetro de facturación."
+ body:
+ generation_status_html: "Un parámetro de facturación ha sido cambiado {STATUS, select, true{disabled} other{enabled}} por el usuario {NAME}." # messageFormat interpolation
+ disabled: "A partir de ahora, no se emitirá factura cuando el usuario paga en la recepción."
+ enabled: "A partir de ahora, todos los pagos realizados por este usuario en la recepción llevarán a la emisión de facturación. "
+
+ notify_user_wallet_is_credited:
+ subject: ""
+ body:
+ wallet_credit_html: "Se han ingresado %{AMOUNT} por el administrador."
+
+ notify_admin_user_wallet_is_credited:
+ subject: "Se han ingresado fondos en la cartera de un usuario"
+ body:
+ wallet_credit_html: "Se han ingresado %{AMOUNT} fondos en la cartera del usuario %{USER} por el administrador %{ADMIN}."
+
+ notify_admin_export_complete:
+ subject: "Exportación completada"
+ body:
+ you_asked_for_an_export: "Usted solicitó una exportación"
+ statistics_global: "de todas las estadísticas"
+ statistics_account: "de las estadísticas de registro"
+ statistics_event: "de estadísticas sobre eventos"
+ statistics_machine: "de estadísticas sobre horas de máquina"
+ statistics_project: "de estadísticas sobre proyectos"
+ statistics_subscription: "de estadísticas de suscripción"
+ statistics_training: "de estadísticas sobre entrenamientos"
+ statistics_space: "de estadísticas sobre espacios"
+ users_members: "de la lista de miembros"
+ users_subscriptions: "de la lista de suscripciones"
+ users_reservations: "de la lista de reservas"
+ availabilities_index: "de las reservas disponibles"
+ click_to_download: " archivo Excel generado correctamente. Para descargarlo, haga clic "
+ here: "aquí"
+
+ notify_member_about_coupon:
+ subject: "Cupón"
+ body:
+ enjoy_a_discount_of_PERCENT_with_code_CODE: "Disfruta de un descuento del %{PERCENT}% en toda la web con el código %{CODE}."
+ enjoy_a_discount_of_AMOUNT_with_code_CODE: "Disfruta de un descuento de %{AMOUNT} en toda la web con el código %{CODE}."
+ this_coupon_is_valid_USAGE_times_until_DATE_for_all_your_purchases: "Este cupón es válido {USAGE, plural, =1{just once} other{many times}}: para todas tus compras {TYPE, select, amount_off{at least equal to the amount of the coupon} other{}}, desde ahora {DATE, select, NO-DATE{and without time limit} other{and until {DATE}}}."
+
+ shared:
+ hello: "¡Hola %{user_name}!"