diff --git a/src/gui/src/i18n/translations/es.js b/src/gui/src/i18n/translations/es.js
index 8ff49e19..2de11e0b 100644
--- a/src/gui/src/i18n/translations/es.js
+++ b/src/gui/src/i18n/translations/es.js
@@ -17,72 +17,162 @@
* along with this program. If not, see .
*/
+/**
+ * Traslation notes:
+ * - Change all "Email" to "Correo electrónico"
+ * - puter_description the most acurated translation for "privacy-first personal cloud" I could think of is "servicio de nube personal enfocado en privacidad"
+ * - plural_suffix: 's' has no direct translation to spanish. There are multiple plural suffix in spanish 'as' || "es" || "os || "s". Leave "s" as it is only been used on item: 'elemento' and will end up as 'elementos'
+*/
+
const es = {
name: "Español",
english_name: "Spanish",
code: "es",
dictionary: {
+ about: "Acerca De",
+ account: "Cuenta",
+ account_password: "Verifica Contraseña De La Cuenta",
access_granted_to: "Acceso Permitido A",
add_existing_account: "Añadir una cuenta existente",
all_fields_required: 'Todos los campos son obligatorios.',
+ allow: 'Permitir',
apply: "Aplicar",
ascending: 'Ascendiente',
+ associated_websites: "Sitios Web Asociados",
+ auto_arrange: 'Organización Automática',
background: "Fondo",
browse: "Buscar",
cancel: 'Cancelar',
center: 'Centrar',
change_desktop_background: 'Cambiar el fondo de pantalla…',
+ change_email: "Cambiar Correo Electrónico",
change_language: "Cambiar Idioma",
change_password: "Cambiar Contraseña",
+ change_ui_colors: "Cambiar colores de la interfaz",
change_username: "Cambiar Nombre de Usuario",
+ close: 'Cerrar',
close_all_windows: "Cerrar todas las ventanas",
+ close_all_windows_confirm: "¿Estás seguro de que quieres cerrar todas las ventanas?",
+ close_all_windows_and_log_out: 'Cerrar ventanas y cerrar sesión',
+ change_always_open_with: "¿Quieres abrir siempre este tipo de archivos con",
color: 'Color',
- confirm_account_for_free_referral_storage_c2a: 'Crea una cuenta y confirma tu dirección de email para recibir 1 GB de almacenamiento gratuito. Tu amigo recibirá 1 GB de almacenamiento gratuito también.',
+ confirm: 'Confirmar',
+ confirm_2fa_setup: 'He añadido el código a mi aplicación de autenticación',
+ confirm_2fa_recovery: 'He guardado mis códigos de recuperación en un lugar seguro',
+ confirm_account_for_free_referral_storage_c2a: 'Crea una cuenta y confirma tu correo electrónico para recibir 1 GB de almacenamiento gratuito. Tu amigo recibirá 1 GB de almacenamiento gratuito también.',
+ confirm_code_generic_incorrect: "Código incorrecto.",
+ confirm_code_generic_too_many_requests: "Too many requests. Please wait a few minutes.",
+ confirm_code_generic_submit: "Enviar código",
+ confirm_code_generic_try_again: "Intenta nuevamente",
+ confirm_code_generic_title: "Enter Confirmation Code",
+ confirm_code_2fa_instruction: "Ingresa los 6 dígitos de tu aplicación de autenticación.",
+ confirm_code_2fa_submit_btn: "Enviar",
+ confirm_code_2fa_title: "Ingrese el código de 2FA",
+ confirm_delete_multiple_items: '¿Estás seguro de que quieres eliminar permanentemente estos elementos?',
+ confirm_delete_single_item: '¿Quieres eliminar este elemento permanentemente?',
+ confirm_open_apps_log_out: 'Tienes aplicaciones abiertas.¿Estás seguro de que quieres cerrar sesión?',
confirm_new_password: "Confirma la Nueva Contraseña",
+ confirm_delete_user: "¿Estás seguro que quieres borrar esta cuenta? Todos tus archivos e información serán borrados permanentemente. Esta acción no se puede deshacer.",
+ confirm_delete_user_title: "¿Eliminar cuenta?",
+ confirm_session_revoke: "¿Estás seguro de que quieres revocar esta sesión?",
+ confirm_your_email_address: "Confirma tu dirección de correo electrónico",
contact_us: "Contáctanos",
+ contact_us_verification_required: "Debes tener un correo electrónico verificado para usar esto.",
contain: 'Contiene',
continue: "Continuar",
copy: 'Copiar',
copy_link: "Copiar Enlace",
copying: "Copiando",
+ copying_file: "Copiando %%",
cover: 'Cubrir',
create_account: "Crear una cuenta",
create_free_account: "Crear una cuenta gratuita",
create_shortcut: "Crear un acceso directo",
+ credits: "Creditos",
current_password: "Contraseña actual",
cut: 'Cortar',
+ clock: "Reloj",
+ clock_visible_hide: 'Ocultar - Siempre oculto',
+ clock_visible_show: 'Mostrar - Siempre visible',
+ clock_visible_auto: 'Auto - Por defecto, visible solo en modo pantalla completa.',
+ close_all: 'Cerrar todo',
+ created: 'Creado',
date_modified: 'Fecha de modificación',
+ default: 'Por defecto',
delete: 'Borrar',
+ delete_account: "Borrar cuenta",
delete_permanently: "Borrar permanentemente",
+ deleting_file: "Eliminando %%",
deploy_as_app: 'Desplegar como una aplicación',
descending: 'Descendiente',
- desktop_background_fit: "Llenar",
- dir_published_as_website: `%strong% ha sido publicado a:`,
+ desktop: 'Escritorio',
+ desktop_background_fit: "Ajustar",
+ developers: "Desarrolladores",
+ dir_published_as_website: `%strong% ha sido publicado en:`,
+ disable_2fa: 'Deshabilitar 2FA',
+ disable_2fa_confirm: "¿Estás seguro que quieres deshabilitar 2FA?",
+ disable_2fa_instructions: "Ingresa tu contraseña para deshabilitar 2FA.",
disassociate_dir: "Desvincular directorio",
+ documents: 'Documentos',
+ dont_allow: 'No permitir',
download: 'Descargar',
+ download_file: 'Descargar archivo',
downloading: "Descargando",
- email: "Email",
- email_or_username: "Email o Nombre de Usuario",
+ email: "Correo electrónico",
+ email_change_confirmation_sent: "Se ha enviado un mensaje de confirmación a tu nueva dirección de correo electrónico. Por favor, revisa tu bandeja de entrada y sigue las instrucciónes para completar el proceso.",
+ email_invalid: 'El correo electrónico no es válido.',
+ email_or_username: "Correo electrónico o Nombre de Usuario",
+ email_required: 'El correo electrónico es obligatorio.',
empty_trash: 'Vaciar la papelera',
empty_trash_confirmation: `¿Estás seguro de que quieres borrar permanentemente todos los elementos de la Papelera?`,
emptying_trash: 'Vaciando la papelera…',
- feedback: "Feedback",
- feedback_c2a: "Por favor, usa el formulario para enviarnos tu feedback, comentario y reportar bugs.",
- feedback_sent_confirmation: "Gracias por ponerte en contacto con nosotros. Si tienes un email vinculado con la cuenta, nos pondremos en contacto contigo tan pronto como podamos.",
- forgot_pass_c2a: "¿Contraseña olvidada?",
+ enable_2fa: 'Habilitar 2FA',
+ end_hard: "Finalizar abruptamente",
+ end_process_force_confirm: "¿Estás seguro de que quieres forzar la salida de este proceso?",
+ end_soft: "Finalizar suavemente",
+ enlarged_qr_code: "Código QR ampliado",
+ enter_password_to_confirm_delete_user: "Ingresa tu contraseña para confirmar la eliminación de la cuenta",
+ error_message_is_missing: "Falta el mensaje de error.",
+ error_unknown_cause: "Un error desconocido a ocurrido.",
+ error_uploading_files: "Error al subir archivos",
+ favorites: "Favoritos",
+ feedback: "Sugerencias",
+ feedback_c2a: "Por favor, usa el formulario para enviarnos tus sugerencias, comentarios y reporte de errores.",
+ feedback_sent_confirmation: "Gracias por ponerte en contacto con nosotros. Si tienes un correo electrónico vinculado a esta cuenta, nos pondremos en contacto contigo tan pronto como podamos.",
+ fit: "Ajustar",
+ folder: 'Carpeta',
+ force_quit: 'Forzar cierre',
+ forgot_pass_c2a: "¿Olvidaste tu contraseña?",
from: "De",
general: "General",
get_a_copy_of_on_puter: `¡Consigue una copia de '%%' en Puter.com!`,
get_copy_link: 'Copiar el enlace',
- hide_all_windows: "Ocultar Todas las Ventanas",
+ hide_all_windows: "Ocultar todas las ventanas",
+ home: 'Inicio',
html_document: 'Documento HTML',
+ hue: 'Hue',
image: 'Imagen',
+ incorrect_password: "Contraseña incorrecta",
invite_link: "Enlace de invitación",
+ item: 'elemento',
items_in_trash_cannot_be_renamed: `Este elemento no se puede renombrar porque está en la papelera. Para cambiar el nombre de este archivo, primero extráelo fuera de la misma.`,
jpeg_image: 'Imagen JPEG',
- keep_in_taskbar: 'Fijar a la barra de tareas',
+ keep_in_taskbar: 'Mantener en la barra de tareas',
+ language: "Lenguage",
+ license: "Licencia",
+ lightness: 'Claridad',
+ link_copied: "Enlace copiado",
+ loading: 'Cargando',
log_in: "Iniciar sesión",
+ log_into_another_account_anyway: 'Iniciar sesión en otra cuenta de todos modos',
log_out: 'Cerrar sesión',
+ looks_good: "Se ve bien!",
+ manage_sessions: "Administrar sesión",
+ menubar_style: "Estilo de la barra de menú",
+ menubar_style_desktop: "Escritorio",
+ menubar_style_system: "Sistema",
+ menubar_style_window: "Ventana",
+ modified: 'Modified',
move: 'Mover',
moving_file: "Moviendo %%",
my_websites: "Mis páginas web",
@@ -94,74 +184,174 @@ const es = {
name_must_be_string: "El nombre debe ser una cadena de texto.",
name_too_long: `El nombre no puede tener más de %% caracteres.`,
new: 'Nuevo',
+ new_email: 'Nuevo correo electrónico',
new_folder: 'Nueva carpeta',
new_password: "Nueva contraseña",
new_username: "Nuevo nombre de usuario",
+ no: 'No',
no_dir_associated_with_site: 'No hay un directorio vinculado con esta dirección.',
- no_websites_published: "No has publicado ninguna página web todavía.",
+ no_websites_published: "Aun no has publicado ningún sitio web. Haz click derecho en una carpeta para empezar",
ok: 'OK',
open: "Abrir",
- open_in_new_tab: "Abrir en una Nueva Pestaña",
- open_in_new_window: "Abrir en una Nueva Ventana",
- open_with: "Abrir Con",
+ open_in_new_tab: "Abrir en una nueva pestaña",
+ open_in_new_window: "Abrir en una nueva ventana",
+ open_with: "Abrir con",
+ original_name: 'Nombre original',
+ original_path: 'Ruta original',
+ oss_code_and_content: "Software y contenido de código abierto",
password: "Contraseña",
password_changed: "Contraseña cambiada.",
- passwords_do_not_match: '`Nueva Contraseña` y `Confirmar Nueva Contraseña` no coincide.',
+ password_recovery_rate_limit: "Haz alcanzado nuestra tasa de refresco; por favor espera unos minutos. Para evitar esto en el futuro, evita refrescar la página muchas veces.",
+ password_recovery_token_invalid: "La contraseña de token de recuperación ya no es válida.",
+ password_recovery_unknown_error: "Ocurrió un error desconocido. Por favor, inténtalo de nuevo más tarde.",
+ password_required: 'La contraseña es obligatoria.',
+ password_strength_error: "La contraseña debe tener almenos 8 caracteres de largo y contener almenos una letra mayúscula, una minúscula, un numero, y un caracter especial.",
+ passwords_do_not_match: '`Nueva Contraseña` y `Confirmar Nueva Contraseña` no coinciden.',
paste: 'Pegar',
paste_into_folder: "Pegar en la Carpeta",
+ path: 'Ruta',
+ personalization: "Personalización",
pick_name_for_website: "Escoge un nombre para tu página web:",
picture: "Imagen",
+ pictures: 'Imagenes',
+ plural_suffix: 's',
powered_by_puter_js: `Creado por {{link=docs}}Puter.js{{/link}}`,
preparing: "Preparando...",
preparing_for_upload: "Preparando para la subida...",
+ print: 'Imprimir',
+ privacy: "Privacidad",
+ proceed_to_login: 'Procede a iniciar sesión',
+ proceed_with_account_deletion: "Procede con la eliminación de la cuenta",
+ process_status_initializing: "Inicializando",
+ process_status_running: "El ejecución",
+ process_type_app: 'Aplicación',
+ process_type_init: 'Inicialización',
+ process_type_ui: 'Interfaz de usuario',
properties: "Propiedades",
+ public: 'Publico',
publish: "Publicar",
publish_as_website: 'Publicar como página web',
+ puter_description: `Puter es un servicio de nube personal enfocado en privacidad que mantiene tus archivos, aplicaciónes, y juegos en un solo lugar, accesible desde cualquier lugar en cualquier momento.`,
+ reading_file: "Leyendo %strong%",
recent: "Reciente",
+ recommended: "Recomendado",
recover_password: "Recuperar Contraseña",
refer_friends_c2a: "Consigue 1 GB por cada amigo que cree y confirme una cuenta en Puter ¡Tu amigo recibirá 1GB también!",
refer_friends_social_media_c2a: `¡Consigue 1 GB de almacenamiento gratuito en Puter.com!`,
refresh: 'Refrescar',
- release_address_confirmation: `¿Estás seguro de liberar esta dirección?`,
+ release_address_confirmation: `¿Estás seguro de que quieres liberar esta dirección?`,
remove_from_taskbar:'Eliminar de la barra de tareas',
rename: 'Renombrar',
repeat: 'Repetir',
+ replace: 'Remplazar',
+ replace_all: 'Replace All',
resend_confirmation_code: "Reenviar Código de Confirmación",
+ reset_colors: "Restablecer colores",
+ restart_puter_confirm: "¿Estás seguro que deseas reiniciar Puter?",
restore: "Restaurar",
+ save: 'Guardar',
+ saturation: 'Saturación',
+ save_account: 'Guardar cuenta',
save_account_to_get_copy_link: "Por favor, crea una cuenta para continuar.",
save_account_to_publish: 'Por favor, crea una cuenta para continuar.',
+ save_session: 'Guardar sesión',
save_session_c2a: 'Crea una cuenta para guardar tu sesión actual y evitar así perder tu trabajo.',
- scan_qr_c2a: 'Escanea el código de debajo e inicia sesión desde otros dispositivos',
+ scan_qr_c2a: 'Escanee el código a continuación para inicia sesión desde otros dispositivos',
+ scan_qr_2fa: 'Escanee el codigo QR con su aplicación de autenticación',
+ scan_qr_generic: 'Scan this QR code using your phone or another device',
+ search: 'Buscar',
+ seconds: 'segundos',
+ security: "Seguridad",
select: "Seleccionar",
+ selected: 'seleccionado',
select_color: 'Seleccionar color…',
+ sessions: "Sesión",
send: "Enviar",
send_password_recovery_email: "Enviar la contraseña al correo de recuperación",
session_saved: "Gracias por crear una cuenta. La sesión ha sido guardada.",
set_new_password: "Establecer una nueva contraseña",
- share_to: "Compartir con",
+ settings: "Opciones",
+ share: "Compartir",
+ share_to: "Compartir a",
+ share_with: "Compartir con:",
+ shortcut_to: "Acceso directo a",
show_all_windows: "Mostrar todas las ventanas",
show_hidden: 'Mostrar ocultos',
sign_in_with_puter: "Inicia sesión con Puter",
sign_up: "Registrarse",
signing_in: "Registrándose…",
size: 'Tamaño',
+ skip: 'Saltar',
+ something_went_wrong: "Algo salió mal.",
sort_by: 'Ordenar Por',
start: 'Inicio',
- taking_longer_than_usual: 'Tardando un poco más de lo usual. Por favor, espere...',
+ status: "Estado",
+ storage_usage: "Uso del almacenamiento",
+ storage_puter_used: 'Usado por Puter',
+ taking_longer_than_usual: 'Tardando un poco más de lo habitual. Por favor, espere...',
+ task_manager: "Administrador de tareas",
+ taskmgr_header_name: "Nombre",
+ taskmgr_header_status: "Estado",
+ taskmgr_header_type: "Tipo",
+ terms: "Terminos",
text_document: 'Documento de Texto',
- tos_fineprint: `Pulsando sobre 'Crear una cuenta gratuita' aceptas los {{link=terms}}términos del servicio{{/link}} de Puter y {{link=privacy}}la política de privacidad{{/link}}.`,
+ tos_fineprint: `Al hacer clic en 'Crear una cuenta gratuita' aceptas los {{link=terms}}términos del servicio{{/link}} y {{link=privacy}}la política de privacidad{{/link}} de Puter.`,
+ transparency: "Transparencia",
trash: 'Papelera',
+ two_factor: 'Autenticación de dos factores',
+ two_factor_disabled: '2FA Deshabilitadp',
+ two_factor_enabled: '2FA Habilitado',
type: 'Tipo',
+ type_confirm_to_delete_account: "Ingrese 'Confirmar' para borrar esta cuenta.",
+ ui_colors: "Colores de interfaz",
+ ui_manage_sessions: "Administrador de sesión",
+ ui_revoke: "Revocar",
undo: 'Deshacer',
+ unlimited: 'Ilimitado',
unzip: "Descomprimir",
upload: 'Subir',
upload_here: 'Subir aquí',
+ usage: 'Uso',
username: "Nombre de usuario",
username_changed: 'Nombre de usuario actualizado correctamente.',
+ username_required: 'El nombre de usuario es obligatorio.',
versions: "Versiones",
- yes_release_it: 'Sí, liberar',
+ videos: 'Videos',
+ visibility: 'Visibilidad',
+ yes: 'Si',
+ yes_release_it: 'Sí, libéralo',
you_have_been_referred_to_puter_by_a_friend: "¡Has sido invitado a Puter por un amigo!",
- zip: "Comprimir en Zip",
+ zip: "Zip",
+ zipping_file: "Compriminendo %strong%",
+
+ // === 2FA Setup ===
+ setup2fa_1_step_heading: 'Abre tu aplicación de autenticación',
+ setup2fa_1_instructions: `
+ Puedes usar cualquier aplicación de autenticación que soporte el protocolo de Time-based One-time (TOTP).
+ Hay muchos para elegir, pero si no estas seguro
+ Authy
+ es una opción segura para Android y iOS.
+ `,
+ setup2fa_2_step_heading: 'Escanea el código QR',
+ setup2fa_3_step_heading: 'Ingresa el código de 6 dígitos',
+ setup2fa_4_step_heading: 'Copiar tus códigos de recuperación',
+ setup2fa_4_instructions: `
+ Estos códigos de recuperación son la única forma de acceder a tu cuenta, si pierdes tu teléfono o no puedes usar la aplicación de autenticación.
+ Asegurate de guardarlos en un lugar seguro.
+ `,
+ setup2fa_5_step_heading: 'Confirmar la configuración de 2FA',
+ setup2fa_5_confirmation_1: 'He guardado mis códigos de recuperación en un lugar seguro',
+ setup2fa_5_confirmation_2: 'Estoy listo para habilitar 2FA',
+ setup2fa_5_button: 'Habilitar 2FA',
+
+ // === 2FA Login ===
+ login2fa_otp_title: 'Ingresar el código 2FA',
+ login2fa_otp_instructions: 'Ingresa tu código de 6 dígitos de tu aplicación de autenticación.',
+ login2fa_recovery_title: 'Ingresa tu código de recuperación',
+ login2fa_recovery_instructions: 'Ingresa uno de tus códigos de recuperación para acceder a tu cuenta.',
+ login2fa_use_recovery_code: 'Usar un código de recuperación',
+ login2fa_recovery_back: 'Atras',
+ login2fa_recovery_placeholder: 'XXXXXXXX',
}
};