feat(i18n): complete German localization
This commit is contained in:
@@ -209,12 +209,32 @@ const JA_MESSAGES: BootstrapMessages = {
|
||||
loadingData: (providersText, agentsText) => `データを読み込み中 (${providersText}, ${agentsText})…`,
|
||||
};
|
||||
|
||||
const DE_MESSAGES: BootstrapMessages = {
|
||||
startingApi: 'OpenCode API wird gestartet…',
|
||||
initializing: 'Initialisierung…',
|
||||
connecting: 'Verbindung wird hergestellt…',
|
||||
connected: 'Verbunden!',
|
||||
connectionError: 'Verbindungsfehler',
|
||||
disconnected: 'Verbindung getrennt',
|
||||
reconnecting: 'Verbindung wird wiederhergestellt…',
|
||||
initialDataLoadFailed: 'OpenCode ist verbunden, aber die Anfangsdaten konnten nicht geladen werden.',
|
||||
cliNotFound: 'OpenCode CLI wurde nicht gefunden. Installieren Sie es zuerst.',
|
||||
providersReady: '✓ Anbieter',
|
||||
providersLoading: '… Anbieter',
|
||||
agentsReady: '✓ Agents',
|
||||
agentsLoading: '… Agents',
|
||||
startingDevServer: (hostLabel) => `Webview-Entwicklungsserver wird gestartet (${hostLabel})...`,
|
||||
waitingDevServer: (hostLabel, attempt) => `Warten auf den Webview-Entwicklungsserver (${hostLabel})... Versuch ${attempt}`,
|
||||
loadingData: (providersText, agentsText) => `Daten werden geladen (${providersText}, ${agentsText})…`,
|
||||
};
|
||||
|
||||
export const getBootstrapMessages = (locale: Locale): BootstrapMessages => {
|
||||
return BOOTSTRAP_MESSAGES[locale];
|
||||
};
|
||||
|
||||
const BOOTSTRAP_MESSAGES: Record<Locale, BootstrapMessages> = {
|
||||
en: EN_MESSAGES,
|
||||
de: DE_MESSAGES,
|
||||
fr: FR_MESSAGES,
|
||||
'zh-CN': ZH_CN_MESSAGES,
|
||||
'zh-TW': ZH_TW_MESSAGES,
|
||||
|
||||
@@ -3,6 +3,7 @@ import type { Locale } from './runtime';
|
||||
|
||||
const INTL_LOCALE_BY_LOCALE: Record<Locale, string> = {
|
||||
en: 'en-US',
|
||||
de: 'de-DE',
|
||||
fr: 'fr-FR',
|
||||
'zh-CN': 'zh-CN',
|
||||
'zh-TW': 'zh-TW',
|
||||
|
||||
@@ -2,6 +2,7 @@ import { describe, expect, test } from 'bun:test';
|
||||
|
||||
import { dict as enDict } from './messages/en';
|
||||
import { dict as esDict } from './messages/es';
|
||||
import { dict as deDict } from './messages/de';
|
||||
import { dict as frDict } from './messages/fr';
|
||||
import { dict as jaDict } from './messages/ja';
|
||||
import { dict as koDict } from './messages/ko';
|
||||
@@ -13,6 +14,7 @@ import { dict as zhTwDict } from './messages/zh-TW';
|
||||
|
||||
const localeDictionaries = {
|
||||
en: enDict,
|
||||
de: deDict,
|
||||
fr: frDict,
|
||||
es: esDict,
|
||||
ja: jaDict,
|
||||
@@ -35,6 +37,7 @@ describe('i18n dictionaries', () => {
|
||||
|
||||
test('all locales expose language label keys', () => {
|
||||
for (const [, dictionary] of Object.entries(localeDictionaries)) {
|
||||
expect(dictionary['common.language.german']).toBeTruthy();
|
||||
expect(dictionary['common.language.french']).toBeTruthy();
|
||||
expect(dictionary['common.language.japanese']).toBeTruthy();
|
||||
}
|
||||
|
||||
@@ -532,9 +532,7 @@ export const settingsDict = {
|
||||
'settings.behavior.page.warning.title': 'Globale Regeln werden mit Projektregeln kombiniert',
|
||||
'settings.behavior.page.warning.description': 'Hier vorgenommene Änderungen aktualisieren {path}. OpenCode berücksichtigt auch alle AGENTS.md-Regeln auf Projektebene, sofern vorhanden.',
|
||||
'settings.behavior.page.section.systemPrompt': 'Globale AGENTS.md',
|
||||
'settings.behavior.page.field.systemPromptPlaceholder': 'Sie sind ein hilfreicher KI-Assistent...
|
||||
|
||||
Verwenden Sie diesen Bereich, um absolute Regeln für das Verhalten der KI über alle Sitzungen und Anbieter hinweg festzulegen.',
|
||||
'settings.behavior.page.field.systemPromptPlaceholder': 'Sie sind ein hilfreicher KI-Assistent...\n\nVerwenden Sie diesen Bereich, um absolute Regeln für das Verhalten der KI über alle Sitzungen und Anbieter hinweg festzulegen.',
|
||||
'settings.behavior.page.section.responseStyle': 'Antwortstil',
|
||||
'settings.behavior.page.responseStyle.tooltip': 'Wenn aktiviert, steuern diese Anweisungen, wie der Assistent in jedem neuen Gespräch antwortet.',
|
||||
'settings.behavior.page.responseStyle.enableAria': 'Antwortstil-Anweisungen aktivieren',
|
||||
@@ -898,7 +896,6 @@ Verwenden Sie diesen Bereich, um absolute Regeln für das Verhalten der KI über
|
||||
'settings.openchamber.desktopNetwork.field.windowControlsPosition': 'Position der Fenstersteuerung',
|
||||
'settings.openchamber.desktopNetwork.field.windowControlsPositionDescription': 'Wählen Sie aus, wo die Schaltflächen zum Minimieren, Maximieren und Schließen angezeigt werden. Auto folgt Ihrem Betriebssystem.',
|
||||
'settings.openchamber.desktopNetwork.field.windowControlsPositionAria': 'Position der Fenstersteuerung',
|
||||
'settings.openchamber.desktopNetwork.option.windowControlsAuto': 'Auto',
|
||||
'settings.openchamber.desktopNetwork.option.windowControlsLeft': 'Links',
|
||||
'settings.openchamber.desktopNetwork.option.windowControlsRight': 'Rechts',
|
||||
'settings.openchamber.desktopNetwork.field.launchAtLoginAria': 'OpenChamber bei Anmeldung starten',
|
||||
@@ -1046,7 +1043,6 @@ Verwenden Sie diesen Bereich, um absolute Regeln für das Verhalten der KI über
|
||||
'settings.openchamber.keyboardShortcuts.action.toggle_right_sidebar.label': 'Rechte Seitenleiste umschalten',
|
||||
'settings.openchamber.keyboardShortcuts.action.open_right_sidebar_git.label': 'Git-Tab der rechten Seitenleiste öffnen',
|
||||
'settings.openchamber.keyboardShortcuts.action.open_right_sidebar_files.label': 'Datei-Tab der rechten Seitenleiste öffnen',
|
||||
'settings.openchamber.keyboardShortcuts.action.cycle_right_sidebar_tab.label': 'Rechte Seitenleisten-Tab durchschalten',
|
||||
'settings.openchamber.keyboardShortcuts.action.new_chat.label': 'Neue Sitzung',
|
||||
'settings.openchamber.keyboardShortcuts.action.new_chat_worktree.label': 'Neuer Worktree-Entwurf',
|
||||
'settings.openchamber.keyboardShortcuts.action.new_mini_chat.label': 'Neues Mini-Chat-Fenster',
|
||||
@@ -1953,4 +1949,95 @@ Verwenden Sie diesen Bereich, um absolute Regeln für das Verhalten der KI über
|
||||
'settings.openchamber.visual.field.followUpBehaviorDescription': 'Wählen Sie aus, was passiert, wenn Sie Enter auf einer Follow-up-Nachricht drücken, während der Agent noch antwortet.',
|
||||
'settings.openchamber.visual.option.followUpBehavior.steer.label': 'Steuerung',
|
||||
'settings.openchamber.visual.option.followUpBehavior.queue.label': 'Warteschlange',
|
||||
|
||||
'settings.providers.page.quotaCredentials.accessToken': 'Zugriffstoken',
|
||||
'settings.providers.page.quotaCredentials.refreshToken': 'Aktualisierungstoken',
|
||||
'settings.providers.page.quotaCredentials.tokenPlaceholder': 'Token einfügen',
|
||||
'settings.view.nav.group.general': 'OpenChamber',
|
||||
'settings.view.nav.group.projects': 'Arbeitsbereich',
|
||||
'settings.view.nav.group.opencode': 'OpenCode',
|
||||
'settings.view.nav.group.content': 'Bibliothek',
|
||||
'settings.page.appearance.description': 'Passe an, wie OpenChamber aussieht und sich anfühlt.',
|
||||
'settings.page.chat.description': 'Konfiguriere, wie Nachrichten und Werkzeuge angezeigt werden.',
|
||||
'settings.page.shortcuts.description': 'Tastenkürzel anpassen.',
|
||||
'settings.page.general.title': 'Allgemein',
|
||||
'settings.page.general.description': 'App-Start, Sicherheit, Verbindung und Datenschutz.',
|
||||
'settings.page.sessions.description': 'Standardwerte und Aufbewahrung für Sitzungen festlegen.',
|
||||
'settings.page.notifications.description': 'Wähle, wann und wie du benachrichtigt wirst.',
|
||||
'settings.page.voice.description': 'Spracheingabe und Diktat konfigurieren.',
|
||||
'settings.page.tunnel.description': 'Diese Instanz über einen Remote-Tunnel bereitstellen.',
|
||||
'settings.common.infoAria': 'Weitere Informationen',
|
||||
'settings.common.status.saved': 'Gespeichert',
|
||||
'settings.common.status.saveFailed': 'Speichern fehlgeschlagen',
|
||||
'settings.agents.page.permissionsEditor.sectionInfo': 'Bearbeitet die eigenen Berechtigungsregeln dieses Agenten genau so, wie sie in seiner Konfiguration gespeichert sind. „Vererben“ lässt einen Schlüssel unset, damit globale Konfiguration und Standardwerte gelten.',
|
||||
'settings.agents.page.permissionsEditor.defaultLabel': 'Standard für alle Werkzeuge',
|
||||
'settings.agents.page.permissionsEditor.defaultAria': 'Standardberechtigung für alle Werkzeuge',
|
||||
'settings.agents.page.permissionsEditor.defaultInfo': 'Der agentenweite Fallback (der *-Schlüssel). Gilt für jedes Werkzeug ohne eigene Regel.',
|
||||
'settings.agents.page.permissionsEditor.effectiveHint': '→ {action}',
|
||||
'settings.agents.page.permissionsEditor.ruleCount': '{count} Regeln',
|
||||
'settings.agents.page.permissionsEditor.keyAria': 'Berechtigung für {key}',
|
||||
'settings.agents.page.permissionsEditor.patternPlaceholder': 'Muster, z. B. rm -rf * oder /pfad/**',
|
||||
'settings.agents.page.permissionsEditor.patternActionAria': 'Aktion für das Muster {key}',
|
||||
'settings.agents.page.permissionsEditor.customKeyPlaceholder': 'Benutzerdefinierter Berechtigungsschlüssel…',
|
||||
'settings.agents.page.permissionsEditor.sessionRulesTitle': 'In Sitzung gewährt (nicht gespeichert)',
|
||||
'settings.agents.page.permissionsEditor.sessionRulesInfo': 'Regeln, die während aktiver Sitzungen gewährt wurden (z. B. Antworten wie „immer erlauben“). Sie gelten sofort, sind aber kein Teil der gespeicherten Konfiguration und verschwinden beim Neustart.',
|
||||
'settings.agents.page.permissionsEditor.action.default': 'Standard',
|
||||
'settings.agents.page.permissionsEditor.action.inherit': 'Vererben',
|
||||
'settings.agents.page.permissionsEditor.action.allow': 'Erlauben',
|
||||
'settings.agents.page.permissionsEditor.action.ask': 'Nachfragen',
|
||||
'settings.agents.page.permissionsEditor.action.deny': 'Verweigern',
|
||||
'settings.agents.page.permissionsEditor.actions.save': 'Berechtigungen speichern',
|
||||
'settings.agents.page.permissionsEditor.actions.discard': 'Verwerfen',
|
||||
'settings.agents.page.permissionsEditor.actions.addRule': 'Regel hinzufügen',
|
||||
'settings.agents.page.permissionsEditor.actions.addKey': 'Schlüssel hinzufügen',
|
||||
'settings.agents.page.permissionsEditor.actions.removeRuleAria': 'Regel entfernen',
|
||||
'settings.agents.page.permissionsEditor.actions.retry': 'Erneut versuchen',
|
||||
'settings.agents.page.permissionsEditor.state.loadFailed': 'Agenten-Berechtigungskonfiguration konnte nicht geladen werden.',
|
||||
'settings.agents.page.permissionsEditor.toast.saved': 'Berechtigungen gespeichert',
|
||||
'settings.agents.page.permissionsEditor.toast.savedRestartRequired': 'Berechtigungen gespeichert — OpenCode-Server neu starten, um sie anzuwenden',
|
||||
'settings.agents.page.permissionsEditor.toast.saveFailed': 'Berechtigungen konnten nicht gespeichert werden',
|
||||
'settings.page.behavior.description': 'Lege fest, wie der Agent reagiert.',
|
||||
'settings.behavior.page.section.systemPromptOptimization': 'System-Prompt-Optimierung',
|
||||
'settings.behavior.page.systemPromptOptimization.enable': 'Größe des System-Prompts optimieren',
|
||||
'settings.behavior.page.systemPromptOptimization.enableAria': 'Größe des OpenCode-System-Prompts optimieren',
|
||||
'settings.behavior.page.systemPromptOptimization.info': 'Reduziert den System-Prompt für die Build- und Plan-Agenten schätzungsweise um 40 %. Andere Agenten bleiben unverändert. Dadurch können benutzerdefinierte Definitionen entfernt werden, die Build oder Plan überschreiben, daher nicht für Workflows aktivieren, die diese Agenten anpassen. Ein Neustart von OpenCode wendet die Änderung an.',
|
||||
'settings.behavior.page.systemPromptOptimization.restarting': 'OpenCode wird neu gestartet, um die System-Prompt-Optimierung anzuwenden…',
|
||||
'settings.openchamber.desktopNetwork.field.windowControls': 'Fenstersteuerungen',
|
||||
'settings.openchamber.desktopNetwork.field.windowControlsStyle': 'Stil',
|
||||
'settings.openchamber.desktopNetwork.field.windowControlsStyleAria': 'Stil der Fenstersteuerungen',
|
||||
'settings.openchamber.desktopNetwork.option.windowControlsClassic': 'Klassisch',
|
||||
'settings.openchamber.desktopNetwork.option.windowControlsTrafficLights': 'Ampeln',
|
||||
'settings.openchamber.desktopNetwork.field.macMenuBarAria': 'OpenChamber in der macOS-Menüleiste anzeigen',
|
||||
'settings.openchamber.desktopNetwork.field.macMenuBar': 'OpenChamber in der Menüleiste anzeigen',
|
||||
'settings.openchamber.desktopNetwork.field.macMenuBarDescription': 'Erfordert einen Neustart der App. Wenn deaktiviert, erstellt OpenChamber weder den Menüleisten-Eintrag noch führt es dessen Sitzungs-, Genehmigungs- und Nutzungsaktualisierungen aus.',
|
||||
'settings.openchamber.desktopPassword.actions.showPassword': 'Passwort anzeigen',
|
||||
'settings.openchamber.desktopPassword.actions.hidePassword': 'Passwort verbergen',
|
||||
'settings.openchamber.opencodeCli.field.agentControlTool': 'Agenten-Steuerungswerkzeug',
|
||||
'settings.openchamber.opencodeCli.field.agentControlToolAria': 'Das Agenten-Steuerungswerkzeug aktivieren',
|
||||
'settings.openchamber.opencodeCli.field.agentControlToolInfo': 'Lässt Agenten deine Arbeit per Chat orchestrieren: Sitzungen und Arbeitsbereiche starten, Prompts an andere Agenten delegieren und geplante Aufgaben verwalten. Fügt jeder Sitzung eine kleine Werkzeugbeschreibung hinzu. Gilt nach Speichern + Neuladen.',
|
||||
'settings.openchamber.defaults.walkthroughModel.title': 'Walkthrough-Modell ändern',
|
||||
'settings.openchamber.defaults.walkthroughModel.description': 'Die KI-Prüfung deiner Änderungen benötigt strukturierten Output und Platz für einen ganzen Diff, den ein günstiges kleines Modell oft nicht liefern kann. Modelle, die der Katalog als nicht in der Lage zu strukturiertem Output meldet, werden in diesem Auswahlfeld ausgeblendet. Lasse es leer, dann wird das kleine Modell verwendet.',
|
||||
'settings.openchamber.defaults.walkthroughModel.overrideModel': 'Walkthrough-Modell',
|
||||
'settings.openchamber.defaults.walkthroughModel.usesSmallModel': 'Kleines Modell',
|
||||
'settings.voice.page.provider.openai': 'OpenAI',
|
||||
'settings.openchamber.visual.section.colorModeAndTheme': 'Farbmodus & Theme',
|
||||
'settings.openchamber.visual.section.densityAndType': 'Dichte & Typografie',
|
||||
'settings.openchamber.visual.section.appInstall': 'App-Installation',
|
||||
'settings.openchamber.visual.section.chatDisplay': 'Anzeige',
|
||||
'settings.openchamber.visual.section.chatMessageOptions': 'Nachrichtenoptionen',
|
||||
'settings.openchamber.visual.section.chatFeatures': 'Funktionen',
|
||||
'settings.openchamber.visual.field.terminalShell': 'Terminal-Shell',
|
||||
'settings.openchamber.visual.field.terminalShellAria': 'Terminal-Shell auswählen',
|
||||
'settings.openchamber.visual.field.terminalShellHint': 'Terminal neu starten, um diese Änderung auf die aktuelle Sitzung anzuwenden.',
|
||||
'settings.openchamber.visual.field.terminalLoginShell': 'Als Login-Shell starten',
|
||||
'settings.openchamber.visual.option.terminalShell.auto': 'Automatisch',
|
||||
'settings.openchamber.visual.field.autoSaveEnabledAria': 'Dateien automatisch speichern',
|
||||
'settings.openchamber.visual.field.autoSaveEnabled': 'Dateien automatisch speichern',
|
||||
'settings.openchamber.visual.field.autoSaveEnabledInfo': 'Dateiänderungen automatisch speichern, nachdem du mit dem Tippen aufgehört hast. Deaktivieren, um manuelles Speichern zu verlangen.',
|
||||
'settings.openchamber.visual.field.draftStartersVisible': 'Starter auf dem Bildschirm für neue Sitzungen anzeigen',
|
||||
'settings.openchamber.visual.field.draftStartersVisibleAria': 'Starter auf dem Bildschirm für neue Sitzungen anzeigen',
|
||||
'settings.openchamber.visual.option.themeMode.system.description': 'Systemeinstellung übernehmen',
|
||||
'settings.openchamber.visual.option.themeMode.light.description': 'Immer helles Erscheinungsbild verwenden',
|
||||
'settings.openchamber.visual.option.themeMode.dark.description': 'Immer dunkles Erscheinungsbild verwenden',
|
||||
'chat.message.userText.collapseAria': 'Benutzernachricht einklappen',
|
||||
};
|
||||
|
||||
@@ -3,7 +3,6 @@ import { settingsDict } from './de.settings';
|
||||
export const dict = {
|
||||
...settingsDict,
|
||||
'common.language.german': 'Deutsch',
|
||||
'chat.message.userText.collapseAria': 'Benutzer-Nachricht einklappen',
|
||||
'common.loading': 'Wird geladen...',
|
||||
'common.unavailable': 'Nicht verfügbar',
|
||||
'common.language.english': 'Englisch',
|
||||
@@ -24,13 +23,6 @@ export const dict = {
|
||||
'pwa.installPrompt.dismiss': 'Schließen',
|
||||
'pwa.installPrompt.started': 'Installation gestartet',
|
||||
'pwa.installPrompt.installed': 'OpenChamber installiert',
|
||||
'shareOpinion.actions.shareOpinion': 'Meinung teilen',
|
||||
'shareOpinion.actions.bookCall': 'Anruf vereinbaren',
|
||||
'shareOpinion.actions.shortSurvey': 'Kurze Umfrage',
|
||||
'shareOpinion.dialog.title': 'Teile deine Meinung',
|
||||
'shareOpinion.toast.title': 'Hilf bei der Gestaltung von OpenChamber',
|
||||
'shareOpinion.toast.description': 'Teile, was nützlich, verwirrend oder fehlt, um mitzuwirken, was als Nächstes kommt.',
|
||||
'sessions.sidebar.footer.actions.shareOpinion': 'Meinung teilen',
|
||||
'layout.mainTab.chat': 'Chat',
|
||||
'layout.mainTab.plan': 'Plan',
|
||||
'layout.mainTab.diff': 'Diff',
|
||||
@@ -87,10 +79,8 @@ export const dict = {
|
||||
'mobile.nav.changes': 'Änderungen',
|
||||
'mobile.nav.settings': 'Einstellungen',
|
||||
'mobile.surface.closeAria': 'Schließen',
|
||||
'mobile.header.openMenuAria': 'Menü öffnen',
|
||||
'mobile.header.openMetadataAria': 'Sitzungs-Metadaten öffnen',
|
||||
'mobile.header.metadata.context': 'Kontext',
|
||||
'mobile.header.metadata.branch': 'Zweig',
|
||||
'mobile.header.metadata.usage': 'Nutzung',
|
||||
'mobile.menu.titleAria': 'Arbeitsbereichstools',
|
||||
'mobile.menu.files': 'Dateien',
|
||||
@@ -127,8 +117,6 @@ export const dict = {
|
||||
'mobile.sessions.moveUpAria': '{label} nach oben verschieben',
|
||||
'mobile.sessions.moveDownAria': '{label} nach unten verschieben',
|
||||
'mobile.sessions.removeProjectAria': '{label} entfernen',
|
||||
'mobile.sessions.cancelRemoveProjectAria': 'Entfernen von {label} abbrechen',
|
||||
'mobile.sessions.confirmRemoveProject': 'Schließen',
|
||||
'mobile.sessions.confirmRemoveProjectAria': 'Entfernen von {label} bestätigen',
|
||||
'mobile.sessions.toast.projectRemoved': '{label} entfernt',
|
||||
'mobile.sessions.archiveSessionAria': '{title} archivieren',
|
||||
@@ -966,9 +954,6 @@ export const dict = {
|
||||
'gitView.pullRequest.createHint': 'Erstelle und verwalte Pull-Requests aus diesem Branch.',
|
||||
'gitView.pullRequest.availableOnFeatureBranches': 'Verfügbar, wenn der aktuelle Branch einen Pull-Request öffnen kann.',
|
||||
'gitView.pullRequest.title': 'Pull-Request',
|
||||
'gitView.tabs.commit': 'Commit',
|
||||
'gitView.tabs.pr': 'PR',
|
||||
'gitView.tabs.update': 'Update',
|
||||
'gitView.tabs.worktree': 'Worktree',
|
||||
'gitView.toast.abortOperationFailed': 'Fehler beim Abbrechen der Operation',
|
||||
'gitView.toast.appliedIdentity': 'Identität angewendet: {name}',
|
||||
@@ -1070,12 +1055,8 @@ export const dict = {
|
||||
'contextPanel.preview.startFailed': 'Fehler beim Starten des Vorschau-Servers.',
|
||||
'contextPanel.preview.serverExited': 'Dev-Server wurde unerwartet beendet.',
|
||||
'contextPanel.preview.noUrlDetected': 'Dev-Server gestartet, aber keine URL in der Ausgabe erkannt. Öffne den Vorschau-Terminal-Tab, um die Protokolle zu prüfen.',
|
||||
'contextPanel.preview.serverExitedWithLog': 'Dev-Server wurde unerwartet beendet. Letzte Ausgabe:
|
||||
|
||||
{log}',
|
||||
'contextPanel.preview.noUrlDetectedWithLog': 'Dev-Server ist nicht erreichbar geworden. Letzte Ausgabe:
|
||||
|
||||
{log}',
|
||||
'contextPanel.preview.serverExitedWithLog': 'Dev-Server wurde unerwartet beendet. Letzte Ausgabe:\n\n{log}',
|
||||
'contextPanel.preview.noUrlDetectedWithLog': 'Dev-Server ist nicht erreichbar geworden. Letzte Ausgabe:\n\n{log}',
|
||||
'contextPanel.preview.console.open': 'Vorschau-Konsole öffnen',
|
||||
'contextPanel.preview.console.waiting': 'Warte auf Vorschau-Konsole',
|
||||
'contextPanel.preview.console.title': 'Vorschau-Konsole',
|
||||
@@ -1444,7 +1425,6 @@ export const dict = {
|
||||
'chat.goal.action.save': 'Ziel speichern',
|
||||
'chat.goal.action.start': 'Ziel starten',
|
||||
'chat.goal.toast.actionFailed': 'Aktualisierung des Ziels fehlgeschlagen',
|
||||
'chat.goal.toast.distillFallback': 'Ziel überschreitet das Limit und konnte nicht reduziert werden — eine gekürzte Version wird für den Prüfer verwendet',
|
||||
'chat.goal.row.aria': 'Sitzungsziel — Details öffnen',
|
||||
'chat.goal.button.createAria': 'Sitzungsziel festlegen',
|
||||
'chat.goal.button.manageAria': 'Sitzungsziel verwalten',
|
||||
@@ -1485,13 +1465,6 @@ export const dict = {
|
||||
'terminalView.quickKeys.enterAria': 'Enter',
|
||||
'terminalView.tabs.closeTabTitle': 'Registerkarte schließen',
|
||||
'terminalView.tabs.newTabTitle': 'Neue Registerkarte',
|
||||
'terminalView.bottomDock.resizeAria': 'Größe des Terminalbereichs ändern',
|
||||
'terminalView.bottomDock.restoreTitle': 'Höhe des Terminalbereichs wiederherstellen',
|
||||
'terminalView.bottomDock.restoreAria': 'Höhe des Terminalbereichs wiederherstellen',
|
||||
'terminalView.bottomDock.expandTitle': 'Terminalbereich ausklappen',
|
||||
'terminalView.bottomDock.expandAria': 'Terminalbereich ausklappen',
|
||||
'terminalView.bottomDock.closeTitle': 'Terminalbereich schließen',
|
||||
'terminalView.bottomDock.closeAria': 'Terminalbereich schließen',
|
||||
'terminalView.viewport.inputAria': 'Terminal-Eingabe',
|
||||
'directoryExplorerDialog.title': 'Projektverzeichnis hinzufügen',
|
||||
'directoryExplorerDialog.description': 'Wählen Sie einen Ordner aus, der als Projekt hinzugefügt werden soll.',
|
||||
@@ -1572,7 +1545,6 @@ export const dict = {
|
||||
'helpDialog.item.toggleRightSidebar': 'Rechte Seitenleiste umschalten',
|
||||
'helpDialog.item.openRightSidebarGitTab': 'Git-Registerkarte der rechten Seitenleiste öffnen',
|
||||
'helpDialog.item.openRightSidebarFilesTab': 'Datei-Registerkarte der rechten Seitenleiste öffnen',
|
||||
'helpDialog.item.cycleRightSidebarTab': 'Registerkarte der rechten Seitenleiste wechseln',
|
||||
'helpDialog.item.toggleTerminalDock': 'Terminal-Dock umschalten',
|
||||
'helpDialog.item.toggleTerminalExpanded': 'Terminal erweitert umschalten',
|
||||
'helpDialog.item.togglePlanContextPanel': 'Plan-Kontext-Panel umschalten',
|
||||
@@ -1726,8 +1698,7 @@ export const dict = {
|
||||
'session.githubIntegration.validation.branchAlreadyExists': 'Branch existiert bereits lokal',
|
||||
'session.githubIntegration.validation.failed': 'Validierung fehlgeschlagen',
|
||||
'chat.fileAttachment.toast.attachFailed': 'Fehler beim Anhängen der Datei',
|
||||
'chat.fileAttachment.toast.someFilesSkipped': 'Einige Dateien wurden übersprungen:
|
||||
{summary}',
|
||||
'chat.fileAttachment.toast.someFilesSkipped': 'Einige Dateien wurden übersprungen:\n{summary}',
|
||||
'chat.fileAttachment.toast.vscodePickFailed': 'Fehler beim Auswählen von Dateien in VS Code',
|
||||
'chat.fileAttachment.fileFallback': 'Datei',
|
||||
'chat.fileAttachment.skippedFallback': 'übersprungen',
|
||||
@@ -1986,8 +1957,7 @@ export const dict = {
|
||||
'chat.chatInput.toast.addedFileMentions': '{count} Datei(er) hinzugefügt',
|
||||
'chat.chatInput.toast.attachFileFailed': 'Fehler beim Anhängen der Datei',
|
||||
'chat.chatInput.toast.attachNamedFailed': 'Fehler beim Anhängen von {name}',
|
||||
'chat.chatInput.toast.someFilesSkipped': 'Einige Dateien wurden übersprungen:
|
||||
{summary}',
|
||||
'chat.chatInput.toast.someFilesSkipped': 'Einige Dateien wurden übersprungen:\n{summary}',
|
||||
'chat.chatInput.toast.vscodePickFailed': 'Fehler beim Auswählen der Dateien in VS Code',
|
||||
'chat.chatInput.toast.openSessionFirst': 'Öffne zuerst eine Sitzung',
|
||||
'chat.chatInput.toast.togglePermissionAutoAcceptFailed': 'Fehler beim Umschalten der automatischen Zustimmung zur Berechtigung',
|
||||
@@ -2008,21 +1978,6 @@ export const dict = {
|
||||
'chat.chatInput.drop.insertMention': 'Hier ablegen, um als Erwähnung einzufügen',
|
||||
'chat.chatInput.drop.attachFiles': 'Dateien hier ablegen, um sie anzuhängen',
|
||||
'chat.chatInput.fileFallback': 'Datei',
|
||||
'chat.mobileStatus.editProjects.title': 'Projekte bearbeiten',
|
||||
'chat.mobileStatus.editProjects.footer': 'Ziehen Sie Elemente, um die Reihenfolge zu ändern, oder verwenden Sie Pfeile zum Verschieben. Tippen Sie auf Bearbeiten, um Details zu ändern.',
|
||||
'chat.mobileStatus.editProjects.empty': 'Keine Projekte zum Bearbeiten',
|
||||
'chat.mobileStatus.projects.empty': 'Keine Projekte',
|
||||
'chat.mobileStatus.projects.addAria': 'Projekt hinzufügen',
|
||||
'chat.mobileStatus.projects.removeTitle': 'Projekt entfernen',
|
||||
'chat.mobileStatus.projects.removeDescriptionPrefix': 'Sind Sie sicher, dass Sie folgendes entfernen möchten',
|
||||
'chat.mobileStatus.projects.cancel': 'Abbrechen',
|
||||
'chat.mobileStatus.projects.remove': 'Entfernen',
|
||||
'chat.mobileStatus.new': 'Neu',
|
||||
'chat.mobileStatus.noSessionsInProject': 'Keine Sitzungen in diesem Projekt',
|
||||
'chat.mobileStatus.swipeHint': '← Hier wischen, um Seitenleisten zu öffnen →',
|
||||
'chat.mobileStatus.toast.addProjectFailed': 'Fehler beim Hinzufügen des Projekts',
|
||||
'chat.mobileStatus.toast.selectValidDirectory': 'Bitte wählen Sie ein gültiges Verzeichnis aus.',
|
||||
'chat.mobileStatus.toast.selectDirectoryFailed': 'Fehler beim Auswählen des Verzeichnisses',
|
||||
'chat.toolOutputDialog.image.previousAria': 'Vorheriges Bild',
|
||||
'chat.toolOutputDialog.image.nextAria': 'Nächstes Bild',
|
||||
'chat.toolOutputDialog.image.closeAria': 'Bildvorschau schließen',
|
||||
@@ -2177,7 +2132,6 @@ export const dict = {
|
||||
'commandPalette.item.addProject': 'Projekt hinzufügen',
|
||||
'commandPalette.item.showSessionSwitcher': 'Sitzungsumschalter anzeigen',
|
||||
'commandPalette.item.toggleSidebar': 'Seitenleiste umschalten',
|
||||
'commandPalette.item.toggleRightSidebar': 'Rechte Seitenleiste umschalten',
|
||||
'commandPalette.item.showContextUsage': 'Kontextnutzung anzeigen',
|
||||
'commandPalette.item.toggleTerminal': 'Terminal umschalten',
|
||||
'commandPalette.item.openSettings': 'Einstellungen öffnen...',
|
||||
@@ -2565,11 +2519,9 @@ export const dict = {
|
||||
'onboarding.localSetup.docs.windows': 'OpenCode-Dokumentation',
|
||||
'onboarding.localSetup.docs.default': 'OpenCode-Dokumentation',
|
||||
'onboarding.localSetup.actions.checking': 'Überprüfe…',
|
||||
'onboarding.localSetup.actions.checkAndContinue': 'Ich habe die Installation abgeschlossen, überprüfen und fortfahren',
|
||||
'onboarding.localSetup.actions.checkNow': 'Jetzt überprüfen',
|
||||
'onboarding.localSetup.helper.checkAndContinue': 'Klicken Sie, um zu prüfen, ob OpenCode CLI verfügbar ist. Bei Erfolg gelangen Sie automatisch zum Hauptbildschirm.',
|
||||
'onboarding.localSetup.status.watching': 'Warte auf OpenCode',
|
||||
'onboarding.localSetup.status.autoContinue': 'Wir fahren automatisch fort, sobald es erkannt wurde.',
|
||||
'onboarding.localSetup.field.alreadyInstalled': 'Bereits installiert? Legen Sie den OpenCode CLI-Pfad fest:',
|
||||
'onboarding.localSetup.advanced.title': 'Benutzerdefinierten Binärpfad festlegen',
|
||||
'onboarding.localSetup.troubleshoot.title': 'Probleme beim Verbinden?',
|
||||
@@ -2657,7 +2609,6 @@ export const dict = {
|
||||
'vscodeLayout.quota.actions.refreshAria': 'Ratenlimits aktualisieren',
|
||||
'updateDialog.header.updateAvailable': 'Update verfügbar',
|
||||
'updateDialog.header.updating': 'OpenChamber wird aktualisiert...',
|
||||
'updateDialog.changelog.title': 'Was ist neu',
|
||||
'updateDialog.status.installingUpdate': 'Update wird installiert...',
|
||||
'updateDialog.status.serverRestarting': 'Server wird neu gestartet...',
|
||||
'updateDialog.status.waitingForServer': 'Warten auf Server...',
|
||||
@@ -2790,4 +2741,168 @@ export const dict = {
|
||||
'quota.window.chat': 'Chat-Anfragen',
|
||||
'quota.window.completions': 'Vervollständigungen',
|
||||
'quota.window.premiumInteractions': 'Premium-Interaktionen',
|
||||
'terminalView.actions.attachSelection': 'Ausgewählte Ausgabe anhängen',
|
||||
'terminalView.actions.restart': 'Terminal neu starten',
|
||||
'chat.message.terminalContext': '{terminal}, Zeilen {start}-{end}',
|
||||
'chat.chatInput.terminalContext': '{terminal}, Zeilen {start}-{end}',
|
||||
'chat.chatInput.terminalContextRemove': 'Terminal-Kontext entfernen',
|
||||
'chat.chatInput.prCommentContext': 'PR-Kommentare',
|
||||
'chat.chatInput.prCommentContextRemove': 'PR-Kommentarkontext entfernen',
|
||||
'chat.chatInput.prCheckContext': 'Fehlgeschlagene PR-Prüfungen',
|
||||
'chat.chatInput.prCheckContextRemove': 'Kontext der PR-Prüfungen entfernen',
|
||||
'mobile.connect.notice.unreachable': '{label} konnte nicht erreicht werden. Prüfen Sie, ob der Server läuft.',
|
||||
'mobile.connect.notice.authExpired': 'Der Zugriff auf {label} ist abgelaufen oder wurde widerrufen. Melden Sie sich erneut an.',
|
||||
'mobile.connect.recovery.description': 'Verbindung mit dem gespeicherten Server nicht möglich. Prüfen Sie, ob er läuft, oder wählen Sie eine andere Instanz.',
|
||||
'mobile.header.openWorkspaceAria': 'Arbeitsbereich öffnen',
|
||||
'mobile.menu.terminal': 'Terminal',
|
||||
'mobile.sessions.renameSessionAria': '{title} umbenennen',
|
||||
'mobile.sessions.renameError': 'Sitzung konnte nicht umbenannt werden',
|
||||
'mobile.sessions.deleteSessionAria': '{title} löschen',
|
||||
'mobile.sessions.confirmDeleteSessionAria': 'Löschen von {title} bestätigen',
|
||||
'mobile.files.editAria': 'Datei bearbeiten',
|
||||
'mobile.files.doneEditingAria': 'Bearbeitung abschließen',
|
||||
'sessions.scheduledTasks.editor.permissionAutoAccept.label': 'Berechtigungen automatisch akzeptieren',
|
||||
'sessions.scheduledTasks.editor.permissionAutoAccept.aria': 'Die Sitzung der Aufgabe mit aktivierter automatischer Berechtigungsannahme starten',
|
||||
'sessions.archivePage.allDirectories': 'Alle Verzeichnisse',
|
||||
'sessions.sidebar.header.displayMode.stickyHeaders': 'Angeheftete Projektüberschriften',
|
||||
'sessions.sidebar.header.grouping.label': 'Sitzungen gruppieren',
|
||||
'sessions.sidebar.header.grouping.byWorktree': 'Nach Worktree',
|
||||
'sessions.sidebar.header.grouping.flat': 'Flache Liste',
|
||||
'sessions.sidebar.project.actions.manageWorktrees': 'Worktrees verwalten',
|
||||
'sessions.worktreesPage.title': 'Worktrees in {project}',
|
||||
'sessions.worktreesPage.description': 'Git-Worktrees für dieses Projekt erstellen, prüfen und entfernen.',
|
||||
'sessions.worktreesPage.closeAria': 'Worktrees schließen',
|
||||
'sessions.scheduledTasks.page.closeAria': 'Geplante Aufgaben schließen',
|
||||
'sessions.sidebar.nav.archive': 'Archiv',
|
||||
'sessions.archivePage.title': 'Archiv',
|
||||
'sessions.archivePage.countSingle': '{count} archivierte Sitzung',
|
||||
'sessions.archivePage.countPlural': '{count} archivierte Sitzungen',
|
||||
'sessions.archivePage.closeAria': 'Archiv schließen',
|
||||
'sessions.archivePage.searchPlaceholder': 'Archivierte Sitzungen durchsuchen',
|
||||
'sessions.archivePage.empty.noArchived': 'Keine archivierten Sitzungen',
|
||||
'sessions.archivePage.empty.noMatches': 'Keine passenden archivierten Sitzungen',
|
||||
'sessions.archivePage.otherProjects': 'andere Projekte',
|
||||
'sessions.archivePage.deleteProject': 'Alle archivierten Sitzungen in diesem Projekt löschen',
|
||||
'sessions.archivePage.deleteProjectAria': 'Alle archivierten Sitzungen in {label} löschen',
|
||||
'sessions.archivePage.deleteSessionAria': '{title} löschen',
|
||||
'header.sessionActions.openAria': 'Sitzungsaktionen öffnen',
|
||||
'sessions.sidebar.session.menu.copyId': 'Sitzungs-ID kopieren',
|
||||
'sessions.sidebar.session.copyId.success': 'Sitzungs-ID kopiert',
|
||||
'sessions.sidebar.session.copyId.error': 'Sitzungs-ID konnte nicht kopiert werden',
|
||||
'sessions.sidebar.session.menu.moveToWorktree': 'In neuen Worktree verschieben',
|
||||
'sessions.sidebar.session.moveToWorktree.success': 'Sitzung in einen neuen Worktree verschoben',
|
||||
'sessions.sidebar.session.moveToWorktree.failed': 'Sitzung konnte nicht in einen neuen Worktree verschoben werden',
|
||||
'sessions.sidebar.session.moveToWorktree.tooltip': 'Erstellt einen neuen Worktree aus dem aktuellen Branch, überträgt nicht gespeicherte Änderungen und verschiebt diese Sitzung samt Untersitzungen dorthin.',
|
||||
'sessions.sidebar.session.moveToWorktree.tooltipBusy': 'Verfügbar, wenn die Sitzung inaktiv ist. Warten Sie oder beenden Sie die aktuelle Aktivität.',
|
||||
'sessions.sidebar.session.moveToWorktree.tooltipMoving': 'Diese Sitzung wird bereits in einen neuen Worktree verschoben.',
|
||||
'sessions.sidebar.session.export.failedLoadHistory': 'Die vollständige Sitzungshistorie konnte nicht geladen werden',
|
||||
'sessions.sidebar.session.status.movingToWorktree': 'Sitzung wird in einen neuen Worktree verschoben',
|
||||
'gitView.header.updateBranch': 'Branch aktualisieren',
|
||||
'gitView.header.openPullRequest': 'Pull Request öffnen',
|
||||
'gitView.history.refresh': 'Verlauf aktualisieren',
|
||||
'gitView.operation.inProgressTitleManyConflicts': 'Operation {operation} läuft: {count} Konflikte',
|
||||
'gitView.operation.inProgressTitleOneConflict': 'Operation {operation} läuft: {count} Konflikt',
|
||||
'gitView.operation.readyToContinueHint': 'Bereit zum Fortfahren',
|
||||
'gitView.pr.segment.overview': 'Übersicht',
|
||||
'gitView.pr.segment.checks': 'Prüfungen',
|
||||
'gitView.pr.segment.comments': 'Kommentare',
|
||||
'gitView.pr.comments.addAll': 'Alle hinzufügen',
|
||||
'contextPanel.mode.pr': 'PR',
|
||||
'contextRail.aria.rail': 'Kontextleiste',
|
||||
'contextPanel.editorEmpty.title': 'Kein Kontext ausgewählt',
|
||||
'contextPanel.editorEmpty.description': 'Wählen Sie etwas aus der Seitenleiste aus, um Kontext anzuzeigen.',
|
||||
'contextRail.surface.editor.description': 'Bearbeitungskontext',
|
||||
'contextRail.surface.git.description': 'Git-Kontext',
|
||||
'contextRail.surface.terminal.description': 'Terminal-Kontext',
|
||||
'contextRail.surface.diff.description': 'Diff-Kontext',
|
||||
'contextPanel.mode.walkthrough': 'Walkthrough',
|
||||
'contextRail.surface.walkthrough.description': 'Walkthrough-Kontext',
|
||||
'walkthrough.scope.all': 'Alle',
|
||||
'walkthrough.scope.group.workingTree': 'Arbeitsbaum',
|
||||
'walkthrough.scope.group.committed': 'Eingecheckt',
|
||||
'walkthrough.scope.staged': 'Bereitgestellt',
|
||||
'walkthrough.scope.working': 'Arbeitsstand',
|
||||
'walkthrough.scope.branch': 'Branch',
|
||||
'walkthrough.scope.selectorAria': 'Walkthrough-Bereich auswählen',
|
||||
'walkthrough.language.menuLabel': 'Sprache',
|
||||
'walkthrough.missing.language': 'Noch kein Walkthrough auf {requested} vorhanden — zeige den Walkthrough auf {shown}.',
|
||||
'walkthrough.missing.model': 'Noch kein Walkthrough von {model} vorhanden — zeige den zuletzt hier erstellten.',
|
||||
'walkthrough.missing.languageAndModel': 'Noch kein Walkthrough auf dieser Sprache von diesem Modell vorhanden — zeige den zuletzt hier erstellten.',
|
||||
'walkthrough.language.selectorAria': 'Sprache auswählen',
|
||||
'walkthrough.scope.pullRequest': 'PR #{number}',
|
||||
'walkthrough.action.generate': 'Generieren',
|
||||
'walkthrough.action.regenerate': 'Erneut generieren',
|
||||
'walkthrough.action.cancel': 'Abbrechen',
|
||||
'walkthrough.action.next': 'Weiter',
|
||||
'walkthrough.action.previous': 'Zurück',
|
||||
'walkthrough.action.refresh': 'Aktualisieren',
|
||||
'walkthrough.action.open': 'Öffnen',
|
||||
'walkthrough.stage.collecting': 'Sammeln',
|
||||
'walkthrough.stage.asking': 'Fragen',
|
||||
'walkthrough.stage.assembling': 'Zusammenstellen',
|
||||
'walkthrough.empty.title': 'Noch nichts vorhanden',
|
||||
'walkthrough.empty.description': 'Wählen Sie Inhalte aus, um einen Walkthrough zu erstellen.',
|
||||
'walkthrough.stale.banner': 'Der Code hat sich nach diesem Review geändert. Veraltete Schritte: {count}',
|
||||
'walkthrough.stop.staleAll': 'Alle veralteten Inhalte stoppen',
|
||||
'walkthrough.stop.stalePartial': 'Ein Teil des vom Schritt beschriebenen Codes hat sich geändert. Fehlende Teile: {count}',
|
||||
'walkthrough.stop.staleShort': 'Veraltete stoppen',
|
||||
'walkthrough.stop.noCode': 'Kein Code vorhanden',
|
||||
'walkthrough.uncovered.title': 'Vom Review ausgelassene Änderungen: {count}',
|
||||
'walkthrough.uncovered.description': 'Diese Bereiche wurden noch nicht in den Walkthrough aufgenommen.',
|
||||
'walkthrough.toc.moreFiles': 'Weitere Dateien: {count}',
|
||||
'walkthrough.toc.uncovered': 'Nicht abgedeckt: {count}',
|
||||
'walkthrough.toc.resize': 'Größe ändern',
|
||||
'walkthrough.importance.critical': 'Kritisch',
|
||||
'walkthrough.importance.context': 'Kontext',
|
||||
'walkthrough.blocked.noModel.title': 'Kein Modell ausgewählt',
|
||||
'walkthrough.blocked.noModel.description': 'Wählen Sie zuerst ein Modell aus.',
|
||||
'walkthrough.blocked.emptyDiff.title': 'Kein Diff vorhanden',
|
||||
'walkthrough.blocked.emptyDiff.description': 'Es gibt keine Änderungen, die zusammengefasst werden können.',
|
||||
'walkthrough.blocked.contextTooSmall.title': 'Kontext zu klein',
|
||||
'walkthrough.blocked.contextTooSmall.description': '{model} passt in etwa {available}K Zeichen, und dieser Diff braucht etwa {required}K. Nichts wird abgeschnitten — wähle stattdessen ein Modell mit größerem Kontext.',
|
||||
'walkthrough.blocked.structuredOutput.title': 'Strukturierte Ausgabe nicht verfügbar',
|
||||
'walkthrough.blocked.structuredOutput.description': '{model} unterstützt die strukturierten Antworten nicht, die ein Walkthrough benötigt.',
|
||||
'walkthrough.blocked.chooseModel': 'Modell auswählen',
|
||||
'walkthrough.blocked.outputExhausted.title': 'Ausgabelimit erreicht',
|
||||
'walkthrough.blocked.outputExhausted.description': '{model} hat sein gesamtes Ausgabelimit fürs Nachdenken verbraucht und nichts zurückgegeben. Denkende Modelle tun das bei großen Diffs oft — ein Modell, das weniger denkt, oder ein schmalerer Review-Bereich reicht eher aus.',
|
||||
'walkthrough.blocked.outputExhausted.descriptionUnknownModel': 'Das kleine Modell hat sein gesamtes Ausgabelimit fürs Nachdenken verbraucht und nichts zurückgegeben. Denkende Modelle tun das bei großen Diffs oft — ein Modell, das weniger denkt, oder ein schmalerer Review-Bereich reicht eher aus.',
|
||||
'walkthrough.blocked.onlyGenerated.title': 'Nur generierter Inhalt',
|
||||
'walkthrough.blocked.onlyGenerated.description': 'Es ist nur generierter Inhalt vorhanden.',
|
||||
'walkthrough.blocked.contextTooSmall.descriptionUnknownModel': 'Das kleine Modell passt in etwa {available}K Zeichen, und dieser Diff braucht etwa {required}K. Nichts wird abgeschnitten — wähle stattdessen ein Modell mit größerem Kontext.',
|
||||
'walkthrough.blocked.structuredOutput.descriptionUnknownModel': 'Das kleine Modell unterstützt die strukturierten Antworten nicht, die ein Walkthrough benötigt.',
|
||||
'contextRail.surface.plan.description': 'Plankontext',
|
||||
'contextRail.surface.pr.description': 'PR-Kontext',
|
||||
'contextRail.surface.notes.description': 'Notizkontext',
|
||||
'contextRail.surface.context.description': 'Allgemeiner Kontext',
|
||||
'contextRail.surface.browser.description': 'Browserkontext',
|
||||
'contextRail.surface.preview.description': 'Vorschaukontext',
|
||||
'contextRail.surface.chat.description': 'Chatkontext',
|
||||
'contextRail.surface.notes': 'Notizen',
|
||||
'contextRail.editorTree.toggle': 'Editorbaum umschalten',
|
||||
'sidebarFilesTree.actions.collapseAllTitle': 'Alle einklappen',
|
||||
'filesView.editor.cannotPreviewBinary': 'Binärdatei kann nicht in der Vorschau angezeigt werden',
|
||||
'filesView.editor.binaryFileDescription': 'Diese Datei ist binär und kann nicht als Text angezeigt werden.',
|
||||
'chat.goal.dialog.evaluationModelLabel': 'Bewertungsmodell',
|
||||
'terminalView.quickKeys.altLabel': 'Alt',
|
||||
'terminalView.quickKeys.altModifierAria': 'Alt-Taste',
|
||||
'chat.draftPresets.scheduleTask.label': 'Aufgabe planen',
|
||||
'chat.statusRow.modelStatus': '{model} ist {status}',
|
||||
'chat.commandAutocomplete.command.scheduleTaskDescription': 'Eine geplante Aufgabe erstellen',
|
||||
'chat.chatInput.toast.scheduleTaskFailed': 'Aufgabe konnte nicht geplant werden',
|
||||
'chat.container.sessionLoadError.title': 'Sitzung konnte nicht geladen werden',
|
||||
'chat.container.sessionLoadError.description': 'Die Sitzung konnte nicht geladen werden.',
|
||||
'chat.container.sessionLoadError.retry': 'Erneut versuchen',
|
||||
'sessions.sidebar.group.empty.loadingSessions': 'Sitzungen werden geladen...',
|
||||
'sessions.sidebar.group.empty.loadFailed': 'Sitzungen konnten nicht geladen werden',
|
||||
'sessions.sidebar.group.empty.retry': 'Erneut versuchen',
|
||||
'chat.messageBody.actions.pinContext': 'Kontext anheften',
|
||||
'chat.messageBody.actions.unpinContext': 'Kontext lösen',
|
||||
'chat.messageBody.actions.contextPinFailed': 'Kontext konnte nicht angeheftet werden',
|
||||
'chat.chatInput.toast.unsupportedAttachmentModalities': '{model} unterstützt den von {files} benötigten Eingabetyp {modalities} nicht. Du kannst die Nachricht trotzdem senden, aber diese Anhänge werden möglicherweise ignoriert.',
|
||||
'projectActions.actions.autoDiscoverTooltip': 'Automatisch erkannte Aktionen',
|
||||
'onboarding.localSetup.windows.stepInstallWslSuffix': 'WSL installieren',
|
||||
'chat.goal.toast.distillFallback': 'Das Ziel überschritt das Limit und konnte nicht verdichtet werden — für die Auswertung wird eine gekürzte Version verwendet',
|
||||
'onboarding.localSetup.actions.checkAndContinue': 'Installation abgeschlossen, prüfen und fortfahren',
|
||||
'onboarding.localSetup.status.autoContinue': 'Wir fahren automatisch fort, sobald die Installation erkannt wurde.',
|
||||
'updateDialog.changelog.title': 'Neuigkeiten',
|
||||
};
|
||||
|
||||
@@ -15,6 +15,7 @@ export const dict: Record<I18nKey, string> = {
|
||||
"common.loading": "Cargando...",
|
||||
"common.unavailable": "No disponible",
|
||||
"common.language.english": "Inglés",
|
||||
"common.language.german": "Alemán",
|
||||
"common.language.french": "Francés",
|
||||
"common.language.simplifiedChinese": "Chino (simplificado)",
|
||||
"common.language.traditionalChinese": "Chino (tradicional)",
|
||||
|
||||
@@ -14,6 +14,7 @@ export const dict = {
|
||||
'common.loading': 'Chargement...',
|
||||
'common.unavailable': 'Indisponible',
|
||||
'common.language.english': 'Anglais',
|
||||
'common.language.german': 'Allemand',
|
||||
'common.language.french': 'Français',
|
||||
'common.language.simplifiedChinese': 'Chinois (simplifié)',
|
||||
'common.language.traditionalChinese': 'Chinois (traditionnel)',
|
||||
|
||||
@@ -15,6 +15,7 @@ export const dict: Record<I18nKey, string> = {
|
||||
'common.loading': '読み込み中...',
|
||||
'common.unavailable': '利用できません',
|
||||
'common.language.english': '英語',
|
||||
'common.language.german': 'ドイツ語',
|
||||
'common.language.french': 'フランス語',
|
||||
'common.language.simplifiedChinese': '中国語(簡体字)',
|
||||
'common.language.traditionalChinese': '中国語(繁体字)',
|
||||
|
||||
@@ -15,6 +15,7 @@ export const dict: Record<I18nKey, string> = {
|
||||
'common.loading': '로딩 중...',
|
||||
'common.unavailable': '사용할 수 없음',
|
||||
'common.language.english': '영어',
|
||||
'common.language.german': '독일어',
|
||||
'common.language.french': '프랑스어',
|
||||
'common.language.simplifiedChinese': '중국어(간체)',
|
||||
'common.language.traditionalChinese': '중국어(번체)',
|
||||
|
||||
@@ -16,6 +16,7 @@ export const dict: Record<I18nKey, string> = {
|
||||
'common.loading': 'Ładowanie...',
|
||||
'common.unavailable': 'Niedostępne',
|
||||
'common.language.english': 'Angielski',
|
||||
'common.language.german': 'Niemiecki',
|
||||
'common.language.french': 'Francuski',
|
||||
'common.language.simplifiedChinese': 'Chiński (Uproszczony)',
|
||||
'common.language.traditionalChinese': 'Chiński (Tradycyjny)',
|
||||
|
||||
@@ -15,6 +15,7 @@ export const dict: Record<I18nKey, string> = {
|
||||
"common.loading": "Carregando...",
|
||||
"common.unavailable": "Indisponível",
|
||||
"common.language.english": "Inglês",
|
||||
"common.language.german": "Alemão",
|
||||
"common.language.french": "Francês",
|
||||
"common.language.simplifiedChinese": "Chinês (simplificado)",
|
||||
"common.language.traditionalChinese": "Chinês (tradicional)",
|
||||
|
||||
@@ -15,6 +15,7 @@ export const dict: Record<I18nKey, string> = {
|
||||
"common.loading": "Завантаження...",
|
||||
"common.unavailable": "Недоступно",
|
||||
"common.language.english": "англійська",
|
||||
"common.language.german": "Німецька",
|
||||
"common.language.french": "Французька",
|
||||
"common.language.simplifiedChinese": "Китайська (спрощена)",
|
||||
"common.language.traditionalChinese": "Китайська (традиційна)",
|
||||
|
||||
@@ -15,6 +15,7 @@ export const dict: Record<I18nKey, string> = {
|
||||
'common.loading': '加载中...',
|
||||
'common.unavailable': '不可用',
|
||||
'common.language.english': 'English',
|
||||
'common.language.german': '德语',
|
||||
'common.language.french': '法语',
|
||||
'common.language.simplifiedChinese': '简体中文',
|
||||
'common.language.traditionalChinese': '繁体中文',
|
||||
|
||||
@@ -15,6 +15,7 @@ export const dict: Record<I18nKey, string> = {
|
||||
'common.loading': '載入中...',
|
||||
'common.unavailable': '無法使用',
|
||||
'common.language.english': 'English',
|
||||
'common.language.german': '德語',
|
||||
'common.language.french': '法語',
|
||||
'common.language.simplifiedChinese': '簡體中文',
|
||||
'common.language.traditionalChinese': '繁體中文',
|
||||
|
||||
Reference in New Issue
Block a user