feat: UI-Hinweis bei Cartesia + nicht unterstützter Sprache

Wählt der Nutzer Cartesia und eine feste Sprache, die Cartesia nicht
spricht (AR/IT/RU/PL …), erscheint ein Hinweis, dass automatisch die
lokale Piper-Stimme verwendet wird. Macht den tts_fallback sichtbar,
statt lautlos eine andere Stimme zu liefern.

- /api/config liefert neu available.cartesia_unsupported_languages
  (Single Source of Truth: _UNSUPPORTED_LANGS aus cartesia.py).
- app.js zeigt/aktualisiert den Hinweis bei Sprach-/Provider-Wechsel.
- Test: /api/config listet die nicht unterstützten Sprachen.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Dieter Schlüter 2026-06-25 00:49:28 +02:00
commit a6866a6e7f
5 changed files with 44 additions and 1 deletions

View file

@ -2,6 +2,7 @@ import httpx
from fastapi import APIRouter
from app.config import settings, active_profile
from app.providers.tts.cartesia import _UNSUPPORTED_LANGS as _CARTESIA_UNSUPPORTED
from app.dependencies import (
resolve_route,
get_audio_router,
@ -80,6 +81,7 @@ async def get_config():
"chatterbox_reachable": chatterbox_ok,
"openrouter_tts_available": openrouter_tts_ok,
"cartesia_available": cartesia_ok,
"cartesia_unsupported_languages": sorted(_CARTESIA_UNSUPPORTED),
},
"secrets": {
"openrouter_api_key_set": bool(settings.openrouter_api_key.strip()),