Files
lobehub/locales/de-DE/editor.json
Innei 4438b559e6 feat: add slash action tags, topic reference tool, and command bus system (#12860)
*  feat: add slash action tags in chat input

Made-with: Cursor

*  feat: enhance editor with new slash actions and localization updates

- Added new slash actions: change tone, condense, expand, polish, rewrite, summarize, and translate.
- Updated localization files for English and Chinese to include new action tags and slash commands.
- Removed deprecated useSlashItems component and integrated its functionality directly into InputEditor.

Signed-off-by: Innei <tukon479@gmail.com>

*  feat: add slash placement configuration to chat input components

- Introduced `slashPlacement` prop to `ChatInputProvider`, `StoreUpdater`, and `InputEditor` for customizable slash menu positioning.
- Updated initial state to include `slashPlacement` with default value 'top'.
- Adjusted `ChatInput` and `InputArea` components to utilize the new `slashPlacement` prop.

This enhancement allows for better control over the user interface in chat input interactions.

Signed-off-by: Innei <tukon479@gmail.com>

*  feat: implement command bus for slash action tags processing

Add command bus system to parse and execute slash commands (compact context,
new topic). Refactor action tag categories from ai/prompt to command/skill.
Add useEnabledSkills hook for dynamic skill registration.

* feat: compress command

Signed-off-by: Innei <tukon479@gmail.com>

* refactor: compress

Signed-off-by: Innei <tukon479@gmail.com>

* fix: skill inject

*  feat: slash action tags with context engine integration

Made-with: Cursor

*  feat: add topic reference builtin tool and server runtime

Made-with: Cursor

*  feat: add topic mention items and update ReferTopic integration

Made-with: Cursor

* 🐛 fix: preserve editorData through assistant-group edit flow and update RichTextMessage reactively

- EditState now forwards editorData from EditorModal to modifyMessageContent
- modifyMessageContent accepts and passes editorData to updateMessageContent
- RichTextMessage uses useEditor + effect to update document on content change instead of key-based remount
- Refactored RichTextMessage plugins to use shared createChatInputRichPlugins()

*  feat(context-engine): add metadata types and update processors/providers

Made-with: Cursor

*  feat(chat-input): add slash action tags and restore failed input state

* 🔧 chore: update package dependencies and enhance Vite configuration

- Changed @lobehub/ui dependency to a specific package URL.
- Added multiple SPA entry points and layout files to the Vite warmup configuration.
- Removed unused monorepo packages from sharedOptimizeDeps and added various dayjs locales for better localization support.

Signed-off-by: Innei <tukon479@gmail.com>

* 🔧 chore: update @lobehub/ui dependency to version 5.4.0 in package.json

Signed-off-by: Innei <tukon479@gmail.com>

* 🐛 fix: correct SkillsApiName.runSkill to activateSkill and update trimmed content assertions

* 🐛 fix: resolve type errors in context-engine tests and InputEditor slashPlacement

* 🐛 fix: update runSkill to activateSkill in conversationLifecycle test

* 🐛 fix: avoid regex backtracking in placeholder parser

*  feat(localization): add action tags and tooltips for slash commands across multiple languages

Signed-off-by: Innei <tukon479@gmail.com>

* 🐛 fix: preserve file attachments when /newTopic has no text content

* cleanup

Signed-off-by: Innei <tukon479@gmail.com>

---------

Signed-off-by: Innei <tukon479@gmail.com>
2026-03-13 22:17:36 +08:00

78 lines
3.3 KiB
JSON

{
"actionTag.category.command": "Befehl",
"actionTag.category.skill": "Fähigkeit",
"actionTag.category.tool": "Werkzeug",
"actionTag.tooltip.command": "Führt vor dem Senden einen clientseitigen Slash-Befehl aus.",
"actionTag.tooltip.skill": "Lädt für diese Anfrage ein wiederverwendbares Fähigkeitspaket.",
"actionTag.tooltip.tool": "Markiert ein Werkzeug, das der Benutzer für diese Anfrage ausdrücklich ausgewählt hat.",
"actions.expand.off": "Einklappen",
"actions.expand.on": "Ausklappen",
"actions.typobar.off": "Formatierungsleiste ausblenden",
"actions.typobar.on": "Formatierungsleiste anzeigen",
"autoSave.latest": "Neueste Version geladen",
"autoSave.saved": "Gespeichert",
"autoSave.saving": "Automatisches Speichern...",
"cancel": "Abbrechen",
"codemirror.copyFailed": "Kopieren fehlgeschlagen",
"codemirror.copySuccess": "Code in Zwischenablage kopiert",
"codemirror.selectLanguage": "Sprache auswählen",
"codemirror.selectTheme": "Design auswählen",
"codemirror.showLineNumbers": "Zeilennummern anzeigen",
"codemirror.tabSize": "Tabulatorgröße",
"codemirror.theme": "Design",
"codemirror.useTabs": "Tabs verwenden",
"confirm": "Bestätigen",
"file.error": "Fehler: {{message}}",
"file.uploading": "Datei wird hochgeladen...",
"image.broken": "Bild ist beschädigt",
"link.edit": "Link bearbeiten",
"link.editLinkTitle": "Link",
"link.editTextTitle": "Titel",
"link.open": "Link öffnen",
"link.placeholder": "Link-URL eingeben",
"link.unlink": "Link entfernen",
"markdown.cancel": "Abbrechen",
"markdown.confirm": "Konvertieren",
"markdown.parseMessage": "In Markdown-Format umwandeln. Bestehender Inhalt wird überschrieben. Sind Sie sicher? (Schließt sich automatisch in 5 Sekunden)",
"markdown.parseTitle": "Als Markdown formatieren",
"math.placeholder": "Bitte eine TeX-Formel eingeben",
"modifier.accept": "Beibehalten",
"modifier.acceptAll": "Alle beibehalten",
"modifier.reject": "Zurücksetzen",
"modifier.rejectAll": "Alle zurücksetzen",
"slash.compact": "Kontext komprimieren",
"slash.h1": "Überschrift 1",
"slash.h2": "Überschrift 2",
"slash.h3": "Überschrift 3",
"slash.hr": "Trennlinie",
"slash.newTopic": "In neuem Thema senden",
"slash.rewrite": "Umschreiben",
"slash.summarize": "Zusammenfassen",
"slash.table": "Tabelle",
"slash.tex": "TeX-Formel",
"slash.translate": "Übersetzen",
"table.delete": "Tabelle löschen",
"table.deleteColumn": "Spalte löschen",
"table.deleteRow": "Zeile löschen",
"table.insertColumnLeft": "{{count}} Spalte(n) links einfügen",
"table.insertColumnRight": "{{count}} Spalte(n) rechts einfügen",
"table.insertRowAbove": "{{count}} Zeile(n) oberhalb einfügen",
"table.insertRowBelow": "{{count}} Zeile(n) unterhalb einfügen",
"typobar.blockquote": "Zitatblock",
"typobar.bold": "Fett",
"typobar.bulletList": "Aufzählungsliste",
"typobar.code": "Inline-Code",
"typobar.codeblock": "Codeblock",
"typobar.image": "Bild",
"typobar.italic": "Kursiv",
"typobar.link": "Link",
"typobar.numberList": "Nummerierte Liste",
"typobar.redo": "Wiederholen",
"typobar.strikethrough": "Durchgestrichen",
"typobar.table": "Tabelle",
"typobar.taskList": "Aufgabenliste",
"typobar.tex": "TeX-Formel",
"typobar.underline": "Unterstrichen",
"typobar.undo": "Rückgängig"
}