mirror of
https://github.com/lobehub/lobe-chat.git
synced 2026-06-14 03:30:19 +00:00
70e7e441b2
* ✨ feat: add AgentTaskList component on agent welcome page (LOBE-6597) - AgentTaskList with TaskListHeader, TaskItem, and styles - Embedded in AgentWelcome below ToolAuthAlert - Each task rendered as independent rounded card with status badge - Status: green filled circle (Done), blue circle (In progress) - Card width matches chat input (960px) - i18n keys for taskList.title and taskList.viewAll - Fix updateReview type to use TRPC-inferred type Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * ✨ feat: add Tasks page at /agent/:aid/tasks with route, breadcrumb, and view toggle (LOBE-6597) - Register tasks route in both desktopRouter.config.tsx and .desktop.tsx - Thin route page at src/routes/(main)/agent/tasks/index.tsx - Feature components in src/features/AgentTasks/: page, breadcrumb, header with list/kanban toggle, full task list - Wire up "View All Tasks" navigation from AgentTaskList welcome card - Add i18n keys (taskList.activeTasks, taskList.breadcrumb.task) and generate translations via pnpm i18n Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * ✨ feat: add Task detail page at /agent/:aid/tasks/:taskId (LOBE-6597) - Register :taskId child route in both desktopRouter configs - TaskDetailPage with auto-save hint, breadcrumb, and scrollable content - TaskDetailHeader: editable title (borderless Input), Run/Pause button, status/priority tags, delete - TaskInstruction: click-to-edit Markdown with debounced auto-save - TaskSubtasks: sub-issues list with status badges - TaskActivities: timeline with topic/brief/comment icons - TaskItem now navigates to detail page instead of just setting activeTaskId - Add taskDetail.* i18n keys with generated translations Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * ✨ feat: add TaskModelConfig, TaskScheduleConfig, and refine Task detail UI (LOBE-6597) Add model/provider selector and periodic execution config to Task detail page. Refine TaskDetailHeader, TaskInstruction with auto-save and i18n support. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * ✨ feat: refine Task detail UI with Linear-style design (LOBE-6597) - Redesign SubTasks with collapsible header, progress circle, hover + click navigation - Redesign Activities with agent avatar, comment input box, and Linear-style layout - Add TaskParentBar showing parent task relationship with sibling navigation popover - Add delete confirmation modal using App.useApp().modal.confirm - Move ModelSelect to separate row below action bar - Fix zustand selector recreation in ActivityItem - Replace hardcoded colors with cssVar tokens Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * ✨ feat: add Properties panel, parent link hover, activity icon, and lifecycle save status (LOBE-6597) - Add TaskProperties sidebar with collapsible status/priority dropdowns - Parent bar: clickable parent link with hover, sibling navigation popover on progress - Activity title: add BotMessageSquare icon - Fix lifecycle actions not updating taskSaveStatus (saving/saved indicator) - Filter status dropdown to only user-selectable states (backlog/completed/canceled) - Add test task creation script for dev Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * ✨ feat: add recursive tree view for subtasks with Linear-style connecting lines (LOBE-6597) - Add buildTaskTree utility to convert flat getTaskTree API response into nested tree - Implement SubtaskTreeItem recursive component with CSS connecting lines (├─ and └─) - Fetch full task tree via taskService.getTaskTree for nested subtask display - Show loading spinner during tree fetch, fallback to flat list on error - Remove padding-inline from AgentTaskList container Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * 🐛 fix: address PR review — delete redirect, debounce cleanup, schedule resync (LOBE-6597) - Redirect to task list after successful delete (P1) - Clean up instruction debounce timer on unmount/task switch to prevent stale writes (P1) - Resync TaskScheduleConfig local state when active task changes (P2) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * ♻️ refactor: use backend nested subtasks directly, remove buildTaskTree (LOBE-6597) Backend now returns nested subtasks in task.detail (LOBE-6814). Remove buildTaskTree utility, getTaskTree API call, and loading state. Use TaskDetailSubtask from @lobechat/types instead of local interface. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * ⚡ perf: add optimistic update and save status for model config change (LOBE-6597) updateTaskModelConfig now immediately reflects new model/provider in UI via optimistic store dispatch, and tracks taskSaveStatus (saving/saved). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * ⚡ perf: skip redundant refreshTaskDetail on successful model config update (LOBE-6597) Optimistic update is trusted on success — no need for full detail re-fetch. Aligns with updateTask pattern. Refresh kept only in error path for revert. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * ✨ feat: use backend author info for activities, fix AgentTaskList after AgentHome refactor (LOBE-6597) - Activity: use act.author (TaskDetailActivityAuthor) from backend instead of agentMap lookup (LOBE-7013) - AgentTaskList: fix agentId from useParams instead of useAgentStore.activeAgentId (was undefined) - AgentHome: integrate AgentTaskList into new AgentHome layout (replaces old AgentWelcome) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * ✨ feat: show participant avatars on task cards, use backend author for activities (LOBE-6597) - TaskItem: display up to 3 participant avatars next to task title (LOBE-6805) - Activity: use act.author from backend instead of agentMap lookup (LOBE-7013) - AgentHome: integrate AgentTaskList into new AgentHome layout - Revert AgentTaskList/TaskItem agentId back to useAgentStore (works correctly when mounted) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * ♻️ refactor: fix type safety, memoize participants filter, extract avatar styles (LOBE-6597) - Use TaskParticipant type instead of `any` in filter/map - Compute displayParticipants once with useMemo (was filtering twice per render) - Move avatar overlap styles to CSS classes (was inline objects per render) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * 🔇 chore: hide kanban view toggle until implemented (LOBE-6597) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * ♻️ refactor: export TaskStatus/TaskPriority/TaskActivityType from @lobechat/types (LOBE-6597) Replace hardcoded string/number types with shared type aliases: - TaskStatus: 'backlog' | 'canceled' | 'completed' | 'failed' | 'paused' | 'running' - TaskPriority: 0 | 1 | 2 | 3 | 4 - TaskActivityType: 'brief' | 'comment' | 'topic' Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * style: update * style: update * style: update * style: update * style: update * style: update * style: update * style: update * style: update * style: update * ✨ feat: add Daily Brief module to homepage (#13851) * ✨ feat: add Daily Brief module to homepage Add a Daily Brief section below the chat input on the homepage that displays unresolved briefs from the Agent Tasks system. Users can resolve, comment, and provide feedback directly from the brief cards. - Service: BriefService with listUnresolved, resolve, markRead, addComment - Store: Independent Zustand store (src/store/brief/) with SWR data fetching - Components: BriefCard, BriefCardActions (dynamic action buttons), BriefCardSummary (Markdown with expand/collapse), CommentInput (@lobehub/editor) - Three action types: resolve (closes brief), comment (resolve with text), link (safe URL navigation with protocol validation) - Fixed feedback button: adds task comment without resolving the brief - Inline success state ("Feedback sent") with 1.5s auto-restore - i18n: zh-CN + en-US translations - Tests: 21 tests across service, store selectors, and components - CLI: Register task and brief commands for local development Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * ✨ feat: add agent avatars to Daily Brief cards Display stacked agent avatars next to brief card titles using the new `agents` data from Arvin's enriched listUnresolved API (#13489). - Add AgentAvatarInfo type and agents field to BriefItem - Render overlapping circular avatars (20px, -6px overlap) - Use cssVar.colorBgContainer for border (dark mode compatible) - Extract avatar style to function to avoid inline object creation Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * ♻️ refactor: clean up Daily Brief components - Extract duplicate success state JSX into reusable SuccessTag component - Remove redundant comments that describe what code does - Use DEFAULT_AVATAR from @lobechat/const instead of hardcoded emoji Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * 🐛 fix: address PR review feedback for Daily Brief - Use cssVar.colorBgBase instead of hardcoded #fff for primary button text color (dark mode contrast fix) - Add submitting state to CommentInput to prevent duplicate submissions (disable buttons + show loading during async submit) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * 🌐 chore: generate i18n translations for Daily Brief Run pnpm i18n to generate translations for all 18 locales. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * ♻️ refactor: use shared BriefType from @lobechat/types Export BriefType union from packages/types and use it in BRIEF_TYPE_COLOR and BRIEF_TYPE_ICON records for compile-time key validation. Adding a new brief type now requires updating the shared type, and TypeScript will flag missing mappings. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * style: update * style: update * style: update --------- Co-authored-by: Tsuki <976499226@qq.com> Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * style: update * style: update * style: update * style: update * fix: stopPropagation * fix: i18n * 🐛 fix: wire comment inputs to editor instance so Send actually submits CommentInput in AgentTasks and DailyBrief used antd TextArea inside @lobehub/editor's ChatInput while reading content via editor.getDocument('markdown'). The TextArea was never connected to the editor instance, so getDocument always returned empty and handleSubmit short-circuited silently — Send appeared to do nothing (no network request fired). Replace the TextArea with <Editor editor={editor} type="text" variant="chat" /> so useEditor() actually drives the editable surface. Keep plain-text behavior via markdownOption={false} + enablePasteMarkdown={false}, and bind Cmd/Ctrl+Enter submit via onPressEnter. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * 🐛 fix: use participant.title after TaskParticipant schema rename (#13877) PR #13877 renamed TaskParticipant.name → .title and added .backgroundColor. Our branch's UI code (AgentAvatars, listViewOptions, TaskList group header, Breadcrumb) was already written against the new schema, but TaskProperties still read firstParticipant?.name — update the last remaining call site so the type matches post-rebase. backgroundColor is already plumbed through everywhere it applies within #13877's scope; TaskActivities' TaskDetailActivityAuthor is a separate type untouched by the PR and kept as-is. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * 🐛 fix: resolve type-check errors exposed after canary rebase canary upgraded react-i18next to a version with typed i18n keys and tightened @lobehub/editor's SendButton + IEditor APIs. Rebase pulled these in, surfacing latent type errors in LOBE-6597 code. - CommentInput: use editor.cleanDocument() (IEditor's actual API; clearContent never existed). - TaskActivities / TaskLatestActivity / TaskTriggerTag: type t as TFunction<'chat'> so typed i18n accepts the known-literal keys used inside module-level helpers. - TaskPriorityTag / TaskStatusTag / listViewOptions: add defaultValue: '' to dynamic-key t() calls (template literals and Record lookups) to match the broad-key i18n overload. - BriefCardActions: swap unusable <SendButton> (no children, no iconPlacement) for <Button>; add defaultValue to the dynamic brief-action key lookup; drop stale @ts-ignore. - DailyBrief/CommentInput: drop unsupported children on SendButton; keep label via title attribute. - Recents/Item: type TYPE_ICON_MAP as Partial<Record<...>> so 'task' (rendered via TaskStatusIcon elsewhere) is a safe absent key. - brief/slices/list/action: cast briefService.listUnresolved() result back to BriefItem[] (TRPC serialization widens BriefType to string). - AgentTasks/TasksHeader: delete dead file — no importers and its ./style module was removed by an earlier refactor. Also ran pnpm install to materialize the newly-extracted @lobechat/agent-gateway-client workspace package (canary #13866), clearing ~7 "cannot find module" errors. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * ♻️ refactor(builtin-tool-task): polish task tool paths (#13869) * ✨ feat: navigate to task detail when clicking brief card header Clicking the header row of a Daily Brief card (icon + title + time + agent avatars) now jumps straight to the associated task, using the brief's task-tree agent (with activeAgent / inbox as fallback). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * ✨ feat: show parent task ids as clickable breadcrumb trail Walk the cached parent chain from taskDetailMap and insert each ancestor's identifier as a link between the "任务" entry and the current task name in the task detail breadcrumb. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * ✨ feat: add cross-agent /tasks page with View All Tasks on Daily Brief - Register `/tasks` route in desktop (web + Electron) and mobile router configs - `useFetchTaskList` supports `allAgents` mode via options object API to fetch tasks without agent filter; backend already supports optional assigneeAgentId - `Breadcrumb` accepts optional `agentId`, renders "All tasks" crumb when absent - `AgentTaskItem` navigation uses `task.assigneeAgentId` so clicks work from the cross-agent page (falls back to `activeAgentId` for unassigned tasks) - Extract `useScenarioEnabledTools` hook to share layout effect between `/tasks/_layout` and `/agent/:aid/tasks/_layout` Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * ♻️ refactor: use assigneeAgentId for task avatar instead of participants array Replace AgentAvatars (took participants[]) with AssigneeAvatar (takes agentId, resolves meta from agent store). This correctly represents that a task is assigned to a single agent via assigneeAgentId/detail.agentId. - New AssigneeAvatar component reads agent meta from agent store by ID - TaskProperties reads activeTaskAgentId from task detail store - listViewOptions uses task.assigneeAgentId directly for groupBy/sort - Extract shared isInboxAgentId helper to eliminate 4x inline duplication - Group headers resolve agent title at render time via AssigneeLabel component Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * 🐛 fix: enable vertical scrolling on cross-agent tasks page Add overflowY and flex to WideScreenContainer wrapper so the task list can scroll when content exceeds viewport height. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * ✨ feat: add re-assign task agent with popover selector - Add AssigneeAgentSelector component with Popover agent list - Extract useAgentDisplayMeta hook for consistent agent name/avatar resolution - Fix optimistic update mapping assigneeAgentId → agentId in task store - Disable reassignment for running tasks with tooltip hint - Integrate selector into task list and task detail property panel Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * ✨ feat: reuse BriefCard in task detail activities & fix raw-id navigation Render brief-type activities as full BriefCard (same as homepage) instead of plain tree rows. Decouple BriefCardActions from useBriefStore for actions lookup so it can be reused across pages. Fix infinite loading when navigating to task detail via raw DB id (task_xxx) by storing detail under both the identifier and the raw id key in taskDetailMap. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * ✨ feat: add TopicCard component for task detail activities Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * ✨ feat: allow re-running completed tasks with dedicated button Completed tasks now show a "Re-run" button (with rotate icon) instead of hiding the action. The backend already supported this — only the frontend selector gate needed updating. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * ✨ feat: add create task modal with markdown editor Add a "+" button on the tasks list page that opens a Linear-style modal for manually creating tasks. The modal features a title input, a markdown editor (EditorCanvas), and a bottom toolbar with priority and assignee selectors. Existing tag components (TaskStatusTag, TaskPriorityTag, AssigneeAgentSelector) are extended with an `onChange` controlled mode so they can be used in creation context where no task exists yet. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * 🐛 fix: suppress spurious updateTask on Task Detail page load EditorDataMode was missing the contentChangeLockRef pattern that DocumentIdMode already uses, causing Lexical's registerUpdateListener to treat programmatic content hydration as a user edit and fire onContentChange → updateTask on every page visit. - Add contentChangeLockRef + lockIdRef staleness guard - Extract loadContentWithLock to deduplicate lock/load/unlock logic - Pass contentChangeLockRef to InternalEditor - Remove unreachable dead code in loadEditorContent Closes LOBE-7362 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * ✨ feat: task detail comment CRUD and various UX improvements Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * 🐛 fix: move canceled status group to the end of task list Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * 💄 style: polish task detail layout, title, and run button - Title switched to auto-sizing TextArea so long names wrap (like Linear) - Reduce title font-size from 32px to 24px and tighten paddings - Make "运行任务" button small-sized to match the denser header - Add 120px bottom padding for end-of-content scroll breathing room - Default EditorCanvas paddingBottom trimmed from 64 to 32 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * 💄 style: refine task assignee, priority, and comment input - Assignee block uses filled variant in dark mode for better contrast - Urgent priority (level 1) renders in orange for quick scanning - Comment input keeps SendButton slot reserved to prevent layout shift Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * ✨ feat: task detail — inline subtasks, automation mode, chronological activity - Inline subtask creation under a task via CreateTaskInlineEntry (parentTaskId/autoFocus/onCollapse/placeholder), refreshes parent on create - Track agent-created tasks via createdByAgentId through service, router, types, and the builtin task executor - Replace scheduler Segmented-only UI with an Enable switch + heartbeat/ schedule mode; persist via automationMode on the task - Sort detail activities oldest → newest for a natural timeline reading - Reducer patches nested subtask entries on updateTaskDetail so in-place edits reflect in the parent's subtask tree Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * 💄 style: render activate-tool chips as rounded pills Switch inspector tool chips from monospace code tags to filled rounded pills with ellipsis overflow, making multi-tool rows scan better in tight headers. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * 🐛 fix: keep finished tool call out of loading state while siblings run The message-level isAssistantMessageBusy flag stays true while sibling tool calls are still running. Without guarding on this tool's own result, a finished tool would flip back to "loading". Now a tool that has a real result or error is never shown as calling. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * 💄 style: use small Segmented in schedule config popover Keeps the automation mode switcher visually aligned with the denser popover controls. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * ✨ feat: agent profile hover card on task activity author - Extract shared AgentProfileCard + unified AgentProfilePopup (click / hover) with lazy agent fetch; move out of group sidebar path. - Wire activity author avatar + name to a hover card; brighten title on hover; keep a small "agent" tag on the author row. - Show inline skeletons (description + footer stats) while loading. - Enrich subtask payload with assignee agent info for cleaner UI. * ✨ feat: open task topic chat in side drawer Click a topic row in the task detail activities to open a right-side drawer showing the topic's full chat history. Messages stream in live via the existing agent gateway pipeline (gateway events land in chatStore.dbMessagesMap keyed by the topic context), so a running topic refreshes its drawer in real time without a dedicated subscription. Reuses the Conversation feature (ConversationProvider + ChatList) with an isolated context (agentId + topicId + isolatedTopic), so the drawer never touches the global active topic and multiple panels coexist cleanly. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * 💄 style: outline activate-tool chip with subtle border Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * ✨ feat: show topic handoff summary on activity card Pull `handoff.summary` through the task service into TaskDetailActivity and render it under the title in TopicCard so completed topics surface what was accomplished without opening the drawer. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * 🎸 chore: gate agent task feature behind agent_task flag Hide every client-side entry point to the Agent Task feature when the `agent_task` flag (default `isDev`, off in prod) is disabled: - Sidebar: task tab in the agent sidebar nav - Routes: `/agent/:aid/tasks/*` and `/tasks/*` layouts redirect to `/` when the flag is off (mobile router reuses the same layout) - Home Recents: filter out `type='task'` items in both the list and the "all recents" drawer - Daily Brief: skip fetch + hide the entire panel (all briefs link to tasks) Backend TRPC / lifecycle stays on — the feature is already live for CLI usage. Flag name mirrors `agent_onboarding` for consistency. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * 🐛 fix: prioritize includeTriggers in topic queries * 🐛 fix: normalize task detail activity payloads * ✨ feat: add Kanban board view for task list with drag-and-drop LOBE-7493 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * 💄 style: shorten schedule tag labels & fix time width in task cards Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * update i18n * 💄 style: hide task tool from user selectors * 💄 style: hide task skill from user selectors --------- Co-authored-by: canisminor1990 <i@canisminor.cc> Co-authored-by: YuTengjing <ytj2713151713@gmail.com> Co-authored-by: Arvin Xu <arvinx@foxmail.com>
723 lines
52 KiB
JSON
723 lines
52 KiB
JSON
{
|
|
"ModelSwitch.title": "النموذج",
|
|
"active": "نشط",
|
|
"agentBuilder.installPlugin.authRequired": "يتطلب Cloud MCP تسجيل الدخول للمتابعة",
|
|
"agentBuilder.installPlugin.cancel": "إلغاء",
|
|
"agentBuilder.installPlugin.clickApproveToConnect": "انقر على \"موافقة\" للاتصال وتفويض هذا التكامل",
|
|
"agentBuilder.installPlugin.clickApproveToInstall": "انقر على \"موافقة\" لتثبيت هذه المهارة",
|
|
"agentBuilder.installPlugin.connectedAndEnabled": "متصل ومفعل",
|
|
"agentBuilder.installPlugin.connectionFailed": "فشل الاتصال. أعد المحاولة أو تحقق من التفويض وإعدادات الشبكة.",
|
|
"agentBuilder.installPlugin.installFailed": "فشل التثبيت. أعد المحاولة أو اعرض التفاصيل وحاول مرة أخرى.",
|
|
"agentBuilder.installPlugin.installPlugin": "تثبيت المهارة",
|
|
"agentBuilder.installPlugin.installToEnable": "قم بالتثبيت لتفعيل هذه المهارة للوكيل (يمكنك القيام بذلك لاحقًا)",
|
|
"agentBuilder.installPlugin.installedAndEnabled": "تم التثبيت والتفعيل",
|
|
"agentBuilder.installPlugin.requiresAuth": "يتطلب التفويض. انقر على \"موافقة\" للاتصال",
|
|
"agentBuilder.installPlugin.retry": "إعادة المحاولة",
|
|
"agentBuilder.title": "منشئ الوكلاء",
|
|
"agentBuilder.welcome": "أخبرني بحالتك.\n\nكتابة، برمجة، أو تحليل بيانات — أي شيء يناسبك. أنت تملك الهدف والمعايير؛ سأقوم بتقسيمها إلى وكلاء تعاونيين قابلين للتنفيذ.",
|
|
"agentDefaultMessage": "مرحبًا، أنا **{{name}}**. جملة واحدة تكفي.\n\nهل ترغب في أن أتناسب مع سير عملك بشكل أفضل؟ انتقل إلى [إعدادات الوكيل]({{url}}) واملأ ملف تعريف الوكيل (يمكنك تعديله في أي وقت).",
|
|
"agentDefaultMessageWithSystemRole": "مرحبًا، أنا **{{name}}**. جملة واحدة تكفي — أنت المتحكم.",
|
|
"agentDefaultMessageWithoutEdit": "مرحبًا، أنا **{{name}}**. جملة واحدة تكفي — أنت المتحكم.",
|
|
"agentProfile.files_one": "{{count}} ملف",
|
|
"agentProfile.files_other": "{{count}} ملفات",
|
|
"agentProfile.knowledgeBases_one": "{{count}} قاعدة معرفة",
|
|
"agentProfile.knowledgeBases_other": "{{count}} قواعد معرفة",
|
|
"agentProfile.skills_one": "{{count}} مهارة",
|
|
"agentProfile.skills_other": "{{count}} مهارات",
|
|
"agents": "الوكلاء",
|
|
"artifact.generating": "يتم التوليد",
|
|
"artifact.inThread": "لا يمكن العرض في الموضوع الفرعي، يرجى التبديل إلى منطقة المحادثة الرئيسية للفتح",
|
|
"artifact.thinking": "يفكر",
|
|
"artifact.thought": "عملية التفكير",
|
|
"artifact.unknownTitle": "عمل بدون عنوان",
|
|
"availableAgents": "الوكلاء المتاحون",
|
|
"backToBottom": "الانتقال إلى الأحدث",
|
|
"beforeUnload.confirmLeave": "لا يزال هناك طلب قيد التشغيل. هل تريد المغادرة؟",
|
|
"builtinCopilot": "المساعد المدمج",
|
|
"chatList.expandMessage": "توسيع الرسالة",
|
|
"chatList.longMessageDetail": "عرض التفاصيل",
|
|
"clearCurrentMessages": "مسح رسائل الجلسة الحالية",
|
|
"compressedHistory": "السجل المضغوط",
|
|
"compression.cancel": "إلغاء الضغط",
|
|
"compression.cancelConfirm": "هل أنت متأكد أنك تريد إلغاء الضغط؟ سيؤدي ذلك إلى استعادة الرسائل الأصلية.",
|
|
"compression.history": "السجل",
|
|
"compression.summary": "الملخص",
|
|
"confirmClearCurrentMessages": "أنت على وشك مسح رسائل الجلسة الحالية. بمجرد المسح، لا يمكن استعادتها. يرجى تأكيد الإجراء.",
|
|
"confirmRemoveChatGroupItemAlert": "سيتم حذف هذه المجموعة. سيتم أيضًا حذف المساعدين الخاصين بالمجموعة، بينما لن يتأثر المساعدون الخارجيون.",
|
|
"confirmRemoveGroupItemAlert": "أنت على وشك حذف هذه المجموعة. بعد الحذف، سيتم نقل وكلائها إلى القائمة الافتراضية. يرجى تأكيد الإجراء.",
|
|
"confirmRemoveGroupSuccess": "تم حذف المجموعة بنجاح",
|
|
"confirmRemoveSessionItemAlert": "أنت على وشك حذف هذا الوكيل. بمجرد الحذف، لا يمكن استعادته. يرجى تأكيد الإجراء.",
|
|
"confirmRemoveSessionSuccess": "تم حذف الوكيل بنجاح",
|
|
"createModal.createBlank": "إنشاء فارغ",
|
|
"createModal.groupPlaceholder": "صف ما ينبغي أن يقوم به هذا الفريق...",
|
|
"createModal.groupTitle": "ما الذي ينبغي أن يقوم به فريقك؟",
|
|
"createModal.placeholder": "صف ما ينبغي أن يقوم به وكيلك...",
|
|
"createModal.title": "ما الذي ينبغي أن يقوم به وكيلك؟",
|
|
"createTask.assignee": "المكلّف",
|
|
"createTask.collapse": "إخفاء الإدخال",
|
|
"createTask.expandToInline": "ربط بالصفحة",
|
|
"createTask.instructionPlaceholder": "أضف وصفًا...",
|
|
"createTask.submit": "إنشاء مهمة",
|
|
"createTask.titlePlaceholder": "عنوان المهمة",
|
|
"defaultAgent": "الوكيل الافتراضي",
|
|
"defaultGroupChat": "مجموعة",
|
|
"defaultList": "القائمة الافتراضية",
|
|
"defaultSession": "الوكيل الافتراضي",
|
|
"desktopNotification.aiReplyCompleted.body": "رد الوكيل جاهز",
|
|
"desktopNotification.aiReplyCompleted.title": "تم إكمال الرد",
|
|
"dm.placeholder": "ستظهر رسائلك الخاصة مع {{agentTitle}} هنا.",
|
|
"dm.tooltip": "إرسال رسالة خاصة",
|
|
"dm.visibleTo": "مرئي فقط لـ {{target}}",
|
|
"dm.you": "أنت",
|
|
"duplicateSession.loading": "يتم النسخ...",
|
|
"duplicateSession.success": "تم النسخ بنجاح",
|
|
"duplicateSession.title": "نسخة {{title}}",
|
|
"duplicateTitle": "نسخة {{title}}",
|
|
"emptyAgent": "لا يوجد وكلاء بعد. ابدأ بأول وكيل لك — وابنِ نظامك بمرور الوقت.",
|
|
"emptyAgentAction": "إنشاء وكيل",
|
|
"extendParams.disableContextCaching.desc": "قلل تكلفة إنشاء محادثة واحدة بنسبة تصل إلى 90٪ وزد السرعة حتى 4 أضعاف. <1>اعرف المزيد</1>",
|
|
"extendParams.disableContextCaching.title": "تفعيل تخزين السياق المؤقت",
|
|
"extendParams.effort.desc": "تحكم في عدد الرموز التي يستخدمها كلود عند الرد باستخدام معلمة الجهد.",
|
|
"extendParams.effort.title": "الجهد",
|
|
"extendParams.enableAdaptiveThinking.desc": "اسمح لكلود باتخاذ قرارات ديناميكية حول متى وكم يفكر باستخدام وضع التفكير التكيفي.",
|
|
"extendParams.enableAdaptiveThinking.title": "تفعيل التفكير التكيفي",
|
|
"extendParams.enableReasoning.desc": "استنادًا إلى حد آلية التفكير في Claude. <1>اعرف المزيد</1>",
|
|
"extendParams.enableReasoning.title": "تفعيل التفكير العميق",
|
|
"extendParams.imageAspectRatio.title": "نسبة أبعاد الصورة",
|
|
"extendParams.imageResolution.title": "دقة الصورة",
|
|
"extendParams.reasoningBudgetToken.title": "رمز استهلاك التفكير",
|
|
"extendParams.reasoningEffort.title": "شدة التفكير",
|
|
"extendParams.textVerbosity.title": "مستوى تفصيل النص الناتج",
|
|
"extendParams.thinking.title": "مفتاح التفكير العميق",
|
|
"extendParams.thinkingBudget.title": "ميزانية التفكير",
|
|
"extendParams.thinkingLevel.title": "مستوى التفكير",
|
|
"extendParams.title": "ميزات توسيع النموذج",
|
|
"extendParams.urlContext.desc": "عند التفعيل، سيتم تحليل الروابط تلقائيًا لاستخراج محتوى صفحة الويب الفعلي",
|
|
"extendParams.urlContext.title": "استخراج محتوى رابط الويب",
|
|
"followUpPlaceholder": "متابعة. @ لإسناد مهام لوكلاء آخرين.",
|
|
"group.desc": "ادفع المهمة للأمام مع عدة وكلاء في مساحة مشتركة واحدة.",
|
|
"group.memberTooltip": "يوجد {{count}} عضو في المجموعة",
|
|
"group.orchestratorThinking": "المنسق يفكر...",
|
|
"group.profile.contentPlaceholder": "قم بتحديد أهداف المجموعة/طرق العمل هنا. سيتم مشاركة هذه المعلومات مع جميع أعضاء المجموعة.",
|
|
"group.profile.external": "خارجي",
|
|
"group.profile.externalAgentWarning": "هذا وكيل خارجي. أي تغييرات يتم إجراؤها هنا ستُعدل مباشرة إعدادات الوكيل الأصلية.",
|
|
"group.profile.groupSettings": "إعدادات المجموعة",
|
|
"group.profile.supervisor": "المشرف",
|
|
"group.profile.supervisorPlaceholder": "يقوم المشرف بتنسيق عمل الوكلاء المختلفين. تعيين معلومات المشرف هنا يتيح تنسيقًا أدق لسير العمل.",
|
|
"group.removeMember": "إزالة العضو",
|
|
"group.title": "مجموعة",
|
|
"groupDescription": "وصف المجموعة",
|
|
"groupSidebar.agentProfile.chat": "محادثة",
|
|
"groupSidebar.agentProfile.model": "النموذج",
|
|
"groupSidebar.agentProfile.settings": "الإعدادات",
|
|
"groupSidebar.members.addMember": "إضافة عضو",
|
|
"groupSidebar.members.enableOrchestrator": "تفعيل المنسق",
|
|
"groupSidebar.members.memberSettings": "إعدادات الأعضاء",
|
|
"groupSidebar.members.orchestrator": "المنسق",
|
|
"groupSidebar.members.orchestratorThinking": "المنسق يفكر...",
|
|
"groupSidebar.members.removeMember": "إزالة العضو",
|
|
"groupSidebar.members.stopOrchestrator": "إيقاف",
|
|
"groupSidebar.members.triggerOrchestrator": "تشغيل",
|
|
"groupSidebar.tabs.host": "المنسق",
|
|
"groupSidebar.tabs.members": "الأعضاء",
|
|
"groupSidebar.tabs.role": "الملف الشخصي",
|
|
"groupWizard.chooseMembers": "اختر وكلاء موجودين...",
|
|
"groupWizard.createGroup": "إنشاء مجموعة",
|
|
"groupWizard.existingMembers": "الوكلاء الحاليون",
|
|
"groupWizard.groupMembers": "سيتم أيضًا إضافة هؤلاء الوكلاء إلى قائمتك",
|
|
"groupWizard.host.description": "دع المجموعة تتقدم تلقائيًا. يمكنك التدخل في أي وقت.",
|
|
"groupWizard.host.title": "تفعيل المنسق",
|
|
"groupWizard.host.tooltip": "عند الإيقاف، ستحتاج إلى الإشارة إلى الأعضاء للحصول على ردودهم.",
|
|
"groupWizard.memberCount": "{{count}} عضو",
|
|
"groupWizard.noMatchingTemplates": "لا توجد قوالب مطابقة",
|
|
"groupWizard.noSelectedTemplates": "لم يتم تحديد أي قوالب",
|
|
"groupWizard.noTemplateMembers": "لا يوجد أعضاء في القالب",
|
|
"groupWizard.noTemplates": "لا توجد قوالب متاحة",
|
|
"groupWizard.searchTemplates": "البحث في القوالب...",
|
|
"groupWizard.title": "إنشاء مجموعة",
|
|
"groupWizard.useTemplate": "استخدام قالب",
|
|
"heteroAgent.fullAccess.label": "وصول كامل",
|
|
"heteroAgent.fullAccess.tooltip": "يعمل Claude Code محليًا مع صلاحية قراءة/كتابة كاملة في دليل العمل. تبديل أوضاع الصلاحيات غير متاح بعد.",
|
|
"heteroAgent.resumeReset.cwdChanged": "تم تغيير دليل العمل. لا يمكن استئناف جلسة Claude Code السابقة إلا من دليلها الأصلي، لذا بدأت محادثة جديدة.",
|
|
"heteroAgent.switchCwd.cancel": "إلغاء",
|
|
"heteroAgent.switchCwd.content": "جلسات Claude Code مرتبطة بدليل عمل محدد. سيؤدي التبديل إلى بدء جلسة جديدة لهذا الموضوع — ستبقى رسائل الدردشة، لكن لا يمكن استعادة سياق الجلسة السابقة.",
|
|
"heteroAgent.switchCwd.ok": "تبديل وبدء جلسة جديدة",
|
|
"heteroAgent.switchCwd.title": "تبديل دليل العمل؟",
|
|
"hideForYou": "محتوى الرسائل الخاصة مخفي. يرجى تفعيل 'عرض محتوى الرسائل الخاصة' في الإعدادات لعرضه.",
|
|
"history.title": "سيحتفظ الوكيل فقط بآخر {{count}} رسالة.",
|
|
"historyRange": "نطاق السجل",
|
|
"historySummary": "ملخص الرسائل السابقة",
|
|
"inactive": "غير نشط",
|
|
"inbox.desc": "تعاون في مساحة عمل واحدة وحوّل الأفكار إلى نتائج.",
|
|
"inbox.title": "Lobe AI",
|
|
"input.addAi": "إضافة رسالة من الذكاء الاصطناعي",
|
|
"input.addUser": "إضافة رسالة من المستخدم",
|
|
"input.disclaimer": "قد يخطئ الوكلاء. استخدم حكمك الخاص للمعلومات الحساسة.",
|
|
"input.errorMsg": "فشل الإرسال: {{errorMsg}}. أعد المحاولة أو أرسل لاحقًا.",
|
|
"input.more": "المزيد",
|
|
"input.send": "إرسال",
|
|
"input.sendWithCmdEnter": "اضغط <key/> للإرسال",
|
|
"input.sendWithEnter": "اضغط <key/> للإرسال",
|
|
"input.stop": "إيقاف",
|
|
"input.warp": "سطر جديد",
|
|
"input.warpWithKey": "اضغط <key/> لإدراج فاصل أسطر",
|
|
"intentUnderstanding.title": "جارٍ فهم نيتك...",
|
|
"inviteMembers": "دعوة الأعضاء",
|
|
"knowledgeBase.all": "كل المحتوى",
|
|
"knowledgeBase.allFiles": "كل الملفات",
|
|
"knowledgeBase.allLibraries": "كل المكتبات",
|
|
"knowledgeBase.disabled": "دردشة المكتبة غير متاحة في هذا النشر. يرجى التبديل إلى قاعدة بيانات على الخادم أو استخدام {{cloud}}.",
|
|
"knowledgeBase.library.action.add": "إضافة",
|
|
"knowledgeBase.library.action.detail": "تفاصيل",
|
|
"knowledgeBase.library.action.remove": "إزالة",
|
|
"knowledgeBase.library.title": "الملفات / المكتبات",
|
|
"knowledgeBase.relativeFilesOrLibraries": "الملفات/المكتبات ذات الصلة",
|
|
"knowledgeBase.title": "المكتبة",
|
|
"knowledgeBase.uploadGuide": "يمكن عرض الملفات المرفوعة في قسم 'الموارد'.",
|
|
"knowledgeBase.viewMore": "عرض المزيد",
|
|
"memberSelection.addMember": "إضافة عضو",
|
|
"memberSelection.allMembers": "جميع الأعضاء",
|
|
"memberSelection.createGroup": "إنشاء مجموعة",
|
|
"memberSelection.noAvailableAgents": "لا يوجد وكلاء متاحون للدعوة",
|
|
"memberSelection.noSelectedAgents": "لم يتم تحديد أي وكلاء بعد",
|
|
"memberSelection.searchAgents": "البحث عن وكلاء...",
|
|
"memberSelection.selectedAgents": "المحددون ({{count}})",
|
|
"memberSelection.setInitialMembers": "تحديد أعضاء المجموعة",
|
|
"members": "الأعضاء",
|
|
"memory.effort.desc": "تحكم في مدى شدة استرجاع وتحديث الذكاء الاصطناعي للذاكرة.",
|
|
"memory.effort.high.title": "عالي",
|
|
"memory.effort.low.title": "منخفض",
|
|
"memory.effort.medium.title": "متوسط",
|
|
"memory.effort.title": "العدوانية",
|
|
"memory.off.desc": "تعطيل الذاكرة لهذه المحادثة.",
|
|
"memory.off.title": "تعطيل الذاكرة",
|
|
"memory.on.desc": "تذكر التفضيلات والمعلومات من المحادثات.",
|
|
"memory.on.title": "تمكين الذاكرة",
|
|
"memory.title": "الذاكرة",
|
|
"mention.title": "الإشارة إلى الأعضاء",
|
|
"messageAction.collapse": "طي الرسالة",
|
|
"messageAction.continueGeneration": "متابعة التوليد",
|
|
"messageAction.delAndRegenerate": "حذف وإعادة التوليد",
|
|
"messageAction.deleteDisabledByThreads": "لا يمكن حذف هذه الرسالة لأنها تحتوي على موضوع فرعي",
|
|
"messageAction.expand": "توسيع الرسالة",
|
|
"messageAction.interrupted": "تم الإيقاف",
|
|
"messageAction.interruptedHint": "ماذا يجب أن أفعل بدلاً من ذلك؟",
|
|
"messageAction.reaction": "إضافة تفاعل",
|
|
"messageAction.regenerate": "إعادة التوليد",
|
|
"messages.dm.sentTo": "مرئي فقط لـ {{name}}",
|
|
"messages.dm.title": "رسالة خاصة",
|
|
"messages.modelCard.credit": "الأرصدة",
|
|
"messages.modelCard.creditPricing": "التسعير",
|
|
"messages.modelCard.creditTooltip": "لأغراض العد، نعتبر 1 دولار = 1 مليون رصيد. مثال: 3 دولارات/مليون رموز → 3 أرصدة لكل رمز.",
|
|
"messages.modelCard.pricing.inputCachedTokens": "المدخلات المخزنة {{amount}} أرصدة · ${{amount}}/مليون",
|
|
"messages.modelCard.pricing.inputCharts": "${{amount}}/مليون حرف",
|
|
"messages.modelCard.pricing.inputMinutes": "${{amount}}/دقيقة",
|
|
"messages.modelCard.pricing.inputTokens": "المدخلات {{amount}} أرصدة · ${{amount}}/مليون",
|
|
"messages.modelCard.pricing.outputTokens": "المخرجات {{amount}} أرصدة · ${{amount}}/مليون",
|
|
"messages.modelCard.pricing.writeCacheInputTokens": "كتابة إلى التخزين المؤقت {{amount}} أرصدة · ${{amount}}/مليون",
|
|
"messages.tokenDetails.average": "متوسط السعر للوحدة",
|
|
"messages.tokenDetails.input": "المدخلات",
|
|
"messages.tokenDetails.inputAudio": "مدخل صوتي",
|
|
"messages.tokenDetails.inputCached": "مدخل مخزن مؤقتًا",
|
|
"messages.tokenDetails.inputCitation": "استشهاد المدخل",
|
|
"messages.tokenDetails.inputText": "مدخل نصي",
|
|
"messages.tokenDetails.inputTitle": "تفاصيل المدخل",
|
|
"messages.tokenDetails.inputTool": "استخدام أداة الإدخال",
|
|
"messages.tokenDetails.inputUncached": "مدخل غير مخزن مؤقتًا",
|
|
"messages.tokenDetails.inputWriteCached": "كتابة إلى التخزين المؤقت للمدخل",
|
|
"messages.tokenDetails.output": "المخرجات",
|
|
"messages.tokenDetails.outputAudio": "مخرج صوتي",
|
|
"messages.tokenDetails.outputImage": "مخرج صورة",
|
|
"messages.tokenDetails.outputText": "مخرج نصي",
|
|
"messages.tokenDetails.outputTitle": "تفاصيل المخرج",
|
|
"messages.tokenDetails.reasoning": "تفكير عميق",
|
|
"messages.tokenDetails.speed.tps.title": "TPS",
|
|
"messages.tokenDetails.speed.tps.tooltip": "الرموز في الثانية (TPS). يشير إلى متوسط سرعة المحتوى الذي يولده الذكاء الاصطناعي (رموز/ثانية)، محسوبًا من لحظة استلام أول رمز.",
|
|
"messages.tokenDetails.speed.ttft.title": "TTFT",
|
|
"messages.tokenDetails.speed.ttft.tooltip": "الوقت لأول رمز (TTFT). يشير إلى الفترة الزمنية من إرسال الرسالة إلى استلام أول رمز من العميل.",
|
|
"messages.tokenDetails.title": "تفاصيل التوليد",
|
|
"messages.tokenDetails.total": "الاستهلاك الكلي",
|
|
"minimap.emptyPreview": "(لا يوجد محتوى نصي)",
|
|
"minimap.jumpToMessage": "الانتقال إلى الرسالة {{index}}",
|
|
"minimap.nextMessage": "الرسالة التالية",
|
|
"minimap.previousMessage": "الرسالة السابقة",
|
|
"minimap.senderAssistant": "الوكيل",
|
|
"minimap.senderUser": "أنت",
|
|
"newAgent": "إنشاء وكيل",
|
|
"newClaudeCodeAgent": "إضافة Claude Code",
|
|
"newGroupChat": "إنشاء مجموعة",
|
|
"newPage": "إنشاء صفحة",
|
|
"noAgentsYet": "لا يوجد أعضاء في هذه المجموعة بعد. انقر على زر + لدعوة وكلاء.",
|
|
"noAvailableAgents": "لا يوجد أعضاء متاحون للدعوة",
|
|
"noMatchingAgents": "لم يتم العثور على أعضاء مطابقين",
|
|
"noMembersYet": "لا تحتوي هذه المجموعة على أي أعضاء بعد. انقر على زر + لدعوة وكلاء.",
|
|
"noSelectedAgents": "لم يتم تحديد أي أعضاء بعد",
|
|
"openInNewWindow": "فتح في نافذة جديدة",
|
|
"operation.contextCompression": "السياق طويل جدًا، يتم ضغط السجل...",
|
|
"operation.execAgentRuntime": "جارٍ تحضير الرد",
|
|
"operation.execClientTask": "تنفيذ المهمة",
|
|
"operation.execHeterogeneousAgent": "{{name}} قيد التشغيل",
|
|
"operation.execServerAgentRuntime": "جاري التشغيل… يمكنك تبديل المهام أو إغلاق الصفحة — ستستمر المهمة بالعمل.",
|
|
"operation.heterogeneousAgentFallback": "وكيل خارجي",
|
|
"operation.sendMessage": "جارٍ إرسال الرسالة",
|
|
"owner": "مالك المجموعة",
|
|
"pageCopilot.title": "وكيل الصفحة",
|
|
"pageCopilot.welcome": "**كتابة أوضح وأكثر دقة**\n\nاكتب مسودة أو أعد الصياغة أو حسّن—أخبرني بنيتك وسأتولى الباقي.",
|
|
"pageSelection.lines": "الأسطر {{start}}-{{end}}",
|
|
"pageSelection.reference": "النص المحدد",
|
|
"pin": "تثبيت",
|
|
"pinOff": "إلغاء التثبيت",
|
|
"prompts.summaryExpert": "بصفتك خبيرًا في التلخيص، يرجى تلخيص المحتوى التالي بناءً على التعليمات أعلاه:",
|
|
"rag.referenceChunks": "مصدر المرجع",
|
|
"rag.userQuery.actions.delete": "حذف إعادة صياغة الاستعلام",
|
|
"rag.userQuery.actions.regenerate": "إعادة توليد الاستعلام",
|
|
"regenerate": "إعادة التوليد",
|
|
"roleAndArchive": "ملف الوكيل وسجل المحادثات",
|
|
"runtimeEnv.mode.cloud": "بيئة السحابة",
|
|
"runtimeEnv.mode.cloudDesc": "تشغيل في بيئة سحابة آمنة",
|
|
"runtimeEnv.mode.local": "محلي",
|
|
"runtimeEnv.mode.localDesc": "الوصول إلى الملفات والأوامر المحلية",
|
|
"runtimeEnv.mode.none": "إيقاف",
|
|
"runtimeEnv.mode.noneDesc": "تعطيل بيئة التشغيل",
|
|
"runtimeEnv.selectMode": "اختر بيئة التشغيل",
|
|
"runtimeEnv.title": "بيئة التشغيل",
|
|
"search.grounding.imageSearchQueries": "كلمات البحث عن الصور",
|
|
"search.grounding.imageTitle": "تم العثور على {{count}} صورة",
|
|
"search.grounding.searchQueries": "كلمات البحث",
|
|
"search.grounding.title": "تم العثور على {{count}} نتيجة",
|
|
"search.mode.auto.desc": "البحث في الويب تلقائيًا عند الحاجة.",
|
|
"search.mode.auto.title": "تلقائي",
|
|
"search.mode.off.desc": "تعطيل الوصول إلى الإنترنت.",
|
|
"search.mode.off.title": "إيقاف",
|
|
"search.mode.on.desc": "البحث دائمًا في الويب للحصول على أحدث المعلومات.",
|
|
"search.mode.on.title": "دائمًا مفعّل",
|
|
"search.mode.useModelBuiltin": "استخدام البحث المدمج في النموذج",
|
|
"search.searchModel.desc": "النموذج الحالي لا يدعم استدعاء الوظائف، لذا يجب إقرانه بنموذج يدعم ذلك للبحث عبر الإنترنت.",
|
|
"search.searchModel.title": "نموذج مساعد للبحث",
|
|
"search.title": "بحث الويب",
|
|
"searchAgentPlaceholder": "البحث عن وكلاء...",
|
|
"searchAgents": "البحث عن وكلاء...",
|
|
"selectedAgents": "الوكلاء المحددون",
|
|
"sendPlaceholder": "اطرح سؤالًا، أنشئ، أو ابدأ مهمة، <hotkey><hotkey/>",
|
|
"sendPlaceholderHeterogeneous": "اطلب من {{name}} تنفيذ مهمة...",
|
|
"sendPlaceholderWithAgentAssignment": "اطلب أو أنشئ أو ابدأ مهمة. @ لإسناد مهام لوكلاء آخرين.",
|
|
"sessionGroup.config": "إدارة المجموعة",
|
|
"sessionGroup.confirmRemoveGroupAlert": "سيتم حذف هذه المجموعة. بعد الحذف، سيتم نقل الوكلاء إلى القائمة الافتراضية. يرجى تأكيد العملية.",
|
|
"sessionGroup.createAgentSuccess": "تم إنشاء الوكيل بنجاح",
|
|
"sessionGroup.createGroup": "إضافة مجموعة جديدة",
|
|
"sessionGroup.createGroupFailed": "فشل في إنشاء محادثة جماعية",
|
|
"sessionGroup.createGroupSuccess": "تم إنشاء المحادثة الجماعية بنجاح",
|
|
"sessionGroup.createSuccess": "تم الإنشاء بنجاح",
|
|
"sessionGroup.creatingAgent": "جارٍ إنشاء الوكيل...",
|
|
"sessionGroup.groupName": "اسم المجموعة",
|
|
"sessionGroup.inputPlaceholder": "يرجى إدخال اسم المجموعة...",
|
|
"sessionGroup.moveGroup": "نقل إلى مجموعة",
|
|
"sessionGroup.newGroup": "مجموعة جديدة",
|
|
"sessionGroup.noAvailableAgents": "لا يوجد وكلاء متاحون",
|
|
"sessionGroup.noMatchingAgents": "لم يتم العثور على وكلاء مطابقين",
|
|
"sessionGroup.noSelectedAgents": "يرجى تحديد وكلاء",
|
|
"sessionGroup.rename": "إعادة تسمية المجموعة",
|
|
"sessionGroup.renameSuccess": "تمت إعادة التسمية بنجاح",
|
|
"sessionGroup.searchAgents": "البحث عن وكلاء",
|
|
"sessionGroup.selectedAgents": "الوكلاء المحددون ({{count}})",
|
|
"sessionGroup.sortSuccess": "تم الترتيب بنجاح",
|
|
"sessionGroup.sorting": "جارٍ تحديث ترتيب المجموعات...",
|
|
"sessionGroup.tooLong": "يجب أن يتراوح طول اسم المجموعة بين 1 و20 حرفًا",
|
|
"shareModal.copy": "نسخ",
|
|
"shareModal.copyLink": "نسخ الرابط",
|
|
"shareModal.copyLinkSuccess": "تم نسخ الرابط",
|
|
"shareModal.download": "تحميل لقطة شاشة",
|
|
"shareModal.downloadError": "فشل التحميل",
|
|
"shareModal.downloadFile": "تحميل الملف",
|
|
"shareModal.downloadPdf": "تحميل PDF",
|
|
"shareModal.downloadSuccess": "تم التحميل بنجاح",
|
|
"shareModal.exportMode.full": "افتراضي",
|
|
"shareModal.exportMode.label": "وضع التصدير",
|
|
"shareModal.exportMode.simple": "متوافق مع OpenAI",
|
|
"shareModal.exportPdf": "تصدير كـ PDF",
|
|
"shareModal.exportTitle": "العنوان الافتراضي",
|
|
"shareModal.generatePdf": "إنشاء PDF",
|
|
"shareModal.generatingPdf": "جارٍ إنشاء PDF...",
|
|
"shareModal.imageType": "تنسيق الصورة",
|
|
"shareModal.includeTool": "تضمين رسائل المهارة",
|
|
"shareModal.includeUser": "تضمين رسائل المستخدم",
|
|
"shareModal.link": "الرابط",
|
|
"shareModal.link.linkHint": "يمكن لأي شخص لديه الرابط عرض هذا الموضوع",
|
|
"shareModal.link.noTopic": "ابدأ محادثة أولاً للمشاركة",
|
|
"shareModal.link.permissionLink": "أي شخص لديه الرابط",
|
|
"shareModal.link.permissionPrivate": "خاص",
|
|
"shareModal.link.privateHint": "يمكنك فقط الوصول إلى هذا الرابط",
|
|
"shareModal.link.updateError": "فشل في تحديث إعدادات المشاركة",
|
|
"shareModal.link.visibilityUpdated": "تم تحديث مستوى الرؤية",
|
|
"shareModal.loadingPdf": "جارٍ تحميل PDF...",
|
|
"shareModal.noPdfData": "لا توجد بيانات PDF متاحة",
|
|
"shareModal.pdf": "PDF",
|
|
"shareModal.pdfErrorDescription": "حدث خطأ أثناء إنشاء PDF، يرجى المحاولة مرة أخرى",
|
|
"shareModal.pdfGenerationError": "فشل إنشاء PDF",
|
|
"shareModal.pdfReady": "PDF جاهز",
|
|
"shareModal.popover.moreOptions": "خيارات مشاركة إضافية",
|
|
"shareModal.popover.privacyWarning.confirm": "أفهم، المتابعة",
|
|
"shareModal.popover.privacyWarning.content": "يرجى التأكد من أن محادثتك لا تحتوي على أي معلومات شخصية أو حساسة. أنت المسؤول عن أي محتوى تختار مشاركته وما يترتب عليه من نتائج.",
|
|
"shareModal.popover.privacyWarning.doNotShowAgain": "لا تُظهر هذا مرة أخرى",
|
|
"shareModal.popover.privacyWarning.title": "تنبيه الخصوصية",
|
|
"shareModal.popover.title": "مشاركة الموضوع",
|
|
"shareModal.popover.visibility": "مستوى الرؤية",
|
|
"shareModal.regeneratePdf": "إعادة إنشاء PDF",
|
|
"shareModal.screenshot": "لقطة شاشة",
|
|
"shareModal.settings": "إعدادات التصدير",
|
|
"shareModal.text": "نص",
|
|
"shareModal.widthMode.label": "وضع العرض",
|
|
"shareModal.widthMode.narrow": "ضيق",
|
|
"shareModal.widthMode.wide": "عريض",
|
|
"shareModal.withBackground": "تضمين صورة الخلفية",
|
|
"shareModal.withFooter": "تضمين التذييل",
|
|
"shareModal.withPluginInfo": "تضمين معلومات المهارة",
|
|
"shareModal.withRole": "تضمين دور الرسالة",
|
|
"shareModal.withSystemRole": "تضمين ملف الوكيل",
|
|
"sharePage.actions.findMord": "اعثر على المزيد",
|
|
"sharePage.actions.tryItYourself": "جرّبه بنفسك",
|
|
"sharePage.error.forbidden.subtitle": "هذه المشاركة خاصة ولا يمكن الوصول إليها.",
|
|
"sharePage.error.forbidden.title": "تم رفض الوصول",
|
|
"sharePage.error.notFound.subtitle": "هذا الموضوع غير موجود أو تم حذفه.",
|
|
"sharePage.error.notFound.title": "الموضوع غير موجود",
|
|
"sharePage.error.unauthorized.action": "تسجيل الدخول",
|
|
"sharePage.error.unauthorized.subtitle": "يرجى تسجيل الدخول لعرض هذا الموضوع المشترك.",
|
|
"sharePage.error.unauthorized.title": "مطلوب تسجيل الدخول",
|
|
"sharePageDisclaimer": "تمت مشاركة هذا المحتوى من قبل مستخدم ولا يعبر عن آراء LobeHub. لا تتحمل LobeHub أي مسؤولية عن أي نتائج ناتجة عن هذا المحتوى المشترك.",
|
|
"stt.action": "إدخال صوتي",
|
|
"stt.loading": "جارٍ التعرف...",
|
|
"stt.prettifying": "جارٍ التجميل...",
|
|
"supervisor.label": "المشرف",
|
|
"supervisor.todoList.allComplete": "تم إكمال جميع المهام",
|
|
"supervisor.todoList.title": "المهام المكتملة",
|
|
"tab.groupProfile": "ملف المجموعة",
|
|
"tab.integration": "التكامل",
|
|
"tab.profile": "ملف الوكيل",
|
|
"tab.search": "بحث",
|
|
"tab.tasks": "المهام",
|
|
"task.activity.calling": "جارٍ استدعاء المهارة...",
|
|
"task.activity.clientExecuting": "يتم التنفيذ محليًا...",
|
|
"task.activity.generating": "جارٍ توليد الرد...",
|
|
"task.activity.gotResult": "تم استلام نتيجة الأداة",
|
|
"task.activity.toolCalling": "جارٍ استدعاء {{toolName}}...",
|
|
"task.activity.toolResult": "تم استلام نتيجة {{toolName}}",
|
|
"task.batchTasks": "{{count}} مهمة فرعية مجمعة",
|
|
"task.groupTasks": "{{count}} مهام متوازية",
|
|
"task.groupTasksTitle": "{{agents}} و{{count}} مهام للوكلاء",
|
|
"task.groupTasksTitleSimple": "{{agents}} {{count}} مهام",
|
|
"task.instruction": "تعليمات المهمة",
|
|
"task.intermediateSteps": "{{count}} خطوة وسيطة",
|
|
"task.metrics.duration": "(استغرق {{duration}})",
|
|
"task.metrics.stepsShort": "خطوات",
|
|
"task.metrics.toolCallsShort": "استخدامات الأداة",
|
|
"task.status.cancelled": "تم إلغاء المهمة",
|
|
"task.status.failed": "فشلت المهمة",
|
|
"task.status.fetchingDetails": "جارٍ جلب التفاصيل...",
|
|
"task.status.initializing": "جارٍ تهيئة المهمة...",
|
|
"task.subtask": "مهمة فرعية",
|
|
"task.title": "المهام",
|
|
"taskDetail.activities": "الأنشطة",
|
|
"taskDetail.activities.agentTag": "وكيل",
|
|
"taskDetail.activities.fallback.brief": "نشر موجزًا",
|
|
"taskDetail.activities.fallback.comment": "ترك تعليقًا",
|
|
"taskDetail.activities.fallback.created": "أنشأ المهمة",
|
|
"taskDetail.activities.fallback.topic": "بدأ موضوعًا",
|
|
"taskDetail.activitiesEmpty": "لا توجد أي نشاطات بعد",
|
|
"taskDetail.addSubtask": "إضافة مهمة فرعية",
|
|
"taskDetail.blockedBy": "محجوب بواسطة {{id}}",
|
|
"taskDetail.comment.cancel": "إلغاء",
|
|
"taskDetail.comment.delete": "حذف",
|
|
"taskDetail.comment.deleteConfirm.content": "سيتم حذف هذا التعليق بشكل دائم.",
|
|
"taskDetail.comment.deleteConfirm.ok": "حذف",
|
|
"taskDetail.comment.deleteConfirm.title": "حذف هذا التعليق؟",
|
|
"taskDetail.comment.edit": "تعديل",
|
|
"taskDetail.comment.save": "حفظ",
|
|
"taskDetail.commentPlaceholder": "اترك تعليقًا...",
|
|
"taskDetail.deleteConfirm.content": "لا يمكن التراجع عن هذا الإجراء.",
|
|
"taskDetail.deleteConfirm.ok": "حذف",
|
|
"taskDetail.deleteConfirm.title": "هل تريد حذف هذه المهمة؟",
|
|
"taskDetail.instruction": "التعليمات",
|
|
"taskDetail.instructionPlaceholder": "اضغط لتحرير تعليمات المهمة...",
|
|
"taskDetail.latestActivity.brief": "الموجز: {{title}}",
|
|
"taskDetail.latestActivity.briefOnly": "الموجز",
|
|
"taskDetail.latestActivity.briefWithAction": "{{title}} - {{action}}",
|
|
"taskDetail.latestActivity.briefWithType": "الموجز ({{type}}): {{title}}",
|
|
"taskDetail.latestActivity.briefWithTypeOnly": "الموجز ({{type}})",
|
|
"taskDetail.latestActivity.topic": "الموضوع: {{title}}",
|
|
"taskDetail.latestActivity.topicWithSeq": "الموضوع رقم {{seq}}: {{title}}",
|
|
"taskDetail.latestActivity.untitledTopic": "موضوع بدون عنوان",
|
|
"taskDetail.modelConfig": "تجاوز الإعدادات النموذجية",
|
|
"taskDetail.navigation": "التنقل",
|
|
"taskDetail.pauseTask": "إيقاف المهمة مؤقتًا",
|
|
"taskDetail.priority.high": "عالية",
|
|
"taskDetail.priority.low": "منخفضة",
|
|
"taskDetail.priority.none": "دون أولوية",
|
|
"taskDetail.priority.normal": "عادية",
|
|
"taskDetail.priority.urgent": "عاجلة",
|
|
"taskDetail.properties": "الخصائص",
|
|
"taskDetail.reassignDisabled": "لا يمكن إعادة إسناد الوكيل أثناء تشغيل المهمة",
|
|
"taskDetail.rerunTask": "إعادة تشغيل المهمة",
|
|
"taskDetail.runTask": "تشغيل المهمة",
|
|
"taskDetail.saveModelConfig": "حفظ",
|
|
"taskDetail.status.backlog": "قائمة الانتظار",
|
|
"taskDetail.status.canceled": "أُلغيت",
|
|
"taskDetail.status.completed": "مكتملة",
|
|
"taskDetail.status.failed": "فشلت",
|
|
"taskDetail.status.paused": "متوقفة مؤقتًا",
|
|
"taskDetail.status.running": "قيد التنفيذ",
|
|
"taskDetail.stopTask": "إيقاف المهمة",
|
|
"taskDetail.subIssueOf": "فرعية لـ",
|
|
"taskDetail.subtaskInstructionPlaceholder": "صف المهمة الفرعية...",
|
|
"taskDetail.subtasks": "المهام الفرعية",
|
|
"taskDetail.titlePlaceholder": "أدخل عنوان المهمة...",
|
|
"taskDetail.topicDrawer.untitled": "بلا عنوان",
|
|
"taskDetail.updateFailed": "فشل تحديث المهمة",
|
|
"taskList.activeTasks": "المهام النشطة",
|
|
"taskList.all": "جميع المهام",
|
|
"taskList.breadcrumb.task": "مهمة",
|
|
"taskList.empty": "لا توجد مهام بعد",
|
|
"taskList.form.grouping": "التجميع",
|
|
"taskList.form.orderCompletedByRecency": "ترتيب المهام المكتملة حسب الأحدث",
|
|
"taskList.form.ordering": "الترتيب",
|
|
"taskList.form.subGrouping": "التجميع الفرعي",
|
|
"taskList.groupBy.assignee": "المكلّف",
|
|
"taskList.groupBy.none": "دون تجميع",
|
|
"taskList.groupBy.priority": "الأولوية",
|
|
"taskList.groupBy.status": "الحالة",
|
|
"taskList.orderBy.assignee": "المكلّف",
|
|
"taskList.orderBy.createdAt": "تاريخ الإنشاء",
|
|
"taskList.orderBy.priority": "الأولوية",
|
|
"taskList.orderBy.status": "الحالة",
|
|
"taskList.orderBy.title": "العنوان",
|
|
"taskList.orderBy.updatedAt": "تاريخ التحديث",
|
|
"taskList.title": "المهام",
|
|
"taskList.unassigned": "غير مكلّف",
|
|
"taskList.view.board": "لوحة",
|
|
"taskList.view.list": "قائمة",
|
|
"taskList.viewAll": "عرض الكل",
|
|
"taskSchedule.clear": "مسح",
|
|
"taskSchedule.enable": "تفعيل الأتمتة",
|
|
"taskSchedule.every": "كل",
|
|
"taskSchedule.hours": "ساعات",
|
|
"taskSchedule.interval": "متكرّر",
|
|
"taskSchedule.intervalTab": "متكرّر",
|
|
"taskSchedule.minutes": "دقائق",
|
|
"taskSchedule.scheduler": "الجدولة",
|
|
"taskSchedule.schedulerNotReady": "ميزة الجدولة ستتوفر قريبًا. استخدم التكرار الآن.",
|
|
"taskSchedule.schedulerTab": "الجدولة",
|
|
"taskSchedule.seconds": "ثوانٍ",
|
|
"taskSchedule.tag.add": "تعيين جدول",
|
|
"taskSchedule.tag.every": "كل {{interval}}",
|
|
"taskSchedule.tag.heartbeat": "نبض · {{every}}",
|
|
"taskSchedule.tag.schedule": "الجدول · {{schedule}}{{timezone}}",
|
|
"taskSchedule.title": "الجدول",
|
|
"taskSchedule.unit.hour_one": "{{count}} ساعة",
|
|
"taskSchedule.unit.hour_other": "{{count}} ساعات",
|
|
"taskSchedule.unit.minute_one": "{{count}} دقيقة",
|
|
"taskSchedule.unit.minute_other": "{{count}} دقائق",
|
|
"taskSchedule.unit.second_one": "{{count}} ثانية",
|
|
"taskSchedule.unit.second_other": "{{count}} ثوانٍ",
|
|
"thread.closeSubagentThread": "طي محادثة الوكيل الفرعي",
|
|
"thread.divider": "موضوع فرعي",
|
|
"thread.openSubagentThread": "عرض محادثة الوكيل الفرعي كاملة",
|
|
"thread.subagentBadge": "وكيل فرعي",
|
|
"thread.threadMessageCount": "{{messageCount}} رسالة",
|
|
"thread.title": "موضوع فرعي",
|
|
"todoProgress.allCompleted": "تم إكمال جميع المهام",
|
|
"todoProgress.title": "المهام",
|
|
"toggleWideScreen.off": "إيقاف وضع الشاشة العريضة",
|
|
"toggleWideScreen.on": "تشغيل وضع الشاشة العريضة",
|
|
"tokenDetails.chats": "رسائل الدردشة",
|
|
"tokenDetails.historySummary": "ملخص السجل",
|
|
"tokenDetails.rest": "المتبقي",
|
|
"tokenDetails.supervisor": "مضيف المجموعة",
|
|
"tokenDetails.systemRole": "إعدادات الدور",
|
|
"tokenDetails.title": "تفاصيل السياق",
|
|
"tokenDetails.tools": "إعدادات المهارة",
|
|
"tokenDetails.total": "الإجمالي المتاح",
|
|
"tokenDetails.used": "الإجمالي المستخدم",
|
|
"tokenTag.overload": "تجاوز الحد",
|
|
"tokenTag.remained": "المتبقي",
|
|
"tokenTag.used": "المستخدم",
|
|
"tool.intervention.approvalMode": "وضع الموافقة",
|
|
"tool.intervention.approve": "موافقة",
|
|
"tool.intervention.approveAndRemember": "موافقة وتذكر",
|
|
"tool.intervention.approveOnce": "الموافقة هذه المرة فقط",
|
|
"tool.intervention.mode.allowList": "قائمة السماح",
|
|
"tool.intervention.mode.allowListDesc": "تنفيذ الأدوات المعتمدة فقط تلقائيًا",
|
|
"tool.intervention.mode.autoRun": "موافقة تلقائية",
|
|
"tool.intervention.mode.autoRunDesc": "الموافقة تلقائيًا على جميع تنفيذات الأدوات",
|
|
"tool.intervention.mode.manual": "يدوي",
|
|
"tool.intervention.mode.manualDesc": "يتطلب الموافقة اليدوية لكل استدعاء",
|
|
"tool.intervention.onboarding.agentIdentity.applyHint": "ستظهر الهوية الجديدة بعد الموافقة.",
|
|
"tool.intervention.onboarding.agentIdentity.description": "الموافقة على هذا التغيير ستحدّث الوكيل المعروض في البريد الوارد وفي محادثة الإعداد هذه.",
|
|
"tool.intervention.onboarding.agentIdentity.emoji": "صورة الوكيل",
|
|
"tool.intervention.onboarding.agentIdentity.eyebrow": "موافقة الإعداد",
|
|
"tool.intervention.onboarding.agentIdentity.name": "اسم الوكيل",
|
|
"tool.intervention.onboarding.agentIdentity.targetInbox": "وكيل البريد الوارد",
|
|
"tool.intervention.onboarding.agentIdentity.targetOnboarding": "وكيل الإعداد الحالي",
|
|
"tool.intervention.onboarding.agentIdentity.targets": "ينطبق على",
|
|
"tool.intervention.onboarding.agentIdentity.title": "تأكيد تحديث هوية الوكيل",
|
|
"tool.intervention.pending": "قيد الانتظار",
|
|
"tool.intervention.reject": "رفض",
|
|
"tool.intervention.rejectAndContinue": "رفض وإعادة المحاولة",
|
|
"tool.intervention.rejectOnly": "رفض",
|
|
"tool.intervention.rejectReasonPlaceholder": "سيساعد السبب الوكيل على فهم حدودك وتحسين التصرفات المستقبلية",
|
|
"tool.intervention.rejectTitle": "رفض استدعاء المهارة",
|
|
"tool.intervention.rejectedWithReason": "تم رفض استدعاء المهارة: {{reason}}",
|
|
"tool.intervention.scrollToIntervention": "عرض",
|
|
"tool.intervention.toolAbort": "لقد ألغيت استدعاء المهارة",
|
|
"tool.intervention.toolRejected": "تم رفض استدعاء المهارة",
|
|
"tool.intervention.viewParameters": "عرض المعلمات ({{count}})",
|
|
"toolAuth.authorize": "تفويض",
|
|
"toolAuth.authorizing": "جارٍ التفويض...",
|
|
"toolAuth.hint": "بدون التفويض أو الإعداد، قد لا تعمل المهارات. قد يؤدي ذلك إلى تقييد الوكيل أو حدوث أخطاء.",
|
|
"toolAuth.signIn": "تسجيل الدخول",
|
|
"toolAuth.title": "تفويض المهارات لهذا الوكيل",
|
|
"topic.checkOpenNewTopic": "هل تريد بدء موضوع جديد؟",
|
|
"topic.checkSaveCurrentMessages": "هل تريد حفظ المحادثة الحالية كموضوع؟",
|
|
"topic.defaultTitle": "موضوع بدون عنوان",
|
|
"topic.openNewTopic": "فتح موضوع جديد",
|
|
"topic.recent": "المواضيع الأخيرة",
|
|
"topic.saveCurrentMessages": "حفظ الجلسة الحالية كموضوع",
|
|
"topic.viewAll": "عرض جميع المواضيع",
|
|
"translate.action": "ترجمة",
|
|
"translate.clear": "مسح الترجمة",
|
|
"tts.action": "تحويل النص إلى كلام",
|
|
"tts.clear": "مسح الصوت",
|
|
"untitledAgent": "وكيل بدون اسم",
|
|
"untitledGroup": "مجموعة بدون اسم",
|
|
"updateAgent": "تحديث معلومات الوكيل",
|
|
"upload.action.fileUpload": "رفع ملف",
|
|
"upload.action.folderUpload": "رفع مجلد",
|
|
"upload.action.imageDisabled": "النموذج الحالي لا يدعم التعرف البصري. يرجى التبديل إلى نموذج آخر لاستخدام هذه الميزة.",
|
|
"upload.action.imageUpload": "رفع صورة",
|
|
"upload.action.tooltip": "رفع",
|
|
"upload.clientMode.actionFiletip": "رفع ملف",
|
|
"upload.clientMode.actionTooltip": "رفع",
|
|
"upload.clientMode.disabled": "النموذج الحالي لا يدعم التعرف البصري وتحليل الملفات. يرجى التبديل إلى نموذج آخر لاستخدام هذه الميزة.",
|
|
"upload.clientMode.fileNotSupported": "رفع الملفات غير مدعوم في وضع المتصفح؛ يُسمح فقط بالصور.",
|
|
"upload.clientMode.visionNotSupported": "النموذج الحالي لا يدعم التعرف البصري. يرجى التبديل إلى نموذج مختلف لاستخدام هذه الميزة.",
|
|
"upload.preview.prepareTasks": "جارٍ تجهيز الأجزاء...",
|
|
"upload.preview.status.pending": "جارٍ التحضير للرفع...",
|
|
"upload.preview.status.processing": "جارٍ معالجة الملف...",
|
|
"upload.validation.videoSizeExceeded": "يجب ألا يتجاوز حجم ملف الفيديو 20 ميغابايت. الحجم الحالي هو {{actualSize}}.",
|
|
"viewMode.fullWidth": "العرض الكامل",
|
|
"viewMode.normal": "قياسي",
|
|
"viewMode.wideScreen": "شاشة عريضة",
|
|
"workflow.awaitingConfirmation": "بانتظار تأكيدك",
|
|
"workflow.collapse": "طي",
|
|
"workflow.expandFull": "توسيع كامل",
|
|
"workflow.failedSuffix": "(فشل)",
|
|
"workflow.summaryFailed": "{{count}} فشلت",
|
|
"workflow.summaryMoreTools": "{{count}} أنواع أدوات",
|
|
"workflow.summaryTotalCalls": "{{count}} مكالمات إجمالية",
|
|
"workflow.thoughtForDuration": "تفكير لمدة {{duration}}",
|
|
"workflow.toolDisplayName.activateDevice": "تم تفعيل الجهاز",
|
|
"workflow.toolDisplayName.activateSkill": "تم تفعيل مهارة",
|
|
"workflow.toolDisplayName.activateTools": "الأدوات المُفعَّلة",
|
|
"workflow.toolDisplayName.addActivityMemory": "تم حفظ الذاكرة",
|
|
"workflow.toolDisplayName.addContextMemory": "الذاكرة المحفوظة",
|
|
"workflow.toolDisplayName.addExperienceMemory": "الذاكرة المحفوظة",
|
|
"workflow.toolDisplayName.addIdentityMemory": "الذاكرة المحفوظة",
|
|
"workflow.toolDisplayName.addPreferenceMemory": "الذاكرة المحفوظة",
|
|
"workflow.toolDisplayName.calculate": "محسوب",
|
|
"workflow.toolDisplayName.callAgent": "تم استدعاء وكيل",
|
|
"workflow.toolDisplayName.clearTodos": "تم مسح المهام",
|
|
"workflow.toolDisplayName.copyDocument": "تم نسخ مستند",
|
|
"workflow.toolDisplayName.crawlMultiPages": "الصفحات التي تم الزحف إليها",
|
|
"workflow.toolDisplayName.crawlSinglePage": "تم الزحف إلى صفحة",
|
|
"workflow.toolDisplayName.createAgent": "تم إنشاء وكيل",
|
|
"workflow.toolDisplayName.createDocument": "تم إنشاء مستند",
|
|
"workflow.toolDisplayName.createPlan": "تم إنشاء خطة",
|
|
"workflow.toolDisplayName.createTodos": "المهام المُنشأة",
|
|
"workflow.toolDisplayName.deleteAgent": "تم حذف وكيل",
|
|
"workflow.toolDisplayName.deleteDocument": "تم حذف مستند",
|
|
"workflow.toolDisplayName.editDocument": "تم تعديل مستند",
|
|
"workflow.toolDisplayName.editLocalFile": "تم تعديل ملف",
|
|
"workflow.toolDisplayName.editTitle": "العنوان المُعدَّل",
|
|
"workflow.toolDisplayName.evaluate": "التعبير المُقيَّم",
|
|
"workflow.toolDisplayName.execScript": "تم تنفيذ برنامج نصي",
|
|
"workflow.toolDisplayName.execTask": "تم تنفيذ مهمة",
|
|
"workflow.toolDisplayName.execTasks": "المهام المنفذة",
|
|
"workflow.toolDisplayName.execute": "تم تنفيذ العملية الحسابية",
|
|
"workflow.toolDisplayName.executeCode": "تم تنفيذ الشيفرة",
|
|
"workflow.toolDisplayName.finishOnboarding": "إنهاء الإعداد التعريفي",
|
|
"workflow.toolDisplayName.getCommandOutput": "قراءة مخرجات الأمر",
|
|
"workflow.toolDisplayName.getDocument": "قراءة مستند",
|
|
"workflow.toolDisplayName.getOnboardingState": "تم التحقق من حالة الإعداد الأولي",
|
|
"workflow.toolDisplayName.getPageContent": "قراءة محتوى الصفحة",
|
|
"workflow.toolDisplayName.getTopicContext": "قراءة سياق الموضوع",
|
|
"workflow.toolDisplayName.globLocalFiles": "الملفات التي تم البحث فيها",
|
|
"workflow.toolDisplayName.grepContent": "المحتوى الذي تم البحث عنه",
|
|
"workflow.toolDisplayName.importFromMarket": "تم الاستيراد من السوق",
|
|
"workflow.toolDisplayName.importSkill": "تم استيراد مهارة",
|
|
"workflow.toolDisplayName.initPage": "الصفحة المهيأة",
|
|
"workflow.toolDisplayName.killCommand": "تم إيقاف الأمر",
|
|
"workflow.toolDisplayName.listDocuments": "المستندات المُدرجة",
|
|
"workflow.toolDisplayName.listLocalFiles": "الملفات المُدرجة",
|
|
"workflow.toolDisplayName.listOnlineDevices": "الأجهزة المُدرجة",
|
|
"workflow.toolDisplayName.modifyNodes": "الصفحة المُعدَّلة",
|
|
"workflow.toolDisplayName.moveLocalFiles": "تم نقل الملفات",
|
|
"workflow.toolDisplayName.readDocument": "قراءة مستند",
|
|
"workflow.toolDisplayName.readDocumentByFilename": "قراءة مستند",
|
|
"workflow.toolDisplayName.readKnowledge": "قراءة المعرفة",
|
|
"workflow.toolDisplayName.readLocalFile": "قراءة ملف",
|
|
"workflow.toolDisplayName.removeDocument": "تمت إزالة مستند",
|
|
"workflow.toolDisplayName.removeIdentityMemory": "تمت إزالة الذاكرة",
|
|
"workflow.toolDisplayName.renameDocument": "أعاد تسمية مستند",
|
|
"workflow.toolDisplayName.renameLocalFile": "تمت إعادة تسمية ملف",
|
|
"workflow.toolDisplayName.replaceText": "تم استبدال النص",
|
|
"workflow.toolDisplayName.runCommand": "تم تنفيذ أمر",
|
|
"workflow.toolDisplayName.search": "تم البحث في الويب",
|
|
"workflow.toolDisplayName.searchAgent": "الوكلاء الذين تم البحث عنهم",
|
|
"workflow.toolDisplayName.searchKnowledgeBase": "تم البحث في قاعدة المعرفة",
|
|
"workflow.toolDisplayName.searchLocalFiles": "الملفات التي تم البحث عنها",
|
|
"workflow.toolDisplayName.searchSkill": "المهارات التي تم البحث عنها",
|
|
"workflow.toolDisplayName.searchUserMemory": "تم البحث في الذاكرة",
|
|
"workflow.toolDisplayName.solve": "حلّ المعادلة",
|
|
"workflow.toolDisplayName.updateAgent": "تم تحديث وكيل",
|
|
"workflow.toolDisplayName.updateDocument": "تم تحديث مستند",
|
|
"workflow.toolDisplayName.updateIdentityMemory": "تم تحديث الذاكرة",
|
|
"workflow.toolDisplayName.updateLoadRule": "تم تحديث قاعدة التحميل",
|
|
"workflow.toolDisplayName.updatePlan": "الخطة المحدَّثة",
|
|
"workflow.toolDisplayName.updateTodos": "تم تحديث المهام",
|
|
"workflow.toolDisplayName.upsertDocumentByFilename": "تم تحديث مستند",
|
|
"workflow.toolDisplayName.writeLocalFile": "تمت كتابة ملف",
|
|
"workflow.working": "جارٍ العمل...",
|
|
"workingPanel.agentDocuments": "Agent Documents",
|
|
"workingPanel.documents.close": "Close",
|
|
"workingPanel.documents.discard": "Discard",
|
|
"workingPanel.documents.edit": "Edit",
|
|
"workingPanel.documents.error": "Failed to load document",
|
|
"workingPanel.documents.loading": "Loading document...",
|
|
"workingPanel.documents.preview": "Preview",
|
|
"workingPanel.documents.save": "Save",
|
|
"workingPanel.documents.saved": "All changes saved",
|
|
"workingPanel.documents.title": "Document",
|
|
"workingPanel.documents.unsaved": "Unsaved changes",
|
|
"workingPanel.progress": "Progress",
|
|
"workingPanel.progress.allCompleted": "All tasks completed",
|
|
"workingPanel.resources": "Resources",
|
|
"workingPanel.resources.deleteConfirm": "This action cannot be undone.",
|
|
"workingPanel.resources.deleteError": "Failed to delete document",
|
|
"workingPanel.resources.deleteSuccess": "Document deleted",
|
|
"workingPanel.resources.deleteTitle": "Delete document?",
|
|
"workingPanel.resources.empty": "لا توجد مستندات بعد. ستظهر المستندات المرتبطة بهذا الوكيل هنا.",
|
|
"workingPanel.resources.error": "Failed to load resources",
|
|
"workingPanel.resources.filter.all": "الكل",
|
|
"workingPanel.resources.filter.documents": "مستندات",
|
|
"workingPanel.resources.filter.web": "ويب",
|
|
"workingPanel.resources.loading": "Loading resources...",
|
|
"workingPanel.resources.previewError": "Failed to load preview",
|
|
"workingPanel.resources.previewLoading": "Loading preview...",
|
|
"workingPanel.resources.renameEmpty": "Title cannot be empty",
|
|
"workingPanel.resources.renameError": "Failed to rename document",
|
|
"workingPanel.resources.renameSuccess": "Document renamed",
|
|
"workingPanel.resources.viewMode.list": "عرض القائمة",
|
|
"workingPanel.resources.viewMode.tree": "عرض الشجرة",
|
|
"workingPanel.title": "Working Panel",
|
|
"you": "أنت",
|
|
"zenMode": "وضع التركيز"
|
|
}
|