Files
lobe-chat/locales/tr-TR/plugin.json
T
Tsuki 70e7e441b2 🔨 chore: premerge Task detail page UI (#13653)
*  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>
2026-04-23 02:10:45 +08:00

637 lines
42 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"arguments.moreParams": "Toplam {{count}} parametre",
"arguments.title": "Argümanlar",
"builtins.lobe-activator.apiName.activateTools": "Araçları Etkinleştir",
"builtins.lobe-activator.inspector.activateTools.notFoundCount": "{{count}} bulunamadı",
"builtins.lobe-agent-builder.apiName.getAvailableModels": "Mevcut modelleri al",
"builtins.lobe-agent-builder.apiName.getAvailableTools": "Mevcut Yetenekleri al",
"builtins.lobe-agent-builder.apiName.getConfig": "Yapılandırmayı al",
"builtins.lobe-agent-builder.apiName.getMeta": "Meta veriyi al",
"builtins.lobe-agent-builder.apiName.getPrompt": "Sistem istemini al",
"builtins.lobe-agent-builder.apiName.installPlugin": "Yetenek Yükle",
"builtins.lobe-agent-builder.apiName.searchMarketTools": "Yetenek pazarında ara",
"builtins.lobe-agent-builder.apiName.searchOfficialTools": "Resmi Yeteneklerde ara",
"builtins.lobe-agent-builder.apiName.setModel": "Modeli ayarla",
"builtins.lobe-agent-builder.apiName.setOpeningMessage": "Açılış mesajını ayarla",
"builtins.lobe-agent-builder.apiName.setOpeningQuestions": "Açılış sorularını ayarla",
"builtins.lobe-agent-builder.apiName.togglePlugin": "Yetenek aç/kapat",
"builtins.lobe-agent-builder.apiName.updateChatConfig": "Sohbet yapılandırmasını güncelle",
"builtins.lobe-agent-builder.apiName.updateConfig": "Yapılandırmayı güncelle",
"builtins.lobe-agent-builder.apiName.updateMeta": "Meta veriyi güncelle",
"builtins.lobe-agent-builder.apiName.updatePrompt": "Sistem istemini güncelle",
"builtins.lobe-agent-builder.inspector.chars": " karakter",
"builtins.lobe-agent-builder.inspector.disablePlugin": "Devre Dışı Bırak",
"builtins.lobe-agent-builder.inspector.enablePlugin": "Etkinleştir",
"builtins.lobe-agent-builder.inspector.modelsCount": "{{count}} model",
"builtins.lobe-agent-builder.inspector.noResults": "Sonuç yok",
"builtins.lobe-agent-builder.inspector.togglePlugin": "Aç/Kapat",
"builtins.lobe-agent-builder.title": "Ajan Oluşturma Uzmanı",
"builtins.lobe-agent-documents.apiName.copyDocument": "Belgeyi kopyala",
"builtins.lobe-agent-documents.apiName.createDocument": "Belge oluştur",
"builtins.lobe-agent-documents.apiName.editDocument": "Belgeyi düzenle",
"builtins.lobe-agent-documents.apiName.listDocuments": "Belgeleri listele",
"builtins.lobe-agent-documents.apiName.patchDocument": "Dokümanı yamala",
"builtins.lobe-agent-documents.apiName.readDocument": "Belgeyi oku",
"builtins.lobe-agent-documents.apiName.readDocumentByFilename": "Dosya adına göre belge oku",
"builtins.lobe-agent-documents.apiName.removeDocument": "Belgeyi kaldır",
"builtins.lobe-agent-documents.apiName.renameDocument": "Belgeyi yeniden adlandır",
"builtins.lobe-agent-documents.apiName.updateLoadRule": "Yükleme kuralını güncelle",
"builtins.lobe-agent-documents.apiName.upsertDocumentByFilename": "Dosya adına göre belge ekle veya güncelle",
"builtins.lobe-agent-documents.title": "Aracı Belgeleri",
"builtins.lobe-agent-management.apiName.callAgent": "Çağrı temsilcisi",
"builtins.lobe-agent-management.apiName.createAgent": "Temsilci oluştur",
"builtins.lobe-agent-management.apiName.deleteAgent": "Temsilci sil",
"builtins.lobe-agent-management.apiName.duplicateAgent": "Aracıyı çoğalt",
"builtins.lobe-agent-management.apiName.getAgentDetail": "Aracı detayını getir",
"builtins.lobe-agent-management.apiName.installPlugin": "Eklenti yükle",
"builtins.lobe-agent-management.apiName.searchAgent": "Temsilcileri ara",
"builtins.lobe-agent-management.apiName.updateAgent": "Temsilci güncelle",
"builtins.lobe-agent-management.apiName.updatePrompt": "İstemi güncelle",
"builtins.lobe-agent-management.inspector.callAgent.sync": "Çağrılıyor:",
"builtins.lobe-agent-management.inspector.callAgent.task": "Görev atanıyor:",
"builtins.lobe-agent-management.inspector.createAgent.title": "Temsilci oluşturuluyor:",
"builtins.lobe-agent-management.inspector.duplicateAgent.title": "Aracı çoğaltılıyor:",
"builtins.lobe-agent-management.inspector.getAgentDetail.title": "Detaylar alınıyor:",
"builtins.lobe-agent-management.inspector.installPlugin.title": "Eklenti yükleniyor:",
"builtins.lobe-agent-management.inspector.searchAgent.all": "Temsilcileri ara:",
"builtins.lobe-agent-management.inspector.searchAgent.market": "Pazarı ara:",
"builtins.lobe-agent-management.inspector.searchAgent.results": "{{count}} sonuç",
"builtins.lobe-agent-management.inspector.searchAgent.user": "Kendi temsilcilerimi ara:",
"builtins.lobe-agent-management.inspector.updateAgent.title": "Temsilci güncelleniyor:",
"builtins.lobe-agent-management.inspector.updatePrompt.title": "İstem güncelleniyor:",
"builtins.lobe-agent-management.render.duplicateAgent.newId": "Yeni Aracı Kimliği",
"builtins.lobe-agent-management.render.duplicateAgent.sourceId": "Kaynak Aracı Kimliği",
"builtins.lobe-agent-management.render.installPlugin.failed": "Yükleme başarısız",
"builtins.lobe-agent-management.render.installPlugin.plugin": "Eklenti",
"builtins.lobe-agent-management.render.installPlugin.success": "Başarıyla yüklendi",
"builtins.lobe-agent-management.title": "Temsilci Yöneticisi",
"builtins.lobe-claude-code.agent.instruction": "Talimat",
"builtins.lobe-claude-code.agent.result": "Sonuç",
"builtins.lobe-claude-code.todoWrite.allDone": "Tüm görevler tamamlandı",
"builtins.lobe-claude-code.todoWrite.currentStep": "Geçerli adım",
"builtins.lobe-claude-code.todoWrite.todos": "Yapılacaklar",
"builtins.lobe-cloud-sandbox.apiName.editLocalFile": "Dosyayı düzenle",
"builtins.lobe-cloud-sandbox.apiName.executeCode": "Kodu çalıştır",
"builtins.lobe-cloud-sandbox.apiName.exportFile": "Dosyayı dışa aktar",
"builtins.lobe-cloud-sandbox.apiName.getCommandOutput": "Komut çıktısını al",
"builtins.lobe-cloud-sandbox.apiName.globLocalFiles": "Dosyalarda glob ara",
"builtins.lobe-cloud-sandbox.apiName.grepContent": "İçerikte ara",
"builtins.lobe-cloud-sandbox.apiName.killCommand": "Komutu sonlandır",
"builtins.lobe-cloud-sandbox.apiName.listLocalFiles": "Dosyaları listele",
"builtins.lobe-cloud-sandbox.apiName.moveLocalFiles": "Dosyaları taşı",
"builtins.lobe-cloud-sandbox.apiName.readLocalFile": "Dosya içeriğini oku",
"builtins.lobe-cloud-sandbox.apiName.renameLocalFile": "Yeniden adlandır",
"builtins.lobe-cloud-sandbox.apiName.runCommand": "Komutu çalıştır",
"builtins.lobe-cloud-sandbox.apiName.searchLocalFiles": "Dosyalarda ara",
"builtins.lobe-cloud-sandbox.apiName.writeLocalFile": "Dosyaya yaz",
"builtins.lobe-cloud-sandbox.inspector.noResults": "Sonuç yok",
"builtins.lobe-cloud-sandbox.title": "Bulut Kum Havuzu",
"builtins.lobe-group-agent-builder.apiName.batchCreateAgents": "Toplu ajan oluştur",
"builtins.lobe-group-agent-builder.apiName.createAgent": "Ajan oluştur",
"builtins.lobe-group-agent-builder.apiName.createGroup": "Grup oluştur",
"builtins.lobe-group-agent-builder.apiName.getAgentInfo": "Üye bilgilerini al",
"builtins.lobe-group-agent-builder.apiName.getAvailableModels": "Mevcut modelleri al",
"builtins.lobe-group-agent-builder.apiName.installPlugin": "Yetenek yükle",
"builtins.lobe-group-agent-builder.apiName.inviteAgent": "Üye davet et",
"builtins.lobe-group-agent-builder.apiName.removeAgent": "Üyeyi kaldır",
"builtins.lobe-group-agent-builder.apiName.searchAgent": "Ajanları ara",
"builtins.lobe-group-agent-builder.apiName.searchMarketTools": "Yetenek pazarında ara",
"builtins.lobe-group-agent-builder.apiName.updateAgentConfig": "Ajan yapılandırmasını güncelle",
"builtins.lobe-group-agent-builder.apiName.updateAgentPrompt": "Ajan istemini güncelle",
"builtins.lobe-group-agent-builder.apiName.updateGroup": "Grubu güncelle",
"builtins.lobe-group-agent-builder.apiName.updateGroupPrompt": "Grup istemini güncelle",
"builtins.lobe-group-agent-builder.apiName.updateSupervisorPrompt": "Yönetici istemini güncelle",
"builtins.lobe-group-agent-builder.inspector.agents": "ajanlar",
"builtins.lobe-group-agent-builder.inspector.avatar": "Avatar",
"builtins.lobe-group-agent-builder.inspector.backgroundColor": "Arka plan rengi",
"builtins.lobe-group-agent-builder.inspector.description": "Açıklama",
"builtins.lobe-group-agent-builder.inspector.noResults": "Sonuç yok",
"builtins.lobe-group-agent-builder.inspector.openingMessage": "Açılış mesajı",
"builtins.lobe-group-agent-builder.inspector.openingQuestions": "Açılış soruları",
"builtins.lobe-group-agent-builder.inspector.title": "Başlık",
"builtins.lobe-group-agent-builder.title": "Grup Oluşturma Uzmanı",
"builtins.lobe-group-management.apiName.broadcast": "Herkes konuşsun",
"builtins.lobe-group-management.apiName.createWorkflow": "İş akışı planla",
"builtins.lobe-group-management.apiName.executeAgentTask": "Aracı görevini yürüt",
"builtins.lobe-group-management.apiName.executeAgentTasks": "Paralel aracı görevlerini yürüt",
"builtins.lobe-group-management.apiName.getAgentInfo": "Üye bilgilerini al",
"builtins.lobe-group-management.apiName.interrupt": "Görevi durdur",
"builtins.lobe-group-management.apiName.speak": "Belirlenen üye konuşsun",
"builtins.lobe-group-management.apiName.summarize": "Konuşmayı özetle",
"builtins.lobe-group-management.apiName.vote": "Oylama başlat",
"builtins.lobe-group-management.inspector.broadcast.title": "Aşağıdaki Ajanlar konuşuyor:",
"builtins.lobe-group-management.inspector.executeAgentTask.assignTo": "Ata",
"builtins.lobe-group-management.inspector.executeAgentTask.task": "görev:",
"builtins.lobe-group-management.inspector.executeAgentTasks.title": "Görev atananlar:",
"builtins.lobe-group-management.inspector.speak.title": "Belirlenen Ajan konuşuyor:",
"builtins.lobe-group-management.title": "Grup Koordinatörü",
"builtins.lobe-gtd.apiName.clearTodos": "Yapılacakları temizle",
"builtins.lobe-gtd.apiName.clearTodos.modeAll": "tümü",
"builtins.lobe-gtd.apiName.clearTodos.modeCompleted": "tamamlanan",
"builtins.lobe-gtd.apiName.clearTodos.result": "<mode>{{mode}}</mode> yapılacaklar temizlendi",
"builtins.lobe-gtd.apiName.completeTodos": "Yapılacakları tamamla",
"builtins.lobe-gtd.apiName.createPlan": "Plan oluştur",
"builtins.lobe-gtd.apiName.createPlan.result": "Plan oluşturuldu: <goal>{{goal}}</goal>",
"builtins.lobe-gtd.apiName.createTodos": "Yapılacaklar oluştur",
"builtins.lobe-gtd.apiName.execTask": "Görevi çalıştır",
"builtins.lobe-gtd.apiName.execTask.completed": "Görev oluşturuldu: ",
"builtins.lobe-gtd.apiName.execTask.loading": "Görev oluşturuluyor: ",
"builtins.lobe-gtd.apiName.execTasks": "Görevleri çalıştır",
"builtins.lobe-gtd.apiName.removeTodos": "Yapılacakları sil",
"builtins.lobe-gtd.apiName.updatePlan": "Planı güncelle",
"builtins.lobe-gtd.apiName.updatePlan.completed": "Tamamlandı",
"builtins.lobe-gtd.apiName.updatePlan.modified": "Güncellendi",
"builtins.lobe-gtd.apiName.updateTodos": "Yapılacakları güncelle",
"builtins.lobe-gtd.title": "Görev Araçları",
"builtins.lobe-knowledge-base.apiName.readKnowledge": "Kütüphane içeriğini oku",
"builtins.lobe-knowledge-base.apiName.searchKnowledgeBase": "Kütüphanede ara",
"builtins.lobe-knowledge-base.inspector.andMoreFiles": "ve {{count}} tane daha",
"builtins.lobe-knowledge-base.inspector.noResults": "Sonuç bulunamadı",
"builtins.lobe-knowledge-base.title": "Kütüphane",
"builtins.lobe-local-system.apiName.editLocalFile": "Dosyayı düzenle",
"builtins.lobe-local-system.apiName.getCommandOutput": "Komut çıktısını al",
"builtins.lobe-local-system.apiName.globLocalFiles": "Dosyalarda glob ara",
"builtins.lobe-local-system.apiName.grepContent": "İçerikte ara",
"builtins.lobe-local-system.apiName.killCommand": "Komutu sonlandır",
"builtins.lobe-local-system.apiName.listLocalFiles": "Dosyaları listele",
"builtins.lobe-local-system.apiName.moveLocalFiles": "Dosyaları taşı",
"builtins.lobe-local-system.apiName.readLocalFile": "Dosya içeriğini oku",
"builtins.lobe-local-system.apiName.renameLocalFile": "Yeniden adlandır",
"builtins.lobe-local-system.apiName.runCommand": "Komutu çalıştır",
"builtins.lobe-local-system.apiName.searchLocalFiles": "Dosyalarda ara",
"builtins.lobe-local-system.apiName.writeLocalFile": "Dosyaya yaz",
"builtins.lobe-local-system.inspector.noResults": "Sonuç yok",
"builtins.lobe-local-system.inspector.rename.result": "<old>{{oldName}}</old> → <new>{{newName}}</new>",
"builtins.lobe-local-system.title": "Yerel Sistem",
"builtins.lobe-notebook.actions.collapse": "Daralt",
"builtins.lobe-notebook.actions.copy": "Kopyala",
"builtins.lobe-notebook.actions.creating": "Belge oluşturuluyor...",
"builtins.lobe-notebook.actions.edit": "Düzenle",
"builtins.lobe-notebook.actions.expand": "Genişlet",
"builtins.lobe-notebook.apiName.createDocument": "Belge oluştur",
"builtins.lobe-notebook.apiName.deleteDocument": "Belgeyi sil",
"builtins.lobe-notebook.apiName.getDocument": "Belgeyi al",
"builtins.lobe-notebook.apiName.updateDocument": "Belgeyi güncelle",
"builtins.lobe-notebook.title": "Not Defteri",
"builtins.lobe-page-agent.apiName.batchUpdate": "Düğümleri toplu güncelle",
"builtins.lobe-page-agent.apiName.compareSnapshots": "Anlık görüntüleri karşılaştır",
"builtins.lobe-page-agent.apiName.convertToList": "Listeye dönüştür",
"builtins.lobe-page-agent.apiName.createNode": "Düğüm oluştur",
"builtins.lobe-page-agent.apiName.cropImage": "Görseli kırp",
"builtins.lobe-page-agent.apiName.deleteNode": "Düğümü sil",
"builtins.lobe-page-agent.apiName.deleteSnapshot": "Anlık görüntüyü sil",
"builtins.lobe-page-agent.apiName.deleteTableColumn": "Tablo sütununu sil",
"builtins.lobe-page-agent.apiName.deleteTableRow": "Tablo satırını sil",
"builtins.lobe-page-agent.apiName.duplicateNode": "Düğümü çoğalt",
"builtins.lobe-page-agent.apiName.editTitle": "Sayfa başlığını yeniden adlandır",
"builtins.lobe-page-agent.apiName.editTitle.result": "Başlık \"<title>{{title}}</title>\" olarak değiştirildi",
"builtins.lobe-page-agent.apiName.getPageContent": "Belge yapısını al",
"builtins.lobe-page-agent.apiName.indentListItem": "Liste öğesini girintile",
"builtins.lobe-page-agent.apiName.initPage": "İçerik yazmaya başla",
"builtins.lobe-page-agent.apiName.initPage.chars": " karakter",
"builtins.lobe-page-agent.apiName.initPage.creating": "Belge oluşturuluyor",
"builtins.lobe-page-agent.apiName.initPage.lines": " satır",
"builtins.lobe-page-agent.apiName.initPage.result": "Belge oluşturuldu",
"builtins.lobe-page-agent.apiName.insertTableColumn": "Tablo sütunu ekle",
"builtins.lobe-page-agent.apiName.insertTableRow": "Tablo satırı ekle",
"builtins.lobe-page-agent.apiName.listSnapshots": "Anlık görüntüleri listele",
"builtins.lobe-page-agent.apiName.mergeNodes": "Düğümleri birleştir",
"builtins.lobe-page-agent.apiName.modifyNodes": "Sayfayı düzenle",
"builtins.lobe-page-agent.apiName.modifyNodes.addNodes": "İçerik ekle",
"builtins.lobe-page-agent.apiName.modifyNodes.deleteNodes": "İçeriği sil",
"builtins.lobe-page-agent.apiName.modifyNodes.init": "Düzenlemeye hazırlanılıyor",
"builtins.lobe-page-agent.apiName.modifyNodes.result": "+{{insert}} / ~{{modify}} / -{{remove}}",
"builtins.lobe-page-agent.apiName.moveNode": "Düğümü taşı",
"builtins.lobe-page-agent.apiName.outdentListItem": "Liste öğesini sola kaydır",
"builtins.lobe-page-agent.apiName.replaceText": "Metni değiştir",
"builtins.lobe-page-agent.apiName.replaceText.count": "{{count}} değiştirildi",
"builtins.lobe-page-agent.apiName.replaceText.empty": "(boş)",
"builtins.lobe-page-agent.apiName.replaceText.init": "Değiştirme hazırlanıyor",
"builtins.lobe-page-agent.apiName.resizeImage": "Görseli yeniden boyutlandır",
"builtins.lobe-page-agent.apiName.restoreSnapshot": "Anlık görüntüyü geri yükle",
"builtins.lobe-page-agent.apiName.rotateImage": "Görseli döndür",
"builtins.lobe-page-agent.apiName.saveSnapshot": "Anlık görüntüyü kaydet",
"builtins.lobe-page-agent.apiName.setImageAlt": "Görsel alternatif metnini ayarla",
"builtins.lobe-page-agent.apiName.splitNode": "Düğümü böl",
"builtins.lobe-page-agent.apiName.toggleListType": "Liste türünü değiştir",
"builtins.lobe-page-agent.apiName.unwrapNode": "Düğüm sarmalamasını kaldır",
"builtins.lobe-page-agent.apiName.updateNode": "Düğümü güncelle",
"builtins.lobe-page-agent.apiName.wrapNodes": "Düğümleri sar",
"builtins.lobe-page-agent.title": "Sayfa",
"builtins.lobe-skill-store.apiName.importFromMarket": "Pazardan İçe Aktar",
"builtins.lobe-skill-store.apiName.importSkill": "Beceri İçe Aktar",
"builtins.lobe-skill-store.apiName.searchSkill": "Becerileri Ara",
"builtins.lobe-skill-store.inspector.noResults": "Sonuç yok",
"builtins.lobe-skill-store.render.installs": "Yüklemeler",
"builtins.lobe-skill-store.render.repository": "Depo",
"builtins.lobe-skill-store.render.version": "Sürüm",
"builtins.lobe-skill-store.title": "Beceri Mağazası",
"builtins.lobe-skills.apiName.activateSkill": "Beceri Etkinleştir",
"builtins.lobe-skills.apiName.execScript": "Komut Dosyasını Çalıştır",
"builtins.lobe-skills.apiName.exportFile": "Dosya Dışa Aktar",
"builtins.lobe-skills.apiName.importFromMarket": "Pazardan İçe Aktar",
"builtins.lobe-skills.apiName.importSkill": "Beceri İçe Aktar",
"builtins.lobe-skills.apiName.readReference": "Referansı Oku",
"builtins.lobe-skills.apiName.runCommand": "Komut Çalıştır",
"builtins.lobe-skills.apiName.searchSkill": "Becerileri Ara",
"builtins.lobe-skills.title": "Beceriler",
"builtins.lobe-topic-reference.apiName.getTopicContext": "Konu bağlamını al",
"builtins.lobe-topic-reference.title": "Konu referansı",
"builtins.lobe-user-interaction.apiName.askUserQuestion": "Kullanıcıya soru sor",
"builtins.lobe-user-interaction.apiName.cancelUserResponse": "Kullanıcı yanıtını iptal et",
"builtins.lobe-user-interaction.apiName.getInteractionState": "Etkileşim durumunu al",
"builtins.lobe-user-interaction.apiName.skipUserResponse": "Kullanıcı yanıtını atla",
"builtins.lobe-user-interaction.apiName.submitUserResponse": "Kullanıcı yanıtını gönder",
"builtins.lobe-user-interaction.title": "Kullanıcı Etkileşimi",
"builtins.lobe-user-memory.apiName.addContextMemory": "Bağlam hafızası ekle",
"builtins.lobe-user-memory.apiName.addExperienceMemory": "Deneyim hafızası ekle",
"builtins.lobe-user-memory.apiName.addIdentityMemory": "Kimlik hafızası ekle",
"builtins.lobe-user-memory.apiName.addPreferenceMemory": "Tercih hafızası ekle",
"builtins.lobe-user-memory.apiName.queryTaxonomyOptions": "Sınıflandırmayı sorgula",
"builtins.lobe-user-memory.apiName.removeIdentityMemory": "Kimlik hafızasını sil",
"builtins.lobe-user-memory.apiName.searchUserMemory": "Hafızada ara",
"builtins.lobe-user-memory.apiName.updateIdentityMemory": "Kimlik hafızasını güncelle",
"builtins.lobe-user-memory.inspector.noResults": "Sonuç bulunamadı",
"builtins.lobe-user-memory.render.contexts": "Bağlamlar",
"builtins.lobe-user-memory.render.experiences": "Deneyimler",
"builtins.lobe-user-memory.render.preferences": "Tercihler",
"builtins.lobe-user-memory.title": "Hafıza",
"builtins.lobe-web-browsing.apiName.crawlMultiPages": "Birden fazla sayfayı oku",
"builtins.lobe-web-browsing.apiName.crawlSinglePage": "Sayfa içeriğini oku",
"builtins.lobe-web-browsing.apiName.search": "Sayfalarda ara",
"builtins.lobe-web-browsing.inspector.noResults": "Sonuç bulunamadı",
"builtins.lobe-web-browsing.title": "Web Arama",
"builtins.lobe-web-onboarding.apiName.finishOnboarding": "Başlangıç eğitimini tamamla",
"builtins.lobe-web-onboarding.apiName.getOnboardingState": "Başlangıç eğitimi durumunu oku",
"builtins.lobe-web-onboarding.apiName.readDocument": "Belge oku",
"builtins.lobe-web-onboarding.apiName.saveUserQuestion": "Kullanıcı sorusunu kaydet",
"builtins.lobe-web-onboarding.apiName.updateDocument": "Belgeyi güncelle",
"builtins.lobe-web-onboarding.apiName.writeDocument": "Doküman yaz",
"builtins.lobe-web-onboarding.title": "Kullanıcı Başlangıç Eğitimi",
"confirm": "Onayla",
"debug.arguments": "Argümanlar",
"debug.error": "Hata Günlüğü",
"debug.function_call": "Fonksiyon çağrısı",
"debug.intervention": "Yetenek müdahalesi",
"debug.off": "Hata ayıklama kapalı",
"debug.on": "Yetenek çağrı bilgilerini görüntüle",
"debug.payload": "Yetenek yükü",
"debug.pluginState": "Yetenek durumu",
"debug.response": "Yanıt",
"debug.title": "Yetenek detayları",
"debug.tool_call": "Yetenek çağrı isteği",
"detailModal.customPlugin.description": "Düzenleme sayfasında detayları görüntüle",
"detailModal.customPlugin.editBtn": "Şimdi düzenle",
"detailModal.customPlugin.title": "Bu özel bir Yetenek",
"detailModal.emptyState.description": "Bu Yeteneği yükleyerek yeteneklerini ve ayarlarını görüntüleyin",
"detailModal.emptyState.title": "Yetenek detaylarını görmek için yükleyin",
"detailModal.info.description": "API açıklaması",
"detailModal.info.name": "API adı",
"detailModal.tabs.info": "Yetenekler",
"detailModal.tabs.manifest": "Manifest",
"detailModal.tabs.settings": "Ayarlar",
"detailModal.title": "Yetenek detayları",
"dev.confirmDeleteDevPlugin": "Bu yerel Yetenek kalıcı olarak silinecek. Devam edilsin mi?",
"dev.customParams.useProxy.label": "Proxy ile yükle (CORS hatası alıyorsanız etkinleştirin ve tekrar deneyin)",
"dev.deleteSuccess": "Yetenek silindi",
"dev.manifest.identifier.desc": "Yetenek için benzersiz tanımlayıcı",
"dev.manifest.identifier.label": "Tanımlayıcı",
"dev.manifest.mode.claude": "Claude Yeteneği",
"dev.manifest.mode.claudeWip": "Çok Yakında",
"dev.manifest.mode.mcp": "MCP",
"dev.manifest.name.desc": "Yetenek başlığı",
"dev.manifest.name.label": "Başlık",
"dev.manifest.name.placeholder": "Arama motoru",
"dev.mcp.advanced.title": "Gelişmiş",
"dev.mcp.args.desc": "Komuta iletilen argümanlar, genellikle MCP sunucu adı veya betik yolu",
"dev.mcp.args.label": "Argümanlar",
"dev.mcp.args.placeholder": "ör. mcp-hello-world",
"dev.mcp.args.required": "Argüman girin",
"dev.mcp.auth.bear": "API Anahtarı",
"dev.mcp.auth.desc": "MCP sunucusu için kimlik doğrulama yöntemi seçin",
"dev.mcp.auth.label": "Kimlik doğrulama türü",
"dev.mcp.auth.none": "Kimlik doğrulama yok",
"dev.mcp.auth.placeholder": "Kimlik doğrulama türü seçin",
"dev.mcp.auth.token.desc": "API Anahtarınızı veya Bearer Token girin",
"dev.mcp.auth.token.label": "API Anahtarı",
"dev.mcp.auth.token.placeholder": "sk-xxxxx",
"dev.mcp.auth.token.required": "Kimlik doğrulama anahtarı girin",
"dev.mcp.avatar.label": "Yetenek simgesi",
"dev.mcp.command.desc": "MCP STDIO sunucusunu başlatacak çalıştırılabilir dosya veya betik",
"dev.mcp.command.label": "Komut",
"dev.mcp.command.placeholder": "ör. npx / uv / docker",
"dev.mcp.command.required": "Komut girin",
"dev.mcp.desc.desc": "Yetenek açıklaması ekleyin",
"dev.mcp.desc.label": "Açıklama",
"dev.mcp.desc.placeholder": "Kullanım talimatları ve senaryolar",
"dev.mcp.endpoint.desc": "MCP Streamable HTTP sunucu adresinizi girin",
"dev.mcp.endpoint.label": "MCP Uç Nokta URL'si",
"dev.mcp.env.add": "Satır ekle",
"dev.mcp.env.desc": "MCP sunucusu için ortam değişkenlerini girin",
"dev.mcp.env.duplicateKeyError": "Anahtarlar benzersiz olmalıdır",
"dev.mcp.env.formValidationFailed": "Form doğrulaması başarısız, biçimi kontrol edin",
"dev.mcp.env.keyRequired": "Anahtar gerekli",
"dev.mcp.env.label": "MCP sunucu ortam değişkenleri",
"dev.mcp.env.stringifyError": "Serileştirilemedi, biçimi kontrol edin",
"dev.mcp.headers.add": "Satır ekle",
"dev.mcp.headers.desc": "HTTP başlıklarını girin",
"dev.mcp.headers.label": "HTTP Başlıkları",
"dev.mcp.identifier.desc": "Bu MCP için ad (sadece İngilizce karakterler)",
"dev.mcp.identifier.invalid": "Tanımlayıcı yalnızca harf, rakam, tire ve alt çizgi içerebilir",
"dev.mcp.identifier.label": "MCP adı",
"dev.mcp.identifier.placeholder": "ör. my-mcp-plugin",
"dev.mcp.identifier.required": "MCP tanımlayıcı girin",
"dev.mcp.previewManifest": "Manifesti önizle",
"dev.mcp.quickImport": "JSON yapılandırmasını içe aktar",
"dev.mcp.quickImportError.empty": "İçerik boş olamaz",
"dev.mcp.quickImportError.invalidJson": "Geçersiz JSON",
"dev.mcp.quickImportError.invalidStructure": "Geçersiz JSON yapısı",
"dev.mcp.stdioNotSupported": "STDIO MCP mevcut ortamda desteklenmiyor",
"dev.mcp.testConnection": "Bağlantıyı test et",
"dev.mcp.testConnectionTip": "Bağlantı testi başarılı olduktan sonra MCP kullanılabilir olacak",
"dev.mcp.type.desc": "MCP türünü seçin, web yalnızca Streamable HTTP'yi destekler",
"dev.mcp.type.httpFeature1": "Web ve masaüstü uyumlu",
"dev.mcp.type.httpFeature2": "Uzak MCP sunucusuna bağlanır, kurulum gerekmez",
"dev.mcp.type.httpShortDesc": "Streamable HTTP protokolü",
"dev.mcp.type.label": "MCP türü",
"dev.mcp.type.stdioFeature1": "Daha düşük gecikme, yerel çalıştırma için",
"dev.mcp.type.stdioFeature2": "Yerel MCP sunucusu kurulumu gerektirir",
"dev.mcp.type.stdioNotAvailable": "STDIO yalnızca masaüstünde kullanılabilir",
"dev.mcp.type.stdioShortDesc": "Standart giriş/çıkış protokolü",
"dev.mcp.type.title": "MCP türü",
"dev.mcp.url.desc": "MCP Sunucu Streamable HTTP URL'sini girin (SSE desteklenmez)",
"dev.mcp.url.invalid": "Geçerli bir URL girin",
"dev.mcp.url.label": "Streamable HTTP Uç Nokta URL'si",
"dev.mcp.url.required": "MCP sunucu URL'si girin",
"dev.meta.author.desc": "Yetenek yazarı",
"dev.meta.author.label": "Yazar",
"dev.meta.avatar.desc": "Yetenek simgesi (emoji veya URL)",
"dev.meta.avatar.label": "Simge",
"dev.meta.description.desc": "Yetenek açıklaması",
"dev.meta.description.label": "Açıklama",
"dev.meta.description.placeholder": "Bilgi için arama motoru",
"dev.meta.formFieldRequired": "Gerekli alan",
"dev.meta.homepage.desc": "Yetenek ana sayfası",
"dev.meta.homepage.label": "Ana sayfa",
"dev.meta.identifier.desc": "Benzersiz tanımlayıcı, manifestten otomatik algılanır",
"dev.meta.identifier.errorDuplicate": "Tanımlayıcı mevcut bir Yetenek ile çakışıyor",
"dev.meta.identifier.label": "Tanımlayıcı",
"dev.meta.identifier.pattenErrorMessage": "Yalnızca harf, rakam, tire ve alt çizgi kullanılabilir",
"dev.meta.lobe": "{{appName}} Yeteneği",
"dev.meta.manifest.desc": "{{appName}} bu URL üzerinden Yeteneği yükleyecek",
"dev.meta.manifest.label": "Manifest URL'si",
"dev.meta.manifest.preview": "Manifesti önizle",
"dev.meta.manifest.refresh": "Yenile",
"dev.meta.openai": "OpenAI Yeteneği",
"dev.meta.title.desc": "Yetenek başlığı",
"dev.meta.title.label": "Başlık",
"dev.meta.title.placeholder": "Arama motoru",
"dev.metaConfig": "Meta yapılandırma",
"dev.modalDesc": "Özel Yetenekler geliştirme veya doğrudan sohbetlerde kullanılabilir. Daha fazla bilgi için <1>dokümana↗</1> bakın",
"dev.openai.importUrl": "URL'den içe aktar",
"dev.openai.schema": "Şema",
"dev.preview.api.noParams": "Parametre yok",
"dev.preview.api.noResults": "API bulunamadı",
"dev.preview.api.params": "Parametreler:",
"dev.preview.api.searchPlaceholder": "Yeteneklerde ara…",
"dev.preview.card": "Yetenek kartı önizlemesi",
"dev.preview.desc": "Açıklama önizlemesi",
"dev.preview.empty.desc": "Yetenekleri önizlemek için yapılandırmayı tamamlayın",
"dev.preview.empty.title": "Önizleme için yapılandırın",
"dev.preview.title": "Yetenek adı önizlemesi",
"dev.save": "Yükle",
"dev.saveError": "Kurulum başarısız oldu, lütfen tekrar deneyin",
"dev.saveSuccess": "Ayarlar kaydedildi",
"dev.tabs.manifest": "Manifest",
"dev.tabs.meta": "Meta bilgi",
"dev.title.create": "Özel MCP Becerisi Ekle",
"dev.title.edit": "Özel MCP Becerisini Düzenle",
"dev.title.editCommunity": "Topluluk Yeteneğini Düzenle",
"dev.title.skillDetails": "Yetenek Detayları",
"dev.title.skillSettings": "Yetenek Ayarları",
"dev.type.lobe": "{{appName}} Yeteneği",
"dev.type.openai": "OpenAI Yeteneği",
"dev.update": "Güncelle",
"dev.updateSuccess": "Ayarlar güncellendi",
"empty.description": "Yetenek mağazasına göz atın. Başlamak için bir tane yükleyin, daha sonra yenilerini ekleyin.",
"empty.search": "Eşleşen Yetenek bulunamadı",
"empty.title": "Yetenek yok",
"error.details": "Hata detayları",
"error.fetchError": "Manifest alınamadı. URL ve CORS erişimini doğrulayın",
"error.installError": "{{name}} yüklenemedi",
"error.manifestInvalid": "Geçersiz manifest: \n\n {{error}}",
"error.noManifest": "Manifest bulunamadı",
"error.openAPIInvalid": "OpenAPI ayrıştırılamadı: \n\n {{error}}",
"error.reinstallError": "{{name}} yenilenemedi",
"error.renderError": "Görüntüleme hatası",
"error.testConnectionFailed": "Manifest alınamadı: {{error}}",
"error.unknownError": "Bilinmeyen hata",
"error.urlError": "URL JSON döndürmedi, bağlantıyı doğrulayın",
"inspector.args": "Argümanları görüntüle",
"inspector.delete": "Çağrıyı sil",
"inspector.orphanedToolCall": "Bağımsız Yetenek çağrısı tespit edildi, bu durum Ajan çalışmasını etkileyebilir. Kaldırın.",
"inspector.pluginRender": "Yetenek arayüzünü görüntüle",
"list.item.deprecated.title": "Silindi",
"list.item.local.config": "Yapılandırma",
"list.item.local.title": "Özel",
"loading.content": "Yetenek çağrılıyor…",
"loading.plugin": "Yetenek çalışıyor…",
"localSystem.workingDirectory.agentDescription": "Bu Ajana ait tüm konuşmalar için varsayılan çalışma dizini",
"localSystem.workingDirectory.agentLevel": "Ajan Çalışma Dizini",
"localSystem.workingDirectory.aheadBehindTooltip": "{{ahead}} gönderilecek · {{behind}} çekilecek ({{upstream}})",
"localSystem.workingDirectory.aheadTooltip": "{{count}} commit {{upstream}} konumuna gönderilecek",
"localSystem.workingDirectory.behindTooltip": "{{count}} commit {{upstream}} konumundan çekilecek",
"localSystem.workingDirectory.branchSearchPlaceholder": "Dallar içinde ara",
"localSystem.workingDirectory.branchesEmpty": "Yerel dal yok",
"localSystem.workingDirectory.branchesHeading": "Dallar",
"localSystem.workingDirectory.branchesLoading": "Dallar yükleniyor…",
"localSystem.workingDirectory.branchesNoMatch": "Eşleşen dal yok",
"localSystem.workingDirectory.cancel": "İptal",
"localSystem.workingDirectory.checkoutAction": "Checkout",
"localSystem.workingDirectory.checkoutFailed": "Checkout başarısız",
"localSystem.workingDirectory.chooseDifferentFolder": "Farklı bir klasör seç",
"localSystem.workingDirectory.createBranchAction": "Yeni dal oluştur ve checkout yap…",
"localSystem.workingDirectory.current": "Geçerli çalışma dizini",
"localSystem.workingDirectory.detachedHead": "{{sha}} konumunda ayrık HEAD",
"localSystem.workingDirectory.diffStatTooltip": "Eklendi {{added}} · Değiştirildi {{modified}} · Silindi {{deleted}}",
"localSystem.workingDirectory.filesAdded": "Eklendi",
"localSystem.workingDirectory.filesDeleted": "Silindi",
"localSystem.workingDirectory.filesEmpty": "Commit edilmemiş değişiklik yok",
"localSystem.workingDirectory.filesLoading": "Değişiklikler yükleniyor…",
"localSystem.workingDirectory.filesModified": "Değiştirildi",
"localSystem.workingDirectory.ghMissing": "İlişkili pull request'leri görmek için GitHub CLI (`gh`) kurun ve giriş yapın",
"localSystem.workingDirectory.newBranchPlaceholder": "feature/yeni-dal-ismi",
"localSystem.workingDirectory.noRecent": "Son kullanılan dizin yok",
"localSystem.workingDirectory.notSet": "Çalışma dizinini ayarlamak için tıklayın",
"localSystem.workingDirectory.placeholder": "Dizin yolunu girin, örn. /Kullanicilar/isim/projeler",
"localSystem.workingDirectory.prTooltipWithExtra": "{{title}} (bu dalda +{{count}} açık PR daha)",
"localSystem.workingDirectory.recent": "Son kullanılanlar",
"localSystem.workingDirectory.refreshGitStatus": "Dal ve PR durumunu yenile",
"localSystem.workingDirectory.removeRecent": "Son kullanılanlardan kaldır",
"localSystem.workingDirectory.selectFolder": "Klasör seç",
"localSystem.workingDirectory.title": "Çalışma Dizini",
"localSystem.workingDirectory.topicDescription": "Yalnızca bu konuşma için Ajan varsayılanını geçersiz kıl",
"localSystem.workingDirectory.topicLevel": "Konuşma geçersiz kılma",
"localSystem.workingDirectory.topicOverride": "Bu konuşma için geçersiz kılma",
"localSystem.workingDirectory.uncommittedChanges_one": "Commit edilmemiş değişiklikler: {{count}} dosya",
"localSystem.workingDirectory.uncommittedChanges_other": "Commit edilmemiş değişiklikler: {{count}} dosya",
"mcpEmpty.deployment": "Dağıtım seçeneği yok",
"mcpEmpty.prompts": "İpucu yok",
"mcpEmpty.resources": "Kaynak yok",
"mcpEmpty.tools": "Araç yok",
"mcpInstall.CHECKING_INSTALLATION": "Kurulum kontrol ediliyor…",
"mcpInstall.COMPLETED": "Tamamlandı",
"mcpInstall.CONFIGURATION_REQUIRED": "Devam etmek için yapılandırmayı tamamlayın",
"mcpInstall.ERROR": "Kurulum hatası",
"mcpInstall.FETCHING_MANIFEST": "Manifest alınıyor…",
"mcpInstall.GETTING_SERVER_MANIFEST": "MCP sunucusu başlatılıyor…",
"mcpInstall.INSTALLING_PLUGIN": "Skill yükleniyor…",
"mcpInstall.configurationDescription": "Bu MCP için gerekli parametreleri yapılandırın",
"mcpInstall.configurationRequired": "Parametreleri yapılandır",
"mcpInstall.continueInstall": "Devam et",
"mcpInstall.dependenciesDescription": "Gerekli bağımlılıkları yükleyin, ardından devam etmek için tekrar kontrol edin.",
"mcpInstall.dependenciesRequired": "Sistem bağımlılıklarını yükle",
"mcpInstall.dependencyStatus.installed": "Yüklü",
"mcpInstall.dependencyStatus.notInstalled": "Yüklü değil",
"mcpInstall.dependencyStatus.requiredVersion": "Gerekli: {{version}}",
"mcpInstall.errorDetails.args": "Argümanlar",
"mcpInstall.errorDetails.command": "Komut",
"mcpInstall.errorDetails.connectionParams": "Bağlantı parametreleri",
"mcpInstall.errorDetails.env": "Ortam değişkenleri",
"mcpInstall.errorDetails.errorOutput": "Hata günlüğü",
"mcpInstall.errorDetails.exitCode": "Çıkış kodu",
"mcpInstall.errorDetails.hideDetails": "Ayrıntıları gizle",
"mcpInstall.errorDetails.originalError": "Orijinal hata",
"mcpInstall.errorDetails.showDetails": "Ayrıntıları görüntüle",
"mcpInstall.errorTypes.AUTHORIZATION_ERROR": "Yetkilendirme hatası",
"mcpInstall.errorTypes.CONNECTION_FAILED": "Bağlantı başarısız",
"mcpInstall.errorTypes.INITIALIZATION_TIMEOUT": "Başlatma zaman aşımı",
"mcpInstall.errorTypes.PROCESS_SPAWN_ERROR": "İşlem başlatılamadı",
"mcpInstall.errorTypes.UNKNOWN_ERROR": "Bilinmeyen hata",
"mcpInstall.errorTypes.VALIDATION_ERROR": "Doğrulama başarısız",
"mcpInstall.installError": "MCP kurulumu başarısız: {{detail}}",
"mcpInstall.installMethods.manual": "Manuel:",
"mcpInstall.installMethods.recommended": "Önerilen:",
"mcpInstall.recheckDependencies": "Tekrar kontrol et",
"mcpInstall.skipDependencies": "Atla",
"pluginList": "Skill'ler",
"protocolInstall.actions.install": "Yükle",
"protocolInstall.actions.installAnyway": "Yine de yükle",
"protocolInstall.actions.installed": "Yüklendi",
"protocolInstall.config.addEnv": "Ortam değişkeni ekle",
"protocolInstall.config.addHeaders": "Başlık ekle",
"protocolInstall.config.args": "Argümanlar",
"protocolInstall.config.command": "Komut",
"protocolInstall.config.env": "Ortam",
"protocolInstall.config.headers": "Başlıklar",
"protocolInstall.config.title": "Yapılandırma",
"protocolInstall.config.type.http": "Tür: HTTP",
"protocolInstall.config.type.label": "Tür",
"protocolInstall.config.type.stdio": "Tür: Stdio",
"protocolInstall.config.url": "Sunucu URL'si",
"protocolInstall.custom.badge": "Özel Skill",
"protocolInstall.custom.security.description": "Resmi olmayan Skill, güvenlik riski taşıyabilir. Yüklemeden önce kaynağı doğrulayın.",
"protocolInstall.custom.security.title": "Güvenlik",
"protocolInstall.custom.title": "Özel Skill yükle",
"protocolInstall.install.title": "Kurulum bilgisi",
"protocolInstall.marketplace.title": "Üçüncü taraf Skill yükle",
"protocolInstall.marketplace.trustedBy": "{{name}} tarafından",
"protocolInstall.marketplace.unverified.title": "Doğrulanmamış üçüncü taraf Skill",
"protocolInstall.marketplace.unverified.warning": "Bu topluluk Skill'ini yüklemeden önce kaynağını doğrulayın.",
"protocolInstall.marketplace.verified": "Doğrulandı",
"protocolInstall.messages.connectionTestFailed": "Bağlantı testi başarısız",
"protocolInstall.messages.installError": "Kurulum başarısız, tekrar deneyin",
"protocolInstall.messages.installSuccess": "{{name}} yüklendi. Şimdi etkinleştirin veya sonra yapılandırın.",
"protocolInstall.messages.manifestError": "Skill bilgisi alınamadı. Ağı kontrol edin veya daha sonra tekrar deneyin.",
"protocolInstall.messages.manifestNotFound": "Manifest bulunamadı",
"protocolInstall.meta.author": "Yazar",
"protocolInstall.meta.homepage": "Ana sayfa",
"protocolInstall.meta.identifier": "Tanımlayıcı",
"protocolInstall.meta.source": "Kaynak",
"protocolInstall.meta.version": "Sürüm",
"protocolInstall.official.badge": "LobeHub Resmi Skill",
"protocolInstall.official.description": "Resmi LobeHub Skill, doğrulanmış ve güvenlik kontrolünden geçirilmiş.",
"protocolInstall.official.loadingMessage": "Skill detayları yükleniyor…",
"protocolInstall.official.loadingTitle": "Yükleniyor",
"protocolInstall.official.title": "Resmi Skill yükle",
"protocolInstall.title": "MCP Yükle",
"protocolInstall.warning": "Skill kaynağını doğrulayın. Ayarlardan istediğiniz zaman devre dışı bırakabilir veya kaldırabilirsiniz.",
"search.config.addKey": "Anahtar ekle",
"search.config.close": "Kaldır",
"search.config.confirm": "Tamam, tekrar dene",
"search.crawPages.crawling": "Bağlantılar belirleniyor",
"search.crawPages.detail.preview": "Önizleme",
"search.crawPages.detail.raw": "Ham metin",
"search.crawPages.detail.tooLong": "Bağlam için metin {{characters}} karaktere kısaltıldı, fazlası çıkarıldı.",
"search.crawPages.meta.crawler": "Tarayıcı modu",
"search.crawPages.meta.words": "Karakterler",
"search.searchxng.baseURL": "URL girin",
"search.searchxng.description": "Web araması başlatmak için SearchXNG URL'sini girin",
"search.searchxng.keyPlaceholder": "Anahtar girin",
"search.searchxng.title": "SearchXNG Yapılandır",
"search.searchxng.unconfiguredDesc": "SearchXNG yapılandırması için yöneticinizle iletişime geçin",
"search.searchxng.unconfiguredTitle": "SearchXNG yapılandırılmamış",
"search.title": "Web Arama",
"setting": "Ayarlar",
"settings.capabilities.prompts": "İstemler",
"settings.capabilities.resources": "Kaynaklar",
"settings.capabilities.title": "Skill'ler",
"settings.capabilities.tools": "Araçlar",
"settings.configuration.title": "Yapılandırma",
"settings.connection.args": "Argümanlar",
"settings.connection.command": "Komut",
"settings.connection.title": "Bağlantı",
"settings.connection.type": "Tür",
"settings.connection.url": "Sunucu URL'si",
"settings.edit": "Düzenle",
"settings.envConfigDescription": "MCP sunucusu başlatıldığında ortam değişkenleri olarak aktarılır",
"settings.httpTypeNotice": "HTTP MCP için yapılandırılacak ortam değişkeni yok",
"settings.indexUrl.title": "Topluluk dizini",
"settings.indexUrl.tooltip": "Dağıtım ortam değişkenleriyle düzenleyin",
"settings.messages.connectionUpdateFailed": "Bağlantı güncellenemedi",
"settings.messages.connectionUpdateSuccess": "Bağlantı güncellendi",
"settings.messages.envUpdateFailed": "Ortam değişkenleri kaydedilemedi",
"settings.messages.envUpdateSuccess": "Ortam değişkenleri kaydedildi",
"settings.modalDesc": "Özel Skill topluluğu kullanmak için topluluk URL'sini yapılandırın.",
"settings.rules.argsRequired": "Argüman girin",
"settings.rules.commandRequired": "Komut girin",
"settings.rules.urlRequired": "Sunucu URL'si girin",
"settings.saveSettings": "Ayarları kaydet",
"settings.title": "Skill topluluğu ayarları",
"showInPortal": "Workspace'te ayrıntıları görüntüle",
"skillDetail.author": "Yazar",
"skillDetail.details": "Ayrıntılar",
"skillDetail.developedBy": "Geliştiren",
"skillDetail.networkError": "Veriler yüklenemedi. Ağı kontrol edin ve tekrar deneyin.",
"skillDetail.noAgents": "Bu beceriyi henüz kullanan bir temsilci yok",
"skillDetail.tabs.agents": "Bu Beceriyi Kullanan Temsilciler",
"skillDetail.tabs.overview": "Genel Bakış",
"skillDetail.tabs.tools": "Yetenekler",
"skillDetail.tools": "Araçlar",
"skillDetail.trustWarning": "Yalnızca güvendiğiniz geliştiricilerin bağlayıcılarını kullanın. LobeHub, geliştiricilerin hangi araçları sunduğunu kontrol etmez ve bu araçların beklendiği gibi çalışacağını veya değişmeyeceğini garanti edemez.",
"skillInstallBanner.dismiss": "Kapat",
"skillInstallBanner.title": "Lobe AI'a yetenekler ekleyin",
"store.actions.cancel": "İptal",
"store.actions.configure": "Yapılandır",
"store.actions.confirmUninstall": "Skill yapılandırması silinecek. Devam edilsin mi?",
"store.actions.detail": "Ayrıntılar",
"store.actions.install": "Yükle",
"store.actions.manifest": "Manifesti düzenle",
"store.actions.settings": "Ayarlar",
"store.actions.uninstall": "Kaldır",
"store.communityPlugin": "Topluluk",
"store.customPlugin": "Özel",
"store.empty": "Yüklü Skill yok",
"store.emptySelectHint": "Ayrıntıları görüntülemek için bir Skill seçin",
"store.installAllPlugins": "Tümünü yükle",
"store.networkError": "Skill mağazası alınamadı. Ağı kontrol edip tekrar deneyin.",
"store.placeholder": "Skill adını veya anahtar kelimeyi arayın…",
"store.releasedAt": "{{createdAt}} tarihinde yayınlandı",
"store.tabs.installed": "Yüklü",
"store.tabs.mcp": "MCP",
"store.tabs.old": "LobeHub Skill'leri",
"store.title": "Skill Mağazası",
"unknownError": "Bilinmeyen hata",
"unknownPlugin": "Bilinmeyen Skill"
}