Files
lobehub/locales/ar/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.7 KiB
JSON

{
"actionTag.category.command": "أمر",
"actionTag.category.skill": "مهارة",
"actionTag.category.tool": "أداة",
"actionTag.tooltip.command": "يشغّل أمر الشرطة المائلة على جانب العميل قبل الإرسال.",
"actionTag.tooltip.skill": "يحمّل حزمة مهارات قابلة لإعادة الاستخدام لهذا الطلب.",
"actionTag.tooltip.tool": "يشير إلى أداة اختارها المستخدم صراحةً لهذا الطلب.",
"actions.expand.off": "طي",
"actions.expand.on": "توسيع",
"actions.typobar.off": "إخفاء شريط تنسيق النص",
"actions.typobar.on": "إظهار شريط تنسيق النص",
"autoSave.latest": "تم تحميل أحدث نسخة",
"autoSave.saved": "تم الحفظ",
"autoSave.saving": "يتم الحفظ تلقائيًا...",
"cancel": "إلغاء",
"codemirror.copyFailed": "فشل النسخ",
"codemirror.copySuccess": "تم نسخ الكود إلى الحافظة",
"codemirror.selectLanguage": "اختر اللغة",
"codemirror.selectTheme": "اختر السمة",
"codemirror.showLineNumbers": "إظهار أرقام الأسطر",
"codemirror.tabSize": "حجم التبويب",
"codemirror.theme": "السمة",
"codemirror.useTabs": "استخدام التبويبات",
"confirm": "تأكيد",
"file.error": "خطأ: {{message}}",
"file.uploading": "جاري رفع الملف...",
"image.broken": "الصورة تالفة",
"link.edit": "تعديل الرابط",
"link.editLinkTitle": "الرابط",
"link.editTextTitle": "العنوان",
"link.open": "فتح الرابط",
"link.placeholder": "أدخل عنوان الرابط",
"link.unlink": "إزالة الرابط",
"markdown.cancel": "إلغاء",
"markdown.confirm": "تحويل",
"markdown.parseMessage": "سيتم التحويل إلى تنسيق Markdown. سيتم استبدال المحتوى الحالي. هل أنت متأكد؟ (سيُغلق تلقائيًا خلال 5 ثوانٍ)",
"markdown.parseTitle": "تنسيق كـ Markdown",
"math.placeholder": "يرجى إدخال صيغة TeX",
"modifier.accept": "الاحتفاظ",
"modifier.acceptAll": "الاحتفاظ بالجميع",
"modifier.reject": "تراجع",
"modifier.rejectAll": "تراجع عن الكل",
"slash.compact": "ضغط السياق",
"slash.h1": "عنوان 1",
"slash.h2": "عنوان 2",
"slash.h3": "عنوان 3",
"slash.hr": "فاصل",
"slash.newTopic": "الإرسال في موضوع جديد",
"slash.rewrite": "إعادة الصياغة",
"slash.summarize": "تلخيص",
"slash.table": "جدول",
"slash.tex": "صيغة TeX",
"slash.translate": "ترجمة",
"table.delete": "حذف الجدول",
"table.deleteColumn": "حذف العمود",
"table.deleteRow": "حذف الصف",
"table.insertColumnLeft": "إدراج {{count}} عمود إلى اليسار",
"table.insertColumnRight": "إدراج {{count}} عمود إلى اليمين",
"table.insertRowAbove": "إدراج {{count}} صف أعلى",
"table.insertRowBelow": "إدراج {{count}} صف أسفل",
"typobar.blockquote": "اقتباس",
"typobar.bold": "عريض",
"typobar.bulletList": "قائمة نقطية",
"typobar.code": "كود مضمّن",
"typobar.codeblock": "كتلة كود",
"typobar.image": "صورة",
"typobar.italic": "مائل",
"typobar.link": "رابط",
"typobar.numberList": "قائمة مرقمة",
"typobar.redo": "إعادة",
"typobar.strikethrough": "يتوسطه خط",
"typobar.table": "جدول",
"typobar.taskList": "قائمة مهام",
"typobar.tex": "صيغة TeX",
"typobar.underline": "تحته خط",
"typobar.undo": "تراجع"
}