Compare commits

..

51 Commits

Author SHA1 Message Date
ONLY-yours 98854e30c6 fix: change the process.env to appEnv to get 2026-03-30 21:05:23 +08:00
LiJian 53d0ee9ca5 🐛 fix: should use env.APP_URL to replace online url (#13408)
* fix: should use env.APP_URL to replace online url

* fix: fixed the double / path problem
2026-03-30 20:37:44 +08:00
Arvin Xu 689d5a51e8 feat(openapi): support hosted builtin tools in Response API (#13406)
*  feat(openapi): support hosted builtin tools in Response API

Allow declaring builtin tools via { type: 'lobe-xxx' } syntax in the
tools array of POST /api/v1/responses. Hosted tool identifiers are
extracted and passed as additionalPluginIds to execAgent, where the
existing ToolsEngine handles manifest resolution automatically.

LOBE-6535

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

*  feat(openapi): stream tool calls and results in Response API

Add full streaming support for tool execution events in the Response
API. Previously only text deltas were streamed; tool calls and results
were only visible in the final response.completed event.

Now emits:
- response.output_item.added (function_call) when LLM invokes a tool
- response.function_call_arguments.delta for tool arguments
- response.output_item.done (function_call) when tool call is complete
- response.output_item.added/done (function_call_output) when tool
  execution finishes with results
- Proper text message lifecycle (added/delta/done) across multi-step
  agent loops

LOBE-6535

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* 🐛 fix(openapi): handle nullable tools param in extractHostedToolIds

The tools field from CreateResponseRequest uses .nullish() in zod,
so it can be null. Accept null in the parameter type.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 20:37:07 +08:00
Arvin Xu 23eab8769b 🐛 fix: add unread completion notification for group topic orchestration (#13407)
* 🐛 fix: add unread completion notification for group topic orchestration

Group orchestration was missing markUnreadCompleted() call after completion,
and group topic NavItem lacked the unread completion indicator UI.

Fixes LOBE-4878

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* 💄 style: extract neon dot inline styles to createStaticStyles

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* docs: add test screenshot 01.jpg for LOBE-4878

* docs: add test screenshot 02.jpg for LOBE-4878

* docs: add test screenshot 03.jpg for LOBE-4878

* 🔥 chore: remove temporary test screenshots

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* 💄 style: change unread neon dot color from green to blue (colorInfo)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* 🐛 fix: replace remaining successColor references with infoColor in group topic item

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 20:33:31 +08:00
Innei 0e57fd9955 feat(onboarding): agent web onboarding, feature toggle, and lifecycle sync (#13139)
*  feat(onboarding): add agent-guided web onboarding flow

Made-with: Cursor

* Update onboarding prompts

Co-authored-by: Codex <noreply@openai.com>

* 🐛 fix web onboarding builtin tool flow

*  feat(onboarding): enhance agent onboarding flow with new dimensions and refined rules

- Updated onboarding structure to include new nodes: agentIdentity, userIdentity, workStyle, workContext, and painPoints.
- Revised system role instructions to emphasize a conversational approach and concise interactions.
- Adjusted manifest and type definitions to reflect the new onboarding schema.
- Implemented tests to ensure proper functionality of the onboarding context and flow.

This update aims to improve user experience during onboarding by making it more engaging and structured.

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

*  feat(onboarding): enhance onboarding experience with localized welcome messages and interaction hints

- Added localized welcome messages for onboarding in English and Chinese.
- Refactored system role handling to support dynamic interaction hints based on user locale.
- Updated onboarding context to include interaction hints for improved user engagement.
- Implemented tests to validate the new interaction hint functionality.

This update aims to create a more personalized and engaging onboarding experience for users across different languages.

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

*  feat(onboarding): overhaul onboarding flow with new question structure and refined interaction rules

- Replaced existing interaction hints with a focused question structure to enhance user engagement.
- Updated system role instructions to clarify onboarding protocols and improve conversational flow.
- Refactored type definitions and manifest to align with the new onboarding schema.
- Removed deprecated interaction hint components and tests to streamline the codebase.

This update aims to create a more structured and engaging onboarding experience for users, ensuring clarity and efficiency in interactions.

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

*  feat(onboarding): introduce builtin agent onboarding package with structured roles and prompts

- Added a new package for agent onboarding, including a package.json configuration and initial TypeScript files.
- Implemented system role templates and tool prompts to guide the onboarding process.
- Established a client interface for rendering questions and handling user interactions.
- Updated dependencies in related packages to integrate the new onboarding functionality.

This update aims to enhance the onboarding experience by providing a structured approach for agents, ensuring clarity and efficiency in user interactions.

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

*  feat(onboarding): enhance agent onboarding with new question renderer and refined interaction logic

- Introduced a new `QuestionRendererView` component to streamline the rendering of onboarding questions.
- Refactored the `QuestionRenderer` to utilize a runtime hook for improved state management and separation of concerns.
- Updated the onboarding context to fallback to stored questions when the current question is empty, enhancing user experience.
- Simplified the onboarding API by removing unnecessary read token requirements from various endpoints.
- Added tests to validate the new question rendering logic and ensure proper functionality.

This update aims to create a more efficient and user-friendly onboarding experience by improving the question handling and rendering process.

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

* Add dev history view for onboarding

* remove: prosetting

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

*  feat(onboarding): inline response language step in agent conversation

- Add ResponseLanguageInlineStep and wire into Conversation flow
- Extend agent onboarding context and update ResponseLanguageStep route
- Add tests and onboarding agent document design spec

Made-with: Cursor

*  feat(onboarding): enhance onboarding flow with inbox integration and schema refactor

- Updated onboarding process to migrate conversation topics to the inbox upon completion, ensuring users can revisit their onboarding discussions.
- Introduced a new schema-driven normalizer and node handler registry to streamline onboarding data handling, reducing code duplication and improving maintainability.
- Added comprehensive tests for new document builders and onboarding service methods to ensure functionality and reliability.
- Refactored existing components to support the new onboarding structure and improve user experience.

This update aims to create a more cohesive onboarding experience by integrating user identity data into the inbox and simplifying the underlying code structure.

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

*  feat(agent-documents): add listDocuments, readDocumentByFilename, upsertDocumentByFilename APIs

*  feat(onboarding): add generic user interaction builtin tool

*  feat(onboarding): wire generic tool interaction semantics

Register user-interaction tool in builtin-tools registry with manifest,
intervention components, client executor, and server runtime. Extend
BuiltinInterventionProps with interactionMode and onInteractionAction
to support custom (non-approval) interaction UIs. Add submit/skip/cancel
actions to conversation store with full operation lifecycle management.

* 🔧 fix: add builtin-tool-user-interaction to root workspace dependencies

* ♻️ refactor(onboarding): remove onboarding-owned question persistence

Drop askUserQuestion from the web-onboarding tool and remove
questionSurface from persisted state. Question presentation is now
delegated to the generic lobe-user-interaction tool.

* ♻️ refactor(onboarding): switch UI to generic interaction tool

Enable UserInteraction and AgentDocuments tools in web-onboarding and
inbox agent configs. Remove obsolete inline question renderers
(QuestionRenderer, QuestionRendererView, questionRendererRuntime,
questionRendererSchema, ResponseLanguageInlineStep) and simplify
Conversation component to only render summary CTA.

* 🔥 refactor(onboarding): remove identity doc and rewrite soul sync

* 🐛 fix(user-interaction): add humanIntervention to manifest and implement form UI

* 🐛 fix(onboarding): create user message on interaction submit instead of re-executing tool

* ♻️ refactor(onboarding): rebuild generic interaction flow

Align agent/tool roles and onboarding UI/runtime around the generic interaction rebuild.

Made-with: Cursor

*  feat(onboarding): implement onboarding document and persona management

Introduce a new onboarding document structure that separates agent identity and user persona data. Replace existing `readSoulDocument` and `updateSoulDocument` APIs with `readDocument` and `updateDocument` to handle both SOUL.md and user persona documents. Update related services, client executors, and localization keys to reflect these changes. Ensure document updates are driven by the agent, allowing for incremental updates and improved content management.

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

* refactor

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

*  feat(workflow): introduce unified tool call collapse UI and supporting components

Add a new workflow collapse feature that groups tool calls and reasoning into a single collapsible unit, enhancing the user interface for tool call progress. This includes the creation of several components: `WorkflowCollapse`, `WorkflowSummary`, `WorkflowExpandedList`, `WorkflowToolLine`, and `WorkflowReasoningLine`. Update the design specifications and implementation plans to reflect this new structure, aiming for a more cohesive and user-friendly experience.

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

* feat(types): add discovery pacing types and constant

* feat(onboarding): add countTopicUserMessages and pacing gate to derivePhase

* feat(onboarding): capture discovery baseline and return pacing data in getState

*  feat(onboarding): add pacing hints to discovery phase tool result

* test(onboarding): add discovery pacing gate tests

* ♻️ refactor(onboarding): soften discovery pacing gate and add early exit exception

- MIN_DISCOVERY_USER_MESSAGES lowered from 4 to 2 (hard floor)
- RECOMMENDED_DISCOVERY_USER_MESSAGES = 4 (advisory hint)
- Tool protocol rule 2 now has explicit early exit exception
- Pacing hint text changed from imperative to advisory

*  feat(onboarding): update .gitignore and remove outdated onboarding plans

- Added `docs/superpowers` to .gitignore to exclude documentation files from version control.
- Deleted several outdated onboarding implementation plans, including those for onboarding inbox integration, generic interaction rebuild, and user question simplification, to streamline project documentation.

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

*  feat(onboarding): refine agent onboarding, streaming, and AskUserQuestion

Made-with: Cursor

*  feat(store): add pending interventions selector

* 🐛 fix(store): handle standalone tool messages and structural children traversal in pending interventions selector

*  feat(conversation): create InterventionBar component

Add InterventionBar UI component with tab bar for multiple pending
interventions, reusing the existing Intervention detail component.

* 🐛 fix(conversation): use stable toolCallId for active tab state and add min-height: 0

Track active intervention by toolCallId instead of array index to prevent
stale selection when interventions are resolved. Add min-height: 0 to
scrollable content for correct overflow in flex column layout.

* feat(chatinput): show InterventionBar when pending interventions exist

* feat(tool): collapse inline intervention to one-line summary with scroll-to-bottom

* feat(i18n): add intervention bar translation keys

* 🐛 fix(chatinput): prevent infinite render loop from pendingInterventions selector

* 🐛 fix(chatinput): use equality function for pendingInterventions to break render loop

* refactor(tool): remove CollapsedIntervention, return null for pending inline

* feat(i18n): add form.other translation key

* feat(tool): add styles for select field with Other option

* feat(tool): add SelectFieldInput with Other option row

* feat(tool): wire SelectFieldInput and update validation in AskUserQuestion

* fix(tool): add keyboard handler to Other row, fix label flex

* refactor(tool): restore Select dropdown, add Other toggle row below

* refactor(tool): change Other to form-level escape hatch, restore antd Select

* refactor(tool): replace checkbox toggle with minimal text link escape hatch

* feat(tool): use lucide icons, auto-focus on escape toggle, createStaticStyles

* refactor(onboarding): update onboarding model references and improve styling in ModeSwitch component

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

*  feat(onboarding): add greeting entry animation keyframes and card styles

*  feat(onboarding): add LogoThree and entry animations to greeting card

*  feat(onboarding): add View Transition morph from greeting to conversation

* refactor(onboarding): simplify ModeSwitch component by removing segmentedGlass styling

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

*  feat(onboarding): increase maximum onboarding steps to 5 and add ProSettingsStep component

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

*  feat: enhance user interaction question handling with validation schema

- Introduced Zod validation for askUserQuestion arguments to ensure correct structure.
- Updated test to reflect new question format with fields.
- Added error handling in AskUserQuestion component to log submission errors.

This improves the robustness of user interactions by enforcing schema validation and enhancing error reporting.

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

*  feat: enhance agent metadata handling and onboarding synchronization

- Updated `useAgentMeta` to prioritize custom titles from the database, falling back to the default Lobe AI title if none exists.
- Integrated `refreshBuiltinAgent` into the onboarding process to ensure the latest agent data is reflected during user interactions.
- Adjusted the `InboxItem` component to display the correct agent title and avatar based on the updated metadata.
- Refactored optimistic update actions to improve message handling and synchronization across components.

This improves the user experience by ensuring that the most relevant agent information is displayed and updated in real-time during onboarding and conversation flows.

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

*  feat: enhance conversation lifecycle and onboarding agent synchronization

- Updated `ConversationLifecycleActionImpl` to include additional context parameters (agentId, groupId, threadId, topicId) when updating message plugins for aborted interactions.
- Integrated `refreshBuiltinAgent` for the inbox during the onboarding process to ensure the latest agent data is synchronized.

These changes improve the handling of conversation lifecycle events and ensure that onboarding reflects the most current agent information, enhancing user experience during interactions.

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

*  feat: implement agent onboarding feature toggle and enhance ModeSwitch component

- Introduced `AGENT_ONBOARDING_ENABLED` configuration to control the visibility of the agent onboarding options.
- Updated `ModeSwitch` component to conditionally render onboarding options based on the feature toggle.
- Enhanced tests for `ModeSwitch` to cover scenarios for both enabled and disabled states of agent onboarding.
- Refactored `AgentOnboardingRoute` to navigate to the classic onboarding if the agent onboarding feature is disabled.

These changes improve the onboarding experience by allowing dynamic control over the agent onboarding feature, ensuring that users only see relevant options based on the configuration.

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

*  feat: update agent onboarding feature toggle to include development mode

- Modified `AGENT_ONBOARDING_ENABLED` to also activate in development mode using `isDev`.
- This change allows for easier testing and development of the agent onboarding feature without needing to alter production configurations.

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

* Prevent welcome message when onboard

* 🐛 fix: satisfy ToolExecutionContext and updateMessageTools typings

Made-with: Cursor

* 🐛 fix: update tests for custom builtin agent title and discovery phase constants

* 🐛 fix: use custom inbox agent title and avatar in InboxWelcome

* 🧹 chore(onboarding): remove HistoryPanel unit test

Made-with: Cursor

* 🐛 fix: add missing onboarding/agent and onboarding/classic routes to desktop config

*  test: fix failing tests for onboarding container, document helpers, and executor

*  test: mock LogoThree to prevent Spline runtime fetch errors in CI

---------

Signed-off-by: Innei <tukon479@gmail.com>
Co-authored-by: Codex <noreply@openai.com>
2026-03-30 20:28:54 +08:00
LobeHub Bot 2f5a31fc99 test: add unit tests for LocalTaskScheduler (#13398)
Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-30 18:53:03 +08:00
Arvin Xu 143a15fdb9 💄 style: show interrupted hint when AI generation is stopped (#13397)
*  feat: show interrupted hint when AI generation is stopped

Display "Interrupted · What should I do instead?" text below the message
when user stops AI generation, replacing the infinite dotting animation.

Fixes LOBE-4462
Fixes LOBE-5726

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

*  feat: add edit button to queued messages tray

Allow users to edit queued messages by clicking the pencil icon,
which removes the message from the queue and restores its content
to the input editor.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* 📝 chore: move record-electron-demo.sh to electron-testing skill

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* 🐛 fix: derive isInterrupted from latest runtime operation only

Previously isInterrupted used .some() to check if any cancelled AI
runtime operation existed for a message. In stop-then-retry flows,
the old cancelled op persisted alongside the new completed one,
causing the interrupted hint to reappear after the retry finished.

Now only the latest AI runtime operation is checked, so completed
retries correctly clear the interrupted state.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* 🐛 fix: read group interruption from active block ID

For assistant groups, continuation runs attach cancelled operations to
lastBlockId (contentId) rather than the group root. Check isInterrupted
on both the group root and the active block so the interrupted hint
is shown correctly for stopped group continuations.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

*  test: update test to expect cancelled status after user stop

The test for resolving aborted tools after cancellation now correctly
expects 'cancelled' status, since completeOperation preserves the
user's intentional cancellation rather than overwriting it.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 18:46:46 +08:00
LiJian 9c08fa5cdf 🐛 fix: add the creds tools into execAgentRuntime (#13399)
fix: add the creds tools into execAgentRuntime
2026-03-30 17:20:37 +08:00
Hardy 59d8d878a2 🐛 fix: use Anthropic SDK for Kimi Coding Plan provider (#13345)
🐛 fix: use Anthropic SDK for Kimi Coding Plan provider

- Switch from OpenAI SDK to Anthropic SDK for Kimi Coding Plan
- Update baseURL from `/coding/v1` to `/coding` (Anthropic-compatible endpoint)
- Update model IDs: `kimi-k2.5` → `k2p5`, remove `kimi-k2`
- Fix max_tokens resolution to use KimiCodingPlan model list
- Rewrite tests for Anthropic SDK compatibility
2026-03-30 16:53:28 +08:00
WindSpiritSR 0439a29189 🔨 chore(docker): replace dev/prod pgsql docker image with paradedb (#13373)
🐛 fix(docker): replace dev/prod pgsql docker image with paradedb

Signed-off-by: WindSpiritSR <simon343riley@gmail.com>
2026-03-30 16:52:00 +08:00
LobeHub Bot 4a63ea3dcc 🌐 chore: translate non-English comments to English in src/routes (#13395)
Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-30 16:50:45 +08:00
YuTengjing 91b2653c71 🐛 fix: check error value in social sign-in result (#13392) 2026-03-30 11:38:48 +08:00
René Wang 8c8e7dd992 Update team assignments and feature responsibilities (#13393) 2026-03-30 10:44:25 +08:00
Arvin Xu a9cd2f7301 ♻️ refactor: remove DefaultAgentForm UI from settings pages (#13342)
🔥 refactor: remove DefaultAgentForm UI from settings pages

Remove the user-facing Default Agent configuration form from both
the agent settings page and the service-model settings page.
The underlying store action and selectors are preserved for
programmatic use (e.g. onboarding).

Fixes LOBE-1125

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 10:18:31 +08:00
YuTengjing b6c66dbdd7 feat: add businessElement and getFetchOptions plumbing to signin page (#13382)
*  feat: add businessElement and getFetchOptions plumbing to signin page

Add extension points to the signin flow so cloud overrides can inject
custom UI elements and modify fetch options for social sign-in requests.

- Add businessElement slot to SignInEmailStep component
- Pass getFetchOptions to signIn.social() and signIn.oauth2() calls
- Add businessElement and getFetchOptions defaults to useBusinessSignin

* 🐛 fix: resolve TS error on signIn.social result type with fetchOptions
2026-03-29 23:15:16 +08:00
Rylan Cai 5e1738ad4b ♻️ refactor(context engine): tool message normalization (#13359)
* ♻️ normalize tool call messages in context engine

* ♻️ prune tool message normalization implementation

* ♻️ prune tool message normalization diff

* ♻️ simplify tool message normalization diff

* ♻️ restore tool message reorder logging

* ♻️ restore reorder tool message shape

* ♻️ restore tool message reorder comment

* ♻️ prune tool message normalization diff

* ♻️ restore tool message reorder shape

* 🐛 fix(context-engine): keep empty tool content in reorder
2026-03-29 23:04:02 +08:00
Arvin Xu 4dc3c4ea1d 💄 style: move Marketplace below Resources in sidebar (#13381)
♻️ refactor: move Marketplace below Resources in sidebar

Move the Marketplace (Community) nav item from topNavItems to bottomMenuItems,
positioning it below Resources in the sidebar navigation.

Closes LOBE-6320
2026-03-29 22:32:30 +08:00
Arvin Xu bc9ae6b4e5 feat: support message queue (#13343)
*  feat: add message queue for agent runtime (soft interrupt)

Implement per-context message queue that allows users to send messages
while the agent is executing. Messages are queued and consumed via two
paths: injected at step boundaries during execution (Path A), or
triggering a new sendMessage after completion (Path B).

- Add QueuedMessage type and queuedMessages state in operation store
- Add enqueue/drain/remove/clear actions and selectors
- Modify sendMessage to enqueue when execAgentRuntime is running
- Add queue checkpoint in step loop (streamingExecutor)
- Add Path B: drain remaining queue after completion → new sendMessage
- Keep input enabled during agent execution (remove isInputLoading guard)
- Add QueueTray component showing "N Queued" above ChatInput
- Add electron-testing skill for agent-browser CLI automation

Fixes LOBE-6001

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* 🐛 fix: Path B deferred execution to avoid recursive internal_execAgentRuntime

Use setTimeout(0) to break out of the current execution context when
triggering a new agent runtime for queued messages after completion.
Direct recursive calls caused issues with zustand state batching.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* 🐛 fix: remove premature Path A drain, fix Path B with fresh store ref

Path A (step checkpoint injection) was draining the queue before the
last LLM step, leaving nothing for Path B. For agents without tool
calls, this meant queued messages were consumed but never acted upon.

Fix: remove Path A for now (will be re-added for tool-call scenarios),
and use useChatStore.getState() in Path B setTimeout to get a fresh
store reference instead of a stale closure capture.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* 📝 docs: update electron-testing skill with real-world patterns

Based on lessons learned during message queue testing:
- Must cd to apps/desktop before npx electron-vite dev
- Use polling loop for startup detection
- snapshot -i -C required for contenteditable (chat input)
- Use sleep + screenshot instead of agent-browser wait for long ops
- Access store via window.__LOBE_STORES.chat()
- Add error interceptor and store inspection patterns
- Document all gotchas (HMR, daemon blocking, fill vs type)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

*  feat: add Path A - early handoff to Path B at tool completion

When tools finish and queue has messages, break the step loop early
and let Path B create user message + start new operation. The new
LLM call sees full context including tool results + new user message.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* 🐛 fix: Path B use sendMessage for proper message creation

Use sendMessage instead of optimisticCreateMessage + internal_execAgentRuntime.
sendMessage handles the full lifecycle correctly: creates user message
on server, creates assistant message placeholder, and triggers
internal_execAgentRuntime — ensuring both messages are visible in UI.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* 💄 style: redesign QueueTray to Codex-style card layout

Each queued message shows as a card with icon, text preview,
and delete button. Uses antd CSS variables for consistent theming.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* 💄 style: connect QueueTray with ChatInput as unified container

QueueTray and ChatInput now share a connected border:
- QueueTray has top-rounded corners, no bottom border
- ChatInput gets bottom-only rounded corners when queue has items
- Uses cssVar for proper theme token styling
- Zero gap between tray and input

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* ♻️ refactor: move queue check logic into GeneralChatAgent

Move the "finish early when queue has messages" decision from
streamingExecutor into GeneralChatAgent.runner(). The agent now
checks stepContext.hasQueuedMessages at tools_batch_result phase
and returns finish instruction, which is architecturally cleaner.

- Add hasQueuedMessages to RuntimeStepContext and computeStepContext
- GeneralChatAgent returns finish when tools complete + queue non-empty
- Remove Path A/B labels from comments
- streamingExecutor just passes hasQueuedMessages via stepContext

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* 🐛 fix: forward queued files in sendMessage and drain only on success

- Forward merged file attachments when replaying queued messages
  (sendMessage now receives files from merged queue)
- Move drainQueuedMessages inside the status==='done' branch so
  queued messages are preserved on error/interrupted states
- Add queued_message_interrupt to FinishReason enum
- Add hasQueuedMessages check to tool_result and tasks_batch_result
  phases in GeneralChatAgent (not just tools_batch_result)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* ♻️ refactor: use full operationContext for context key indexing

- operationsByContext index now uses messageMapKey(context) with full
  context (including threadId, scope, etc.) instead of stripped key
- Fixes key mismatch where thread/scoped contexts couldn't find
  running operations, causing overlapping generations
- Move mergeQueuedMessages from services/messageQueue.ts into
  operation/types.ts alongside QueuedMessage type
- Delete services/messageQueue.ts

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 22:08:15 +08:00
YuTengjing 70091935ba 🔥 refactor(auth): remove NextAuth dead code from auth middleware (#13370)
* 🔥 refactor(auth): remove NextAuth dead code from auth middleware

* chore: shorter cookie cache duration
2026-03-29 21:17:45 +08:00
YuTengjing 50e373ad1c 🐛 fix(i18n): add missing credits.packages.charged key (#13369) 2026-03-29 02:09:57 +08:00
YuTengjing 966f943175 🐛 fix(auth): throw Unauthorized when no valid auth method found (#13368) 2026-03-29 01:56:40 +08:00
Rdmclin2 c7c2b56f3b feat: support bot manage (#13365)
* feat: support platform manage

* feat: auto connect when import config

* fix: lint error
2026-03-29 01:52:59 +08:00
Innei 841c1d2ef2 ♻️ refactor(styles): migrate remaining createStyles to createStaticStyles (#13358)
- Replace antd-style createStyles hooks with createStaticStyles and cssVar tokens
- Update MentionMenu, reactions, eval bench UI, OAuth device flow, DeviceGateway, GTD plan UI
- ModelSelect: use popupMatchSelectWidth for numeric popupWidth; narrow prop to number

Made-with: Cursor
2026-03-28 21:57:15 +08:00
Innei 26449e522a feat(resource): add select all hint and improve resource explorer selection (#13134)
*  feat(resource): add select all hint and improve resource explorer selection

Made-with: Cursor

* ♻️ refactor(resource): flatten store actions and improve type imports

Made-with: Cursor

* ♻️ refactor resource explorer list view

* refactor: engine

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

*  feat: checkpoint current workspace updates

* ♻️ refine resource explorer fetch ownership

* 🐛 fix: resolve resource manager ci regressions

* 🐛 fix(lambda): delete page-backed knowledge items by document id

* 🐛 fix(lambda): include knowledge-base files in remove-all

* 🐛 fix(resource): preserve cross-page select-all exclusions

* 🐛 fix(resource): retain off-screen optimistic resources

* 🐛 fix(resource): hide moved root items from current query

* 🐛 fix(resource): reset explorer selection on query change

* 🐛 fix(resource): fix select-all batchChunking and optimistic replace visibility

- batchChunking: pass through server-resolved IDs not in local resourceMap
  when selectAllState is 'all', letting server filter unsupported types
- replaceLocalResource: keep replacement visible if the optimistic item was
  already in the list, avoiding slug-vs-UUID mismatch in visibility check

* 🐛 fix(resource): reset selectAllState after batch operations and preserve off-screen optimistic items

- Reset selectAllState to 'none' after delete, removeFromKnowledgeBase,
  and batchChunking to prevent stale 'all' state causing unintended
  re-selection of remaining items
- Preserve off-screen optimistic resources in clearCurrentQueryResources
  so background uploads from other folders survive delete-all-by-query

* 🐛 fix: satisfy import-x/first in resource action test

Made-with: Cursor

* 🎨 lint: sort imports in ResourceExplorer

Made-with: Cursor

* 🐛 fix: widen searchQuery type in useResetSelectionOnQueryChange test

Made-with: Cursor

---------

Signed-off-by: Innei <tukon479@gmail.com>
2026-03-28 11:51:23 +08:00
Rdmclin2 f4c4ba7db5 🐛 fix: bot callback error (#13349)
* fix: not edit message id

* fix: error edit message

* chore: merge config & default

* chore: remove typing var

* fix: agent setting problem

* fix: test case error
2026-03-28 00:53:53 +08:00
LiJian 83f8f0319c 🐛 fix: slove the list connection always use require auth & should have trust client auth (#13344)
fix: slove the list connection always use require auth & should have trust client check
2026-03-27 21:14:03 +08:00
YuTengjing 197a0cc8f1 🌐 chore: sync i18n locale translations (#13340) 2026-03-27 18:59:54 +08:00
LiJian 6b4046eb17 🐛 fix: add the user github oauth in community home page profiles (#13222)
* fix: add the user github oauth in community home page profiles

* fix: change the oauth from social Profiles into skill connector way

* feat: add the claims user mcp and skills in community profiles

* fix: improve some claim model and skills/mcp
2026-03-27 18:04:17 +08:00
Innei 9e27bef8fa 🐛 fix(settings): remove system tools full-page loading (#13338) 2026-03-27 17:28:23 +08:00
lobehubbot aaff9af3b7 Merge remote-tracking branch 'origin/main' into canary 2026-03-27 08:05:35 +00:00
LiJian feb50e7007 🚀 release: 20260327 (#13330)
# 🚀 release: 20260326

This release includes **91 commits**. Key updates are below.


- **Agent can now execute background tasks** — Agents can perform
long-running operations without blocking your conversation.
[#13289](https://github.com/lobehub/lobe-chat/pull/13289)
- **Better error messages** — Redesigned error UI across chat and image
generation with clearer explanations and recovery options.
[#13302](https://github.com/lobehub/lobe-chat/pull/13302)
- **Smoother topic switching** — No more full page reloads when
switching topics while an agent is responding.
[#13309](https://github.com/lobehub/lobe-chat/pull/13309)
- **Faster image uploads** — Large images are now automatically
compressed to 1920px before upload, reducing wait times.
[#13224](https://github.com/lobehub/lobe-chat/pull/13224)
- **Improved knowledge base** — Documents are now properly parsed before
chunking, improving retrieval accuracy.
[#13221](https://github.com/lobehub/lobe-chat/pull/13221)

### Bot Platform

- **WeChat Bot support** — You can now connect LobeChat to WeChat, in
addition to Discord.
[#13191](https://github.com/lobehub/lobe-chat/pull/13191)
- **Richer bot responses** — Bots now support custom markdown rendering
and context injection.
[#13294](https://github.com/lobehub/lobe-chat/pull/13294)
- **New bot commands** — Added `/new` to start fresh conversations and
`/stop` to halt generation.
[#13194](https://github.com/lobehub/lobe-chat/pull/13194)
- **Discord stability fixes** — Fixed thread creation issues and Redis
connection drops.
[#13228](https://github.com/lobehub/lobe-chat/pull/13228)
[#13205](https://github.com/lobehub/lobe-chat/pull/13205)

### Models & Providers

- **GLM-5** is now available in the LobeHub model list.
[#13189](https://github.com/lobehub/lobe-chat/pull/13189)
- **Coding Plan providers** — Added support for code planning assistant
providers. [#13203](https://github.com/lobehub/lobe-chat/pull/13203)
- **Tencent Hunyuan 3.0 ImageGen** — New image generation model from
Tencent. [#13166](https://github.com/lobehub/lobe-chat/pull/13166)
- **Gemini content handling** — Better handling when Gemini blocks
content due to safety filters.
[#13270](https://github.com/lobehub/lobe-chat/pull/13270)
- **Claude token limits fixed** — Corrected max window tokens for
Anthropic Claude models.
[#13206](https://github.com/lobehub/lobe-chat/pull/13206)

### Skills & Tools

- **Auto credential injection** — Skills can now automatically request
and use required credentials.
[#13124](https://github.com/lobehub/lobe-chat/pull/13124)
- **Smarter tool permissions** — Built-in tools skip confirmation for
safe paths like `/tmp`.
[#13232](https://github.com/lobehub/lobe-chat/pull/13232)
- **Model switcher improvements** — Quick access to provider settings
and visual highlight for default model.
[#13220](https://github.com/lobehub/lobe-chat/pull/13220)

### Memory

- **Bulk delete memories** — You can now delete all memory entries at
once. [#13161](https://github.com/lobehub/lobe-chat/pull/13161)
- **Per-agent memory control** — Memory injection now respects
individual agent settings.
[#13265](https://github.com/lobehub/lobe-chat/pull/13265)

### Desktop App

- **Gateway connection** — Desktop app can now connect to LobeHub
Gateway for enhanced features.
[#13234](https://github.com/lobehub/lobe-chat/pull/13234)
- **Connection status indicator** — See gateway connection status in the
titlebar. [#13260](https://github.com/lobehub/lobe-chat/pull/13260)
- **Settings persistence** — Gateway toggle state now persists across
app restarts. [#13300](https://github.com/lobehub/lobe-chat/pull/13300)

### CLI

- **API key authentication** — CLI now supports API key auth for
programmatic access.
[#13190](https://github.com/lobehub/lobe-chat/pull/13190)
- **Shell completion** — Tab completion for bash/zsh/fish shells.
[#13164](https://github.com/lobehub/lobe-chat/pull/13164)
- **Man pages** — Built-in manual pages for CLI commands.
[#13200](https://github.com/lobehub/lobe-chat/pull/13200)

### Security

- **XSS protection** — Sanitized search result image titles to prevent
script injection.
[#13303](https://github.com/lobehub/lobe-chat/pull/13303)
- **Workflow hardening** — Fixed potential shell injection in release
automation. [#13319](https://github.com/lobehub/lobe-chat/pull/13319)
- **Dependency update** — Updated nodemailer to address security
advisory. [#13326](https://github.com/lobehub/lobe-chat/pull/13326)

### Bug Fixes

- Fixed skill page not redirecting correctly after import.
[#13255](https://github.com/lobehub/lobe-chat/pull/13255)
[#13261](https://github.com/lobehub/lobe-chat/pull/13261)
- Fixed token counting in group chats.
[#13247](https://github.com/lobehub/lobe-chat/pull/13247)
- Fixed editor not resetting when switching to empty pages.
[#13229](https://github.com/lobehub/lobe-chat/pull/13229)
- Fixed manual tool toggle not working.
[#13218](https://github.com/lobehub/lobe-chat/pull/13218)
- Fixed Search1API response parsing.
[#13207](https://github.com/lobehub/lobe-chat/pull/13207)
[#13208](https://github.com/lobehub/lobe-chat/pull/13208)
- Fixed mobile topic menus rendering issues.
[#12477](https://github.com/lobehub/lobe-chat/pull/12477)
- Fixed history count calculation for accurate context.
[#13051](https://github.com/lobehub/lobe-chat/pull/13051)
- Added missing Turkish translations.
[#13196](https://github.com/lobehub/lobe-chat/pull/13196)

### Credits

Huge thanks to these contributors:

@bakiburakogun @hardy-one @Zhouguanyang @sxjeru @hezhijie0327 @arvinxx
@cy948 @CanisMinor @Innei @LiJian @lobehubbot @Neko @rdmclin2
@rivertwilight @tjx666
2026-03-27 16:04:56 +08:00
Zhijie He dc9adf8f10 🐛 fix: fix some features for Github Copilot (ResponseAPI / Vision, etc) (#13279)
* 🐛 fix(github-copilot): switch codex models to responses api

* ♻️ refactor(github-copilot): simplify responses api routing

style: update model list

style: update model list

🐛 fix: align github copilot payload mapping and tests

style: update model list

style: update model list

* chore: add debug stream support

* refactor: use anthropic sdk for claude

* fix: fix ci error

* fix: fix github copilot reasoning_text chunk

* style: update Raptor mini base config, same as gpt-5-mini

style: update Raptor mini base config, same as gpt-5-mini

style: update Raptor mini base config, same as gpt-5-mini

* style: update model contextWindowTokens

* style: set default reasoning.summary to detailed, default as vscode
2026-03-27 15:13:28 +08:00
Innei 3d592ca70d ♻️ refactor: add generic SafeBoundary error boundary with tiered fallback (#13321)
Introduce a unified SafeBoundary component (silent/alert variants) to
replace scattered custom ErrorBoundary class components. Automatically
wraps Inspector, ContentBlock sub-components, MessageItem, and
EditorCanvas to prevent individual component crashes from propagating
to the entire app.
2026-03-27 15:10:00 +08:00
LobeHub Bot 8d0ac45476 🌐 chore: translate non-English comments to English in packages/openapi (#13329)
Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 14:15:46 +08:00
Rdmclin2 953033355b 🔨 chore: optimize bot platform ux (#13262)
* chore: remove typing interval

* chore: optimize wechat media problem

* chore: add webhook helpers

* chore: update telegram docs

* chore: extract wechat credentials to custom render form

* feat: support wechat file upload

* feat: support concurrency mode and debounceMs

* chore: add locales

* chore: support visible then

* chore: support auto disapear save result info

* chore: default debounce mode

* chore: optimize doc position

* chore: adjust ack message logic

* fix: aes throw
2026-03-27 13:28:52 +08:00
sxjeru 48b5927024 💄 style: enhance handling of blocked content on Gemini (#13270)
*  feat: improve error messages for Google AI block reasons and enhance handling of blocked content

*  feat: add error localization for Google provider in createAgentExecutors
2026-03-27 10:51:01 +08:00
renovate[bot] 6e86912e7f Update dependency nodemailer to ^7.0.13 [SECURITY] (#13326)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-27 10:34:22 +08:00
Arvin Xu 4576059f4f ♻️ refactor: implement SkillResolver, BaseSystemRoleProvider, and agent document injection pipeline (#13315)
* ♻️ refactor: implement SkillResolver to replace ad-hoc skill assembly

Introduces a two-layer skill resolution architecture mirroring ToolsEngine + ToolResolver:

- SkillEngine (assembly layer): accepts raw skills + enableChecker, outputs OperationSkillSet
- SkillResolver (resolution layer): merges operation + step delta + accumulated activations

Key changes:
- Add SkillResolver, OperationSkillSet, StepSkillDelta, ActivatedStepSkill types
- Enhance SkillEngine with enableChecker and generate() method
- Wire SkillResolver into RuntimeExecutors call_llm
- Replace manual skillMetas assembly in aiAgent with SkillEngine.generate()
- Update client-side skillEngineering to use SkillEngine + enableChecker
- Add activatedStepSkills to AgentState for step-level skill accumulation

Fixes: agent-browser content injected into non-desktop scenarios (Discord bot)
due to missing filterBuiltinSkills call in aiAgent

LOBE-6410

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* ♻️ refactor: extract agent-templates to standalone package and inject documents server-side

- Create @lobechat/agent-templates package with types, templates, and registry
- Move DocumentLoadPosition, DocumentLoadFormat, DocumentLoadRule, etc. to new package
- Move claw templates (AGENTS, BOOTSTRAP, IDENTITY, SOUL) with .md file imports
- Add BOOTSTRAP.md as new onboarding template (priority 1, system-append)
- Fix template positions: AGENTS→before-system, IDENTITY/SOUL→system-append
- Update database package to re-export from @lobechat/agent-templates
- Migrate all consumers to import directly from @lobechat/agent-templates
- Add agent documents injection in server-side RuntimeExecutors (was missing)
- Support -p CLI flag in devStartupSequence for port configuration

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* 🐛 fix: correct import statement for non-type exports from agent-templates

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* 📦 build: add @lobechat/agent-templates to root dependencies

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* ♻️ refactor: remove template proxy files from database package

Stop re-exporting template/templates from database — consumers import
directly from @lobechat/agent-templates. Keep types.ts re-exports for
internal database code only.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* ♻️ refactor: create BaseSystemRoleProvider to unify system message append pattern

All providers that append to the system message now inherit from
BaseSystemRoleProvider and only implement buildSystemRoleContent().
The base class handles find-or-create and join logic.

Migrated providers:
- EvalContextSystemInjector
- BotPlatformContextInjector
- SystemDateProvider
- ToolSystemRoleProvider
- HistorySummaryProvider
- SkillContextProvider

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* 🐛 fix: restore metadata tracking in BaseSystemRoleProvider via onInjected hook

Add onInjected() callback to BaseSystemRoleProvider so subclasses can
update pipeline metadata after successful injection. Also add raw-md
plugin to context-engine vitest config for .md imports.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

*  feat: add enabled field to AgentDocumentInjector config

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* ♻️ refactor: add enabled field to all providers, remove spread conditionals in MessagesEngine

All providers now accept an `enabled` config field. MessagesEngine
pipeline is a flat array with no spread conditionals — each provider
is always instantiated and uses `enabled` to skip internally.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* 💄 style: clean up MessagesEngine pipeline comments

Remove numbered prefixes, keep descriptive comments for each provider.
Only phase headers use separator blocks.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* ♻️ refactor: reorganize MessagesEngine pipeline phases by injection target

Phase 1: History Truncation
Phase 2: System Message Assembly (all BaseSystemRoleProvider)
Phase 3: Context Injection (before first user message, BaseFirstUserContentProvider)
Phase 4: User Message Augmentation (last user message injections)
Phase 5: Message Transformation (flatten, template, variables)
Phase 6: Content Processing & Cleanup (multimodal, tool calls, cleanup)

Moved SkillContext, ToolSystemRole, HistorySummary from Phase 3 to
Phase 2 since they append to system message, not user context.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* 💄 style: split Phase 6 into Content Processing (6) and Cleanup (7)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* ♻️ refactor: split AgentDocumentInjector into three position-based injectors

- AgentDocumentSystemInjector (Phase 2): before-system, system-append, system-replace
- AgentDocumentContextInjector (Phase 3): before-first-user
- AgentDocumentMessageInjector (Phase 4): after-first-user, context-end

Shared utilities (filterByRules, formatDocument, sortByPriority) extracted
to AgentDocumentInjector/shared.ts. Old monolithic injector removed.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* ♻️ refactor: split AgentDocumentSystemInjector into three separate injectors

- AgentDocumentBeforeSystemInjector: prepends as separate system message (before-system)
- AgentDocumentSystemAppendInjector: appends to system message (system-append)
- AgentDocumentSystemReplaceInjector: replaces entire system message (system-replace)

Each has distinct semantics and correct pipeline placement:
- BeforeSystem → before SystemRoleInjector
- SystemAppend → after HistorySummary (end of Phase 2)
- SystemReplace → last in Phase 2 (destructive)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

*  feat: auto-enable agent-documents tool when agent has documents

- Add AgentDocumentsManifest to defaultToolIds
- Add hasAgentDocuments rule in server createServerAgentToolsEngine
- Query agent documents in AiAgentService.execAgent to determine flag
- Pattern matches KnowledgeBase auto-enable via enableChecker rules

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* 🔨 chore: add agent documents status to execAgent operation log

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* update content

* fix tests

* 🐛 fix: add raw-md plugin to database vitest configs

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-27 10:10:06 +08:00
Arvin Xu 9e9ba3e6c3 🐛 fix: prevent first assistant message re-animation on assistantGroup transition (#13320)
* 🐛 fix: prevent first assistant message re-animation on assistantGroup transition

When tool calls arrive during streaming, the message transitions from
assistant to assistantGroup, causing a full React remount. The first
content block's text was re-animating because isGenerating was still
true. Pass isFirstBlock prop through the render chain to disable
animation for the first block, since its text is guaranteed complete
by the time the group forms.

Fixes LOBE-6414

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* ♻️ refactor: remove redundant isToolSingleLine animation check

isFirstBlock already covers the first block case, and subsequent blocks
should not have animation disabled just because they are single-line
with tools — they may still be streaming.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-27 01:41:17 +08:00
Innei 46602be0b3 🐛 fix(workflow): prevent shell injection in auto-tag release (#13319) 2026-03-27 01:18:35 +08:00
YuTengjing 14b278fba8 💄 style: add payment upgrade i18n keys and update microcopy (#13317) 2026-03-27 00:51:28 +08:00
Arvin Xu 53c5708c9f 🔨 chore: improve start up scripts (#13318)
update scripts
2026-03-27 00:49:23 +08:00
YuTengjing edc8920703 🔨 chore: temporarily disable notification triggers (#13314) 2026-03-26 23:35:04 +08:00
Arvin Xu 926de076d9 🐛 fix: sanitize search grounding image titles to prevent XSS (#13303)
* 🐛 fix: sanitize search grounding image titles to prevent XSS

Replace dangerouslySetInnerHTML with stripHtml() for image result titles
in SearchGrounding and ImageSearchRef components to prevent stored XSS
attacks via malicious search result data.

Ref: GHSA-m5qx-g8hx-5f2p

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* 🔒 fix: remove SystemJS plugin renderer to eliminate arbitrary JS execution risk

The old plugin render system (ui.mode === 'module') that used SystemJS
to dynamically load and execute JS from untrusted URLs has been fully
retired. Remove SystemJsRender and systemjs dependency entirely.

Ref: GHSA-46v7-wvmj-6vf7

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Revert "🔒 fix: remove SystemJS plugin renderer to eliminate arbitrary JS execution risk"

This reverts commit 99a7603a72.

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-26 22:38:49 +08:00
Innei 9b7beca85e 💄 style(conversation): align user rich text line height with LexicalRenderer (#13312)
💄 style(conversation): set LexicalRenderer line height in user rich text

Made-with: Cursor
2026-03-26 21:58:24 +08:00
Arvin Xu 0724d8ca60 🐛 fix: prevent full page reload when switching topics during agent execution (#13309)
Move `e.preventDefault()` before the `disabled || loading` early return
in NavItem's onClick handler. Previously, when a NavItem was in disabled
or loading state, the early return skipped `preventDefault()`, allowing
the underlying `<a>` tag's default navigation to trigger a full browser
page load instead of SPA routing.

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-26 21:30:08 +08:00
YuTengjing 9f36fe95ac feat: add notification system (temporarily disabled) (#13301) 2026-03-26 21:16:38 +08:00
Arvin Xu 3f148005e4 ♻️ refactor: remove langchain dependency, use direct document loaders (#13304)
* ♻️ refactor: remove langchain dependency, use direct document loaders

Replace langchain and @langchain/community with self-implemented text
splitters and direct usage of underlying libraries (pdf-parse, d3-dsv,
mammoth, officeparser, epub2). This eliminates unnecessary dependency
bloat and addresses CVE-2026-26019 in @langchain/community.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* 🐛 fix: add missing @types/html-to-text and @types/pdf-parse

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-26 21:13:55 +08:00
Arvin Xu 4e60d87514 🔒 refactor: remove deprecated SystemJS plugin renderer (#13305)
🔒 fix: remove SystemJS plugin renderer to eliminate arbitrary JS execution risk

The old plugin render system (ui.mode === 'module') that used SystemJS
to dynamically load and execute JS from untrusted URLs has been fully
retired. Remove SystemJsRender and systemjs dependency entirely.

Ref: GHSA-46v7-wvmj-6vf7

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-26 20:41:06 +08:00
YuTengjing d2a16d0714 feat: improve error UI and error handling across chat and image generation (#13302) 2026-03-26 20:09:06 +08:00
lobehubbot ac8a9ec0f8 🔖 chore(release): release version v2.1.46 [skip ci] 2026-03-26 09:07:05 +00:00
851 changed files with 44428 additions and 8099 deletions
+270
View File
@@ -0,0 +1,270 @@
---
name: electron-testing
description: Electron desktop app automation testing using agent-browser CLI. Use when testing UI features in the running Electron app, verifying visual state, interacting with the desktop app, or running manual QA scenarios. Triggers on 'test in electron', 'test desktop', 'electron test', 'manual test', or UI verification tasks.
---
# Electron Automation Testing with agent-browser
Use the `agent-browser` CLI to automate and test the LobeHub desktop Electron app.
## Prerequisites
- `agent-browser` CLI installed globally (`agent-browser --version`)
- Working directory must be `apps/desktop/` when starting Electron
## Quick Start
```bash
# 1. Kill existing instances
pkill -f "Electron" 2> /dev/null
pkill -f "electron-vite" 2> /dev/null
pkill -f "agent-browser" 2> /dev/null
sleep 3
# 2. Start Electron with CDP (MUST cd to apps/desktop first)
cd apps/desktop && ELECTRON_ENABLE_LOGGING=1 npx electron-vite dev -- --remote-debugging-port=9222 > /tmp/electron-dev.log 2>&1 &
# 3. Wait for startup (poll for "starting electron" in logs)
for i in $(seq 1 12); do
sleep 5
if strings /tmp/electron-dev.log 2> /dev/null | grep -q "starting electron"; then
echo "ready"
break
fi
done
# 4. Wait for renderer to load, then connect
sleep 15 && agent-browser --cdp 9222 wait 3000
```
**Critical:** `npx electron-vite dev` MUST run from `apps/desktop/` directory, not project root. Running from root will fail silently (no `initUrl` in logs).
## Connecting to Electron
```bash
agent-browser --cdp 9222 snapshot -i # Interactive elements only
agent-browser --cdp 9222 snapshot -i -C # Include contenteditable elements
```
Always use `--cdp 9222`. The `--auto-connect` flag is unreliable.
## Core Workflow
### 1. Snapshot → Find Elements
```bash
agent-browser --cdp 9222 snapshot -i
```
Returns element refs like `@e1`, `@e2`. **Refs are ephemeral** — re-snapshot after any page change (click, navigation, HMR).
### 2. Interact
```bash
agent-browser --cdp 9222 click @e5
agent-browser --cdp 9222 type @e3 "text" # Character by character (for contenteditable)
agent-browser --cdp 9222 fill @e3 "text" # Bulk fill (for regular inputs)
agent-browser --cdp 9222 press Enter
agent-browser --cdp 9222 scroll down 500
```
### 3. Wait
```bash
agent-browser --cdp 9222 wait 2000 # Wait ms
agent-browser --cdp 9222 wait --load networkidle # Wait for network
```
Avoid `agent-browser wait` for long durations (>30s) — it blocks the daemon. Use `sleep N` in bash instead, then take a new snapshot/screenshot.
### 4. Screenshot & Verify
```bash
agent-browser --cdp 9222 screenshot # Save to ~/.agent-browser/tmp/screenshots/
agent-browser --cdp 9222 get text @e1 # Get element text
agent-browser --cdp 9222 get url # Get current URL
```
Read screenshots with the `Read` tool for visual verification.
### 5. Evaluate JavaScript
```bash
agent-browser --cdp 9222 eval "document.title"
```
For multi-line JS, use `--stdin`:
```bash
agent-browser --cdp 9222 eval --stdin << 'EVALEOF'
(function() {
var chat = window.__LOBE_STORES.chat();
return JSON.stringify({
totalOps: Object.keys(chat.operations).length,
queue: chat.queuedMessages,
});
})()
EVALEOF
```
## LobeHub-Specific Patterns
### Access Zustand Store State
The app exposes stores via `window.__LOBE_STORES` (dev mode only):
```bash
agent-browser --cdp 9222 eval --stdin << 'EVALEOF'
(function() {
var chat = window.__LOBE_STORES.chat();
var ops = Object.values(chat.operations);
return JSON.stringify({
ops: ops.map(function(o) { return { type: o.type, status: o.status }; }),
activeAgent: chat.activeAgentId,
activeTopic: chat.activeTopicId,
});
})()
EVALEOF
```
### Find the Chat Input
The chat input is a contenteditable div. Regular `snapshot -i` won't find it — use `-C`:
```bash
agent-browser --cdp 9222 snapshot -i -C 2>&1 | grep "editable"
# Output: - generic [ref=e48] editable [contenteditable]:
```
### Navigate to an Agent
```bash
# Snapshot to find agent links in sidebar
agent-browser --cdp 9222 snapshot -i 2>&1 | grep -i "agent-name"
# Click the agent link
agent-browser --cdp 9222 click @e<ref>
agent-browser --cdp 9222 wait 2000
```
### Send a Chat Message
```bash
# 1. Find contenteditable input
agent-browser --cdp 9222 snapshot -i -C 2>&1 | grep "editable"
# 2. Click, type, send
agent-browser --cdp 9222 click @e<ref>
agent-browser --cdp 9222 type @e<ref> "Hello world"
agent-browser --cdp 9222 press Enter
```
### Wait for Agent to Complete
Don't use `agent-browser wait` for long AI generation. Use `sleep` + screenshot:
```bash
sleep 60 && agent-browser --cdp 9222 scroll down 5000 && agent-browser --cdp 9222 screenshot
```
Or poll the store for operation status:
```bash
agent-browser --cdp 9222 eval --stdin << 'EVALEOF'
(function() {
var chat = window.__LOBE_STORES.chat();
var ops = Object.values(chat.operations);
var running = ops.filter(function(o) { return o.status === 'running'; });
return running.length === 0 ? 'done' : 'running: ' + running.length;
})()
EVALEOF
```
### Install Error Interceptor
Capture `console.error` from the app for debugging:
```bash
agent-browser --cdp 9222 eval --stdin << 'EVALEOF'
(function() {
window.__CAPTURED_ERRORS = [];
var orig = console.error;
console.error = function() {
var msg = Array.from(arguments).map(function(a) {
if (a instanceof Error) return a.message;
return typeof a === 'object' ? JSON.stringify(a) : String(a);
}).join(' ');
window.__CAPTURED_ERRORS.push(msg);
orig.apply(console, arguments);
};
return 'installed';
})()
EVALEOF
# Later, check captured errors:
agent-browser --cdp 9222 eval "JSON.stringify(window.__CAPTURED_ERRORS)"
```
## Screen Recording
Record automated demos by combining `ffmpeg` screen capture with `agent-browser` automation. The script `.agents/skills/electron-testing/record-electron-demo.sh` handles the full lifecycle.
### Usage
```bash
# Run the built-in demo (queue-edit feature)
./.agents/skills/electron-testing/record-electron-demo.sh
# Run a custom automation script
./.agents/skills/electron-testing/record-electron-demo.sh ./my-demo.sh /tmp/my-demo.mp4
```
The script automatically:
1. Starts Electron with CDP and waits for SPA to load
2. Detects the window position, screen, and Retina scale via Swift/CGWindowList
3. Records only the Electron window region using `ffmpeg -f avfoundation` with crop
4. Runs the demo (built-in or custom script receiving CDP port as `$1`)
5. Stops recording and cleans up
### Writing Custom Demo Scripts
Create a shell script that receives the CDP port as `$1`:
```bash
#!/usr/bin/env bash
# my-demo.sh — Custom demo script
PORT=$1
# Navigate
agent-browser --cdp "$PORT" snapshot -i 2>&1 | grep 'link "Lobe AI"'
agent-browser --cdp "$PORT" click @e34
sleep 3
# Find input and type
INPUT=$(agent-browser --cdp "$PORT" snapshot -i -C 2>&1 \
| grep "editable" | grep -oE 'ref=e[0-9]+' | head -1 | sed 's/ref=//')
agent-browser --cdp "$PORT" click "@$INPUT"
agent-browser --cdp "$PORT" type "@$INPUT" "Hello world"
agent-browser --cdp "$PORT" press Enter
sleep 5
```
### Key Details
- **Multi-monitor support**: Uses Swift to find which screen the Electron window is on and calculates relative crop coordinates
- **Retina aware**: Scales crop coordinates by the display's `backingScaleFactor`
- **No window resize**: Records the window at its current position/size to avoid triggering SPA reload
- **SPA load polling**: Waits for interactive elements to appear before starting the demo
- **Prerequisites**: `ffmpeg` (`brew install ffmpeg`), `agent-browser`
## Gotchas
- **`npx electron-vite dev` must run from `apps/desktop/`** — running from project root fails silently
- **HMR invalidates everything** — after code changes, refs break, page may crash. Re-snapshot or restart Electron
- **`agent-browser wait` blocks the daemon** — for waits >30s, use bash `sleep` instead
- **Daemon can get stuck** — if commands hang, `pkill -f agent-browser` to reset the daemon
- **`snapshot -i` doesn't find contenteditable** — always use `snapshot -i -C` to find rich text editors
- **`fill` doesn't work on contenteditable** — use `type` for the chat input
- **Screenshots go to `~/.agent-browser/tmp/screenshots/`** — read them with the `Read` tool
- **Store is at `window.__LOBE_STORES`** not `window.__ZUSTAND_STORES__` — use `.chat()` to get current state
- **Don't resize the Electron window after load** — resizing triggers a full SPA reload (splash screen), which can take 30+ seconds or get stuck. Record at the window's current size instead
- **`screencapture -V -l<windowid>`** doesn't work reliably for video — use `ffmpeg -f avfoundation` with crop instead (see Screen Recording section)
+353
View File
@@ -0,0 +1,353 @@
#!/usr/bin/env bash
#
# record-electron-demo.sh — Record an automated demo of the Electron app
#
# Usage:
# ./scripts/record-electron-demo.sh [script.sh] [output.mp4]
#
# script.sh — A shell script containing agent-browser commands to automate.
# It receives the CDP port as $1. Defaults to a built-in queue-edit demo.
# output.mp4 — Output file path. Defaults to /tmp/electron-demo.mp4
#
# Prerequisites:
# - agent-browser CLI installed globally
# - ffmpeg installed (brew install ffmpeg)
# - Electron app NOT already running (script manages lifecycle)
#
# Examples:
# # Run built-in demo
# ./scripts/record-electron-demo.sh
#
# # Run custom automation script
# ./scripts/record-electron-demo.sh ./my-demo.sh /tmp/my-demo.mp4
#
set -euo pipefail
CDP_PORT=9222
DEMO_SCRIPT="${1:-}"
OUTPUT="${2:-/tmp/electron-demo.mp4}"
ELECTRON_LOG="/tmp/electron-dev.log"
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
PROJECT_ROOT="$(cd "$SCRIPT_DIR/../../.." && pwd)"
RECORD_PID=""
# ── Helpers ──────────────────────────────────────────────────────────
cleanup() {
echo "[cleanup] Stopping all processes..."
[ -n "$RECORD_PID" ] && kill -INT "$RECORD_PID" 2>/dev/null && sleep 2
pkill -f "electron-vite" 2>/dev/null || true
pkill -f "Electron" 2>/dev/null || true
pkill -f "agent-browser" 2>/dev/null || true
echo "[cleanup] Done."
}
trap cleanup EXIT
wait_for_electron() {
echo "[wait] Waiting for Electron to start..."
for i in $(seq 1 24); do
sleep 5
if strings "$ELECTRON_LOG" 2>/dev/null | grep -q "starting electron"; then
echo "[wait] Electron process ready."
return 0
fi
echo "[wait] Still waiting... (${i}/24)"
done
echo "[error] Electron failed to start within 120s"
exit 1
}
wait_for_renderer() {
echo "[wait] Waiting for renderer to load..."
sleep 15
agent-browser --cdp "$CDP_PORT" wait 3000
# Poll until interactive elements appear (SPA may take extra time)
for i in $(seq 1 12); do
local snap
snap=$(agent-browser --cdp "$CDP_PORT" snapshot -i 2>&1)
if echo "$snap" | grep -q 'link "'; then
echo "[wait] Renderer ready (interactive elements found)."
return 0
fi
echo "[wait] SPA still loading... (${i}/12)"
sleep 5
done
echo "[warn] Timed out waiting for interactive elements, proceeding anyway."
}
get_window_and_screen_info() {
# Returns: window_x window_y window_w window_h screen_index
# Uses Swift to find the Electron window bounds and which screen it's on
swift -e '
import Cocoa
let windowList = CGWindowListCopyWindowInfo([.optionAll], kCGNullWindowID) as! [[String: Any]]
for w in windowList {
let owner = w["kCGWindowOwnerName"] as? String ?? ""
let name = w["kCGWindowName"] as? String ?? ""
let layer = w["kCGWindowLayer"] as? Int ?? -1
let bounds = w["kCGWindowBounds"] as? [String: Any] ?? [:]
let wx = bounds["X"] as? Double ?? 0
let wy = bounds["Y"] as? Double ?? 0
let ww = bounds["Width"] as? Double ?? 0
let wh = bounds["Height"] as? Double ?? 0
if (owner == "Electron" || owner == "LobeHub") && layer == 0 && name == "LobeHub" && ww > 200 && wh > 200 {
// Find which screen this window is on
let screens = NSScreen.screens
var screenIdx = 0
let windowCenter = NSPoint(x: wx + ww / 2, y: wy + wh / 2)
for (i, screen) in screens.enumerated() {
let frame = screen.frame
// Convert CG coords (top-left origin) to NSScreen coords (bottom-left origin)
let mainHeight = screens[0].frame.height
let screenTop = mainHeight - frame.origin.y - frame.height
let screenBottom = screenTop + frame.height
let screenLeft = frame.origin.x
let screenRight = screenLeft + frame.width
if windowCenter.x >= screenLeft && windowCenter.x <= screenRight &&
windowCenter.y >= screenTop && windowCenter.y <= screenBottom {
screenIdx = i
break
}
}
// Compute window position relative to the screen it is on
let screen = screens[screenIdx]
let mainHeight = screens[0].frame.height
let screenTop = mainHeight - screen.frame.origin.y - screen.frame.height
let relX = wx - screen.frame.origin.x
let relY = wy - screenTop
let scale = Int(screen.backingScaleFactor)
print("\(Int(relX)) \(Int(relY)) \(Int(ww)) \(Int(wh)) \(screenIdx) \(scale)")
break
}
}
'
}
start_recording() {
local rel_x=$1 rel_y=$2 w=$3 h=$4 screen_idx=$5 scale=$6
# ffmpeg avfoundation device index for screens
# List devices and find the one matching our screen index
local device_idx
device_idx=$(ffmpeg -f avfoundation -list_devices true -i "" 2>&1 \
| grep "Capture screen ${screen_idx}" \
| grep -oE '\[[0-9]+\]' | tr -d '[]' || true)
if [ -z "$device_idx" ]; then
echo "[warn] Could not find capture device for screen $screen_idx, trying default (3)"
device_idx=3
fi
# Scale coordinates to native resolution
local cx=$((rel_x * scale))
local cy=$((rel_y * scale))
local cw=$((w * scale))
local ch=$((h * scale))
echo "[record] Window: ${rel_x},${rel_y} ${w}x${h} on screen ${screen_idx} (scale=${scale})"
echo "[record] Crop: ${cx},${cy} ${cw}x${ch}, device: ${device_idx}"
echo "[record] Output: $OUTPUT"
ffmpeg -y \
-f avfoundation -framerate 30 -capture_cursor 1 -i "${device_idx}:" \
-vf "crop=${cw}:${ch}:${cx}:${cy},scale=${w}:${h}" \
-c:v libx264 -crf 23 -preset fast -an \
"$OUTPUT" \
> /tmp/ffmpeg-record.log 2>&1 &
RECORD_PID=$!
sleep 2
if ! kill -0 "$RECORD_PID" 2>/dev/null; then
echo "[error] ffmpeg failed to start. Log:"
cat /tmp/ffmpeg-record.log
RECORD_PID=""
return 1
fi
echo "[record] Recording started (PID=$RECORD_PID)"
}
stop_recording() {
if [ -n "$RECORD_PID" ]; then
echo "[record] Stopping recording..."
kill -INT "$RECORD_PID" 2>/dev/null || true
wait "$RECORD_PID" 2>/dev/null || true
RECORD_PID=""
echo "[record] Saved to $OUTPUT"
ls -lh "$OUTPUT"
fi
}
# ── Built-in demo: Queue Edit ────────────────────────────────────────
find_input_ref() {
local port=$1
agent-browser --cdp "$port" snapshot -i -C 2>&1 \
| grep "editable" \
| grep -oE 'ref=e[0-9]+' \
| head -1 \
| sed 's/ref=//'
}
builtin_demo() {
local port=$1
echo "[demo] Step 1: Navigate to first available agent"
local snapshot agent_ref
snapshot=$(agent-browser --cdp "$port" snapshot -i 2>&1)
# Try Lobe AI first, then fall back to any agent link in the sidebar
agent_ref=$(echo "$snapshot" | grep -oE 'link "Lobe AI" \[ref=e[0-9]+\]' | grep -oE 'e[0-9]+' || true)
if [ -z "$agent_ref" ]; then
# Pick the first agent-like link (skip nav links)
agent_ref=$(echo "$snapshot" | grep 'link "' | grep -vE '"Home"|"Pages"|"Settings"|"Search"|"Resources"|"Marketplace"' | head -1 | grep -oE 'ref=e[0-9]+' | sed 's/ref=//' || true)
fi
if [ -z "$agent_ref" ]; then
echo "[error] No agent link found in snapshot"
echo "$snapshot" | head -30
return 1
fi
echo "[demo] Clicking agent ref: @$agent_ref"
agent-browser --cdp "$port" click "@$agent_ref"
sleep 3
echo "[demo] Step 2: Send first message (triggers AI generation)"
local input_ref
input_ref=$(find_input_ref "$port")
agent-browser --cdp "$port" click "@$input_ref"
agent-browser --cdp "$port" type "@$input_ref" "Write a 3000 word essay about the complete history of space exploration from Sputnik to the James Webb Space Telescope"
sleep 1
agent-browser --cdp "$port" press Enter
sleep 3
echo "[demo] Step 3: Queue message 1"
input_ref=$(find_input_ref "$port")
agent-browser --cdp "$port" click "@$input_ref"
agent-browser --cdp "$port" type "@$input_ref" "This message should be edited"
sleep 1
agent-browser --cdp "$port" press Enter
sleep 1
echo "[demo] Step 4: Queue message 2"
input_ref=$(find_input_ref "$port")
agent-browser --cdp "$port" click "@$input_ref"
agent-browser --cdp "$port" type "@$input_ref" "Another queued message"
sleep 1
agent-browser --cdp "$port" press Enter
sleep 1
echo "[demo] Step 5: Verify queue has messages"
local queue_count
queue_count=$(agent-browser --cdp "$port" eval --stdin << 'EVALEOF'
(function() {
var chat = window.__LOBE_STORES.chat();
var total = 0;
Object.keys(chat.queuedMessages).forEach(function(k) {
total += chat.queuedMessages[k].length;
});
return String(total);
})()
EVALEOF
)
echo "[demo] Queue count: $queue_count"
if [ "$queue_count" = "0" ] || [ "$queue_count" = '"0"' ]; then
echo "[demo] Queue was already drained. Retrying..."
input_ref=$(find_input_ref "$port")
agent-browser --cdp "$port" click "@$input_ref"
agent-browser --cdp "$port" type "@$input_ref" "Now write another 3000 word essay about artificial intelligence from Turing to transformers covering every major breakthrough"
sleep 1
agent-browser --cdp "$port" press Enter
sleep 2
input_ref=$(find_input_ref "$port")
agent-browser --cdp "$port" click "@$input_ref"
agent-browser --cdp "$port" type "@$input_ref" "This message should be edited"
sleep 1
agent-browser --cdp "$port" press Enter
sleep 1
input_ref=$(find_input_ref "$port")
agent-browser --cdp "$port" click "@$input_ref"
agent-browser --cdp "$port" type "@$input_ref" "Another queued message"
sleep 1
agent-browser --cdp "$port" press Enter
sleep 1
fi
echo "[demo] Step 6: Scroll to show queue tray"
agent-browser --cdp "$port" scroll down 5000
sleep 2
echo "[demo] Step 7: Click edit button on first queued message"
agent-browser --cdp "$port" eval --stdin << 'EVALEOF'
(function() {
var chat = window.__LOBE_STORES.chat();
var keys = Object.keys(chat.queuedMessages);
for (var k = 0; k < keys.length; k++) {
var queue = chat.queuedMessages[keys[k]];
if (queue.length > 0) {
var targetText = queue[0].content;
var walker = document.createTreeWalker(document.body, NodeFilter.SHOW_TEXT, null);
while (walker.nextNode()) {
var node = walker.currentNode;
if (node.textContent.trim() === targetText) {
var row = node.parentElement.parentElement;
var buttons = row.querySelectorAll('[role="button"]');
if (buttons.length >= 1) {
buttons[0].click();
return 'clicked edit on: ' + targetText;
}
}
}
}
}
return 'edit button not found';
})()
EVALEOF
sleep 3
echo "[demo] Step 8: Show result — content restored to input"
sleep 3
echo "[demo] Complete!"
}
# ── Main ─────────────────────────────────────────────────────────────
echo "=== Electron Demo Recorder ==="
# 1. Kill existing instances
echo "[setup] Cleaning up existing processes..."
pkill -f "Electron" 2>/dev/null || true
pkill -f "electron-vite" 2>/dev/null || true
pkill -f "agent-browser" 2>/dev/null || true
sleep 3
# 2. Start Electron
echo "[setup] Starting Electron..."
cd "$PROJECT_ROOT/apps/desktop"
ELECTRON_ENABLE_LOGGING=1 npx electron-vite dev -- --remote-debugging-port="$CDP_PORT" > "$ELECTRON_LOG" 2>&1 &
wait_for_electron
wait_for_renderer
# 3. Get window position and start recording
WIN_INFO=$(get_window_and_screen_info)
if [ -z "$WIN_INFO" ]; then
echo "[error] Could not find Electron window"
exit 1
fi
read -r WIN_X WIN_Y WIN_W WIN_H SCREEN_IDX SCALE <<< "$WIN_INFO"
start_recording "$WIN_X" "$WIN_Y" "$WIN_W" "$WIN_H" "$SCREEN_IDX" "$SCALE"
# 4. Run demo script
if [ -n "$DEMO_SCRIPT" ] && [ -f "$DEMO_SCRIPT" ]; then
echo "[demo] Running custom script: $DEMO_SCRIPT"
bash "$DEMO_SCRIPT" "$CDP_PORT"
else
echo "[demo] Running built-in queue-edit demo"
builtin_demo "$CDP_PORT"
fi
# 5. Stop recording
stop_recording
echo "=== Done! Output: $OUTPUT ==="
+10 -7
View File
@@ -7,7 +7,10 @@ description: React component development guide. Use when working with React comp
- Use antd-style for complex styles; for simple cases, use inline `style` attribute
- Use `Flexbox` and `Center` from `@lobehub/ui` for layouts (see `references/layout-kit.md`)
- Component priority: `src/components` > installed packages > `@lobehub/ui` > antd
- Component priority: `src/components` > `@lobehub/ui/base-ui` > `@lobehub/ui` > custom implementation
- Always prefer `@lobehub/ui/base-ui` primitives (Select, Modal, DropdownMenu, Popover, Switch, ScrollArea…) over antd equivalents
- Fall back to `@lobehub/ui` higher-level components when base-ui has no match
- Only implement a custom component as a last resort — never reach for antd directly
- Use selectors to access zustand store data
## @lobehub/ui Components
@@ -29,9 +32,9 @@ Reference: `node_modules/@lobehub/ui/es/index.mjs` for all available components.
Hybrid routing: Next.js App Router (static pages) + React Router DOM (main SPA).
| Route Type | Use Case | Implementation |
| ------------------ | --------------------------------- | ---------------------------- |
| Next.js App Router | Auth pages (login, signup, oauth) | `src/app/[variants]/(auth)/` |
| Route Type | Use Case | Implementation |
| ------------------ | --------------------------------- | ---------------------------------------------------------------------------- |
| Next.js App Router | Auth pages (login, signup, oauth) | `src/app/[variants]/(auth)/` |
| React Router DOM | Main SPA (chat, settings) | `desktopRouter.config.tsx` + `desktopRouter.config.desktop.tsx` (must match) |
### Key Files
@@ -47,9 +50,9 @@ Hybrid routing: Next.js App Router (static pages) + React Router DOM (main SPA).
Known pairs that must stay in sync:
| Base file (web, dynamic imports) | Desktop file (Electron, sync imports) |
| --- | --- |
| `src/spa/router/desktopRouter.config.tsx` | `src/spa/router/desktopRouter.config.desktop.tsx` |
| Base file (web, dynamic imports) | Desktop file (Electron, sync imports) |
| ----------------------------------------------------- | ------------------------------------------------------------- |
| `src/spa/router/desktopRouter.config.tsx` | `src/spa/router/desktopRouter.config.desktop.tsx` |
| `src/routes/(main)/settings/features/componentMap.ts` | `src/routes/(main)/settings/features/componentMap.desktop.ts` |
**How to check**: After editing any `.ts` / `.tsx` file, run `Glob` for `<filename>.desktop.{ts,tsx}` in the same directory. If a match exists, update it with the equivalent sync-import change.
+4 -4
View File
@@ -6,7 +6,7 @@
- **@canisminor1990**: Design, UI components, editor, markdown rendering
- **@tjx666**: Image/video generation, vision, cloud version, documentation, TTS, auth, login/register
- **@ONLY-yours**: Performance, streaming, settings, general bugs, web platform, marketplace
- **@RiverTwilight**: Knowledge base, files (KB-related), group chat
- **@Innei**: Knowledge base, files (KB-related), group chat
- **@nekomeowww**: Memory, backend, deployment, DevOps
- **@sudongyuer**: Mobile app (React Native)
- **@sxjeru**: Model providers and configuration
@@ -38,8 +38,8 @@ Quick reference for assigning issues based on labels.
| `feature:image` | @tjx666 | AI image generation |
| `feature:dalle` | @tjx666 | DALL-E related |
| `feature:vision` | @tjx666 | Vision/multimodal generation |
| `feature:knowledge-base` | @RiverTwilight | Knowledge base and RAG |
| `feature:files` | @RiverTwilight | File upload/management (when KB-related)<br>@ONLY-yours (general files) |
| `feature:knowledge-base` | @Innei | Knowledge base and RAG |
| `feature:files` | @Innei | File upload/management (when KB-related)<br>@ONLY-yours (general files) |
| `feature:editor` | @canisminor1990 | Lobe Editor |
| `feature:markdown` | @canisminor1990 | Markdown rendering |
| `feature:auth` | @tjx666 | Authentication/authorization |
@@ -57,7 +57,7 @@ Quick reference for assigning issues based on labels.
| `feature:search` | @ONLY-yours | Search functionality |
| `feature:tts` | @tjx666 | Text-to-speech |
| `feature:export` | @ONLY-yours | Export functionality |
| `feature:group-chat` | @RiverTwilight | Group chat functionality |
| `feature:group-chat` | @arvinxx | Group chat functionality |
| `feature:memory` | @nekomeowww | Memory feature |
| `feature:team-workspace` | @rdmclin2 | Team workspace application |
| `feature:subscription` | @tcmonster | Subscription and billing |
+5 -3
View File
@@ -26,8 +26,9 @@ jobs:
- name: Detect release PR (version from title)
id: release
env:
PR_TITLE: ${{ github.event.pull_request.title }}
run: |
PR_TITLE="${{ github.event.pull_request.title }}"
echo "PR Title: $PR_TITLE"
# Match "🚀 release: v{x.x.x}" format (strict semver: x.y.z with optional -prerelease or +build)
@@ -44,9 +45,10 @@ jobs:
- name: Detect patch PR (branch first, title fallback)
id: patch
if: steps.release.outputs.should_tag != 'true'
env:
HEAD_REF: ${{ github.event.pull_request.head.ref }}
PR_TITLE: ${{ github.event.pull_request.title }}
run: |
HEAD_REF="${{ github.event.pull_request.head.ref }}"
PR_TITLE="${{ github.event.pull_request.title }}"
echo "Head ref: $HEAD_REF"
echo "PR Title: $PR_TITLE"
+4 -1
View File
@@ -134,4 +134,7 @@ i18n-unused-keys-report.json
pnpm-lock.yaml
.turbo
spaHtmlTemplates.ts
spaHtmlTemplates.ts
.superpowers/
docs/superpowers
+3 -1
View File
@@ -47,6 +47,7 @@ lobehub/
- Git commit messages should prefix with gitmoji
- Git branch name format: `feat/feature-name`
- Use `.github/PULL_REQUEST_TEMPLATE.md` for PR descriptions
- **Protection of local changes**: Never use `git restore`, `git checkout --`, `git reset --hard`, or any other command or workflow that can forcibly overwrite, discard, or silently replace user-owned uncommitted changes. Before any revert or restoration affecting existing files, inspect the working tree carefully and obtain explicit user confirmation.
### Package Management
@@ -89,7 +90,8 @@ cd packages/[package-name] && bunx vitest run --silent='passed-only' '[file-path
- **`src/routes/`** holds only page segments (`_layout/index.tsx`, `index.tsx`, `[id]/index.tsx`). Keep route files **thin** — import from `@/features/*` and compose, no business logic.
- **`src/features/`** holds business components by **domain** (e.g. `Pages`, `PageEditor`, `Home`). Layout pieces, hooks, and domain UI go here.
- See the **spa-routes** skill for the full convention and file-division rules.
- **Desktop router parity:** When changing the main SPA route tree, update **both** `src/spa/router/desktopRouter.config.tsx` (dynamic imports) and `src/spa/router/desktopRouter.config.desktop.tsx` (sync imports) so paths and nesting match. Changing only one can leave routes unregistered and cause **blank screens**.
- See the **spa-routes** skill (`.agents/skills/spa-routes/SKILL.md`) for the full convention and file-division rules.
## Skills (Auto-loaded)
+1
View File
@@ -60,6 +60,7 @@ When adding or changing SPA routes:
1. In `src/routes/`, add only the route segment files (layout + page) that delegate to features.
2. Implement layout and page content under `src/features/<Domain>/` and export from there.
3. In route files, use `import { X } from '@/features/<Domain>'` (or `import Y from '@/features/<Domain>/...'`). Do not add new `features/` folders inside `src/routes/`.
4. **Register the desktop route tree in both configs:** `src/spa/router/desktopRouter.config.tsx` and `src/spa/router/desktopRouter.config.desktop.tsx` must stay in sync (same paths and nesting). Updating only one can cause **blank screens** if the other build path expects the route.
See the **spa-routes** skill (`.agents/skills/spa-routes/SKILL.md`) for the full convention and file-division rules.
+2 -2
View File
@@ -1,6 +1,6 @@
.\" Code generated by `npm run man:generate`; DO NOT EDIT.
.\" Manual command details come from the Commander command tree.
.TH LH 1 "" "@lobehub/cli 0.0.1\-canary.12" "User Commands"
.TH LH 1 "" "@lobehub/cli 0.0.1\-canary.14" "User Commands"
.SH NAME
lh \- LobeHub CLI \- manage and connect to LobeHub services
.SH SYNOPSIS
@@ -27,7 +27,7 @@ For command-specific manuals, use the built-in manual command:
.SH COMMANDS
.TP
.B login
Log in to LobeHub via browser (Device Code Flow)
Log in to LobeHub via browser (Device Code Flow) or configure API key server
.TP
.B logout
Log out and remove stored credentials
+4 -4
View File
@@ -15,7 +15,7 @@ services:
- .env
postgresql:
image: pgvector/pgvector:pg17
image: paradedb/paradedb:latest-pg17
container_name: lobe-postgres
ports:
- '5432:5432'
@@ -63,11 +63,11 @@ services:
volumes:
- rustfs-data:/data
healthcheck:
test: ["CMD-SHELL", "wget -qO- http://localhost:9000/health >/dev/null 2>&1 || exit 1"]
test: ['CMD-SHELL', 'wget -qO- http://localhost:9000/health >/dev/null 2>&1 || exit 1']
interval: 5s
timeout: 3s
retries: 30
command: ["--access-key","${RUSTFS_ACCESS_KEY}","--secret-key","${RUSTFS_SECRET_KEY}","/data"]
command: ['--access-key','${RUSTFS_ACCESS_KEY}','--secret-key','${RUSTFS_SECRET_KEY}','/data']
env_file:
- .env
@@ -90,7 +90,7 @@ services:
mc admin info rustfs || true;
mc anonymous set-json "/bucket.config.json" "rustfs/lobe";
'
restart: "no"
restart: 'no'
networks:
- lobe-network
env_file:
@@ -17,7 +17,7 @@ services:
- lobe-network
postgresql:
image: pgvector/pgvector:pg17
image: paradedb/paradedb:latest-pg17
container_name: lobe-postgres
ports:
- '5432:5432'
+2 -1
View File
@@ -1678,6 +1678,7 @@ table users {
full_name text
interests "varchar(64)[]"
is_onboarded boolean [default: false]
agent_onboarding jsonb
onboarding jsonb
clerk_created_at "timestamp with time zone"
email_verified boolean [not null, default: false]
@@ -2029,4 +2030,4 @@ ref: topic_documents.document_id > documents.id
ref: topic_documents.topic_id > topics.id
ref: topics.session_id - sessions.id
ref: topics.session_id - sessions.id
+5 -1
View File
@@ -82,6 +82,10 @@ To use the bot in Telegram groups:
2. By default, the bot responds when mentioned with `@your_bot_username`
3. Send a message mentioning the bot to start interacting
<Callout type={'warning'}>
**About Group Privacy Mode:** Telegram bots have privacy mode enabled by default, which means they only receive messages that @mention the bot, reply to the bot, or contain /commands. If you change the privacy mode setting after creating the bot, you **must remove and re-add the bot to the group** for the new setting to take effect in that group.
</Callout>
## Configuration Reference
| Field | Required | Description |
@@ -94,4 +98,4 @@ To use the bot in Telegram groups:
- **Bot not responding:** Verify the bot token is correct and the configuration is saved. Click **Test Connection** to diagnose.
- **Webhook registration failed:** Ensure your LobeHub subscription is active. Telegram requires HTTPS endpoints for webhooks, which LobeHub provides automatically.
- **Group chat issues:** Make sure the bot has been added to the group and has permission to read messages. Mention the bot with `@username` to trigger a response.
- **Group chat issues:** Make sure the bot has been added to the group and has permission to read messages. Mention the bot with `@username` to trigger a response. If the bot doesn't respond in a group, try removing the bot from the group and re-adding it — Telegram's privacy mode changes require re-joining the group to take effect.
+5 -1
View File
@@ -80,6 +80,10 @@ tags:
2. 默认情况下,机器人在被 `@your_bot_username` 提及时会响应
3. 发送一条提及机器人的消息以开始互动
<Callout type={'warning'}>
**关于隐私模式(Group Privacy):** Telegram 机器人默认启用隐私模式,仅接收群组中 @提及、回复机器人的消息以及 / 命令。如果您在创建机器人后更改了隐私模式设置,**必须将机器人从群组中移除后重新加入**,新的设置才会对该群组生效。
</Callout>
## 配置参考
| 字段 | 是否必需 | 描述 |
@@ -92,4 +96,4 @@ tags:
- **机器人未响应:** 验证机器人令牌是否正确并确保配置已保存。点击 **测试连接** 进行诊断。
- **Webhook 注册失败:** 确保您的 LobeHub 订阅处于活动状态。Telegram 要求 Webhook 使用 HTTPS 端点,LobeHub 会自动提供。
- **群组聊天问题:** 确保机器人已被添加到群组并具有读取消息的权限。使用 `@username` 提及机器人以触发响应。
- **群组聊天问题:** 确保机器人已被添加到群组并具有读取消息的权限。使用 `@username` 提及机器人以触发响应。如果机器人在群组中没有响应,尝试将机器人从群组中移除后重新加入 ——Telegram 的隐私模式设置变更需要重新加入群组才能生效。
+26 -1
View File
@@ -12,7 +12,13 @@
"channel.botTokenPlaceholderNew": "الصق رمز البوت هنا",
"channel.charLimit": "حد الأحرف",
"channel.charLimitHint": "الحد الأقصى لعدد الأحرف لكل رسالة",
"channel.concurrency": "وضع التزامن",
"channel.concurrencyDebounce": "إزالة الارتداد",
"channel.concurrencyHint": "يقوم الوضع التتابعي بمعالجة الرسائل واحدة تلو الأخرى؛ بينما ينتظر وضع إزالة الارتداد انتهاء دفعة الرسائل قبل المعالجة",
"channel.concurrencyQueue": "قائمة الانتظار",
"channel.connectFailed": "فشل اتصال الروبوت",
"channel.connectQueued": "تم وضع اتصال الروبوت في قائمة الانتظار. سيبدأ قريبًا.",
"channel.connectStarting": "الروبوت قيد التشغيل. يرجى الانتظار لحظة.",
"channel.connectSuccess": "تم الاتصال بالروبوت بنجاح",
"channel.connecting": "جارٍ الاتصال...",
"channel.connectionConfig": "إعدادات الاتصال",
@@ -21,6 +27,11 @@
"channel.credentials": "بيانات الاعتماد",
"channel.debounceMs": "نافذة دمج الرسائل (مللي ثانية)",
"channel.debounceMsHint": "مدة الانتظار للرسائل الإضافية قبل إرسالها إلى الوكيل (مللي ثانية)",
"channel.deleteAllChannels": "إزالة جميع القنوات",
"channel.deleteAllConfirm": "هل أنت متأكد أنك تريد إزالة جميع القنوات؟",
"channel.deleteAllConfirmDesc": "سيؤدي هذا الإجراء إلى إزالة جميع قنوات الرسائل وتكويناتها لهذا الوكيل بشكل دائم. لا يمكن التراجع عن هذا.",
"channel.deleteAllFailed": "فشل في إزالة جميع القنوات",
"channel.deleteAllSuccess": "تمت إزالة جميع القنوات",
"channel.deleteConfirm": "هل أنت متأكد أنك تريد إزالة هذه القناة؟",
"channel.deleteConfirmDesc": "سيؤدي هذا الإجراء إلى إزالة قناة الرسائل وتكوينها بشكل دائم. لا يمكن التراجع عن ذلك.",
"channel.devWebhookProxyUrl": "عنوان URL لنفق HTTPS",
@@ -42,7 +53,12 @@
"channel.encryptKeyPlaceholder": "مفتاح التشفير الاختياري",
"channel.endpointUrl": "عنوان URL للويب هوك",
"channel.endpointUrlHint": "يرجى نسخ هذا العنوان ولصقه في الحقل <bold>{{fieldName}}</bold> في بوابة مطوري {{name}}.",
"channel.exportConfig": "تصدير التكوين",
"channel.feishu.description": "قم بتوصيل هذا المساعد بـ Feishu للدردشة الخاصة والجماعية.",
"channel.importConfig": "استيراد التكوين",
"channel.importFailed": "فشل في استيراد التكوين",
"channel.importInvalidFormat": "تنسيق ملف التكوين غير صالح",
"channel.importSuccess": "تم استيراد التكوين بنجاح",
"channel.lark.description": "قم بتوصيل هذا المساعد بـ Lark للدردشة الخاصة والجماعية.",
"channel.openPlatform": "منصة مفتوحة",
"channel.platforms": "المنصات",
@@ -54,6 +70,7 @@
"channel.removeChannel": "إزالة القناة",
"channel.removeFailed": "فشل في إزالة القناة",
"channel.removed": "تمت إزالة القناة",
"channel.runtimeDisconnected": "تم فصل الروبوت",
"channel.save": "حفظ الإعدادات",
"channel.saveFailed": "فشل في حفظ الإعدادات",
"channel.saveFirstWarning": "يرجى حفظ الإعدادات أولاً",
@@ -81,10 +98,18 @@
"channel.verificationTokenHint": "اختياري. يُستخدم للتحقق من مصدر أحداث الويب هوك.",
"channel.verificationTokenPlaceholder": "الصق رمز التحقق هنا",
"channel.wechat.description": "قم بتوصيل هذا المساعد بـ WeChat عبر iLink Bot للمحادثات الخاصة والجماعية.",
"channel.wechatBotId": "معرّف الروبوت",
"channel.wechatBotIdHint": "معرّف الروبوت المخصص بعد تفويض رمز الاستجابة السريعة.",
"channel.wechatConnectedInfo": "حساب WeChat المتصل",
"channel.wechatManagedCredentials": "تم توصيل هذه القناة بالفعل من خلال تفويض رمز الاستجابة السريعة. يتم إدارة بيانات الاعتماد تلقائيًا.",
"channel.wechatQrExpired": "انتهت صلاحية رمز الاستجابة السريعة. يرجى التحديث للحصول على رمز جديد.",
"channel.wechatQrRefresh": "تحديث رمز الاستجابة السريعة",
"channel.wechatQrScaned": "تم مسح رمز الاستجابة السريعة. يرجى تأكيد تسجيل الدخول في WeChat.",
"channel.wechatQrWait": "افتح WeChat وقم بمسح رمز الاستجابة السريعة للاتصال.",
"channel.wechatRebind": "إعادة الربط عبر رمز الاستجابة السريعة",
"channel.wechatScanTitle": "توصيل روبوت WeChat",
"channel.wechatScanToConnect": "مسح رمز الاستجابة السريعة للاتصال"
"channel.wechatScanToConnect": "مسح رمز الاستجابة السريعة للاتصال",
"channel.wechatTips": "يرجى تحديث تطبيق WeChat إلى أحدث إصدار وإعادة تشغيله. يتم طرح إضافة ClawBot تدريجيًا، لذا تحقق من الإعدادات > الإضافات لتأكيد الوصول.",
"channel.wechatUserId": "معرّف مستخدم WeChat",
"channel.wechatUserIdHint": "معرّف حساب WeChat الذي يتم إرجاعه من خلال عملية التفويض."
}
+6
View File
@@ -12,6 +12,7 @@
"FileManager.actions.chunkingTooltip": "تقسيم الملف إلى أجزاء نصية متعددة وتضمينها للبحث الدلالي والحوار مع الملف.",
"FileManager.actions.chunkingUnsupported": "هذا الملف لا يدعم التجزئة.",
"FileManager.actions.confirmDelete": "أنت على وشك حذف هذا الملف. لا يمكن استعادته بعد الحذف. يرجى تأكيد الإجراء.",
"FileManager.actions.confirmDeleteAllFiles": "أنت على وشك حذف جميع النتائج في العرض الحالي. بمجرد حذفها، لا يمكن استعادتها. يرجى تأكيد الإجراء.",
"FileManager.actions.confirmDeleteFolder": "أنت على وشك حذف هذا المجلد وجميع محتوياته. لا يمكن التراجع عن هذا الإجراء. يرجى تأكيد القرار.",
"FileManager.actions.confirmDeleteMultiFiles": "أنت على وشك حذف {{count}} ملفًا محددًا. لا يمكن استعادتها بعد الحذف. يرجى تأكيد الإجراء.",
"FileManager.actions.confirmRemoveFromLibrary": "أنت على وشك إزالة {{count}} ملف/ملفات محددة من المكتبة. ستظل متاحة في جميع الملفات. أكد للمتابعة.",
@@ -51,7 +52,12 @@
"FileManager.title.createdAt": "تاريخ الإنشاء",
"FileManager.title.size": "الحجم",
"FileManager.title.title": "الملف",
"FileManager.total.allSelectedCount": "تم تحديد جميع العناصر البالغ عددها {{count}}.",
"FileManager.total.allSelectedFallback": "تم تحديد جميع النتائج.",
"FileManager.total.fileCount": "الإجمالي {{count}} عنصر",
"FileManager.total.loadedSelectedCount": "تم تحديد {{count}} من العناصر المحملة.",
"FileManager.total.selectAll": "تحديد جميع العناصر البالغ عددها {{count}}",
"FileManager.total.selectAllFallback": "تحديد جميع العناصر",
"FileManager.total.selectedCount": "المحدد {{count}} عنصر",
"FileManager.view.list": "عرض القائمة",
"FileManager.view.masonry": "عرض الشبكة",
+15
View File
@@ -607,6 +607,7 @@
"time.today": "اليوم",
"time.yesterday": "أمس",
"user.agents": "الوكلاء",
"user.cancel": "إلغاء",
"user.downloads": "التنزيلات",
"user.editProfile": "تعديل الملف الشخصي",
"user.favoriteAgents": "الوكلاء المحفوظون",
@@ -616,6 +617,9 @@
"user.following": "يتابع",
"user.forkedAgentGroups": "مجموعات الوكلاء المنسوخة",
"user.forkedAgents": "الوكلاء المنسوخون",
"user.githubUrl": "عنوان URL لمستودع GitHub",
"user.githubUrlInvalid": "يرجى إدخال عنوان URL صالح لمستودع GitHub",
"user.githubUrlRequired": "يرجى إدخال عنوان URL لمستودع GitHub",
"user.login": "كن منشئًا",
"user.logout": "تسجيل الخروج",
"user.myProfile": "ملفي الشخصي",
@@ -624,9 +628,13 @@
"user.noFavoritePlugins": "لا توجد مهارات محفوظة بعد",
"user.noForkedAgentGroups": "لا توجد مجموعات وكلاء منسوخة بعد",
"user.noForkedAgents": "لا يوجد وكلاء منسوخون بعد",
"user.noPlugins": "لم ينشر هذا المستخدم أي إضافات حتى الآن",
"user.noSkills": "لم ينشر هذا المستخدم أي مهارات حتى الآن",
"user.plugins": "الإضافات",
"user.publishedAgents": "الوكلاء المنشؤون",
"user.publishedGroups": "المجموعات المنشأة",
"user.searchPlaceholder": "ابحث بالاسم أو الوصف...",
"user.skills": "المهارات",
"user.statusFilter.all": "الكل",
"user.statusFilter.archived": "مؤرشف",
"user.statusFilter.deprecated": "مهمل",
@@ -634,6 +642,13 @@
"user.statusFilter.forked": "مشتق",
"user.statusFilter.published": "منشور",
"user.statusFilter.unpublished": "قيد المراجعة",
"user.submit": "إرسال",
"user.submitRepo": "إرسال المستودع",
"user.submitRepoDescription": "أرسل مستودع GitHub الخاص بك لاستيراد مهاراتك أو MCPs إلى المجتمع.",
"user.submitRepoError": "فشل في إرسال المستودع. يرجى المحاولة مرة أخرى.",
"user.submitRepoHint": "سيتم مراجعة المستودع قبل نشره.",
"user.submitRepoSuccess": "تم إرسال المستودع بنجاح! سيتم مراجعته قريبًا.",
"user.submitRepoTitle": "أرسل مستودعك",
"user.tabs.favorites": "المفضلة",
"user.tabs.forkedAgents": "المنسوخون",
"user.tabs.publishedAgents": "تم الإنشاء",
+9
View File
@@ -1,4 +1,13 @@
{
"gateway.description": "الوصف",
"gateway.descriptionPlaceholder": "اختياري",
"gateway.deviceName": "اسم الجهاز",
"gateway.deviceNamePlaceholder": "أدخل اسم الجهاز",
"gateway.enableConnection": "الاتصال بالبوابة",
"gateway.statusConnected": "متصل بالبوابة",
"gateway.statusConnecting": "جارٍ الاتصال بالبوابة...",
"gateway.statusDisconnected": "غير متصل بالبوابة",
"gateway.title": "بوابة الجهاز",
"navigation.chat": "محادثة",
"navigation.discover": "اكتشف",
"navigation.discoverAssistants": "اكتشف المساعدين",
+16 -9
View File
@@ -4,6 +4,9 @@
"error.retry": "إعادة التحميل",
"error.stack": "مكدس الأخطاء",
"error.title": "عذرًا، حدث خطأ ما..",
"exceededContext.compact": "ضغط السياق",
"exceededContext.desc": "تجاوزت المحادثة حد نافذة السياق. يمكنك ضغط السياق لتقليل التاريخ ومواصلة الدردشة.",
"exceededContext.title": "تم تجاوز نافذة السياق",
"fetchError.detail": "تفاصيل الخطأ",
"fetchError.title": "فشل الطلب",
"import.importConfigFile.description": "سبب الخطأ: {{reason}}",
@@ -69,15 +72,15 @@
"response.ExceededContextWindow": "يتجاوز محتوى الطلب الحالي الحد الأقصى الذي يمكن للنموذج معالجته. يرجى تقليل المحتوى والمحاولة مجددًا.",
"response.ExceededContextWindowCloud": "المحادثة طويلة جدًا لمعالجتها. يرجى تعديل رسالتك الأخيرة لتقليل الإدخال أو حذف بعض الرسائل والمحاولة مرة أخرى.",
"response.FreePlanLimit": "أنت تستخدم الخطة المجانية حاليًا ولا يمكنك استخدام هذه الميزة. يرجى الترقية إلى خطة مدفوعة للمتابعة.",
"response.GoogleAIBlockReason.BLOCKLIST": حتوي المحتوى الخاص بك على مصطلحات محظورة. يرجى مراجعة مدخلاتك وتعديلها ثم المحاولة مجددًا.",
"response.GoogleAIBlockReason.IMAGE_SAFETY": "تم حظر الصورة المُولدة لأسباب تتعلق بالسلامة. يرجى تعديل طلب الصورة.",
"response.GoogleAIBlockReason.LANGUAGE": "اللغة المستخدمة غير مدعومة. يرجى المحاولة باللغة الإنجليزية أو بلغة مدعومة أخرى.",
"response.GoogleAIBlockReason.OTHER": "تم حظر المحتوى لسبب غير معروف. يرجى إعادة صياغة الطلب والمحاولة مجددًا.",
"response.GoogleAIBlockReason.PROHIBITED_CONTENT": "قد يحتوي طلبك على محتوى محظور. يرجى تعديل الطلب ليتوافق مع إرشادات الاستخدام.",
"response.GoogleAIBlockReason.RECITATION": "تم حظر المحتوى بسبب مخاوف تتعلق بحقوق النشر. يرجى استخدام محتوى أصلي أو إعادة صياغة الطلب.",
"response.GoogleAIBlockReason.SAFETY": "تم حظر المحتوى لأسباب تتعلق بسياسة السلامة. يرجى تعديل الطلب لتجنب المحتوى الضار أو غير المناسب.",
"response.GoogleAIBlockReason.SPII": "قد يحتوي المحتوى الخاص بك على معلومات تعريف شخصية حساسة. لحماية الخصوصية، يرجى إزالة التفاصيل الحساسة والمحاولة مجددًا.",
"response.GoogleAIBlockReason.default": "تم حظر المحتوى: {{blockReason}}. يرجى تعديل الطلب والمحاولة مجددًا.",
"response.GoogleAIBlockReason.BLOCKLIST": تضمن المحتوى مصطلحات محظورة. يرجى إعادة الصياغة والمحاولة مرة أخرى.",
"response.GoogleAIBlockReason.IMAGE_SAFETY": "تم حظر الصورة المُنشأة لأسباب تتعلق بالسلامة. يرجى تعديل طلبك والمحاولة مرة أخرى.",
"response.GoogleAIBlockReason.LANGUAGE": "اللغة المطلوبة غير مدعومة. يرجى المحاولة مرة أخرى بلغة مدعومة.",
"response.GoogleAIBlockReason.OTHER": "تم حظر المحتوى لسبب غير معروف. يرجى إعادة الصياغة والمحاولة مرة أخرى.",
"response.GoogleAIBlockReason.PROHIBITED_CONTENT": "قد يحتوي المحتوى على مواد محظورة. يرجى تعديله والمحاولة مرة أخرى.",
"response.GoogleAIBlockReason.RECITATION": "تم حظر المحتوى بسبب خطر التكرار. يرجى استخدام صياغة أكثر أصالة والمحاولة مرة أخرى.",
"response.GoogleAIBlockReason.SAFETY": "تم حظر المحتوى لأسباب تتعلق بالسلامة. يرجى تعديله والمحاولة مرة أخرى.",
"response.GoogleAIBlockReason.SPII": "قد يتضمن المحتوى معلومات شخصية حساسة (SPII). يرجى إزالة التفاصيل الحساسة والمحاولة مرة أخرى.",
"response.GoogleAIBlockReason.default": "تم حظر المحتوى ({{blockReason}}). يرجى تعديله والمحاولة مرة أخرى.",
"response.InsufficientBudgetForModel": "رصيدك المتبقي غير كافٍ لهذا النموذج. يرجى إعادة شحن الرصيد، ترقية خطتك، أو تجربة نموذج أقل تكلفة.",
"response.InsufficientQuota": "عذرًا، تم استهلاك الحصة المخصصة لهذا المفتاح. يرجى التحقق من رصيد حسابك أو زيادة الحصة والمحاولة مجددًا.",
"response.InvalidAccessCode": "رمز الوصول غير صالح أو فارغ. يرجى إدخال رمز الوصول الصحيح أو إضافة مفتاح API مخصص.",
@@ -120,6 +123,10 @@
"supervisor.decisionFailed": "المضيف الجماعي غير قادر على العمل. يرجى التحقق من إعدادات المضيف والتأكد من صحة النموذج ومفتاح API ونقطة النهاية.",
"testConnectionFailed": "فشل اختبار الاتصال: {{error}}",
"tts.responseError": "فشل طلب الخدمة، يرجى التحقق من الإعدادات أو إعادة المحاولة.",
"unknownError.copyTraceId": "تم نسخ معرف التتبع",
"unknownError.desc": "حدث خطأ غير متوقع. يمكنك إعادة المحاولة أو الإبلاغ عنه.",
"unknownError.retry": "إعادة المحاولة",
"unknownError.title": "عذرًا، الطلب أخذ قسطًا من الراحة",
"unlock.addProxyUrl": "إضافة عنوان وكيل OpenAI (اختياري)",
"unlock.apiKey.description": "أدخل مفتاح API الخاص بـ {{name}} لبدء الجلسة",
"unlock.apiKey.imageGenerationDescription": "أدخل مفتاح API الخاص بـ {{name}} لبدء التوليد",
+1
View File
@@ -137,6 +137,7 @@
"uploadDock.body.item.processing": "جارٍ معالجة الملف...",
"uploadDock.body.item.restTime": "المتبقي {{time}}",
"uploadDock.fileQueueInfo": "يتم تحميل أول {{count}} ملف، {{remaining}} في الانتظار",
"uploadDock.header.cancelAll": "إلغاء الكل",
"uploadDock.totalCount": "إجمالي {{count}} عنصر",
"uploadDock.uploadStatus.cancelled": "تم إلغاء التحميل",
"uploadDock.uploadStatus.error": "خطأ في التحميل",
+13
View File
@@ -16,6 +16,15 @@
"callback.titles.error": "فشل التفويض",
"callback.titles.loading": "تفويض سوق LobeHub",
"callback.titles.success": "تم التفويض بنجاح",
"claimResources.claim": "المطالبة بالمحدد",
"claimResources.description": "وجدنا موارد مرتبطة بحسابك يمكنك المطالبة بها:",
"claimResources.error": "فشل في المطالبة بالموارد. يرجى المحاولة مرة أخرى.",
"claimResources.mcpSection": "خوادم MCP",
"claimResources.selectedCount": "{{count}} عنصر(عناصر) محدد",
"claimResources.skillSection": "المهارات",
"claimResources.skip": "تخطي",
"claimResources.success": "تمت المطالبة بنجاح بـ {{count}} مورد(موارد)",
"claimResources.title": "قم بالمطالبة بمواردك",
"errors.authorizationFailed": "فشل التفويض، يرجى المحاولة مرة أخرى.",
"errors.browserOnly": "يمكن بدء عملية التفويض فقط من خلال المتصفح.",
"errors.codeConsumed": "تم استخدام رمز التفويض بالفعل. يرجى المحاولة مرة أخرى.",
@@ -75,6 +84,10 @@
"profileSetup.fields.website.placeholder": "رابط الموقع الشخصي",
"profileSetup.getStarted": "ابدأ الآن",
"profileSetup.save": "حفظ",
"profileSetup.socialLinks.connectProvider": "اتصل بـ {{provider}}",
"profileSetup.socialLinks.connected": "متصل",
"profileSetup.socialLinks.connecting": "جارٍ الاتصال...",
"profileSetup.socialLinks.disconnect": "قطع الاتصال",
"profileSetup.socialLinks.title": "روابط التواصل الاجتماعي",
"profileSetup.success": "تم تحديث الملف الشخصي بنجاح",
"profileSetup.titleEdit": "تعديل الملف الشخصي",
+7 -11
View File
@@ -307,21 +307,23 @@
"claude-3-haiku-20240307.description": "Claude 3 Haiku هو أسرع وأصغر نموذج من Anthropic، مصمم لتقديم استجابات شبه فورية بأداء سريع ودقيق.",
"claude-3-opus-20240229.description": "Claude 3 Opus هو أقوى نموذج من Anthropic للمهام المعقدة، يتميز بالأداء العالي، الذكاء، الطلاقة، والفهم.",
"claude-3-sonnet-20240229.description": "Claude 3 Sonnet يوازن بين الذكاء والسرعة لتلبية احتياجات المؤسسات، ويوفر فائدة عالية بتكلفة أقل ونشر موثوق على نطاق واسع.",
"claude-3.5-sonnet.description": "يتميز Claude 3.5 Sonnet بقدرات عالية في البرمجة والكتابة والتفكير المعقد.",
"claude-3.7-sonnet-thought.description": "Claude 3.7 Sonnet مزود بقدرات تفكير موسعة للمهام التي تتطلب استدلالًا معقدًا.",
"claude-3.7-sonnet.description": "Claude 3.7 Sonnet هو إصدار مطور يتمتع بسياق موسع وقدرات محسّنة.",
"claude-haiku-4-5-20251001.description": "Claude Haiku 4.5 هو النموذج الأسرع والأكثر ذكاءً من Anthropic، مع سرعة فائقة وتفكير ممتد.",
"claude-haiku-4.5.description": "Claude Haiku 4.5 نموذج سريع وفعّال لمجموعة متنوعة من المهام.",
"claude-haiku-4.5.description": "Claude Haiku 4.5 هو نموذج Haiku الأسرع والأذكى من Anthropic، يتميز بسرعة البرق وقدرات استدلال موسعة.",
"claude-opus-4-1-20250805-thinking.description": "Claude Opus 4.1 Thinking هو إصدار متقدم يمكنه عرض عملية تفكيره.",
"claude-opus-4-1-20250805.description": "Claude Opus 4.1 هو أحدث وأقوى نموذج من Anthropic للمهام المعقدة للغاية، يتميز بالأداء، الذكاء، الطلاقة، والفهم.",
"claude-opus-4-20250514.description": "Claude Opus 4 هو النموذج الأكثر قوة من Anthropic للمهام المعقدة للغاية، يتميز بالأداء، الذكاء، الطلاقة، والفهم.",
"claude-opus-4-5-20251101.description": "Claude Opus 4.5 هو النموذج الرائد من Anthropic، يجمع بين الذكاء الاستثنائي والأداء القابل للتوسع، مثالي للمهام المعقدة التي تتطلب استجابات عالية الجودة وتفكير متقدم.",
"claude-opus-4-6.description": "Claude Opus 4.6 هو النموذج الأكثر ذكاءً من Anthropic لبناء الوكلاء والبرمجة.",
"claude-opus-4.5.description": "Claude Opus 4.5 هو النموذج الرائد من Anthropic، يجمع بين الذكاء الفائق والأداء القابل للتوسع لمهام الاستدلال المعقدة وعالية الجودة.",
"claude-opus-4.6-fast.description": "Claude Opus 4.6 هو النموذج الأكثر ذكاءً من Anthropic لبناء الوكلاء والبرمجة.",
"claude-opus-4.6.description": "Claude Opus 4.6 هو النموذج الأكثر ذكاءً من Anthropic لبناء الوكلاء والبرمجة.",
"claude-sonnet-4-20250514-thinking.description": "Claude Sonnet 4 Thinking يمكنه تقديم استجابات شبه فورية أو تفكير متسلسل مرئي.",
"claude-sonnet-4-20250514.description": "Claude Sonnet 4 هو النموذج الأكثر ذكاءً من Anthropic حتى الآن، يقدم استجابات شبه فورية أو تفكيرًا ممتدًا خطوة بخطوة مع تحكم دقيق لمستخدمي API.",
"claude-sonnet-4-5-20250929.description": "Claude Sonnet 4.5 هو النموذج الأكثر ذكاءً من Anthropic حتى الآن.",
"claude-sonnet-4-6.description": "Claude Sonnet 4.6 هو أفضل مزيج من السرعة والذكاء من Anthropic.",
"claude-sonnet-4.description": "Claude Sonnet 4 هو الجيل الأحدث مع أداء محسّن في جميع المهام.",
"claude-sonnet-4.5.description": "Claude Sonnet 4.5 هو النموذج الأكثر ذكاءً من Anthropic حتى الآن.",
"claude-sonnet-4.6.description": "Claude Sonnet 4.6 هو أفضل مزيج من السرعة والذكاء من Anthropic.",
"claude-sonnet-4.description": "Claude Sonnet 4 يمكنه إنتاج استجابات شبه فورية أو استدلال خطوة بخطوة ممتد يمكن للمستخدمين رؤيته. يمكن لمستخدمي API التحكم بدقة في مدة تفكير النموذج.",
"codegeex-4.description": "CodeGeeX-4 هو مساعد برمجة ذكي يدعم الأسئلة والأجوبة متعددة اللغات وإكمال الشيفرة لزيادة إنتاجية المطورين.",
"codegeex4-all-9b.description": "CodeGeeX4-ALL-9B هو نموذج توليد شيفرة متعدد اللغات يدعم الإكمال والتوليد، تفسير الشيفرة، البحث عبر الإنترنت، استدعاء الوظائف، وأسئلة وأجوبة على مستوى المستودع، ويغطي مجموعة واسعة من سيناريوهات تطوير البرمجيات. يُعد من أفضل نماذج الشيفرة تحت 10B.",
"codegemma.description": "CodeGemma هو نموذج خفيف الوزن لمهام البرمجة المتنوعة، يتيح التكرار السريع والتكامل السلس.",
@@ -655,7 +657,6 @@
"google/text-embedding-005.description": "نموذج تضمين نصي يركز على اللغة الإنجليزية، محسّن لمهام البرمجة واللغة الإنجليزية.",
"google/text-multilingual-embedding-002.description": "نموذج تضمين نصي متعدد اللغات محسّن للمهام عبر اللغات المختلفة.",
"gpt-3.5-turbo-0125.description": "GPT 3.5 Turbo لتوليد النصوص وفهمها؛ يشير حاليًا إلى gpt-3.5-turbo-0125.",
"gpt-3.5-turbo-0613.description": "GPT 3.5 Turbo نموذج سريع وفعّال لمهام متعددة.",
"gpt-3.5-turbo-1106.description": "GPT 3.5 Turbo لتوليد النصوص وفهمها؛ يشير حاليًا إلى gpt-3.5-turbo-0125.",
"gpt-3.5-turbo-instruct.description": "GPT 3.5 Turbo لمهام توليد النصوص والفهم، محسّن لاتباع التعليمات.",
"gpt-3.5-turbo.description": "GPT 3.5 Turbo لتوليد النصوص وفهمها؛ يشير حاليًا إلى gpt-3.5-turbo-0125.",
@@ -666,12 +667,10 @@
"gpt-4-1106-preview.description": "أحدث إصدار من GPT-4 Turbo يدعم الرؤية. الطلبات البصرية تدعم وضع JSON واستدعاء الوظائف. إنه نموذج متعدد الوسائط فعال من حيث التكلفة يوازن بين الدقة والكفاءة للتطبيقات في الوقت الحقيقي.",
"gpt-4-32k-0613.description": "يوفر GPT-4 نافذة سياق أكبر للتعامل مع مدخلات أطول في السيناريوهات التي تتطلب دمج معلومات واسع وتحليل بيانات.",
"gpt-4-32k.description": "يوفر GPT-4 نافذة سياق أكبر للتعامل مع مدخلات أطول في السيناريوهات التي تتطلب دمج معلومات واسع وتحليل بيانات.",
"gpt-4-o-preview.description": "GPT-4o هو النموذج متعدد الوسائط الأكثر تقدمًا، يدعم إدخال النصوص والصور.",
"gpt-4-turbo-2024-04-09.description": "أحدث إصدار من GPT-4 Turbo يدعم الرؤية. الطلبات البصرية تدعم وضع JSON واستدعاء الوظائف. إنه نموذج متعدد الوسائط فعال من حيث التكلفة يوازن بين الدقة والكفاءة للتطبيقات في الوقت الحقيقي.",
"gpt-4-turbo-preview.description": "أحدث إصدار من GPT-4 Turbo يدعم الرؤية. الطلبات البصرية تدعم وضع JSON واستدعاء الوظائف. إنه نموذج متعدد الوسائط فعال من حيث التكلفة يوازن بين الدقة والكفاءة للتطبيقات في الوقت الحقيقي.",
"gpt-4-turbo.description": "أحدث إصدار من GPT-4 Turbo يدعم الرؤية. الطلبات البصرية تدعم وضع JSON واستدعاء الوظائف. إنه نموذج متعدد الوسائط فعال من حيث التكلفة يوازن بين الدقة والكفاءة للتطبيقات في الوقت الحقيقي.",
"gpt-4-vision-preview.description": "معاينة GPT-4 Vision، مصمم لمهام تحليل ومعالجة الصور.",
"gpt-4.1-2025-04-14.description": "GPT-4.1 هو النموذج الرائد للمهام المعقدة، مثالي لحل المشكلات متعددة المجالات.",
"gpt-4.1-mini.description": "GPT-4.1 mini يوازن بين الذكاء والسرعة والتكلفة، مما يجعله جذابًا للعديد من الاستخدامات.",
"gpt-4.1-nano.description": "GPT-4.1 nano هو الأسرع والأكثر فعالية من حيث التكلفة بين نماذج GPT-4.1.",
"gpt-4.1.description": "GPT-4.1 هو نموذجنا الرائد للمهام المعقدة وحل المشكلات عبر المجالات.",
@@ -681,7 +680,6 @@
"gpt-4o-2024-08-06.description": "ChatGPT-4o هو نموذج ديناميكي يتم تحديثه في الوقت الحقيقي، يجمع بين الفهم القوي والتوليد لتطبيقات واسعة النطاق مثل دعم العملاء والتعليم والمساعدة التقنية.",
"gpt-4o-2024-11-20.description": "ChatGPT-4o هو نموذج ديناميكي يتم تحديثه في الوقت الحقيقي، يجمع بين الفهم القوي والتوليد لتطبيقات واسعة النطاق مثل دعم العملاء والتعليم والدعم الفني.",
"gpt-4o-audio-preview.description": "نموذج معاينة GPT-4o Audio مع إدخال وإخراج صوتي.",
"gpt-4o-mini-2024-07-18.description": "GPT-4o mini هو حل اقتصادي لمجموعة واسعة من مهام النصوص والصور.",
"gpt-4o-mini-audio-preview.description": "نموذج GPT-4o mini Audio مع إدخال وإخراج صوتي.",
"gpt-4o-mini-realtime-preview.description": "إصدار GPT-4o-mini الفوري مع إدخال وإخراج صوتي ونصي في الوقت الحقيقي.",
"gpt-4o-mini-search-preview.description": "GPT-4o mini Search Preview مدرب على فهم وتنفيذ استعلامات البحث عبر الإنترنت من خلال واجهة Chat Completions API. يتم احتساب تكلفة البحث عبر الإنترنت لكل استخدام أداة بالإضافة إلى تكلفة الرموز.",
@@ -1249,9 +1247,7 @@
"tencent/Hunyuan-A13B-Instruct.description": "Hunyuan-A13B-Instruct يستخدم 80 مليار معلمة إجمالية مع 13 مليار نشطة لمضاهاة النماذج الأكبر. يدعم الاستدلال الهجين السريع/البطيء، وفهم النصوص الطويلة بثبات، وقدرات وكيل رائدة على BFCL-v3 وτ-Bench. تدعم تنسيقات GQA والتكميم المتعدد الاستدلال بكفاءة.",
"tencent/Hunyuan-MT-7B.description": "نموذج الترجمة Hunyuan يشمل Hunyuan-MT-7B وHunyuan-MT-Chimera. Hunyuan-MT-7B هو نموذج ترجمة خفيف بسعة 7B يدعم 33 لغة بالإضافة إلى 5 لغات صينية محلية. حصل على المركز الأول في 30 من أصل 31 زوج لغوي في WMT25. يستخدم Hunyuan من Tencent سلسلة تدريب كاملة من التدريب المسبق إلى SFT إلى الترجمة بالتعلم المعزز، محققًا أداءً رائدًا بحجمه وسهولة في النشر.",
"text-embedding-3-large.description": "أقوى نموذج تضمين للمهام باللغة الإنجليزية وغير الإنجليزية.",
"text-embedding-3-small-inference.description": "نموذج Embedding V3 صغير (للاستدلال) لتضمين النصوص.",
"text-embedding-3-small.description": "نموذج تضمين من الجيل التالي فعال من حيث التكلفة ومناسب للاسترجاع وسيناريوهات RAG.",
"text-embedding-ada-002.description": "نموذج Embedding V2 Ada لتضمين النصوص.",
"thudm/glm-4-32b.description": "GLM-4-32B-0414 هو نموذج ثنائي اللغة (صيني/إنجليزي) بسعة 32B وأوزان مفتوحة، مُحسَّن لتوليد الشيفرات، واستدعاء الوظائف، ومهام الوكلاء. تم تدريبه مسبقًا على 15 تريليون رمز عالي الجودة ومليء بالاستدلال، وتم تحسينه بموازنة تفضيلات البشر، وأخذ العينات بالرفض، والتعلم المعزز. يتفوق في الاستدلال المعقد، وتوليد المخرجات المنظمة، ويصل إلى مستوى أداء GPT-4o وDeepSeek-V3-0324 في العديد من المعايير.",
"thudm/glm-4-32b:free.description": "GLM-4-32B-0414 هو نموذج ثنائي اللغة (صيني/إنجليزي) بسعة 32B وأوزان مفتوحة، مُحسَّن لتوليد الشيفرات، واستدعاء الوظائف، ومهام الوكلاء. تم تدريبه مسبقًا على 15 تريليون رمز عالي الجودة ومليء بالاستدلال، وتم تحسينه بموازنة تفضيلات البشر، وأخذ العينات بالرفض، والتعلم المعزز. يتفوق في الاستدلال المعقد، وتوليد المخرجات المنظمة، ويصل إلى مستوى أداء GPT-4o وDeepSeek-V3-0324 في العديد من المعايير.",
"thudm/glm-4-9b-chat.description": "الإصدار مفتوح المصدر من نموذج GLM-4 الأحدث من Zhipu AI.",
+12
View File
@@ -0,0 +1,12 @@
{
"image_generation_completed": "تم إنشاء الصورة \"{{prompt}}\" بنجاح",
"image_generation_completed_title": "تم إنشاء الصورة",
"inbox.archiveAll": "أرشفة الكل",
"inbox.empty": "لا توجد إشعارات بعد",
"inbox.emptyUnread": "لا توجد إشعارات غير مقروءة",
"inbox.filterUnread": "عرض غير المقروء فقط",
"inbox.markAllRead": "تحديد الكل كمقروء",
"inbox.title": "الإشعارات",
"video_generation_completed": "تم إنشاء الفيديو \"{{prompt}}\" بنجاح",
"video_generation_completed_title": "تم إنشاء الفيديو"
}
+7
View File
@@ -443,6 +443,12 @@
"myAgents.status.published": "منشور",
"myAgents.status.unpublished": "غير منشور",
"myAgents.title": "وكلائي المنشورون",
"notification.email.desc": "تلقي إشعارات البريد الإلكتروني عند حدوث أحداث مهمة",
"notification.email.title": "إشعارات البريد الإلكتروني",
"notification.enabled": "مفعل",
"notification.inbox.desc": "عرض الإشعارات في صندوق الوارد داخل التطبيق",
"notification.inbox.title": "إشعارات صندوق الوارد",
"notification.title": "قنوات الإشعارات",
"plugin.addMCPPlugin": "إضافة MCP",
"plugin.addTooltip": "مهارات مخصصة",
"plugin.clearDeprecated": "إزالة المهارات الموقوفة",
@@ -807,6 +813,7 @@
"tab.manualFill": "التعبئة اليدوية",
"tab.manualFill.desc": "تكوين مهارة MCP مخصصة يدويًا",
"tab.memory": "الذاكرة",
"tab.notification": "الإشعارات",
"tab.profile": "حسابي",
"tab.provider": "مزود خدمة الذكاء الاصطناعي",
"tab.proxy": "وكيل الشبكة",
+4
View File
@@ -54,6 +54,7 @@
"credits.autoTopUp.upgradeHint": "اشترك في خطة مدفوعة لتفعيل الشحن التلقائي",
"credits.autoTopUp.validation.targetMustExceedThreshold": "يجب أن يكون الرصيد المستهدف أكبر من الحد الأدنى",
"credits.packages.auto": "تلقائي",
"credits.packages.charged": "تم خصم ${{amount}}",
"credits.packages.expired": "منتهية",
"credits.packages.expiresIn": "تنتهي خلال {{days}} يومًا",
"credits.packages.expiresToday": "تنتهي اليوم",
@@ -256,6 +257,9 @@
"plans.payonce.ok": "تأكيد الاختيار",
"plans.payonce.popconfirm": "بعد الدفع لمرة واحدة، يجب الانتظار حتى انتهاء الاشتراك لتغيير الخطة أو دورة الفوترة. يرجى تأكيد اختيارك.",
"plans.payonce.tooltip": "يتطلب الدفع لمرة واحدة الانتظار حتى انتهاء الاشتراك لتغيير الخطة أو دورة الفوترة",
"plans.payonce.upgradeOk": "تأكيد الترقية",
"plans.payonce.upgradePopconfirm": "سيتم تطبيق القيمة المتبقية من خطتك الحالية كخصم على الخطة الجديدة.",
"plans.payonce.upgradePopconfirmNoProration": "سيتم خصم السعر الكامل للخطة الجديدة. سيتم استبدال خطتك الحالية فورًا.",
"plans.pendingDowngrade": "تخفيض قيد الانتظار",
"plans.plan.enterprise.contactSales": "اتصل بالمبيعات",
"plans.plan.enterprise.title": "الشركات",
+26 -1
View File
@@ -12,7 +12,13 @@
"channel.botTokenPlaceholderNew": "Поставете вашия токен на бота тук",
"channel.charLimit": "Ограничение на символите",
"channel.charLimitHint": "Максимален брой символи на съобщение",
"channel.concurrency": "Режим на едновременност",
"channel.concurrencyDebounce": "Забавяне",
"channel.concurrencyHint": "Опашка обработва съобщенията едно по едно; Забавяне изчаква завършването на серия от съобщения преди обработка",
"channel.concurrencyQueue": "Опашка",
"channel.connectFailed": "Свързването на бота не успя",
"channel.connectQueued": "Свързването на бота е в опашката. Ще започне скоро.",
"channel.connectStarting": "Ботът стартира. Моля, изчакайте момент.",
"channel.connectSuccess": "Ботът е успешно свързан",
"channel.connecting": "Свързване...",
"channel.connectionConfig": "Конфигурация на връзката",
@@ -21,6 +27,11 @@
"channel.credentials": "Удостоверения",
"channel.debounceMs": "Прозорец за обединяване на съобщения (ms)",
"channel.debounceMsHint": "Колко време да се изчака за допълнителни съобщения преди изпращане към агента (ms)",
"channel.deleteAllChannels": "Премахване на всички канали",
"channel.deleteAllConfirm": "Сигурни ли сте, че искате да премахнете всички канали?",
"channel.deleteAllConfirmDesc": "Това действие ще премахне окончателно всички съобщителни канали и техните конфигурации за този агент. Това не може да бъде отменено.",
"channel.deleteAllFailed": "Неуспешно премахване на всички канали",
"channel.deleteAllSuccess": "Всички канали са премахнати",
"channel.deleteConfirm": "Сигурни ли сте, че искате да премахнете този канал?",
"channel.deleteConfirmDesc": "Това действие ще премахне окончателно този канал за съобщения и неговата конфигурация. Това не може да бъде отменено.",
"channel.devWebhookProxyUrl": "HTTPS тунел URL",
@@ -42,7 +53,12 @@
"channel.encryptKeyPlaceholder": "По избор ключ за криптиране",
"channel.endpointUrl": "URL на уебхук",
"channel.endpointUrlHint": "Моля, копирайте този URL и го поставете в полето <bold>{{fieldName}}</bold> в {{name}} Developer Portal.",
"channel.exportConfig": "Експортиране на конфигурация",
"channel.feishu.description": "Свържете този асистент с Feishu за лични и групови чатове.",
"channel.importConfig": "Импортиране на конфигурация",
"channel.importFailed": "Неуспешно импортиране на конфигурация",
"channel.importInvalidFormat": "Невалиден формат на конфигурационния файл",
"channel.importSuccess": "Конфигурацията е успешно импортирана",
"channel.lark.description": "Свържете този асистент с Lark за лични и групови чатове.",
"channel.openPlatform": "Отворена платформа",
"channel.platforms": "Платформи",
@@ -54,6 +70,7 @@
"channel.removeChannel": "Премахване на канал",
"channel.removeFailed": "Неуспешно премахване на канала",
"channel.removed": "Каналът е премахнат",
"channel.runtimeDisconnected": "Ботът е прекъснат",
"channel.save": "Запазване на конфигурацията",
"channel.saveFailed": "Неуспешно запазване на конфигурацията",
"channel.saveFirstWarning": "Моля, първо запазете конфигурацията",
@@ -81,10 +98,18 @@
"channel.verificationTokenHint": "По избор. Използва се за проверка на източника на събития за уебхук.",
"channel.verificationTokenPlaceholder": "Поставете вашия токен за проверка тук",
"channel.wechat.description": "Свържете този асистент с WeChat чрез iLink Bot за лични и групови чатове.",
"channel.wechatBotId": "ID на бота",
"channel.wechatBotIdHint": "Идентификатор на бота, присвоен след оторизация чрез QR код.",
"channel.wechatConnectedInfo": "Свързан WeChat акаунт",
"channel.wechatManagedCredentials": "Този канал вече е свързан чрез оторизация с QR код. Удостоверенията се управляват автоматично.",
"channel.wechatQrExpired": "QR кодът е изтекъл. Моля, обновете, за да получите нов.",
"channel.wechatQrRefresh": "Обновяване на QR код",
"channel.wechatQrScaned": "QR кодът е сканиран. Моля, потвърдете влизането в WeChat.",
"channel.wechatQrWait": "Отворете WeChat и сканирайте QR кода, за да се свържете.",
"channel.wechatRebind": "Повторно свързване чрез QR код",
"channel.wechatScanTitle": "Свързване на WeChat бот",
"channel.wechatScanToConnect": "Сканирайте QR кода, за да се свържете"
"channel.wechatScanToConnect": "Сканирайте QR кода, за да се свържете",
"channel.wechatTips": "Моля, актуализирайте WeChat до последната версия и го рестартирайте. Плъгинът ClawBot се разпространява постепенно, затова проверете Настройки > Плъгини, за да потвърдите достъпа.",
"channel.wechatUserId": "WeChat потребителски ID",
"channel.wechatUserIdHint": "Идентификатор на WeChat акаунт, върнат от процеса на оторизация."
}
+6
View File
@@ -12,6 +12,7 @@
"FileManager.actions.chunkingTooltip": "Разделя файла на няколко текстови части и ги вгражда за семантично търсене и диалог с файла.",
"FileManager.actions.chunkingUnsupported": "Този файл не поддържа разделяне.",
"FileManager.actions.confirmDelete": "Ще изтриете този файл. След изтриване не може да бъде възстановен. Моля, потвърдете действието си.",
"FileManager.actions.confirmDeleteAllFiles": "Предстои да изтриете всички резултати в текущия изглед. След изтриване те не могат да бъдат възстановени. Моля, потвърдете действието.",
"FileManager.actions.confirmDeleteFolder": "Ще изтриете тази папка и цялото ѝ съдържание. Това действие не може да бъде отменено. Моля, потвърдете решението си.",
"FileManager.actions.confirmDeleteMultiFiles": "Ще изтриете избраните {{count}} файла. След изтриване те не могат да бъдат възстановени. Моля, потвърдете действието си.",
"FileManager.actions.confirmRemoveFromLibrary": "Ще премахнете {{count}} избран(и) файл(а) от библиотеката. Те ще останат достъпни във Всички файлове. Потвърдете, за да продължите.",
@@ -51,7 +52,12 @@
"FileManager.title.createdAt": "Създаден на",
"FileManager.title.size": "Размер",
"FileManager.title.title": "Файл",
"FileManager.total.allSelectedCount": "Всички {{count}} елемента са избрани.",
"FileManager.total.allSelectedFallback": "Всички резултати са избрани.",
"FileManager.total.fileCount": "Общо {{count}} елемента",
"FileManager.total.loadedSelectedCount": "Избрани са {{count}} заредени елемента.",
"FileManager.total.selectAll": "Избери всички {{count}} елемента",
"FileManager.total.selectAllFallback": "Избери всички елементи",
"FileManager.total.selectedCount": "Избрани {{count}} елемента",
"FileManager.view.list": "Изглед списък",
"FileManager.view.masonry": "Изглед мрежа",
+15
View File
@@ -607,6 +607,7 @@
"time.today": "Днес",
"time.yesterday": "Вчера",
"user.agents": "Агенти",
"user.cancel": "Отказ",
"user.downloads": "Изтегляния",
"user.editProfile": "Редактирай профил",
"user.favoriteAgents": "Запазени агенти",
@@ -616,6 +617,9 @@
"user.following": "Следва",
"user.forkedAgentGroups": "Групи с разклонени агенти",
"user.forkedAgents": "Разклонени агенти",
"user.githubUrl": "URL на GitHub хранилище",
"user.githubUrlInvalid": "Моля, въведете валиден URL на GitHub хранилище",
"user.githubUrlRequired": "Моля, въведете URL на GitHub хранилище",
"user.login": "Стани създател",
"user.logout": "Изход",
"user.myProfile": "Моят профил",
@@ -624,9 +628,13 @@
"user.noFavoritePlugins": "Няма запазени умения",
"user.noForkedAgentGroups": "Все още няма групи с разклонени агенти",
"user.noForkedAgents": "Все още няма разклонени агенти",
"user.noPlugins": "Този потребител все още не е публикувал никакви плъгини",
"user.noSkills": "Този потребител все още не е публикувал никакви умения",
"user.plugins": "Плъгини",
"user.publishedAgents": "Създадени агенти",
"user.publishedGroups": "Създадени групи",
"user.searchPlaceholder": "Търсене по име или описание...",
"user.skills": "Умения",
"user.statusFilter.all": "Всички",
"user.statusFilter.archived": "Архивирани",
"user.statusFilter.deprecated": "Остарели",
@@ -634,6 +642,13 @@
"user.statusFilter.forked": "Разклонени",
"user.statusFilter.published": "Публикувани",
"user.statusFilter.unpublished": "В процес на преглед",
"user.submit": "Изпрати",
"user.submitRepo": "Изпрати хранилище",
"user.submitRepoDescription": "Изпратете вашето GitHub хранилище, за да импортирате вашите умения или MCPs в общността.",
"user.submitRepoError": "Неуспешно изпращане на хранилището. Моля, опитайте отново.",
"user.submitRepoHint": "Хранилището ще бъде прегледано преди да бъде публикувано.",
"user.submitRepoSuccess": "Хранилището е изпратено успешно! Ще бъде прегледано скоро.",
"user.submitRepoTitle": "Изпратете вашето хранилище",
"user.tabs.favorites": "Любими",
"user.tabs.forkedAgents": "Разклонени",
"user.tabs.publishedAgents": "Създадени",
+9
View File
@@ -1,4 +1,13 @@
{
"gateway.description": "Описание",
"gateway.descriptionPlaceholder": "По избор",
"gateway.deviceName": "Име на устройството",
"gateway.deviceNamePlaceholder": "Въведете име на устройството",
"gateway.enableConnection": "Свързване с шлюза",
"gateway.statusConnected": "Свързан с шлюза",
"gateway.statusConnecting": "Свързване с шлюза...",
"gateway.statusDisconnected": "Не е свързан с шлюза",
"gateway.title": "Шлюз на устройството",
"navigation.chat": "Чат",
"navigation.discover": "Откриване",
"navigation.discoverAssistants": "Откриване на Асистенти",
+16 -9
View File
@@ -4,6 +4,9 @@
"error.retry": "Презареди",
"error.stack": "Стек на грешките",
"error.title": "Упс, нещо се обърка..",
"exceededContext.compact": "Компактен контекст",
"exceededContext.desc": "Разговорът е надвишил лимита на контекстния прозорец. Можете да компактирате контекста, за да компресирате историята и да продължите разговора.",
"exceededContext.title": "Надвишен контекстен прозорец",
"fetchError.detail": "Подробности за грешката",
"fetchError.title": "Заявката не бе успешна",
"import.importConfigFile.description": "Причина за грешката: {{reason}}",
@@ -69,15 +72,15 @@
"response.ExceededContextWindow": "Съдържанието на заявката надвишава допустимата дължина за модела. Намалете съдържанието и опитайте отново.",
"response.ExceededContextWindowCloud": "Разговорът е твърде дълъг за обработка. Моля, редактирайте последното си съобщение, за да намалите входа, или изтрийте някои съобщения и опитайте отново.",
"response.FreePlanLimit": "В момента използвате безплатен план и не можете да използвате тази функция. Моля, преминете към платен план.",
"response.GoogleAIBlockReason.BLOCKLIST": "Съдържанието ви съдържа забранени термини. Моля, прегледайте и редактирайте входа си и опитайте отново.",
"response.GoogleAIBlockReason.IMAGE_SAFETY": "Генерираното изображение бе блокирано поради съображения за безопасност. Моля, променете заявката си.",
"response.GoogleAIBlockReason.LANGUAGE": "Използваният език не се поддържа. Опитайте отново на английски или друг поддържан език.",
"response.GoogleAIBlockReason.OTHER": "Съдържанието бе блокирано по неизвестна причина. Опитайте да преформулирате заявката си.",
"response.GoogleAIBlockReason.PROHIBITED_CONTENT": "Заявката ви може да съдържа забранено съдържание. Моля, коригирайте я според указанията за използване.",
"response.GoogleAIBlockReason.RECITATION": "Съдържанието ви бе блокирано поради възможни авторски права. Използвайте оригинално съдържание или преформулирайте заявката си.",
"response.GoogleAIBlockReason.SAFETY": "Съдържанието ви бе блокирано поради политики за безопасност. Моля, коригирайте заявката си.",
"response.GoogleAIBlockReason.SPII": "Съдържанието ви може да съдържа чувствителна лична информация. Моля, премахнете я и опитайте отново.",
"response.GoogleAIBlockReason.default": "Съдържанието е блокирано: {{blockReason}}. Моля, коригирайте заявката си и опитайте отново.",
"response.GoogleAIBlockReason.BLOCKLIST": "Съдържанието включва блокирани термини. Моля, преформулирайте и опитайте отново.",
"response.GoogleAIBlockReason.IMAGE_SAFETY": "Генерираното изображение беше блокирано поради съображения за безопасност. Моля, опитайте да модифицирате заявката си.",
"response.GoogleAIBlockReason.LANGUAGE": "Заявеният език не се поддържа. Моля, опитайте отново на поддържан език.",
"response.GoogleAIBlockReason.OTHER": "Съдържанието беше блокирано по неизвестна причина. Моля, преформулирайте и опитайте отново.",
"response.GoogleAIBlockReason.PROHIBITED_CONTENT": "Съдържанието може да съдържа забранено съдържание. Моля, коригирайте го и опитайте отново.",
"response.GoogleAIBlockReason.RECITATION": "Съдържанието беше блокирано поради риск от рецитация. Моля, използвайте по-оригинални формулировки и опитайте отново.",
"response.GoogleAIBlockReason.SAFETY": "Съдържанието беше блокирано поради съображения за безопасност. Моля, коригирайте го и опитайте отново.",
"response.GoogleAIBlockReason.SPII": "Съдържанието може да включва чувствителна лична информация (SPII). Моля, премахнете чувствителните детайли и опитайте отново.",
"response.GoogleAIBlockReason.default": "Съдържанието беше блокирано ({{blockReason}}). Моля, коригирайте го и опитайте отново.",
"response.InsufficientBudgetForModel": "Вашите оставащи кредити не са достатъчни за този модел. Моля, заредете кредити, надградете плана си или опитайте с по-евтин модел.",
"response.InsufficientQuota": "Съжаляваме, достигнат е лимитът за този ключ. Проверете баланса си или увеличете квотата.",
"response.InvalidAccessCode": "Невалиден или празен код за достъп. Въведете правилния код или добавете персонализиран API ключ.",
@@ -120,6 +123,10 @@
"supervisor.decisionFailed": "Хостът на групата не функционира. Проверете конфигурацията му – модел, API ключ и крайна точка.",
"testConnectionFailed": "Неуспешна тестова връзка: {{error}}",
"tts.responseError": "Заявката към услугата не бе успешна. Проверете конфигурацията или опитайте отново.",
"unknownError.copyTraceId": "ID на следата е копиран",
"unknownError.desc": "Възникна неочаквана грешка. Можете да опитате отново или да докладвате за проблема.",
"unknownError.retry": "Опитай отново",
"unknownError.title": "Опа, заявката си почива",
"unlock.addProxyUrl": "Добавете OpenAI прокси URL (по избор)",
"unlock.apiKey.description": "Въведете вашия {{name}} API ключ, за да започнете сесията",
"unlock.apiKey.imageGenerationDescription": "Въведете вашия {{name}} API ключ, за да започнете генериране",
+1
View File
@@ -137,6 +137,7 @@
"uploadDock.body.item.processing": "Обработка на файл...",
"uploadDock.body.item.restTime": "Оставащо време: {{time}}",
"uploadDock.fileQueueInfo": "Качват се първите {{count}} файла, {{remaining}} остават в опашката",
"uploadDock.header.cancelAll": "Отказ на всички",
"uploadDock.totalCount": "Общо {{count}} елемента",
"uploadDock.uploadStatus.cancelled": "Качването е отменено",
"uploadDock.uploadStatus.error": "Грешка при качване",
+13
View File
@@ -16,6 +16,15 @@
"callback.titles.error": "Удостоверяването не бе успешно",
"callback.titles.loading": "Удостоверяване в LobeHub Market",
"callback.titles.success": "Удостоверяването е успешно",
"claimResources.claim": "Претендирай избраните",
"claimResources.description": "Намерихме ресурси, свързани с вашия акаунт, които можете да претендирате:",
"claimResources.error": "Неуспешно претендиране на ресурси. Моля, опитайте отново.",
"claimResources.mcpSection": "MCP Сървъри",
"claimResources.selectedCount": "{{count}} избран(и) елемент(и)",
"claimResources.skillSection": "Умения",
"claimResources.skip": "Пропусни",
"claimResources.success": "Успешно претендирани {{count}} ресурс(а)",
"claimResources.title": "Претендирайте вашите ресурси",
"errors.authorizationFailed": "Удостоверяването не бе успешно, моля опитайте отново.",
"errors.browserOnly": "Процесът на удостоверяване може да бъде стартиран само в браузър.",
"errors.codeConsumed": "Кодът за удостоверяване вече е използван. Моля, опитайте отново.",
@@ -75,6 +84,10 @@
"profileSetup.fields.website.placeholder": "URL адрес на личен уебсайт",
"profileSetup.getStarted": "Започни",
"profileSetup.save": "Запази",
"profileSetup.socialLinks.connectProvider": "Свържете {{provider}}",
"profileSetup.socialLinks.connected": "Свързано",
"profileSetup.socialLinks.connecting": "Свързване...",
"profileSetup.socialLinks.disconnect": "Прекъснете връзката",
"profileSetup.socialLinks.title": "Социални връзки",
"profileSetup.success": "Профилът е успешно обновен",
"profileSetup.titleEdit": "Редактирай профила",
+7 -11
View File
@@ -307,21 +307,23 @@
"claude-3-haiku-20240307.description": "Claude 3 Haiku е най-бързият и най-компактен модел на Anthropic, проектиран за почти мигновени отговори с бърза и точна производителност.",
"claude-3-opus-20240229.description": "Claude 3 Opus е най-мощният модел на Anthropic за силно сложни задачи, отличаващ се с производителност, интелигентност, плавност и разбиране.",
"claude-3-sonnet-20240229.description": "Claude 3 Sonnet балансира интелигентност и скорост за корпоративни натоварвания, осигурявайки висока полезност на по-ниска цена и надеждно мащабно внедряване.",
"claude-3.5-sonnet.description": "Claude 3.5 Sonnet се отличава в програмиране, писане и сложни разсъждения.",
"claude-3.7-sonnet-thought.description": "Claude 3.7 Sonnet с разширено мислене за задачи, изискващи сложни разсъждения.",
"claude-3.7-sonnet.description": "Claude 3.7 Sonnet е надградена версия с разширен контекст и възможности.",
"claude-haiku-4-5-20251001.description": "Claude Haiku 4.5 е най-бързият и интелигентен модел Haiku на Anthropic, с мълниеносна скорост и разширено мислене.",
"claude-haiku-4.5.description": "Claude Haiku 4.5 е бърз и ефективен модел за различни задачи.",
"claude-haiku-4.5.description": "Claude Haiku 4.5 е най-бързият и най-умен Haiku модел на Anthropic, с мълниеносна скорост и разширено разсъждение.",
"claude-opus-4-1-20250805-thinking.description": "Claude Opus 4.1 Thinking е усъвършенстван вариант, който може да разкрие процеса си на разсъждение.",
"claude-opus-4-1-20250805.description": "Claude Opus 4.1 е най-новият и най-способен модел на Anthropic за силно сложни задачи, отличаващ се с производителност, интелигентност, плавност и разбиране.",
"claude-opus-4-20250514.description": "Claude Opus 4 е най-мощният модел на Anthropic за силно сложни задачи, отличаващ се с производителност, интелигентност, плавност и разбиране.",
"claude-opus-4-5-20251101.description": "Claude Opus 4.5 е флагманският модел на Anthropic, комбиниращ изключителна интелигентност с мащабируема производителност, идеален за сложни задачи, изискващи най-висококачествени отговори и разсъждение.",
"claude-opus-4-6.description": "Claude Opus 4.6 е най-интелигентният модел на Anthropic за изграждане на агенти и програмиране.",
"claude-opus-4.5.description": "Claude Opus 4.5 е водещият модел на Anthropic, съчетаващ първокласен интелект с мащабируемо представяне за сложни задачи с високо качество на разсъжденията.",
"claude-opus-4.6-fast.description": "Claude Opus 4.6 е най-интелигентният модел на Anthropic за създаване на агенти и програмиране.",
"claude-opus-4.6.description": "Claude Opus 4.6 е най-интелигентният модел на Anthropic за създаване на агенти и програмиране.",
"claude-sonnet-4-20250514-thinking.description": "Claude Sonnet 4 Thinking може да генерира почти мигновени отговори или разширено стъпково мислене с видим процес.",
"claude-sonnet-4-20250514.description": "Claude Sonnet 4 е най-интелигентният модел на Anthropic досега, предлагащ почти мигновени отговори или разширено мислене стъпка по стъпка с фино управление за API потребители.",
"claude-sonnet-4-5-20250929.description": "Claude Sonnet 4.5 е най-интелигентният модел на Anthropic досега.",
"claude-sonnet-4-6.description": "Claude Sonnet 4.6 е най-добрата комбинация от скорост и интелигентност на Anthropic.",
"claude-sonnet-4.description": "Claude Sonnet 4 е най-новото поколение с подобрена производителност във всички задачи.",
"claude-sonnet-4.5.description": "Claude Sonnet 4.5 е най-интелигентният модел на Anthropic до момента.",
"claude-sonnet-4.6.description": "Claude Sonnet 4.6 е най-добрата комбинация от скорост и интелигентност на Anthropic.",
"claude-sonnet-4.description": "Claude Sonnet 4 може да генерира почти мигновени отговори или разширено стъпка по стъпка разсъждение, което потребителите могат да видят. Потребителите на API могат фино да контролират колко дълго моделът разсъждава.",
"codegeex-4.description": "CodeGeeX-4 е мощен AI асистент за програмиране, който поддържа многоезични въпроси и допълване на код, повишавайки продуктивността на разработчиците.",
"codegeex4-all-9b.description": "CodeGeeX4-ALL-9B е многоезичен модел за генериране на код, който поддържа допълване и създаване на код, интерпретиране, уеб търсене, извикване на функции и въпроси на ниво хранилище. Подходящ е за широк спектър от софтуерни сценарии и е водещ модел под 10 милиарда параметри.",
"codegemma.description": "CodeGemma е лек модел за разнообразни програмни задачи, позволяващ бърза итерация и интеграция.",
@@ -655,7 +657,6 @@
"google/text-embedding-005.description": "Модел за вграждане на текст, фокусиран върху английски език, оптимизиран за задачи с код и английски език.",
"google/text-multilingual-embedding-002.description": "Многоезичен модел за вграждане на текст, оптимизиран за задачи с кръстосан езиков обхват на много езици.",
"gpt-3.5-turbo-0125.description": "GPT 3.5 Turbo за генериране и разбиране на текст; в момента сочи към gpt-3.5-turbo-0125.",
"gpt-3.5-turbo-0613.description": "GPT 3.5 Turbo е бърз и ефективен модел за различни задачи.",
"gpt-3.5-turbo-1106.description": "GPT 3.5 Turbo за генериране и разбиране на текст; в момента сочи към gpt-3.5-turbo-0125.",
"gpt-3.5-turbo-instruct.description": "GPT 3.5 Turbo за задачи с генериране и разбиране на текст, оптимизиран за следване на инструкции.",
"gpt-3.5-turbo.description": "GPT 3.5 Turbo за генериране и разбиране на текст; в момента сочи към gpt-3.5-turbo-0125.",
@@ -666,12 +667,10 @@
"gpt-4-1106-preview.description": "Най-новият GPT-4 Turbo добавя възможности за визуално разпознаване. Визуалните заявки поддържат JSON режим и извикване на функции. Това е рентабилен мултимодален модел, който балансира точността и ефективността за приложения в реално време.",
"gpt-4-32k-0613.description": "GPT-4 предлага по-голям контекстов прозорец за обработка на по-дълги входове в сценарии, изискващи интеграция на широка информация и анализ на данни.",
"gpt-4-32k.description": "GPT-4 предлага по-голям контекстов прозорец за обработка на по-дълги входове в сценарии, изискващи интеграция на широка информация и анализ на данни.",
"gpt-4-o-preview.description": "GPT-4o е най-усъвършенстваният мултимодален модел, който обработва текстови и визуални входове.",
"gpt-4-turbo-2024-04-09.description": "Най-новият GPT-4 Turbo добавя възможности за визуално разпознаване. Визуалните заявки поддържат JSON режим и извикване на функции. Това е рентабилен мултимодален модел, който балансира точността и ефективността за приложения в реално време.",
"gpt-4-turbo-preview.description": "Най-новият GPT-4 Turbo добавя възможности за визуално разпознаване. Визуалните заявки поддържат JSON режим и извикване на функции. Това е рентабилен мултимодален модел, който балансира точността и ефективността за приложения в реално време.",
"gpt-4-turbo.description": "Най-новият GPT-4 Turbo добавя възможности за визуално разпознаване. Визуалните заявки поддържат JSON режим и извикване на функции. Това е рентабилен мултимодален модел, който балансира точността и ефективността за приложения в реално време.",
"gpt-4-vision-preview.description": "Предварителен преглед на GPT-4 Vision, създаден за задачи по анализ и обработка на изображения.",
"gpt-4.1-2025-04-14.description": "GPT-4.1 е водещият модел за сложни задачи, идеален за междудисциплинарно решаване на проблеми.",
"gpt-4.1-mini.description": "GPT-4.1 mini балансира интелигентност, скорост и цена, което го прави привлекателен за множество приложения.",
"gpt-4.1-nano.description": "GPT-4.1 nano е най-бързият и най-рентабилен модел от серията GPT-4.1.",
"gpt-4.1.description": "GPT-4.1 е водещият ни модел за сложни задачи и решаване на проблеми в различни области.",
@@ -681,7 +680,6 @@
"gpt-4o-2024-08-06.description": "ChatGPT-4o е динамичен модел, актуализиран в реално време. Съчетава силно езиково разбиране и генериране за мащабни приложения като клиентска поддръжка, образование и техническа помощ.",
"gpt-4o-2024-11-20.description": "ChatGPT-4o е динамичен модел, актуализиран в реално време, който съчетава силно разбиране и генериране за мащабни приложения като клиентска поддръжка, образование и техническа помощ.",
"gpt-4o-audio-preview.description": "Предварителен преглед на GPT-4o Audio модел с аудио вход и изход.",
"gpt-4o-mini-2024-07-18.description": "GPT-4o mini е икономично решение за широк спектър от текстови и визуални задачи.",
"gpt-4o-mini-audio-preview.description": "GPT-4o mini Audio модел с аудио вход и изход.",
"gpt-4o-mini-realtime-preview.description": "GPT-4o-mini вариант в реално време с аудио и текстов вход/изход в реално време.",
"gpt-4o-mini-search-preview.description": "GPT-4o mini Search Preview е обучен да разбира и изпълнява заявки за уеб търсене чрез Chat Completions API. Уеб търсенето се таксува на извикване на инструмент в допълнение към разходите за токени.",
@@ -1249,9 +1247,7 @@
"tencent/Hunyuan-A13B-Instruct.description": "Hunyuan-A13B-Instruct използва общо 80B параметъра с 13B активни, за да съответства на по-големи модели. Поддържа хибридно бързо/бавнопотоцово разсъждение, стабилно разбиране на дълги текстове и водещи способности на агенти в BFCL-v3 и τ-Bench. GQA и мулти-квантови формати позволяват ефективно извеждане.",
"tencent/Hunyuan-MT-7B.description": "Моделът за превод Hunyuan включва Hunyuan-MT-7B и ансамбъла Hunyuan-MT-Chimera. Hunyuan-MT-7B е лек модел с 7B параметъра, поддържащ 33 езика плюс 5 китайски малцинствени езика. В WMT25 заема първо място в 30 от 31 езикови двойки. Tencent Hunyuan използва пълен тренировъчен процес от предобучение до SFT, превод чрез RL и ансамблово RL, постигайки водеща производителност за своя размер с ефективно и лесно внедряване.",
"text-embedding-3-large.description": "Най-способният модел за вграждане за задачи на английски и други езици.",
"text-embedding-3-small-inference.description": "Embedding V3 small (Inference) модел за текстови вграждания.",
"text-embedding-3-small.description": "Ефективен, икономичен модел от ново поколение за вграждане, подходящ за извличане и RAG сценарии.",
"text-embedding-ada-002.description": "Embedding V2 Ada модел за текстови вграждания.",
"thudm/glm-4-32b.description": "GLM-4-32B-0414 е двуезичен (китайски/английски) модел с отворени тегла и 32B параметъра, оптимизиран за генериране на код, извикване на функции и агентни задачи. Предобучен върху 15T висококачествени и логически наситени данни и допълнително усъвършенстван чрез подравняване с човешки предпочитания, отхвърляне на проби и RL. Отличава се в сложно разсъждение, генериране на артефакти и структурирани изходи, достигайки нивото на GPT-4o и DeepSeek-V3-0324 в множество бенчмаркове.",
"thudm/glm-4-32b:free.description": "GLM-4-32B-0414 е двуезичен (китайски/английски) модел с отворени тегла и 32B параметъра, оптимизиран за генериране на код, извикване на функции и агентни задачи. Предобучен върху 15T висококачествени и логически наситени данни и допълнително усъвършенстван чрез подравняване с човешки предпочитания, отхвърляне на проби и RL. Отличава се в сложно разсъждение, генериране на артефакти и структурирани изходи, достигайки нивото на GPT-4o и DeepSeek-V3-0324 в множество бенчмаркове.",
"thudm/glm-4-9b-chat.description": "Отворената версия на най-новия предобучен модел GLM-4 от Zhipu AI.",
+12
View File
@@ -0,0 +1,12 @@
{
"image_generation_completed": "Изображението \"{{prompt}}\" беше успешно генерирано",
"image_generation_completed_title": "Изображението е генерирано",
"inbox.archiveAll": "Архивирай всички",
"inbox.empty": "Все още няма известия",
"inbox.emptyUnread": "Няма непрочетени известия",
"inbox.filterUnread": "Показвай само непрочетените",
"inbox.markAllRead": "Маркирай всички като прочетени",
"inbox.title": "Известия",
"video_generation_completed": "Видеото \"{{prompt}}\" беше успешно генерирано",
"video_generation_completed_title": "Видеото е генерирано"
}
+7
View File
@@ -443,6 +443,12 @@
"myAgents.status.published": "Публикуван",
"myAgents.status.unpublished": "Скрит",
"myAgents.title": "Моите публикувани агенти",
"notification.email.desc": "Получавайте известия по имейл, когато се случват важни събития",
"notification.email.title": "Известия по имейл",
"notification.enabled": "Активирано",
"notification.inbox.desc": "Показване на известия в приложението",
"notification.inbox.title": "Известия в пощенската кутия",
"notification.title": "Канали за известия",
"plugin.addMCPPlugin": "Добавяне на MCP",
"plugin.addTooltip": "Персонализирани умения",
"plugin.clearDeprecated": "Премахване на остарели умения",
@@ -807,6 +813,7 @@
"tab.manualFill": "Ръчно попълване",
"tab.manualFill.desc": "Ръчно конфигуриране на персонализирано MCP умение",
"tab.memory": "Памет",
"tab.notification": "Известия",
"tab.profile": "Моят акаунт",
"tab.provider": "Доставчик на AI услуги",
"tab.proxy": "Мрежов прокси",
+4
View File
@@ -54,6 +54,7 @@
"credits.autoTopUp.upgradeHint": "Абонирайте се за платен план, за да активирате автоматичното презареждане",
"credits.autoTopUp.validation.targetMustExceedThreshold": "Целевият баланс трябва да бъде по-голям от прага",
"credits.packages.auto": "Автоматично",
"credits.packages.charged": "Таксувани ${{amount}}",
"credits.packages.expired": "Изтекъл",
"credits.packages.expiresIn": "Изтича след {{days}} дни",
"credits.packages.expiresToday": "Изтича днес",
@@ -256,6 +257,9 @@
"plans.payonce.ok": "Потвърди избора",
"plans.payonce.popconfirm": "След еднократно плащане трябва да изчакаш изтичането на абонамента, за да смениш план или цикъл на плащане. Потвърди избора си.",
"plans.payonce.tooltip": "При еднократно плащане трябва да изчакаш изтичането на абонамента, за да смениш план или цикъл на плащане",
"plans.payonce.upgradeOk": "Потвърдете надграждането",
"plans.payonce.upgradePopconfirm": "Оставащата стойност от текущия ви план ще бъде приложена като отстъпка към новия план.",
"plans.payonce.upgradePopconfirmNoProration": "Ще бъдете таксувани с пълната цена на новия план. Текущият ви план ще бъде заменен незабавно.",
"plans.pendingDowngrade": "Очакващо понижение",
"plans.plan.enterprise.contactSales": "Свържи се с търговски представител",
"plans.plan.enterprise.title": "Бизнес",
+26 -1
View File
@@ -12,7 +12,13 @@
"channel.botTokenPlaceholderNew": "Fügen Sie hier Ihr Bot-Token ein",
"channel.charLimit": "Zeichenlimit",
"channel.charLimitHint": "Maximale Anzahl von Zeichen pro Nachricht",
"channel.concurrency": "Konkurrenzmodus",
"channel.concurrencyDebounce": "Entprellen",
"channel.concurrencyHint": "Warteschlange verarbeitet Nachrichten nacheinander; Entprellen wartet, bis ein Nachrichtenburst abgeschlossen ist, bevor die Verarbeitung beginnt.",
"channel.concurrencyQueue": "Warteschlange",
"channel.connectFailed": "Bot-Verbindung fehlgeschlagen",
"channel.connectQueued": "Bot-Verbindung in der Warteschlange. Sie wird in Kürze gestartet.",
"channel.connectStarting": "Bot wird gestartet. Bitte einen Moment warten.",
"channel.connectSuccess": "Bot erfolgreich verbunden",
"channel.connecting": "Verbinden...",
"channel.connectionConfig": "Verbindungskonfiguration",
@@ -21,6 +27,11 @@
"channel.credentials": "Anmeldedaten",
"channel.debounceMs": "Nachrichten-Merge-Fenster (ms)",
"channel.debounceMsHint": "Wie lange auf zusätzliche Nachrichten warten, bevor sie an den Agenten weitergeleitet werden (ms)",
"channel.deleteAllChannels": "Alle Kanäle entfernen",
"channel.deleteAllConfirm": "Sind Sie sicher, dass Sie alle Kanäle entfernen möchten?",
"channel.deleteAllConfirmDesc": "Diese Aktion entfernt dauerhaft alle Nachrichtenkanäle und deren Konfigurationen für diesen Agenten. Dies kann nicht rückgängig gemacht werden.",
"channel.deleteAllFailed": "Fehler beim Entfernen aller Kanäle",
"channel.deleteAllSuccess": "Alle Kanäle wurden entfernt",
"channel.deleteConfirm": "Sind Sie sicher, dass Sie diesen Kanal entfernen möchten?",
"channel.deleteConfirmDesc": "Diese Aktion entfernt diesen Nachrichtenkanal und seine Konfiguration dauerhaft. Dies kann nicht rückgängig gemacht werden.",
"channel.devWebhookProxyUrl": "HTTPS-Tunnel-URL",
@@ -42,7 +53,12 @@
"channel.encryptKeyPlaceholder": "Optionaler Verschlüsselungsschlüssel",
"channel.endpointUrl": "Webhook-URL",
"channel.endpointUrlHint": "Bitte kopieren Sie diese URL und fügen Sie sie in das Feld <bold>{{fieldName}}</bold> im {{name}} Entwicklerportal ein.",
"channel.exportConfig": "Konfiguration exportieren",
"channel.feishu.description": "Verbinden Sie diesen Assistenten mit Feishu für private und Gruppenchats.",
"channel.importConfig": "Konfiguration importieren",
"channel.importFailed": "Fehler beim Import der Konfiguration",
"channel.importInvalidFormat": "Ungültiges Format der Konfigurationsdatei",
"channel.importSuccess": "Konfiguration erfolgreich importiert",
"channel.lark.description": "Verbinden Sie diesen Assistenten mit Lark für private und Gruppenchats.",
"channel.openPlatform": "Offene Plattform",
"channel.platforms": "Plattformen",
@@ -54,6 +70,7 @@
"channel.removeChannel": "Kanal entfernen",
"channel.removeFailed": "Kanal konnte nicht entfernt werden",
"channel.removed": "Kanal entfernt",
"channel.runtimeDisconnected": "Bot getrennt",
"channel.save": "Konfiguration speichern",
"channel.saveFailed": "Konfiguration konnte nicht gespeichert werden",
"channel.saveFirstWarning": "Bitte speichern Sie zuerst die Konfiguration",
@@ -81,10 +98,18 @@
"channel.verificationTokenHint": "Optional. Wird verwendet, um die Quelle von Webhook-Ereignissen zu überprüfen.",
"channel.verificationTokenPlaceholder": "Fügen Sie hier Ihr Verifizierungstoken ein",
"channel.wechat.description": "Verbinden Sie diesen Assistenten mit WeChat über iLink Bot für private und Gruppenchats.",
"channel.wechatBotId": "Bot-ID",
"channel.wechatBotIdHint": "Bot-Kennung, die nach der QR-Code-Autorisierung zugewiesen wurde.",
"channel.wechatConnectedInfo": "Verbundenes WeChat-Konto",
"channel.wechatManagedCredentials": "Dieser Kanal ist bereits über die QR-Code-Autorisierung verbunden. Anmeldedaten werden automatisch verwaltet.",
"channel.wechatQrExpired": "QR-Code abgelaufen. Bitte aktualisieren Sie, um einen neuen zu erhalten.",
"channel.wechatQrRefresh": "QR-Code aktualisieren",
"channel.wechatQrScaned": "QR-Code gescannt. Bitte bestätigen Sie die Anmeldung in WeChat.",
"channel.wechatQrWait": "Öffnen Sie WeChat und scannen Sie den QR-Code, um eine Verbindung herzustellen.",
"channel.wechatRebind": "Erneut über QR-Code binden",
"channel.wechatScanTitle": "WeChat-Bot verbinden",
"channel.wechatScanToConnect": "QR-Code scannen, um eine Verbindung herzustellen"
"channel.wechatScanToConnect": "QR-Code scannen, um eine Verbindung herzustellen",
"channel.wechatTips": "Bitte aktualisieren Sie WeChat auf die neueste Version und starten Sie es neu. Das ClawBot-Plugin wird schrittweise eingeführt. Überprüfen Sie Einstellungen > Plugins, um den Zugriff zu bestätigen.",
"channel.wechatUserId": "WeChat-Benutzer-ID",
"channel.wechatUserIdHint": "WeChat-Konto-Kennung, die durch den Autorisierungsprozess zurückgegeben wurde."
}
+6
View File
@@ -12,6 +12,7 @@
"FileManager.actions.chunkingTooltip": "Datei in mehrere Textsegmente aufteilen und einbetten für semantische Suche und Dateidialog.",
"FileManager.actions.chunkingUnsupported": "Diese Datei unterstützt keine Segmentierung.",
"FileManager.actions.confirmDelete": "Sie sind dabei, diese Datei zu löschen. Nach dem Löschen kann sie nicht wiederhergestellt werden. Bitte bestätigen Sie Ihre Aktion.",
"FileManager.actions.confirmDeleteAllFiles": "Sie sind dabei, alle Ergebnisse in der aktuellen Ansicht zu löschen. Nach dem Löschen können sie nicht wiederhergestellt werden. Bitte bestätigen Sie Ihre Aktion.",
"FileManager.actions.confirmDeleteFolder": "Sie sind dabei, diesen Ordner und seinen gesamten Inhalt zu löschen. Diese Aktion kann nicht rückgängig gemacht werden. Bitte bestätigen Sie Ihre Entscheidung.",
"FileManager.actions.confirmDeleteMultiFiles": "Sie sind dabei, die ausgewählten {{count}} Dateien zu löschen. Nach dem Löschen können sie nicht wiederhergestellt werden. Bitte bestätigen Sie Ihre Aktion.",
"FileManager.actions.confirmRemoveFromLibrary": "Sie sind dabei, {{count}} ausgewählte Datei(en) aus der Bibliothek zu entfernen. Sie bleiben weiterhin unter 'Alle Dateien' verfügbar. Bitte bestätigen Sie, um fortzufahren.",
@@ -51,7 +52,12 @@
"FileManager.title.createdAt": "Erstellt am",
"FileManager.title.size": "Größe",
"FileManager.title.title": "Datei",
"FileManager.total.allSelectedCount": "Alle {{count}} Elemente sind ausgewählt.",
"FileManager.total.allSelectedFallback": "Alle Ergebnisse sind ausgewählt.",
"FileManager.total.fileCount": "Insgesamt {{count}} Elemente",
"FileManager.total.loadedSelectedCount": "{{count}} geladene Elemente ausgewählt.",
"FileManager.total.selectAll": "Alle {{count}} Elemente auswählen",
"FileManager.total.selectAllFallback": "Alle Elemente auswählen",
"FileManager.total.selectedCount": "{{count}} Elemente ausgewählt",
"FileManager.view.list": "Listenansicht",
"FileManager.view.masonry": "Rasteransicht",
+15
View File
@@ -607,6 +607,7 @@
"time.today": "Heute",
"time.yesterday": "Gestern",
"user.agents": "Agenten",
"user.cancel": "Abbrechen",
"user.downloads": "Downloads",
"user.editProfile": "Profil bearbeiten",
"user.favoriteAgents": "Gespeicherte Agenten",
@@ -616,6 +617,9 @@
"user.following": "Folgt",
"user.forkedAgentGroups": "Geforkte Agentengruppen",
"user.forkedAgents": "Geforkte Agenten",
"user.githubUrl": "GitHub-Repository-URL",
"user.githubUrlInvalid": "Bitte geben Sie eine gültige GitHub-Repository-URL ein",
"user.githubUrlRequired": "Bitte geben Sie eine GitHub-Repository-URL ein",
"user.login": "Werde Creator",
"user.logout": "Abmelden",
"user.myProfile": "Mein Profil",
@@ -624,9 +628,13 @@
"user.noFavoritePlugins": "Noch keine gespeicherten Fähigkeiten",
"user.noForkedAgentGroups": "Noch keine geforkten Agentengruppen",
"user.noForkedAgents": "Noch keine geforkten Agenten",
"user.noPlugins": "Dieser Benutzer hat noch keine Plugins veröffentlicht",
"user.noSkills": "Dieser Benutzer hat noch keine Skills veröffentlicht",
"user.plugins": "Plugins",
"user.publishedAgents": "Erstellte Agenten",
"user.publishedGroups": "Erstellte Gruppen",
"user.searchPlaceholder": "Nach Name oder Beschreibung suchen...",
"user.skills": "Skills",
"user.statusFilter.all": "Alle",
"user.statusFilter.archived": "Archiviert",
"user.statusFilter.deprecated": "Veraltet",
@@ -634,6 +642,13 @@
"user.statusFilter.forked": "Abgeleitet",
"user.statusFilter.published": "Veröffentlicht",
"user.statusFilter.unpublished": "In Prüfung",
"user.submit": "Einreichen",
"user.submitRepo": "Repository einreichen",
"user.submitRepoDescription": "Reichen Sie Ihr GitHub-Repository ein, um Ihre Skills oder MCPs der Community hinzuzufügen.",
"user.submitRepoError": "Das Einreichen des Repositorys ist fehlgeschlagen. Bitte versuchen Sie es erneut.",
"user.submitRepoHint": "Das Repository wird vor der Veröffentlichung überprüft.",
"user.submitRepoSuccess": "Repository erfolgreich eingereicht! Es wird in Kürze überprüft.",
"user.submitRepoTitle": "Reichen Sie Ihr Repository ein",
"user.tabs.favorites": "Favoriten",
"user.tabs.forkedAgents": "Geforkt",
"user.tabs.publishedAgents": "Erstellt",
+9
View File
@@ -1,4 +1,13 @@
{
"gateway.description": "Beschreibung",
"gateway.descriptionPlaceholder": "Optional",
"gateway.deviceName": "Gerätename",
"gateway.deviceNamePlaceholder": "Gerätenamen eingeben",
"gateway.enableConnection": "Mit Gateway verbinden",
"gateway.statusConnected": "Mit Gateway verbunden",
"gateway.statusConnecting": "Verbindung zum Gateway wird hergestellt...",
"gateway.statusDisconnected": "Nicht mit Gateway verbunden",
"gateway.title": "Geräte-Gateway",
"navigation.chat": "Chat",
"navigation.discover": "Entdecken",
"navigation.discoverAssistants": "Assistenten entdecken",
+16 -9
View File
@@ -4,6 +4,9 @@
"error.retry": "Neu laden",
"error.stack": "Fehlerstapel",
"error.title": "Hoppla, da ist etwas schiefgelaufen..",
"exceededContext.compact": "Kontext komprimieren",
"exceededContext.desc": "Das Gespräch hat das Kontextfensterlimit überschritten. Sie können den Kontext komprimieren, um den Verlauf zu verkürzen und weiter zu chatten.",
"exceededContext.title": "Kontextfenster überschritten",
"fetchError.detail": "Fehlerdetails",
"fetchError.title": "Anfrage fehlgeschlagen",
"import.importConfigFile.description": "Fehlerursache: {{reason}}",
@@ -69,15 +72,15 @@
"response.ExceededContextWindow": "Der Inhalt überschreitet die maximale Länge. Bitte kürzen Sie den Text.",
"response.ExceededContextWindowCloud": "Das Gespräch ist zu lang, um verarbeitet zu werden. Bitte bearbeiten Sie Ihre letzte Nachricht, um die Eingabe zu reduzieren, oder löschen Sie einige Nachrichten und versuchen Sie es erneut.",
"response.FreePlanLimit": "Sie nutzen derzeit den kostenlosen Plan. Bitte upgraden Sie, um fortzufahren.",
"response.GoogleAIBlockReason.BLOCKLIST": "Ihr Inhalt enthält verbotene Begriffe. Bitte überarbeiten Sie Ihre Eingabe.",
"response.GoogleAIBlockReason.IMAGE_SAFETY": "Das generierte Bild wurde aus Sicherheitsgründen blockiert.",
"response.GoogleAIBlockReason.LANGUAGE": "Die verwendete Sprache wird nicht unterstützt. Bitte verwenden Sie Englisch.",
"response.GoogleAIBlockReason.OTHER": "Der Inhalt wurde aus unbekanntem Grund blockiert.",
"response.GoogleAIBlockReason.PROHIBITED_CONTENT": "Ihre Anfrage enthält möglicherweise verbotene Inhalte.",
"response.GoogleAIBlockReason.RECITATION": "Ihr Inhalt wurde wegen möglicher Urheberrechtsprobleme blockiert.",
"response.GoogleAIBlockReason.SAFETY": "Ihr Inhalt wurde aus Sicherheitsgründen blockiert.",
"response.GoogleAIBlockReason.SPII": "Ihr Inhalt enthält möglicherweise sensible persönliche Daten.",
"response.GoogleAIBlockReason.default": "Inhalt blockiert: {{blockReason}}. Bitte passen Sie Ihre Anfrage an.",
"response.GoogleAIBlockReason.BLOCKLIST": "Der Inhalt enthält gesperrte Begriffe. Bitte formulieren Sie um und versuchen Sie es erneut.",
"response.GoogleAIBlockReason.IMAGE_SAFETY": "Das generierte Bild wurde aus Sicherheitsgründen blockiert. Bitte ändern Sie Ihre Anfrage und versuchen Sie es erneut.",
"response.GoogleAIBlockReason.LANGUAGE": "Die angeforderte Sprache wird nicht unterstützt. Bitte versuchen Sie es in einer unterstützten Sprache erneut.",
"response.GoogleAIBlockReason.OTHER": "Der Inhalt wurde aus unbekannten Gründen blockiert. Bitte formulieren Sie um und versuchen Sie es erneut.",
"response.GoogleAIBlockReason.PROHIBITED_CONTENT": "Der Inhalt könnte verbotene Inhalte enthalten. Bitte passen Sie ihn an und versuchen Sie es erneut.",
"response.GoogleAIBlockReason.RECITATION": "Der Inhalt wurde aufgrund eines Rezitationsrisikos blockiert. Bitte verwenden Sie originellere Formulierungen und versuchen Sie es erneut.",
"response.GoogleAIBlockReason.SAFETY": "Der Inhalt wurde aus Sicherheitsgründen blockiert. Bitte passen Sie ihn an und versuchen Sie es erneut.",
"response.GoogleAIBlockReason.SPII": "Der Inhalt könnte sensible persönliche Informationen (SPII) enthalten. Bitte entfernen Sie sensible Details und versuchen Sie es erneut.",
"response.GoogleAIBlockReason.default": "Der Inhalt wurde blockiert ({{blockReason}}). Bitte passen Sie ihn an und versuchen Sie es erneut.",
"response.InsufficientBudgetForModel": "Ihre verbleibenden Guthaben reichen für dieses Modell nicht aus. Bitte laden Sie Guthaben auf, aktualisieren Sie Ihren Plan oder versuchen Sie ein günstigeres Modell.",
"response.InsufficientQuota": "Das Kontingent für diesen Schlüssel ist aufgebraucht. Bitte prüfen Sie Ihr Guthaben.",
"response.InvalidAccessCode": "Ungültiger oder leerer Zugangscode. Bitte geben Sie den richtigen Code ein.",
@@ -120,6 +123,10 @@
"supervisor.decisionFailed": "Der Gruppen-Host funktioniert nicht. Bitte Host-Konfiguration prüfen.",
"testConnectionFailed": "Verbindungstest fehlgeschlagen: {{error}}",
"tts.responseError": "Dienstanfrage fehlgeschlagen. Bitte Konfiguration prüfen.",
"unknownError.copyTraceId": "Trace-ID kopiert",
"unknownError.desc": "Ein unerwarteter Fehler ist aufgetreten. Sie können es erneut versuchen oder melden unter",
"unknownError.retry": "Erneut versuchen",
"unknownError.title": "Hoppla, die Anfrage hat ein Nickerchen gemacht",
"unlock.addProxyUrl": "OpenAI-Proxy-URL hinzufügen (optional)",
"unlock.apiKey.description": "Geben Sie Ihren {{name}} API-Schlüssel ein, um die Sitzung zu starten",
"unlock.apiKey.imageGenerationDescription": "Geben Sie Ihren {{name}} API-Schlüssel ein, um mit der Generierung zu beginnen",
+1
View File
@@ -137,6 +137,7 @@
"uploadDock.body.item.processing": "Datei wird verarbeitet...",
"uploadDock.body.item.restTime": "Verbleibend {{time}}",
"uploadDock.fileQueueInfo": "Die ersten {{count}} Dateien werden hochgeladen, {{remaining}} verbleiben in der Warteschlange",
"uploadDock.header.cancelAll": "Alle abbrechen",
"uploadDock.totalCount": "Insgesamt {{count}} Elemente",
"uploadDock.uploadStatus.cancelled": "Upload abgebrochen",
"uploadDock.uploadStatus.error": "Upload-Fehler",
+13
View File
@@ -16,6 +16,15 @@
"callback.titles.error": "Autorisierung fehlgeschlagen",
"callback.titles.loading": "LobeHub Market Autorisierung",
"callback.titles.success": "Autorisierung erfolgreich",
"claimResources.claim": "Ausgewählte beanspruchen",
"claimResources.description": "Wir haben Ressourcen gefunden, die mit Ihrem Konto verknüpft sind und die Sie beanspruchen können:",
"claimResources.error": "Ressourcen konnten nicht beansprucht werden. Bitte versuchen Sie es erneut.",
"claimResources.mcpSection": "MCP-Server",
"claimResources.selectedCount": "{{count}} Element(e) ausgewählt",
"claimResources.skillSection": "Fähigkeiten",
"claimResources.skip": "Überspringen",
"claimResources.success": "{{count}} Ressource(n) erfolgreich beansprucht",
"claimResources.title": "Beanspruchen Sie Ihre Ressourcen",
"errors.authorizationFailed": "Autorisierung fehlgeschlagen, bitte versuche es erneut.",
"errors.browserOnly": "Der Autorisierungsvorgang kann nur in einem Browser gestartet werden.",
"errors.codeConsumed": "Der Autorisierungscode wurde bereits verwendet. Bitte versuche es erneut.",
@@ -75,6 +84,10 @@
"profileSetup.fields.website.placeholder": "URL deiner persönlichen Website",
"profileSetup.getStarted": "Loslegen",
"profileSetup.save": "Speichern",
"profileSetup.socialLinks.connectProvider": "{{provider}} verbinden",
"profileSetup.socialLinks.connected": "Verbunden",
"profileSetup.socialLinks.connecting": "Verbinden...",
"profileSetup.socialLinks.disconnect": "Trennen",
"profileSetup.socialLinks.title": "Soziale Netzwerke",
"profileSetup.success": "Profil erfolgreich aktualisiert",
"profileSetup.titleEdit": "Profil bearbeiten",
+7 -11
View File
@@ -307,21 +307,23 @@
"claude-3-haiku-20240307.description": "Claude 3 Haiku ist das schnellste und kompakteste Modell von Anthropic, entwickelt für nahezu sofortige Antworten mit schneller, präziser Leistung.",
"claude-3-opus-20240229.description": "Claude 3 Opus ist das leistungsstärkste Modell von Anthropic für hochkomplexe Aufgaben. Es überzeugt in Leistung, Intelligenz, Sprachfluss und Verständnis.",
"claude-3-sonnet-20240229.description": "Claude 3 Sonnet bietet eine ausgewogene Kombination aus Intelligenz und Geschwindigkeit für Unternehmensanwendungen. Es liefert hohe Nutzbarkeit bei geringeren Kosten und zuverlässiger Skalierbarkeit.",
"claude-3.5-sonnet.description": "Claude 3.5 Sonnet überzeugt durch herausragende Leistungen in den Bereichen Programmierung, Schreiben und komplexes Denken.",
"claude-3.7-sonnet-thought.description": "Claude 3.7 Sonnet mit erweitertem Denkvermögen für anspruchsvolle Aufgaben im Bereich komplexes Schlussfolgern.",
"claude-3.7-sonnet.description": "Claude 3.7 Sonnet ist eine verbesserte Version mit erweitertem Kontext und erweiterten Fähigkeiten.",
"claude-haiku-4-5-20251001.description": "Claude Haiku 4.5 ist das schnellste und intelligenteste Haiku-Modell von Anthropic, mit blitzschneller Geschwindigkeit und erweitertem Denken.",
"claude-haiku-4.5.description": "Claude Haiku 4.5 ist ein schnelles und effizientes Modell für vielfältige Aufgaben.",
"claude-haiku-4.5.description": "Claude Haiku 4.5 ist das schnellste und intelligenteste Haiku-Modell von Anthropic, mit blitzschneller Geschwindigkeit und erweiterten Denkfähigkeiten.",
"claude-opus-4-1-20250805-thinking.description": "Claude Opus 4.1 Thinking ist eine erweiterte Variante, die ihren Denkprozess offenlegen kann.",
"claude-opus-4-1-20250805.description": "Claude Opus 4.1 ist das neueste und leistungsfähigste Modell von Anthropic für hochkomplexe Aufgaben, das in Leistung, Intelligenz, Sprachgewandtheit und Verständnis herausragt.",
"claude-opus-4-20250514.description": "Claude Opus 4 ist das leistungsstärkste Modell von Anthropic für hochkomplexe Aufgaben, das in Leistung, Intelligenz, Sprachgewandtheit und Verständnis herausragt.",
"claude-opus-4-5-20251101.description": "Claude Opus 4.5 ist das Flaggschiffmodell von Anthropic. Es kombiniert herausragende Intelligenz mit skalierbarer Leistung und ist ideal für komplexe Aufgaben, die höchste Qualität bei Antworten und logischem Denken erfordern.",
"claude-opus-4-6.description": "Claude Opus 4.6 ist das intelligenteste Modell von Anthropic für die Entwicklung von Agenten und Programmierung.",
"claude-opus-4.5.description": "Claude Opus 4.5 ist das Flaggschiff-Modell von Anthropic, das erstklassige Intelligenz mit skalierbarer Leistung für komplexe, hochwertige Denkaufgaben kombiniert.",
"claude-opus-4.6-fast.description": "Claude Opus 4.6 ist das intelligenteste Modell von Anthropic für die Entwicklung von Agenten und Programmierung.",
"claude-opus-4.6.description": "Claude Opus 4.6 ist das intelligenteste Modell von Anthropic für die Entwicklung von Agenten und Programmierung.",
"claude-sonnet-4-20250514-thinking.description": "Claude Sonnet 4 Thinking kann nahezu sofortige Antworten oder schrittweises Denken mit sichtbarem Prozess erzeugen.",
"claude-sonnet-4-20250514.description": "Claude Sonnet 4 ist das bisher intelligenteste Modell von Anthropic, das nahezu sofortige Antworten oder erweitertes schrittweises Denken mit fein abgestimmter Kontrolle für API-Nutzer bietet.",
"claude-sonnet-4-5-20250929.description": "Claude Sonnet 4.5 ist das bisher intelligenteste Modell von Anthropic.",
"claude-sonnet-4-6.description": "Claude Sonnet 4.6 ist die beste Kombination aus Geschwindigkeit und Intelligenz von Anthropic.",
"claude-sonnet-4.description": "Claude Sonnet 4 ist die neueste Generation mit verbesserter Leistung in allen Aufgabenbereichen.",
"claude-sonnet-4.5.description": "Claude Sonnet 4.5 ist das bisher intelligenteste Modell von Anthropic.",
"claude-sonnet-4.6.description": "Claude Sonnet 4.6 ist die beste Kombination aus Geschwindigkeit und Intelligenz von Anthropic.",
"claude-sonnet-4.description": "Claude Sonnet 4 kann nahezu sofortige Antworten oder ausführliche schrittweise Überlegungen liefern, die Benutzer sehen können. API-Benutzer können fein steuern, wie lange das Modell nachdenkt.",
"codegeex-4.description": "CodeGeeX-4 ist ein leistungsstarker KI-Coding-Assistent, der mehrsprachige Q&A und Codevervollständigung unterstützt, um die Produktivität von Entwicklern zu steigern.",
"codegeex4-all-9b.description": "CodeGeeX4-ALL-9B ist ein mehrsprachiges Codegenerierungsmodell, das Codevervollständigung, Codeinterpretation, Websuche, Funktionsaufrufe und Q&A auf Repositoriumsebene unterstützt. Es deckt eine Vielzahl von Softwareentwicklungsszenarien ab und ist eines der besten Code-Modelle unter 10 Milliarden Parametern.",
"codegemma.description": "CodeGemma ist ein leichtgewichtiges Modell für verschiedene Programmieraufgaben, das schnelle Iteration und Integration ermöglicht.",
@@ -655,7 +657,6 @@
"google/text-embedding-005.description": "Ein auf Englisch fokussiertes Text-Embedding-Modell, optimiert für Code- und Sprachaufgaben.",
"google/text-multilingual-embedding-002.description": "Ein mehrsprachiges Text-Embedding-Modell, optimiert für sprachübergreifende Aufgaben in vielen Sprachen.",
"gpt-3.5-turbo-0125.description": "GPT 3.5 Turbo für Textgenerierung und -verständnis; verweist derzeit auf gpt-3.5-turbo-0125.",
"gpt-3.5-turbo-0613.description": "GPT 3.5 Turbo ist ein schnelles und effizientes Modell für vielfältige Aufgaben.",
"gpt-3.5-turbo-1106.description": "GPT 3.5 Turbo für Textgenerierung und -verständnis; verweist derzeit auf gpt-3.5-turbo-0125.",
"gpt-3.5-turbo-instruct.description": "GPT 3.5 Turbo für Textgenerierung und -verständnis, optimiert für die Befolgung von Anweisungen.",
"gpt-3.5-turbo.description": "GPT 3.5 Turbo für Textgenerierung und -verständnis; verweist derzeit auf gpt-3.5-turbo-0125.",
@@ -666,12 +667,10 @@
"gpt-4-1106-preview.description": "Das neueste GPT-4 Turbo unterstützt jetzt auch visuelle Eingaben. Visuelle Anfragen unterstützen den JSON-Modus und Funktionsaufrufe. Es ist ein kosteneffizientes multimodales Modell, das Genauigkeit und Effizienz für Echtzeitanwendungen ausbalanciert.",
"gpt-4-32k-0613.description": "GPT-4 bietet ein größeres Kontextfenster zur Verarbeitung längerer Eingaben ideal für umfassende Informationssynthese und Datenanalyse.",
"gpt-4-32k.description": "GPT-4 bietet ein größeres Kontextfenster zur Verarbeitung längerer Eingaben ideal für umfassende Informationssynthese und Datenanalyse.",
"gpt-4-o-preview.description": "GPT-4o ist das fortschrittlichste multimodale Modell und verarbeitet sowohl Text- als auch Bildeingaben.",
"gpt-4-turbo-2024-04-09.description": "Das neueste GPT-4 Turbo unterstützt jetzt auch visuelle Eingaben. Visuelle Anfragen unterstützen den JSON-Modus und Funktionsaufrufe. Es ist ein kosteneffizientes multimodales Modell, das Genauigkeit und Effizienz für Echtzeitanwendungen ausbalanciert.",
"gpt-4-turbo-preview.description": "Das neueste GPT-4 Turbo unterstützt jetzt auch visuelle Eingaben. Visuelle Anfragen unterstützen den JSON-Modus und Funktionsaufrufe. Es ist ein kosteneffizientes multimodales Modell, das Genauigkeit und Effizienz für Echtzeitanwendungen ausbalanciert.",
"gpt-4-turbo.description": "Das neueste GPT-4 Turbo unterstützt jetzt auch visuelle Eingaben. Visuelle Anfragen unterstützen den JSON-Modus und Funktionsaufrufe. Es ist ein kosteneffizientes multimodales Modell, das Genauigkeit und Effizienz für Echtzeitanwendungen ausbalanciert.",
"gpt-4-vision-preview.description": "Vorschau von GPT-4 Vision, entwickelt für Aufgaben der Bildanalyse und -verarbeitung.",
"gpt-4.1-2025-04-14.description": "GPT-4.1 ist das Spitzenmodell für komplexe Aufgaben und ideal für interdisziplinäre Problemlösungen.",
"gpt-4.1-mini.description": "GPT-4.1 mini vereint Intelligenz, Geschwindigkeit und Kostenersparnis ideal für viele Anwendungsfälle.",
"gpt-4.1-nano.description": "GPT-4.1 nano ist das schnellste und kostengünstigste Modell der GPT-4.1-Reihe.",
"gpt-4.1.description": "GPT-4.1 ist unser Flaggschiffmodell für komplexe Aufgaben und domänenübergreifende Problemlösungen.",
@@ -681,7 +680,6 @@
"gpt-4o-2024-08-06.description": "ChatGPT-4o ist ein dynamisches Modell, das in Echtzeit aktualisiert wird. Es kombiniert ein starkes Sprachverständnis mit leistungsfähiger Textgenerierung für großflächige Anwendungsfälle wie Kundensupport, Bildung und technische Unterstützung.",
"gpt-4o-2024-11-20.description": "ChatGPT-4o ist ein dynamisches Modell mit Echtzeit-Updates, das starkes Sprachverständnis und Textgenerierung für großflächige Anwendungsfälle wie Kundensupport, Bildung und technische Hilfe vereint.",
"gpt-4o-audio-preview.description": "GPT-4o Audio-Vorschau-Modell mit Audioeingabe und -ausgabe.",
"gpt-4o-mini-2024-07-18.description": "GPT-4o mini ist eine kosteneffiziente Lösung für ein breites Spektrum an Text- und Bildaufgaben.",
"gpt-4o-mini-audio-preview.description": "GPT-4o Mini Audio-Modell mit Audioeingabe und -ausgabe.",
"gpt-4o-mini-realtime-preview.description": "GPT-4o-mini-Echtzeitvariante mit Audio- und Textein-/ausgabe in Echtzeit.",
"gpt-4o-mini-search-preview.description": "GPT-4o Mini Search Preview ist darauf trainiert, Websuchanfragen über die Chat Completions API zu verstehen und auszuführen. Websuchen werden zusätzlich zu den Tokenkosten pro Tool-Aufruf abgerechnet.",
@@ -1249,9 +1247,7 @@
"tencent/Hunyuan-A13B-Instruct.description": "Hunyuan-A13B-Instruct nutzt insgesamt 80B Parameter, davon 13B aktiv, um mit größeren Modellen zu konkurrieren. Es unterstützt hybrides schnelles/langsames Denken, stabiles Langtextverständnis und führende Agentenfähigkeiten auf BFCL-v3 und τ-Bench. GQA- und Multi-Quant-Formate ermöglichen effiziente Inferenz.",
"tencent/Hunyuan-MT-7B.description": "Das Hunyuan-Übersetzungsmodell umfasst Hunyuan-MT-7B und das Ensemble Hunyuan-MT-Chimera. Hunyuan-MT-7B ist ein leichtgewichtiges 7B-Modell, das 33 Sprachen sowie 5 chinesische Minderheitensprachen unterstützt. Bei WMT25 erzielte es 30 erste Plätze in 31 Sprachpaaren. Tencent Hunyuan verwendet eine vollständige Trainingspipeline von Pretraining über SFT bis hin zu RL für Übersetzung und Ensemble, und erreicht führende Leistung bei einfacher, effizienter Bereitstellung.",
"text-embedding-3-large.description": "Das leistungsfähigste Embedding-Modell für englische und nicht-englische Aufgaben.",
"text-embedding-3-small-inference.description": "Embedding V3 Small (Inference) Modell für Text-Einbettungen.",
"text-embedding-3-small.description": "Ein effizientes, kostengünstiges Next-Gen-Embedding-Modell für Retrieval- und RAG-Szenarien.",
"text-embedding-ada-002.description": "Embedding V2 Ada Modell für Text-Einbettungen.",
"thudm/glm-4-32b.description": "GLM-4-32B-0414 ist ein 32B zweisprachiges (Chinesisch/Englisch) Open-Weights-Modell, optimiert für Codegenerierung, Funktionsaufrufe und Agentenaufgaben. Es wurde mit 15T hochwertigen, reasoning-intensiven Daten vortrainiert und durch menschliche Präferenzanpassung, Rejection Sampling und RL weiter verfeinert. Es überzeugt bei komplexem Denken, Artefakterstellung und strukturierten Ausgaben und erreicht GPT-4o- und DeepSeek-V3-0324-Niveau in mehreren Benchmarks.",
"thudm/glm-4-32b:free.description": "GLM-4-32B-0414 ist ein 32B zweisprachiges (Chinesisch/Englisch) Open-Weights-Modell, optimiert für Codegenerierung, Funktionsaufrufe und Agentenaufgaben. Es wurde mit 15T hochwertigen, reasoning-intensiven Daten vortrainiert und durch menschliche Präferenzanpassung, Rejection Sampling und RL weiter verfeinert. Es überzeugt bei komplexem Denken, Artefakterstellung und strukturierten Ausgaben und erreicht GPT-4o- und DeepSeek-V3-0324-Niveau in mehreren Benchmarks.",
"thudm/glm-4-9b-chat.description": "Die Open-Source-Version des neuesten GLM-4-Pretraining-Modells von Zhipu AI.",
+12
View File
@@ -0,0 +1,12 @@
{
"image_generation_completed": "Bild \"{{prompt}}\" erfolgreich erstellt",
"image_generation_completed_title": "Bild erstellt",
"inbox.archiveAll": "Alle archivieren",
"inbox.empty": "Noch keine Benachrichtigungen",
"inbox.emptyUnread": "Keine ungelesenen Benachrichtigungen",
"inbox.filterUnread": "Nur ungelesene anzeigen",
"inbox.markAllRead": "Alle als gelesen markieren",
"inbox.title": "Benachrichtigungen",
"video_generation_completed": "Video \"{{prompt}}\" erfolgreich erstellt",
"video_generation_completed_title": "Video erstellt"
}
+7
View File
@@ -443,6 +443,12 @@
"myAgents.status.published": "Veröffentlicht",
"myAgents.status.unpublished": "Zurückgezogen",
"myAgents.title": "Meine veröffentlichten Agenten",
"notification.email.desc": "Erhalten Sie E-Mail-Benachrichtigungen, wenn wichtige Ereignisse eintreten",
"notification.email.title": "E-Mail-Benachrichtigungen",
"notification.enabled": "Aktiviert",
"notification.inbox.desc": "Zeigen Sie Benachrichtigungen im In-App-Posteingang an",
"notification.inbox.title": "Posteingangs-Benachrichtigungen",
"notification.title": "Benachrichtigungskanäle",
"plugin.addMCPPlugin": "MCP hinzufügen",
"plugin.addTooltip": "Benutzerdefinierte Fähigkeiten",
"plugin.clearDeprecated": "Veraltete Fähigkeiten entfernen",
@@ -807,6 +813,7 @@
"tab.manualFill": "Manuell ausfüllen",
"tab.manualFill.desc": "Konfigurieren Sie einen benutzerdefinierten MCP-Skill manuell",
"tab.memory": "Speicher",
"tab.notification": "Benachrichtigungen",
"tab.profile": "Mein Konto",
"tab.provider": "KI-Dienstanbieter",
"tab.proxy": "Netzwerk-Proxy",
+4
View File
@@ -54,6 +54,7 @@
"credits.autoTopUp.upgradeHint": "Abonnieren Sie einen kostenpflichtigen Plan, um die automatische Aufladung zu aktivieren",
"credits.autoTopUp.validation.targetMustExceedThreshold": "Das Zielguthaben muss größer als der Schwellenwert sein",
"credits.packages.auto": "Automatisch",
"credits.packages.charged": "Berechnet ${{amount}}",
"credits.packages.expired": "Abgelaufen",
"credits.packages.expiresIn": "Läuft in {{days}} Tagen ab",
"credits.packages.expiresToday": "Läuft heute ab",
@@ -256,6 +257,9 @@
"plans.payonce.ok": "Auswahl bestätigen",
"plans.payonce.popconfirm": "Nach einer Einmalzahlung können Sie den Plan oder Abrechnungszeitraum erst nach Ablauf ändern. Bitte bestätigen Sie Ihre Auswahl.",
"plans.payonce.tooltip": "Bei Einmalzahlung ist ein Wechsel erst nach Ablauf des Abonnements möglich",
"plans.payonce.upgradeOk": "Upgrade bestätigen",
"plans.payonce.upgradePopconfirm": "Der verbleibende Wert Ihres aktuellen Plans wird als Rabatt auf den neuen Plan angerechnet.",
"plans.payonce.upgradePopconfirmNoProration": "Ihnen wird der volle Preis des neuen Plans berechnet. Ihr aktueller Plan wird sofort ersetzt.",
"plans.pendingDowngrade": "Ausstehende Herabstufung",
"plans.plan.enterprise.contactSales": "Vertrieb kontaktieren",
"plans.plan.enterprise.title": "Enterprise",
+26 -3
View File
@@ -12,15 +12,26 @@
"channel.botTokenPlaceholderNew": "Paste your bot token here",
"channel.charLimit": "Character Limit",
"channel.charLimitHint": "Maximum number of characters per message",
"channel.concurrency": "Concurrency Mode",
"channel.concurrencyDebounce": "Debounce",
"channel.concurrencyHint": "Queue processes messages one at a time; Debounce waits for a burst of messages to finish before processing",
"channel.concurrencyQueue": "Queue",
"channel.connectFailed": "Bot connection failed",
"channel.connectQueued": "Bot connection queued. It will start shortly.",
"channel.connectStarting": "Bot is starting. Please wait a moment.",
"channel.connectSuccess": "Bot connected successfully",
"channel.connecting": "Connecting...",
"channel.connectionConfig": "Connection Configuration",
"channel.copied": "Copied to clipboard",
"channel.copy": "Copy",
"channel.credentials": "Credentials",
"channel.debounceMs": "Message Merge Window (ms)",
"channel.debounceMs": "Debounce Window (ms)",
"channel.debounceMsHint": "How long to wait for additional messages before dispatching to the agent (ms)",
"channel.deleteAllChannels": "Remove All Channels",
"channel.deleteAllConfirm": "Are you sure you want to remove all channels?",
"channel.deleteAllConfirmDesc": "This action will permanently remove all message channels and their configurations for this agent. This cannot be undone.",
"channel.deleteAllFailed": "Failed to remove all channels",
"channel.deleteAllSuccess": "All channels removed",
"channel.deleteConfirm": "Are you sure you want to remove this channel?",
"channel.deleteConfirmDesc": "This action will permanently remove this message channel and its configuration. This cannot be undone.",
"channel.devWebhookProxyUrl": "HTTPS Tunnel URL",
@@ -42,7 +53,12 @@
"channel.encryptKeyPlaceholder": "Optional encryption key",
"channel.endpointUrl": "Webhook URL",
"channel.endpointUrlHint": "Please copy this URL and paste it into the <bold>{{fieldName}}</bold> field in the {{name}} Developer Portal.",
"channel.exportConfig": "Export Configuration",
"channel.feishu.description": "Connect this assistant to Feishu for private and group chats.",
"channel.importConfig": "Import Configuration",
"channel.importFailed": "Failed to import configuration",
"channel.importInvalidFormat": "Invalid configuration file format",
"channel.importSuccess": "Configuration imported successfully",
"channel.lark.description": "Connect this assistant to Lark for private and group chats.",
"channel.openPlatform": "Open Platform",
"channel.platforms": "Platforms",
@@ -54,6 +70,7 @@
"channel.removeChannel": "Remove Channel",
"channel.removeFailed": "Failed to remove channel",
"channel.removed": "Channel removed",
"channel.runtimeDisconnected": "Bot disconnected",
"channel.save": "Save Configuration",
"channel.saveFailed": "Failed to save configuration",
"channel.saveFirstWarning": "Please save configuration first",
@@ -81,12 +98,18 @@
"channel.verificationTokenHint": "Optional. Used to verify webhook event source.",
"channel.verificationTokenPlaceholder": "Paste your verification token here",
"channel.wechat.description": "Connect this assistant to WeChat via iLink Bot for private and group chats.",
"channel.wechatBotId": "Bot ID",
"channel.wechatBotIdHint": "Bot identifier assigned after QR code authorization.",
"channel.wechatConnectedInfo": "Connected WeChat Account",
"channel.wechatManagedCredentials": "This channel is already connected through QR code authorization. Credentials are managed automatically.",
"channel.wechatQrExpired": "QR code expired. Please refresh to get a new one.",
"channel.wechatQrRefresh": "Refresh QR Code",
"channel.wechatQrScaned": "QR code scanned. Please confirm the login in WeChat.",
"channel.wechatQrWait": "Open WeChat and scan the QR code to connect.",
"channel.wechatRebind": "Rebind via QR Code",
"channel.wechatScanTitle": "Connect WeChat Bot",
"channel.wechatScanToConnect": "Scan QR Code to Connect",
"channel.wechatTip1": "Please update WeChat to the latest version, and it is recommended to restart WeChat.",
"channel.wechatTip2": "The WeChat ClawBot plugin is currently in gradual rollout. You can check Settings => Plugins to confirm whether you have access."
"channel.wechatTips": "Please update WeChat to the latest version and restart it. The ClawBot plugin is in gradual rollout, so check Settings > Plugins to confirm access.",
"channel.wechatUserId": "WeChat User ID",
"channel.wechatUserIdHint": "WeChat account identifier returned by the authorization flow."
}
+4
View File
@@ -175,6 +175,8 @@
"messageAction.delAndRegenerate": "Delete and Regenerate",
"messageAction.deleteDisabledByThreads": "This message has a subtopic and cant be deleted",
"messageAction.expand": "Expand Message",
"messageAction.interrupted": "Interrupted",
"messageAction.interruptedHint": "What should I do instead?",
"messageAction.reaction": "Add Reaction",
"messageAction.regenerate": "Regenerate",
"messages.dm.sentTo": "Visible only to {{name}}",
@@ -409,12 +411,14 @@
"tool.intervention.mode.autoRunDesc": "Automatically approve all tool executions",
"tool.intervention.mode.manual": "Manual",
"tool.intervention.mode.manualDesc": "Manual approval required for each invocation",
"tool.intervention.pending": "Pending",
"tool.intervention.reject": "Reject",
"tool.intervention.rejectAndContinue": "Reject and Retry",
"tool.intervention.rejectOnly": "Reject",
"tool.intervention.rejectReasonPlaceholder": "A reason helps the Agent understand your boundaries and improve future actions",
"tool.intervention.rejectTitle": "Reject this Skill call",
"tool.intervention.rejectedWithReason": "This Skill call was rejected: {{reason}}",
"tool.intervention.scrollToIntervention": "View",
"tool.intervention.toolAbort": "You canceled this Skill call",
"tool.intervention.toolRejected": "This Skill call was rejected",
"toolAuth.authorize": "Authorize",
+6
View File
@@ -12,6 +12,7 @@
"FileManager.actions.chunkingTooltip": "Split the file into multiple text chunks and embedding them for semantic search and file dialogue.",
"FileManager.actions.chunkingUnsupported": "This file does not support chunking.",
"FileManager.actions.confirmDelete": "You are about to delete this file. Once deleted, it cannot be recovered. Please confirm your action.",
"FileManager.actions.confirmDeleteAllFiles": "You are about to delete all results in the current view. Once deleted, they cannot be recovered. Please confirm your action.",
"FileManager.actions.confirmDeleteFolder": "You are about to delete this folder and all of its contents. This action cannot be undone. Please confirm your decision.",
"FileManager.actions.confirmDeleteMultiFiles": "You are about to delete the selected {{count}} files. Once deleted, they cannot be recovered. Please confirm your action.",
"FileManager.actions.confirmRemoveFromLibrary": "You're about to remove {{count}} selected file(s) from the Library. They'll still be available in All Files. Confirm to continue.",
@@ -51,7 +52,12 @@
"FileManager.title.createdAt": "Created At",
"FileManager.title.size": "Size",
"FileManager.title.title": "File",
"FileManager.total.allSelectedCount": "All {{count}} items are selected.",
"FileManager.total.allSelectedFallback": "All results are selected.",
"FileManager.total.fileCount": "Total {{count}} items",
"FileManager.total.loadedSelectedCount": "Selected {{count}} loaded items.",
"FileManager.total.selectAll": "Select all {{count}} items",
"FileManager.total.selectAllFallback": "Select all items",
"FileManager.total.selectedCount": "Selected {{count}} items",
"FileManager.view.list": "List View",
"FileManager.view.masonry": "Grid View",
+15
View File
@@ -607,6 +607,7 @@
"time.today": "Today",
"time.yesterday": "Yesterday",
"user.agents": "Agents",
"user.cancel": "Cancel",
"user.downloads": "Downloads",
"user.editProfile": "Edit Profile",
"user.favoriteAgents": "Saved Agents",
@@ -616,6 +617,9 @@
"user.following": "Following",
"user.forkedAgentGroups": "Forked Agent Groups",
"user.forkedAgents": "Forked Agents",
"user.githubUrl": "GitHub Repository URL",
"user.githubUrlInvalid": "Please enter a valid GitHub repository URL",
"user.githubUrlRequired": "Please enter a GitHub repository URL",
"user.login": "Become a Creator",
"user.logout": "Logout",
"user.myProfile": "My Profile",
@@ -624,9 +628,13 @@
"user.noFavoritePlugins": "No saved Skills yet",
"user.noForkedAgentGroups": "No forked Agent Groups yet",
"user.noForkedAgents": "No forked Agents yet",
"user.noPlugins": "This user hasn't published any Plugins yet",
"user.noSkills": "This user hasn't published any Skills yet",
"user.plugins": "Plugins",
"user.publishedAgents": "Created Agents",
"user.publishedGroups": "Created Groups",
"user.searchPlaceholder": "Search by name or description...",
"user.skills": "Skills",
"user.statusFilter.all": "All",
"user.statusFilter.archived": "Archived",
"user.statusFilter.deprecated": "Deprecated",
@@ -634,6 +642,13 @@
"user.statusFilter.forked": "Forked",
"user.statusFilter.published": "Published",
"user.statusFilter.unpublished": "Under Review",
"user.submit": "Submit",
"user.submitRepo": "Submit Repo",
"user.submitRepoDescription": "Submit your GitHub repository to import your Skills or MCPs to the community.",
"user.submitRepoError": "Failed to submit repository. Please try again.",
"user.submitRepoHint": "The repository will be reviewed before being published.",
"user.submitRepoSuccess": "Repository submitted successfully! It will be reviewed shortly.",
"user.submitRepoTitle": "Submit Your Repository",
"user.tabs.favorites": "Favorites",
"user.tabs.forkedAgents": "Forked",
"user.tabs.publishedAgents": "Created",
+17 -10
View File
@@ -4,6 +4,9 @@
"error.retry": "Reload",
"error.stack": "Error Stack",
"error.title": "Oops, something went wrong..",
"exceededContext.compact": "Compact Context",
"exceededContext.desc": "The conversation has exceeded the context window limit. You can compact the context to compress history and continue chatting.",
"exceededContext.title": "Context Window Exceeded",
"fetchError.detail": "Error details",
"fetchError.title": "Request failed",
"import.importConfigFile.description": "Error reason: {{reason}}",
@@ -69,15 +72,15 @@
"response.ExceededContextWindow": "The current request content exceeds the length that the model can handle. Please reduce the amount of content and try again.",
"response.ExceededContextWindowCloud": "The conversation is too long to process. Please edit your last message to reduce input or delete some messages and try again.",
"response.FreePlanLimit": "You are currently a free user and cannot use this feature. Please upgrade to a paid plan to continue using it.",
"response.GoogleAIBlockReason.BLOCKLIST": "Your content contains prohibited terms. Please review and modify your input, then try again.",
"response.GoogleAIBlockReason.IMAGE_SAFETY": "The generated image was blocked for safety reasons. Please try modifying your image request.",
"response.GoogleAIBlockReason.LANGUAGE": "The language you are using is not supported. Please try again in English or another supported language.",
"response.GoogleAIBlockReason.OTHER": "The content was blocked for an unknown reason. Please try rephrasing your request.",
"response.GoogleAIBlockReason.PROHIBITED_CONTENT": "Your request may contain prohibited content. Please adjust your request to comply with the usage guidelines.",
"response.GoogleAIBlockReason.RECITATION": "Your content was blocked due to potential copyright concerns. Please try using original content or rephrase your request.",
"response.GoogleAIBlockReason.SAFETY": "Your content was blocked for safety policy reasons. Please adjust your request to avoid potentially harmful or inappropriate content.",
"response.GoogleAIBlockReason.SPII": "Your content may contain sensitive personally identifiable information (PII). To protect privacy, please remove any sensitive details and try again.",
"response.GoogleAIBlockReason.default": "Content blocked: {{blockReason}}. Please adjust your request and try again.",
"response.GoogleAIBlockReason.BLOCKLIST": "The content includes blocked terms. Please rephrase and try again.",
"response.GoogleAIBlockReason.IMAGE_SAFETY": "The generated image was blocked for safety reasons. Please try modifying your request.",
"response.GoogleAIBlockReason.LANGUAGE": "The requested language isn't supported. Please try again in a supported language.",
"response.GoogleAIBlockReason.OTHER": "The content was blocked for an unknown reason. Please rephrase and try again.",
"response.GoogleAIBlockReason.PROHIBITED_CONTENT": "The content may contain prohibited content. Please adjust it and try again.",
"response.GoogleAIBlockReason.RECITATION": "The content was blocked due to recitation risk. Please use more original wording and try again.",
"response.GoogleAIBlockReason.SAFETY": "The content was blocked for safety reasons. Please adjust it and try again.",
"response.GoogleAIBlockReason.SPII": "The content may include sensitive personal information (SPII). Please remove sensitive details and try again.",
"response.GoogleAIBlockReason.default": "The content was blocked ({{blockReason}}). Please adjust it and try again.",
"response.InsufficientBudgetForModel": "Your remaining credits are insufficient for this model. Please top up credits, upgrade your plan, or try a less expensive model.",
"response.InsufficientQuota": "Sorry, the quota for this key has been reached. Please check if your account balance is sufficient or try again after increasing the key's quota.",
"response.InvalidAccessCode": "Invalid access code or empty. Please enter the correct access code or add a custom API Key.",
@@ -108,7 +111,7 @@
"response.PluginSettingsInvalid": "This skill needs to be correctly configured before it can be used. Please check if your configuration is correct",
"response.ProviderBizError": "Error requesting {{provider}} service, please troubleshoot or retry based on the following information",
"response.QuotaLimitReached": "Sorry, the token usage or request count has reached the quota limit for this key. Please increase the key's quota or try again later.",
"response.QuotaLimitReachedCloud": "The model service is currently under heavy load. Please try again later.",
"response.QuotaLimitReachedCloud": "The model service is currently under heavy load. Please try again later or switch to another model.",
"response.ServerAgentRuntimeError": "Sorry, the Agent service is currently unavailable. Please try again later or contact us via email for support.",
"response.StreamChunkError": "Error parsing the message chunk of the streaming request. Please check if the current API interface complies with the standard specifications, or contact your API provider for assistance.",
"response.SubscriptionKeyMismatch": "We apologize for the inconvenience. Due to a temporary system malfunction, your current subscription usage is inactive. Please click the button below to restore your subscription, or contact us via email for support.",
@@ -120,6 +123,10 @@
"supervisor.decisionFailed": "The group host is unable to function. Please check your host configuration to ensure the correct model, API Key, and API endpoint are set.",
"testConnectionFailed": "Test connection failed: {{error}}",
"tts.responseError": "Service request failed, please check the configuration or try again",
"unknownError.copyTraceId": "Trace ID Copied",
"unknownError.desc": "An unexpected error occurred. You can retry or report on",
"unknownError.retry": "Retry",
"unknownError.title": "Oops, the request took a nap",
"unlock.addProxyUrl": "Add OpenAI proxy URL (optional)",
"unlock.apiKey.description": "Enter your {{name}} API Key to start the session",
"unlock.apiKey.imageGenerationDescription": "Enter your {{name}} API Key to start generating",
+1
View File
@@ -137,6 +137,7 @@
"uploadDock.body.item.processing": "Processing file...",
"uploadDock.body.item.restTime": "Remaining {{time}}",
"uploadDock.fileQueueInfo": "Uploading the first {{count}} files, {{remaining}} remaining in queue",
"uploadDock.header.cancelAll": "Cancel all",
"uploadDock.totalCount": "Total {{count}} items",
"uploadDock.uploadStatus.cancelled": "Upload cancelled",
"uploadDock.uploadStatus.error": "Upload error",
+13
View File
@@ -16,6 +16,15 @@
"callback.titles.error": "Authorization Failed",
"callback.titles.loading": "LobeHub Market Authorization",
"callback.titles.success": "Authorization Successful",
"claimResources.claim": "Claim Selected",
"claimResources.description": "We found resources linked to your account that you can claim:",
"claimResources.error": "Failed to claim resources. Please try again.",
"claimResources.mcpSection": "MCP Servers",
"claimResources.selectedCount": "{{count}} item(s) selected",
"claimResources.skillSection": "Skills",
"claimResources.skip": "Skip",
"claimResources.success": "Successfully claimed {{count}} resource(s)",
"claimResources.title": "Claim Your Resources",
"errors.authorizationFailed": "Authorization failed, please try again.",
"errors.browserOnly": "The authorization process can only be initiated in a browser.",
"errors.codeConsumed": "The authorization code has already been used. Please try again.",
@@ -75,6 +84,10 @@
"profileSetup.fields.website.placeholder": "Personal website URL",
"profileSetup.getStarted": "Get Started",
"profileSetup.save": "Save",
"profileSetup.socialLinks.connectProvider": "Connect {{provider}}",
"profileSetup.socialLinks.connected": "Connected",
"profileSetup.socialLinks.connecting": "Connecting...",
"profileSetup.socialLinks.disconnect": "Disconnect",
"profileSetup.socialLinks.title": "Social Links",
"profileSetup.success": "Profile updated successfully",
"profileSetup.titleEdit": "Edit Profile",
+7 -11
View File
@@ -307,21 +307,23 @@
"claude-3-haiku-20240307.description": "Claude 3 Haiku is Anthropics fastest and most compact model, designed for near-instant responses with fast, accurate performance.",
"claude-3-opus-20240229.description": "Claude 3 Opus is Anthropics most powerful model for highly complex tasks, excelling in performance, intelligence, fluency, and comprehension.",
"claude-3-sonnet-20240229.description": "Claude 3 Sonnet balances intelligence and speed for enterprise workloads, delivering high utility at lower cost and reliable large-scale deployment.",
"claude-3.5-sonnet.description": "Claude 3.5 Sonnet excels at coding, writing, and complex reasoning.",
"claude-3.7-sonnet-thought.description": "Claude 3.7 Sonnet with extended thinking for complex reasoning tasks.",
"claude-3.7-sonnet.description": "Claude 3.7 Sonnet is an upgraded version with extended context and capabilities.",
"claude-haiku-4-5-20251001.description": "Claude Haiku 4.5 is Anthropic's fastest and most intelligent Haiku model, with lightning speed and extended thinking.",
"claude-haiku-4.5.description": "Claude Haiku 4.5 is a fast and efficient model for various tasks.",
"claude-haiku-4.5.description": "Claude Haiku 4.5 is Anthropics fastest and smartest Haiku model, with lightning speed and extended reasoning.",
"claude-opus-4-1-20250805-thinking.description": "Claude Opus 4.1 Thinking is an advanced variant that can reveal its reasoning process.",
"claude-opus-4-1-20250805.description": "Claude Opus 4.1 is Anthropic's latest and most capable model for highly complex tasks, excelling in performance, intelligence, fluency, and understanding.",
"claude-opus-4-20250514.description": "Claude Opus 4 is Anthropic's most powerful model for highly complex tasks, excelling in performance, intelligence, fluency, and understanding.",
"claude-opus-4-5-20251101.description": "Claude Opus 4.5 is Anthropics flagship model, combining outstanding intelligence with scalable performance, ideal for complex tasks requiring the highest-quality responses and reasoning.",
"claude-opus-4-6.description": "Claude Opus 4.6 is Anthropic's most intelligent model for building agents and coding.",
"claude-opus-4.5.description": "Claude Opus 4.5 is Anthropics flagship model, combining top-tier intelligence with scalable performance for complex, high-quality reasoning tasks.",
"claude-opus-4.6-fast.description": "Claude Opus 4.6 is Anthropics most intelligent model for building agents and coding.",
"claude-opus-4.6.description": "Claude Opus 4.6 is Anthropics most intelligent model for building agents and coding.",
"claude-sonnet-4-20250514-thinking.description": "Claude Sonnet 4 Thinking can produce near-instant responses or extended step-by-step thinking with visible process.",
"claude-sonnet-4-20250514.description": "Claude Sonnet 4 is Anthropic's most intelligent model to date, offering near-instant responses or extended step-by-step thinking with fine-grained control for API users.",
"claude-sonnet-4-5-20250929.description": "Claude Sonnet 4.5 is Anthropic's most intelligent model to date.",
"claude-sonnet-4-6.description": "Claude Sonnet 4.6 is Anthropic's best combination of speed and intelligence.",
"claude-sonnet-4.description": "Claude Sonnet 4 is the latest generation with improved performance across all tasks.",
"claude-sonnet-4.5.description": "Claude Sonnet 4.5 is Anthropics most intelligent model to date.",
"claude-sonnet-4.6.description": "Claude Sonnet 4.6 is Anthropics best combination of speed and intelligence.",
"claude-sonnet-4.description": "Claude Sonnet 4 can produce near-instant responses or extended step-by-step reasoning that users can see. API users can finely control how long the model thinks.",
"codegeex-4.description": "CodeGeeX-4 is a powerful AI coding assistant that supports multilingual Q&A and code completion to boost developer productivity.",
"codegeex4-all-9b.description": "CodeGeeX4-ALL-9B is a multilingual code generation model supporting code completion and generation, code interpreter, web search, function calling, and repo-level code Q&A, covering a wide range of software development scenarios. It is a top-tier code model under 10B parameters.",
"codegemma.description": "CodeGemma is a lightweight model for varied programming tasks, enabling fast iteration and integration.",
@@ -655,7 +657,6 @@
"google/text-embedding-005.description": "An English-focused text embedding model optimized for code and English language tasks.",
"google/text-multilingual-embedding-002.description": "A multilingual text embedding model optimized for cross-lingual tasks across many languages.",
"gpt-3.5-turbo-0125.description": "GPT 3.5 Turbo for text generation and understanding; currently points to gpt-3.5-turbo-0125.",
"gpt-3.5-turbo-0613.description": "GPT 3.5 Turbo is a fast and efficient model for various tasks.",
"gpt-3.5-turbo-1106.description": "GPT 3.5 Turbo for text generation and understanding; currently points to gpt-3.5-turbo-0125.",
"gpt-3.5-turbo-instruct.description": "GPT 3.5 Turbo for text generation and understanding tasks, optimized for instruction following.",
"gpt-3.5-turbo.description": "GPT 3.5 Turbo for text generation and understanding; currently points to gpt-3.5-turbo-0125.",
@@ -666,12 +667,10 @@
"gpt-4-1106-preview.description": "The latest GPT-4 Turbo adds vision. Visual requests support JSON mode and function calling. It is a cost-effective multimodal model that balances accuracy and efficiency for real-time applications.",
"gpt-4-32k-0613.description": "GPT-4 provides a larger context window to handle longer inputs for scenarios needing broad information integration and data analysis.",
"gpt-4-32k.description": "GPT-4 provides a larger context window to handle longer inputs for scenarios needing broad information integration and data analysis.",
"gpt-4-o-preview.description": "GPT-4o is the most advanced multimodal model, handling text and image inputs.",
"gpt-4-turbo-2024-04-09.description": "The latest GPT-4 Turbo adds vision. Visual requests support JSON mode and function calling. It is a cost-effective multimodal model that balances accuracy and efficiency for real-time applications.",
"gpt-4-turbo-preview.description": "The latest GPT-4 Turbo adds vision. Visual requests support JSON mode and function calling. It is a cost-effective multimodal model that balances accuracy and efficiency for real-time applications.",
"gpt-4-turbo.description": "The latest GPT-4 Turbo adds vision. Visual requests support JSON mode and function calling. It is a cost-effective multimodal model that balances accuracy and efficiency for real-time applications.",
"gpt-4-vision-preview.description": "GPT-4 Vision preview, designed for image analysis and processing tasks.",
"gpt-4.1-2025-04-14.description": "GPT-4.1 is the flagship model for complex tasks, ideal for cross-domain problem solving.",
"gpt-4.1-mini.description": "GPT-4.1 mini balances intelligence, speed, and cost, making it attractive for many use cases.",
"gpt-4.1-nano.description": "GPT-4.1 nano is the fastest and most cost-effective GPT-4.1 model.",
"gpt-4.1.description": "GPT-4.1 is our flagship model for complex tasks and cross-domain problem solving.",
@@ -681,7 +680,6 @@
"gpt-4o-2024-08-06.description": "ChatGPT-4o is a dynamic model updated in real time. It combines strong language understanding and generation for large-scale use cases like customer support, education, and technical assistance.",
"gpt-4o-2024-11-20.description": "ChatGPT-4o is a dynamic model updated in real time, combining strong understanding and generation for large-scale use cases like customer support, education, and technical support.",
"gpt-4o-audio-preview.description": "GPT-4o Audio Preview model with audio input and output.",
"gpt-4o-mini-2024-07-18.description": "GPT-4o mini is a cost-effective solution for a wide range of text and image tasks.",
"gpt-4o-mini-audio-preview.description": "GPT-4o mini Audio model with audio input and output.",
"gpt-4o-mini-realtime-preview.description": "GPT-4o-mini realtime variant with audio and text real-time I/O.",
"gpt-4o-mini-search-preview.description": "GPT-4o mini Search Preview is trained to understand and execute web search queries via the Chat Completions API. Web search is billed per tool call in addition to token costs.",
@@ -1249,9 +1247,7 @@
"tencent/Hunyuan-A13B-Instruct.description": "Hunyuan-A13B-Instruct uses 80B total parameters with 13B active to match larger models. It supports fast/slow hybrid reasoning, stable long-text understanding, and leading agent ability on BFCL-v3 and τ-Bench. GQA and multi-quant formats enable efficient inference.",
"tencent/Hunyuan-MT-7B.description": "Hunyuan Translation Model includes Hunyuan-MT-7B and the ensemble Hunyuan-MT-Chimera. Hunyuan-MT-7B is a 7B lightweight translation model supporting 33 languages plus 5 Chinese minority languages. In WMT25 it took 30 first-place results across 31 language pairs. Tencent Hunyuan uses a full training pipeline from pretraining to SFT to translation RL and ensemble RL, achieving leading performance at its size with efficient, easy deployment.",
"text-embedding-3-large.description": "The most capable embedding model for English and non-English tasks.",
"text-embedding-3-small-inference.description": "Embedding V3 small (Inference) model for text embeddings.",
"text-embedding-3-small.description": "An efficient, cost-effective next-generation embedding model for retrieval and RAG scenarios.",
"text-embedding-ada-002.description": "Embedding V2 Ada model for text embeddings.",
"thudm/glm-4-32b.description": "GLM-4-32B-0414 is a 32B bilingual (Chinese/English) open-weights model optimized for code generation, function calling, and agent tasks. It is pretrained on 15T high-quality and reasoning-heavy data and further refined with human preference alignment, rejection sampling, and RL. It excels at complex reasoning, artifact generation, and structured output, reaching GPT-4o and DeepSeek-V3-0324-level performance on multiple benchmarks.",
"thudm/glm-4-32b:free.description": "GLM-4-32B-0414 is a 32B bilingual (Chinese/English) open-weights model optimized for code generation, function calling, and agent tasks. It is pretrained on 15T high-quality and reasoning-heavy data and further refined with human preference alignment, rejection sampling, and RL. It excels at complex reasoning, artifact generation, and structured output, reaching GPT-4o and DeepSeek-V3-0324-level performance on multiple benchmarks.",
"thudm/glm-4-9b-chat.description": "The open-source release of Zhipu AIs latest GLM-4 pretraining model.",
+12
View File
@@ -0,0 +1,12 @@
{
"image_generation_completed": "Image \"{{prompt}}\" generated successfully",
"image_generation_completed_title": "Image Generated",
"inbox.archiveAll": "Archive all",
"inbox.empty": "No notifications yet",
"inbox.emptyUnread": "No unread notifications",
"inbox.filterUnread": "Show unread only",
"inbox.markAllRead": "Mark all as read",
"inbox.title": "Notifications",
"video_generation_completed": "Video \"{{prompt}}\" generated successfully",
"video_generation_completed_title": "Video Generated"
}
+5
View File
@@ -1,4 +1,9 @@
{
"agent.completionSubtitle": "Your assistant is configured and ready to go.",
"agent.completionTitle": "You're All Set!",
"agent.enterApp": "Enter App",
"agent.skipOnboarding": "Skip onboarding",
"agent.welcome": "...hm? I just woke up — my mind's a blank. Who are you? And — what should I be called? I need a name too.",
"back": "Back",
"finish": "Get Started",
"interests.area.business": "Business & Strategy",
+7
View File
@@ -443,6 +443,12 @@
"myAgents.status.published": "Published",
"myAgents.status.unpublished": "Unpublished",
"myAgents.title": "My Published Agents",
"notification.email.desc": "Receive email notifications when important events occur",
"notification.email.title": "Email Notifications",
"notification.enabled": "Enabled",
"notification.inbox.desc": "Show notifications in the in-app inbox",
"notification.inbox.title": "Inbox Notifications",
"notification.title": "Notification Channels",
"plugin.addMCPPlugin": "Add MCP",
"plugin.addTooltip": "Custom Skills",
"plugin.clearDeprecated": "Remove Deprecated Skills",
@@ -807,6 +813,7 @@
"tab.manualFill": "Manually Fill In",
"tab.manualFill.desc": "Configure a custom MCP skill manually",
"tab.memory": "Memory",
"tab.notification": "Notifications",
"tab.profile": "My Account",
"tab.provider": "Provider",
"tab.proxy": "Proxy",
+6 -2
View File
@@ -54,6 +54,7 @@
"credits.autoTopUp.upgradeHint": "Subscribe to a paid plan to enable auto top-up",
"credits.autoTopUp.validation.targetMustExceedThreshold": "Target balance must be greater than threshold",
"credits.packages.auto": "Auto",
"credits.packages.charged": "Charged ${{amount}}",
"credits.packages.expired": "Expired",
"credits.packages.expiresIn": "Expires in {{days}} days",
"credits.packages.expiresToday": "Expires today",
@@ -254,8 +255,11 @@
"plans.navs.yearly": "Yearly",
"plans.payonce.cancel": "Cancel",
"plans.payonce.ok": "Confirm Selection",
"plans.payonce.popconfirm": "After one-time payment, you must wait until subscription expires to switch plans or change billing cycle. Please confirm your selection.",
"plans.payonce.tooltip": "One-time payment requires waiting until subscription expires to switch plans or change billing cycle",
"plans.payonce.popconfirm": "After one-time payment, you can upgrade anytime but downgrade requires waiting for expiration. Please confirm your selection.",
"plans.payonce.tooltip": "One-time payment only supports upgrading to a higher tier or longer duration",
"plans.payonce.upgradeOk": "Confirm Upgrade",
"plans.payonce.upgradePopconfirm": "Remaining value from your current plan will be applied as a discount to the new plan.",
"plans.payonce.upgradePopconfirmNoProration": "You will be charged the full price of the new plan. Your current plan will be replaced immediately.",
"plans.pendingDowngrade": "Pending Downgrade",
"plans.plan.enterprise.contactSales": "Contact Sales",
"plans.plan.enterprise.title": "Enterprise",
+3
View File
@@ -18,7 +18,10 @@
"emojiPicker.fileTypeError": "You can only upload image files!",
"emojiPicker.upload": "Upload",
"emojiPicker.uploadBtn": "Crop and upload",
"form.other": "Or type directly",
"form.otherBack": "Back to options",
"form.reset": "Reset",
"form.skip": "Skip",
"form.submit": "Submit",
"form.unsavedChanges": "Unsaved changes",
"form.unsavedWarning": "You have unsaved changes. Are you sure you want to leave?",
+26 -1
View File
@@ -12,7 +12,13 @@
"channel.botTokenPlaceholderNew": "Pega tu token del bot aquí",
"channel.charLimit": "Límite de caracteres",
"channel.charLimitHint": "Número máximo de caracteres por mensaje",
"channel.concurrency": "Modo de Concurrencia",
"channel.concurrencyDebounce": "Antirrebote",
"channel.concurrencyHint": "La cola procesa los mensajes uno a la vez; el antirrebote espera a que termine un grupo de mensajes antes de procesarlos.",
"channel.concurrencyQueue": "Cola",
"channel.connectFailed": "La conexión del bot falló",
"channel.connectQueued": "Conexión del bot en cola. Comenzará en breve.",
"channel.connectStarting": "El bot se está iniciando. Por favor, espere un momento.",
"channel.connectSuccess": "Bot conectado exitosamente",
"channel.connecting": "Conectando...",
"channel.connectionConfig": "Configuración de Conexión",
@@ -21,6 +27,11 @@
"channel.credentials": "Credenciales",
"channel.debounceMs": "Ventana de fusión de mensajes (ms)",
"channel.debounceMsHint": "Tiempo de espera para mensajes adicionales antes de enviarlos al agente (ms)",
"channel.deleteAllChannels": "Eliminar todos los canales",
"channel.deleteAllConfirm": "¿Estás seguro de que deseas eliminar todos los canales?",
"channel.deleteAllConfirmDesc": "Esta acción eliminará permanentemente todos los canales de mensajes y sus configuraciones para este agente. Esto no se puede deshacer.",
"channel.deleteAllFailed": "No se pudo eliminar todos los canales",
"channel.deleteAllSuccess": "Todos los canales eliminados",
"channel.deleteConfirm": "¿Estás seguro de que deseas eliminar este canal?",
"channel.deleteConfirmDesc": "Esta acción eliminará permanentemente este canal de mensajes y su configuración. Esto no se puede deshacer.",
"channel.devWebhookProxyUrl": "URL del Túnel HTTPS",
@@ -42,7 +53,12 @@
"channel.encryptKeyPlaceholder": "Clave de encriptación opcional",
"channel.endpointUrl": "URL del Webhook",
"channel.endpointUrlHint": "Por favor, copia esta URL y pégala en el campo <bold>{{fieldName}}</bold> en el Portal de Desarrolladores de {{name}}.",
"channel.exportConfig": "Exportar configuración",
"channel.feishu.description": "Conecta este asistente a Feishu para chats privados y grupales.",
"channel.importConfig": "Importar configuración",
"channel.importFailed": "No se pudo importar la configuración",
"channel.importInvalidFormat": "Formato de archivo de configuración inválido",
"channel.importSuccess": "Configuración importada exitosamente",
"channel.lark.description": "Conecta este asistente a Lark para chats privados y grupales.",
"channel.openPlatform": "Plataforma Abierta",
"channel.platforms": "Plataformas",
@@ -54,6 +70,7 @@
"channel.removeChannel": "Eliminar Canal",
"channel.removeFailed": "Error al eliminar el canal",
"channel.removed": "Canal eliminado",
"channel.runtimeDisconnected": "Bot desconectado",
"channel.save": "Guardar Configuración",
"channel.saveFailed": "Error al guardar la configuración",
"channel.saveFirstWarning": "Por favor, guarda la configuración primero",
@@ -81,10 +98,18 @@
"channel.verificationTokenHint": "Opcional. Usado para verificar la fuente de eventos del webhook.",
"channel.verificationTokenPlaceholder": "Pega tu token de verificación aquí",
"channel.wechat.description": "Conecta este asistente a WeChat a través de iLink Bot para chats privados y grupales.",
"channel.wechatBotId": "ID del Bot",
"channel.wechatBotIdHint": "Identificador del bot asignado tras la autorización mediante código QR.",
"channel.wechatConnectedInfo": "Cuenta de WeChat Conectada",
"channel.wechatManagedCredentials": "Este canal ya está conectado mediante autorización con código QR. Las credenciales se gestionan automáticamente.",
"channel.wechatQrExpired": "El código QR ha expirado. Por favor, actualiza para obtener uno nuevo.",
"channel.wechatQrRefresh": "Actualizar código QR",
"channel.wechatQrScaned": "Código QR escaneado. Por favor, confirma el inicio de sesión en WeChat.",
"channel.wechatQrWait": "Abre WeChat y escanea el código QR para conectar.",
"channel.wechatRebind": "Volver a vincular mediante código QR",
"channel.wechatScanTitle": "Conectar Bot de WeChat",
"channel.wechatScanToConnect": "Escanea el código QR para conectar"
"channel.wechatScanToConnect": "Escanea el código QR para conectar",
"channel.wechatTips": "Por favor, actualice WeChat a la última versión y reinícielo. El plugin ClawBot se está implementando gradualmente, así que revise Configuración > Plugins para confirmar el acceso.",
"channel.wechatUserId": "ID de Usuario de WeChat",
"channel.wechatUserIdHint": "Identificador de la cuenta de WeChat devuelto por el flujo de autorización."
}
+6
View File
@@ -12,6 +12,7 @@
"FileManager.actions.chunkingTooltip": "Divide el archivo en múltiples fragmentos de texto y los incrusta para búsqueda semántica y diálogo de archivos.",
"FileManager.actions.chunkingUnsupported": "Este archivo no admite fragmentación.",
"FileManager.actions.confirmDelete": "Estás a punto de eliminar este archivo. Una vez eliminado, no se podrá recuperar. Por favor, confirma tu acción.",
"FileManager.actions.confirmDeleteAllFiles": "Está a punto de eliminar todos los resultados de la vista actual. Una vez eliminados, no se podrán recuperar. Confirme la acción.",
"FileManager.actions.confirmDeleteFolder": "Estás a punto de eliminar esta carpeta y todo su contenido. Esta acción no se puede deshacer. Por favor, confirma tu decisión.",
"FileManager.actions.confirmDeleteMultiFiles": "Estás a punto de eliminar los {{count}} archivos seleccionados. Una vez eliminados, no se podrán recuperar. Por favor, confirma tu acción.",
"FileManager.actions.confirmRemoveFromLibrary": "Estás a punto de eliminar {{count}} archivo(s) seleccionado(s) de la biblioteca. Seguirán disponibles en Todos los archivos. Confirma para continuar.",
@@ -51,7 +52,12 @@
"FileManager.title.createdAt": "Fecha de creación",
"FileManager.title.size": "Tamaño",
"FileManager.title.title": "Archivo",
"FileManager.total.allSelectedCount": "Están seleccionados los {{count}} elementos.",
"FileManager.total.allSelectedFallback": "Están seleccionados todos los resultados.",
"FileManager.total.fileCount": "Total {{count}} elementos",
"FileManager.total.loadedSelectedCount": "Seleccionados {{count}} elementos cargados.",
"FileManager.total.selectAll": "Seleccionar los {{count}} elementos",
"FileManager.total.selectAllFallback": "Seleccionar todos los elementos",
"FileManager.total.selectedCount": "{{count}} elementos seleccionados",
"FileManager.view.list": "Vista de lista",
"FileManager.view.masonry": "Vista de cuadrícula",
+15
View File
@@ -607,6 +607,7 @@
"time.today": "Hoy",
"time.yesterday": "Ayer",
"user.agents": "Agentes",
"user.cancel": "Cancelar",
"user.downloads": "Descargas",
"user.editProfile": "Editar Perfil",
"user.favoriteAgents": "Agentes Guardados",
@@ -616,6 +617,9 @@
"user.following": "Siguiendo",
"user.forkedAgentGroups": "Grupos de agentes bifurcados",
"user.forkedAgents": "Agentes bifurcados",
"user.githubUrl": "URL del Repositorio de GitHub",
"user.githubUrlInvalid": "Por favor, introduce una URL válida de un repositorio de GitHub",
"user.githubUrlRequired": "Por favor, introduce una URL de un repositorio de GitHub",
"user.login": "Conviértete en Creador",
"user.logout": "Cerrar Sesión",
"user.myProfile": "Mi Perfil",
@@ -624,9 +628,13 @@
"user.noFavoritePlugins": "Aún no hay Habilidades guardadas",
"user.noForkedAgentGroups": "Aún no hay grupos de agentes bifurcados",
"user.noForkedAgents": "Aún no hay agentes bifurcados",
"user.noPlugins": "Este usuario aún no ha publicado ningún Plugin",
"user.noSkills": "Este usuario aún no ha publicado ninguna Habilidad",
"user.plugins": "Plugins",
"user.publishedAgents": "Agentes Creados",
"user.publishedGroups": "Grupos creados",
"user.searchPlaceholder": "Buscar por nombre o descripción...",
"user.skills": "Habilidades",
"user.statusFilter.all": "Todos",
"user.statusFilter.archived": "Archivado",
"user.statusFilter.deprecated": "Obsoleto",
@@ -634,6 +642,13 @@
"user.statusFilter.forked": "Bifurcado",
"user.statusFilter.published": "Publicado",
"user.statusFilter.unpublished": "En revisión",
"user.submit": "Enviar",
"user.submitRepo": "Enviar Repositorio",
"user.submitRepoDescription": "Envía tu repositorio de GitHub para importar tus Habilidades o MCPs a la comunidad.",
"user.submitRepoError": "No se pudo enviar el repositorio. Por favor, inténtalo de nuevo.",
"user.submitRepoHint": "El repositorio será revisado antes de ser publicado.",
"user.submitRepoSuccess": "¡Repositorio enviado con éxito! Será revisado en breve.",
"user.submitRepoTitle": "Envía Tu Repositorio",
"user.tabs.favorites": "Favoritos",
"user.tabs.forkedAgents": "Bifurcados",
"user.tabs.publishedAgents": "Creados",
+9
View File
@@ -1,4 +1,13 @@
{
"gateway.description": "Descripción",
"gateway.descriptionPlaceholder": "Opcional",
"gateway.deviceName": "Nombre del Dispositivo",
"gateway.deviceNamePlaceholder": "Ingrese el nombre del dispositivo",
"gateway.enableConnection": "Conectar al Gateway",
"gateway.statusConnected": "Conectado al Gateway",
"gateway.statusConnecting": "Conectando al Gateway...",
"gateway.statusDisconnected": "No conectado al Gateway",
"gateway.title": "Gateway de Dispositivo",
"navigation.chat": "Chat",
"navigation.discover": "Descubrir",
"navigation.discoverAssistants": "Descubrir Asistentes",
+16 -9
View File
@@ -4,6 +4,9 @@
"error.retry": "Recargar",
"error.stack": "Pila de errores",
"error.title": "Vaya, algo salió mal...",
"exceededContext.compact": "Contexto Compacto",
"exceededContext.desc": "La conversación ha excedido el límite de la ventana de contexto. Puedes compactar el contexto para comprimir el historial y continuar conversando.",
"exceededContext.title": "Límite de Ventana de Contexto Excedido",
"fetchError.detail": "Detalles del error",
"fetchError.title": "La solicitud falló",
"import.importConfigFile.description": "Motivo del error: {{reason}}",
@@ -69,15 +72,15 @@
"response.ExceededContextWindow": "El contenido de la solicitud excede el límite del modelo. Reduce el contenido e inténtalo de nuevo.",
"response.ExceededContextWindowCloud": "La conversación es demasiado larga para procesar. Por favor, edita tu último mensaje para reducir la entrada o elimina algunos mensajes e inténtalo de nuevo.",
"response.FreePlanLimit": "Actualmente estás en el plan gratuito y no puedes usar esta función. Actualiza a un plan de pago.",
"response.GoogleAIBlockReason.BLOCKLIST": "Tu contenido contiene términos prohibidos. Revísalo y vuelve a intentarlo.",
"response.GoogleAIBlockReason.IMAGE_SAFETY": "La imagen generada fue bloqueada por razones de seguridad. Modifica tu solicitud.",
"response.GoogleAIBlockReason.LANGUAGE": "El idioma que estás utilizando no es compatible. Intenta en inglés u otro idioma compatible.",
"response.GoogleAIBlockReason.OTHER": "El contenido fue bloqueado por una razón desconocida. Reformula tu solicitud.",
"response.GoogleAIBlockReason.PROHIBITED_CONTENT": "Tu solicitud puede contener contenido prohibido. Ajusta tu solicitud.",
"response.GoogleAIBlockReason.RECITATION": "Tu contenido fue bloqueado por posibles problemas de derechos de autor. Usa contenido original.",
"response.GoogleAIBlockReason.SAFETY": "Tu contenido fue bloqueado por razones de seguridad. Ajusta tu solicitud.",
"response.GoogleAIBlockReason.SPII": "Tu contenido puede contener información personal sensible. Elimínala e inténtalo de nuevo.",
"response.GoogleAIBlockReason.default": "Contenido bloqueado: {{blockReason}}. Ajusta tu solicitud e inténtalo de nuevo.",
"response.GoogleAIBlockReason.BLOCKLIST": "El contenido incluye términos bloqueados. Por favor, reformula y vuelve a intentarlo.",
"response.GoogleAIBlockReason.IMAGE_SAFETY": "La imagen generada fue bloqueada por razones de seguridad. Por favor, intenta modificar tu solicitud.",
"response.GoogleAIBlockReason.LANGUAGE": "El idioma solicitado no es compatible. Por favor, intenta nuevamente en un idioma compatible.",
"response.GoogleAIBlockReason.OTHER": "El contenido fue bloqueado por una razón desconocida. Por favor, reformula y vuelve a intentarlo.",
"response.GoogleAIBlockReason.PROHIBITED_CONTENT": "El contenido puede contener material prohibido. Por favor, ajusta el contenido y vuelve a intentarlo.",
"response.GoogleAIBlockReason.RECITATION": "El contenido fue bloqueado debido al riesgo de recitación. Por favor, utiliza un lenguaje más original y vuelve a intentarlo.",
"response.GoogleAIBlockReason.SAFETY": "El contenido fue bloqueado por razones de seguridad. Por favor, ajusta el contenido y vuelve a intentarlo.",
"response.GoogleAIBlockReason.SPII": "El contenido puede incluir información personal sensible (SPII). Por favor, elimina los detalles sensibles y vuelve a intentarlo.",
"response.GoogleAIBlockReason.default": "El contenido fue bloqueado ({{blockReason}}). Por favor, ajusta el contenido y vuelve a intentarlo.",
"response.InsufficientBudgetForModel": "Tus créditos restantes son insuficientes para este modelo. Por favor, recarga tus créditos, mejora tu plan o prueba con un modelo menos costoso.",
"response.InsufficientQuota": "Lo sentimos, se ha alcanzado la cuota de esta clave. Verifica tu saldo o aumenta la cuota.",
"response.InvalidAccessCode": "Código de acceso inválido o vacío. Ingresa el código correcto o una API Key personalizada.",
@@ -120,6 +123,10 @@
"supervisor.decisionFailed": "El anfitrión del grupo no puede funcionar. Verifica la configuración del modelo y API Key.",
"testConnectionFailed": "Error al probar la conexión: {{error}}",
"tts.responseError": "Error en la solicitud del servicio. Verifica la configuración.",
"unknownError.copyTraceId": "ID de Rastreo Copiado",
"unknownError.desc": "Ocurrió un error inesperado. Puedes intentarlo nuevamente o reportarlo en",
"unknownError.retry": "Reintentar",
"unknownError.title": "Vaya, la solicitud se tomó un descanso",
"unlock.addProxyUrl": "Agregar URL de proxy de OpenAI (opcional)",
"unlock.apiKey.description": "Ingresa tu API Key de {{name}} para comenzar la sesión",
"unlock.apiKey.imageGenerationDescription": "Ingresa tu API Key de {{name}} para comenzar a generar",
+1
View File
@@ -137,6 +137,7 @@
"uploadDock.body.item.processing": "Procesando archivo...",
"uploadDock.body.item.restTime": "Quedan {{time}}",
"uploadDock.fileQueueInfo": "Subiendo los primeros {{count}} archivos, {{remaining}} restantes en la cola",
"uploadDock.header.cancelAll": "Cancelar todo",
"uploadDock.totalCount": "Total: {{count}} elementos",
"uploadDock.uploadStatus.cancelled": "Carga cancelada",
"uploadDock.uploadStatus.error": "Error de subida",
+13
View File
@@ -16,6 +16,15 @@
"callback.titles.error": "Autorización fallida",
"callback.titles.loading": "Autorización de LobeHub Market",
"callback.titles.success": "Autorización exitosa",
"claimResources.claim": "Reclamar seleccionados",
"claimResources.description": "Hemos encontrado recursos vinculados a tu cuenta que puedes reclamar:",
"claimResources.error": "No se pudo reclamar los recursos. Por favor, inténtalo de nuevo.",
"claimResources.mcpSection": "Servidores MCP",
"claimResources.selectedCount": "{{count}} elemento(s) seleccionado(s)",
"claimResources.skillSection": "Habilidades",
"claimResources.skip": "Omitir",
"claimResources.success": "{{count}} recurso(s) reclamado(s) con éxito",
"claimResources.title": "Reclama tus recursos",
"errors.authorizationFailed": "La autorización ha fallado, por favor intenta de nuevo.",
"errors.browserOnly": "El proceso de autorización solo puede iniciarse en un navegador.",
"errors.codeConsumed": "El código de autorización ya ha sido utilizado. Por favor, intenta de nuevo.",
@@ -75,6 +84,10 @@
"profileSetup.fields.website.placeholder": "URL de tu sitio web personal",
"profileSetup.getStarted": "Comenzar",
"profileSetup.save": "Guardar",
"profileSetup.socialLinks.connectProvider": "Conectar con {{provider}}",
"profileSetup.socialLinks.connected": "Conectado",
"profileSetup.socialLinks.connecting": "Conectando...",
"profileSetup.socialLinks.disconnect": "Desconectar",
"profileSetup.socialLinks.title": "Enlaces Sociales",
"profileSetup.success": "Perfil actualizado con éxito",
"profileSetup.titleEdit": "Editar Perfil",
+7 -11
View File
@@ -307,21 +307,23 @@
"claude-3-haiku-20240307.description": "Claude 3 Haiku es el modelo más rápido y compacto de Anthropic, diseñado para respuestas casi instantáneas con rendimiento rápido y preciso.",
"claude-3-opus-20240229.description": "Claude 3 Opus es el modelo más potente de Anthropic para tareas altamente complejas, destacando en rendimiento, inteligencia, fluidez y comprensión.",
"claude-3-sonnet-20240229.description": "Claude 3 Sonnet equilibra inteligencia y velocidad para cargas de trabajo empresariales, ofreciendo alta utilidad a menor costo y despliegue confiable a gran escala.",
"claude-3.5-sonnet.description": "Claude 3.5 Sonnet destaca en programación, redacción y razonamiento complejo.",
"claude-3.7-sonnet-thought.description": "Claude 3.7 Sonnet con pensamiento extendido para tareas de razonamiento complejo.",
"claude-3.7-sonnet.description": "Claude 3.7 Sonnet es una versión mejorada con mayor contexto y capacidades ampliadas.",
"claude-haiku-4-5-20251001.description": "Claude Haiku 4.5 es el modelo Haiku más rápido e inteligente de Anthropic, con velocidad relámpago y pensamiento extendido.",
"claude-haiku-4.5.description": "Claude Haiku 4.5 es un modelo rápido y eficiente para diversas tareas.",
"claude-haiku-4.5.description": "Claude Haiku 4.5 es el modelo Haiku más rápido e inteligente de Anthropic, con velocidad relámpago y razonamiento extendido.",
"claude-opus-4-1-20250805-thinking.description": "Claude Opus 4.1 Thinking es una variante avanzada que puede mostrar su proceso de razonamiento.",
"claude-opus-4-1-20250805.description": "Claude Opus 4.1 es el modelo más reciente y capaz de Anthropic para tareas altamente complejas, destacando en rendimiento, inteligencia, fluidez y comprensión.",
"claude-opus-4-20250514.description": "Claude Opus 4 es el modelo más poderoso de Anthropic para tareas altamente complejas, destacando en rendimiento, inteligencia, fluidez y comprensión.",
"claude-opus-4-5-20251101.description": "Claude Opus 4.5 es el modelo insignia de Anthropic, combinando inteligencia excepcional con rendimiento escalable, ideal para tareas complejas que requieren respuestas y razonamiento de la más alta calidad.",
"claude-opus-4-6.description": "Claude Opus 4.6 es el modelo más inteligente de Anthropic para construir agentes y programar.",
"claude-opus-4.5.description": "Claude Opus 4.5 es el modelo insignia de Anthropic, que combina inteligencia de primer nivel con un rendimiento escalable para tareas complejas de razonamiento de alta calidad.",
"claude-opus-4.6-fast.description": "Claude Opus 4.6 es el modelo más inteligente de Anthropic para construir agentes y programar.",
"claude-opus-4.6.description": "Claude Opus 4.6 es el modelo más inteligente de Anthropic para construir agentes y programar.",
"claude-sonnet-4-20250514-thinking.description": "Claude Sonnet 4 Thinking puede generar respuestas casi instantáneas o pensamiento paso a paso extendido con proceso visible.",
"claude-sonnet-4-20250514.description": "Claude Sonnet 4 es el modelo más inteligente de Anthropic hasta la fecha, ofreciendo respuestas casi instantáneas o pensamiento extendido paso a paso con control detallado para usuarios de API.",
"claude-sonnet-4-5-20250929.description": "Claude Sonnet 4.5 es el modelo más inteligente de Anthropic hasta la fecha.",
"claude-sonnet-4-6.description": "Claude Sonnet 4.6 es la mejor combinación de velocidad e inteligencia de Anthropic.",
"claude-sonnet-4.description": "Claude Sonnet 4 es la última generación con un rendimiento mejorado en todas las tareas.",
"claude-sonnet-4.5.description": "Claude Sonnet 4.5 es el modelo más inteligente de Anthropic hasta la fecha.",
"claude-sonnet-4.6.description": "Claude Sonnet 4.6 es la mejor combinación de velocidad e inteligencia de Anthropic.",
"claude-sonnet-4.description": "Claude Sonnet 4 puede producir respuestas casi instantáneas o razonamientos detallados paso a paso que los usuarios pueden observar. Los usuarios de la API pueden controlar con precisión cuánto tiempo piensa el modelo.",
"codegeex-4.description": "CodeGeeX-4 es un potente asistente de codificación con soporte multilingüe para preguntas y respuestas y autocompletado de código, mejorando la productividad de los desarrolladores.",
"codegeex4-all-9b.description": "CodeGeeX4-ALL-9B es un modelo multilingüe de generación de código que admite autocompletado y generación de código, interpretación de código, búsqueda web, llamadas a funciones y preguntas y respuestas a nivel de repositorio, cubriendo una amplia gama de escenarios de desarrollo de software. Es un modelo de código de primer nivel con menos de 10 mil millones de parámetros.",
"codegemma.description": "CodeGemma es un modelo ligero para tareas de programación variadas, que permite iteración rápida e integración sencilla.",
@@ -655,7 +657,6 @@
"google/text-embedding-005.description": "Modelo de embedding de texto enfocado en inglés, optimizado para tareas de código y lenguaje en inglés.",
"google/text-multilingual-embedding-002.description": "Modelo de embedding de texto multilingüe optimizado para tareas interlingüísticas en muchos idiomas.",
"gpt-3.5-turbo-0125.description": "GPT 3.5 Turbo para generación y comprensión de texto; actualmente apunta a gpt-3.5-turbo-0125.",
"gpt-3.5-turbo-0613.description": "GPT 3.5 Turbo es un modelo rápido y eficiente para diversas tareas.",
"gpt-3.5-turbo-1106.description": "GPT 3.5 Turbo para generación y comprensión de texto; actualmente apunta a gpt-3.5-turbo-0125.",
"gpt-3.5-turbo-instruct.description": "GPT 3.5 Turbo para tareas de generación y comprensión de texto, optimizado para seguir instrucciones.",
"gpt-3.5-turbo.description": "GPT 3.5 Turbo para generación y comprensión de texto; actualmente apunta a gpt-3.5-turbo-0125.",
@@ -666,12 +667,10 @@
"gpt-4-1106-preview.description": "El último GPT-4 Turbo añade visión. Las solicitudes visuales admiten modo JSON y llamadas de función. Es un modelo multimodal rentable que equilibra precisión y eficiencia para aplicaciones en tiempo real.",
"gpt-4-32k-0613.description": "GPT-4 ofrece una ventana de contexto más amplia para manejar entradas más largas en escenarios que requieren integración de información y análisis de datos.",
"gpt-4-32k.description": "GPT-4 ofrece una ventana de contexto más amplia para manejar entradas más largas en escenarios que requieren integración de información y análisis de datos.",
"gpt-4-o-preview.description": "GPT-4o es el modelo multimodal más avanzado, capaz de procesar texto e imágenes.",
"gpt-4-turbo-2024-04-09.description": "El último GPT-4 Turbo añade visión. Las solicitudes visuales admiten modo JSON y llamadas de función. Es un modelo multimodal rentable que equilibra precisión y eficiencia para aplicaciones en tiempo real.",
"gpt-4-turbo-preview.description": "El último GPT-4 Turbo añade visión. Las solicitudes visuales admiten modo JSON y llamadas de función. Es un modelo multimodal rentable que equilibra precisión y eficiencia para aplicaciones en tiempo real.",
"gpt-4-turbo.description": "El último GPT-4 Turbo añade visión. Las solicitudes visuales admiten modo JSON y llamadas de función. Es un modelo multimodal rentable que equilibra precisión y eficiencia para aplicaciones en tiempo real.",
"gpt-4-vision-preview.description": "Vista previa de GPT-4 Vision, diseñado para tareas de análisis y procesamiento de imágenes.",
"gpt-4.1-2025-04-14.description": "GPT-4.1 es el modelo insignia para tareas complejas, ideal para la resolución de problemas multidisciplinarios.",
"gpt-4.1-mini.description": "GPT-4.1 mini equilibra inteligencia, velocidad y costo, siendo atractivo para muchos casos de uso.",
"gpt-4.1-nano.description": "GPT-4.1 nano es el modelo GPT-4.1 más rápido y rentable.",
"gpt-4.1.description": "GPT-4.1 es nuestro modelo insignia para tareas complejas y resolución de problemas interdisciplinares.",
@@ -681,7 +680,6 @@
"gpt-4o-2024-08-06.description": "ChatGPT-4o es un modelo dinámico actualizado en tiempo real. Combina una sólida comprensión del lenguaje y generación para casos de uso a gran escala como atención al cliente, educación y asistencia técnica.",
"gpt-4o-2024-11-20.description": "ChatGPT-4o es un modelo dinámico actualizado en tiempo real, que combina una sólida comprensión y generación para casos de uso a gran escala como atención al cliente, educación y soporte técnico.",
"gpt-4o-audio-preview.description": "Modelo de vista previa de audio de GPT-4o con entrada y salida de audio.",
"gpt-4o-mini-2024-07-18.description": "GPT-4o mini es una solución rentable para una amplia gama de tareas de texto e imagen.",
"gpt-4o-mini-audio-preview.description": "Modelo de audio mini de GPT-4o con entrada y salida de audio.",
"gpt-4o-mini-realtime-preview.description": "Variante en tiempo real de GPT-4o-mini con entrada/salida de audio y texto en tiempo real.",
"gpt-4o-mini-search-preview.description": "GPT-4o mini Search Preview está entrenado para comprender y ejecutar consultas de búsqueda web a través de la API de Chat Completions. La búsqueda web se factura por cada llamada a herramienta además del costo por tokens.",
@@ -1249,9 +1247,7 @@
"tencent/Hunyuan-A13B-Instruct.description": "Hunyuan-A13B-Instruct utiliza 80B parámetros totales con 13B activos para igualar modelos más grandes. Admite razonamiento híbrido rápido/lento, comprensión estable de textos largos y capacidad líder de agentes en BFCL-v3 y τ-Bench. GQA y formatos multi-cuánticos permiten inferencia eficiente.",
"tencent/Hunyuan-MT-7B.description": "El modelo de traducción Hunyuan incluye Hunyuan-MT-7B y el conjunto Hunyuan-MT-Chimera. Hunyuan-MT-7B es un modelo ligero de 7B que admite 33 idiomas y 5 lenguas minoritarias chinas. En WMT25 obtuvo 30 primeros lugares en 31 pares de idiomas. Tencent Hunyuan utiliza una canalización completa de entrenamiento desde preentrenamiento hasta SFT, RL de traducción y RL en conjunto, logrando un rendimiento líder en su tamaño con implementación eficiente y sencilla.",
"text-embedding-3-large.description": "El modelo de embedding más potente para tareas en inglés y otros idiomas.",
"text-embedding-3-small-inference.description": "Modelo Embedding V3 pequeño (Inferencia) para incrustaciones de texto.",
"text-embedding-3-small.description": "Modelo de embedding de próxima generación eficiente y rentable para recuperación y escenarios RAG.",
"text-embedding-ada-002.description": "Modelo Embedding V2 Ada para incrustaciones de texto.",
"thudm/glm-4-32b.description": "GLM-4-32B-0414 es un modelo bilingüe (chino/inglés) de 32B con pesos abiertos, optimizado para generación de código, llamadas a funciones y tareas de agentes. Preentrenado con 15T de datos de alta calidad y centrados en razonamiento, afinado con alineación de preferencias humanas, muestreo de rechazo y RL. Destaca en razonamiento complejo, generación de artefactos y salida estructurada, alcanzando el nivel de rendimiento de GPT-4o y DeepSeek-V3-0324 en múltiples benchmarks.",
"thudm/glm-4-32b:free.description": "GLM-4-32B-0414 es un modelo bilingüe (chino/inglés) de 32B con pesos abiertos, optimizado para generación de código, llamadas a funciones y tareas de agentes. Preentrenado con 15T de datos de alta calidad y centrados en razonamiento, afinado con alineación de preferencias humanas, muestreo de rechazo y RL. Destaca en razonamiento complejo, generación de artefactos y salida estructurada, alcanzando el nivel de rendimiento de GPT-4o y DeepSeek-V3-0324 en múltiples benchmarks.",
"thudm/glm-4-9b-chat.description": "Versión de código abierto del último modelo preentrenado GLM-4 de Zhipu AI.",
+12
View File
@@ -0,0 +1,12 @@
{
"image_generation_completed": "Imagen \"{{prompt}}\" generada con éxito",
"image_generation_completed_title": "Imagen Generada",
"inbox.archiveAll": "Archivar todo",
"inbox.empty": "Aún no hay notificaciones",
"inbox.emptyUnread": "No hay notificaciones sin leer",
"inbox.filterUnread": "Mostrar solo sin leer",
"inbox.markAllRead": "Marcar todo como leído",
"inbox.title": "Notificaciones",
"video_generation_completed": "Video \"{{prompt}}\" generado con éxito",
"video_generation_completed_title": "Video Generado"
}
+7
View File
@@ -443,6 +443,12 @@
"myAgents.status.published": "Publicado",
"myAgents.status.unpublished": "No Publicado",
"myAgents.title": "Mis Agentes Publicados",
"notification.email.desc": "Recibe notificaciones por correo electrónico cuando ocurran eventos importantes",
"notification.email.title": "Notificaciones por Correo Electrónico",
"notification.enabled": "Habilitado",
"notification.inbox.desc": "Muestra notificaciones en la bandeja de entrada de la aplicación",
"notification.inbox.title": "Notificaciones en la Bandeja de Entrada",
"notification.title": "Canales de Notificación",
"plugin.addMCPPlugin": "Agregar MCP",
"plugin.addTooltip": "Habilidades Personalizadas",
"plugin.clearDeprecated": "Eliminar Habilidades Retiradas",
@@ -807,6 +813,7 @@
"tab.manualFill": "Rellenar Manualmente",
"tab.manualFill.desc": "Configura manualmente una habilidad MCP personalizada",
"tab.memory": "Memoria",
"tab.notification": "Notificaciones",
"tab.profile": "Mi Cuenta",
"tab.provider": "Proveedor de Servicios de IA",
"tab.proxy": "Proxy de Red",
+4
View File
@@ -54,6 +54,7 @@
"credits.autoTopUp.upgradeHint": "Suscríbete a un plan de pago para habilitar la recarga automática",
"credits.autoTopUp.validation.targetMustExceedThreshold": "El saldo objetivo debe ser mayor que el umbral",
"credits.packages.auto": "Automático",
"credits.packages.charged": "Cargado ${{amount}}",
"credits.packages.expired": "Expirado",
"credits.packages.expiresIn": "Expira en {{days}} días",
"credits.packages.expiresToday": "Expira hoy",
@@ -256,6 +257,9 @@
"plans.payonce.ok": "Confirmar Selección",
"plans.payonce.popconfirm": "Después del pago único, deberás esperar a que expire la suscripción para cambiar de plan o ciclo de facturación. Por favor confirma tu selección.",
"plans.payonce.tooltip": "El pago único requiere esperar a que expire la suscripción para cambiar de plan o ciclo de facturación",
"plans.payonce.upgradeOk": "Confirmar mejora",
"plans.payonce.upgradePopconfirm": "El valor restante de tu plan actual se aplicará como descuento al nuevo plan.",
"plans.payonce.upgradePopconfirmNoProration": "Se te cobrará el precio completo del nuevo plan. Tu plan actual será reemplazado de inmediato.",
"plans.pendingDowngrade": "Degradación pendiente",
"plans.plan.enterprise.contactSales": "Contactar Ventas",
"plans.plan.enterprise.title": "Empresarial",
+26 -1
View File
@@ -12,7 +12,13 @@
"channel.botTokenPlaceholderNew": "توکن ربات خود را اینجا وارد کنید",
"channel.charLimit": "محدودیت کاراکتر",
"channel.charLimitHint": "حداکثر تعداد کاراکترها در هر پیام",
"channel.concurrency": "حالت همزمانی",
"channel.concurrencyDebounce": "دیبانس",
"channel.concurrencyHint": "صف پیام‌ها را یکی یکی پردازش می‌کند؛ دیبانس منتظر می‌ماند تا یک سری پیام‌ها تمام شوند و سپس پردازش را آغاز می‌کند.",
"channel.concurrencyQueue": "صف",
"channel.connectFailed": "اتصال ربات ناموفق بود",
"channel.connectQueued": "اتصال ربات در صف قرار گرفت. به زودی شروع خواهد شد.",
"channel.connectStarting": "ربات در حال شروع است. لطفاً کمی صبر کنید.",
"channel.connectSuccess": "ربات با موفقیت متصل شد",
"channel.connecting": "در حال اتصال...",
"channel.connectionConfig": "پیکربندی اتصال",
@@ -21,6 +27,11 @@
"channel.credentials": "اعتبارنامه‌ها",
"channel.debounceMs": "پنجره ادغام پیام (میلی‌ثانیه)",
"channel.debounceMsHint": "مدت زمان انتظار برای پیام‌های اضافی قبل از ارسال به عامل (میلی‌ثانیه)",
"channel.deleteAllChannels": "حذف همه کانال‌ها",
"channel.deleteAllConfirm": "آیا مطمئن هستید که می‌خواهید همه کانال‌ها را حذف کنید؟",
"channel.deleteAllConfirmDesc": "این اقدام تمامی کانال‌های پیام و تنظیمات مربوط به این عامل را به طور دائمی حذف خواهد کرد. این عمل قابل بازگشت نیست.",
"channel.deleteAllFailed": "حذف همه کانال‌ها ناموفق بود",
"channel.deleteAllSuccess": "همه کانال‌ها حذف شدند",
"channel.deleteConfirm": "آیا مطمئن هستید که می‌خواهید این کانال را حذف کنید؟",
"channel.deleteConfirmDesc": "این اقدام کانال پیام و تنظیمات آن را به طور دائمی حذف خواهد کرد. این عمل قابل بازگشت نیست.",
"channel.devWebhookProxyUrl": "آدرس HTTPS Tunnel",
@@ -42,7 +53,12 @@
"channel.encryptKeyPlaceholder": "کلید رمزگذاری اختیاری",
"channel.endpointUrl": "آدرس وبهوک",
"channel.endpointUrlHint": "لطفاً این آدرس را کپی کرده و در قسمت <bold>{{fieldName}}</bold> در پورتال توسعه‌دهنده {{name}} وارد کنید.",
"channel.exportConfig": "صادرات تنظیمات",
"channel.feishu.description": "این دستیار را به Feishu برای چت‌های خصوصی و گروهی متصل کنید.",
"channel.importConfig": "وارد کردن تنظیمات",
"channel.importFailed": "وارد کردن تنظیمات ناموفق بود",
"channel.importInvalidFormat": "فرمت فایل تنظیمات نامعتبر است",
"channel.importSuccess": "تنظیمات با موفقیت وارد شد",
"channel.lark.description": "این دستیار را به Lark برای چت‌های خصوصی و گروهی متصل کنید.",
"channel.openPlatform": "پلتفرم باز",
"channel.platforms": "پلتفرم‌ها",
@@ -54,6 +70,7 @@
"channel.removeChannel": "حذف کانال",
"channel.removeFailed": "حذف کانال ناموفق بود",
"channel.removed": "کانال حذف شد",
"channel.runtimeDisconnected": "ربات قطع شد",
"channel.save": "ذخیره پیکربندی",
"channel.saveFailed": "ذخیره پیکربندی ناموفق بود",
"channel.saveFirstWarning": "لطفاً ابتدا پیکربندی را ذخیره کنید",
@@ -81,10 +98,18 @@
"channel.verificationTokenHint": "اختیاری. برای تأیید منبع رویداد وبهوک استفاده می‌شود.",
"channel.verificationTokenPlaceholder": "توکن تأیید خود را اینجا وارد کنید",
"channel.wechat.description": "این دستیار را از طریق iLink Bot به WeChat متصل کنید برای چت‌های خصوصی و گروهی.",
"channel.wechatBotId": "شناسه ربات",
"channel.wechatBotIdHint": "شناسه ربات که پس از تأیید کد QR اختصاص داده شده است.",
"channel.wechatConnectedInfo": "حساب متصل شده وی‌چت",
"channel.wechatManagedCredentials": "این کانال از طریق تأیید کد QR متصل شده است. اطلاعات ورود به صورت خودکار مدیریت می‌شوند.",
"channel.wechatQrExpired": "کد QR منقضی شده است. لطفاً برای دریافت کد جدید آن را تازه کنید.",
"channel.wechatQrRefresh": "تازه کردن کد QR",
"channel.wechatQrScaned": "کد QR اسکن شد. لطفاً ورود را در WeChat تأیید کنید.",
"channel.wechatQrWait": "WeChat را باز کنید و کد QR را برای اتصال اسکن کنید.",
"channel.wechatRebind": "اتصال مجدد از طریق کد QR",
"channel.wechatScanTitle": "اتصال ربات WeChat",
"channel.wechatScanToConnect": "کد QR را برای اتصال اسکن کنید"
"channel.wechatScanToConnect": "کد QR را برای اتصال اسکن کنید",
"channel.wechatTips": "لطفاً وی‌چت را به آخرین نسخه به‌روزرسانی کنید و آن را مجدداً راه‌اندازی کنید. افزونه ClawBot به تدریج در حال انتشار است، بنابراین به تنظیمات > افزونه‌ها مراجعه کنید تا دسترسی را تأیید کنید.",
"channel.wechatUserId": "شناسه کاربری وی‌چت",
"channel.wechatUserIdHint": "شناسه حساب وی‌چت که توسط جریان تأیید بازگردانده شده است."
}
+6
View File
@@ -12,6 +12,7 @@
"FileManager.actions.chunkingTooltip": "فایل را به چند بخش متنی تقسیم کرده و آن‌ها را برای جستجوی معنایی و گفت‌وگوی فایل جاسازی می‌کند.",
"FileManager.actions.chunkingUnsupported": "این فایل از تقسیم‌بندی پشتیبانی نمی‌کند.",
"FileManager.actions.confirmDelete": "در حال حذف این فایل هستید. پس از حذف، قابل بازیابی نخواهد بود. لطفاً اقدام خود را تأیید کنید.",
"FileManager.actions.confirmDeleteAllFiles": "در آستانه حذف همه نتایج در نمای فعلی هستید. پس از حذف، قابل بازیابی نیستند. لطفاً اقدام خود را تأیید کنید.",
"FileManager.actions.confirmDeleteFolder": "در حال حذف این پوشه و تمام محتوای آن هستید. این عملیات قابل بازگشت نیست. لطفاً تصمیم خود را تأیید کنید.",
"FileManager.actions.confirmDeleteMultiFiles": "در حال حذف {{count}} فایل انتخاب‌شده هستید. پس از حذف، قابل بازیابی نخواهند بود. لطفاً اقدام خود را تأیید کنید.",
"FileManager.actions.confirmRemoveFromLibrary": "در حال حذف {{count}} فایل انتخاب‌شده از کتابخانه هستید. این فایل‌ها همچنان در بخش همه فایل‌ها در دسترس خواهند بود. برای ادامه تأیید کنید.",
@@ -51,7 +52,12 @@
"FileManager.title.createdAt": "تاریخ ایجاد",
"FileManager.title.size": "اندازه",
"FileManager.title.title": "فایل",
"FileManager.total.allSelectedCount": "همه {{count}} مورد انتخاب شده‌اند.",
"FileManager.total.allSelectedFallback": "همه نتایج انتخاب شده‌اند.",
"FileManager.total.fileCount": "مجموع {{count}} مورد",
"FileManager.total.loadedSelectedCount": "{{count}} مورد بارگذاری‌شده انتخاب شده‌اند.",
"FileManager.total.selectAll": "انتخاب همه {{count}} مورد",
"FileManager.total.selectAllFallback": "انتخاب همه موارد",
"FileManager.total.selectedCount": "{{count}} مورد انتخاب شده",
"FileManager.view.list": "نمای لیستی",
"FileManager.view.masonry": "نمای جدولی",
+15
View File
@@ -607,6 +607,7 @@
"time.today": "امروز",
"time.yesterday": "دیروز",
"user.agents": "عوامل",
"user.cancel": "لغو",
"user.downloads": "دانلودها",
"user.editProfile": "ویرایش پروفایل",
"user.favoriteAgents": "عوامل ذخیره‌شده",
@@ -616,6 +617,9 @@
"user.following": "دنبال‌شده‌ها",
"user.forkedAgentGroups": "گروه‌های عامل فورک‌شده",
"user.forkedAgents": "عامل‌های فورک‌شده",
"user.githubUrl": "آدرس مخزن GitHub",
"user.githubUrlInvalid": "لطفاً یک آدرس معتبر از مخزن GitHub وارد کنید",
"user.githubUrlRequired": "لطفاً یک آدرس مخزن GitHub وارد کنید",
"user.login": "تبدیل به سازنده",
"user.logout": "خروج",
"user.myProfile": "پروفایل من",
@@ -624,9 +628,13 @@
"user.noFavoritePlugins": "هیچ مهارت ذخیره‌شده‌ای وجود ندارد",
"user.noForkedAgentGroups": "هنوز هیچ گروه عامل فورک‌شده‌ای وجود ندارد",
"user.noForkedAgents": "هنوز هیچ عامل فورک‌شده‌ای وجود ندارد",
"user.noPlugins": "این کاربر هنوز هیچ افزونه‌ای منتشر نکرده است",
"user.noSkills": "این کاربر هنوز هیچ مهارتی منتشر نکرده است",
"user.plugins": "افزونه‌ها",
"user.publishedAgents": "عوامل ایجادشده",
"user.publishedGroups": "گروه‌های ایجادشده",
"user.searchPlaceholder": "جستجو بر اساس نام یا توضیحات...",
"user.skills": "مهارت‌ها",
"user.statusFilter.all": "همه",
"user.statusFilter.archived": "بایگانی‌شده",
"user.statusFilter.deprecated": "منسوخ‌شده",
@@ -634,6 +642,13 @@
"user.statusFilter.forked": "انشعاب‌یافته",
"user.statusFilter.published": "منتشرشده",
"user.statusFilter.unpublished": "در حال بررسی",
"user.submit": "ارسال",
"user.submitRepo": "ارسال مخزن",
"user.submitRepoDescription": "مخزن GitHub خود را ارسال کنید تا مهارت‌ها یا MCPهای خود را به جامعه وارد کنید.",
"user.submitRepoError": "ارسال مخزن با شکست مواجه شد. لطفاً دوباره تلاش کنید.",
"user.submitRepoHint": "مخزن قبل از انتشار بررسی خواهد شد.",
"user.submitRepoSuccess": "مخزن با موفقیت ارسال شد! به زودی بررسی خواهد شد.",
"user.submitRepoTitle": "مخزن خود را ارسال کنید",
"user.tabs.favorites": "علاقه‌مندی‌ها",
"user.tabs.forkedAgents": "فورک‌شده‌ها",
"user.tabs.publishedAgents": "ایجادشده",
+9
View File
@@ -1,4 +1,13 @@
{
"gateway.description": "توضیحات",
"gateway.descriptionPlaceholder": "اختیاری",
"gateway.deviceName": "نام دستگاه",
"gateway.deviceNamePlaceholder": "نام دستگاه را وارد کنید",
"gateway.enableConnection": "اتصال به درگاه",
"gateway.statusConnected": "متصل به درگاه",
"gateway.statusConnecting": "در حال اتصال به درگاه...",
"gateway.statusDisconnected": "به درگاه متصل نیست",
"gateway.title": "درگاه دستگاه",
"navigation.chat": "چت",
"navigation.discover": "کشف",
"navigation.discoverAssistants": "کشف دستیاران",
+16 -9
View File
@@ -4,6 +4,9 @@
"error.retry": "بارگذاری مجدد",
"error.stack": "پشته خطا",
"error.title": "اوه، مشکلی پیش آمده...",
"exceededContext.compact": "فشرده‌سازی زمینه",
"exceededContext.desc": "مکالمه از حد مجاز پنجره زمینه فراتر رفته است. می‌توانید زمینه را فشرده کنید تا تاریخچه را فشرده کرده و به گفتگو ادامه دهید.",
"exceededContext.title": "حد مجاز پنجره زمینه فراتر رفته است",
"fetchError.detail": "جزئیات خطا",
"fetchError.title": "درخواست ناموفق بود",
"import.importConfigFile.description": "دلیل خطا: {{reason}}",
@@ -69,15 +72,15 @@
"response.ExceededContextWindow": "محتوای درخواست فعلی از حداکثر طول قابل پردازش مدل فراتر رفته است. لطفاً حجم محتوا را کاهش داده و دوباره تلاش کنید.",
"response.ExceededContextWindowCloud": "مکالمه برای پردازش بیش از حد طولانی است. لطفاً پیام آخر خود را ویرایش کنید تا ورودی کاهش یابد یا برخی پیام‌ها را حذف کنید و دوباره تلاش کنید.",
"response.FreePlanLimit": "شما در حال حاضر کاربر رایگان هستید و نمی‌توانید از این قابلیت استفاده کنید. لطفاً برای ادامه استفاده، به طرح پولی ارتقا دهید.",
"response.GoogleAIBlockReason.BLOCKLIST": "محتوای شما شامل واژگان ممنوعه است. لطفاً ورودی خود را بازبینی و اصلاح کرده و دوباره تلاش کنید.",
"response.GoogleAIBlockReason.IMAGE_SAFETY": "تصویر تولید شده به دلایل ایمنی مسدود شد. لطفاً درخواست تصویر خود را اصلاح کنید.",
"response.GoogleAIBlockReason.LANGUAGE": "زبان مورد استفاده شما پشتیبانی نمی‌شود. لطفاً به زبان انگلیسی یا زبان‌های پشتیبانیشده دیگر تلاش کنید.",
"response.GoogleAIBlockReason.OTHER": "محتوا به دلایل نامشخصی مسدود شد. لطفاً درخواست خود را بازنویسی کرده و دوباره تلاش کنید.",
"response.GoogleAIBlockReason.PROHIBITED_CONTENT": "درخواست شما ممکن است شامل محتوای ممنوعه باشد. لطفاً درخواست خود را مطابق با دستورالعمل‌ها تنظیم کنید.",
"response.GoogleAIBlockReason.RECITATION": "محتوای شما به دلیل نگرانی‌های احتمالی مربوط به حق نشر مسدود شد. لطفاً از محتوای اصلی استفاده کرده یا درخواست خود را بازنویسی کنید.",
"response.GoogleAIBlockReason.SAFETY": "محتوای شما به دلایل سیاست ایمنی مسدود شد. لطفاً درخواست خود را طوری تنظیم کنید که شامل محتوای مضر یا نامناسب نباشد.",
"response.GoogleAIBlockReason.SPII": "محتوای شما ممکن است شامل اطلاعات شناسایی شخصی حساس باشد. برای حفظ حریم خصوصی، لطفاً جزئیات حساس را حذف کرده و دوباره تلاش کنید.",
"response.GoogleAIBlockReason.default": "محتوا مسدود شد: {{blockReason}}. لطفاً درخواست خود را تنظیم کرده و دوباره تلاش کنید.",
"response.GoogleAIBlockReason.BLOCKLIST": "محتوا شامل اصطلاحات مسدود شده است. لطفاً متن را بازنویسی کرده و دوباره تلاش کنید.",
"response.GoogleAIBlockReason.IMAGE_SAFETY": "تصویر تولید شده به دلایل ایمنی مسدود شده است. لطفاً درخواست خود را تغییر دهید و دوباره تلاش کنید.",
"response.GoogleAIBlockReason.LANGUAGE": "زبان درخواست شده پشتیبانی نمی‌شود. لطفاً دوباره با یک زبان پشتیبانی شده تلاش کنید.",
"response.GoogleAIBlockReason.OTHER": "محتوا به دلایل نامشخص مسدود شده است. لطفاً متن را بازنویسی کرده و دوباره تلاش کنید.",
"response.GoogleAIBlockReason.PROHIBITED_CONTENT": حتوا ممکن است شامل محتوای ممنوعه باشد. لطفاً آن را تنظیم کرده و دوباره تلاش کنید.",
"response.GoogleAIBlockReason.RECITATION": "محتوا به دلیل خطر بازگویی مسدود شده است. لطفاً از عبارات اصیل‌تر استفاده کرده و دوباره تلاش کنید.",
"response.GoogleAIBlockReason.SAFETY": "محتوا به دلایل ایمنی مسدود شده است. لطفاً آن را تنظیم کرده و دوباره تلاش کنید.",
"response.GoogleAIBlockReason.SPII": "محتوا ممکن است شامل اطلاعات حساس شخصی (SPII) باشد. لطفاً جزئیات حساس را حذف کرده و دوباره تلاش کنید.",
"response.GoogleAIBlockReason.default": "محتوا مسدود شده است ({{blockReason}}). لطفاً آن را تنظیم کرده و دوباره تلاش کنید.",
"response.InsufficientBudgetForModel": "اعتبارات باقی‌مانده شما برای این مدل کافی نیست. لطفاً اعتبار خود را افزایش دهید، طرح خود را ارتقا دهید یا مدل ارزان‌تری را امتحان کنید.",
"response.InsufficientQuota": "متأسفیم، سهمیه این کلید به پایان رسیده است. لطفاً موجودی حساب خود را بررسی کرده یا پس از افزایش سهمیه دوباره تلاش کنید.",
"response.InvalidAccessCode": "کد دسترسی نامعتبر یا خالی است. لطفاً کد صحیح را وارد کرده یا یک کلید API سفارشی اضافه کنید.",
@@ -120,6 +123,10 @@
"supervisor.decisionFailed": "میزبان گروه قادر به عملکرد نیست. لطفاً پیکربندی میزبان را بررسی کنید.",
"testConnectionFailed": "اتصال آزمایشی ناموفق بود: {{error}}",
"tts.responseError": "درخواست سرویس ناموفق بود. لطفاً پیکربندی را بررسی کرده یا دوباره تلاش کنید.",
"unknownError.copyTraceId": "شناسه ردیابی کپی شد",
"unknownError.desc": "یک خطای غیرمنتظره رخ داد. می‌توانید دوباره تلاش کنید یا گزارش دهید در",
"unknownError.retry": "تلاش مجدد",
"unknownError.title": "اوه، درخواست به خواب رفت",
"unlock.addProxyUrl": "افزودن آدرس پراکسی OpenAI (اختیاری)",
"unlock.apiKey.description": "کلید API {{name}} خود را وارد کنید تا جلسه آغاز شود",
"unlock.apiKey.imageGenerationDescription": "کلید API {{name}} خود را وارد کنید تا تولید تصویر آغاز شود",
+1
View File
@@ -137,6 +137,7 @@
"uploadDock.body.item.processing": "در حال پردازش فایل...",
"uploadDock.body.item.restTime": "زمان باقی‌مانده: {{time}}",
"uploadDock.fileQueueInfo": "در حال بارگذاری {{count}} فایل اول، {{remaining}} فایل در صف باقی مانده",
"uploadDock.header.cancelAll": "لغو همه",
"uploadDock.totalCount": "مجموع {{count}} مورد",
"uploadDock.uploadStatus.cancelled": "بارگذاری لغو شد",
"uploadDock.uploadStatus.error": "خطای بارگذاری",
+13
View File
@@ -16,6 +16,15 @@
"callback.titles.error": "احراز هویت ناموفق بود",
"callback.titles.loading": "احراز هویت بازار LobeHub",
"callback.titles.success": "احراز هویت موفقیت‌آمیز بود",
"claimResources.claim": "دریافت موارد انتخاب شده",
"claimResources.description": "ما منابع مرتبط با حساب شما را پیدا کردیم که می‌توانید دریافت کنید:",
"claimResources.error": "دریافت منابع با شکست مواجه شد. لطفاً دوباره تلاش کنید.",
"claimResources.mcpSection": "سرورهای MCP",
"claimResources.selectedCount": "{{count}} مورد انتخاب شده",
"claimResources.skillSection": "مهارت‌ها",
"claimResources.skip": "رد کردن",
"claimResources.success": "{{count}} منبع با موفقیت دریافت شد",
"claimResources.title": "منابع خود را دریافت کنید",
"errors.authorizationFailed": "احراز هویت ناموفق بود، لطفاً دوباره تلاش کنید.",
"errors.browserOnly": "فرآیند احراز هویت فقط در مرورگر قابل انجام است.",
"errors.codeConsumed": "کد احراز هویت قبلاً استفاده شده است. لطفاً دوباره تلاش کنید.",
@@ -75,6 +84,10 @@
"profileSetup.fields.website.placeholder": "آدرس وب‌سایت شخصی",
"profileSetup.getStarted": "شروع کنید",
"profileSetup.save": "ذخیره",
"profileSetup.socialLinks.connectProvider": "اتصال به {{provider}}",
"profileSetup.socialLinks.connected": "متصل شد",
"profileSetup.socialLinks.connecting": "در حال اتصال...",
"profileSetup.socialLinks.disconnect": "قطع اتصال",
"profileSetup.socialLinks.title": "لینک‌های اجتماعی",
"profileSetup.success": "پروفایل با موفقیت به‌روزرسانی شد",
"profileSetup.titleEdit": "ویرایش پروفایل",
+7 -11
View File
@@ -307,21 +307,23 @@
"claude-3-haiku-20240307.description": "Claude 3 Haiku سریع‌ترین و فشرده‌ترین مدل Anthropic است که برای پاسخ‌های تقریباً فوری با عملکرد سریع و دقیق طراحی شده است.",
"claude-3-opus-20240229.description": "Claude 3 Opus قدرتمندترین مدل Anthropic برای وظایف بسیار پیچیده است که در عملکرد، هوش، روانی و درک زبان برتری دارد.",
"claude-3-sonnet-20240229.description": "Claude 3 Sonnet تعادل بین هوش و سرعت را برای بارهای کاری سازمانی برقرار می‌کند و با هزینه کمتر، بهره‌وری بالا و استقرار قابل اعتماد در مقیاس وسیع را ارائه می‌دهد.",
"claude-3.5-sonnet.description": "Claude 3.5 Sonnet در برنامه‌نویسی، نویسندگی و استدلال‌های پیچیده عملکردی برجسته دارد.",
"claude-3.7-sonnet-thought.description": "Claude 3.7 Sonnet با قابلیت تفکر پیشرفته برای انجام وظایف استدلالی پیچیده طراحی شده است.",
"claude-3.7-sonnet.description": "Claude 3.7 Sonnet نسخه‌ای ارتقاءیافته با زمینه و قابلیت‌های گسترده‌تر است.",
"claude-haiku-4-5-20251001.description": "Claude Haiku 4.5 سریع‌ترین و هوشمندترین مدل Haiku Anthropic است که با سرعت فوق‌العاده و تفکر گسترده ارائه می‌شود.",
"claude-haiku-4.5.description": "Claude Haiku 4.5 مدلی سریع و کارآمد برای انجام وظایف گوناگون است.",
"claude-haiku-4.5.description": "Claude Haiku 4.5 سریع‌ترین و هوشمندترین مدل Haiku از Anthropic است که با سرعت برق‌آسا و توانایی استدلال پیشرفته ارائه می‌شود.",
"claude-opus-4-1-20250805-thinking.description": "Claude Opus 4.1 Thinking یک نسخه پیشرفته است که می‌تواند فرآیند استدلال خود را آشکار کند.",
"claude-opus-4-1-20250805.description": "Claude Opus 4.1 جدیدترین و توانمندترین مدل Anthropic برای وظایف بسیار پیچیده است که در عملکرد، هوش، روانی و درک برتری دارد.",
"claude-opus-4-20250514.description": "Claude Opus 4 قدرتمندترین مدل Anthropic برای وظایف بسیار پیچیده است که در عملکرد، هوش، روانی و درک برتری دارد.",
"claude-opus-4-5-20251101.description": "Claude Opus 4.5 مدل پرچم‌دار Anthropic است که هوش برجسته را با عملکرد مقیاس‌پذیر ترکیب می‌کند و برای وظایف پیچیده‌ای که نیاز به پاسخ‌های باکیفیت و استدلال دارند، ایده‌آل است.",
"claude-opus-4-6.description": "Claude Opus 4.6 هوشمندترین مدل Anthropic برای ساخت عوامل و کدنویسی است.",
"claude-opus-4.5.description": "Claude Opus 4.5 مدل پرچمدار Anthropic است که هوش برتر را با عملکرد مقیاس‌پذیر برای وظایف پیچیده و استدلال با کیفیت بالا ترکیب می‌کند.",
"claude-opus-4.6-fast.description": "Claude Opus 4.6 هوشمندترین مدل Anthropic برای ساخت عوامل و کدنویسی است.",
"claude-opus-4.6.description": "Claude Opus 4.6 هوشمندترین مدل Anthropic برای ساخت عوامل و کدنویسی است.",
"claude-sonnet-4-20250514-thinking.description": "Claude Sonnet 4 Thinking می‌تواند پاسخ‌های تقریباً فوری یا تفکر گام‌به‌گام طولانی با فرآیند قابل مشاهده تولید کند.",
"claude-sonnet-4-20250514.description": "Claude Sonnet 4 هوشمندترین مدل Anthropic تا به امروز است که پاسخ‌های تقریباً فوری یا تفکر مرحله‌به‌مرحله گسترده با کنترل دقیق برای کاربران API ارائه می‌دهد.",
"claude-sonnet-4-5-20250929.description": "Claude Sonnet 4.5 هوشمندترین مدل Anthropic تا به امروز است.",
"claude-sonnet-4-6.description": "Claude Sonnet 4.6 بهترین ترکیب سرعت و هوش Anthropic است.",
"claude-sonnet-4.description": "Claude Sonnet 4 نسل جدیدی از این مدل با عملکرد بهبود یافته در تمامی وظایف است.",
"claude-sonnet-4.5.description": "Claude Sonnet 4.5 هوشمندترین مدل Anthropic تا به امروز است.",
"claude-sonnet-4.6.description": "Claude Sonnet 4.6 بهترین ترکیب از سرعت و هوش را ارائه می‌دهد.",
"claude-sonnet-4.description": "Claude Sonnet 4 می‌تواند پاسخ‌های تقریباً فوری یا استدلال گام‌به‌گام طولانی‌تری که کاربران می‌توانند مشاهده کنند، تولید کند. کاربران API می‌توانند به‌طور دقیق کنترل کنند که مدل چه مدت فکر کند.",
"codegeex-4.description": "CodeGeeX-4 یک دستیار هوش مصنوعی قدرتمند برای برنامه‌نویسی است که از پرسش و پاسخ چندزبانه و تکمیل کد پشتیبانی می‌کند تا بهره‌وری توسعه‌دهندگان را افزایش دهد.",
"codegeex4-all-9b.description": "CodeGeeX4-ALL-9B یک مدل تولید کد چندزبانه است که از تکمیل و تولید کد، مفسر کد، جستجوی وب، فراخوانی توابع و پرسش و پاسخ در سطح مخزن پشتیبانی می‌کند و طیف گسترده‌ای از سناریوهای توسعه نرم‌افزار را پوشش می‌دهد. این مدل یکی از بهترین مدل‌های کد زیر ۱۰ میلیارد پارامتر است.",
"codegemma.description": "CodeGemma یک مدل سبک برای وظایف متنوع برنامه‌نویسی است که امکان تکرار سریع و یکپارچه‌سازی آسان را فراهم می‌کند.",
@@ -655,7 +657,6 @@
"google/text-embedding-005.description": "مدل جاسازی متن متمرکز بر زبان انگلیسی که برای وظایف کد و زبان انگلیسی بهینه شده است.",
"google/text-multilingual-embedding-002.description": "مدل جاسازی متن چندزبانه بهینه‌شده برای وظایف میان‌زبانی در زبان‌های مختلف.",
"gpt-3.5-turbo-0125.description": "GPT 3.5 Turbo برای تولید و درک متن؛ در حال حاضر به gpt-3.5-turbo-0125 اشاره دارد.",
"gpt-3.5-turbo-0613.description": "GPT 3.5 Turbo مدلی سریع و کارآمد برای انجام وظایف متنوع است.",
"gpt-3.5-turbo-1106.description": "GPT 3.5 Turbo برای تولید و درک متن؛ در حال حاضر به gpt-3.5-turbo-0125 اشاره دارد.",
"gpt-3.5-turbo-instruct.description": "GPT 3.5 Turbo برای وظایف تولید و درک متن، بهینه‌شده برای پیروی از دستورالعمل‌ها.",
"gpt-3.5-turbo.description": "GPT 3.5 Turbo برای تولید و درک متن؛ در حال حاضر به gpt-3.5-turbo-0125 اشاره دارد.",
@@ -666,12 +667,10 @@
"gpt-4-1106-preview.description": "جدیدترین GPT-4 Turbo با قابلیت بینایی همراه است. درخواست‌های تصویری از حالت JSON و فراخوانی توابع پشتیبانی می‌کنند. این مدل چندوجهی مقرون‌به‌صرفه، تعادلی میان دقت و کارایی برای کاربردهای بلادرنگ ارائه می‌دهد.",
"gpt-4-32k-0613.description": "GPT-4 پنجره متنی بزرگ‌تری برای مدیریت ورودی‌های طولانی فراهم می‌کند و برای سناریوهایی که نیاز به ادغام گسترده اطلاعات و تحلیل داده دارند مناسب است.",
"gpt-4-32k.description": "GPT-4 پنجره متنی بزرگ‌تری برای مدیریت ورودی‌های طولانی فراهم می‌کند و برای سناریوهایی که نیاز به ادغام گسترده اطلاعات و تحلیل داده دارند مناسب است.",
"gpt-4-o-preview.description": "GPT-4o پیشرفته‌ترین مدل چندرسانه‌ای است که ورودی‌های متنی و تصویری را پردازش می‌کند.",
"gpt-4-turbo-2024-04-09.description": "جدیدترین GPT-4 Turbo با قابلیت بینایی همراه است. درخواست‌های تصویری از حالت JSON و فراخوانی توابع پشتیبانی می‌کنند. این مدل چندوجهی مقرون‌به‌صرفه، تعادلی میان دقت و کارایی برای کاربردهای بلادرنگ ارائه می‌دهد.",
"gpt-4-turbo-preview.description": "جدیدترین GPT-4 Turbo با قابلیت بینایی همراه است. درخواست‌های تصویری از حالت JSON و فراخوانی توابع پشتیبانی می‌کنند. این مدل چندوجهی مقرون‌به‌صرفه، تعادلی میان دقت و کارایی برای کاربردهای بلادرنگ ارائه می‌دهد.",
"gpt-4-turbo.description": "جدیدترین GPT-4 Turbo با قابلیت بینایی همراه است. درخواست‌های تصویری از حالت JSON و فراخوانی توابع پشتیبانی می‌کنند. این مدل چندوجهی مقرون‌به‌صرفه، تعادلی میان دقت و کارایی برای کاربردهای بلادرنگ ارائه می‌دهد.",
"gpt-4-vision-preview.description": "پیش‌نمایش GPT-4 Vision، طراحی‌شده برای وظایف تحلیل و پردازش تصویر.",
"gpt-4.1-2025-04-14.description": "GPT-4.1 مدل پرچم‌دار برای انجام وظایف پیچیده و حل مسائل میان‌رشته‌ای است.",
"gpt-4.1-mini.description": "GPT-4.1 mini تعادلی میان هوش، سرعت و هزینه برقرار می‌کند و برای بسیاری از کاربردها جذاب است.",
"gpt-4.1-nano.description": "GPT-4.1 nano سریع‌ترین و مقرون‌به‌صرفه‌ترین مدل GPT-4.1 است.",
"gpt-4.1.description": "GPT-4.1 مدل پرچم‌دار ما برای وظایف پیچیده و حل مسائل میان‌دامنه‌ای است.",
@@ -681,7 +680,6 @@
"gpt-4o-2024-08-06.description": "ChatGPT-4o مدلی پویا است که به‌صورت بلادرنگ به‌روزرسانی می‌شود و درک و تولید قوی را برای کاربردهای وسیع مانند پشتیبانی مشتری، آموزش و پشتیبانی فنی ترکیب می‌کند.",
"gpt-4o-2024-11-20.description": "ChatGPT-4o مدلی پویا است که به‌صورت بلادرنگ به‌روزرسانی می‌شود و درک و تولید قوی را برای کاربردهای وسیع مانند پشتیبانی مشتری، آموزش و پشتیبانی فنی ترکیب می‌کند.",
"gpt-4o-audio-preview.description": "مدل پیش‌نمایش صوتی GPT-4o با ورودی و خروجی صوتی.",
"gpt-4o-mini-2024-07-18.description": "GPT-4o mini راه‌حلی مقرون‌به‌صرفه برای طیف گسترده‌ای از وظایف متنی و تصویری است.",
"gpt-4o-mini-audio-preview.description": "مدل صوتی کوچک GPT-4o با ورودی و خروجی صوتی.",
"gpt-4o-mini-realtime-preview.description": "نسخه بلادرنگ GPT-4o-mini با ورودی/خروجی بلادرنگ صوتی و متنی.",
"gpt-4o-mini-search-preview.description": "پیش‌نمایش جست‌وجوی GPT-4o mini برای درک و اجرای پرس‌وجوهای جست‌وجوی وب از طریق API تکمیل چت. جست‌وجوی وب به ازای هر فراخوانی ابزار، علاوه بر هزینه توکن، محاسبه می‌شود.",
@@ -1249,9 +1247,7 @@
"tencent/Hunyuan-A13B-Instruct.description": "Hunyuan-A13B-Instruct با استفاده از ۸۰ میلیارد پارامتر کلی و ۱۳ میلیارد پارامتر فعال، عملکردی هم‌تراز با مدل‌های بزرگ‌تر ارائه می‌دهد. این مدل از استدلال ترکیبی سریع/کند، درک پایدار متون بلند و توانایی پیشرو در عامل‌ها در آزمون‌های BFCL-v3 و τ-Bench پشتیبانی می‌کند. فرمت‌های GQA و چندکوانتیزه‌سازی، استنتاج کارآمد را ممکن می‌سازند.",
"tencent/Hunyuan-MT-7B.description": "مدل ترجمه Hunyuan شامل Hunyuan-MT-7B و مدل ترکیبی Hunyuan-MT-Chimera است. Hunyuan-MT-7B یک مدل ترجمه سبک با ۷ میلیارد پارامتر است که از ۳۳ زبان به‌علاوه ۵ زبان اقلیت چینی پشتیبانی می‌کند. در رقابت WMT25، در ۳۰ جفت‌زبان از ۳۱ مورد، رتبه اول را کسب کرد. Hunyuan از یک زنجیره کامل آموزش شامل پیش‌آموزش، SFT، تقویت یادگیری ترجمه و تقویت یادگیری ترکیبی استفاده می‌کند و با عملکردی پیشرو در اندازه خود، به‌راحتی قابل استقرار است.",
"text-embedding-3-large.description": "قوی‌ترین مدل تعبیه‌سازی برای وظایف انگلیسی و غیرانگلیسی.",
"text-embedding-3-small-inference.description": "مدل Embedding V3 Small (Inference) برای جاسازی متون.",
"text-embedding-3-small.description": "مدل تعبیه‌سازی نسل جدید با کارایی بالا و مقرون‌به‌صرفه برای بازیابی اطلاعات و سناریوهای RAG.",
"text-embedding-ada-002.description": "مدل Embedding V2 Ada برای جاسازی متون.",
"thudm/glm-4-32b.description": "GLM-4-32B-0414 یک مدل ۳۲ میلیارد پارامتری دوزبانه (چینی/انگلیسی) با وزن‌های باز است که برای تولید کد، فراخوانی توابع و وظایف عامل بهینه‌سازی شده است. این مدل با ۱۵ ترابایت داده باکیفیت و متمرکز بر استدلال پیش‌آموزش دیده و با هم‌راستاسازی ترجیحات انسانی، نمونه‌گیری ردشده و یادگیری تقویتی بهبود یافته است. در استدلال پیچیده، تولید محتوای ساختاریافته و خروجی‌های منظم عملکردی در سطح GPT-4o و DeepSeek-V3-0324 دارد.",
"thudm/glm-4-32b:free.description": "GLM-4-32B-0414 یک مدل ۳۲ میلیارد پارامتری دوزبانه (چینی/انگلیسی) با وزن‌های باز است که برای تولید کد، فراخوانی توابع و وظایف عامل بهینه‌سازی شده است. این مدل با ۱۵ ترابایت داده باکیفیت و متمرکز بر استدلال پیش‌آموزش دیده و با هم‌راستاسازی ترجیحات انسانی، نمونه‌گیری ردشده و یادگیری تقویتی بهبود یافته است. در استدلال پیچیده، تولید محتوای ساختاریافته و خروجی‌های منظم عملکردی در سطح GPT-4o و DeepSeek-V3-0324 دارد.",
"thudm/glm-4-9b-chat.description": "انتشار متن‌باز جدیدترین مدل پیش‌آموزش GLM-4 از Zhipu AI.",
+12
View File
@@ -0,0 +1,12 @@
{
"image_generation_completed": "تصویر \"{{prompt}}\" با موفقیت ایجاد شد",
"image_generation_completed_title": "تصویر ایجاد شد",
"inbox.archiveAll": "بایگانی همه",
"inbox.empty": "هنوز هیچ اعلانی وجود ندارد",
"inbox.emptyUnread": "هیچ اعلان خوانده‌نشده‌ای وجود ندارد",
"inbox.filterUnread": "فقط خوانده‌نشده‌ها را نشان بده",
"inbox.markAllRead": "همه را به‌عنوان خوانده‌شده علامت بزن",
"inbox.title": "اعلانات",
"video_generation_completed": "ویدیو \"{{prompt}}\" با موفقیت ایجاد شد",
"video_generation_completed_title": "ویدیو ایجاد شد"
}
+7
View File
@@ -443,6 +443,12 @@
"myAgents.status.published": "منتشرشده",
"myAgents.status.unpublished": "لغو انتشار",
"myAgents.title": "عامل‌های منتشرشده من",
"notification.email.desc": "دریافت اعلان‌های ایمیلی هنگام وقوع رویدادهای مهم",
"notification.email.title": "اعلان‌های ایمیلی",
"notification.enabled": "فعال",
"notification.inbox.desc": "نمایش اعلان‌ها در صندوق پیام‌های درون‌برنامه‌ای",
"notification.inbox.title": "اعلان‌های صندوق پیام",
"notification.title": "کانال‌های اعلان",
"plugin.addMCPPlugin": "افزودن MCP",
"plugin.addTooltip": "مهارت‌های سفارشی",
"plugin.clearDeprecated": "حذف مهارت‌های منسوخ",
@@ -807,6 +813,7 @@
"tab.manualFill": "پر کردن دستی",
"tab.manualFill.desc": "یک مهارت MCP سفارشی را به‌صورت دستی پیکربندی کنید",
"tab.memory": "حافظه",
"tab.notification": "اعلان‌ها",
"tab.profile": "حساب من",
"tab.provider": "ارائه‌دهنده سرویس هوش مصنوعی",
"tab.proxy": "پروکسی شبکه",
+4
View File
@@ -54,6 +54,7 @@
"credits.autoTopUp.upgradeHint": "برای فعال کردن شارژ خودکار به یک طرح پولی اشتراک بگیرید",
"credits.autoTopUp.validation.targetMustExceedThreshold": "موجودی هدف باید بیشتر از آستانه باشد",
"credits.packages.auto": "خودکار",
"credits.packages.charged": "شارژ شده ${{amount}}",
"credits.packages.expired": "منقضی شده",
"credits.packages.expiresIn": "منقضی در {{days}} روز",
"credits.packages.expiresToday": "امروز منقضی می‌شود",
@@ -256,6 +257,9 @@
"plans.payonce.ok": "تأیید انتخاب",
"plans.payonce.popconfirm": "پس از پرداخت یک‌باره، باید تا پایان اشتراک صبر کنید تا بتوانید طرح را تغییر دهید یا چرخه پرداخت را عوض کنید. لطفاً انتخاب خود را تأیید کنید.",
"plans.payonce.tooltip": "در پرداخت یک‌باره، تا پایان اشتراک نمی‌توان طرح یا چرخه پرداخت را تغییر داد",
"plans.payonce.upgradeOk": "تأیید ارتقاء",
"plans.payonce.upgradePopconfirm": "ارزش باقی‌مانده از طرح فعلی شما به‌عنوان تخفیف برای طرح جدید اعمال خواهد شد.",
"plans.payonce.upgradePopconfirmNoProration": "شما هزینه کامل طرح جدید را پرداخت خواهید کرد. طرح فعلی شما بلافاصله جایگزین خواهد شد.",
"plans.pendingDowngrade": "کاهش برنامه در انتظار",
"plans.plan.enterprise.contactSales": "تماس با فروش",
"plans.plan.enterprise.title": "سازمانی",
+26 -1
View File
@@ -12,7 +12,13 @@
"channel.botTokenPlaceholderNew": "Collez votre jeton de bot ici",
"channel.charLimit": "Limite de caractères",
"channel.charLimitHint": "Nombre maximum de caractères par message",
"channel.concurrency": "Mode de Concurrence",
"channel.concurrencyDebounce": "Anti-rebond",
"channel.concurrencyHint": "La file d'attente traite les messages un par un ; l'anti-rebond attend qu'une rafale de messages soit terminée avant de les traiter.",
"channel.concurrencyQueue": "File d'attente",
"channel.connectFailed": "Connexion au bot échouée",
"channel.connectQueued": "Connexion du bot mise en file d'attente. Elle commencera sous peu.",
"channel.connectStarting": "Le bot démarre. Veuillez patienter un moment.",
"channel.connectSuccess": "Bot connecté avec succès",
"channel.connecting": "Connexion en cours...",
"channel.connectionConfig": "Configuration de la connexion",
@@ -21,6 +27,11 @@
"channel.credentials": "Identifiants",
"channel.debounceMs": "Fenêtre de fusion des messages (ms)",
"channel.debounceMsHint": "Durée d'attente pour des messages supplémentaires avant de les envoyer à l'agent (ms)",
"channel.deleteAllChannels": "Supprimer tous les canaux",
"channel.deleteAllConfirm": "Êtes-vous sûr de vouloir supprimer tous les canaux ?",
"channel.deleteAllConfirmDesc": "Cette action supprimera définitivement tous les canaux de messages et leurs configurations pour cet agent. Cette action est irréversible.",
"channel.deleteAllFailed": "Échec de la suppression de tous les canaux",
"channel.deleteAllSuccess": "Tous les canaux ont été supprimés",
"channel.deleteConfirm": "Êtes-vous sûr de vouloir supprimer ce canal ?",
"channel.deleteConfirmDesc": "Cette action supprimera définitivement ce canal de messages et sa configuration. Cela ne peut pas être annulé.",
"channel.devWebhookProxyUrl": "URL du tunnel HTTPS",
@@ -42,7 +53,12 @@
"channel.encryptKeyPlaceholder": "Clé de cryptage optionnelle",
"channel.endpointUrl": "URL du webhook",
"channel.endpointUrlHint": "Veuillez copier cette URL et la coller dans le champ <bold>{{fieldName}}</bold> du portail développeur {{name}}.",
"channel.exportConfig": "Exporter la configuration",
"channel.feishu.description": "Connectez cet assistant à Feishu pour les discussions privées et de groupe.",
"channel.importConfig": "Importer la configuration",
"channel.importFailed": "Échec de l'importation de la configuration",
"channel.importInvalidFormat": "Format de fichier de configuration invalide",
"channel.importSuccess": "Configuration importée avec succès",
"channel.lark.description": "Connectez cet assistant à Lark pour les discussions privées et de groupe.",
"channel.openPlatform": "Plateforme ouverte",
"channel.platforms": "Plateformes",
@@ -54,6 +70,7 @@
"channel.removeChannel": "Supprimer le canal",
"channel.removeFailed": "Échec de la suppression du canal",
"channel.removed": "Canal supprimé",
"channel.runtimeDisconnected": "Bot déconnecté",
"channel.save": "Enregistrer la configuration",
"channel.saveFailed": "Échec de l'enregistrement de la configuration",
"channel.saveFirstWarning": "Veuillez d'abord enregistrer la configuration",
@@ -81,10 +98,18 @@
"channel.verificationTokenHint": "Optionnel. Utilisé pour vérifier la source des événements webhook.",
"channel.verificationTokenPlaceholder": "Collez votre jeton de vérification ici",
"channel.wechat.description": "Connectez cet assistant à WeChat via iLink Bot pour des chats privés et de groupe.",
"channel.wechatBotId": "ID du Bot",
"channel.wechatBotIdHint": "Identifiant du bot attribué après l'autorisation par code QR.",
"channel.wechatConnectedInfo": "Compte WeChat Connecté",
"channel.wechatManagedCredentials": "Ce canal est déjà connecté via une autorisation par code QR. Les identifiants sont gérés automatiquement.",
"channel.wechatQrExpired": "Le code QR a expiré. Veuillez actualiser pour en obtenir un nouveau.",
"channel.wechatQrRefresh": "Actualiser le code QR",
"channel.wechatQrScaned": "Code QR scanné. Veuillez confirmer la connexion dans WeChat.",
"channel.wechatQrWait": "Ouvrez WeChat et scannez le code QR pour vous connecter.",
"channel.wechatRebind": "Relier via le Code QR",
"channel.wechatScanTitle": "Connecter le bot WeChat",
"channel.wechatScanToConnect": "Scannez le code QR pour vous connecter"
"channel.wechatScanToConnect": "Scannez le code QR pour vous connecter",
"channel.wechatTips": "Veuillez mettre à jour WeChat vers la dernière version et le redémarrer. Le plugin ClawBot est en déploiement progressif, vérifiez donc dans Paramètres > Plugins pour confirmer l'accès.",
"channel.wechatUserId": "ID Utilisateur WeChat",
"channel.wechatUserIdHint": "Identifiant du compte WeChat renvoyé par le processus d'autorisation."
}
+6
View File
@@ -12,6 +12,7 @@
"FileManager.actions.chunkingTooltip": "Divise le fichier en plusieurs segments de texte et les intègre pour la recherche sémantique et le dialogue de fichier.",
"FileManager.actions.chunkingUnsupported": "Ce fichier ne prend pas en charge le découpage.",
"FileManager.actions.confirmDelete": "Vous êtes sur le point de supprimer ce fichier. Une fois supprimé, il ne pourra pas être récupéré. Veuillez confirmer votre action.",
"FileManager.actions.confirmDeleteAllFiles": "Vous êtes sur le point de supprimer tous les résultats de la vue actuelle. Une fois supprimés, ils ne pourront pas être récupérés. Veuillez confirmer votre action.",
"FileManager.actions.confirmDeleteFolder": "Vous êtes sur le point de supprimer ce dossier et tout son contenu. Cette action est irréversible. Veuillez confirmer votre décision.",
"FileManager.actions.confirmDeleteMultiFiles": "Vous êtes sur le point de supprimer les {{count}} fichiers sélectionnés. Une fois supprimés, ils ne pourront pas être récupérés. Veuillez confirmer votre action.",
"FileManager.actions.confirmRemoveFromLibrary": "Vous êtes sur le point de retirer {{count}} fichier(s) sélectionné(s) de la bibliothèque. Ils resteront disponibles dans Tous les fichiers. Confirmez pour continuer.",
@@ -51,7 +52,12 @@
"FileManager.title.createdAt": "Créé le",
"FileManager.title.size": "Taille",
"FileManager.title.title": "Fichier",
"FileManager.total.allSelectedCount": "Les {{count}} éléments sont tous sélectionnés.",
"FileManager.total.allSelectedFallback": "Tous les résultats sont sélectionnés.",
"FileManager.total.fileCount": "Total de {{count}} éléments",
"FileManager.total.loadedSelectedCount": "{{count}} éléments chargés sélectionnés.",
"FileManager.total.selectAll": "Sélectionner les {{count}} éléments",
"FileManager.total.selectAllFallback": "Sélectionner tous les éléments",
"FileManager.total.selectedCount": "{{count}} éléments sélectionnés",
"FileManager.view.list": "Vue en liste",
"FileManager.view.masonry": "Vue en grille",
+15
View File
@@ -607,6 +607,7 @@
"time.today": "Aujourdhui",
"time.yesterday": "Hier",
"user.agents": "Agents",
"user.cancel": "Annuler",
"user.downloads": "Téléchargements",
"user.editProfile": "Modifier le profil",
"user.favoriteAgents": "Agents enregistrés",
@@ -616,6 +617,9 @@
"user.following": "Abonnements",
"user.forkedAgentGroups": "Groupes dagents forkés",
"user.forkedAgents": "Agents forkés",
"user.githubUrl": "URL du dépôt GitHub",
"user.githubUrlInvalid": "Veuillez entrer une URL de dépôt GitHub valide",
"user.githubUrlRequired": "Veuillez entrer une URL de dépôt GitHub",
"user.login": "Devenir créateur",
"user.logout": "Se déconnecter",
"user.myProfile": "Mon profil",
@@ -624,9 +628,13 @@
"user.noFavoritePlugins": "Aucune compétence enregistrée pour le moment",
"user.noForkedAgentGroups": "Aucun groupe dagents forkés pour le moment",
"user.noForkedAgents": "Aucun agent forké pour le moment",
"user.noPlugins": "Cet utilisateur n'a pas encore publié de Plugins",
"user.noSkills": "Cet utilisateur n'a pas encore publié de Compétences",
"user.plugins": "Plugins",
"user.publishedAgents": "Agents créés",
"user.publishedGroups": "Groupes créés",
"user.searchPlaceholder": "Rechercher par nom ou description...",
"user.skills": "Compétences",
"user.statusFilter.all": "Tous",
"user.statusFilter.archived": "Archivé",
"user.statusFilter.deprecated": "Obsolète",
@@ -634,6 +642,13 @@
"user.statusFilter.forked": "Dupliqué",
"user.statusFilter.published": "Publié",
"user.statusFilter.unpublished": "En cours d'examen",
"user.submit": "Soumettre",
"user.submitRepo": "Soumettre le dépôt",
"user.submitRepoDescription": "Soumettez votre dépôt GitHub pour importer vos Compétences ou MCPs dans la communauté.",
"user.submitRepoError": "Échec de la soumission du dépôt. Veuillez réessayer.",
"user.submitRepoHint": "Le dépôt sera examiné avant d'être publié.",
"user.submitRepoSuccess": "Dépôt soumis avec succès ! Il sera examiné sous peu.",
"user.submitRepoTitle": "Soumettez votre dépôt",
"user.tabs.favorites": "Favoris",
"user.tabs.forkedAgents": "Forkés",
"user.tabs.publishedAgents": "Créés",
+9
View File
@@ -1,4 +1,13 @@
{
"gateway.description": "Description",
"gateway.descriptionPlaceholder": "Optionnel",
"gateway.deviceName": "Nom de l'appareil",
"gateway.deviceNamePlaceholder": "Entrez le nom de l'appareil",
"gateway.enableConnection": "Se connecter à la passerelle",
"gateway.statusConnected": "Connecté à la passerelle",
"gateway.statusConnecting": "Connexion à la passerelle...",
"gateway.statusDisconnected": "Non connecté à la passerelle",
"gateway.title": "Passerelle de l'appareil",
"navigation.chat": "Chat",
"navigation.discover": "Découvrir",
"navigation.discoverAssistants": "Découvrir les Assistants",
+16 -9
View File
@@ -4,6 +4,9 @@
"error.retry": "Recharger",
"error.stack": "Pile d'erreurs",
"error.title": "Oups, une erreur s'est produite...",
"exceededContext.compact": "Contexte Compact",
"exceededContext.desc": "La conversation a dépassé la limite de la fenêtre de contexte. Vous pouvez compacter le contexte pour compresser l'historique et continuer à discuter.",
"exceededContext.title": "Fenêtre de Contexte Dépassée",
"fetchError.detail": "Détails de l'erreur",
"fetchError.title": "Échec de la requête",
"import.importConfigFile.description": "Raison de l'erreur : {{reason}}",
@@ -69,15 +72,15 @@
"response.ExceededContextWindow": "Le contenu de la requête dépasse la capacité du modèle. Veuillez réduire le contenu et réessayer.",
"response.ExceededContextWindowCloud": "La conversation est trop longue pour être traitée. Veuillez modifier votre dernier message pour réduire l'entrée ou supprimer certains messages, puis réessayez.",
"response.FreePlanLimit": "Vous utilisez actuellement un plan gratuit et ne pouvez pas accéder à cette fonctionnalité. Veuillez passer à un plan payant.",
"response.GoogleAIBlockReason.BLOCKLIST": "Votre contenu contient des termes interdits. Veuillez le modifier et réessayer.",
"response.GoogleAIBlockReason.IMAGE_SAFETY": "L'image générée a été bloquée pour des raisons de sécurité. Veuillez modifier votre demande.",
"response.GoogleAIBlockReason.LANGUAGE": "La langue utilisée n'est pas prise en charge. Veuillez réessayer en anglais ou dans une langue prise en charge.",
"response.GoogleAIBlockReason.OTHER": "Le contenu a été bloqué pour une raison inconnue. Veuillez reformuler votre demande.",
"response.GoogleAIBlockReason.PROHIBITED_CONTENT": "Votre demande peut contenir du contenu interdit. Veuillez la modifier pour respecter les règles d'utilisation.",
"response.GoogleAIBlockReason.RECITATION": "Votre contenu a été bloqué en raison de possibles problèmes de droits d'auteur. Veuillez utiliser un contenu original ou reformuler.",
"response.GoogleAIBlockReason.SAFETY": "Votre contenu a été bloqué pour des raisons de sécurité. Veuillez le modifier pour éviter tout contenu potentiellement dangereux ou inapproprié.",
"response.GoogleAIBlockReason.SPII": "Votre contenu peut contenir des informations personnelles sensibles. Veuillez les supprimer et réessayer.",
"response.GoogleAIBlockReason.default": "Contenu bloqué : {{blockReason}}. Veuillez ajuster votre demande et réessayer.",
"response.GoogleAIBlockReason.BLOCKLIST": "Le contenu contient des termes bloqués. Veuillez reformuler et réessayer.",
"response.GoogleAIBlockReason.IMAGE_SAFETY": "L'image générée a été bloquée pour des raisons de sécurité. Veuillez modifier votre demande et réessayer.",
"response.GoogleAIBlockReason.LANGUAGE": "La langue demandée n'est pas prise en charge. Veuillez réessayer dans une langue prise en charge.",
"response.GoogleAIBlockReason.OTHER": "Le contenu a été bloqué pour une raison inconnue. Veuillez reformuler et réessayer.",
"response.GoogleAIBlockReason.PROHIBITED_CONTENT": "Le contenu peut contenir des éléments interdits. Veuillez l'ajuster et réessayer.",
"response.GoogleAIBlockReason.RECITATION": "Le contenu a été bloqué en raison d'un risque de récitation. Veuillez utiliser un langage plus original et réessayer.",
"response.GoogleAIBlockReason.SAFETY": "Le contenu a été bloqué pour des raisons de sécurité. Veuillez l'ajuster et réessayer.",
"response.GoogleAIBlockReason.SPII": "Le contenu peut inclure des informations personnelles sensibles (SPII). Veuillez supprimer les détails sensibles et réessayer.",
"response.GoogleAIBlockReason.default": "Le contenu a été bloqué ({{blockReason}}). Veuillez l'ajuster et réessayer.",
"response.InsufficientBudgetForModel": "Vos crédits restants sont insuffisants pour ce modèle. Veuillez recharger vos crédits, passer à un plan supérieur ou essayer un modèle moins coûteux.",
"response.InsufficientQuota": "Désolé, le quota de cette clé a été atteint. Veuillez vérifier votre solde ou augmenter le quota.",
"response.InvalidAccessCode": "Code d'accès invalide ou vide. Veuillez entrer le bon code ou ajouter une clé API personnalisée.",
@@ -120,6 +123,10 @@
"supervisor.decisionFailed": "L'hôte du groupe ne fonctionne pas. Veuillez vérifier la configuration du modèle, de la clé API et de l'URL.",
"testConnectionFailed": "Échec du test de connexion : {{error}}",
"tts.responseError": "Échec de la requête du service, veuillez vérifier la configuration ou réessayer",
"unknownError.copyTraceId": "ID de Traçage Copié",
"unknownError.desc": "Une erreur inattendue s'est produite. Vous pouvez réessayer ou signaler sur",
"unknownError.retry": "Réessayer",
"unknownError.title": "Oups, la requête s'est assoupie",
"unlock.addProxyUrl": "Ajouter une URL proxy OpenAI (optionnel)",
"unlock.apiKey.description": "Entrez votre clé API {{name}} pour démarrer la session",
"unlock.apiKey.imageGenerationDescription": "Entrez votre clé API {{name}} pour commencer la génération",
+1
View File
@@ -137,6 +137,7 @@
"uploadDock.body.item.processing": "Traitement du fichier...",
"uploadDock.body.item.restTime": "Temps restant : {{time}}",
"uploadDock.fileQueueInfo": "Importation des {{count}} premiers fichiers, {{remaining}} en attente",
"uploadDock.header.cancelAll": "Tout annuler",
"uploadDock.totalCount": "Total : {{count}} éléments",
"uploadDock.uploadStatus.cancelled": "Téléversement annulé",
"uploadDock.uploadStatus.error": "Erreur dimportation",
+13
View File
@@ -16,6 +16,15 @@
"callback.titles.error": "Échec de l'autorisation",
"callback.titles.loading": "Autorisation LobeHub Market",
"callback.titles.success": "Autorisation réussie",
"claimResources.claim": "Réclamer sélectionné",
"claimResources.description": "Nous avons trouvé des ressources liées à votre compte que vous pouvez réclamer :",
"claimResources.error": "Échec de la réclamation des ressources. Veuillez réessayer.",
"claimResources.mcpSection": "Serveurs MCP",
"claimResources.selectedCount": "{{count}} élément(s) sélectionné(s)",
"claimResources.skillSection": "Compétences",
"claimResources.skip": "Passer",
"claimResources.success": "{{count}} ressource(s) réclamée(s) avec succès",
"claimResources.title": "Réclamez vos ressources",
"errors.authorizationFailed": "Échec de l'autorisation, veuillez réessayer.",
"errors.browserOnly": "Le processus d'autorisation ne peut être lancé que dans un navigateur.",
"errors.codeConsumed": "Le code d'autorisation a déjà été utilisé. Veuillez réessayer.",
@@ -75,6 +84,10 @@
"profileSetup.fields.website.placeholder": "URL de votre site personnel",
"profileSetup.getStarted": "Commencer",
"profileSetup.save": "Enregistrer",
"profileSetup.socialLinks.connectProvider": "Connecter {{provider}}",
"profileSetup.socialLinks.connected": "Connecté",
"profileSetup.socialLinks.connecting": "Connexion...",
"profileSetup.socialLinks.disconnect": "Déconnecter",
"profileSetup.socialLinks.title": "Liens sociaux",
"profileSetup.success": "Profil mis à jour avec succès",
"profileSetup.titleEdit": "Modifier le profil",
+7 -11
View File
@@ -307,21 +307,23 @@
"claude-3-haiku-20240307.description": "Claude 3 Haiku est le modèle le plus rapide et le plus compact dAnthropic, conçu pour des réponses quasi instantanées avec des performances rapides et précises.",
"claude-3-opus-20240229.description": "Claude 3 Opus est le modèle le plus puissant dAnthropic pour les tâches complexes, excellent en performance, intelligence, fluidité et compréhension.",
"claude-3-sonnet-20240229.description": "Claude 3 Sonnet équilibre intelligence et rapidité pour les charges de travail en entreprise, offrant une grande utilité à moindre coût et un déploiement fiable à grande échelle.",
"claude-3.5-sonnet.description": "Claude 3.5 Sonnet excelle en programmation, en rédaction et en raisonnement complexe.",
"claude-3.7-sonnet-thought.description": "Claude 3.7 Sonnet avec réflexion étendue pour les tâches de raisonnement complexe.",
"claude-3.7-sonnet.description": "Claude 3.7 Sonnet est une version améliorée avec un contexte étendu et des capacités accrues.",
"claude-haiku-4-5-20251001.description": "Claude Haiku 4.5 est le modèle Haiku le plus rapide et le plus intelligent d'Anthropic, avec une vitesse fulgurante et une pensée étendue.",
"claude-haiku-4.5.description": "Claude Haiku 4.5 est un modèle rapide et efficace pour diverses tâches.",
"claude-haiku-4.5.description": "Claude Haiku 4.5 est le modèle Haiku le plus rapide et le plus intelligent dAnthropic, avec une vitesse fulgurante et un raisonnement étendu.",
"claude-opus-4-1-20250805-thinking.description": "Claude Opus 4.1 Thinking est une variante avancée capable de révéler son processus de raisonnement.",
"claude-opus-4-1-20250805.description": "Claude Opus 4.1 est le dernier modèle d'Anthropic, le plus performant pour des tâches hautement complexes, excelle en performance, intelligence, fluidité et compréhension.",
"claude-opus-4-20250514.description": "Claude Opus 4 est le modèle le plus puissant d'Anthropic pour des tâches hautement complexes, excelle en performance, intelligence, fluidité et compréhension.",
"claude-opus-4-5-20251101.description": "Claude Opus 4.5 est le modèle phare dAnthropic, combinant intelligence exceptionnelle et performance évolutive, idéal pour les tâches complexes nécessitant des réponses et un raisonnement de très haute qualité.",
"claude-opus-4-6.description": "Claude Opus 4.6 est le modèle le plus intelligent d'Anthropic pour la création d'agents et le codage.",
"claude-opus-4.5.description": "Claude Opus 4.5 est le modèle phare dAnthropic, combinant une intelligence de premier ordre avec des performances évolutives pour des tâches complexes et un raisonnement de haute qualité.",
"claude-opus-4.6-fast.description": "Claude Opus 4.6 est le modèle le plus intelligent dAnthropic pour la création dagents et le codage.",
"claude-opus-4.6.description": "Claude Opus 4.6 est le modèle le plus intelligent dAnthropic pour la création dagents et le codage.",
"claude-sonnet-4-20250514-thinking.description": "Claude Sonnet 4 Thinking peut produire des réponses quasi instantanées ou une réflexion détaillée étape par étape avec un processus visible.",
"claude-sonnet-4-20250514.description": "Claude Sonnet 4 est le modèle le plus intelligent d'Anthropic à ce jour, offrant des réponses quasi-instantanées ou une pensée détaillée étape par étape avec un contrôle précis pour les utilisateurs d'API.",
"claude-sonnet-4-5-20250929.description": "Claude Sonnet 4.5 est le modèle le plus intelligent d'Anthropic à ce jour.",
"claude-sonnet-4-6.description": "Claude Sonnet 4.6 est la meilleure combinaison de vitesse et d'intelligence d'Anthropic.",
"claude-sonnet-4.description": "Claude Sonnet 4 est la dernière génération avec des performances améliorées sur lensemble des tâches.",
"claude-sonnet-4.5.description": "Claude Sonnet 4.5 est le modèle le plus intelligent dAnthropic à ce jour.",
"claude-sonnet-4.6.description": "Claude Sonnet 4.6 est la meilleure combinaison de vitesse et dintelligence dAnthropic.",
"claude-sonnet-4.description": "Claude Sonnet 4 peut produire des réponses quasi instantanées ou un raisonnement détaillé étape par étape que les utilisateurs peuvent suivre. Les utilisateurs de lAPI peuvent contrôler finement la durée de réflexion du modèle.",
"codegeex-4.description": "CodeGeeX-4 est un assistant de codage IA puissant prenant en charge les questions-réponses multilingues et la complétion de code pour améliorer la productivité des développeurs.",
"codegeex4-all-9b.description": "CodeGeeX4-ALL-9B est un modèle multilingue de génération de code prenant en charge la complétion et la génération de code, linterprétation de code, la recherche web, lappel de fonctions et les questions-réponses au niveau des dépôts. Il couvre un large éventail de scénarios de développement logiciel et est lun des meilleurs modèles de code sous 10 milliards de paramètres.",
"codegemma.description": "CodeGemma est un modèle léger pour diverses tâches de programmation, permettant une itération rapide et une intégration facile.",
@@ -655,7 +657,6 @@
"google/text-embedding-005.description": "Un modèle dintégration de texte axé sur langlais, optimisé pour les tâches en anglais et en code.",
"google/text-multilingual-embedding-002.description": "Un modèle dintégration de texte multilingue optimisé pour les tâches interlinguistiques dans de nombreuses langues.",
"gpt-3.5-turbo-0125.description": "GPT 3.5 Turbo pour la génération et la compréhension de texte ; actuellement lié à gpt-3.5-turbo-0125.",
"gpt-3.5-turbo-0613.description": "GPT 3.5 Turbo est un modèle rapide et efficace pour diverses tâches.",
"gpt-3.5-turbo-1106.description": "GPT 3.5 Turbo pour la génération et la compréhension de texte ; actuellement lié à gpt-3.5-turbo-0125.",
"gpt-3.5-turbo-instruct.description": "GPT 3.5 Turbo pour les tâches de génération et de compréhension de texte, optimisé pour le suivi d'instructions.",
"gpt-3.5-turbo.description": "GPT 3.5 Turbo pour la génération et la compréhension de texte ; actuellement lié à gpt-3.5-turbo-0125.",
@@ -666,12 +667,10 @@
"gpt-4-1106-preview.description": "Le dernier GPT-4 Turbo intègre la vision. Les requêtes visuelles prennent en charge le mode JSON et lappel de fonctions. Cest un modèle multimodal économique qui équilibre précision et efficacité pour les applications en temps réel.",
"gpt-4-32k-0613.description": "GPT-4 offre une fenêtre de contexte étendue pour gérer des entrées plus longues, adapté aux scénarios nécessitant une intégration large dinformations et une analyse de données.",
"gpt-4-32k.description": "GPT-4 offre une fenêtre de contexte étendue pour gérer des entrées plus longues, adapté aux scénarios nécessitant une intégration large dinformations et une analyse de données.",
"gpt-4-o-preview.description": "GPT-4o est le modèle multimodal le plus avancé, capable de traiter du texte et des images.",
"gpt-4-turbo-2024-04-09.description": "Le dernier GPT-4 Turbo intègre la vision. Les requêtes visuelles prennent en charge le mode JSON et lappel de fonctions. Cest un modèle multimodal économique qui équilibre précision et efficacité pour les applications en temps réel.",
"gpt-4-turbo-preview.description": "Le dernier GPT-4 Turbo intègre la vision. Les requêtes visuelles prennent en charge le mode JSON et lappel de fonctions. Cest un modèle multimodal économique qui équilibre précision et efficacité pour les applications en temps réel.",
"gpt-4-turbo.description": "Le dernier GPT-4 Turbo intègre la vision. Les requêtes visuelles prennent en charge le mode JSON et lappel de fonctions. Cest un modèle multimodal économique qui équilibre précision et efficacité pour les applications en temps réel.",
"gpt-4-vision-preview.description": "Aperçu de GPT-4 Vision, conçu pour les tâches danalyse et de traitement dimages.",
"gpt-4.1-2025-04-14.description": "GPT-4.1 est le modèle phare pour les tâches complexes, idéal pour la résolution de problèmes interdomaines.",
"gpt-4.1-mini.description": "GPT-4.1 mini équilibre intelligence, rapidité et coût, ce qui le rend attractif pour de nombreux cas dusage.",
"gpt-4.1-nano.description": "GPT-4.1 nano est le modèle GPT-4.1 le plus rapide et le plus économique.",
"gpt-4.1.description": "GPT-4.1 est notre modèle phare pour les tâches complexes et la résolution de problèmes interdomaines.",
@@ -681,7 +680,6 @@
"gpt-4o-2024-08-06.description": "ChatGPT-4o est un modèle dynamique mis à jour en temps réel. Il combine une compréhension et une génération linguistiques avancées pour des cas dusage à grande échelle comme le support client, l’éducation et lassistance technique.",
"gpt-4o-2024-11-20.description": "ChatGPT-4o est un modèle dynamique mis à jour en temps réel, combinant compréhension et génération avancées pour des cas dusage à grande échelle comme le support client, l’éducation et lassistance technique.",
"gpt-4o-audio-preview.description": "Aperçu audio de GPT-4o avec entrée et sortie audio.",
"gpt-4o-mini-2024-07-18.description": "GPT-4o mini est une solution économique pour un large éventail de tâches textuelles et visuelles.",
"gpt-4o-mini-audio-preview.description": "Modèle audio GPT-4o mini avec entrée et sortie audio.",
"gpt-4o-mini-realtime-preview.description": "Variante GPT-4o-mini en temps réel avec E/S audio et texte en temps réel.",
"gpt-4o-mini-search-preview.description": "Aperçu de recherche GPT-4o mini, entraîné pour comprendre et exécuter des requêtes de recherche web via lAPI Chat Completions. La recherche web est facturée par appel doutil en plus du coût des jetons.",
@@ -1249,9 +1247,7 @@
"tencent/Hunyuan-A13B-Instruct.description": "Hunyuan-A13B-Instruct utilise un total de 80 milliards de paramètres, dont 13 milliards actifs, pour rivaliser avec des modèles plus grands. Il prend en charge un raisonnement hybride rapide/lent, une compréhension stable de longs textes, et se distingue dans les capacités dagent sur BFCL-v3 et τ-Bench. Les formats GQA et multi-quant permettent une inférence efficace.",
"tencent/Hunyuan-MT-7B.description": "Le modèle de traduction Hunyuan comprend Hunyuan-MT-7B et lensemble Hunyuan-MT-Chimera. Hunyuan-MT-7B est un modèle de traduction léger de 7 milliards de paramètres prenant en charge 33 langues ainsi que 5 langues minoritaires chinoises. Il a obtenu 30 premières places sur 31 paires de langues lors du WMT25. Tencent Hunyuan utilise une chaîne dentraînement complète, du pré-entraînement à lajustement fin (SFT), en passant par lapprentissage par renforcement pour la traduction et les ensembles, atteignant des performances de pointe avec un déploiement efficace et simple.",
"text-embedding-3-large.description": "Le modèle dintégration le plus performant pour les tâches en anglais et en langues étrangères.",
"text-embedding-3-small-inference.description": "Modèle Embedding V3 small (Inference) pour les embeddings de texte.",
"text-embedding-3-small.description": "Un modèle dintégration de nouvelle génération, efficace et économique, pour les scénarios de recherche et de génération augmentée par récupération (RAG).",
"text-embedding-ada-002.description": "Modèle Embedding V2 Ada pour les embeddings de texte.",
"thudm/glm-4-32b.description": "GLM-4-32B-0414 est un modèle bilingue (chinois/anglais) de 32 milliards de paramètres à poids ouverts, optimisé pour la génération de code, les appels de fonctions et les tâches dagent. Il est préentraîné sur 15 To de données de haute qualité axées sur le raisonnement, puis affiné avec un alignement sur les préférences humaines, un échantillonnage par rejet et lapprentissage par renforcement. Il excelle dans le raisonnement complexe, la génération dartefacts et les sorties structurées, atteignant des performances comparables à GPT-4o et DeepSeek-V3-0324 sur de nombreux benchmarks.",
"thudm/glm-4-32b:free.description": "GLM-4-32B-0414 est un modèle bilingue (chinois/anglais) de 32 milliards de paramètres à poids ouverts, optimisé pour la génération de code, les appels de fonctions et les tâches dagent. Il est préentraîné sur 15 To de données de haute qualité axées sur le raisonnement, puis affiné avec un alignement sur les préférences humaines, un échantillonnage par rejet et lapprentissage par renforcement. Il excelle dans le raisonnement complexe, la génération dartefacts et les sorties structurées, atteignant des performances comparables à GPT-4o et DeepSeek-V3-0324 sur de nombreux benchmarks.",
"thudm/glm-4-9b-chat.description": "La version open source du dernier modèle préentraîné GLM-4 de Zhipu AI.",
+12
View File
@@ -0,0 +1,12 @@
{
"image_generation_completed": "Image \"{{prompt}}\" générée avec succès",
"image_generation_completed_title": "Image Générée",
"inbox.archiveAll": "Archiver tout",
"inbox.empty": "Aucune notification pour le moment",
"inbox.emptyUnread": "Aucune notification non lue",
"inbox.filterUnread": "Afficher uniquement les non lues",
"inbox.markAllRead": "Marquer tout comme lu",
"inbox.title": "Notifications",
"video_generation_completed": "Vidéo \"{{prompt}}\" générée avec succès",
"video_generation_completed_title": "Vidéo Générée"
}
+7
View File
@@ -443,6 +443,12 @@
"myAgents.status.published": "Publié",
"myAgents.status.unpublished": "Non publié",
"myAgents.title": "Mes agents publiés",
"notification.email.desc": "Recevez des notifications par e-mail lorsque des événements importants se produisent",
"notification.email.title": "Notifications par e-mail",
"notification.enabled": "Activé",
"notification.inbox.desc": "Afficher les notifications dans la boîte de réception de l'application",
"notification.inbox.title": "Notifications de la boîte de réception",
"notification.title": "Canaux de notification",
"plugin.addMCPPlugin": "Ajouter MCP",
"plugin.addTooltip": "Compétences personnalisées",
"plugin.clearDeprecated": "Supprimer les compétences obsolètes",
@@ -807,6 +813,7 @@
"tab.manualFill": "Remplir manuellement",
"tab.manualFill.desc": "Configurer manuellement une compétence MCP personnalisée",
"tab.memory": "Mémoire",
"tab.notification": "Notifications",
"tab.profile": "Mon compte",
"tab.provider": "Fournisseur dIA",
"tab.proxy": "Proxy réseau",
+4
View File
@@ -54,6 +54,7 @@
"credits.autoTopUp.upgradeHint": "Abonnez-vous à un plan payant pour activer la recharge automatique",
"credits.autoTopUp.validation.targetMustExceedThreshold": "Le solde cible doit être supérieur au seuil",
"credits.packages.auto": "Automatique",
"credits.packages.charged": "Facturé ${{amount}}",
"credits.packages.expired": "Expiré",
"credits.packages.expiresIn": "Expire dans {{days}} jours",
"credits.packages.expiresToday": "Expire aujourd'hui",
@@ -256,6 +257,9 @@
"plans.payonce.ok": "Confirmer la sélection",
"plans.payonce.popconfirm": "Après un paiement unique, vous devrez attendre lexpiration de labonnement pour changer de plan ou de cycle de facturation. Veuillez confirmer votre choix.",
"plans.payonce.tooltip": "Le paiement unique nécessite dattendre lexpiration de labonnement pour changer de plan ou de cycle de facturation",
"plans.payonce.upgradeOk": "Confirmer la mise à niveau",
"plans.payonce.upgradePopconfirm": "La valeur restante de votre plan actuel sera appliquée comme remise sur le nouveau plan.",
"plans.payonce.upgradePopconfirmNoProration": "Vous serez facturé au prix total du nouveau plan. Votre plan actuel sera immédiatement remplacé.",
"plans.pendingDowngrade": "Rétrogradation en attente",
"plans.plan.enterprise.contactSales": "Contacter les ventes",
"plans.plan.enterprise.title": "Entreprise",
+26 -1
View File
@@ -12,7 +12,13 @@
"channel.botTokenPlaceholderNew": "Incolla qui il token del tuo bot",
"channel.charLimit": "Limite di caratteri",
"channel.charLimitHint": "Numero massimo di caratteri per messaggio",
"channel.concurrency": "Modalità Concorrenza",
"channel.concurrencyDebounce": "Debounce",
"channel.concurrencyHint": "La modalità Coda elabora i messaggi uno alla volta; Debounce attende che un gruppo di messaggi sia completato prima di procedere con l'elaborazione.",
"channel.concurrencyQueue": "Coda",
"channel.connectFailed": "Connessione al bot fallita",
"channel.connectQueued": "Connessione del bot in coda. Inizierà a breve.",
"channel.connectStarting": "Il bot si sta avviando. Attendere un momento.",
"channel.connectSuccess": "Bot connesso con successo",
"channel.connecting": "Connessione in corso...",
"channel.connectionConfig": "Configurazione Connessione",
@@ -21,6 +27,11 @@
"channel.credentials": "Credenziali",
"channel.debounceMs": "Finestra di unione messaggi (ms)",
"channel.debounceMsHint": "Tempo di attesa per messaggi aggiuntivi prima di inviarli all'agente (ms)",
"channel.deleteAllChannels": "Rimuovi tutti i canali",
"channel.deleteAllConfirm": "Sei sicuro di voler rimuovere tutti i canali?",
"channel.deleteAllConfirmDesc": "Questa azione rimuoverà permanentemente tutti i canali di messaggi e le loro configurazioni per questo agente. Questa operazione non può essere annullata.",
"channel.deleteAllFailed": "Impossibile rimuovere tutti i canali",
"channel.deleteAllSuccess": "Tutti i canali sono stati rimossi",
"channel.deleteConfirm": "Sei sicuro di voler rimuovere questo canale?",
"channel.deleteConfirmDesc": "Questa azione rimuoverà permanentemente questo canale di messaggi e la sua configurazione. Questa operazione non può essere annullata.",
"channel.devWebhookProxyUrl": "URL Tunnel HTTPS",
@@ -42,7 +53,12 @@
"channel.encryptKeyPlaceholder": "Chiave di crittografia opzionale",
"channel.endpointUrl": "URL Webhook",
"channel.endpointUrlHint": "Copia questo URL e incollalo nel campo <bold>{{fieldName}}</bold> nel Portale Sviluppatori di {{name}}.",
"channel.exportConfig": "Esporta configurazione",
"channel.feishu.description": "Connetti questo assistente a Feishu per chat private e di gruppo.",
"channel.importConfig": "Importa configurazione",
"channel.importFailed": "Importazione della configurazione fallita",
"channel.importInvalidFormat": "Formato del file di configurazione non valido",
"channel.importSuccess": "Configurazione importata con successo",
"channel.lark.description": "Connetti questo assistente a Lark per chat private e di gruppo.",
"channel.openPlatform": "Piattaforma aperta",
"channel.platforms": "Piattaforme",
@@ -54,6 +70,7 @@
"channel.removeChannel": "Rimuovi Canale",
"channel.removeFailed": "Impossibile rimuovere il canale",
"channel.removed": "Canale rimosso",
"channel.runtimeDisconnected": "Bot disconnesso",
"channel.save": "Salva Configurazione",
"channel.saveFailed": "Impossibile salvare la configurazione",
"channel.saveFirstWarning": "Salva prima la configurazione",
@@ -81,10 +98,18 @@
"channel.verificationTokenHint": "Opzionale. Utilizzato per verificare la sorgente degli eventi webhook.",
"channel.verificationTokenPlaceholder": "Incolla qui il tuo token di verifica",
"channel.wechat.description": "Connetti questo assistente a WeChat tramite iLink Bot per chat private e di gruppo.",
"channel.wechatBotId": "ID Bot",
"channel.wechatBotIdHint": "Identificativo del bot assegnato dopo l'autorizzazione tramite codice QR.",
"channel.wechatConnectedInfo": "Account WeChat Connesso",
"channel.wechatManagedCredentials": "Questo canale è già connesso tramite autorizzazione con codice QR. Le credenziali sono gestite automaticamente.",
"channel.wechatQrExpired": "Codice QR scaduto. Aggiorna per ottenerne uno nuovo.",
"channel.wechatQrRefresh": "Aggiorna codice QR",
"channel.wechatQrScaned": "Codice QR scansionato. Conferma l'accesso in WeChat.",
"channel.wechatQrWait": "Apri WeChat e scansiona il codice QR per connetterti.",
"channel.wechatRebind": "Ricollega tramite Codice QR",
"channel.wechatScanTitle": "Connetti bot WeChat",
"channel.wechatScanToConnect": "Scansiona il codice QR per connetterti"
"channel.wechatScanToConnect": "Scansiona il codice QR per connetterti",
"channel.wechatTips": "Aggiorna WeChat all'ultima versione e riavvialo. Il plugin ClawBot è in fase di distribuzione graduale, quindi controlla Impostazioni > Plugin per confermare l'accesso.",
"channel.wechatUserId": "ID Utente WeChat",
"channel.wechatUserIdHint": "Identificativo dell'account WeChat restituito dal flusso di autorizzazione."
}
+6
View File
@@ -12,6 +12,7 @@
"FileManager.actions.chunkingTooltip": "Dividi il file in più segmenti di testo ed esegui l'embedding per la ricerca semantica e il dialogo sui file.",
"FileManager.actions.chunkingUnsupported": "Questo file non supporta la segmentazione.",
"FileManager.actions.confirmDelete": "Stai per eliminare questo file. Una volta eliminato, non potrà essere recuperato. Conferma l'azione.",
"FileManager.actions.confirmDeleteAllFiles": "Stai per eliminare tutti i risultati nella vista corrente. Una volta eliminati, non potranno essere recuperati. Conferma l'azione.",
"FileManager.actions.confirmDeleteFolder": "Stai per eliminare questa cartella e tutto il suo contenuto. Questa azione è irreversibile. Conferma la tua decisione.",
"FileManager.actions.confirmDeleteMultiFiles": "Stai per eliminare i {{count}} file selezionati. Una volta eliminati, non potranno essere recuperati. Conferma l'azione.",
"FileManager.actions.confirmRemoveFromLibrary": "Stai per rimuovere {{count}} file selezionato/i dalla Libreria. Saranno comunque disponibili in Tutti i File. Conferma per continuare.",
@@ -51,7 +52,12 @@
"FileManager.title.createdAt": "Data di Creazione",
"FileManager.title.size": "Dimensione",
"FileManager.title.title": "File",
"FileManager.total.allSelectedCount": "Tutti i {{count}} elementi sono selezionati.",
"FileManager.total.allSelectedFallback": "Tutti i risultati sono selezionati.",
"FileManager.total.fileCount": "Totale {{count}} elementi",
"FileManager.total.loadedSelectedCount": "Selezionati {{count}} elementi caricati.",
"FileManager.total.selectAll": "Seleziona tutti i {{count}} elementi",
"FileManager.total.selectAllFallback": "Seleziona tutti gli elementi",
"FileManager.total.selectedCount": "{{count}} elementi selezionati",
"FileManager.view.list": "Vista Elenco",
"FileManager.view.masonry": "Vista Griglia",
+15
View File
@@ -607,6 +607,7 @@
"time.today": "Oggi",
"time.yesterday": "Ieri",
"user.agents": "Agenti",
"user.cancel": "Annulla",
"user.downloads": "Download",
"user.editProfile": "Modifica Profilo",
"user.favoriteAgents": "Agenti Salvati",
@@ -616,6 +617,9 @@
"user.following": "Seguiti",
"user.forkedAgentGroups": "Gruppi di agenti forkati",
"user.forkedAgents": "Agenti forkati",
"user.githubUrl": "URL del Repository GitHub",
"user.githubUrlInvalid": "Per favore, inserisci un URL valido del repository GitHub",
"user.githubUrlRequired": "Per favore, inserisci un URL del repository GitHub",
"user.login": "Diventa un Creatore",
"user.logout": "Esci",
"user.myProfile": "Il Mio Profilo",
@@ -624,9 +628,13 @@
"user.noFavoritePlugins": "Nessuna Abilità salvata",
"user.noForkedAgentGroups": "Nessun gruppo di agenti forkati",
"user.noForkedAgents": "Nessun agente forkato",
"user.noPlugins": "Questo utente non ha ancora pubblicato alcun Plugin",
"user.noSkills": "Questo utente non ha ancora pubblicato alcuna Skill",
"user.plugins": "Plugin",
"user.publishedAgents": "Agenti Creati",
"user.publishedGroups": "Gruppi Creati",
"user.searchPlaceholder": "Cerca per nome o descrizione...",
"user.skills": "Skill",
"user.statusFilter.all": "Tutti",
"user.statusFilter.archived": "Archiviati",
"user.statusFilter.deprecated": "Obsoleti",
@@ -634,6 +642,13 @@
"user.statusFilter.forked": "Duplicati",
"user.statusFilter.published": "Pubblicati",
"user.statusFilter.unpublished": "In Revisione",
"user.submit": "Invia",
"user.submitRepo": "Invia Repository",
"user.submitRepoDescription": "Invia il tuo repository GitHub per importare le tue Skill o MCP nella community.",
"user.submitRepoError": "Invio del repository fallito. Per favore, riprova.",
"user.submitRepoHint": "Il repository sarà esaminato prima di essere pubblicato.",
"user.submitRepoSuccess": "Repository inviato con successo! Sarà esaminato a breve.",
"user.submitRepoTitle": "Invia il Tuo Repository",
"user.tabs.favorites": "Preferiti",
"user.tabs.forkedAgents": "Forkati",
"user.tabs.publishedAgents": "Creati",
+9
View File
@@ -1,4 +1,13 @@
{
"gateway.description": "Descrizione",
"gateway.descriptionPlaceholder": "Facoltativo",
"gateway.deviceName": "Nome Dispositivo",
"gateway.deviceNamePlaceholder": "Inserisci il nome del dispositivo",
"gateway.enableConnection": "Connetti al Gateway",
"gateway.statusConnected": "Connesso al Gateway",
"gateway.statusConnecting": "Connessione al Gateway in corso...",
"gateway.statusDisconnected": "Non connesso al Gateway",
"gateway.title": "Gateway Dispositivo",
"navigation.chat": "Chat",
"navigation.discover": "Scopri",
"navigation.discoverAssistants": "Scopri Assistenti",
+16 -9
View File
@@ -4,6 +4,9 @@
"error.retry": "Ricarica",
"error.stack": "Stack degli errori",
"error.title": "Ops, qualcosa è andato storto...",
"exceededContext.compact": "Compatta Contesto",
"exceededContext.desc": "La conversazione ha superato il limite della finestra di contesto. Puoi compattare il contesto per comprimere la cronologia e continuare a chattare.",
"exceededContext.title": "Finestra di Contesto Superata",
"fetchError.detail": "Dettagli dell'errore",
"fetchError.title": "Richiesta fallita",
"import.importConfigFile.description": "Motivo dell'errore: {{reason}}",
@@ -69,15 +72,15 @@
"response.ExceededContextWindow": "Il contenuto della richiesta supera la lunghezza gestibile dal modello. Riduci il contenuto e riprova.",
"response.ExceededContextWindowCloud": "La conversazione è troppo lunga per essere elaborata. Modifica il tuo ultimo messaggio per ridurre l'input o elimina alcuni messaggi e riprova.",
"response.FreePlanLimit": "Attualmente sei un utente gratuito e non puoi utilizzare questa funzione. Passa a un piano a pagamento per continuare.",
"response.GoogleAIBlockReason.BLOCKLIST": "Il tuo contenuto contiene termini vietati. Rivedi e modifica l'input, poi riprova.",
"response.GoogleAIBlockReason.IMAGE_SAFETY": "L'immagine generata è stata bloccata per motivi di sicurezza. Modifica la richiesta e riprova.",
"response.GoogleAIBlockReason.LANGUAGE": "La lingua utilizzata non è supportata. Prova in inglese o in un'altra lingua supportata.",
"response.GoogleAIBlockReason.OTHER": "Il contenuto è stato bloccato per un motivo sconosciuto. Riformula la richiesta e riprova.",
"response.GoogleAIBlockReason.PROHIBITED_CONTENT": "La tua richiesta potrebbe contenere contenuti vietati. Modifica la richiesta per rispettare le linee guida.",
"response.GoogleAIBlockReason.RECITATION": "Il contenuto è stato bloccato per possibili problemi di copyright. Usa contenuti originali o riformula la richiesta.",
"response.GoogleAIBlockReason.SAFETY": "Il contenuto è stato bloccato per motivi di sicurezza. Modifica la richiesta per evitare contenuti potenzialmente dannosi o inappropriati.",
"response.GoogleAIBlockReason.SPII": "Il contenuto potrebbe contenere informazioni personali sensibili. Rimuovi i dati sensibili e riprova.",
"response.GoogleAIBlockReason.default": "Contenuto bloccato: {{blockReason}}. Modifica la richiesta e riprova.",
"response.GoogleAIBlockReason.BLOCKLIST": "Il contenuto include termini bloccati. Per favore, riformula e riprova.",
"response.GoogleAIBlockReason.IMAGE_SAFETY": "L'immagine generata è stata bloccata per motivi di sicurezza. Prova a modificare la tua richiesta.",
"response.GoogleAIBlockReason.LANGUAGE": "La lingua richiesta non è supportata. Per favore, riprova in una lingua supportata.",
"response.GoogleAIBlockReason.OTHER": "Il contenuto è stato bloccato per un motivo sconosciuto. Per favore, riformula e riprova.",
"response.GoogleAIBlockReason.PROHIBITED_CONTENT": "Il contenuto potrebbe contenere materiale proibito. Per favore, modificalo e riprova.",
"response.GoogleAIBlockReason.RECITATION": "Il contenuto è stato bloccato a causa del rischio di recitazione. Per favore, utilizza una formulazione più originale e riprova.",
"response.GoogleAIBlockReason.SAFETY": "Il contenuto è stato bloccato per motivi di sicurezza. Per favore, modificalo e riprova.",
"response.GoogleAIBlockReason.SPII": "Il contenuto potrebbe includere informazioni personali sensibili (SPII). Per favore, rimuovi i dettagli sensibili e riprova.",
"response.GoogleAIBlockReason.default": "Il contenuto è stato bloccato ({{blockReason}}). Per favore, modificalo e riprova.",
"response.InsufficientBudgetForModel": "I tuoi crediti rimanenti non sono sufficienti per questo modello. Per favore, ricarica i crediti, aggiorna il tuo piano o prova un modello meno costoso.",
"response.InsufficientQuota": "Spiacenti, la quota per questa chiave è stata raggiunta. Verifica il saldo del tuo account o aumenta la quota della chiave.",
"response.InvalidAccessCode": "Codice di accesso non valido o vuoto. Inserisci il codice corretto o aggiungi una API Key personalizzata.",
@@ -120,6 +123,10 @@
"supervisor.decisionFailed": "L'host del gruppo non è operativo. Verifica la configurazione del modello, della chiave API e dell'endpoint.",
"testConnectionFailed": "Connessione di test fallita: {{error}}",
"tts.responseError": "Richiesta al servizio fallita. Verifica la configurazione o riprova.",
"unknownError.copyTraceId": "ID Traccia Copiato",
"unknownError.desc": "Si è verificato un errore imprevisto. Puoi riprovare o segnalare su",
"unknownError.retry": "Riprova",
"unknownError.title": "Ops, la richiesta si è presa una pausa",
"unlock.addProxyUrl": "Aggiungi URL proxy OpenAI (opzionale)",
"unlock.apiKey.description": "Inserisci la tua API Key {{name}} per iniziare la sessione",
"unlock.apiKey.imageGenerationDescription": "Inserisci la tua API Key {{name}} per iniziare a generare",
+1
View File
@@ -137,6 +137,7 @@
"uploadDock.body.item.processing": "Elaborazione file...",
"uploadDock.body.item.restTime": "Tempo rimanente {{time}}",
"uploadDock.fileQueueInfo": "Caricamento dei primi {{count}} file, {{remaining}} in coda",
"uploadDock.header.cancelAll": "Annulla tutto",
"uploadDock.totalCount": "Totale {{count}} elementi",
"uploadDock.uploadStatus.cancelled": "Caricamento annullato",
"uploadDock.uploadStatus.error": "Errore di caricamento",
+13
View File
@@ -16,6 +16,15 @@
"callback.titles.error": "Autorizzazione Fallita",
"callback.titles.loading": "Autorizzazione LobeHub Market",
"callback.titles.success": "Autorizzazione Riuscita",
"claimResources.claim": "Richiedi Selezionati",
"claimResources.description": "Abbiamo trovato risorse collegate al tuo account che puoi richiedere:",
"claimResources.error": "Impossibile richiedere le risorse. Per favore, riprova.",
"claimResources.mcpSection": "Server MCP",
"claimResources.selectedCount": "{{count}} elemento/i selezionato/i",
"claimResources.skillSection": "Competenze",
"claimResources.skip": "Salta",
"claimResources.success": "Risorsa/e richiesta/e con successo: {{count}}",
"claimResources.title": "Richiedi le Tue Risorse",
"errors.authorizationFailed": "Autorizzazione fallita, riprova.",
"errors.browserOnly": "Il processo di autorizzazione può essere avviato solo in un browser.",
"errors.codeConsumed": "Il codice di autorizzazione è già stato utilizzato. Riprova.",
@@ -75,6 +84,10 @@
"profileSetup.fields.website.placeholder": "URL del sito personale",
"profileSetup.getStarted": "Inizia",
"profileSetup.save": "Salva",
"profileSetup.socialLinks.connectProvider": "Connetti {{provider}}",
"profileSetup.socialLinks.connected": "Connesso",
"profileSetup.socialLinks.connecting": "Connessione in corso...",
"profileSetup.socialLinks.disconnect": "Disconnetti",
"profileSetup.socialLinks.title": "Link Social",
"profileSetup.success": "Profilo aggiornato con successo",
"profileSetup.titleEdit": "Modifica Profilo",

Some files were not shown because too many files have changed in this diff Show More