# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2023, Xorbits Inc.
# This file is distributed under the same license as the Xinference package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2024.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version:  Xinference\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-07-17 15:37+0800\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: es\n"
"Language-Team: es <LL@li.org>\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.18.0\n"

#: ../../source/user_guide/auth_system.rst:5
msgid "Authentication System (database-backed)"
msgstr "Sistema de autenticación (respaldado por base de datos)"

#: ../../source/user_guide/auth_system.rst:7
msgid "The database-backed authentication system, enabled by default."
msgstr ""
"El sistema de autenticación respaldado por base de datos, habilitado de "
"forma predeterminada."

#: ../../source/user_guide/auth_system.rst:10
msgid ""
"Xinference ships with a database-backed authentication and authorization "
"system. It stores users, permissions, API keys, and refresh tokens in a "
"local SQLite database, and supports creating and managing users and API "
"keys at runtime through REST endpoints — no server restart required."
msgstr ""
"Xinference incluye un sistema de autenticación y autorización respaldado "
"por base de datos. Almacena usuarios, permisos, claves de API y tokens de"
" actualización en una base de datos SQLite local, y permite crear y "
"gestionar usuarios y claves de API en tiempo de ejecución a través de "
"puntos finales REST, sin necesidad de reiniciar el servidor."

#: ../../source/user_guide/auth_system.rst:15
msgid ""
"**Since v3.0, this system is enabled by default** — a fresh Xinference "
"deployment requires authentication out of the box."
msgstr ""
"**Desde la v3.0, este sistema está habilitado de forma predeterminada** —"
" una nueva implementación de Xinference requiere autenticación desde el "
"primer momento."

#: ../../source/user_guide/auth_system.rst:19
msgid ""
"Earlier releases shipped a simpler, in-memory ``--auth-config`` JSON "
"system. It has been removed; the database-backed system described here is"
" the only authenticated mode."
msgstr ""
"Las versiones anteriores incluían un sistema JSON en memoria más simple "
"basado en ``--auth-config``. Este se ha eliminado; el sistema respaldado "
"por base de datos que se describe aquí es el único modo autenticado."

#: ../../source/user_guide/auth_system.rst:24
msgid "Enabling / disabling"
msgstr "Habilitar / deshabilitar"

#: ../../source/user_guide/auth_system.rst:25
msgid ""
"Authentication is controlled by the ``XINFERENCE_AUTH_ADVANCED`` "
"environment variable:"
msgstr ""
"La autenticación se controla mediante la variable de entorno "
"``XINFERENCE_AUTH_ADVANCED``:"

#: ../../source/user_guide/auth_system.rst:28
msgid ""
"Unset, or any of ``1`` / ``true`` / ``yes`` (case-insensitive): enabled "
"(the default)."
msgstr ""
"Sin definir, o cualquiera de ``1`` / ``true`` / ``yes`` (sin distinguir "
"mayúsculas/minúsculas): habilitado (el valor predeterminado)."

#: ../../source/user_guide/auth_system.rst:29
msgid ""
"Any of ``0`` / ``false`` / ``no`` (case-insensitive): disabled — "
"Xinference runs with **no authentication at all**, and every endpoint is "
"served without a login or API key."
msgstr ""
"Cualquiera de ``0`` / ``false`` / ``no`` (sin distinguir mayúsculas de "
"minúsculas): deshabilitado. Xinference se ejecuta **sin ninguna "
"autenticación** y todos los puntos finales se sirven sin inicio de sesión"
" ni clave de API."

#: ../../source/user_guide/auth_system.rst:43
msgid "Initial admin account"
msgstr "Cuenta de administrador inicial"

#: ../../source/user_guide/auth_system.rst:44
msgid ""
"On first startup with authentication enabled, the user table is empty and"
" Xinference does **not** create an admin account automatically. Instead, "
"two unauthenticated endpoints handle first-run setup:"
msgstr ""
"En el primer arranque con la autenticación habilitada, la tabla de "
"usuarios está vacía y Xinference **no** crea automáticamente una cuenta "
"de administrador. En su lugar, dos puntos finales sin autenticación "
"gestionan la configuración inicial:"

#: ../../source/user_guide/auth_system.rst:48
#, python-brace-format
msgid ""
"``GET /v1/admin/setup/status``: returns ``{\"needs_setup\": true, "
"\"initialized\": false}`` while no account exists yet."
msgstr ""
"``GET /v1/admin/setup/status``: devuelve ``{\"needs_setup\": true, "
"\"initialized\": false}`` mientras aún no exista ninguna cuenta."

#: ../../source/user_guide/auth_system.rst:50
msgid ""
"``POST /v1/admin/setup``: creates the first admin account (with all "
"permissions) given a ``username`` and ``password``."
msgstr ""
"``POST /v1/admin/setup``: crea la primera cuenta de administrador (con "
"todos los permisos) a partir de un ``username`` y una ``password``."

#: ../../source/user_guide/auth_system.rst:59
msgid ""
"The web UI drives this automatically: opening it for the first time "
"redirects to a setup page that asks for the new admin's username and "
"password, then to the login page."
msgstr ""
"La interfaz web gestiona esto automáticamente: al abrirla por primera "
"vez, redirige a una página de configuración que solicita el nombre de "
"usuario y la contraseña del nuevo administrador y, a continuación, a la "
"página de inicio de sesión."

#: ../../source/user_guide/auth_system.rst:63
msgid ""
"``/v1/admin/setup`` permanently refuses to create a second account once "
"one exists — the first successful call wins. On an instance exposed to "
"untrusted networks before setup completes, whoever reaches this endpoint "
"first becomes the administrator. If that isn't you, an operator with "
"shell access to the deployment can take control back with ``xinference-"
"reset-auth-password`` (see `Resetting a lost admin password`_)."
msgstr ""
"``/v1/admin/setup`` se niega de forma permanente a crear una segunda "
"cuenta una vez que ya existe una: la primera llamada con éxito gana. En "
"una instancia expuesta a redes no confiables antes de completar la "
"configuración, quien alcance primero este punto final se convierte en el "
"administrador. Si no es usted, un operador con acceso al shell del "
"despliegue puede recuperar el control con ``xinference-reset-auth-"
"password`` (consulte `Restablecer una contraseña de administrador "
"perdida`_)."

#: ../../source/user_guide/auth_system.rst:71
msgid "Resetting a lost admin password"
msgstr "Restablecer una contraseña de administrador perdida"

#: ../../source/user_guide/auth_system.rst:72
msgid ""
"If the admin password is lost — or someone else won the first-run setup "
"race — an operator with shell access to the machine running the RESTful "
"API can reset an admin's password directly against the auth database, "
"without logging in:"
msgstr ""
"Si se pierde la contraseña de administrador, o si otra persona ganó la "
"carrera de la configuración inicial, un operador con acceso al shell de "
"la máquina que ejecuta la API RESTful puede restablecer la contraseña de "
"un administrador directamente sobre la base de datos de autenticación, "
"sin iniciar sesión:"

#: ../../source/user_guide/auth_system.rst:81
msgid ""
"The command prompts for a new password (or accept ``--password`` on the "
"command line), updates that admin's password, and revokes the user's "
"active refresh tokens so any stale sessions stop working. It only "
"operates on users that already hold the ``admin`` permission, and reads "
"the database at ``XINFERENCE_AUTH_DB_PATH`` (override with ``--db-"
"path``). Run ``xinference-reset-auth-password --help`` for all options."
msgstr ""
"El comando solicita una nueva contraseña (o acepta ``--password`` en la "
"línea de comandos), actualiza la contraseña de ese administrador y revoca"
" los tokens de actualización activos del usuario para que cualquier "
"sesión obsoleta deje de funcionar. Solo opera sobre usuarios que ya "
"poseen el permiso ``admin`` y lee la base de datos en "
"``XINFERENCE_AUTH_DB_PATH`` (se puede sobrescribir con ``--db-path``). "
"Ejecute ``xinference-reset-auth-password --help`` para ver todas las "
"opciones."

#: ../../source/user_guide/auth_system.rst:89
msgid "Secrets and storage locations"
msgstr "Secretos y ubicaciones de almacenamiento"

#: ../../source/user_guide/auth_system.rst:90
msgid ""
"The system needs a JWT signing secret and an encryption key (used to "
"encrypt stored API keys at rest), plus a database file. All three can be "
"overridden with environment variables; if you don't set them, Xinference "
"generates and persists them automatically on first run under "
"``XINFERENCE_HOME`` (``~/.xinference`` by default):"
msgstr ""
"El sistema necesita un secreto de firma JWT y una clave de cifrado "
"(utilizada para cifrar en reposo las claves de API almacenadas), además "
"de un archivo de base de datos. Los tres pueden sobrescribirse con "
"variables de entorno; si no los establece, Xinference los genera y los "
"guarda automáticamente en la primera ejecución bajo ``XINFERENCE_HOME`` "
"(``~/.xinference`` de forma predeterminada):"

#: ../../source/user_guide/auth_system.rst:99
msgid "Purpose"
msgstr "Propósito"

#: ../../source/user_guide/auth_system.rst:100
msgid "Environment variable"
msgstr "Variable de entorno"

#: ../../source/user_guide/auth_system.rst:101
msgid "Default location"
msgstr "Ubicación predeterminada"

#: ../../source/user_guide/auth_system.rst:102
msgid "JWT signing secret"
msgstr "Secreto de firma JWT"

#: ../../source/user_guide/auth_system.rst:103
msgid "``XINFERENCE_AUTH_JWT_SECRET_KEY``"
msgstr "``XINFERENCE_AUTH_JWT_SECRET_KEY``"

#: ../../source/user_guide/auth_system.rst:104
msgid "``<XINFERENCE_HOME>/auth/jwt_secret_key`` (auto-generated)"
msgstr "``<XINFERENCE_HOME>/auth/jwt_secret_key`` (generado automáticamente)"

#: ../../source/user_guide/auth_system.rst:105
msgid "API key encryption key"
msgstr "Clave de cifrado de claves de API"

#: ../../source/user_guide/auth_system.rst:106
msgid "``XINFERENCE_AUTH_ENCRYPTION_KEY``"
msgstr "``XINFERENCE_AUTH_ENCRYPTION_KEY``"

#: ../../source/user_guide/auth_system.rst:107
msgid "``<XINFERENCE_HOME>/auth/encryption_key`` (auto-generated)"
msgstr "``<XINFERENCE_HOME>/auth/encryption_key`` (generado automáticamente)"

#: ../../source/user_guide/auth_system.rst:108
msgid "User/API key database"
msgstr "Base de datos de usuarios/claves de API"

#: ../../source/user_guide/auth_system.rst:109
msgid "``XINFERENCE_AUTH_DB_PATH``"
msgstr "``XINFERENCE_AUTH_DB_PATH``"

#: ../../source/user_guide/auth_system.rst:110
msgid "``<XINFERENCE_HOME>/auth/auth.db``"
msgstr "``<XINFERENCE_HOME>/auth/auth.db``"

#: ../../source/user_guide/auth_system.rst:112
msgid ""
"Auto-generated secrets are written once and reused on subsequent "
"restarts, so existing JWTs and encrypted API keys keep working across "
"restarts. In a distributed deployment (supervisor + workers), make sure "
"all processes that run the RESTful API share the same ``XINFERENCE_HOME``"
" (or set the same explicit environment variables), so they agree on the "
"same secrets and database."
msgstr ""
"Los secretos generados automáticamente se escriben una sola vez y se "
"reutilizan en reinicios posteriores, de modo que los JWT existentes y las"
" claves de API cifradas siguen funcionando tras los reinicios. En una "
"implementación distribuida (supervisor + workers), asegúrese de que todos"
" los procesos que ejecutan la API RESTful compartan el mismo "
"``XINFERENCE_HOME`` (o establezcan las mismas variables de entorno "
"explícitas), para que utilicen los mismos secretos y la misma base de "
"datos."

#: ../../source/user_guide/auth_system.rst:120
msgid "Permissions"
msgstr "Permisos"

#: ../../source/user_guide/auth_system.rst:121
msgid "Xinference defines the following interface permissions:"
msgstr "Xinference define los siguientes permisos de interfaz:"

#: ../../source/user_guide/auth_system.rst:123
msgid "``models:list``: Permission to list models and get models' information."
msgstr "``models:list``: permiso para obtener la lista de modelos e información."

#: ../../source/user_guide/auth_system.rst:124
msgid "``models:read``: Permission to use models."
msgstr "``models:read``: Permiso para usar el modelo."

#: ../../source/user_guide/auth_system.rst:125
msgid "``models:write``: Permission to launch and stop models."
msgstr "``models:write``: Permiso para lanzar y detener modelos."

#: ../../source/user_guide/auth_system.rst:126
msgid "``models:register``: Permission to register and unregister custom models."
msgstr ""
"``models:register``: Permiso para registrar y anular el registro de "
"modelos personalizados."

#: ../../source/user_guide/auth_system.rst:127
msgid ""
"``keys:create``: Permission to create API keys (for oneself, or for "
"others when combined with ``keys:manage``)."
msgstr ""
"``keys:create``: Permiso para crear claves de API (para uno mismo, o para"
" otros si se combina con ``keys:manage``)."

#: ../../source/user_guide/auth_system.rst:128
msgid ""
"``keys:manage``: Permission to list, update, delete, and reveal any "
"user's API keys."
msgstr ""
"``keys:manage``: Permiso para listar, actualizar, eliminar y revelar las "
"claves de API de cualquier usuario."

#: ../../source/user_guide/auth_system.rst:129
msgid ""
"``users:manage``: Permission to create, update, delete users, and manage "
"their permissions."
msgstr ""
"``users:manage``: Permiso para crear, actualizar, eliminar usuarios y "
"gestionar sus permisos."

#: ../../source/user_guide/auth_system.rst:130
msgid ""
"``cache:list`` / ``cache:delete``: Permissions to list/delete cached "
"model files."
msgstr ""
"``cache:list`` / ``cache:delete``: Permisos para listar/eliminar archivos"
" de modelos en caché."

#: ../../source/user_guide/auth_system.rst:131
msgid ""
"``virtualenv:list`` / ``virtualenv:delete``: Permissions to list/delete "
"per-model virtual environments."
msgstr ""
"``virtualenv:list`` / ``virtualenv:delete``: Permisos para "
"listar/eliminar entornos virtuales por modelo."

#: ../../source/user_guide/auth_system.rst:132
msgid "``logs:list``: Permission to view cluster logs."
msgstr "``logs:list``: Permiso para ver los registros del clúster."

#: ../../source/user_guide/auth_system.rst:133
msgid "``monitor:view``: Permission to view the monitoring dashboards."
msgstr "``monitor:view``: Permiso para ver los paneles de monitorización."

#: ../../source/user_guide/auth_system.rst:134
msgid "``admin``: Administrators have all of the above."
msgstr "``admin``: Los administradores tienen todos los permisos anteriores."

#: ../../source/user_guide/auth_system.rst:136
msgid ""
"A caller may only grant permissions they themselves hold — for example, a"
" user with only ``users:manage`` cannot grant ``admin`` to someone else."
msgstr ""
"Un llamante solo puede otorgar los permisos que él mismo posee; por "
"ejemplo, un usuario que solo tiene ``users:manage`` no puede otorgar "
"``admin`` a otra persona."

#: ../../source/user_guide/auth_system.rst:140
msgid ""
"Earlier releases used finer-grained scope names: ``models:start`` and "
"``models:stop`` (now ``models:write``), and ``models:add`` / "
"``models:unregister`` (now ``models:register``). Tokens and API keys "
"carrying the legacy names keep working — the server transparently maps "
"them to the new scopes — but this compatibility mapping is deprecated and"
" will be removed in a future release. Use the new names when granting "
"permissions."
msgstr ""
"Las versiones anteriores usaban nombres de ámbito más detallados: "
"``models:start`` y ``models:stop`` (ahora ``models:write``), y "
"``models:add`` / ``models:unregister`` (ahora ``models:register``). Los "
"tokens y las claves de API que llevan los nombres heredados siguen "
"funcionando —el servidor los asigna de forma transparente a los nuevos "
"ámbitos—, pero esta asignación de compatibilidad está obsoleta y se "
"eliminará en una versión futura. Utilice los nombres nuevos al conceder "
"permisos."

#: ../../source/user_guide/auth_system.rst:149
msgid "Usage"
msgstr "Usar"

#: ../../source/user_guide/auth_system.rst:150
msgid ""
"With authentication enabled, all usage remains the same, except for the "
"addition of a login step at the beginning or using an API key."
msgstr ""
"Con la autenticación habilitada, todo el uso sigue siendo el mismo, salvo"
" por la adición de un paso de inicio de sesión al principio o el uso de "
"una clave de API."

#: ../../source/user_guide/auth_system.rst:154
msgid "Signin"
msgstr "Uso basado en nombre de usuario y contraseña"

#: ../../source/user_guide/auth_system.rst:155
msgid "Signin for command line users:"
msgstr "Inicio de sesión mediante línea de comandos:"

#: ../../source/user_guide/auth_system.rst:162
msgid "For python SDK users:"
msgstr "Inicia sesión usando el SDK de Python:"

#: ../../source/user_guide/auth_system.rst:171
msgid ""
"For web UI users, when opening the web UI, you will first be directed to "
"the login page. After logging in, you can use the web UI normally."
msgstr ""
"Para los usuarios de la interfaz web, al abrirla, se les redirigirá "
"primero a la página de inicio de sesión. Después de iniciar sesión, "
"podrán utilizar las funciones de la interfaz web con normalidad."

#: ../../source/user_guide/auth_system.rst:174
msgid "Api-Key"
msgstr "Modo de uso basado en autenticación Api-Key"

#: ../../source/user_guide/auth_system.rst:175
msgid ""
"For command line users, just add ``--api-key`` or ``-ak`` option in the "
"command you want to use."
msgstr ""
"Para usuarios de línea de comandos, solo es necesario añadir la opción "
"``--api-key`` o ``-ak`` al comando que se desea ejecutar."

#: ../../source/user_guide/auth_system.rst:182
msgid ""
"For python SDK users, pass the ``api_key`` parameter when initializing "
"the client, just like the ``OPENAI`` Python client."
msgstr ""
"Para los usuarios del cliente Python, basta con pasar el parámetro "
"``api_key`` al inicializar el objeto cliente, tal como se hace con el "
"cliente ``OPENAI``."

#: ../../source/user_guide/auth_system.rst:190
msgid "Xinference is also compatible with the ``OPENAI`` Python SDK as well."
msgstr ""
"Por supuesto, Xinference también es completamente compatible con el uso "
"del cliente Python de ``OPENAI``."

#: ../../source/user_guide/auth_system.rst:198
msgid ""
"For http request, pass ``Authorization: Bearer api-key`` in request "
"header."
msgstr ""
"Para solicitudes HTTP, pase ``Authorization: Bearer api-key`` en el "
"encabezado de la solicitud."

#: ../../source/user_guide/auth_system.rst:207
msgid "Managing users and API keys"
msgstr "Gestión de usuarios y claves de API"

#: ../../source/user_guide/auth_system.rst:208
msgid ""
"Once logged in as a user with the ``users:manage`` and/or ``keys:manage``"
" permission (the bootstrap ``admin`` account has both), you can manage "
"users and API keys through REST endpoints under ``/v1/admin``, for "
"example:"
msgstr ""
"Una vez iniciada la sesión como usuario con el permiso ``users:manage`` "
"y/o ``keys:manage`` (la cuenta inicial ``admin`` tiene ambos), puede "
"gestionar usuarios y claves de API mediante endpoints REST bajo "
"``/v1/admin``, por ejemplo:"

#: ../../source/user_guide/auth_system.rst:226
#, python-brace-format
msgid ""
"Other supported endpoints include listing/updating/deleting users "
"(``/v1/admin/users``, ``/v1/admin/users/{user_id}``), changing a user's "
"password (``/v1/admin/users/{user_id}/password``), and listing, updating,"
" deleting, and revealing API keys (``/v1/admin/keys``, "
"``/v1/admin/keys/{key_id}``, ``/v1/admin/keys/{key_id}/reveal``)."
msgstr ""
"Otros endpoints admitidos incluyen listar/actualizar/eliminar usuarios "
"(``/v1/admin/users``, ``/v1/admin/users/{user_id}``), cambiar la "
"contraseña de un usuario (``/v1/admin/users/{user_id}/password``), y "
"listar, actualizar, eliminar y revelar claves de API (``/v1/admin/keys``,"
" ``/v1/admin/keys/{key_id}``, ``/v1/admin/keys/{key_id}/reveal``)."

#: ../../source/user_guide/auth_system.rst:233
msgid "Managing via the web UI"
msgstr "Gestión desde la interfaz web"

#: ../../source/user_guide/auth_system.rst:234
msgid "Everything above is also available from dedicated pages in the web UI:"
msgstr ""
"Todo lo anterior también está disponible en páginas dedicadas de la "
"interfaz web:"

#: ../../source/user_guide/auth_system.rst:236
msgid ""
"**User Management**: create, update, disable, and delete users, and edit "
"their permissions (requires ``users:manage``)."
msgstr ""
"**Gestión de usuarios**: crear, actualizar, deshabilitar y eliminar "
"usuarios, y editar sus permisos (requiere ``users:manage``)."

#: ../../source/user_guide/auth_system.rst:238
msgid ""
"**API Key Management**: create, update, delete, and reveal API keys, with"
" optional per-model access restrictions (requires ``keys:create`` for "
"your own keys, ``keys:manage`` for other users' keys)."
msgstr ""
"**Gestión de claves de API**: crear, actualizar, eliminar y revelar "
"claves de API, con restricciones de acceso opcionales por modelo "
"(requiere ``keys:create`` para las claves propias y ``keys:manage`` para "
"las claves de otros usuarios)."

#: ../../source/user_guide/auth_system.rst:241
msgid ""
"**Security Settings**: view and tune brute-force protection (login/API-"
"key failure rate limits) and unban blocked IPs or keys (requires "
"``admin``). See :ref:`user_guide_audit_security` for details."
msgstr ""
"**Configuración de seguridad**: ver y ajustar la protección contra "
"ataques de fuerza bruta (límites de tasa de fallos de inicio de sesión y "
"de claves de API) y desbloquear IP o claves bloqueadas (requiere "
"``admin``). Consulte :ref:`user_guide_audit_security` para más detalles."

#: ../../source/user_guide/auth_system.rst:244
msgid ""
"**Audit Center**: browse recorded API activity (requires ``admin``). See "
":ref:`user_guide_audit_security`."
msgstr ""
"**Centro de auditoría**: examinar la actividad de la API registrada "
"(requiere ``admin``). Consulte :ref:`user_guide_audit_security`."

#: ../../source/user_guide/auth_system.rst:248
msgid "Http Status Code"
msgstr "Código de estado HTTP"

#: ../../source/user_guide/auth_system.rst:249
msgid "Add the following two HTTP status codes:"
msgstr "Se han agregado los siguientes dos códigos de estado HTTP:"

#: ../../source/user_guide/auth_system.rst:251
msgid "``401 Unauthorized``: login information or token verifies failed."
msgstr ""
"``401 Unauthorized``: La información de inicio de sesión o la "
"verificación del token ha fallado."

#: ../../source/user_guide/auth_system.rst:252
msgid "``403 Forbidden``: No enough permissions when accessing interfaces."
msgstr "``403 Forbidden``: No hay suficientes permisos para acceder a la interfaz."

#: ../../source/user_guide/auth_system.rst:254
msgid ""
"For the command line, SDK, or web UI users, there will be clear "
"information prompts when encountering authorization and permissions "
"issues."
msgstr ""
"Para los usuarios de línea de comandos, SDK o interfaz web, hay mensajes "
"claros cuando se encuentran problemas de autorización y permisos."

#: ../../source/user_guide/auth_system.rst:257
msgid "Behavior notes"
msgstr "Notas sobre el comportamiento"

#: ../../source/user_guide/auth_system.rst:260
msgid "Permission changes take effect without re-login"
msgstr ""
"Los cambios de permisos surten efecto sin necesidad de volver a iniciar "
"sesión"

#: ../../source/user_guide/auth_system.rst:261
msgid ""
"Route scope checks read the user's **current** permissions from the "
"database on every request, not the scopes baked into the JWT at login. "
"Granting or revoking a permission takes effect on the user's next API "
"call — no re-login required. This applies to JWT-based browser sessions; "
"API keys are also live-read (they always have been)."
msgstr ""
"Las comprobaciones de permisos de las rutas leen los permisos "
"**actuales** del usuario desde la base de datos en cada solicitud, no los"
" permisos incluidos en el JWT al iniciar sesión. Otorgar o revocar un "
"permiso surte efecto en la siguiente llamada a la API del usuario, sin "
"necesidad de volver a iniciar sesión. Esto se aplica a las sesiones de "
"navegador basadas en JWT; las claves de API también se leen en tiempo "
"real (como siempre lo han hecho)."

#: ../../source/user_guide/auth_system.rst:268
msgid "Configurable access-token lifetime"
msgstr "Duración configurable del token de acceso"

#: ../../source/user_guide/auth_system.rst:269
msgid ""
"The access-token lifetime defaults to 30 minutes and can be overridden "
"with the ``XINFERENCE_ACCESS_TOKEN_EXPIRE_MINUTES`` environment variable:"
msgstr ""
"La duración del token de acceso es de 30 minutos de forma predeterminada "
"y puede anularse con la variable de entorno "
"``XINFERENCE_ACCESS_TOKEN_EXPIRE_MINUTES``:"

#: ../../source/user_guide/auth_system.rst:276
msgid ""
"A shorter lifetime shrinks the token-theft window. The refresh token "
"lifetime is 7 days and is not currently configurable."
msgstr ""
"Una duración más corta reduce la ventana de riesgo ante el robo del "
"token. La duración del token de actualización es de 7 días y actualmente "
"no es configurable."

#: ../../source/user_guide/auth_system.rst:280
msgid "Feedback"
msgstr "Comentarios"

#: ../../source/user_guide/auth_system.rst:281
msgid ""
"This feature is still in an experimental stage. Feel free to provide "
"feedback on usage issues or improvement suggestions through `GitHub "
"issues <https://github.com/xorbitsai/inference/issues>`_ or `our Telegram"
" group <https://t.me/+nCNpwmySwk9iYmI1>`_."
msgstr ""
"Esta funcionalidad se encuentra en fase experimental. Puedes enviar tus "
"comentarios y sugerencias a través de los `GitHub issues "
"<https://github.com/xorbitsai/inference/issues>`_ o del `grupo de "
"Telegram <https://t.me/+nCNpwmySwk9iYmI1>`_."

#~ msgid ""
#~ "If you don't have authentication and "
#~ "authorization requirements, you can use "
#~ "Xinference as before, without any "
#~ "changes."
#~ msgstr ""
#~ "Si no hay requisitos de autenticación"
#~ " y autorización, se puede usar "
#~ "Xinference como antes, sin necesidad de"
#~ " realizar ningún cambio."

#~ msgid "Note"
#~ msgstr "atención"

#~ msgid "Simple OAuth2 System (experimental)"
#~ msgstr "Sistema OAuth2 (experimental)"

#~ msgid ""
#~ "Xinference builds an In-memory OAuth2"
#~ " authentication and authorization system "
#~ "using the account-password mode."
#~ msgstr ""
#~ "Xinference utiliza un modelo de nombre"
#~ " de usuario y contraseña para "
#~ "construir un sistema de autenticación y"
#~ " autorización OAuth2 basado en memoria."

#~ msgid ""
#~ "Since **v3.0**, Xinference enables the "
#~ ":ref:`advanced, database-backed authentication "
#~ "system <user_guide_advanced_auth_system>` by default"
#~ " (``XINFERENCE_AUTH_ADVANCED``), replacing the "
#~ "in-memory system described below as "
#~ "the default behavior. On first startup,"
#~ " an ``admin`` account is created "
#~ "automatically and its one-time password"
#~ " is printed to the server log —"
#~ " save it, since it is not shown"
#~ " again."
#~ msgstr ""
#~ "Desde la **v3.0**, Xinference habilita "
#~ "de forma predeterminada el :ref:`sistema "
#~ "de autenticación avanzado basado en base"
#~ " de datos <user_guide_advanced_auth_system>` "
#~ "(``XINFERENCE_AUTH_ADVANCED``), que reemplaza al "
#~ "sistema en memoria descrito a "
#~ "continuación como comportamiento predeterminado. "
#~ "En el primer inicio, se crea "
#~ "automáticamente una cuenta ``admin`` y "
#~ "su contraseña de un solo uso se"
#~ " imprime en el registro del servidor;"
#~ " guárdela, ya que no se volverá "
#~ "a mostrar."

#~ msgid ""
#~ "The simple, file-based authentication "
#~ "system on this page still works "
#~ "and is not going away. To use "
#~ "it instead of the advanced system, "
#~ "set ``XINFERENCE_AUTH_ADVANCED=false`` and pass "
#~ "``--auth-config`` as described below. To"
#~ " disable authentication entirely, also set"
#~ " ``XINFERENCE_AUTH_ADVANCED=false`` and omit "
#~ "``--auth-config``."
#~ msgstr ""
#~ "El sistema de autenticación simple "
#~ "basado en archivos descrito en esta "
#~ "página sigue funcionando y no "
#~ "desaparecerá. Para usarlo en lugar del"
#~ " sistema avanzado, establezca "
#~ "``XINFERENCE_AUTH_ADVANCED=false`` y pase "
#~ "``--auth-config`` como se describe a "
#~ "continuación. Para deshabilitar la "
#~ "autenticación por completo, establezca también"
#~ " ``XINFERENCE_AUTH_ADVANCED=false`` y omita "
#~ "``--auth-config``."

#~ msgid "``models:register``: Permission to register custom models."
#~ msgstr "`models:register`: Permiso para registrar modelos."

#~ msgid "``admin``: Administrators have permissions for all interfaces."
#~ msgstr "``admin``: El administrador tiene permisos para todas las interfaces."

#~ msgid "Startup"
#~ msgstr "Inicio"

#~ msgid ""
#~ "All authentication and authorization "
#~ "information needs to be specified and"
#~ " loaded into memory when Xinference "
#~ "is started. Xinference requires a "
#~ "JSON-formatted file with the following "
#~ "specific fields:"
#~ msgstr ""
#~ "Al iniciar Xinference, es necesario "
#~ "especificar toda la información de "
#~ "verificación y autorización. Actualmente, "
#~ "Xinference requiere un archivo JSON que"
#~ " contenga los siguientes campos "
#~ "específicos:"

#~ msgid ""
#~ "``auth_config``: This field is used to"
#~ " configure security-related information."
#~ msgstr ""
#~ "``auth_config``: Este campo configura la "
#~ "información relacionada con la seguridad."

#~ msgid ""
#~ "``algorithm``: The algorithm used for "
#~ "token generation and parsing. ``HS`` "
#~ "series algorithms are recommended. For "
#~ "example, ``HS256``, ``HS384`` or ``HS512``."
#~ msgstr ""
#~ "``algorithm``: Algoritmo utilizado para la "
#~ "generación y análisis de tokens. Se "
#~ "recomienda utilizar algoritmos de la "
#~ "serie ``HS``, como ``HS256``, ``HS384`` "
#~ "o ``HS512``."

#~ msgid ""
#~ "``secret_key``: The secret_key used for "
#~ "token generation and parsing. Use this"
#~ " command to generate the secret_key "
#~ "adapted to the ``HS`` algorithms: "
#~ "``openssl rand -hex 32``."
#~ msgstr ""
#~ "``secret_key``: Clave utilizada para la "
#~ "generación y validación de tokens. Se"
#~ " puede generar una clave compatible "
#~ "con la serie de algoritmos ``HS`` "
#~ "mediante el comando: ``openssl rand -hex"
#~ " 32``."

#~ msgid ""
#~ "``token_expire_in_minutes``: Reserved field "
#~ "indicating the expiration time of the"
#~ " token. The current open-source "
#~ "version of Xinference does not check "
#~ "the expiration time of tokens."
#~ msgstr ""
#~ "``token_expire_in_minutes``: campo reservado, indica"
#~ " el tiempo de expiración del token."
#~ " Actualmente, la versión de código "
#~ "abierto de Xinference no verifica el "
#~ "tiempo de expiración del token."

#~ msgid ""
#~ "``user_config``: This field is used to"
#~ " configure user and permission information."
#~ " Each user information is composed of"
#~ " these fields:"
#~ msgstr ""
#~ "``user_config``: Este campo se utiliza "
#~ "para configurar información de usuarios "
#~ "y permisos. Cada usuario está compuesto"
#~ " por los siguientes campos:"

#~ msgid "``username``: string field for username."
#~ msgstr "``username``: cadena que representa el nombre de usuario"

#~ msgid "``password``: string field for password."
#~ msgstr "``password``: cadena, que representa la contraseña"

#~ msgid ""
#~ "``permissions``: A list containing strings "
#~ "representing the permissions that this "
#~ "user has. The permissions are described"
#~ " as above."
#~ msgstr ""
#~ "``permissions``: lista de cadenas que "
#~ "representa los permisos que tiene el "
#~ "usuario. La descripción de los permisos"
#~ " es la indicada en la sección "
#~ "de permisos de la documentación "
#~ "anterior."

#~ msgid ""
#~ "``api_keys``: A list containing strings "
#~ "representing the api-keys of this "
#~ "user. With these api-keys, user "
#~ "can access the xinference interfaces "
#~ "without the need to signin. The "
#~ "api-key here is formatted similar to"
#~ " the ``OPENAI_API_KEY`` , always starting"
#~ " with ``sk-``, followed by 13 "
#~ "alphanumeric characters."
#~ msgstr ""
#~ "``api_keys``: Lista de cadenas que "
#~ "representa las claves API que posee "
#~ "este usuario. El usuario puede acceder"
#~ " a la interfaz de xinference a "
#~ "través de estas claves API sin "
#~ "necesidad de iniciar sesión. La "
#~ "composición de la clave API aquí "
#~ "es similar a ``OPENAI_API_KEY``, siempre "
#~ "comienza con ``sk-``, seguido de 13 "
#~ "caracteres que pueden ser dígitos o "
#~ "letras mayúsculas y minúsculas."

#~ msgid ""
#~ "Once you have configured such a "
#~ "JSON file, use the ``--auth-config`` "
#~ "option to enable Xinference with the "
#~ "authentication and authorization system. For"
#~ " example, for local startup:"
#~ msgstr ""
#~ "Una vez configurado un archivo JSON "
#~ "de este tipo, se puede usar la "
#~ "opción ``--auth-config`` para habilitar "
#~ "Xinference con un sistema de "
#~ "autenticación y autorización. Por ejemplo, "
#~ "el comando de inicio local se "
#~ "muestra a continuación:"

#~ msgid ""
#~ "For distributed startup, just specify "
#~ "this option when starting the "
#~ "supervisor:"
#~ msgstr ""
#~ "En un entorno distribuido, solo es "
#~ "necesario especificar esta opción al "
#~ "iniciar el supervisor:"

#~ msgid ""
#~ "This feature is still in an "
#~ "experimental stage — see `Feedback`_ at"
#~ " the bottom of this page for "
#~ "how to reach us with issues or "
#~ "suggestions."
#~ msgstr ""
#~ "Esta función todavía se encuentra en "
#~ "una etapa experimental; consulte `Feedback`_"
#~ " al final de esta página para "
#~ "saber cómo contactarnos con problemas o"
#~ " sugerencias."

#~ msgid "Any of ``0`` / ``false`` / ``no`` (case-insensitive): disabled."
#~ msgstr ""
#~ "Cualquiera de ``0`` / ``false`` / "
#~ "``no`` (sin distinguir mayúsculas/minúsculas): "
#~ "deshabilitado."

#~ msgid ""
#~ "It is mutually exclusive with the "
#~ "simple system's ``--auth-config`` option "
#~ "— passing ``--auth-config`` while "
#~ "``XINFERENCE_AUTH_ADVANCED`` is (or defaults "
#~ "to) enabled raises a startup error. "
#~ "To use ``--auth-config`` instead, or "
#~ "to run with no authentication at "
#~ "all, set ``XINFERENCE_AUTH_ADVANCED=false``:"
#~ msgstr ""
#~ "Es mutuamente excluyente con la opción"
#~ " ``--auth-config`` del sistema simple; "
#~ "pasar ``--auth-config`` mientras "
#~ "``XINFERENCE_AUTH_ADVANCED`` está habilitado (o "
#~ "lo está de forma predeterminada) genera"
#~ " un error al iniciar. Para usar "
#~ "``--auth-config`` en su lugar, o "
#~ "para ejecutar sin ninguna autenticación, "
#~ "establezca ``XINFERENCE_AUTH_ADVANCED=false``:"

#~ msgid ""
#~ "On first startup with the advanced "
#~ "system enabled, Xinference automatically "
#~ "creates an ``admin`` user (with the "
#~ "``admin`` permission) if the user table"
#~ " is empty, and prints a one-"
#~ "time, randomly generated password to the"
#~ " server log:"
#~ msgstr ""
#~ "En el primer inicio con el sistema"
#~ " avanzado habilitado, Xinference crea "
#~ "automáticamente un usuario ``admin`` (con "
#~ "el permiso ``admin``) si la tabla "
#~ "de usuarios está vacía, e imprime "
#~ "en el registro del servidor una "
#~ "contraseña de un solo uso generada "
#~ "aleatoriamente:"

#~ msgid ""
#~ "This password is **not stored anywhere"
#~ " in plaintext** and is not shown "
#~ "again — save it from the log, "
#~ "and change it on first login (the"
#~ " account is flagged ``must_change_password`` "
#~ "until you do)."
#~ msgstr ""
#~ "Esta contraseña **no se almacena en "
#~ "ningún lugar en texto plano** y no"
#~ " se volverá a mostrar; guárdela del"
#~ " registro y cámbiela en el primer "
#~ "inicio de sesión (la cuenta quedará "
#~ "marcada como ``must_change_password`` hasta "
#~ "que lo haga)."

#~ msgid "Advanced-system permissions"
#~ msgstr "Permisos del sistema avanzado"

#~ msgid ""
#~ "The advanced system uses the same "
#~ "permission names as the simple system"
#~ " (``models:list``, ``models:read``, "
#~ "``models:register``, ``models:unregister``, "
#~ "``models:start``, ``models:stop``, ``admin``), plus"
#~ " additional scopes for managing the "
#~ "advanced system itself:"
#~ msgstr ""
#~ "El sistema avanzado utiliza los mismos"
#~ " nombres de permisos que el sistema"
#~ " simple (``models:list``, ``models:read``, "
#~ "``models:register``, ``models:unregister``, "
#~ "``models:start``, ``models:stop``, ``admin``), "
#~ "además de permisos adicionales para "
#~ "gestionar el propio sistema avanzado:"

#~ msgid "Login and API-key usage"
#~ msgstr "Uso de inicio de sesión y claves de API"

#~ msgid ""
#~ "Login and API-key usage (signin, "
#~ "``--api-key``, ``Authorization: Bearer`` header,"
#~ " OpenAI-SDK compatibility) work the "
#~ "same way as described in the "
#~ "`Usage`_ section above for the simple"
#~ " system."
#~ msgstr ""
#~ "El uso del inicio de sesión y "
#~ "las claves de API (inicio de "
#~ "sesión, ``--api-key``, cabecera "
#~ "``Authorization: Bearer``, compatibilidad con "
#~ "el SDK de OpenAI) funciona de la"
#~ " misma manera descrita en la sección"
#~ " `Usage`_ anterior para el sistema "
#~ "simple."

