feat(i18n): Niederländisch (nl) als Sprache aufnehmen
NL war als Halbzustand angelegt (Piper-Modell nl_NL-mls-medium, Chatterbox-nl.wav, LLM-Sprachname, Cartesia-Ausschluss, leeres pronunciation.nl.yaml), fehlte aber im Sprachmenü und Backend-Mapping. - app.js: NL in ALL_LANGS, LANG_BCP47, default_language-Auswahl und piper_voice-Liste (jeweils zwischen IT und PT) - dependencies.py: LANG_TO_PIPER_VOICE nl -> nl_NL-mls-medium (kein GENDERED-Eintrag: nur eine Stimme, wie PT/AR) - safety/emergency.py: NL-Texte in allen 4 Hinweis-Dicts STT (faster-whisper large-v3) und LLM (_LANG_NAMES) unterstützen nl bereits automatisch. Offen: deutsche Ordinalzahlen nur für language=de (NL fällt durch, kosmetisch). Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
37b4c175d2
commit
3d3973dc16
3 changed files with 10 additions and 5 deletions
|
|
@ -68,7 +68,7 @@ async function savePrefs(obj) {
|
|||
const TTS_SUPPORTED = typeof window !== "undefined" && "speechSynthesis" in window;
|
||||
const LANG_BCP47 = {
|
||||
de: "de-DE", en: "en-US", fr: "fr-FR", es: "es-ES",
|
||||
it: "it-IT", pt: "pt-BR", pl: "pl-PL", ar: "ar-SA", ru: "ru-RU", zh: "zh-CN",
|
||||
it: "it-IT", nl: "nl-NL", pt: "pt-BR", pl: "pl-PL", ar: "ar-SA", ru: "ru-RU", zh: "zh-CN",
|
||||
};
|
||||
|
||||
function isMobile() {
|
||||
|
|
@ -359,7 +359,7 @@ async function copyText(text, btn) {
|
|||
}
|
||||
|
||||
const ALL_LANGS = [["de","DE"],["en","EN"],["fr","FR"],["es","ES"],["it","IT"],
|
||||
["pt","PT"],["pl","PL"],["ar","AR"],["ru","RU"],["zh","ZH"]];
|
||||
["nl","NL"],["pt","PT"],["pl","PL"],["ar","AR"],["ru","RU"],["zh","ZH"]];
|
||||
|
||||
// --- Format-Validierung der Notfall-Profil-Felder ------------------------
|
||||
const _isEmail = (v) => /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(v);
|
||||
|
|
@ -1955,12 +1955,12 @@ const FIELD_META = {
|
|||
default_stt_provider: { ui: "combo", opts: ["openrouter","faster-whisper"], test: "stt" },
|
||||
default_llm_provider: { ui: "combo", opts: ["openrouter","local-openai-compatible"], test: "llm" },
|
||||
default_tts_provider: { ui: "combo", opts: ["openrouter","piper","chatterbox"], test: "tts" },
|
||||
default_language: { ui: "combo", opts: ["de","en","fr","es","it","pt","pl","ar"],
|
||||
labels: { de:"Deutsch",en:"Englisch",fr:"Französisch",es:"Spanisch",it:"Italienisch",pt:"Portugiesisch",pl:"Polnisch",ar:"Arabisch" } },
|
||||
default_language: { ui: "combo", opts: ["de","en","fr","es","it","nl","pt","pl","ar"],
|
||||
labels: { de:"Deutsch",en:"Englisch",fr:"Französisch",es:"Spanisch",it:"Italienisch",nl:"Niederländisch",pt:"Portugiesisch",pl:"Polnisch",ar:"Arabisch" } },
|
||||
openrouter_llm_model: { ui: "datalist", test: "llm" },
|
||||
openrouter_tts_model: { ui: "datalist", test: "tts", testProvider: "openrouter" },
|
||||
openrouter_tts_voice: { ui: "combo", opts: ["Zephyr","Puck","Charon","Kore","Fenrir","Leda","Orus","Aoede","Callirrhoe","Enceladus","Algieba","Despina","Achernar"], test: "tts", testProvider: "openrouter" },
|
||||
piper_voice: { ui: "combo", opts: ["de_DE-thorsten-high","de_DE-kerstin-low","en_US-lessac-high","en_US-amy-medium","en_US-ryan-high","en_GB-cori-high","fr_FR-siwis-medium","fr_FR-tom-medium","es_ES-sharvard-medium","it_IT-paola-medium","it_IT-riccardo-x_low","pt_BR-faber-medium","pl_PL-gosia-medium","pl_PL-darkman-medium","ar_JO-kareem-medium","ru_RU-irina-medium","ru_RU-ruslan-medium","zh_CN-huayan-medium"], test: "tts", testProvider: "piper" },
|
||||
piper_voice: { ui: "combo", opts: ["de_DE-thorsten-high","de_DE-kerstin-low","en_US-lessac-high","en_US-amy-medium","en_US-ryan-high","en_GB-cori-high","fr_FR-siwis-medium","fr_FR-tom-medium","es_ES-sharvard-medium","it_IT-paola-medium","it_IT-riccardo-x_low","nl_NL-mls-medium","pt_BR-faber-medium","pl_PL-gosia-medium","pl_PL-darkman-medium","ar_JO-kareem-medium","ru_RU-irina-medium","ru_RU-ruslan-medium","zh_CN-huayan-medium"], test: "tts", testProvider: "piper" },
|
||||
local_llm_system_prompt: { ui: "textarea", test: "llm" },
|
||||
local_llm_temperature: { ui: "range", min: 0, max: 2, step: 0.1, test: "llm" },
|
||||
local_llm_top_p: { ui: "range", min: 0, max: 1, step: 0.05, test: "llm" },
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue