From ca734cf9504e829d59f7139175764d14d0e79a9f Mon Sep 17 00:00:00 2001 From: ellite Date: Tue, 6 Feb 2024 11:39:34 +0100 Subject: [PATCH] Add Spanish language files --- includes/i18n/es.php | 195 ++++++++++++++++++++++++++++++++++++ includes/i18n/languages.php | 7 +- scripts/i18n/es.js | 34 +++++++ 3 files changed, 233 insertions(+), 3 deletions(-) create mode 100644 includes/i18n/es.php create mode 100644 scripts/i18n/es.js diff --git a/includes/i18n/es.php b/includes/i18n/es.php new file mode 100644 index 0000000..a580600 --- /dev/null +++ b/includes/i18n/es.php @@ -0,0 +1,195 @@ + "Necesitas crear una cuenta antes de poder iniciar sesión", + 'username' => "Nombre de Usuario", + 'password' => "Contraseña", + "email" => "Correo Electrónico", + "confirm_password" => "Confirmar Contraseña", + "main_currency" => "Moneda Principal", + "language" => "Idioma", + "passwords_dont_match" => "Las contraseñas no coinciden", + "registration_failed" => "Error en el registro, por favor inténtalo de nuevo.", + "register" => "Registrar", + // Login Page + 'please_login' => "Por favor, inicia sesión", + 'stay_logged_in' => "Mantener sesión iniciada (30 días)", + 'login' => "Iniciar Sesión", + 'login_failed' => "Los detalles de inicio de sesión son incorrectos", + // Header + 'subscriptions' => "Suscripciones", + 'stats' => "Estadísticas", + 'settings' => "Configuración", + 'about' => "Acerca de", + 'logout' => "Cerrar Sesión", + // Subscriptions page + "subscription" => "Suscripción", + "no_subscriptions_yet" => "Aún no tienes ninguna suscripción", + "add_first_subscription" => "Añadir primera suscripción", + 'new_subscription' => "Nueva Suscripción", + 'sort' => "Ordenar", + 'name' => "Nombre", + 'last_added' => "Última Añadida", + 'price' => "Precio", + 'next_payment' => "Próximo Pago", + 'member' => "Miembro", + 'category' => "Categoría", + 'payment_method' => "Método de Pago", + "Daily" => "Diario", + "Weekly" => "Semanal", + "Monthly" => "Mensual", + "Yearly" => "Anual", + "days" => "días", + "weeks" => "semanas", + "months" => "meses", + "years" => "años", + "external_url" => "Visitar URL Externa", + "empty_page" => "Página Vacía", + // Subscription form + "add_subscription" => "Añadir suscripción", + "edit_subscription" => "Editar suscripción", + "subscription_name" => "Nombre de la Suscripción", + "logo_preview" => "Vista Previa del Logotipo", + "search_logo" => "Buscar logotipo en la web", + "web_search" => "Búsqueda web", + "currency" => "Moneda", + "billing_cycle" => "Ciclo de Facturación", + "frequency" => "Frecuencia", + "cycle" => "Ciclo", + "next_payment" => "Próximo Pago", + "payment_method" => "Método de Pago", + "no_category" => "Sin categoría", + "paid_by" => "Pagado por", + "url" => "URL", + "notes" => "Notas", + "enable_notifications" => "Habilitar notificaciones para esta suscripción", + "delete" => "Eliminar", + "cancel" => "Cancelar", + "upload_logo" => "Cargar Logotipo", + // Statistics page + 'general_statistics' => "Estadísticas Generales", + 'active_subscriptions' => "Suscripciones Activas", + 'monthly_cost' => "Costo Mensual", + 'yearly_cost' => "Costo Anual", + 'average_monthly' => "Costo Promedio Mensual de Suscripción", + 'most_expensive' => "Costo de Suscripción Más Caro", + 'amount_due' => "Monto a pagar este mes", + 'split_views' => "Vistas Divididas", + 'category_split' => "División por Categoría", + 'household_split' => "División por Hogar", + // About page + 'about_and_credits' => "Acerca de y Créditos", + 'license' => "Licencia", + 'issues_and_requests' => "Problemas y Solicitudes", + 'the_author' => "El autor", + 'icons' => "Iconos", + 'payment_icons' => "Iconos de Pago", + // Settings page + 'user_details' => "Detalles del Usuario", + "household" => "Hogar", + "save_member" => "Guardar Miembro", + "delete_member" => "Eliminar Miembro", + "cant_delete_member" => "No se puede eliminar el miembro principal", + "cant_delete_member_in_use" => "No se puede eliminar el miembro en uso en la suscripción", + "notifications" => "Notificaciones", + "enable_email_notifications" => "Habilitar notificaciones por correo electrónico", + "notify_me" => "Notificarme", + "day_before" => "día antes", + "days_before" => "días antes", + "smtp_address" => "Dirección SMTP", + "port" => "Puerto", + "smtp_username" => "Nombre de usuario SMTP", + "smtp_password" => "Contraseña SMTP", + "from_email" => "Correo electrónico de origen (Opcional)", + "smtp_info" => "La contraseña SMTP se transmite y almacena en texto plano. Por seguridad, crea una cuenta solo para esto.", + "categories" => "Categorías", + "save_category" => "Guardar Categoría", + "delete_category" => "Eliminar Categoría", + "cant_delete_category_in_use" => "No se puede eliminar la categoría en uso en la suscripción", + "currencies" => "Monedas", + "save_currency" => "Guardar Moneda", + "delete_currency" => "Eliminar Moneda", + "cant_delete_main_currency" => "No se puede eliminar la moneda principal", + "cant_delete_currency_in_use" => "No se puede eliminar la moneda en uso en la suscripción", + "exchange_update" => "Tasas de cambio actualizadas por última vez en", + "currency_info" => "Encuentra las monedas admitidas y los códigos de moneda correctos en", + "currency_performance" => "Para un rendimiento mejorado, guarda solo las monedas que uses.", + "fixer_api_key" => "API Key de Fixer", + "api_key" => "API Key", + "fixer_info" => "Si usas varias monedas y deseas estadísticas y orden precisos en las suscripciones, es necesaria una API KEY gratuita de Fixer.", + "get_key" => "Obtén tu clave en", + "display_settings" => "Configuración de Pantalla", + "switch_theme" => "Cambiar entre Tema Claro / Oscuro", + "calculate_monthly_price" => "Calcular y mostrar el precio mensual de todas las suscripciones", + "convert_prices" => "Convertir y mostrar siempre los precios en mi moneda principal (más lento)", + "experimental_settings" => "Configuraciones Experimentales", + "remove_background" => "Intentar quitar el fondo de los logotipos de la búsqueda de imágenes (experimental)", + "experimental_info" => "Las configuraciones experimentales probablemente no funcionarán perfectamente.", + "payment_methods" => "Métodos de Pago", + "payment_methods_info" => "Haz clic en un método de pago para deshabilitarlo/habilitarlo.", + "cant_delete_payment_method_in_use" => "No se puede desactivar el método de pago utilizado", + "disable" => "Desactivar", + "enable" => "Activar", + "test" => "Probar", + "add" => "Agregar", + "save" => "Guardar", + // Toast + "success" => "Éxito", + // Endpoint responses + "session_expired" => "Tu sesión ha expirado. Por favor, inicia sesión nuevamente", + "fields_missing" => "Faltan algunos campos", + "fill_all_fields" => "Por favor, completa todos los campos", + "fill_mandatory_fields" => "Por favor, completa todos los campos obligatorios", + "error" => "Error", + // Category + "failed_add_category" => "Error al agregar la categoría", + "failed_edit_category" => "Error al editar la categoría", + "category_in_use" => "La categoría está en uso en suscripciones y no se puede eliminar", + "failed_remove_category" => "Error al eliminar la categoría", + "category_saved" => "Categoría guardada", + "category_removed" => "Categoría eliminada", + // Currency + "currency_saved" => "fue guardada.", + "error_adding_currency" => "Error al añadir la entrada de la moneda.", + "failed_to_store_currency" => "Error al almacenar la moneda en la base de datos.", + "currency_in_use" => "La moneda está en uso en suscripciones y no se puede eliminar.", + "currency_is_main" => "La moneda está establecida como moneda principal y no se puede eliminar.", + "failed_to_remove_currency" => "Error al eliminar la moneda de la base de datos.", + "failed_to_store_api_key" => "Error al almacenar la API KEY en la base de datos.", + "invalid_api_key" => "API KEY no válida.", + "api_key_saved" => "API KEY guardada con éxito", + "currency_removed" => "Moneda eliminada", + // Household + "failed_add_household" => "Error al añadir miembro del hogar", + "failed_edit_household" => "Error al editar miembro del hogar", + "failed_remove_household" => "Error al eliminar miembro del hogar", + "household_in_use" => "El miembro del hogar está en uso en suscripciones y no se puede eliminar", + "member_saved" => "Miembro guardado", + "member_removed" => "Miembro eliminado", + // Notifications + "error_saving_notifications" => "Error al guardar los datos de notificaciones.", + "wallos_notification" => "Notificación de Wallos", + "test_notification" => "Esta es una notificación de prueba. Si estás viendo esto, la configuración es correcta.", + "email_error" => "Error al enviar correo electrónico", + "notification_sent_successfuly" => "Notificación enviada con éxito", + "notifications_settings_saved" => "Configuración de notificaciones guardada con éxito.", + // Payments + "payment_in_use" => "No se puede desactivar el método de pago utilizado", + "failed_update_payment" => "Error al actualizar el método de pago en la base de datos", + "enabled" => "habilitado", + "disabled" => "desactivado", + // Subscription + "error_fetching_image" => "Error al obtener la imagen", + "subscription_updated_successfuly" => "Suscripción actualizada con éxito", + "subscription_added_successfuly" => "Suscripción añadida con éxito", + "error_deleting_subscription" => "Error al eliminar la suscripción.", + "invalid_request_method" => "Método de solicitud no válido.", + // User + "error_updating_user_data" => "Error al actualizar los datos del usuario.", + "user_details_saved" => "Detalles del usuario guardados", + +]; + + +?> \ No newline at end of file diff --git a/includes/i18n/languages.php b/includes/i18n/languages.php index 54b652e..6a34003 100644 --- a/includes/i18n/languages.php +++ b/includes/i18n/languages.php @@ -3,11 +3,12 @@ $languages = [ "en" => "English", - "pt" => "Português", - "fr" => "Français", "de" => "Deutsch", - "zh_cn" => "简体中文", + "es" => "Español", + "fr" => "Français", "jp" => "日本語", + "pt" => "Português", + "zh_cn" => "简体中文", ] ?> diff --git a/scripts/i18n/es.js b/scripts/i18n/es.js new file mode 100644 index 0000000..a2eb639 --- /dev/null +++ b/scripts/i18n/es.js @@ -0,0 +1,34 @@ +let i18n = { + // Dashboard + error_reloading_subscription: "Error al recargar la suscripción:", + error_fetching_image_results: "Error al obtener resultados de imágenes:", + subscription_deleted: "Suscripción eliminada", + error_deleting_subscription: "Error al eliminar la suscripción", + failed_to_load_subscription: "Error al cargar la suscripción", + edit_subscription: "Editar suscripción", + add_subscription: "Añadir suscripción", + // Settings + network_response_error: "Error en la respuesta de la red", + failed_add_member: "Error al añadir miembro", + member: "Miembro", + save_member: "Guardar miembro", + delete_member: "Eliminar miembro", + failed_remove_member: "Error al eliminar miembro", + failed_save_member: "Error al guardar miembro", + failed_add_category: "Error al añadir categoría", + category: "Categoría", + save_category: "Guardar categoría", + delete_category: "Eliminar categoría", + failed_remove_category: "Error al eliminar categoría", + currency: "Moneda", + currency_code: "Código de moneda", + save_currency: "Guardar moneda", + delete_currency: "Eliminar moneda", + failed_remove_currency: "Error al eliminar moneda", + failed_save_currency: "Error al guardar moneda", + cant_disable_payment_in_use: "No se puede desactivar el método de pago en uso", + failed_save_payment_method: "Error al guardar el método de pago", + unknown_error: "Error desconocido, por favor inténtalo de nuevo.", + error_saving_notification_data: "Error al guardar los datos de notificación", + error_sending_notification: "Error al enviar la notificación", +}