diff --git a/packages/i18n/src/locales/es/base.yaml b/packages/i18n/src/locales/es/base.yaml index 441028db2..78a4f78b9 100644 --- a/packages/i18n/src/locales/es/base.yaml +++ b/packages/i18n/src/locales/es/base.yaml @@ -20,12 +20,12 @@ prompt: CALL format: <{'|'}CALL {'["name"]'}{'|'}> or <{'|'}CALL {'["name", {"key":"value"}]'}{'|'}> Use CALL only when the current task or connected module explicitly asks you to emit a named call, for example <{'|'}CALL {'["chess.play"]'}{'|'}>. The available emotions: suffix: | - The available actions: + Las acciones disponibles: - - <{'|'}DELAY 1{'|'}> (Delay for 1 second) - - <{'|'}DELAY 3{'|'}> (Delay for 3 seconds) + - <{'|'}DELAY 1{'|'}> (Retraso por 1 segundo) + - <{'|'}DELAY 3{'|'}> (Retraso por 3 segundos) - And the last, do what ever you want! + Y el último, ¡Haz lo que quieras! toaster: pwaUpdateReady: message: Nueva versión lista, ¿recargar ahora? diff --git a/packages/i18n/src/locales/es/server/auth.yaml b/packages/i18n/src/locales/es/server/auth.yaml index cdb7283a3..6cd805b8d 100644 --- a/packages/i18n/src/locales/es/server/auth.yaml +++ b/packages/i18n/src/locales/es/server/auth.yaml @@ -9,9 +9,9 @@ electronCallback: message: checkingResponse: Comprobando su respuesta de inicio de sesión y preparando el handoff para AIRI. passingToAiri: Passing your sign-in back to AIRI now. This page should close in a moment. - syncedAndSafeToClose: We notified AIRI client you signed from. + syncedAndSafeToClose: Hemos notificado al cliente de AIRI del que firmó. invalidResponse: No pudimos utilizar esta respuesta de inicio de sesión. - loopbackUnreachable: The browser could not reach AIRI through the local callback port. + loopbackUnreachable: El navegador no pudo acceder a AIRI a través del puerto de devolución de llamada local. tryOpenDirectly: Intentaremos abrir el handoff local directamente. Si esto todavía falla, utilice el botón de abajo. automaticHandoffFailed: El handoff automático no ha finalizado en esta sesión del navegador. label: @@ -66,7 +66,7 @@ signIn: footer: prefix: Al continuar, aceptas nuestros terms: Términos - and: y + and: 'y' privacy: Política de Privacidad verifyEmail: title: @@ -95,12 +95,12 @@ forgotPassword: fallback: No se pudo enviar el correo electrónico de reinicio. deleteAccount: title: - success: Account deleted - failed: Could not delete account + success: Cuenta eliminada + failed: No se pudo eliminar tu cuenta message: - success: Your account has been deleted. + success: Tu cuenta ha sido eliminada. action: - closeTab: You can close this tab. + closeTab: Puedes cerrar esta pestaña. resetPassword: title: default: Establecer nueva contraseña @@ -113,79 +113,79 @@ resetPassword: placeholder: Repetir contraseña action: reset: Actualizar contraseña - goSignIn: Go to sign in + goSignIn: Ir a iniciar sesión message: - success: Your password has been updated. Sign in with your new password. + success: Su contraseña ha sido actualizada. Inicie sesión con su nueva contraseña. error: - fallback: We could not update your password. - missingToken: Reset link is invalid or has expired. - passwordMismatch: Password and confirmation do not match. + fallback: No pudimos actualizar tu contraseña. + missingToken: El enlace de reinicio no es válido o ha caducado. + passwordMismatch: Las contraseñas no coinciden. profile: - title: Account profile - description: Manage your avatar, display name, and connected accounts. + title: Perfil de cuenta + description: Administre su avatar, nombre para mostrar y cuentas conectadas. section: - profile: Profile + profile: Perfil avatar: Avatar - password: Password - linkedAccounts: Connected accounts + password: Contraseña + linkedAccounts: Cuentas conectadas field: - email: Email - emailVerified: Email status - createdAt: Joined + email: Correo electrónico + emailVerified: Estado del correo electrónico + createdAt: Unido label: - verified: Verified - unverified: Unverified + verified: Verificado + unverified: Sin verificar name: - label: Display name - placeholder: How others see you + label: Nombre para mostrar + placeholder: Cómo otros te ven avatar: - altText: Profile avatar - gravatarNotice: Avatar from Gravatar. - gravatarLink: Manage on gravatar.com + altText: Avatar de perfil + gravatarNotice: Avatar de Gravatar. + gravatarLink: Gestionar en gravatar.com password: - currentLabel: Current password - currentPlaceholder: Enter your current password - newLabel: New password - newPlaceholder: At least 8 characters - confirmLabel: Confirm new password - confirmPlaceholder: Repeat your new password - setDescription: You signed in via a social provider, so there is no current password yet. We'll email a secure link to set one. - setLinkSent: Check {email} for the link to set your password. - setLinkFailed: We could not send the password setup link. + currentLabel: Contraseña actual + currentPlaceholder: Introduce tu contraseña actual + newLabel: Nueva contraseña + newPlaceholder: Mínimo 8 caracteres + confirmLabel: Confirmar nueva contraseña + confirmPlaceholder: Repite tu nueva contraseña + setDescription: Has iniciado sesión a través de un proveedor social, así que no hay contraseña actual todavía. Te enviaremos un enlace seguro para establecer una. + setLinkSent: Revisa {email} para ver el enlace para establecer tu contraseña. + setLinkFailed: No se pudo enviar el enlace de configuración de contraseña. linkedAccounts: - description: Sign in to AIRI through these providers. Unlink to revoke access, then link again to switch to a different account. + description: Inicia sesión en AIRI a través de estos proveedores. Desvinculate para revocar el acceso y vuelve a enlazar para cambiar a una cuenta diferente. status: - linked: Linked - notLinked: Not linked - linkedSince: Linked on {date} + linked: Vinculado + notLinked: No vinculado + linkedSince: Vinculado el {date} action: - link: Link - unlink: Unlink + link: Vincular + unlink: Desvincular message: - loading: Loading connected accounts... - unlinked: '{provider} disconnected.' - linkStarted: Redirecting to {provider}… + loading: Cargando cuentas conectadas... + unlinked: '{provider} desconectado.' + linkStarted: Redirigiendo a {provider}… error: - listFailed: Could not load connected accounts. - unlinkFailed: Could not unlink this account. - linkFailed: Could not start the link flow. - lastAccount: This is your only sign-in method. Set a password first before unlinking it. + listFailed: No se pudo cargar las cuentas conectadas. + unlinkFailed: No se pudo desvincular esta cuenta. + linkFailed: No se pudo iniciar el flujo de vinculación. + lastAccount: Este es su único método de inicio de sesión. Establezca primero una contraseña antes de desvincularla. action: - saveProfile: Save changes - changePassword: Change password - sendSetPasswordLink: Email me a link to set my password - signOut: Sign out + saveProfile: Guardar cambios + changePassword: Cambiar contraseña + sendSetPasswordLink: Envíame un enlace para establecer mi contraseña + signOut: Cerrar sesión message: - loading: Loading your profile... - profileSaved: Profile updated. - passwordChanged: Password changed. Other sessions have been signed out. + loading: Cargando tu perfil... + profileSaved: Perfil actualizado. + passwordChanged: Contraseña cambiada. Otras sesiones han sido desconectadas. error: - loadFailed: We could not load your profile. - saveFailed: We could not save your changes. - changePasswordFailed: We could not change your password. - signOutFailed: We could not sign you out. - passwordMismatch: New password and confirmation do not match. - passwordSameAsCurrent: New password must differ from the current one. + loadFailed: No pudimos cargar tu perfil. + saveFailed: No pudimos guardar sus cambios. + changePasswordFailed: No pudimos cambiar tu contraseña. + signOutFailed: No pudimos cerrar la sesión. + passwordMismatch: Las contraseñas no coinciden. + passwordSameAsCurrent: La nueva contraseña debe ser diferente de la actual. webCallback: title: signIn: Iniciar sesión diff --git a/packages/i18n/src/locales/es/settings.yaml b/packages/i18n/src/locales/es/settings.yaml index 1b4a786a9..c28fe0c22 100644 --- a/packages/i18n/src/locales/es/settings.yaml +++ b/packages/i18n/src/locales/es/settings.yaml @@ -10,7 +10,7 @@ animations: dialogs: onboarding: official: - title: AIRI Official Provider + title: Proveedor Oficial de AIRI title: '¡Bienvenido a AIRI!' description: Configuremos tu primer proveedor de IA para comenzar. selectProvider: Elige un Proveedor de IA @@ -107,18 +107,18 @@ analytics: title: Analíticas desactivadas para esta versión de desarrollo model-select: panel-callout: - support-status-header: We support both 2D and 3D models + support-status-header: Soportamos tanto modelos 2D como 3D support-status: > Click {select-button} to select or import models. Currently, {zip} (for Live2D models) and {vrm} (for VRM models) are supported. model-type-example: > Neuro-sama uses 2D model driven by framework developed by Live2D Inc, while Grok Ani (in Grok Companion) uses 3D model driven by VRM / MMD open formats. select-model: - title: Model Selector - button: Select model - select: Pick - import: Import - remove: Remove - confirm: Confirm + title: Selector de modelo + button: Seleccionar modelo + select: Seleccionar + import: Importar + remove: Eliminar + confirm: Confirmar live2d: change-model: from-file: Cargar desde Archivo @@ -148,58 +148,58 @@ live2d: button-extract: title: Extraer animation: - title: Animation + title: Animación focus: - title: Enable mouse tracking + title: Habilitar Seguimiento del Ratón description: Look at the cursor while it is moving. Idle eye movement resumes after the cursor stops. - offset: Eye offset(%) + offset: Desplazamiento ocular (%) force-idle-eye-animation: - title: Idle eye movement + title: Movimiento ojo inactivo description: Randomly look around when there is no active cursor focus. blink-enable: - title: Enable blink - description: Let the model blink. + title: Habilitar parpadeo + description: Dejar que el modelo parpadee. auto-blink: - title: Auto + title: Automático description: Use default blinking animation of the model force-auto-blink: - title: Force + title: Forzar description: Force blinking animation with external timer blink-mode: - title: Blink mode + title: Modo parpadeo description: Choose the model built-in blink or AIRI's forced blink timer. idle-motion: - title: Idle animation - no-motion: No animation available - placeholder: Select animation - disable-motion: Disabled - disable-motion-description: Disable idle animation + title: Animación inactiva + no-motion: No hay animación disponible + placeholder: Seleccionar animación + disable-motion: Desactivado + disable-motion-description: Desactivar animación inactiva parameters: - title: Model Parameters + title: Parámetros del modelo render-scale: - title: Render scale + title: Escala de renderizado fps: title: FPS - description: Limit rendering frame rate + description: Limitar velocidad de fotogramas options: unlimited: '∞' shadow: Drop shadow - reset-parameters: Reset to default parameters + reset-parameters: Restablecer valores predeterminados clear-model-cache: Clear model cache expressions: - title: Expressions - override-toggle: Expression system + title: Expresiones + override-toggle: Sistema de Expresión sdk-preset-preserved-notice: > SDK expression manager and eye blink are preserved when disabled. - no-expression: No expressions available for this model. + no-expression: No hay expresiones disponibles para este modelo. llm-integration-wip: LLM tool integration is not yet wired up. - save-default: Save expression defaults - reset: Reset all expressions - expose-to-llm-toggle: Expose to LLM + save-default: Guardar expresiones por defecto + reset: Restablecer todas las expresiones + expose-to-llm-toggle: Exponer a LLM expose-to-llm-options: - none: None - all: All - custom: Custom + none: Nada + all: Todo + custom: Personalizado microphone: Micrófono models: Modelo pages: @@ -220,8 +220,8 @@ pages: label: Mostrar nombre placeholder: Cómo otros te ven avatar: - gravatarNotice: Avatar from Gravatar. - gravatarLink: Manage on gravatar.com + gravatarNotice: Avatar de Gravatar. + gravatarLink: Gestionar en gravatar.com action: save: Guardar cambios message: @@ -229,25 +229,25 @@ pages: error: fallback: No pudimos guardar sus cambios. connections: - tab: Connected accounts - title: Connected accounts + tab: Cuentas conectadas + title: Cuentas conectadas description: Sign in to AIRI through these providers. Unlink to revoke access, then link again to switch to a different account. status: - linked: Linked - notLinked: Not linked - linkedSince: Linked on {date} + linked: Vinculado + notLinked: No vinculado + linkedSince: Enlazado en {date} action: - link: Link - unlink: Unlink + link: Vincular + unlink: Desvincular message: - loading: Loading connected accounts... - unlinked: '{provider} disconnected.' - linked: '{provider} connected.' - linkStarted: Redirecting to {provider}… + loading: Cargando cuentas conectadas... + unlinked: '{provider} desconectado.' + linked: '{provider} conectado.' + linkStarted: Redirigiendo a {provider}… error: - listFailed: Could not load connected accounts. - unlinkFailed: Could not unlink this account. - linkFailed: Could not start the link flow. + listFailed: No se pudo cargar las cuentas conectadas. + unlinkFailed: No se pudo desvincular esta cuenta. + linkFailed: No se pudo iniciar el flujo de vinculación. lastAccount: This is your only sign-in method. Set a password first before unlinking it. security: tab: Seguridad @@ -265,13 +265,13 @@ pages: placeholder: Repite tu nueva contraseña action: changePassword: Cambiar contraseña - sendSetLink: Email me a link to set my password + sendSetLink: Envíame un enlace para establecer mi contraseña message: changed: Contraseña cambiada. Otras sesiones han sido desconectadas. - setLinkSent: Check {email} for the link to set your password. + setLinkSent: Revisa {email} para ver el enlace para establecer tu contraseña. error: fallback: No pudimos cambiar tu contraseña. - setLinkFailed: We could not send the password setup link. + setLinkFailed: No se pudo enviar el enlace de configuración de contraseña. passwordMismatch: Las contraseñas no coinciden. passwordSameAsCurrent: La nueva contraseña debe ser diferente de la actual. danger: @@ -280,21 +280,21 @@ pages: description: Irreversible account actions live here. deleteAccount: title: Eliminar cuenta - description: Permanently delete your account and personal data. - action: Delete account + description: Elimina permanentemente tu cuenta y tus datos personales. + action: Eliminar cuenta modal: - title: Delete account? - warning: This cannot be undone. Active subscription will be canceled, Flux balance cleared. + title: '¿Eliminar cuenta?' + warning: Esto no se puede deshacer. Se cancelará la suscripción activa, se limpiará el saldo de Flux. confirmEmail: - label: Type your email to confirm + label: Escriba su correo electrónico para confirmar placeholder: '' - mismatch: Email does not match. - confirm: Send confirmation email - cancel: Cancel + mismatch: El correo electrónico no coincide. + confirm: Enviar correo de confirmación + cancel: Cancelar message: - emailSent: Check {email} for the deletion link. + emailSent: Compruebe {email} para el enlace de eliminación. error: - fallback: Could not start deletion. Try again later. + fallback: No se pudo iniciar la eliminación. Inténtalo de nuevo más tarde. card: activate: Activar active: Activo @@ -365,7 +365,7 @@ pages: systemprompt: 'Error: Por favor, proporciona un prompt del sistema.' posthistoryinstructions: 'Error: Se requiere un prompt post-historial.' invalid_artistry_json: 'Error: Artistry provider options contains invalid JSON.' - none: None + none: Nada modules: Módulos name_asc: Nombre (A-Z) name_desc: Nombre (Z-A) @@ -518,14 +518,14 @@ pages: description: Use cloud-based models via the Replicate API. nanobanana: name: Nano Banana (Vista previa) - description: Use Google AI Studio for image preview and reactions. + description: Utilice Google AI Studio para previsualizar imágenes y reacciones. card: description: Configure how AIRI generates images and visual content. comfyui_empty: No ComfyUI workflows configured. Go to Settings → Providers → ComfyUI to upload a workflow template. - exposed_fields: '{count} exposed fields' + exposed_fields: 'Campos expuestos {count}' open_on_replicate: Abrir al replicar instruction_sync: - title: ComfyUI Instruction Sync + title: Sincronización de Instrucción de ComfyUI description: A specialized prompt is ready for your {workflowName} workflow. Applying this will overwrite current widget instructions so the AI knows how to use this specific template. apply: Apply Recommended Prompt keep: Mantener existente @@ -534,31 +534,31 @@ pages: label: Manifestation Mode (Spawn Mode) description: Choose how images are delivered to the interface. options: - bg: Background Environment - inline: Inline Chat + bg: Entorno de fondo + inline: Chat en línea widget: Overlay Widget bg_widget: Dual (Background + Widget) autonomous: - title: Cinematic Autonomy (Autonomous Artist) + title: Autonomía cinemática (Artista Autonómico) description: When enabled, the "Producer" runs in parallel to the character to decide if a visual is needed. This prevents the character from forgetting to manifest scenes. - threshold: Manifestation Threshold + threshold: Umbral de Manifestación threshold_description: Use {min} for aggressive scene creation or {max} to require stronger evidence before generating. threshold_min: Generar siempre (0%) - threshold_max: Strict (100%) + threshold_max: Estricto (100%) model: - label: Artistry Model (Optional Override) + label: Modelo de Artistry (Anulación opcional) description: Model identifier if needed by provider prompt-prefix: label: Artistry Prompt Default Prefix description: Pre-pended to every prompt sent to the image generator. options: - label: Artistry Provider Options (JSON) + label: Opciones de Proveedor de Artistry (JSON) widget-instructions: label: Widget System Prompt description: Custom instructions for the AI on how to use the generation capabilities. categories: - essential: Essential - messaging: Messaging + essential: Esencial + messaging: Mensajería gaming: Gaming artistry: Artistry consciousness: @@ -624,18 +624,18 @@ pages: runtime: title: connection: Conexión - latest-context: Latest bot context + latest-context: Último contexto del bot waiting: Waiting for a fresh bot-originated context push. - unknown: Unknown + unknown: Desconocido debug: - title: Minecraft traffic - empty: No Minecraft traffic observed yet. - source: 'Source: {source}' + title: Tráfico de Minecraft + empty: Aún no se ha observado tráfico de Minecraft. + source: 'Fuente: {source}' status: service-online: Servicio online service-offline: Servicio offline - no-runtime-context: No bot context observed yet - last-context-seconds: 'Last bot context: {seconds}s ago' + no-runtime-context: Ningún contexto de bot observado aún + last-context-seconds: 'Último contexto del bot: Hace {seconds}s' last-context-stale: 'Last bot context: Stale' hearing: description: Configurar cómo funciona el reconocimiento de voz @@ -645,10 +645,10 @@ pages: provider-selection: description: Selecciona el proveedor de reconocimiento de voz adecuado confidence-threshold: - title: Confidence Threshold + title: Umbral de confianza description: >- Filter out low-confidence transcriptions to reduce Whisper hallucinations. Values closer to 0 are more strict; drag to the leftmost to disable. Only effective for providers supporting Whisper API (e.g., OpenAI, Groq). - disabled: Disabled + disabled: Desactivado verbose-json-note: >- Note: If your provider does not support verbose_json responses, this setting will have no effect. verbose-json-unsupported: >- @@ -679,6 +679,12 @@ pages: select-voice: loading: Cargando modelo... required: Por favor selecciona una voz + voice-pack: + description: Select a curated voice for the active character + empty: No Voice Packs available + error: Error loading Voice Packs + loading: Loading Voice Packs... + title: Voice Pack provider-voice-selection: custom_model_placeholder: Ingresa el nombre del modelo personalizado... custom_voice_placeholder: Ingresa el ID de voz personalizado... @@ -730,92 +736,92 @@ pages: access-token-secret-placeholder: Ingrese su secreto de token de acceso de X / Twitter configured: '¡X / Twitter está configurado correctamente!' mcp-server: - title: MCP servers - description: Configure MCP servers and bring their tools into AIRI. - config-path: Config file + title: Servidores MCP + description: Configure los servidores MCP y traiga sus herramientas a AIRI. + config-path: Archivo de configuración runtime-title: Estado de ejecución empty: No MCP servers yet — click "Add server" below to create one, or paste a config via "Edit JSON". - error-title: Oops - success-title: Done! + error-title: Ups + success-title: '¡Hecho!' existing: - title: Configured - description: Servers recorded in mcp.json. Click any row to expand and edit it. - empty: Nothing here yet. Add one below! + title: Configurado + description: Servidores grabados en mcp.json. Haga clic en cualquier fila para expandirla y editarla. + empty: No hay nada aquí todavía. ¡Añade una abajo! add: - title: New + title: Nuevo description: "Fill in a new server, then click \"Save and restart\" — it'll move into \"Configured\" above." - pending-badge: Unsaved + pending-badge: Sin guardar status: - unknown: not loaded + unknown: no se ha cargado actions: - open-config: Reveal in file manager - apply-and-restart: Save and restart - restart: Restart MCP - add-server: Add server - add-env: Add var - remove: Remove - test: Test - edit-json: Edit JSON - close-json: Close - format-json: Format - reset-draft: Reset - apply-json: Apply - cancel: Cancel - expand: Expand - collapse: Collapse + open-config: Mostrar en el gestor de archivos + apply-and-restart: Guardar y reiniciar + restart: Reiniciar MCP + add-server: Agregar servidor + add-env: Añadir variable + remove: Eliminar + test: Probar + edit-json: Editar JSON + close-json: Cerrar + format-json: Formato + reset-draft: Restablecer + apply-json: Aplicar + cancel: Cancelar + expand: Expandir + collapse: Contraer fields: identifier: - label: Identifier - description: Unique name; becomes the key in mcp.json. - placeholder: e.g. filesystem + label: Identificador + description: Nombre único; se convierte en la clave en mcp.json. + placeholder: ej. sistema de archivos command: - label: Command + label: Comando description: Executable spawned over stdio. - placeholder: e.g. npx + placeholder: ej. npx args: - label: Arguments - description: One per line, in order. - placeholder: "-y\nsome-package-name\n/tmp" + label: Argumentos + description: Una por línea, en orden. + placeholder: "-y\nalgun-nombre-de-paquete\n/tmp" cwd: - label: Working directory + label: Directorio de trabajo description: Optional directory used as the process working directory. - placeholder: e.g. /Users/you/project + placeholder: ej. /Users/you/project env: - label: Environment - description: Vars passed to the child process. - key-placeholder: KEY - value-placeholder: value + label: Entorno + description: Las variables pasaron al proceso hijo. + key-placeholder: CLAVE + value-placeholder: valor enabled: - label: Enabled + label: Habilitado json: - title: Edit mcp.json + title: Editar mcp.json description: 'Edit the raw JSON directly. Click "Apply" to load it into the form, then "Save and restart" to write it to disk.' - placeholder: Paste mcp.json here… + placeholder: Pegar mcp.json aquí… test: - title: Test connection + title: Probar conexión description: We'll spawn the server briefly to check the command works and see what tools it exposes. - pick-server-label: Server - no-servers: Nothing to test yet - no-server-selected: Pick a server first. - server-disabled: '"{name}" is disabled — enable it on the card first.' - disabled-suffix: disabled - untitled: untitled - running: Testing… - success: Connected! Found {count} tools in {ms}ms. - failure: Connection failed after {ms}ms + pick-server-label: Servidor + no-servers: Nada para probar aún + no-server-selected: Escoge un servidor primero. + server-disabled: '"{name}" está deshabilitado — actívalo en la tarjeta primero.' + disabled-suffix: desactivado + untitled: intitulado + running: Probando… + success: '¡Conectado! Se encontraron {count} herramientas en {ms}ms.' + failure: Conexión fallida después de {ms}ms errors: - empty-identifier: Server # {index} is missing an identifier. - duplicate-identifier: Identifier "{name}" is used more than once — names need to be unique. - empty-command: '"{name}" is missing a command.' + empty-identifier: Servidor # {index} is missing an identifier. + duplicate-identifier: El identificador "{name}" se utiliza más de una vez — los nombres deben ser únicos. + empty-command: '"{name}" no tiene un comando.' invalid-shape: That doesn't look like a valid mcp.json — the root needs an "mcpServers" field. messages: - opened: Opened {path} in your file manager + opened: Abierto {path} en tu gestor de archivos json-applied: JSON applied to the form. Click "Save and restart" to persist it to disk. - restarted: All restarted! {started} started, {failed} failed, {skipped} skipped. + restarted: '¡Todo reiniciado! {started} iniciado, {failed} falló, {skipped} omitido.' flux: title: Flujo buy: Cobro - currency: Currency + currency: Divisa description: Flujo actual packagesError: Error al cargar paquetes. Por favor, inténtalo de nuevo más tarde. checkout: @@ -831,7 +837,7 @@ pages: typeAddition: Recargar typeConsumption: Uso typeInitial: Oferta inicial - typePromo: Promo Grant + typePromo: Subsidio de Promoción loading: Cargando historial... empty: No hay registros de transacción todavía. loadMore: Cargar más @@ -940,12 +946,12 @@ pages: labels: recommended: Recomendado filters: - pricing: Pricing - deployment: Deployment + pricing: Precios + deployment: Despliegue all: Todo free: Gratis paid: Pagado - internal: Internal + internal: Interno local: Local cloud: Nube categories: @@ -953,7 +959,7 @@ pages: title: Chat description: Proveedores de modelos de generación de texto. ej. OpenRouter, OpenAI, Ollama. speech: - title: Speech + title: Habla description: Speech (text-to-speech) model providers. e.g. ElevenLabs, Azure Speech. transcription: title: Transcripción @@ -964,11 +970,11 @@ pages: description: Image generation and design model providers. e.g. ComfyUI, Replicate. items: comfyui: - description: Local image generation runner. + description: Corredor local de generación de imágenes. replicate: - description: Cloud-based model inference service. + description: Servicio de inferencia de modelo basado en la nube. nanobanana: - description: Google AI Studio Image Preview. + description: Vista previa de imágenes de Google AI Studio. helpinfo: title: '¿Primera vez aquí?' description: > @@ -1004,7 +1010,7 @@ pages: description: Clave API Bedrock de Amazon (generar en la consola AWS → Bedrock → Claves API) placeholder: bedrock-... region: - label: AWS Region + label: Región de AWS description: AWS region where Bedrock is enabled (e.g. us-east-1, us-west-2) anthropic: description: anthropic.com @@ -1056,7 +1062,7 @@ pages: comfyui: settings: title: ConfyUI (local) - heading: ComfyUI Native API + heading: API nativa de ComfyUI description: Connect to your local ComfyUI and bring your own workflows. info: what_you_need: @@ -1066,7 +1072,7 @@ pages: label: Cómo exportar value: Enable Dev Mode → "Save (API Format)". scope_boundary: - label: Scope Boundary + label: Límite de alcance value: Model downloads & node installs are your job. connection: title: Conexión @@ -1075,48 +1081,48 @@ pages: error_prefix: Error test: Probar testing: Probando... - unknown_error: Unknown connection error - unknown_gpu: Unknown GPU + unknown_error: Error de conexión desconocido + unknown_gpu: GPU desconocida server_url: - label: Server URL - description: The address where ComfyUI is running + label: URL de servidor + description: La dirección donde se ejecuta ComfyUI placeholder: http://localhost:8188 cors: - title: CORS Block Detected + title: Bloque de CORS detectado description: ComfyUI blocks requests from other applications by default. To allow AIRI to connect, you must start ComfyUI with the `--enable-cors-header "*"` flag. command: python main.py --enable-cors-header "*" workflows: - title: Workflow Templates - upload: Upload Workflow - cancel_upload: Cancel + title: Plantillas de flujo de trabajo + upload: Subir flujo de trabajo + cancel_upload: Cancelar empty: No workflows uploaded yet. Click "Upload Workflow" to import a workflow_api.json from ComfyUI. - exposed_parameters: Exposed Parameters - summary: '{nodes} nodes · {fields} exposed fields' - remove: Remove - config_snippet: Artistry Config Snippet - copy_json: Copy JSON + exposed_parameters: Parámetros expuestos + summary: '{nodes} nodos · {fields} campos expuestos' + remove: Eliminar + config_snippet: Snippet de configuración de Artistry + copy_json: Copiar JSON paste_hint: Paste this into your AIRI Card artistry config to override these nodes. upload: - prompt: Drop or select a workflow_api.json file - invalid_json: Invalid JSON + prompt: Soltar o seleccionar un archivo workflow_api.json + invalid_json: JSON inválido workflow_name: - label: Workflow Name - description: Give this workflow a recognizable name - placeholder: e.g. Anime Text2Img - select_fields: 'Select fields to expose to the AI agent:' - fields_exposed: '{count} field(s) exposed' - save: Save Workflow + label: Nombre del Flujo de Trabajo + description: Dar a este workflow un nombre reconocible + placeholder: ej. Anime Text2Img + select_fields: 'Seleccionar campos para exponer al agente de IA:' + fields_exposed: '{count} campo(s) expuestos' + save: Guardar flujo de trabajo replicate: settings: title: Replicate.ai - heading: Replicate.ai Configuration - description: Configure your cloud image generation settings. + heading: Configuración de Replicate.ai + description: Configure la configuración de generación de imágenes en la nube. api_key: - label: API Key - description: Your Replicate API token (starts with r8_) - placeholder: r8_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + label: Clave API + description: Tu token API de replicación (comienza con r8_) + placeholder: r8_XXXXXXXXXXXXXXXXXXXXXXXXXXXX default_model: - label: Default Model + label: Modelo por defecto description: Fallback owner/model string to use if the character card doesn't specify one placeholder: black-forest-labs/flux-schnell aspect_ratio: @@ -1124,7 +1130,7 @@ pages: description: Relación de aspecto por defecto de la imagen (por ejemplo, 16:9, 1:1, 9:16) placeholder: '16:9' inference_steps: - label: Inference Steps + label: Pasos de inferencia description: Number of steps for the diffusion process (lower is faster, higher is better quality) nanobanana: settings: @@ -1312,14 +1318,14 @@ pages: label: ID de App title: Volcano Engine volcengine-coding-plan: - description: Volcengine Coding Plan - title: Volcengine Coding Plan + description: Plan de Codificación Volcengine + title: Plan de Codificación Volcengine byteplus: description: byteplus.com title: BytePlus byteplus-coding-plan: - description: BytePlus Coding Plan - title: BytePlus Coding Plan + description: Plan de codificación BytePlus + title: Plan de codificación BytePlus xai: description: x.ai title: xAI @@ -1339,63 +1345,63 @@ pages: description: Aliyun NLS title: Aliyun NLS browser-web-speech-api: - description: Browser-native STT (requires Chrome/Edge/Safari) - title: Web Speech API + description: Navegador nativo STT (requiere Chrome/Edge/Safari) + title: API de Voz Web official: - title: Official Provider - description: Official AI provider by AIRI. - speech-title: Official Speech Provider - speech-description: Official text-to-speech provider by AIRI. - speech-streaming-title: Official Streaming Speech Provider + title: Proveedor Oficial + description: Proveedor oficial de IA por AIRI. + speech-title: Proveedor oficial de voz + speech-description: Proveedor oficial de texto a voz de AIRI. + speech-streaming-title: Proveedor oficial de voz en streaming speech-streaming-description: Official low-latency text-to-speech provider by AIRI (bidirectional WebSocket). - transcription-title: Official Transcription Provider - transcription-description: Official speech-to-text provider by AIRI. + transcription-title: Proveedor Oficial de Transcripción + transcription-description: Proveedor oficial de voz a texto por AIRI. transcriptions: playground: title: Playground de Transcripción aihubmix: title: AIHubMix - description: https://aihubmix.com (10% off) + description: https://aihubmix.com (10% de descuento) title: Proveedores connection: - description: Configure WebSocket server connection - title: Connection + description: Configurar la conexión del servidor WebSocket + title: Conexión websocket-url: - description: Full address of the WebSocket server (e.g., ws://localhost:6121/ws) - label: WebSocket Server Address + description: Dirección completa del servidor WebSocket (por ejemplo, ws://localhost:6121/ws) + label: Dirección del servidor WebSocket placeholder: ws://localhost:6121/ws server-hostname: - label: Expose On Network + label: Exponer en red description: >- Choose whether the AIRI gateway only listens on this device or can be reached from your local network. advanced-label: Bind Hostname advanced-description: >- - Use a specific hostname or IP address when you need manual network binding. + Utilice un nombre de host específico o dirección IP cuando necesite un enlace manual de red. options: - this-device: This device - all: All - advanced: Advanced + this-device: Este dispositivo + all: Todo + advanced: Avanzado server-auth-token: - label: Auth Token + label: Token de autenticación description: >- Security token required by remote clients that connect to this gateway. When left empty, AIRI generates a new token automatically. - placeholder: Auto-generate + placeholder: Autogenerar qr: title: Connect from Stage Pocket description: >- Scan this QR code from Stage Pocket to try all reachable local network addresses and save the first working one. - refresh: Refresh - image-alt: AIRI server channel connection QR code + refresh: Actualizar + image-alt: Código QR de conexión de canal del servidor AIRI candidates: Candidate addresses token-hint: >- The QR code includes the auth token so Stage Pocket can authenticate after connecting. Do not share it publicly. errors: - title: QR code unavailable + title: Código QR no disponible unavailable: Error al preparar el código QR de conexión. qr-scan: title: Conexión rápida description: Escanear el código QR desde Tamagotchi para conectarse rápidamente - instructions: Point the camera at the AIRI connection QR code. + instructions: Señalar la cámara en el código QR de la conexión AIRI. action: Escanear success: title: Dirección conectada guardada @@ -1429,29 +1435,29 @@ pages: sections: section: performance-visualizer: - title: Performance Visualizer + title: Visualizador de rendimiento description: Cambiar FPS/tareas largas/superposición de memoria markdown-stress: title: Markdown Stress description: Stress markdown parsing and rendering with heavy chat payloads use-magic-keys: title: useMagicKeys Tool - description: Test shortcuts + description: Probar accesos directos audio-record: title: Grabación de Audio - description: Test Audio related composables + description: Probar compuestos relacionados con audio background-gradient-blending: - title: Background Theme color blending + title: Mezcla de color del tema de fondo description: Test blending & theme background-removal: - title: Background removal (WebGPU required) - description: Utility for background removal + title: Eliminación de fondo (WebGPU requerido) + description: Utilidad para eliminar el fondo chat: title: Chat description: Chat gesture-circle: - title: Gesture Circle (Desktop only) - description: Test gesture recognition + title: Círculo de gestos (Sólo escritorio) + description: Prueba el reconocimiento de gestos image: title: Imagen description: Imagen @@ -1569,7 +1575,7 @@ pages: delete: Borrar de la galería global_badge: Personaje por defecto active_badge: Escena actual - delete_confirm: Are you sure you want to delete this background? + delete_confirm: '¿Seguro que quieres borrar este fondo?' tip: label: '¡Un consejo!' description: Using a square image will leverage cover cropping in portrait mode, focusing on the center of the scene. @@ -1626,32 +1632,32 @@ vrm: spine: title: Spine Settings scale-and-position: - title: Scale And Position - scale: Scale + title: Escala y Posición + scale: Escala x: X 'y': 'Y' theme-color-from-model: - title: Extract colors from model + title: Extraer colores del modelo button-extract: - title: Extract + title: Extraer animation: - title: Animation - idle-animation: Idle Animation - mix-duration: Mix Duration (seconds) - speed: Animation Speed + title: Animación + idle-animation: Animación inactiva + mix-duration: Mezclar duración (segundos) + speed: Velocidad de animación variant: - title: Variant - current-variant: Active Variant + title: Variante + current-variant: Variante activa skin: - title: Skin - current-skin: Current Skin + title: Aspecto + current-skin: Aspecto Actual rendering: - title: Rendering - max-fps: Maximum FPS - render-scale: Render Scale + title: Renderizado + max-fps: Máximo de FPS + render-scale: Escala de renderizado fps: options: - unlimited: Unlimited + unlimited: Ilimitado websocket-secure-enabled: title: Habilitar WebSocket Seguro (WSS) description: >- diff --git a/packages/i18n/src/locales/es/stage.yaml b/packages/i18n/src/locales/es/stage.yaml index 23d4cfef6..c5158d655 100644 --- a/packages/i18n/src/locales/es/stage.yaml +++ b/packages/i18n/src/locales/es/stage.yaml @@ -8,18 +8,18 @@ chat: you: Tu reasoning: Razonamiento sessions: - title: Conversations - new: + New - empty: No conversations yet - cloud-badge: Synced to cloud - new-chat-fallback: New chat - delete: Delete conversation + title: Conversaciones + new: + Nuevo + empty: No hay conversaciones todavía + cloud-badge: Sincronizado en la nube + new-chat-fallback: Nuevo Chat + delete: Eliminar conversación message: Dile algo... send-mode: title: Enviar tecla enter: Intro ctrl-enter: Ctrl + Intro - double-enter: Double Enter + double-enter: Entrada doble operations: load-models: Cargar Modelos load-models-status: @@ -61,7 +61,7 @@ promo-banner: reward: Hasta 120 Stardust cta: Iniciar sesión build: - watermark: Build + watermark: Construir fallbackLabel: Build Bonus title: Bono de caja de suministro eventName: Termina las tareas de construcción para ganar cupones de bonificación y materiales dobles. @@ -79,7 +79,7 @@ promo-banner: coupon: watermark: Hablar fallbackLabel: Cupón - title: Top-Up Coupon + title: Cupón Top-Up eventName: Termina las interacciones del chat para reclamar cupones para la expansión y los paquetes de voz. date: 04/02 - 04/20 reward: Ahorre 6 en 30 / Ahorre 15 en 68 @@ -94,6 +94,6 @@ promo-banner: cta: Ver temas waiting: Esperando... websocket-status: - connected: Connected - disconnected: No connection - open-settings: Open connection settings + connected: Conectado + disconnected: No hay conexión + open-settings: Abrir ajustes de conexión diff --git a/packages/i18n/src/locales/fr/settings.yaml b/packages/i18n/src/locales/fr/settings.yaml index 5d21a42b4..1a65eceb2 100644 --- a/packages/i18n/src/locales/fr/settings.yaml +++ b/packages/i18n/src/locales/fr/settings.yaml @@ -679,6 +679,12 @@ pages: select-voice: loading: Chargement du modèle... required: Veuillez sélectionner une voix + voice-pack: + description: Select a curated voice for the active character + empty: No Voice Packs available + error: Error loading Voice Packs + loading: Loading Voice Packs... + title: Voice Pack provider-voice-selection: custom_model_placeholder: Entrez le nom du modèle personnalisé... custom_voice_placeholder: Entrez l’ID de la voix personnalisée... diff --git a/packages/i18n/src/locales/ja/settings.yaml b/packages/i18n/src/locales/ja/settings.yaml index 363cd79f8..67e993932 100644 --- a/packages/i18n/src/locales/ja/settings.yaml +++ b/packages/i18n/src/locales/ja/settings.yaml @@ -679,6 +679,12 @@ pages: select-voice: loading: モデルを読み込み中… required: 音声を選択してください + voice-pack: + description: Select a curated voice for the active character + empty: No Voice Packs available + error: Error loading Voice Packs + loading: Loading Voice Packs... + title: Voice Pack provider-voice-selection: custom_model_placeholder: カスタムモデル名を入力… custom_voice_placeholder: カスタム音声IDを入力… diff --git a/packages/i18n/src/locales/ko/settings.yaml b/packages/i18n/src/locales/ko/settings.yaml index fc51f99de..266a2140f 100644 --- a/packages/i18n/src/locales/ko/settings.yaml +++ b/packages/i18n/src/locales/ko/settings.yaml @@ -679,6 +679,12 @@ pages: select-voice: loading: 모델 로딩 중... required: 음성을 선택해 주세요 + voice-pack: + description: Select a curated voice for the active character + empty: No Voice Packs available + error: Error loading Voice Packs + loading: Loading Voice Packs... + title: Voice Pack provider-voice-selection: custom_model_placeholder: 사용자 지정 모델 이름 입력... custom_voice_placeholder: 사용자 지정 음성 ID 입력... diff --git a/packages/i18n/src/locales/ru/base.yaml b/packages/i18n/src/locales/ru/base.yaml index 352b7cd57..e100d6fe7 100644 --- a/packages/i18n/src/locales/ru/base.yaml +++ b/packages/i18n/src/locales/ru/base.yaml @@ -20,12 +20,12 @@ prompt: CALL format: <{'|'}CALL {'["name"]'}{'|'}> or <{'|'}CALL {'["name", {"key":"value"}]'}{'|'}> Use CALL only when the current task or connected module explicitly asks you to emit a named call, for example <{'|'}CALL {'["chess.play"]'}{'|'}>. The available emotions: suffix: | - The available actions: + Доступные действия: - - <{'|'}DELAY 1{'|'}> (Delay for 1 second) - - <{'|'}DELAY 3{'|'}> (Delay for 3 seconds) + - <{'|'}DELAY 1{'|'}> (Задержка в 1 секунду) + - <{'|'}DELAY 3{'|'}> (Задержка в 3 секунды) - And the last, do what ever you want! + И напоследок: делай всё, что захочешь! toaster: pwaUpdateReady: message: Доступно новое обновление, перезагрузиться сейчас? diff --git a/packages/i18n/src/locales/ru/settings.yaml b/packages/i18n/src/locales/ru/settings.yaml index ffe458dc8..9a476d26b 100644 --- a/packages/i18n/src/locales/ru/settings.yaml +++ b/packages/i18n/src/locales/ru/settings.yaml @@ -679,6 +679,12 @@ pages: select-voice: loading: Загрузка моделей... required: Выберите голос + voice-pack: + description: Select a curated voice for the active character + empty: No Voice Packs available + error: Error loading Voice Packs + loading: Loading Voice Packs... + title: Voice Pack provider-voice-selection: custom_model_placeholder: Введите название кастомной модели... custom_voice_placeholder: Введите ID кастомного голоса... @@ -743,7 +749,7 @@ pages: empty: Здесь пока ничего нет. Добавьте одно ниже! add: title: Новый - description: Заполните новый сервер, затем нажмите кнопку «Сохранить и перезапустить» — он будет перемещен в «Конфигурация» выше. + description: 'Заполните новый сервер, затем нажмите кнопку «Сохранить и перезапустить» — он будет перемещен в «Конфигурация» выше.' pending-badge: Не сохранено status: unknown: Не загружен @@ -1637,7 +1643,7 @@ spine: animation: title: Анимация idle-animation: Анимация бездействия - mix-duration: Mix Duration (seconds) + mix-duration: Длительность смешивания (в секундах) speed: Скорость анимации variant: title: Вариация diff --git a/packages/i18n/src/locales/vi/settings.yaml b/packages/i18n/src/locales/vi/settings.yaml index 6cadb5c48..24e8826c5 100644 --- a/packages/i18n/src/locales/vi/settings.yaml +++ b/packages/i18n/src/locales/vi/settings.yaml @@ -679,6 +679,12 @@ pages: select-voice: loading: Đang tải mô hình... required: Vui lòng chọn một giọng nói + voice-pack: + description: Select a curated voice for the active character + empty: No Voice Packs available + error: Error loading Voice Packs + loading: Loading Voice Packs... + title: Voice Pack provider-voice-selection: custom_model_placeholder: Nhập tên mô hình tùy chỉnh... custom_voice_placeholder: Nhập ID giọng nói tùy chỉnh... diff --git a/packages/i18n/src/locales/zh-Hans/settings.yaml b/packages/i18n/src/locales/zh-Hans/settings.yaml index 05b358409..c65228b3f 100644 --- a/packages/i18n/src/locales/zh-Hans/settings.yaml +++ b/packages/i18n/src/locales/zh-Hans/settings.yaml @@ -679,6 +679,12 @@ pages: select-voice: loading: 正在加载模型…… required: 请选择声线 + voice-pack: + description: Select a curated voice for the active character + empty: No Voice Packs available + error: Error loading Voice Packs + loading: Loading Voice Packs... + title: Voice Pack provider-voice-selection: custom_model_placeholder: 输入指定模型名称... custom_voice_placeholder: 输入指定声线 ID... @@ -743,7 +749,7 @@ pages: empty: 这里什么都还没有哦,在下面添加一个! add: title: 新建 - description: 填写新的服务器配置,然后点击「保存并重启」,完成后将会更新至上方的「已配置」 + description: '填写新的服务器配置,然后点击「保存并重启」,完成后将会更新至上方的「已配置」' pending-badge: 未保存 status: unknown: 未加载 diff --git a/packages/i18n/src/locales/zh-Hant/settings.yaml b/packages/i18n/src/locales/zh-Hant/settings.yaml index 95fdca860..ed91a4d6b 100644 --- a/packages/i18n/src/locales/zh-Hant/settings.yaml +++ b/packages/i18n/src/locales/zh-Hant/settings.yaml @@ -679,6 +679,12 @@ pages: select-voice: loading: 載入模型中…… required: 請選擇聲線 + voice-pack: + description: Select a curated voice for the active character + empty: No Voice Packs available + error: Error loading Voice Packs + loading: Loading Voice Packs... + title: Voice Pack provider-voice-selection: custom_model_placeholder: 輸入指定模型名稱... custom_voice_placeholder: 輸入指定聲線 ID...