import type { PartialLocaleType } from './index'; import { SAAS_CHAT_UTM_URL } from '@/app/constant'; import { getClientConfig } from '../config/client'; import { SubmitKey } from '../store/config'; const isApp = !!getClientConfig()?.isApp; const de: PartialLocaleType = { WIP: 'In Bearbeitung...', Error: { Unauthorized: isApp ? `😆 Das GesprĂ€ch hatte einige Probleme, keine Sorge: \\ 1ïžâƒŁ Wenn du ohne Konfiguration sofort starten möchtest, [klicke hier, um sofort zu chatten 🚀](${SAAS_CHAT_UTM_URL}) \\ 2ïžâƒŁ Wenn du deine eigenen OpenAI-Ressourcen verwenden möchtest, klicke [hier](/#/settings), um die Einstellungen zu Ă€ndern ⚙` : `😆 Das GesprĂ€ch hatte einige Probleme, keine Sorge: \ 1ïžâƒŁ Wenn du ohne Konfiguration sofort starten möchtest, [klicke hier, um sofort zu chatten 🚀](${SAAS_CHAT_UTM_URL}) \ 2ïžâƒŁ Wenn du eine private Bereitstellung verwendest, klicke [hier](/#/auth), um den ZugriffsschlĂŒssel einzugeben 🔑 \ 3ïžâƒŁ Wenn du deine eigenen OpenAI-Ressourcen verwenden möchtest, klicke [hier](/#/settings), um die Einstellungen zu Ă€ndern ⚙ `, }, Auth: { Title: 'Passwort erforderlich', Tips: 'Der Administrator hat die PasswortĂŒberprĂŒfung aktiviert. Bitte geben Sie den Zugangscode unten ein.', SubTips: 'Oder geben Sie Ihren OpenAI oder Google API-SchlĂŒssel ein.', Input: 'Geben Sie hier den Zugangscode ein', Confirm: 'BestĂ€tigen', Later: 'SpĂ€ter', Return: 'ZurĂŒck', SaasTips: 'Die Konfiguration ist zu kompliziert, ich möchte es sofort nutzen', TopTips: 'đŸ„ł NextChat AI EinfĂŒhrungsangebot, schalte jetzt OpenAI o1, GPT-4o, Claude-3.5 und die neuesten großen Modelle frei', }, ChatItem: { ChatItemCount: (count: number) => `${count} GesprĂ€che`, }, Chat: { SubTitle: (count: number) => `Insgesamt ${count} GesprĂ€che`, EditMessage: { Title: 'Nachricht bearbeiten', Topic: { Title: 'Chat-Thema', SubTitle: 'Ändern Sie das aktuelle Chat-Thema', }, }, Actions: { ChatList: 'Nachrichtliste anzeigen', CompressedHistory: 'Komprimierte Historie anzeigen', Export: 'Chatverlauf exportieren', Copy: 'Kopieren', Stop: 'Stoppen', Retry: 'Erneut versuchen', Pin: 'Anheften', PinToastContent: '1 GesprĂ€ch an den voreingestellten Prompt angeheftet', PinToastAction: 'Ansehen', Delete: 'Löschen', Edit: 'Bearbeiten', RefreshTitle: 'Titel aktualisieren', RefreshToast: 'Anfrage zur Titelaktualisierung gesendet', }, Commands: { new: 'Neues GesprĂ€ch', newm: 'Neues GesprĂ€ch aus Maske erstellen', next: 'NĂ€chstes GesprĂ€ch', prev: 'Vorheriges GesprĂ€ch', clear: 'Kontext löschen', del: 'GesprĂ€ch löschen', }, InputActions: { Stop: 'Antwort stoppen', ToBottom: 'Zum neuesten Beitrag', Theme: { auto: 'Automatisches Thema', light: 'Helles Thema', dark: 'Dunkles Thema', }, Prompt: 'Schnellbefehle', Masks: 'Alle Masken', Clear: 'Chat löschen', Settings: 'GesprĂ€chseinstellungen', UploadImage: 'Bild hochladen', }, Rename: 'GesprĂ€ch umbenennen', Typing: 'Tippt
', Input: (submitKey: string) => { let inputHints = `${submitKey} senden`; if (submitKey === String(SubmitKey.Enter)) { inputHints += 'Shift + Enter fĂŒr Zeilenumbruch'; } return `${inputHints}/ fĂŒr AutovervollstĂ€ndigung, : fĂŒr Befehle`; }, Send: 'Senden', Config: { Reset: 'Erinnerung löschen', SaveAs: 'Als Maske speichern', }, IsContext: 'Voreingestellter Prompt', }, Export: { Title: 'Chatverlauf teilen', Copy: 'Alles kopieren', Download: 'Datei herunterladen', Share: 'Auf ShareGPT teilen', MessageFromYou: 'Benutzer', MessageFromChatGPT: 'ChatGPT', Format: { Title: 'Exportformat', SubTitle: 'Kann als Markdown-Text oder PNG-Bild exportiert werden', }, IncludeContext: { Title: 'Maske Kontext einbeziehen', SubTitle: 'Soll der Maskenkontext in den Nachrichten angezeigt werden?', }, Steps: { Select: 'AuswĂ€hlen', Preview: 'Vorschau', }, Image: { Toast: 'Screenshot wird erstellt', Modal: 'Lang drĂŒcken oder Rechtsklick, um Bild zu speichern', }, }, Select: { Search: 'Nachrichten suchen', All: 'Alles auswĂ€hlen', Latest: 'Neueste', Clear: 'Auswahl aufheben', }, Memory: { Title: 'Historische Zusammenfassung', EmptyContent: 'GesprĂ€chsinhalte sind zu kurz, keine Zusammenfassung erforderlich', Send: 'Chatverlauf automatisch komprimieren und als Kontext senden', Copy: 'Zusammenfassung kopieren', Reset: '[nicht verwendet]', ResetConfirm: 'Zusammenfassung löschen bestĂ€tigen?', }, Home: { NewChat: 'Neues GesprĂ€ch', DeleteChat: 'BestĂ€tigen Sie das Löschen des ausgewĂ€hlten GesprĂ€chs?', DeleteToast: 'GesprĂ€ch gelöscht', Revert: 'RĂŒckgĂ€ngig machen', }, Settings: { Title: 'Einstellungen', SubTitle: 'Alle Einstellungsmöglichkeiten', Danger: { Reset: { Title: 'Alle Einstellungen zurĂŒcksetzen', SubTitle: 'Setzt alle Einstellungen auf die Standardwerte zurĂŒck', Action: 'Jetzt zurĂŒcksetzen', Confirm: 'BestĂ€tigen Sie das ZurĂŒcksetzen aller Einstellungen?', }, Clear: { Title: 'Alle Daten löschen', SubTitle: 'Löscht alle Chats und Einstellungsdaten', Action: 'Jetzt löschen', Confirm: 'BestĂ€tigen Sie das Löschen aller Chats und Einstellungsdaten?', }, }, Lang: { Name: 'Sprache', // ACHTUNG: Wenn Sie eine neue Übersetzung hinzufĂŒgen möchten, ĂŒbersetzen Sie diesen Wert bitte nicht, lassen Sie ihn als `Sprache` All: 'Alle Sprachen', }, Avatar: 'Avatar', FontSize: { Title: 'SchriftgrĂ¶ĂŸe', SubTitle: 'SchriftgrĂ¶ĂŸe des Chat-Inhalts', }, FontFamily: { Title: 'Chat-Schriftart', SubTitle: 'Schriftart des Chat-Inhalts, leer lassen, um die globale Standardschriftart anzuwenden', Placeholder: 'Schriftartname', }, InjectSystemPrompts: { Title: 'Systemweite Eingabeaufforderungen einfĂŒgen', SubTitle: 'FĂŒgt jeder Nachricht am Anfang der Nachrichtenliste eine simulierte ChatGPT-Systemaufforderung hinzu', }, InputTemplate: { Title: 'Benutzer-Eingabeverarbeitung', SubTitle: 'Die neueste Nachricht des Benutzers wird in diese Vorlage eingefĂŒgt', }, Update: { Version: (x: string) => `Aktuelle Version: ${x}`, IsLatest: 'Bereits die neueste Version', CheckUpdate: 'Auf Updates ĂŒberprĂŒfen', IsChecking: 'ÜberprĂŒfe auf Updates...', FoundUpdate: (x: string) => `Neue Version gefunden: ${x}`, GoToUpdate: 'Zum Update gehen', }, SendKey: 'Sende-Taste', Theme: 'Thema', TightBorder: 'Randloser Modus', SendPreviewBubble: { Title: 'Vorschau-Bubble', SubTitle: 'Markdown-Inhalt in der Vorschau-Bubble anzeigen', }, AutoGenerateTitle: { Title: 'Titel automatisch generieren', SubTitle: 'Basierend auf dem Chat-Inhalt einen passenden Titel generieren', }, Sync: { CloudState: 'Cloud-Daten', NotSyncYet: 'Noch nicht synchronisiert', Success: 'Synchronisation erfolgreich', Fail: 'Synchronisation fehlgeschlagen', Config: { Modal: { Title: 'Cloud-Synchronisation konfigurieren', Check: 'VerfĂŒgbarkeit ĂŒberprĂŒfen', }, SyncType: { Title: 'Synchronisationstyp', SubTitle: 'WĂ€hlen Sie den bevorzugten Synchronisationsserver aus', }, Proxy: { Title: 'Proxy aktivieren', SubTitle: 'Beim Synchronisieren im Browser muss ein Proxy aktiviert werden, um Cross-Origin-BeschrĂ€nkungen zu vermeiden', }, ProxyUrl: { Title: 'Proxy-Adresse', SubTitle: 'Nur fĂŒr projektinterne Cross-Origin-Proxy', }, WebDav: { Endpoint: 'WebDAV-Adresse', UserName: 'Benutzername', Password: 'Passwort', }, UpStash: { Endpoint: 'UpStash Redis REST-Url', UserName: 'Sicherungsname', Password: 'UpStash Redis REST-Token', }, }, LocalState: 'Lokale Daten', Overview: (overview: any) => { return `${overview.chat} Chats, ${overview.message} Nachrichten, ${overview.prompt} Eingabeaufforderungen, ${overview.mask} Masken`; }, ImportFailed: 'Import fehlgeschlagen', }, Mask: { Splash: { Title: 'Masken-Startseite', SubTitle: 'Zeige die Masken-Startseite beim Erstellen eines neuen Chats', }, Builtin: { Title: 'Eingebaute Masken ausblenden', SubTitle: 'Blendet eingebaute Masken in allen Maskenlisten aus', }, }, Prompt: { Disable: { Title: 'Automatische Eingabeaufforderung deaktivieren', SubTitle: 'Geben Sie am Anfang des Eingabefelds / ein, um die automatische VervollstĂ€ndigung auszulösen', }, List: 'Benutzerdefinierte Eingabeaufforderungsliste', ListCount: (builtin: number, custom: number) => `Eingebaut ${builtin} StĂŒck, Benutzerdefiniert ${custom} StĂŒck`, Edit: 'Bearbeiten', Modal: { Title: 'Eingabeaufforderungsliste', Add: 'Neu erstellen', Search: 'Eingabeaufforderungen suchen', }, EditModal: { Title: 'Eingabeaufforderung bearbeiten', }, }, HistoryCount: { Title: 'Anzahl der historischen Nachrichten', SubTitle: 'Anzahl der historischen Nachrichten, die bei jeder Anfrage mitgesendet werden', }, CompressThreshold: { Title: 'Komprimierungsschwelle fĂŒr historische NachrichtenlĂ€nge', SubTitle: 'Wenn die unkomprimierten historischen Nachrichten diesen Wert ĂŒberschreiten, wird komprimiert', }, Usage: { Title: 'Guthabenabfrage', SubTitle(used: any, total: any) { return `In diesem Monat verwendet $${used}, Abonnement insgesamt $${total}`; }, IsChecking: 'Wird ĂŒberprĂŒft
', Check: 'Erneut ĂŒberprĂŒfen', NoAccess: 'Geben Sie API-SchlĂŒssel oder Zugangspasswort ein, um das Guthaben einzusehen', }, Access: { SaasStart: { Title: 'NextChat AI verwenden', Label: '(Die kosteneffektivste Lösung)', SubTitle: 'Offiziell von NextChat verwaltet, sofort einsatzbereit ohne Konfiguration, unterstĂŒtzt die neuesten großen Modelle wie OpenAI o1, GPT-4o und Claude-3.5', ChatNow: 'Jetzt chatten', }, AccessCode: { Title: 'Zugangscode', SubTitle: 'Der Administrator hat die verschlĂŒsselte Zugriffskontrolle aktiviert', Placeholder: 'Geben Sie den Zugangscode ein', }, CustomEndpoint: { Title: 'Benutzerdefinierte Schnittstelle', SubTitle: 'Benutzerdefinierte Azure- oder OpenAI-Dienste verwenden', }, Provider: { Title: 'Modellanbieter', SubTitle: 'Wechseln Sie zu verschiedenen Anbietern', }, OpenAI: { ApiKey: { Title: 'API-SchlĂŒssel', SubTitle: 'Verwenden Sie benutzerdefinierten OpenAI-SchlĂŒssel, um PasswortzugangsbeschrĂ€nkungen zu umgehen', Placeholder: 'OpenAI API-SchlĂŒssel', }, Endpoint: { Title: 'Schnittstellenadresse', SubTitle: 'Neben der Standardadresse muss http(s):// enthalten sein', }, }, Azure: { ApiKey: { Title: 'SchnittstellenschlĂŒssel', SubTitle: 'Verwenden Sie benutzerdefinierten Azure-SchlĂŒssel, um PasswortzugangsbeschrĂ€nkungen zu umgehen', Placeholder: 'Azure API-SchlĂŒssel', }, Endpoint: { Title: 'Schnittstellenadresse', SubTitle: 'Beispiel:', }, ApiVerion: { Title: 'Schnittstellenversion (azure api version)', SubTitle: 'WĂ€hlen Sie eine spezifische Teilversion aus', }, }, Anthropic: { ApiKey: { Title: 'SchnittstellenschlĂŒssel', SubTitle: 'Verwenden Sie benutzerdefinierten Anthropic-SchlĂŒssel, um PasswortzugangsbeschrĂ€nkungen zu umgehen', Placeholder: 'Anthropic API-SchlĂŒssel', }, Endpoint: { Title: 'Schnittstellenadresse', SubTitle: 'Beispiel:', }, ApiVerion: { Title: 'Schnittstellenversion (claude api version)', SubTitle: 'WĂ€hlen Sie eine spezifische API-Version aus', }, }, Google: { ApiKey: { Title: 'API-SchlĂŒssel', SubTitle: 'Holen Sie sich Ihren API-SchlĂŒssel von Google AI', Placeholder: 'Geben Sie Ihren Google AI Studio API-SchlĂŒssel ein', }, Endpoint: { Title: 'Endpunktadresse', SubTitle: 'Beispiel:', }, ApiVersion: { Title: 'API-Version (nur fĂŒr gemini-pro)', SubTitle: 'WĂ€hlen Sie eine spezifische API-Version aus', }, GoogleSafetySettings: { Title: 'Google Sicherheitsfilterstufe', SubTitle: 'Inhaltfilterstufe einstellen', }, }, Baidu: { ApiKey: { Title: 'API-SchlĂŒssel', SubTitle: 'Verwenden Sie benutzerdefinierten Baidu API-SchlĂŒssel', Placeholder: 'Baidu API-SchlĂŒssel', }, SecretKey: { Title: 'GeheimschlĂŒssel', SubTitle: 'Verwenden Sie benutzerdefinierten Baidu GeheimschlĂŒssel', Placeholder: 'Baidu GeheimschlĂŒssel', }, Endpoint: { Title: 'Schnittstellenadresse', SubTitle: 'Keine benutzerdefinierten Adressen unterstĂŒtzen, konfigurieren Sie in .env', }, }, ByteDance: { ApiKey: { Title: 'SchnittstellenschlĂŒssel', SubTitle: 'Verwenden Sie benutzerdefinierten ByteDance API-SchlĂŒssel', Placeholder: 'ByteDance API-SchlĂŒssel', }, Endpoint: { Title: 'Schnittstellenadresse', SubTitle: 'Beispiel:', }, }, Alibaba: { ApiKey: { Title: 'SchnittstellenschlĂŒssel', SubTitle: 'Verwenden Sie benutzerdefinierten Alibaba Cloud API-SchlĂŒssel', Placeholder: 'Alibaba Cloud API-SchlĂŒssel', }, Endpoint: { Title: 'Schnittstellenadresse', SubTitle: 'Beispiel:', }, }, CustomModel: { Title: 'Benutzerdefinierter Modellname', SubTitle: 'FĂŒgen Sie benutzerdefinierte Modelloptionen hinzu, getrennt durch Kommas', }, }, Model: 'Modell', CompressModel: { Title: 'Kompressionsmodell', SubTitle: 'Modell zur Komprimierung des Verlaufs', }, Temperature: { Title: 'ZufĂ€lligkeit (temperature)', SubTitle: 'Je höher der Wert, desto zufĂ€lliger die Antwort', }, TopP: { Title: 'Kern-Sampling (top_p)', SubTitle: 'Ähnlich der ZufĂ€lligkeit, aber nicht zusammen mit ZufĂ€lligkeit Ă€ndern', }, MaxTokens: { Title: 'Maximale Token-Anzahl pro Antwort', SubTitle: 'Maximale Anzahl der Tokens pro Interaktion', }, PresencePenalty: { Title: 'Themenfrische (presence_penalty)', SubTitle: 'Je höher der Wert, desto wahrscheinlicher wird auf neue Themen eingegangen', }, FrequencyPenalty: { Title: 'HĂ€ufigkeitsstrafe (frequency_penalty)', SubTitle: 'Je höher der Wert, desto wahrscheinlicher werden wiederholte Wörter reduziert', }, }, Store: { DefaultTopic: 'Neuer Chat', BotHello: 'Wie kann ich Ihnen helfen?', Error: 'Ein Fehler ist aufgetreten, bitte versuchen Sie es spĂ€ter noch einmal', Prompt: { History: (content: string) => `Dies ist eine Zusammenfassung des bisherigen Chats als Hintergrundinformation: ${ content}`, Topic: 'Geben Sie ein kurzes Thema in vier bis fĂŒnf Wörtern zurĂŒck, ohne ErklĂ€rungen, ohne Satzzeichen, ohne FĂŒllwörter, ohne zusĂ€tzliche Texte und ohne Fettdruck. Wenn kein Thema vorhanden ist, geben Sie bitte „Allgemeines GesprĂ€ch“ zurĂŒck.', Summarize: 'Fassen Sie den GesprĂ€chsinhalt zusammen, um als Kontextaufforderung fĂŒr den nĂ€chsten Schritt zu dienen, halten Sie es unter 200 Zeichen', }, }, Copy: { Success: 'In die Zwischenablage geschrieben', Failed: 'Kopieren fehlgeschlagen, bitte erlauben Sie Zugriff auf die Zwischenablage', }, Download: { Success: 'Inhalt wurde in Ihrem Verzeichnis heruntergeladen.', Failed: 'Download fehlgeschlagen.', }, Context: { Toast: (x: any) => `Beinhaltet ${x} vordefinierte Eingabeaufforderungen`, Edit: 'Aktuelle GesprĂ€chseinstellungen', Add: 'Neues GesprĂ€ch hinzufĂŒgen', Clear: 'Kontext gelöscht', Revert: 'Kontext wiederherstellen', }, Plugin: { Name: 'Plugins', }, FineTuned: { Sysmessage: 'Du bist ein Assistent', }, SearchChat: { Name: 'Suche', Page: { Title: 'Chatverlauf durchsuchen', Search: 'Suchbegriff eingeben', NoResult: 'Keine Ergebnisse gefunden', NoData: 'Keine Daten', Loading: 'Laden', SubTitle: (count: number) => `${count} Ergebnisse gefunden`, }, Item: { View: 'Ansehen', }, }, Mask: { Name: 'Masken', Page: { Title: 'Vordefinierte Rollenmasken', SubTitle: (count: number) => `${count} vordefinierte Rollenbeschreibungen`, Search: 'Rollenmasken suchen', Create: 'Neu erstellen', }, Item: { Info: (count: number) => `Beinhaltet ${count} vordefinierte GesprĂ€che`, Chat: 'GesprĂ€ch', View: 'Anzeigen', Edit: 'Bearbeiten', Delete: 'Löschen', DeleteConfirm: 'BestĂ€tigen Sie das Löschen?', }, EditModal: { Title: (readonly: boolean) => `Vordefinierte Maske bearbeiten ${readonly ? 'Nur lesen' : ''}`, Download: 'Vorgabe herunterladen', Clone: 'Vorgabe klonen', }, Config: { Avatar: 'Rollen-Avatar', Name: 'Rollenname', Sync: { Title: 'Globale Einstellungen verwenden', SubTitle: 'Soll das aktuelle GesprĂ€ch die globalen Modelleinstellungen verwenden?', Confirm: 'Die benutzerdefinierten Einstellungen des aktuellen GesprĂ€chs werden automatisch ĂŒberschrieben. BestĂ€tigen Sie, dass Sie die globalen Einstellungen aktivieren möchten?', }, HideContext: { Title: 'Vordefinierte GesprĂ€che ausblenden', SubTitle: 'Nach dem Ausblenden werden vordefinierte GesprĂ€che nicht mehr im Chat angezeigt', }, Share: { Title: 'Diese Maske teilen', SubTitle: 'Generieren Sie einen Direktlink zu dieser Maske', Action: 'Link kopieren', }, }, }, NewChat: { Return: 'ZurĂŒck', Skip: 'Direkt beginnen', NotShow: 'Nicht mehr anzeigen', ConfirmNoShow: 'BestĂ€tigen Sie die Deaktivierung? Nach der Deaktivierung können Sie jederzeit in den Einstellungen wieder aktivieren.', Title: 'WĂ€hlen Sie eine Maske aus', SubTitle: 'Starten Sie jetzt und lassen Sie sich von den Gedanken hinter der Maske inspirieren', More: 'Alle anzeigen', }, URLCommand: { Code: 'Ein Zugangscode wurde im Link gefunden. Möchten Sie diesen automatisch einfĂŒgen?', Settings: 'Vordefinierte Einstellungen wurden im Link gefunden. Möchten Sie diese automatisch einfĂŒgen?', }, UI: { Confirm: 'BestĂ€tigen', Cancel: 'Abbrechen', Close: 'Schließen', Create: 'Neu erstellen', Edit: 'Bearbeiten', Export: 'Exportieren', Import: 'Importieren', Sync: 'Synchronisieren', Config: 'Konfigurieren', }, Exporter: { Description: { Title: 'Nur Nachrichten nach dem Löschen des Kontexts werden angezeigt', }, Model: 'Modell', Messages: 'Nachrichten', Topic: 'Thema', Time: 'Zeit', }, }; export default de;