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

#: ../../source/getting_started/migration_3_0.rst:5
msgid "Migrating to Xinference 3.0"
msgstr "Migration zu Xinference 3.0"

#: ../../source/getting_started/migration_3_0.rst:7
msgid ""
"Xinference 3.0 modernizes authentication, the web UI, and container "
"deployment. Most workloads keep working unchanged, but a few behaviors "
"and flags were removed or renamed. This page lists every breaking change "
"and how to adapt."
msgstr ""
"Xinference 3.0 modernisiert die Authentifizierung, die Web-UI und die "
"Container-Bereitstellung. Die meisten Workloads funktionieren unverändert"
" weiter, einige Verhaltensweisen und Flags wurden jedoch entfernt oder "
"umbenannt. Diese Seite listet alle Breaking Changes auf und beschreibt, "
"wie Sie sich anpassen können."

#: ../../source/getting_started/migration_3_0.rst:13
msgid "Authentication is enabled by default"
msgstr "Die Authentifizierung ist standardmäßig aktiviert"

#: ../../source/getting_started/migration_3_0.rst:15
msgid ""
"Starting with v3.0, the database-backed authentication system is "
"**enabled by default**. A fresh deployment requires a login or an API key"
" for every API call."
msgstr ""
"Ab v3.0 ist das datenbankgestützte Authentifizierungssystem "
"**standardmäßig aktiviert**. Eine neue Bereitstellung erfordert für jeden"
" API-Aufruf eine Anmeldung oder einen API-Schlüssel."

#: ../../source/getting_started/migration_3_0.rst:19
msgid ""
"On first startup, open the web UI (or call ``POST /v1/admin/setup``) to "
"create the initial admin account. See :ref:`user_guide_auth_system` for "
"the full flow."
msgstr ""
"Öffnen Sie beim ersten Start die Web-UI (oder rufen Sie ``POST "
"/v1/admin/setup`` auf), um das initiale Administratorkonto anzulegen. Den"
" vollständigen Ablauf finden Sie unter :ref:`user_guide_auth_system`."

#: ../../source/getting_started/migration_3_0.rst:22
msgid "To restore the previous unauthenticated behavior, set:"
msgstr ""
"Um das frühere Verhalten ohne Authentifizierung wiederherzustellen, "
"setzen Sie:"

#: ../../source/getting_started/migration_3_0.rst:28
msgid ""
"Existing clients and scripts that talk to an authenticated server must "
"now log in (``xinference login`` / ``client.login()``) or pass an API key"
" (``--api-key`` / ``api_key=`` / ``Authorization: Bearer <key>``)."
msgstr ""
"Bestehende Clients und Skripte, die mit einem authentifizierten Server "
"kommunizieren, müssen sich nun anmelden (``xinference login`` / "
"``client.login()``) oder einen API-Schlüssel übergeben (``--api-key`` / "
"``api_key=`` / ``Authorization: Bearer <key>``)."

#: ../../source/getting_started/migration_3_0.rst:33
msgid "The legacy ``--auth-config`` system is removed"
msgstr "Das alte ``--auth-config``-System wurde entfernt"

#: ../../source/getting_started/migration_3_0.rst:35
msgid ""
"The in-memory JSON authentication system configured through the ``--auth-"
"config`` flag of ``xinference-local`` and ``xinference-supervisor`` has "
"been removed, together with its static ``auth_config.json`` format. The "
"flag no longer exists."
msgstr ""
"Das In-Memory-JSON-Authentifizierungssystem, das über das Flag ``--auth-"
"config`` von ``xinference-local`` und ``xinference-supervisor`` "
"konfiguriert wurde, wurde zusammen mit seinem statischen "
"``auth_config.json``-Format entfernt. Das Flag existiert nicht mehr."

#: ../../source/getting_started/migration_3_0.rst:40
msgid ""
"To carry your old users and API keys over to the new database-backed "
"system, use the migration command:"
msgstr ""
"Um Ihre bisherigen Benutzer und API-Schlüssel in das neue "
"datenbankgestützte System zu übernehmen, verwenden Sie den "
"Migrationsbefehl:"

msgid ""
"The value passed to ``--encryption-key`` must be the **same key** that "
"the upgraded server uses at runtime: either the value of "
"``XINFERENCE_AUTH_ENCRYPTION_KEY`` or the value persisted in "
"``<XINFERENCE_HOME>/auth/encryption_key``. It is not a one-time migration"
" secret. If a different key is used, the migrated API-key hashes can "
"still authenticate requests, but Xinference cannot decrypt or reveal the "
"stored plaintext keys."
msgstr ""
"Der an ``--encryption-key`` übergebene Wert muss **demselben Schlüssel** "
"entsprechen, den der aktualisierte Server zur Laufzeit verwendet: "
"entweder dem Wert von ``XINFERENCE_AUTH_ENCRYPTION_KEY`` oder dem unter "
"``<XINFERENCE_HOME>/auth/encryption_key`` gespeicherten Wert. Es handelt "
"sich nicht um ein einmaliges Migrationsgeheimnis. Wird ein anderer "
"Schlüssel verwendet, können die migrierten API-Schlüssel-Hashes weiterhin"
" Anfragen authentifizieren, Xinference kann die gespeicherten "
"Klartextschlüssel jedoch nicht entschlüsseln oder anzeigen."

#: ../../source/getting_started/migration_3_0.rst:51
msgid ""
"If an admin password is ever lost, an operator with shell access can "
"reset it offline with ``xinference-reset-auth-password`` — see "
":ref:`user_guide_auth_system`."
msgstr ""
"Sollte ein Administratorpasswort einmal verloren gehen, kann ein Operator"
" mit Shell-Zugriff es offline mit ``xinference-reset-auth-password`` "
"zurücksetzen — siehe :ref:`user_guide_auth_system`."

#: ../../source/getting_started/migration_3_0.rst:56
msgid "Permission scope renames"
msgstr "Umbenennungen von Berechtigungs-Scopes"

#: ../../source/getting_started/migration_3_0.rst:58
msgid "Several fine-grained permission scopes were consolidated and renamed:"
msgstr ""
"Mehrere feingranulare Berechtigungs-Scopes wurden zusammengeführt und "
"umbenannt:"

#: ../../source/getting_started/migration_3_0.rst:63
msgid "Legacy scope"
msgstr "Alter Scope"

#: ../../source/getting_started/migration_3_0.rst:64
msgid "Replacement"
msgstr "Ersatz"

#: ../../source/getting_started/migration_3_0.rst:65
msgid "``models:start``"
msgstr "``models:start``"

#: ../../source/getting_started/migration_3_0.rst:66
#: ../../source/getting_started/migration_3_0.rst:68
msgid "``models:write``"
msgstr "``models:write``"

#: ../../source/getting_started/migration_3_0.rst:67
msgid "``models:stop``"
msgstr "``models:stop``"

#: ../../source/getting_started/migration_3_0.rst:69
msgid "``models:add``"
msgstr "``models:add``"

#: ../../source/getting_started/migration_3_0.rst:70
msgid "``models:register``"
msgstr "``models:register``"

#: ../../source/getting_started/migration_3_0.rst:71
msgid "``admin`` (for log routes)"
msgstr "``admin`` (für Log-Routen)"

#: ../../source/getting_started/migration_3_0.rst:72
msgid "``logs:list``"
msgstr "``logs:list``"

#: ../../source/getting_started/migration_3_0.rst:73
msgid "``admin`` (required by the legacy API-key reveal route)"
msgstr ""
"``admin`` (für den bisherigen Endpunkt zum Anzeigen von API-Schlüsseln "
"erforderlich)"

#: ../../source/getting_started/migration_3_0.rst:74
msgid ""
"``keys:manage`` (list any user's keys; update, delete, reveal, and manage"
" per-key model permissions)"
msgstr ""
"``keys:manage`` (Schlüssel beliebiger Benutzer auflisten, aktualisieren, "
"löschen und anzeigen sowie Modellberechtigungen pro Schlüssel verwalten)"

msgid ""
"API key creation remains separate: ``keys:create`` is required to create "
"a key, and ``keys:manage`` is additionally required when creating one for"
" another user."
msgstr ""
"Das Erstellen von API-Schlüsseln bleibt getrennt: ``keys:create`` ist zum"
" Erstellen erforderlich; für einen anderen Benutzer wird zusätzlich "
"``keys:manage`` benötigt."

#: ../../source/getting_started/migration_3_0.rst:76
msgid ""
"Tokens and API keys that carry the legacy scope names keep working: the "
"server transparently maps legacy names to their replacements. This "
"compatibility mapping is deprecated and will be removed in a future "
"release, so update any automation that grants permissions to use the new "
"names."
msgstr ""
"Tokens und API-Schlüssel mit den alten Scope-Namen funktionieren "
"weiterhin: Der Server bildet die alten Namen transparent auf ihre "
"Nachfolger ab. Diese Kompatibilitätszuordnung ist veraltet und wird in "
"einer zukünftigen Version entfernt. Aktualisieren Sie daher jegliche "
"Automatisierung, die Berechtigungen vergibt, auf die neuen Namen."

#: ../../source/getting_started/migration_3_0.rst:82
msgid "New default web UI (Next.js)"
msgstr "Neue Standard-Web-UI (Next.js)"

#: ../../source/getting_started/migration_3_0.rst:84
msgid ""
"The web UI has been rewritten in Next.js and is now the default; the "
"legacy React UI has been removed. The UI is exported statically at build "
"time and served by the Xinference server itself — no separate frontend "
"process is needed."
msgstr ""
"Die Web-UI wurde in Next.js neu geschrieben und ist nun der Standard; die"
" alte React-UI wurde entfernt. Die UI wird zur Build-Zeit statisch "
"exportiert und vom Xinference-Server selbst ausgeliefert — ein separater "
"Frontend-Prozess ist nicht erforderlich."

#: ../../source/getting_started/migration_3_0.rst:89
msgid ""
"The ``XINFERENCE_FRONTEND_ENDPOINT`` environment variable has been "
"**removed**. To serve a custom frontend build, point "
"``XINFERENCE_FRONTEND_DIST_DIR`` at its directory instead."
msgstr ""
"Die Umgebungsvariable ``XINFERENCE_FRONTEND_ENDPOINT`` wurde "
"**entfernt**. Um einen eigenen Frontend-Build auszuliefern, verweisen Sie"
" stattdessen mit ``XINFERENCE_FRONTEND_DIST_DIR`` auf dessen Verzeichnis."

#: ../../source/getting_started/migration_3_0.rst:92
msgid ""
"The old ``/ui/`` path redirects to ``/``. Opening ``/`` takes you to the "
"model launch page."
msgstr ""
"Der alte Pfad ``/ui/`` leitet auf ``/`` weiter. Beim Öffnen von ``/`` "
"gelangen Sie zur Modellstart-Seite."

#: ../../source/getting_started/migration_3_0.rst:96
msgid "Built-in Gradio demo pages are removed"
msgstr "Die integrierten Gradio-Demoseiten wurden entfernt"

#: ../../source/getting_started/migration_3_0.rst:98
#, python-brace-format
msgid ""
"The per-model Gradio demo UI (previously mounted at ``/{model_uid}``) and"
" the ``/v1/ui/*`` endpoints behind it have been removed, along with the "
"``gradio`` dependency. To interact with a running model, use the web UI, "
"the OpenAI-compatible API, or the Python client instead."
msgstr ""
"Die modell-spezifische Gradio-Demo-UI (zuvor unter ``/{model_uid}`` "
"eingehängt) und die dahinterliegenden ``/v1/ui/*``-Endpunkte wurden "
"zusammen mit der ``gradio``-Abhängigkeit entfernt. Verwenden Sie zur "
"Interaktion mit einem laufenden Modell stattdessen die Web-UI, die "
"OpenAI-kompatible API oder den Python-Client."

msgid "The official GPU image requires CUDA 13 and installs engines on demand"
msgstr ""
"Das offizielle GPU-Image erfordert CUDA 13 und installiert Engines bei "
"Bedarf"

msgid ""
"The official 3.0 GPU image is now a slim image based on "
"``nvidia/cuda:13.0.2-devel-ubuntu22.04``. It requires an NVIDIA driver "
"version of **580 or later**. The image still includes Python 3.12, the "
"shared CUDA PyTorch stack, and the Transformers engine, but it no longer "
"pre-installs vLLM, SGLang, llama.cpp, or other optional inference "
"engines."
msgstr ""
"Das offizielle GPU-Image für 3.0 ist nun ein schlankes Image auf Basis "
"von ``nvidia/cuda:13.0.2-devel-ubuntu22.04``. Es erfordert einen NVIDIA-"
"Treiber in Version **580 oder neuer**. Das Image enthält weiterhin Python"
" 3.12, den gemeinsam genutzten CUDA-PyTorch-Stack und die Transformers-"
"Engine, installiert vLLM, SGLang, llama.cpp und andere optionale "
"Inferenz-Engines jedoch nicht mehr vorab."

msgid ""
"When a model needs one of those engines, Xinference installs it into a "
"per-model virtual environment on first launch. The first launch therefore"
" takes longer and requires access to PyPI or a compatible private package"
" mirror; later launches reuse the environment."
msgstr ""
"Wenn ein Modell eine dieser Engines benötigt, installiert Xinference sie "
"beim ersten Start in einer modellspezifischen virtuellen Umgebung. Der "
"erste Start dauert daher länger und erfordert Zugriff auf PyPI oder einen"
" kompatiblen privaten Paketspiegel; spätere Starts verwenden die Umgebung"
" erneut."

msgid ""
"For offline or air-gapped Compose deployments, pull or transfer the "
"matching ``xprobe/xinference-pypiserver`` image and pin it to the same "
"release tag as ``xprobe/xinference``. Alternatively, supply your own "
"wheel directory with the ``docker-compose.byo-wheels.yml`` override. See "
":ref:`using_docker_image` and :ref:`using_docker_compose` for the "
"complete requirements."
msgstr ""
"Für Offline- oder Air-Gap-Compose-Bereitstellungen laden oder übertragen "
"Sie das passende Image ``xprobe/xinference-pypiserver`` und verwenden Sie"
" dafür dasselbe Release-Tag wie für ``xprobe/xinference``. Alternativ "
"können Sie mit der Überschreibung ``docker-compose.byo-wheels.yml`` ein "
"eigenes Wheel-Verzeichnis bereitstellen. Die vollständigen Anforderungen "
"finden Sie unter :ref:`using_docker_image` und "
":ref:`using_docker_compose`."

#: ../../source/getting_started/migration_3_0.rst:104
msgid "Strict Qwen3-family system-message ordering"
msgstr "Strikte Reihenfolge von Systemnachrichten bei der Qwen3-Familie"

#: ../../source/getting_started/migration_3_0.rst:106
msgid ""
"For model families whose chat template requires the system message to "
"come first (including Ornith-1.0-35B, qwen3.5, qwen3.6, and Nex-N2), "
"Xinference now validates message order before dispatching a request. A "
"``system`` message at any position other than ``messages[0]`` returns "
"HTTP 400. Move all system instructions into a single leading system "
"message before upgrading."
msgstr ""
"Bei Modellfamilien, deren Chat-Template die Systemnachricht an erster "
"Stelle verlangt (darunter Ornith-1.0-35B, qwen3.5, qwen3.6 und Nex-N2), "
"prüft Xinference jetzt die Nachrichtenreihenfolge vor der Weiterleitung. "
"Eine ``system``-Nachricht an einer anderen Position als ``messages[0]`` "
"führt zu HTTP 400. Fassen Sie vor dem Upgrade alle Systemanweisungen in "
"einer einzigen führenden Systemnachricht zusammen."

#: ../../source/getting_started/migration_3_0.rst:113
msgid "Docker Compose requirements"
msgstr "Anforderungen an Docker Compose"

#: ../../source/getting_started/migration_3_0.rst:115
msgid ""
"The bundled Compose files dropped the deprecated ``version:`` field and "
"use newer Compose features, so deploying with them requires **Docker "
"Compose v2.24.4 or later**. See :ref:`using_docker_compose`."
msgstr ""
"Die mitgelieferten Compose-Dateien verzichten auf das veraltete Feld "
"``version:`` und nutzen neuere Compose-Funktionen; die Bereitstellung mit"
" ihnen erfordert daher **Docker Compose v2.24.4 oder neuer**. Siehe "
":ref:`using_docker_compose`."
