diff --git a/config/locales/mailers/invitation_mailer/es.yml b/config/locales/mailers/invitation_mailer/es.yml new file mode 100644 index 000000000..0a4b6ec6f --- /dev/null +++ b/config/locales/mailers/invitation_mailer/es.yml @@ -0,0 +1,5 @@ +--- +es: + invitation_mailer: + invite_email: + subject: "¡%{inviter} te ha invitado a unirte a su hogar en %{product_name}!" diff --git a/config/locales/models/account/es.yml b/config/locales/models/account/es.yml new file mode 100644 index 000000000..941de6113 --- /dev/null +++ b/config/locales/models/account/es.yml @@ -0,0 +1,21 @@ +--- +es: + activerecord: + attributes: + account: + balance: Saldo + currency: Moneda + family: Familia + family_id: Familia + name: Nombre + subtype: Subtipo + models: + account: Cuenta + account/credit: Tarjeta de crédito + account/depository: Cuenta bancaria + account/investment: Inversión + account/loan: Préstamo + account/other_asset: Otro activo + account/other_liability: Otra obligación + account/property: Bien inmueble + account/vehicle: Vehículo \ No newline at end of file diff --git a/config/locales/models/address/es.yml b/config/locales/models/address/es.yml new file mode 100644 index 000000000..c5a9e8ded --- /dev/null +++ b/config/locales/models/address/es.yml @@ -0,0 +1,11 @@ +--- +es: + address: + attributes: + country: País + line1: Dirección Línea 1 + line2: Dirección Línea 2 + locality: Localidad + postal_code: Código Postal + region: Región + format: "%{line1} %{line2}, %{locality}, %{region} %{postal_code} %{country}" \ No newline at end of file diff --git a/config/locales/models/entry/es.yml b/config/locales/models/entry/es.yml new file mode 100644 index 000000000..3021f8204 --- /dev/null +++ b/config/locales/models/entry/es.yml @@ -0,0 +1,10 @@ +--- +es: + activerecord: + errors: + models: + entry: + attributes: + base: + invalid_sell_quantity: no se pueden vender %{sell_qty} acciones de %{ticker} porque + solo posees %{current_qty} acciones diff --git a/config/locales/models/import/es.yml b/config/locales/models/import/es.yml new file mode 100644 index 000000000..e1becb465 --- /dev/null +++ b/config/locales/models/import/es.yml @@ -0,0 +1,13 @@ +--- +es: + activerecord: + attributes: + import: + currency: Moneda + number_format: Formato de número + errors: + models: + import: + attributes: + raw_file_str: + invalid_csv_format: no es un formato CSV válido diff --git a/config/locales/models/time_series/value/es.yml b/config/locales/models/time_series/value/es.yml new file mode 100644 index 000000000..158f72513 --- /dev/null +++ b/config/locales/models/time_series/value/es.yml @@ -0,0 +1,9 @@ +--- +es: + activemodel: + errors: + models: + time_series/value: + attributes: + value: + must_be_a_money_or_numeric: debe ser un valor monetario o numérico. diff --git a/config/locales/models/transfer/es.yml b/config/locales/models/transfer/es.yml new file mode 100644 index 000000000..4f7115427 --- /dev/null +++ b/config/locales/models/transfer/es.yml @@ -0,0 +1,18 @@ +--- +es: + activerecord: + errors: + models: + transfer: + attributes: + base: + inflow_cannot_be_in_multiple_transfers: La transacción de entrada no puede formar parte de múltiples transferencias + must_be_from_different_accounts: La transferencia debe ser entre cuentas distintas + must_be_from_same_family: La transferencia debe ser de la misma familia + must_be_within_date_range: Las fechas de las transacciones de la transferencia deben estar dentro de un rango de 4 días + must_have_opposite_amounts: Las transacciones de la transferencia deben tener importes opuestos + must_have_single_currency: La transferencia debe tener una única moneda + outflow_cannot_be_in_multiple_transfers: La transacción de salida no puede formar parte de múltiples transferencias + transfer: + name: Transferencia a %{to_account} + payment_name: Pago a %{to_account} diff --git a/config/locales/models/trend/es.yml b/config/locales/models/trend/es.yml new file mode 100644 index 000000000..37302cdc9 --- /dev/null +++ b/config/locales/models/trend/es.yml @@ -0,0 +1,13 @@ +--- +es: + activemodel: + errors: + models: + trend: + attributes: + current: + must_be_of_the_same_type_as_previous: debe ser del mismo tipo que el anterior + must_be_of_type_money_numeric_or_nil: debe ser de tipo Money, Numeric o nil + previous: + must_be_of_the_same_type_as_current: debe ser del mismo tipo que el actual + must_be_of_type_money_numeric_or_nil: debe ser de tipo Money, Numeric o nil diff --git a/config/locales/models/user/es.yml b/config/locales/models/user/es.yml new file mode 100644 index 000000000..df4832489 --- /dev/null +++ b/config/locales/models/user/es.yml @@ -0,0 +1,21 @@ +--- +es: + activerecord: + attributes: + user: + email: Correo electrónico + family: Familia + family_id: Familia + first_name: Nombre + last_name: Apellidos + password: Contraseña + password_confirmation: Confirmación de contraseña + errors: + models: + user: + attributes: + base: + cannot_deactivate_admin_with_other_users: El administrador no puede eliminar la cuenta + mientras haya otros usuarios. Por favor, elimine primero a todos los miembros. + profile_image: + invalid_file_size: El tamaño del archivo debe ser inferior a %{max_megabytes} MB. \ No newline at end of file diff --git a/config/locales/views/accounts/es.yml b/config/locales/views/accounts/es.yml new file mode 100644 index 000000000..f2e499bf4 --- /dev/null +++ b/config/locales/views/accounts/es.yml @@ -0,0 +1,88 @@ +--- +es: + accounts: + account: + link_lunchflow: Vincular con Lunch Flow + troubleshoot: Solucionar problemas + chart: + data_not_available: Datos no disponibles para el período seleccionado + create: + success: "Cuenta %{type} creada" + destroy: + success: "Cuenta %{type} programada para eliminación" + empty: + empty_message: Añade una cuenta mediante conexión, importación o introducción manual. + new_account: Nueva cuenta + no_accounts: Aún no hay cuentas + form: + balance: Saldo actual + name_label: Nombre de la cuenta + name_placeholder: Ejemplo de nombre de cuenta + index: + accounts: Cuentas + manual_accounts: + other_accounts: Otras cuentas + new_account: Nueva cuenta + sync: Sincronizar todo + new: + import_accounts: Importar cuentas + method_selector: + connected_entry: Vincular cuenta + connected_entry_eu: Vincular cuenta de la UE + lunchflow_entry: Vincular cuenta de Lunch Flow + manual_entry: Introducir saldo de la cuenta + title: ¿Cómo te gustaría añadirla? + title: ¿Qué te gustaría añadir? + show: + activity: + amount: Cantidad + balance: Saldo + date: Fecha + entries: entradas + entry: entrada + new: Nuevo + new_balance: Nuevo saldo + new_transaction: Nueva transacción + no_entries: No se encontraron entradas + search: + placeholder: Buscar entradas por nombre + title: Actividad + chart: + balance: Saldo + owed: Cantidad adeudada + menu: + confirm_accept: Eliminar "%{name}" + confirm_body_html: "

Al eliminar esta cuenta, borrarás su historial de valores, afectando varios aspectos de tu cuenta general. Esta acción tendrá un impacto directo en los cálculos de tu patrimonio neto y en los gráficos de la cuenta.


Después de la eliminación, no podrás restaurar la información de la cuenta, ya que tendrás que añadirla como una nueva cuenta.

" + confirm_title: ¿Eliminar cuenta? + edit: Editar + import: Importar transacciones + manage: Gestionar cuentas + update: + success: "Cuenta %{type} actualizada" + sidebar: + missing_data: Faltan datos históricos + missing_data_description: "%{product} utiliza proveedores externos para obtener tipos de cambio históricos, precios de valores y más. Estos datos son necesarios para calcular saldos históricos precisos de las cuentas." + configure_providers: Configura tus proveedores aquí. + tabs: + all: Todo + assets: Activos + debts: Deudas + new_asset: Nuevo activo + new_debt: Nueva deuda + new_account: Nueva cuenta + new_account_group: "Nuevo %{account_group}" + types: + depository: Efectivo + investment: Inversión + crypto: Cripto + property: Propiedad + vehicle: Vehículo + other_asset: Otro activo + credit_card: Tarjeta de crédito + loan: Préstamo + other_liability: Otra deuda + + email_confirmations: + new: + invalid_token: Enlace de confirmación inválido o caducado. + success_login: Tu correo electrónico ha sido confirmado. Por favor, inicia sesión con tu nueva dirección de correo electrónico. diff --git a/config/locales/views/application/es.yml b/config/locales/views/application/es.yml new file mode 100644 index 000000000..c1a5d00c7 --- /dev/null +++ b/config/locales/views/application/es.yml @@ -0,0 +1,11 @@ +--- +es: + number: + currency: + format: + delimiter: "." + format: "%n %u" + precision: 2 + separator: "," + unit: "€" + diff --git a/config/locales/views/categories/es.yml b/config/locales/views/categories/es.yml new file mode 100644 index 000000000..bd2e17d72 --- /dev/null +++ b/config/locales/views/categories/es.yml @@ -0,0 +1,34 @@ +--- +es: + categories: + bootstrap: + success: Categorías predeterminadas creadas con éxito + category: + delete: Eliminar categoría + edit: Editar categoría + create: + success: Categoría creada con éxito + destroy: + success: Categoría eliminada con éxito + edit: + edit: Editar categoría + form: + placeholder: Nombre de la categoría + index: + bootstrap: Usar predeterminadas (recomendado) + categories: Categorías + categories_expenses: Categorías de gastos + categories_incomes: Categorías de ingresos + empty: No se encontraron categorías + new: Nueva categoría + menu: + loading: Cargando... + new: + new_category: Nueva categoría + update: + success: Categoría actualizada con éxito + category: + dropdowns: + show: + bootstrap: Generar categorías predeterminadas + empty: No se encontraron categorías \ No newline at end of file diff --git a/config/locales/views/category/deletions/es.yml b/config/locales/views/category/deletions/es.yml new file mode 100644 index 000000000..d7909f3e6 --- /dev/null +++ b/config/locales/views/category/deletions/es.yml @@ -0,0 +1,15 @@ +--- +es: + category: + deletions: + create: + success: Categoría de transacción eliminada con éxito + new: + category: Categoría + delete_and_leave_uncategorized: Eliminar "%{category_name}" y dejar sin categorizar + delete_and_recategorize: Eliminar "%{category_name}" y asignar nueva categoría + delete_category: ¿Eliminar categoría? + explanation: Al eliminar esta categoría, cada transacción que tenga la categoría "%{category_name}" + quedará sin categorizar. En lugar de dejarlas sin categorizar, también + puedes asignar una nueva categoría a continuación. + replacement_category_prompt: Seleccionar categoría diff --git a/config/locales/views/category/dropdowns/es.yml b/config/locales/views/category/dropdowns/es.yml new file mode 100644 index 000000000..e7be1bd16 --- /dev/null +++ b/config/locales/views/category/dropdowns/es.yml @@ -0,0 +1,11 @@ +--- +es: + category: + dropdowns: + row: + delete: Eliminar categoría + edit: Editar categoría + show: + clear: Limpiar categoría + no_categories: No se encontraron categorías + search_placeholder: Buscar diff --git a/config/locales/views/credit_cards/es.yml b/config/locales/views/credit_cards/es.yml new file mode 100644 index 000000000..1005b9aba --- /dev/null +++ b/config/locales/views/credit_cards/es.yml @@ -0,0 +1,25 @@ +--- +es: + credit_cards: + edit: + edit: Editar %{account} + form: + annual_fee: Cuota anual + annual_fee_placeholder: '99' + apr: TAE + apr_placeholder: '15.99' + available_credit: Crédito disponible + available_credit_placeholder: '10000' + expiration_date: Fecha de vencimiento + minimum_payment: Pago mínimo + minimum_payment_placeholder: '100' + new: + title: Introducir detalles de la tarjeta de crédito + overview: + amount_owed: Cantidad adeudada + annual_fee: Cuota anual + apr: TAE + available_credit: Crédito disponible + expiration_date: Fecha de vencimiento + minimum_payment: Pago mínimo + unknown: Desconocido diff --git a/config/locales/views/cryptos/es.yml b/config/locales/views/cryptos/es.yml new file mode 100644 index 000000000..15a8125f5 --- /dev/null +++ b/config/locales/views/cryptos/es.yml @@ -0,0 +1,7 @@ +--- +es: + cryptos: + edit: + edit: Editar %{account} + new: + title: Introducir saldo de la cuenta diff --git a/config/locales/views/depositories/es.yml b/config/locales/views/depositories/es.yml new file mode 100644 index 000000000..c504fdeef --- /dev/null +++ b/config/locales/views/depositories/es.yml @@ -0,0 +1,10 @@ +--- +es: + depositories: + edit: + edit: Editar %{account} + form: + none: Ninguno + subtype_prompt: Seleccionar tipo de cuenta + new: + title: Introducir saldo de la cuenta diff --git a/config/locales/views/email_confirmation_mailer/es.yml b/config/locales/views/email_confirmation_mailer/es.yml new file mode 100644 index 000000000..d6dec5b85 --- /dev/null +++ b/config/locales/views/email_confirmation_mailer/es.yml @@ -0,0 +1,10 @@ +--- +es: + email_confirmation_mailer: + confirmation_email: + body: Recientemente solicitaste cambiar tu dirección de correo electrónico. Haz clic en el botón + para confirmar este cambio. + cta: Confirmar cambio de correo electrónico + expiry_notice: Este enlace expirará en %{hours} hora(s). + greeting: ¡Hola! + subject: '%{product_name}: Confirma tu cambio de correo electrónico' diff --git a/config/locales/views/entries/es.yml b/config/locales/views/entries/es.yml new file mode 100644 index 000000000..54b20e21d --- /dev/null +++ b/config/locales/views/entries/es.yml @@ -0,0 +1,14 @@ +--- +es: + entries: + create: + success: Entrada creada + destroy: + success: Entrada eliminada + empty: + description: Intenta agregar una entrada, editar filtros o refinar tu búsqueda + title: No se encontraron entradas + loading: + loading: Cargando entradas... + update: + success: Entrada actualizada diff --git a/config/locales/views/family_exports/es.yml b/config/locales/views/family_exports/es.yml new file mode 100644 index 000000000..685a91cdb --- /dev/null +++ b/config/locales/views/family_exports/es.yml @@ -0,0 +1,7 @@ +--- +es: + family_exports: + list: + in_progress: En progreso + complete: Completo + failed: Fallido diff --git a/config/locales/views/holdings/es.yml b/config/locales/views/holdings/es.yml new file mode 100644 index 000000000..0db0f3010 --- /dev/null +++ b/config/locales/views/holdings/es.yml @@ -0,0 +1,37 @@ +--- +es: + holdings: + cash: + brokerage_cash: Efectivo en la cuenta de corretaje + destroy: + success: Posición eliminada + holding: + per_share: por acción + shares: "%{qty} acciones" + index: + average_cost: Costo promedio + holdings: Posiciones + name: Nombre + new_holding: Nueva transacción + no_holdings: No hay posiciones para mostrar. + return: Rendimiento total + weight: Peso + missing_price_tooltip: + description: Esta inversión tiene valores faltantes y no pudimos calcular + su rendimiento o valor. + missing_data: Datos faltantes + show: + avg_cost_label: Costo promedio + current_market_price_label: Precio de mercado actual + delete: Eliminar + delete_subtitle: Esto eliminará la posición y todas tus operaciones asociadas + en esta cuenta. Esta acción no se puede deshacer. + delete_title: Eliminar posición + history: Historial + overview: Resumen + portfolio_weight_label: Peso en el portafolio + settings: Configuración + ticker_label: Ticker + trade_history_entry: "%{qty} acciones de %{security} a %{price}" + total_return_label: Rendimiento total + unknown: Desconocido diff --git a/config/locales/views/impersonation_sessions/es.yml b/config/locales/views/impersonation_sessions/es.yml new file mode 100644 index 000000000..9cf15ffe9 --- /dev/null +++ b/config/locales/views/impersonation_sessions/es.yml @@ -0,0 +1,15 @@ +--- +es: + impersonation_sessions: + approve: + success: Solicitud aprobada + complete: + success: Sesión completada + create: + success: Solicitud enviada al usuario. Esperando aprobación. + join: + success: Unido a la sesión + leave: + success: Salió de la sesión + reject: + success: Solicitud rechazada diff --git a/config/locales/views/imports/es.yml b/config/locales/views/imports/es.yml new file mode 100644 index 000000000..0068520d4 --- /dev/null +++ b/config/locales/views/imports/es.yml @@ -0,0 +1,82 @@ +--- +es: + import: + cleans: + show: + description: Edita tus datos en la tabla de abajo. Las celdas rojas son inválidas. + errors_notice: Tienes errores en tus datos. Pasa el ratón sobre el error para ver los detalles. + errors_notice_mobile: Tienes errores en tus datos. Toca el tooltip del error para ver los detalles. + title: Limpia tus datos + configurations: + mint_import: + date_format_label: Formato de fecha + show: + description: Selecciona las columnas que corresponden a cada campo en tu CSV. + title: Configura tu importación + trade_import: + date_format_label: Formato de fecha + transaction_import: + date_format_label: Formato de fecha + confirms: + mappings: + create_account: Crear cuenta + csv_mapping_label: "%{mapping} en CSV" + sure_mapping_label: "%{mapping} en %{product_name}" + no_accounts: Aún no tienes cuentas. Por favor, crea una cuenta que podamos usar para las filas + (sin asignar) en tu CSV o vuelve al paso de Limpieza y proporciona un nombre de cuenta que podamos usar. + rows_label: Filas + unassigned_account: ¿Necesitas crear una nueva cuenta para las filas sin asignar? + show: + account_mapping_description: Asigna todas las cuentas de tu archivo importado a las cuentas existentes de Sure. + También puedes añadir nuevas cuentas o dejarlas sin categorizar. + account_mapping_title: Asigna tus cuentas + account_type_mapping_description: Asigna todos los tipos de cuenta de tu archivo importado a los de Sure. + account_type_mapping_title: Asigna tus tipos de cuenta + category_mapping_description: Asigna todas las categorías de tu archivo importado a las categorías existentes de Sure. + También puedes añadir nuevas categorías o dejarlas sin categorizar. + category_mapping_title: Asigna tus categorías + tag_mapping_description: Asigna todas las etiquetas de tu archivo importado a las etiquetas existentes de Sure. + También puedes añadir nuevas etiquetas o dejarlas sin categorizar. + tag_mapping_title: Asigna tus etiquetas + uploads: + show: + description: Pega o sube tu archivo CSV abajo. Por favor, revisa las instrucciones en la tabla de abajo antes de comenzar. + instructions_1: Abajo hay un ejemplo de CSV con columnas disponibles para importar. + instructions_2: Tu CSV debe tener una fila de encabezado. + instructions_3: Puedes nombrar tus columnas como prefieras. Las mapearás en un paso posterior. + instructions_4: Las columnas marcadas con un asterisco (*) son datos obligatorios. + instructions_5: Sin comas, sin símbolos de moneda y sin paréntesis en los números. + title: Importa tus datos + imports: + empty: + message: Aún no hay importaciones. + new: Nueva importación + import: + complete: Completado + delete: Eliminar + failed: Fallido + in_progress: En progreso + label: "%{type}: %{datetime}" + revert_failed: Reversión fallida + reverting: Revirtiendo + uploading: Procesando filas + view: Ver + index: + imports: Importaciones + new: Nueva importación + title: Importar/Exportar + exports: Exportaciones + new_export: Nueva exportación + no_exports: Aún no hay exportaciones. + new: + description: Puedes importar manualmente varios tipos de datos mediante CSV o usar una de nuestras plantillas de importación como Mint. + import_accounts: Importar cuentas + import_mint: Importar desde Mint + import_portfolio: Importar inversiones + import_transactions: Importar transacciones + resume: Reanudar %{type} + sources: Fuentes + title: Nueva importación CSV + ready: + description: Aquí tienes un resumen de los nuevos elementos que se añadirán a tu cuenta una vez publiques esta importación. + title: Confirma tus datos de importación diff --git a/config/locales/views/investments/es.yml b/config/locales/views/investments/es.yml new file mode 100644 index 000000000..14db2128f --- /dev/null +++ b/config/locales/views/investments/es.yml @@ -0,0 +1,17 @@ +--- +es: + investments: + edit: + edit: Editar %{account} + form: + none: Ninguno + subtype_prompt: Selecciona el tipo de inversión + new: + title: Introduce el saldo de la cuenta + show: + chart_title: Valor total + value_tooltip: + cash: Efectivo + holdings: Inversiones + total: Saldo de la cartera + total_value_tooltip: El saldo total de la cartera es la suma del efectivo de corretaje (disponible para operar) y el valor de mercado actual de tus inversiones. diff --git a/config/locales/views/invitation_mailer/es.yml b/config/locales/views/invitation_mailer/es.yml new file mode 100644 index 000000000..d5f702429 --- /dev/null +++ b/config/locales/views/invitation_mailer/es.yml @@ -0,0 +1,8 @@ +--- +es: + invitation_mailer: + invite_email: + accept_button: Aceptar invitación + body: "%{inviter} te ha invitado a unirte a la familia %{family} en %{product_name}!" + expiry_notice: Esta invitación expirará en %{days} días + greeting: ¡Bienvenido a %{product_name}! diff --git a/config/locales/views/invitations/es.yml b/config/locales/views/invitations/es.yml new file mode 100644 index 000000000..b17da8342 --- /dev/null +++ b/config/locales/views/invitations/es.yml @@ -0,0 +1,19 @@ +--- +es: + invitations: + create: + failure: No se pudo enviar la invitación + success: Invitación enviada con éxito + destroy: + failure: Hubo un problema al eliminar la invitación. + not_authorized: No estás autorizado para gestionar invitaciones. + success: La invitación fue eliminada con éxito. + new: + email_label: Dirección de correo electrónico + email_placeholder: Introduce la dirección de correo electrónico + role_admin: Administrador + role_label: Rol + role_member: Miembro + submit: Enviar invitación + subtitle: Envía una invitación para unirte a tu cuenta familiar en Maybe + title: Invitar a alguien diff --git a/config/locales/views/invite_codes/es.yml b/config/locales/views/invite_codes/es.yml new file mode 100644 index 000000000..befe6ba75 --- /dev/null +++ b/config/locales/views/invite_codes/es.yml @@ -0,0 +1,7 @@ +--- +es: + invite_codes: + index: + invite_code_description: Genera un nuevo código para verlo aquí. Los códigos + generados que han sido utilizados ya no se mostrarán. + no_invite_codes: No hay códigos para mostrar diff --git a/config/locales/views/layout/es.yml b/config/locales/views/layout/es.yml new file mode 100644 index 000000000..6178965e3 --- /dev/null +++ b/config/locales/views/layout/es.yml @@ -0,0 +1,13 @@ +--- +es: + layouts: + auth: + existing_account: ¿Ya tienes una cuenta? + no_account: ¿Nuevo en %{product_name}? + sign_in: Iniciar sesión + sign_up: Crear cuenta + your_account: Tu cuenta + shared: + footer: + privacy_policy: Política de privacidad + terms_of_service: Términos de servicio diff --git a/config/locales/views/loans/es.yml b/config/locales/views/loans/es.yml new file mode 100644 index 000000000..bb6e526ce --- /dev/null +++ b/config/locales/views/loans/es.yml @@ -0,0 +1,23 @@ +--- +es: + loans: + edit: + edit: Editar %{account} + form: + interest_rate: Tasa de interés + interest_rate_placeholder: '5.25' + initial_balance: Saldo original del préstamo + rate_type: Tipo de interés + term_months: Plazo (meses) + term_months_placeholder: '360' + new: + title: Introduce los detalles del préstamo + overview: + interest_rate: Tasa de interés + monthly_payment: Pago mensual + not_applicable: N/A + original_principal: Principal original + remaining_principal: Principal restante + term: Plazo + type: Tipo + unknown: Desconocido diff --git a/config/locales/views/lunchflow_items/es.yml b/config/locales/views/lunchflow_items/es.yml new file mode 100644 index 000000000..a64a308dc --- /dev/null +++ b/config/locales/views/lunchflow_items/es.yml @@ -0,0 +1,63 @@ +--- +es: + lunchflow_items: + create: + success: Conexión con Lunch Flow creada con éxito + destroy: + success: Conexión con Lunch Flow eliminada + index: + title: Conexiones de Lunch Flow + loading: + loading_message: Cargando cuentas de Lunch Flow... + loading_title: Cargando + link_accounts: + all_already_linked: + one: "La cuenta seleccionada (%{names}) ya está vinculada" + other: "Todas las %{count} cuentas seleccionadas ya están vinculadas: %{names}" + api_error: "Error de API: %{message}" + link_failed: Error al vincular cuentas + no_accounts_selected: Por favor, selecciona al menos una cuenta + partial_success: "%{created_count} cuenta(s) vinculada(s) con éxito. %{already_linked_count} cuenta(s) ya estaban vinculadas: %{already_linked_names}" + success: + one: "%{count} cuenta vinculada con éxito" + other: "%{count} cuentas vinculadas con éxito" + lunchflow_item: + delete: Eliminar conexión + deletion_in_progress: eliminación en progreso... + error: Error + no_accounts_description: Esta conexión aún no tiene cuentas vinculadas. + no_accounts_title: Sin cuentas + status: "Sincronizado hace %{timestamp}" + status_never: Nunca sincronizado + syncing: Sincronizando... + select_accounts: + accounts_selected: cuentas seleccionadas + api_error: "Error de API: %{message}" + cancel: Cancelar + description: Selecciona las cuentas que deseas vincular a tu cuenta de Sure. + link_accounts: Vincular cuentas seleccionadas + no_accounts_found: No se encontraron cuentas. Por favor, verifica la configuración de tu clave API. + no_api_key: La clave API de Lunch Flow no está configurada. Por favor, configúrala en Configuración. + title: Seleccionar cuentas de Lunch Flow + select_existing_account: + account_already_linked: Esta cuenta ya está vinculada a un proveedor + all_accounts_already_linked: Todas las cuentas de Lunch Flow ya están vinculadas + api_error: "Error de API: %{message}" + cancel: Cancelar + description: Selecciona una cuenta de Lunch Flow para vincular con esta cuenta. Las transacciones se sincronizarán y desduplicarán automáticamente. + link_account: Vincular cuenta + no_account_specified: No se especificó ninguna cuenta + no_accounts_found: No se encontraron cuentas de Lunch Flow. Por favor, verifica la configuración de tu clave API. + no_api_key: La clave API de Lunch Flow no está configurada. Por favor, configúrala en Configuración. + title: "Vincular %{account_name} con Lunch Flow" + link_existing_account: + account_already_linked: Esta cuenta ya está vinculada a un proveedor + api_error: "Error de API: %{message}" + lunchflow_account_already_linked: Esta cuenta de Lunch Flow ya está vinculada a otra cuenta + lunchflow_account_not_found: Cuenta de Lunch Flow no encontrada + missing_parameters: Faltan parámetros requeridos + success: "%{account_name} vinculada con Lunch Flow con éxito" + sync: + success: Sincronización iniciada + update: + success: Conexión con Lunch Flow actualizada diff --git a/config/locales/views/merchants/es.yml b/config/locales/views/merchants/es.yml new file mode 100644 index 000000000..9a4933b49 --- /dev/null +++ b/config/locales/views/merchants/es.yml @@ -0,0 +1,26 @@ +--- +es: + family_merchants: + create: + error: 'Error al crear el comercio: %{error}' + success: Nuevo comercio creado con éxito + destroy: + success: Comercio eliminado con éxito + edit: + title: Editar comercio + form: + name_placeholder: Nombre del comercio + index: + empty: Aún no hay comercios + new: Nuevo comercio + title: Comercios + merchant: + confirm_accept: Eliminar comercio + confirm_body: ¿Estás seguro de que deseas eliminar este comercio? Eliminar este comercio desvinculará todas las transacciones asociadas y puede afectar a tus informes. + confirm_title: ¿Eliminar comercio? + delete: Eliminar comercio + edit: Editar comercio + new: + title: Nuevo comercio + update: + success: Comercio actualizado con éxito diff --git a/config/locales/views/mfa/es.yml b/config/locales/views/mfa/es.yml new file mode 100644 index 000000000..c6db6fb0a --- /dev/null +++ b/config/locales/views/mfa/es.yml @@ -0,0 +1,38 @@ +--- +es: + mfa: + backup_codes: + backup_codes_description: Cada código solo se puede usar una vez. Mantén estos códigos + a salvo y seguros. + backup_codes_title: Tus Códigos de Respaldo + continue: Continuar a la Configuración de Seguridad + description: Guarda estos códigos de respaldo en un lugar seguro; los necesitarás si + pierdes el acceso a tu aplicación de autenticación. + page_title: Códigos de Respaldo + title: Guarda Tus Códigos de Respaldo + create: + invalid_code: Código de verificación inválido. Por favor, inténtalo de nuevo. + disable: + success: La autenticación de dos factores ha sido desactivada + new: + code_label: Código de Verificación + code_placeholder: Ingresa el código de 6 dígitos + description: Mejora la seguridad de tu cuenta configurando la autenticación de dos factores + page_title: Configuración de Autenticación de Dos Factores + scan_description: Usa una aplicación de autenticación como Google Authenticator o 1Password + para escanear este código QR + scan_title: 1. Escanear Código QR + secret_description: Si no puedes escanear el código QR, ingresa esta clave secreta manualmente + en tu aplicación de autenticación. + secret_title: Código de Entrada Manual + title: Configurar la Autenticación de Dos Factores + verify_button: Verificar y Habilitar 2FA + verify_description: Ingresa el código de 6 dígitos de tu aplicación de autenticación + verify_title: 2. Ingresa el Código de Verificación + verify: + description: Ingresa el código de tu aplicación de autenticación para continuar + page_title: Verificar la Autenticación de Dos Factores + title: Autenticación de Dos Factores + verify_button: Verificar + verify_code: + invalid_code: Código de autenticación inválido. Por favor, inténtalo de nuevo. diff --git a/config/locales/views/onboardings/es.yml b/config/locales/views/onboardings/es.yml new file mode 100644 index 000000000..9c5acc3fc --- /dev/null +++ b/config/locales/views/onboardings/es.yml @@ -0,0 +1,28 @@ +--- +es: + onboardings: + header: + sign_out: Cerrar sesión + preferences: + currency: Moneda + date_format: Formato de fecha + example: Cuenta de ejemplo + locale: Idioma + preview: Previsualiza cómo se muestran los datos según tus preferencias. + submit: Completar + subtitle: Vamos a configurar tus preferencias. + title: Configura tus preferencias + profile: + country: País + first_name: Nombre + household_name: Nombre del hogar + last_name: Apellidos + profile_image: Imagen de perfil + submit: Continuar + subtitle: Vamos a completar tu perfil. + title: Vamos a configurar lo básico + show: + message: Estamos muy emocionados de que estés aquí. En el siguiente paso te + haremos unas preguntas para completar tu perfil y luego configuraremos todo para ti. + setup: Configurar cuenta + title: Bienvenido a %{product_name} diff --git a/config/locales/views/other_assets/es.yml b/config/locales/views/other_assets/es.yml new file mode 100644 index 000000000..d04b956ae --- /dev/null +++ b/config/locales/views/other_assets/es.yml @@ -0,0 +1,7 @@ +--- +es: + other_assets: + edit: + edit: Editar %{account} + new: + title: Introduce los detalles del activo diff --git a/config/locales/views/other_liabilities/es.yml b/config/locales/views/other_liabilities/es.yml new file mode 100644 index 000000000..bba56235d --- /dev/null +++ b/config/locales/views/other_liabilities/es.yml @@ -0,0 +1,7 @@ +--- +es: + other_liabilities: + edit: + edit: Editar %{account} + new: + title: Introduce los detalles de la obligación diff --git a/config/locales/views/pages/es.yml b/config/locales/views/pages/es.yml new file mode 100644 index 000000000..1c3c86115 --- /dev/null +++ b/config/locales/views/pages/es.yml @@ -0,0 +1,31 @@ +--- +es: + pages: + changelog: + title: Novedades + dashboard: + welcome: "Bienvenido de nuevo, %{name}" + subtitle: "Esto es lo que está pasando con tus finanzas" + new: "Nuevo" + net_worth_chart: + data_not_available: Datos no disponibles para el período seleccionado + title: Patrimonio neto + no_account_empty_state: + new_account: Nueva cuenta + no_account_subtitle: Como no se han añadido cuentas, no hay datos para mostrar. Añade tus primeras cuentas para empezar a ver los datos del panel. + no_account_title: Aún no hay cuentas + balance_sheet: + no_items: "Aún no hay %{name}" + add_accounts: "Añade tus cuentas de %{name} para ver un desglose completo" + cashflow_sankey: + title: "Flujo de caja" + no_data_title: "No hay datos de flujo de caja para este período" + no_data_description: "Añade transacciones para mostrar datos de flujo de caja o amplía el período de tiempo" + add_transaction: "Añadir transacción" + no_accounts: + title: "Aún no hay cuentas" + description: "Añade cuentas para mostrar datos de patrimonio neto" + add_account: "Añadir cuenta" + outflows_donut: + title: "Salidas" + total_outflows: "Salidas totales" diff --git a/config/locales/views/password_mailer/es.yml b/config/locales/views/password_mailer/es.yml new file mode 100644 index 000000000..3253a1b1f --- /dev/null +++ b/config/locales/views/password_mailer/es.yml @@ -0,0 +1,10 @@ +--- +es: + password_mailer: + password_reset: + cta: Restablecer tu contraseña + ignore_if_not_requested: Si no hiciste esta solicitud, puedes ignorar este + correo electrónico. + request_made: Se ha solicitado restablecer tu contraseña de %{product_name}. Haz clic en el enlace + para restablecerla. + subject: '%{product_name}: Restablecer tu contraseña' diff --git a/config/locales/views/password_resets/es.yml b/config/locales/views/password_resets/es.yml new file mode 100644 index 000000000..36fe99a79 --- /dev/null +++ b/config/locales/views/password_resets/es.yml @@ -0,0 +1,14 @@ +--- +es: + password_resets: + edit: + title: Restablecer contraseña + new: + requested: Por favor, revisa tu correo electrónico para obtener + un enlace para restablecer tu contraseña. + submit: Restablecer contraseña + title: Restablecer contraseña + back: Volver + update: + invalid_token: Token inválido. + success: Tu contraseña ha sido restablecida. diff --git a/config/locales/views/passwords/es.yml b/config/locales/views/passwords/es.yml new file mode 100644 index 000000000..ed13854ce --- /dev/null +++ b/config/locales/views/passwords/es.yml @@ -0,0 +1,10 @@ +--- +es: + passwords: + edit: + password: Nueva contraseña + password_challenge: Contraseña actual + submit: Restablecer contraseña + title: Actualizar contraseña + update: + success: Tu contraseña ha sido restablecida. diff --git a/config/locales/views/plaid_items/es.yml b/config/locales/views/plaid_items/es.yml new file mode 100644 index 000000000..7931f1591 --- /dev/null +++ b/config/locales/views/plaid_items/es.yml @@ -0,0 +1,25 @@ +--- +es: + plaid_items: + create: + success: Cuenta vinculada con éxito. Por favor, espere mientras se sincronizan las cuentas. + destroy: + success: Cuentas programadas para eliminación. + plaid_item: + add_new: Añadir nueva conexión + confirm_accept: Eliminar institución + confirm_body: Esto eliminará permanentemente todas las cuentas de este grupo y + todos los datos asociados. + confirm_title: ¿Eliminar institución? + connection_lost: Conexión perdida + connection_lost_description: Esta conexión ya no es válida. Necesitarás + eliminar esta conexión y añadirla de nuevo para continuar sincronizando los datos. + delete: Eliminar + error: Ocurrió un error mientras se sincronizaban los datos + no_accounts_description: No pudimos cargar ninguna cuenta de esta institución financiera. + no_accounts_title: No se encontraron cuentas + requires_update: Requiere reautenticación + status: Última sincronización hace %{timestamp} + status_never: Requiere sincronización de datos + syncing: Sincronizando... + update: Actualizar conexión diff --git a/config/locales/views/properties/es.yml b/config/locales/views/properties/es.yml new file mode 100644 index 000000000..ce2b664bb --- /dev/null +++ b/config/locales/views/properties/es.yml @@ -0,0 +1,32 @@ +--- +es: + properties: + edit: + edit: Editar %{account} + form: + address_line1: Dirección + address_line1_placeholder: Calle Principal 123 + area: Área habitable + area_placeholder: '2000' + area_unit: Unidad de medida + country: País + country_placeholder: ES + locality: Ciudad + locality_placeholder: Madrid + none: Ninguno + postal_code: Código postal + postal_code_placeholder: '28001' + region: Estado/Provincia + region_placeholder: Madrid + subtype_prompt: Seleccione el tipo de propiedad + year_built: Año de construcción + year_built_placeholder: '2000' + new: + title: Introduzca los detalles de la propiedad + overview: + living_area: Área Habitable + market_value: Valor de Mercado + purchase_price: Precio de Compra + trend: Tendencia + unknown: Desconocido + year_built: Año de Construcción diff --git a/config/locales/views/recurring_transactions/es.yml b/config/locales/views/recurring_transactions/es.yml new file mode 100644 index 000000000..bd42f4268 --- /dev/null +++ b/config/locales/views/recurring_transactions/es.yml @@ -0,0 +1,38 @@ +--- +es: + recurring_transactions: + title: Transacciones Recurrentes + upcoming: Próximas Transacciones Recurrentes + projected: Proyectado + recurring: Recurrente + expected_on: Esperado el %{date} + day_of_month: Día %{day} del mes + identify_patterns: Identificar Patrones + cleanup_stale: Limpiar Obsoletos + info: + title: Detección Automática de Patrones + manual_description: Puedes identificar patrones manualmente o limpiar transacciones recurrentes obsoletas usando los botones de arriba. + automatic_description: "La identificación automática también se ejecuta después de:" + triggers: + - Finalización de importaciones CSV (transacciones, operaciones, cuentas, etc.) + - Finalización de cualquier sincronización de proveedor (Plaid, SimpleFIN, etc.) + identified: Identificados %{count} patrones de transacciones recurrentes + cleaned_up: Limpiadas %{count} transacciones recurrentes obsoletas + marked_inactive: Transacción recurrente marcada como inactiva + marked_active: Transacción recurrente marcada como activa + deleted: Transacción recurrente eliminada + confirm_delete: ¿Estás seguro de que deseas eliminar esta transacción recurrente? + empty: + title: No se encontraron transacciones recurrentes + description: Haz clic en "Identificar Patrones" para detectar automáticamente transacciones recurrentes de tu historial de transacciones. + table: + merchant: Comerciante + amount: Importe + expected_day: Día Esperado + next_date: Próxima Fecha + last_occurrence: Última Ocurrencia + status: Estado + actions: Acciones + status: + active: Activa + inactive: Inactiva diff --git a/config/locales/views/registrations/es.yml b/config/locales/views/registrations/es.yml new file mode 100644 index 000000000..d451fef35 --- /dev/null +++ b/config/locales/views/registrations/es.yml @@ -0,0 +1,26 @@ +--- +es: + helpers: + label: + user: + invite_code: Código de invitación + submit: + user: + create: Continuar + registrations: + closed: Las inscripciones están actualmente cerradas. + create: + failure: Hubo un problema al registrarse. + invalid_invite_code: Código de invitación inválido, por favor inténtalo de nuevo. + success: Te has registrado con éxito. + new: + invitation_message: "%{inviter} te ha invitado a unirte como %{role}" + join_family_title: Únete a %{family} + role_admin: administrador + role_member: miembro + submit: Crear cuenta + title: Crea tu cuenta + welcome_body: Para comenzar, debes registrarte para obtener una nueva cuenta. Luego podrás + configurar ajustes adicionales dentro de la aplicación. + welcome_title: ¡Bienvenido a Self Hosted Maybe! + password_placeholder: Introduce tu contraseña diff --git a/config/locales/views/sessions/es.yml b/config/locales/views/sessions/es.yml new file mode 100644 index 000000000..fc750b1b2 --- /dev/null +++ b/config/locales/views/sessions/es.yml @@ -0,0 +1,21 @@ +--- +es: + sessions: + create: + invalid_credentials: Correo electrónico o contraseña inválidos. + destroy: + logout_successful: Has cerrado sesión con éxito. + openid_connect: + failed: No se pudo autenticar a través de OpenID Connect. + failure: + failed: No se pudo autenticar. + new: + email: Dirección de correo electrónico + email_placeholder: tu@ejemplo.com + forgot_password: ¿Olvidaste tu contraseña? + password: Contraseña + submit: Iniciar sesión + title: Inicia sesión en tu cuenta + password_placeholder: Introduce tu contraseña + openid_connect: Inicia sesión con OpenID Connect + google_auth_connect: Inicia sesión con Google diff --git a/config/locales/views/settings/api_keys/es.yml b/config/locales/views/settings/api_keys/es.yml new file mode 100644 index 000000000..42f27fc6b --- /dev/null +++ b/config/locales/views/settings/api_keys/es.yml @@ -0,0 +1,76 @@ +--- +es: + settings: + api_keys_controller: + success: "Tu clave API se ha creado con éxito" + revoked_successfully: "La clave API se ha revocado con éxito" + revoke_failed: "No se pudo revocar la clave API" + scope_descriptions: + read_accounts: "Ver cuentas" + read_transactions: "Ver transacciones" + read_balances: "Ver saldos" + write_transactions: "Crear transacciones" + api_keys: + show: + title: "Gestión de Claves API" + no_api_key: + title: "Clave API" + heading: "Accede a los datos de tu cuenta de forma programática" + description: "Obtén acceso programático a tus datos de Sure con una clave API segura." + what_you_can_do: "Qué puedes hacer con la API:" + feature_1: "Accede a los datos de tu cuenta de forma programática" + feature_2: "Crea integraciones y aplicaciones personalizadas" + feature_3: "Automatiza la recuperación y el análisis de datos" + security_note_title: "Seguridad Primero" + security_note: "Tu clave API tendrá permisos restringidos según los alcances que selecciones. Solo puedes tener una clave API activa a la vez." + create_api_key: "Crear Clave API" + current_api_key: + title: "Tu Clave API" + description: "Tu clave API activa está lista para usar. Mantenla segura y nunca la compartas públicamente." + active: "Activa" + key_name: "Nombre" + created_at: "Creada" + last_used: "Último uso" + expires: "Expira" + ago: "hace" + never_used: "Nunca usada" + never_expires: "Nunca expira" + permissions: "Permisos" + usage_instructions_title: "Cómo usar tu clave API" + usage_instructions: "Incluye tu clave API en el encabezado X-Api-Key al realizar solicitudes a la API de Maybe:" + regenerate_key: "Crear Nueva Clave" + revoke_key: "Revocar Clave" + revoke_confirmation: "¿Estás seguro de que deseas revocar esta clave API? Esta acción no se puede deshacer y deshabilitará inmediatamente todas las aplicaciones que usen esta clave." + new: + title: "Crear Clave API" + create_new_key: "Crear Nueva Clave API" + description: "Configura tu nueva clave API con un nombre descriptivo y permisos adecuados." + name_label: "Nombre de la Clave API" + name_placeholder: "p. ej., Aplicación de Producción, Panel de Análisis" + name_help: "Elige un nombre descriptivo para ayudarte a identificar el propósito de esta clave." + permissions_label: "Permisos" + permissions_help: "Selecciona los permisos que necesita tu clave API. Siempre puedes crear una nueva clave con permisos diferentes." + scope_details: + read_accounts: "Ver información de cuentas, saldos y datos a nivel de cuenta" + read_transactions: "Ver datos de transacciones, categorías y detalles de transacciones" + read_balances: "Ver datos históricos de saldos y tendencias de valor de cuentas" + write_transactions: "Crear y actualizar registros de transacciones (próximamente)" + security_warning_title: "Aviso Importante de Seguridad" + security_warning: "Tu clave API se mostrará solo una vez después de su creación. Guárdala de forma segura y nunca la compartas públicamente. Si la pierdes, tendrás que crear una nueva." + create_key: "Crear Clave API" + cancel: "Cancelar" + created: + title: "Clave API Creada" + success_title: "Clave API Creada con Éxito" + success_description: "Tu nueva clave API está lista para usar. Asegúrate de copiarla ahora, ya que no podrás verla nuevamente." + your_api_key: "Tu Clave API" + key_name: "Nombre" + permissions: "Permisos" + critical_warning_title: "Crítico: Guarda Tu Clave API Ahora" + critical_warning_1: "Esta es la única vez que verás tu clave API en texto plano." + critical_warning_2: "Cópiala y guárdala de forma segura en tu gestor de contraseñas o aplicación." + critical_warning_3: "Si pierdes esta clave, tendrás que crear una nueva." + usage_instructions_title: "Inicio Rápido" + usage_instructions: "Usa tu clave API incluyéndola en el encabezado X-Api-Key:" + copy_key: "Copiar Clave API" + continue: "Continuar a Configuración de Claves API" \ No newline at end of file diff --git a/config/locales/views/settings/es.yml b/config/locales/views/settings/es.yml new file mode 100644 index 000000000..e9d7d3ec4 --- /dev/null +++ b/config/locales/views/settings/es.yml @@ -0,0 +1,121 @@ +--- +es: + settings: + ai_prompts: + show: + page_title: Indicaciones de IA + openai_label: OpenAI + disable_ai: Desactivar Asistente de IA + prompt_instructions: Instrucciones de Indicaciones + main_system_prompt: + title: Indicaciones del Sistema Principal + subtitle: Instrucciones principales que definen cómo se comporta el asistente de IA en todas las conversaciones de chat + transaction_categorizer: + title: Categorizador de Transacciones + subtitle: La IA categoriza automáticamente tus transacciones según tus categorías definidas + merchant_detector: + title: Detector de Comerciantes + subtitle: La IA identifica y enriquece los datos de transacciones con información de comerciantes + billings: + show: + page_title: Facturación + subscription_subtitle: Actualiza tu suscripción y detalles de facturación + subscription_title: Gestionar suscripción + preferences: + show: + country: País + currency: Moneda + date_format: Formato de fecha + general_subtitle: Configura tus preferencias + general_title: General + default_period: Periodo Predeterminado + default_account_order: Orden Predeterminado de Cuentas + language: Idioma + page_title: Preferencias + theme_dark: Oscuro + theme_light: Claro + theme_subtitle: Elige un tema preferido para la aplicación + theme_system: Sistema + theme_title: Tema + timezone: Zona horaria + profiles: + destroy: + cannot_remove_self: No puedes eliminarte a ti mismo de la cuenta. + member_removal_failed: Hubo un problema al eliminar al miembro. + member_removed: El miembro fue eliminado con éxito. + not_authorized: No estás autorizado para eliminar miembros. + show: + confirm_delete: + body: ¿Estás seguro de que deseas eliminar permanentemente tu cuenta? Esta acción es irreversible. + title: ¿Eliminar cuenta? + confirm_reset: + body: ¿Estás seguro de que deseas restablecer tu cuenta? Esto eliminará todas tus cuentas, categorías, comerciantes, etiquetas y otros datos. Esta acción no se puede deshacer. + title: ¿Restablecer cuenta? + confirm_reset_with_sample_data: + body: ¿Estás seguro de que deseas restablecer tu cuenta y cargar datos de ejemplo? Esto eliminará tus datos existentes y los reemplazará con datos de demostración para que puedas explorar Sure de forma segura. + title: ¿Restablecer cuenta y cargar datos de ejemplo? + confirm_remove_invitation: + body: ¿Estás seguro de que deseas eliminar la invitación para %{email}? + title: Eliminar Invitación + confirm_remove_member: + body: ¿Estás seguro de que deseas eliminar a %{name} de tu cuenta? + title: Eliminar Miembro + danger_zone_title: Zona de Peligro + delete_account: Eliminar cuenta + delete_account_warning: Eliminar tu cuenta eliminará permanentemente todos tus datos y no se puede deshacer. + reset_account: Restablecer cuenta + reset_account_warning: Restablecer tu cuenta eliminará todas tus cuentas, categorías, comerciantes, etiquetas y otros datos, pero mantendrá tu cuenta de usuario intacta. + reset_account_with_sample_data: Restablecer y precargar + reset_account_with_sample_data_warning: Elimina todos tus datos existentes y luego carga nuevos datos de ejemplo para que puedas explorar con un entorno prellenado. + email: Correo electrónico + first_name: Nombre + household_form_input_placeholder: Introduce el nombre del hogar + household_form_label: Nombre del hogar + household_subtitle: Invita a miembros de la familia, socios y otras personas. Los invitados pueden iniciar sesión en tu hogar y acceder a tus cuentas compartidas. + household_title: Hogar + invitation_link: Enlace de invitación + invite_member: Añadir miembro + last_name: Apellido + page_title: Información del Perfil + pending: Pendiente + profile_subtitle: Personaliza cómo apareces en %{product} + profile_title: Personal + remove_invitation: Eliminar Invitación + remove_member: Eliminar Miembro + save: Guardar + securities: + show: + page_title: Seguridad + settings_nav: + accounts_label: Cuentas + advanced_section_title: Avanzado + ai_prompts_label: Indicaciones de IA + api_key_label: Clave API + billing_label: Facturación + categories_label: Categorías + feedback_label: Comentarios + general_section_title: General + imports_label: Importar/Exportar + logout: Cerrar sesión + merchants_label: Comerciantes + guides_label: Guías + other_section_title: Más + preferences_label: Preferencias + profile_label: Información del Perfil + recurring_transactions_label: Recurrentes + rules_label: Reglas + security_label: Seguridad + self_hosting_label: Autoalojamiento + tags_label: Etiquetas + transactions_section_title: Transacciones + whats_new_label: Novedades + api_keys_label: Clave API + bank_sync_label: Sincronización Bancaria + settings_nav_link_large: + next: Siguiente + previous: Atrás + user_avatar_field: + accepted_formats: JPG o PNG. Máx. 5MB. + choose: Subir foto + choose_label: (opcional) + change: Cambiar foto diff --git a/config/locales/views/settings/hostings/es.yml b/config/locales/views/settings/hostings/es.yml new file mode 100644 index 000000000..df51060cd --- /dev/null +++ b/config/locales/views/settings/hostings/es.yml @@ -0,0 +1,65 @@ +--- +es: + settings: + hostings: + invite_code_settings: + description: Controla cómo se registran nuevas personas en tu instancia de %{product}. + email_confirmation_description: Cuando está habilitado, los usuarios deben confirmar su dirección de correo electrónico al cambiarla. + email_confirmation_title: Requerir confirmación de correo electrónico + generate_tokens: Generar nuevo código + generated_tokens: Códigos generados + title: Incorporación + states: + open: Abierto + closed: Cerrado + invite_only: Solo con invitación + show: + general: Configuración General + financial_data_providers: Proveedores de Datos Financieros + invites: Códigos de Invitación + title: Autoalojamiento + danger_zone: Zona de Peligro + clear_cache: Limpiar caché de datos + clear_cache_warning: Limpiar la caché de datos eliminará todos los tipos de cambio, precios de valores, + saldos de cuentas y otros datos. Esto no eliminará cuentas, transacciones, categorías u otros datos propiedad del usuario. + confirm_clear_cache: + title: ¿Limpiar caché de datos? + body: ¿Estás seguro de que deseas limpiar la caché de datos? Esto eliminará todos los tipos de cambio, + precios de valores, saldos de cuentas y otros datos. Esta acción no se puede deshacer. + brand_fetch_settings: + description: Introduce el ID de Cliente proporcionado por Brand Fetch + label: ID de Cliente + placeholder: Introduce tu ID de Cliente aquí + title: Configuración de Brand Fetch + openai_settings: + description: Introduce el token de acceso y, opcionalmente, configura un proveedor compatible con OpenAI personalizado + env_configured_message: Configurado con éxito a través de variables de entorno. + access_token_label: Token de Acceso + access_token_placeholder: Introduce tu token de acceso aquí + uri_base_label: URL Base de la API (Opcional) + uri_base_placeholder: "https://api.openai.com/v1 (por defecto)" + model_label: Modelo (Opcional) + model_placeholder: "gpt-4.1 (por defecto)" + title: OpenAI + yahoo_finance_settings: + title: Yahoo Finance + description: Yahoo Finance proporciona acceso gratuito a precios de acciones, tipos de cambio y datos financieros sin necesidad de una clave API. + status_active: Yahoo Finance está activo y funcionando + status_inactive: La conexión con Yahoo Finance falló + connection_failed: No se pudo conectar con Yahoo Finance + troubleshooting: Verifica tu conexión a internet y la configuración del firewall. Yahoo Finance puede estar temporalmente no disponible. + twelve_data_settings: + api_calls_used: "%{used} / %{limit} llamadas diarias a la API utilizadas (%{percentage})" + description: Introduce la clave API proporcionada por Twelve Data + env_configured_message: Configurado con éxito a través de la variable de entorno TWELVE_DATA_API_KEY. + label: Clave API + placeholder: Introduce tu clave API aquí + plan: Plan %{plan} + title: Twelve Data + update: + failure: Valor de configuración inválido + success: Configuración actualizada + invalid_onboarding_state: Estado de incorporación inválido + clear_cache: + cache_cleared: La caché de datos ha sido limpiada. Esto puede tardar unos momentos en completarse. + not_authorized: No estás autorizado para realizar esta acción diff --git a/config/locales/views/settings/securities/es.yml b/config/locales/views/settings/securities/es.yml new file mode 100644 index 000000000..e5beff85e --- /dev/null +++ b/config/locales/views/settings/securities/es.yml @@ -0,0 +1,10 @@ +--- +es: + settings: + securities: + show: + disable_mfa: Deshabilitar 2FA + disable_mfa_confirm: ¿Estás seguro de que deseas deshabilitar la autenticación de 2FA? Esto hará que tu cuenta sea menos segura. + enable_mfa: Habilitar 2FA + mfa_description: Agrega una capa adicional de seguridad a tu cuenta al requerir un código de tu aplicación de autenticación al iniciar sesión + mfa_title: Autenticación de 2FA diff --git a/config/locales/views/shared/es.yml b/config/locales/views/shared/es.yml new file mode 100644 index 000000000..db6ceb073 --- /dev/null +++ b/config/locales/views/shared/es.yml @@ -0,0 +1,14 @@ +--- +es: + shared: + confirm_modal: + accept: Confirmar + body_html: "

No podrás deshacer esta decisión

" + cancel: Cancelar + title: ¿Estás seguro? + money_field: + label: Importe + syncing_notice: + syncing: Sincronizando datos de cuentas... + trend_change: + no_change: "sin cambios" diff --git a/config/locales/views/simplefin_items/es.yml b/config/locales/views/simplefin_items/es.yml new file mode 100644 index 000000000..2c682a142 --- /dev/null +++ b/config/locales/views/simplefin_items/es.yml @@ -0,0 +1,47 @@ +--- +es: + simplefin_items: + create: + success: ¡Conexión SimpleFin añadida con éxito! Tus cuentas aparecerán en breve mientras se sincronizan en segundo plano. + errors: + blank_token: Por favor, introduce un token de configuración de SimpleFin. + invalid_token: Token de configuración inválido. Por favor, verifica que has copiado el token completo desde SimpleFin Bridge. + token_compromised: El token de configuración puede estar comprometido, expirado o ya utilizado. Por favor, crea uno nuevo. + create_failed: "No se pudo conectar: %{message}" + unexpected: Ocurrió un error inesperado. Por favor, inténtalo de nuevo o contacta con soporte. + destroy: + success: La conexión SimpleFin será eliminada. + update: + success: ¡Conexión SimpleFin actualizada con éxito! Tus cuentas están siendo reconectadas. + errors: + blank_token: Por favor, introduce un token de configuración de SimpleFin. + invalid_token: Token de configuración inválido. Por favor, verifica que has copiado el token completo desde SimpleFin Bridge. + token_compromised: El token de configuración puede estar comprometido, expirado o ya utilizado. Por favor, crea uno nuevo. + update_failed: "No se pudo actualizar la conexión: %{message}" + unexpected: Ocurrió un error inesperado. Por favor, inténtalo de nuevo o contacta con soporte. + edit: + setup_token: + label: "Token de configuración de SimpleFin:" + placeholder: "Pega aquí tu token de configuración de SimpleFin..." + help_text: "El token debería ser una cadena larga que comienza con letras y números." + complete_account_setup: + success: ¡Las cuentas de SimpleFin se han configurado con éxito! Tus transacciones y activos se están importando en segundo plano. + simplefin_item: + add_new: Añadir nueva conexión + confirm_accept: Eliminar conexión + confirm_body: Esto eliminará permanentemente todas las cuentas de este grupo y todos los datos asociados. + confirm_title: ¿Eliminar conexión SimpleFin? + delete: Eliminar + deletion_in_progress: "(eliminación en progreso...)" + error: Ocurrió un error al sincronizar los datos + no_accounts_description: Esta conexión aún no tiene cuentas sincronizadas. + no_accounts_title: No se encontraron cuentas + requires_update: Requiere reautenticación + setup_needed: Nuevas cuentas listas para configurar + setup_description: Elige los tipos de cuenta para tus nuevas cuentas importadas de SimpleFin. + setup_action: Configurar nuevas cuentas + status: Última sincronización hace %{timestamp} + status_never: Nunca sincronizado + status_with_summary: "Última sincronización hace %{timestamp} • %{summary}" + syncing: Sincronizando... + update: Actualizar conexión \ No newline at end of file diff --git a/config/locales/views/subscriptions/es.yml b/config/locales/views/subscriptions/es.yml new file mode 100644 index 000000000..fc786b894 --- /dev/null +++ b/config/locales/views/subscriptions/es.yml @@ -0,0 +1,4 @@ +--- +es: + subscriptions: + self_hosted_alert: "%{product_name} no está disponible en modo autoalojado." diff --git a/config/locales/views/tag/deletions/es.yml b/config/locales/views/tag/deletions/es.yml new file mode 100644 index 000000000..ebdbf0adc --- /dev/null +++ b/config/locales/views/tag/deletions/es.yml @@ -0,0 +1,14 @@ +--- +es: + tag: + deletions: + create: + deleted: Etiqueta eliminada + new: + delete_and_leave_uncategorized: Eliminar "%{tag_name}" + delete_and_recategorize: Eliminar "%{tag_name}" y asignar nueva etiqueta + delete_tag: ¿Eliminar etiqueta? + explanation: "%{tag_name} será eliminado de las transacciones y otras entidades etiquetables. + En lugar de dejarlos sin etiqueta, también puedes asignar una nueva etiqueta a continuación." + replacement_tag_prompt: Seleccionar etiqueta + tag: Etiqueta diff --git a/config/locales/views/tags/es.yml b/config/locales/views/tags/es.yml new file mode 100644 index 000000000..a79552640 --- /dev/null +++ b/config/locales/views/tags/es.yml @@ -0,0 +1,23 @@ +--- +es: + tags: + create: + created: Etiqueta creada + error: 'Error al crear la etiqueta: %{error}' + destroy: + deleted: Etiqueta eliminada + edit: + edit: Editar etiqueta + form: + placeholder: Nombre de la etiqueta + index: + empty: Aún no hay etiquetas + new: Nueva etiqueta + tags: Etiquetas + new: + new: Nueva etiqueta + tag: + delete: Eliminar + edit: Editar + update: + updated: Etiqueta actualizada diff --git a/config/locales/views/trades/es.yml b/config/locales/views/trades/es.yml new file mode 100644 index 000000000..44198fb57 --- /dev/null +++ b/config/locales/views/trades/es.yml @@ -0,0 +1,38 @@ +--- +es: + trades: + form: + account: Cuenta de transferencia (opcional) + account_prompt: Buscar cuenta + amount: Importe + holding: Símbolo del ticker + price: Precio por acción + qty: Cantidad + submit: Añadir transacción + ticker_placeholder: AAPL + type: Tipo + header: + buy: Comprar + current_market_price_label: Precio de mercado actual + overview: Resumen + purchase_price_label: Precio de compra + purchase_qty_label: Cantidad comprada + sell: Vender + symbol_label: Símbolo + total_return_label: Ganancia/pérdida no realizada + new: + title: Nueva transacción + show: + additional: Adicional + cost_per_share_label: Costo por acción + date_label: Fecha + delete: Eliminar + delete_subtitle: Esta acción no se puede deshacer + delete_title: Eliminar operación + details: Detalles + exclude_subtitle: Esta operación no se incluirá en informes y cálculos + exclude_title: Excluir de los análisis + note_label: Nota + note_placeholder: Añade aquí cualquier nota adicional... + quantity_label: Cantidad + settings: Configuración diff --git a/config/locales/views/transactions/es.yml b/config/locales/views/transactions/es.yml new file mode 100644 index 000000000..fc542f110 --- /dev/null +++ b/config/locales/views/transactions/es.yml @@ -0,0 +1,82 @@ +--- +es: + transactions: + form: + account: Cuenta + account_prompt: Selecciona una cuenta + amount: Importe + category: Categoría + category_prompt: Selecciona una categoría + date: Fecha + description: Descripción + description_placeholder: Describe la transacción + expense: Gasto + income: Ingreso + none: (ninguno) + note_label: Notas + note_placeholder: Introduce una nota + submit: Añadir transacción + tags_label: Etiquetas + transfer: Transferencia + new: + new_transaction: Nueva transacción + show: + account_label: Cuenta + amount: Importe + category_label: Categoría + date_label: Fecha + delete: Eliminar + delete_subtitle: Esto eliminará permanentemente la transacción, afectará tus saldos históricos y no se podrá deshacer. + delete_title: Eliminar transacción + details: Detalles + merchant_label: Comerciante + name_label: Nombre + nature: Tipo + none: "(ninguno)" + note_label: Notas + note_placeholder: Introduce una nota + overview: Resumen + settings: Configuración + tags_label: Etiquetas + uncategorized: "(sin categorizar)" + header: + edit_categories: Editar categorías + edit_imports: Editar importaciones + edit_merchants: Editar comerciantes + edit_tags: Editar etiquetas + import: Importar + index: + transaction: transacción + transactions: transacciones + searches: + filters: + amount_filter: + equal_to: Igual a + greater_than: Mayor que + less_than: Menor que + placeholder: '0' + badge: + expense: Gasto + income: Ingreso + on_or_after: en o después de %{date} + on_or_before: en o antes de %{date} + transfer: Transferencia + type_filter: + expense: Gasto + income: Ingreso + transfer: Transferencia + menu: + account_filter: Cuenta + amount_filter: Importe + apply: Aplicar + cancel: Cancelar + category_filter: Categoría + clear_filters: Limpiar filtros + date_filter: Fecha + merchant_filter: Comerciante + tag_filter: Etiqueta + type_filter: Tipo + search: + equal_to: igual a + greater_than: mayor que + less_than: menor que diff --git a/config/locales/views/transfers/es.yml b/config/locales/views/transfers/es.yml new file mode 100644 index 000000000..f16061fa3 --- /dev/null +++ b/config/locales/views/transfers/es.yml @@ -0,0 +1,30 @@ +--- +es: + transfers: + create: + success: Transferencia creada + destroy: + success: Transferencia eliminada + form: + amount: Importe + date: Fecha + expense: Gasto + from: Desde + income: Ingreso + select_account: Seleccionar cuenta + submit: Crear transferencia + to: Hacia + transfer: Transferencia + new: + title: Nueva transferencia + show: + delete: Eliminar transferencia + delete_subtitle: Esto eliminará la transferencia. No se eliminarán las transacciones subyacentes. + delete_title: ¿Eliminar transferencia? + details: Detalles + note_label: Notas + note_placeholder: Añade una nota a esta transferencia + overview: Resumen + settings: Configuración + update: + success: Transferencia actualizada diff --git a/config/locales/views/users/es.yml b/config/locales/views/users/es.yml new file mode 100644 index 000000000..54ef054d3 --- /dev/null +++ b/config/locales/views/users/es.yml @@ -0,0 +1,16 @@ +--- +es: + users: + destroy: + success: Tu cuenta ha sido eliminada. + update: + email_change_failed: No se pudo cambiar la dirección de correo electrónico. + email_change_initiated: Por favor, revisa tu nueva dirección de correo electrónico + para obtener instrucciones de confirmación. + success: Tu perfil ha sido actualizado. + reset: + success: Tu cuenta ha sido restablecida. Los datos se eliminarán en segundo plano en algún momento. + unauthorized: No estás autorizado para realizar esta acción. + reset_with_sample_data: + success: Tu cuenta ha sido restablecida y se están preparando datos de muestra. + Verás datos de demostración en breve. diff --git a/config/locales/views/valuations/es.yml b/config/locales/views/valuations/es.yml new file mode 100644 index 000000000..ef47eb33c --- /dev/null +++ b/config/locales/views/valuations/es.yml @@ -0,0 +1,30 @@ +--- +es: + valuations: + form: + amount: Importe + submit: Añadir actualización de saldo + header: + balance: Saldo + index: + change: cambio + date: fecha + new_entry: Nueva entrada + no_valuations: Aún no hay valoraciones para esta cuenta + valuations: Valor + value: valor + new: + title: Nuevo saldo + show: + amount: Importe + date_label: Fecha + delete: Eliminar + delete_subtitle: Esta acción no se puede deshacer + delete_title: Eliminar entrada + details: Detalles + name_label: Nombre + name_placeholder: Introduce un nombre para esta entrada + note_label: Notas + note_placeholder: Añade cualquier detalle adicional sobre esta entrada + overview: Resumen + settings: Configuración diff --git a/config/locales/views/vehicles/es.yml b/config/locales/views/vehicles/es.yml new file mode 100644 index 000000000..24f8a58d6 --- /dev/null +++ b/config/locales/views/vehicles/es.yml @@ -0,0 +1,25 @@ +--- +es: + vehicles: + edit: + edit: Editar %{account} + form: + make: Marca + make_placeholder: Toyota + mileage: Kilometraje + mileage_placeholder: '15000' + mileage_unit: Unidad + model: Modelo + model_placeholder: Camry + year: Año + year_placeholder: '2025' + new: + title: Introduce los detalles del vehículo + overview: + current_price: Precio actual + make_model: Marca y modelo + mileage: Kilometraje + purchase_price: Precio de compra + trend: Tendencia + unknown: Desconocido + year: Año