chore(spec): 综合清理 + legacy-layer 迁移 spec/plan/data

主要改动:
- 切到 funplay-cocos-mcp v0.5.1 (用户级配置, 项目级 .mcp.json 删除)
- 仓库文档/CLAUDE.md/.gitignore 等清理过时 cocos-mcp-server 引用
- memory 文件同步: cocos-mcp-setup/path/blocker/spriteframe-uuid/prefab-persist 等加 funplay 实测警告
- memory 新建 funplay-cocos-mcp-pending-verification.md (后已被实测覆盖)
- spec/plan/data:
  - docs/superpowers/specs/2026-09-02-legacy-layer-migration-design.md
  - docs/superpowers/plans/2026-09-02-legacy-layer-migration.md
  - docs/superpowers/data/layer-spirit-summary.json
- YouleNexus: profiles.ts / defaults.ts / PlayerInfoView.prefab / scene 改动

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-09-02 07:36:54 +08:00
co-authored by Claude Opus 5
parent fea85c6644
commit 02dc5d51ca
100 changed files with 3480 additions and 6961 deletions
@@ -0,0 +1,10 @@
{
"schemaVersion": 1,
"skillId": "cocos-mcp-workflow",
"skillName": "funplay-cocos-mcp-workflow",
"templateVersion": 2,
"templateHash": "b0371afe3dd7084052927af8130a0929c0877cd48ade67ca9bd9605e1d8cee35",
"installedHash": "b0371afe3dd7084052927af8130a0929c0877cd48ade67ca9bd9605e1d8cee35",
"extensionVersion": "0.5.1",
"updatedAt": "2026-08-31T22:41:36.037Z"
}
@@ -0,0 +1,72 @@
---
name: funplay-cocos-mcp-workflow
description: "Edit, inspect, validate, preview, and debug Cocos Creator projects through Funplay Cocos MCP. Use when working with scenes, nodes, prefabs, assets, TypeScript, logs, screenshots, preview behavior, runtime state, or MCP connectivity."
---
# Funplay Cocos MCP Workflow
## Instructions
## Operating Loop
1. Establish context.
- Read `cocos://project/context` or call `get_editor_state` before assuming the project, active scene, MCP URL, selection, visible windows, or tool profile.
- Inspect the active scene with `get_scene_info` and `get_hierarchy`; use `get_selection`, `list_scenes`, `list_assets`, or `list_prefabs` when identity or ownership is unclear.
- Treat user-provided node and asset names as hints. Resolve the real hierarchy path, node UUID, asset UUID, or `db://assets/...` URL before editing.
- Call `get_tool_catalog` when a required tool may be hidden by the `core`, `full`, or custom exposure profile.
2. Choose the edit surface.
- Edit TypeScript and ordinary project files with repository tools or the MCP file tools, then refresh the affected asset and run diagnostics.
- Edit live scene nodes with focused scene/component tools or `execute_javascript` using `context="scene"`; save the scene when the change must persist.
- Use `execute_javascript` with `context="editor"` for asset-db, Editor messages, project orchestration, and filesystem work that belongs in the editor process.
- Inspect prefab ownership and references before mutation. Prefer focused prefab tools, or edit a verified linked instance and apply it back through the editor workflow.
- Preserve an existing UI or gameplay prefab hierarchy and change only the necessary nodes, components, and serialized fields; do not rebuild the entire prefab unless explicitly requested.
3. Execute the smallest coherent change.
- Prefer one guarded `execute_javascript` operation for tightly related editor work, but use focused tools when they provide clearer validation or safer arguments.
- Keep JavaScript safety checks enabled unless the code and its paths were reviewed explicitly.
- Null-check every scene, node, component, asset, and filesystem lookup. Return concise structured before/after values, including stable UUIDs or asset URLs where useful.
- Save or refresh only the assets and scenes intentionally changed.
- Do not guess alternate paths, silently create replacement objects, or run self-healing fallback loops after a missing reference or unsupported editor message.
4. Read back and validate.
- Re-inspect the exact node, component, prefab instance, or asset after mutation; a successful command response alone is not proof of the final editor state.
- Run `run_script_diagnostics` or `get_script_diagnostic_context` after TypeScript changes, then use `validate_scene` and project logs before claiming success.
- For visual or runtime work, run the appropriate browser, Game View, or simulator preview and verify with runtime state, input, logs, and screenshots.
- State exactly what was verified and what still requires a native build, device, network, store, or manual check.
## Scene, Prefab, and Asset Safety
- Do not treat Cocos `.scene`, `.prefab`, or `.meta` files as ordinary text. Prefer scene-process, prefab, and asset-db operations that preserve UUID references and editor import state.
- If `edit_prefab_json` is used, target a verified prefab path and the smallest exact JSON path or literal replacement, then run `validate_prefab_references` and inspect the result.
- Before structural prefab work, call `inspect_prefab`; for scene instances, call `inspect_prefab_instance` and choose deliberately between apply and revert.
- Replacing a prefab at the same path can keep the asset UUID while changing internal object IDs and breaking serialized references, animation tracks, nested prefab links, and scene overrides.
- Inspect dependencies with `inspect_asset_dependencies` and validate them with `validate_asset_dependencies` before and after sensitive asset changes.
- Never copy a `.meta` file when duplicating an asset. Use `duplicate_prefab` or asset-db operations so the new asset receives its own UUID.
## Tool Exposure and Execution Contexts
- The default `core` profile exposes the main inspection, diagnostics, logs, screenshots, scene, asset, and unified JavaScript workflow.
- The `full` profile adds focused mutation tools for nodes, components, prefabs, UI, runtime control, input simulation, files, and project preview.
- If a named tool is unavailable under a custom profile, adapt to the exposed catalog and report the missing capability instead of pretending it ran.
- In scene context, use the Cocos runtime and scene APIs for live hierarchy and component work. In editor context, use `Editor` APIs and messages for asset-db and extension orchestration.
- Use `execute_scene_script` and `execute_editor_script` only as compatibility entrypoints; prefer `execute_javascript` with an explicit context for new workflows.
## Script and Asset Validation
- After external script changes, refresh the affected asset or `db://assets`, then run TypeScript no-emit diagnostics. Use diagnostic context to read focused source snippets before repairing errors.
- Cocos import and compilation are asynchronous. After refresh, re-query diagnostics, logs, or asset info instead of assuming the first request observed the final state.
- Read `get_recent_logs` or `search_project_logs` for import, serialization, preview, and runtime failures. Do not clear persistent project logs without explicit confirmation.
- Use `validate_scene` as a compact final pass, not as a replacement for targeted readback of the values changed.
## Preview and Runtime Verification
- Query `get_preview_mode` before changing preview behavior. Use `run_project_preview` only when preview execution is needed and distinguish browser `localUrl` from a LAN `networkUrl`.
- Use `get_runtime_state` for pause, frame, and time-scale state; use focused runtime or component methods only when runtime behavior must be exercised.
- Use `capture_scene_screenshot` for scene-side composition, `capture_preview_screenshot` for game output, and `capture_editor_screenshot` for editor UI or extension panels.
- When low-level input is needed, list editor windows first and target the preview or simulator deliberately. Prefer semantic button events when available.
- Restore temporary runtime state such as pause or time scale before finishing unless the user explicitly wants it left changed.
## Failure Handling
- If MCP is unreachable, limit claims to safe filesystem inspection or code edits; do not claim scene, prefab, editor, preview, or runtime verification.
- If a node lookup is ambiguous, return the matching paths and UUIDs and choose only after identifying the user-visible or prefab-owned target.
- If editor readback and serialized text disagree, trust editor and asset-db readback first and investigate whether the wrong asset, scene instance, or stale import was inspected.
- Fix diagnostics or new error logs caused by the change before visual or runtime validation.
@@ -0,0 +1,10 @@
{
"schemaVersion": 1,
"skillId": "cocos-ui-composition",
"skillName": "funplay-cocos-ui-composition",
"templateVersion": 1,
"templateHash": "835f4c4b6e6dc79cabf4e5048ac056b6f2441b2b77c0c555ca502740cc175e72",
"installedHash": "835f4c4b6e6dc79cabf4e5048ac056b6f2441b2b77c0c555ca502740cc175e72",
"extensionVersion": "0.5.1",
"updatedAt": "2026-08-31T22:41:37.608Z"
}
@@ -0,0 +1,106 @@
---
name: funplay-cocos-ui-composition
description: "Build and revise responsive Cocos Creator UI for mobile, desktop, and web, including portrait and landscape layouts, safe areas, prefabs, Widget and Layout behavior, scrolling, text, input, animation, and performance validation."
---
# Funplay Cocos UI Composition
## Instructions
## Operating Loop
1. Inspect before editing.
- Confirm the active scene, Canvas, design resolution, Fit Width/Fit Height policy, target orientations, SafeArea usage, and relevant prefab asset paths.
- Inspect the existing hierarchy, `UITransform` sizes and anchor points, `Widget` constraints and align modes, `Layout` ownership, sibling order, render order, serialized references, animation targets, and prefab instance state.
- Treat screenshots and design coordinates as visual intent, not as permission to replace a working hierarchy.
2. Classify each region.
- Mark art as full-bleed or safe-area content.
- Mark placement as edge-aligned by Widget, stretched between edges, content-sized by Layout, repeated content, scrollable content, modal, overlay, or world-space UI.
- Decide which system owns position and size. Avoid letting Widget, Layout, animation, and manual code fight over the same property.
3. Make the smallest coherent change.
- Preserve the prefab root, existing children, components, names, UUID-backed references, animation tracks, nested prefab links, and scene overrides unless a specific replacement is required.
- Modify only the necessary nodes, components, fields, and children; do not rebuild the entire prefab unless explicitly requested.
- Prefer Cocos MCP scene, prefab, and asset-db workflows over generic text replacement for serialized assets.
4. Read back and validate.
- Read exact hierarchy, node UUIDs, `UITransform` sizes and anchors, Widget edges, Layout settings, sprites, labels, opacity, input blockers, event bindings, and prefab ownership back from Cocos.
- Test layout, input, safe area, localization, animation interruption, close/reopen state, and runtime data changes.
- Capture preview screenshots at representative aspect ratios. Use native builds on representative devices before claiming device performance or platform validation.
## Component Selection
| Component | Use it for | Configure deliberately | Avoid |
| --- | --- | --- | --- |
| `Canvas` | Root 2D/UI render space and design-resolution adaptation | Verify project design resolution, Fit Width/Fit Height, camera and layer behavior | Adding duplicate Canvases only to organize folders or assuming one resolution fits every aspect ratio |
| `UITransform` | UI size, anchor point, coordinate conversion, hit testing, and render priority | Set `contentSize` and anchor point intentionally; keep scale for visual effects rather than basic layout | Treating one screenshot position as universal or changing scale when size/Widget constraints should change |
| `Widget` | Edge, center, stretch, and parent-relative alignment | Choose top/bottom/left/right/center constraints and `ONCE`, `ON_WINDOW_RESIZE`, or `ALWAYS` based on runtime needs | Animating properties that an `ALWAYS` Widget rewrites at the end of the frame |
| `SafeArea` | Keeping critical controls inside notches and system gesture areas | Put it on the top interaction container; allow full-bleed backgrounds outside it | Applying safe-area insets twice or placing important controls outside the safe rectangle |
| `Layout` | Horizontal, vertical, or grid arrangement and container/child resizing | Choose type, resize mode, padding, spacing, constraint, and start axis; call `updateLayout` only when same-frame measurement is necessary | Putting Layout and Widget on the same node or manually positioning children driven by Layout |
| `Sprite` | Icons, panels, progress fills, and sliced or tiled UI art | Use sliced frames for scalable borders, preserve SpriteFrame references, and choose fill/type intentionally | Stretching bordered art as a simple Sprite or leaving decorative nodes interactive |
| `Label` / `RichText` | Localized text and formatted text | Set fonts, fallback coverage, alignment, wrapping, line height, overflow, and cache mode from actual update frequency | Broad `SHRINK` use on frequently changing labels or shipping without required CJK and symbol glyphs |
| `ScrollView` + `Mask` | Content larger than a viewport | Use a dedicated view/mask and content node, enable only required axes, and configure inertia, brake, bounce, and nested input deliberately | Combining Widget and Layout on the same Content node, or creating thousands of live rows without pooling |
| `Mask` | Rectangular, ellipse, graphics, or sprite-stencil clipping | Match the mask type to the visual requirement and keep renderer constraints in mind | Adding Sprite or Label renderers to a Mask node where Cocos requires the mask-owned Graphics/Sprite |
| `Button`, `Toggle`, `Slider`, `EditBox` | Semantic interaction | Verify transition state, target node, event handlers, hit area, keyboard/focus behavior, and disabled state | Duplicate event bindings, tiny touch targets, or visual-only disabled states |
| `UIOpacity` | Fading a UI subtree | Coordinate opacity with active state and input blocking | Hiding a modal visually while it still receives or blocks input |
| `BlockInputEvents` | Preventing pointer/touch events from passing through overlays and modals | Put it on the intended blocking region and validate sibling order and active state | Assuming a visible scrim blocks gameplay input by itself |
| `PageView` | Paged horizontal or vertical content | Recompute page and content sizes when the viewport changes and test drag thresholds | Hard-coding page positions from one device width |
## Design Resolution, Widget, and Safe Area
- Treat the design resolution as the coordinate baseline, not a physical-device whitelist. Verify the project Fit Width/Fit Height policy and any runtime `view.setDesignResolutionSize` policy before changing layout.
- Use Widget to express attachment and stretch. Use `ON_WINDOW_RESIZE` for resizable desktop/web or large-screen layouts, and use `ALWAYS` only when continuous alignment is worth its property ownership cost.
- When Widget owns an edge or size, change the Widget offsets or align mode rather than writing a Node position or UITransform size that will be overwritten later.
- Keep UI scale at one for ordinary layout. Resize through `UITransform.contentSize`, Widget constraints, Layout properties, or a deliberate design-resolution policy.
- Put decorative backgrounds outside the SafeArea interaction root so they can bleed to physical edges. Put buttons, labels, navigation, and other critical content under SafeArea.
- SafeArea already obtains `sys.getSafeAreaRect` and adjusts through Widget. Do not add a second manual inset unless the project has a documented additional margin.
- Re-evaluate layout on window resize, orientation change, or safe-area change when the target platform can change dimensions at runtime.
## Portrait and Landscape Patterns
- For portrait screens, organize persistent UI into Top, flexible Center, and Bottom regions. Let tall screens expand the center instead of multiplying every vertical coordinate by aspect ratio.
- For landscape screens, use Left, Center, Right, and stable corner regions. Verify 16:9, ultrawide, 16:10, and 4:3 instead of treating landscape as one shape.
- Separate camera/world composition from Canvas UI adaptation. A correct Widget layout does not prove the gameplay camera shows the intended world area.
- Use alternate art or deliberate cover/crop behavior when one background cannot preserve composition across phone, tablet, and desktop aspect ratios.
- Reposition only regions whose composition genuinely changes. Do not fork or rebuild the entire screen prefab for a few aspect-dependent offsets.
## Auto Layout and Dynamic Content
- A Layout component drives its children or container according to `ResizeMode`. Do not manually write the driven dimensions and expect them to survive the next layout update.
- For `ResizeMode.CHILDREN`, verify the container size and the resulting child sizes. For `ResizeMode.CONTAINER`, verify anchor point and growth direction so the container expands predictably.
- Grid Layout uses its configured cell and constraint policy. Use fixed rows or columns deliberately and do not expect heterogeneous child preferred sizes to define every cell.
- Runtime Layout property changes normally settle on the next frame. Call `updateLayout` only when code must read the final result in the same operation.
- Keep nested Layout chains shallow, batch data changes, pool repeated items, and avoid rebuilding a large hierarchy for every small model update.
## Sprites, Text, Scrolling, and Input
- Use sliced SpriteFrames for scalable bordered panels and buttons. Preserve caps/insets and inspect the actual SpriteFrame reference after prefab edits.
- For Label, choose `CLAMP`, `SHRINK`, or `RESIZE_HEIGHT` from a documented overflow policy. `SHRINK` can cost more CPU when text updates; `RESIZE_HEIGHT` transfers height ownership to the label.
- Choose Label cache mode from content behavior: avoid caching assumptions for highly dynamic text, and verify character coverage and atlas capacity for localized content.
- Structure a ScrollView as root, masked view, and content. Enable only the needed direction, verify the content reference, and test child-button cancellation and nested scroll behavior.
- Keep one intentional interactive target per control, bind events once, and validate the serialized target, component, handler, and custom event data.
- Give touch controls a project-defined minimum hit area even when the visible art is smaller. Verify with preview input rather than only inspecting dimensions.
- Synchronize modal visibility, `UIOpacity`, active state, Button interactability, and `BlockInputEvents` so hidden panels neither receive nor leak input.
## Animation and Prefab Safety
- Animate a `Visual` or `Container` child when the root is driven by Widget or Layout. Do not animate a property that layout rewrites every frame.
- Stop or cancel an existing tween/animation before replaying it and restore deterministic position, scale, opacity, active state, and input blocking on disable or close.
- Use unscaled scheduling or an explicit UI clock when menus and modal transitions must continue while gameplay time scale is zero.
- Preserve existing prefab objects by default. Replacing a prefab hierarchy can break internal object IDs, animation tracks, serialized component references, nested prefabs, and scene overrides even when the asset UUID remains stable.
- Prefer serialized references and stable semantic names over repeated `getChildByPath` lookups. If a path is required, verify it and fail clearly rather than silently creating an alternate hierarchy.
## Performance and Validation
- Profile before restructuring. Common UI costs include excessive nodes, draw-call breaks, masks/stencils, overdraw, dynamic text generation, repeated Layout work, and large unpooled lists.
- Preserve render batching by grouping compatible sprites and materials without changing intended sibling/render order. Use dynamic atlas or static batching only after verifying asset eligibility and runtime behavior.
- Use `get_performance_snapshot` to compare node, component, UI, depth, and memory-oriented counters before and after material changes.
- Validate portrait at 16:9, 19.5:9 or 20:9, a cutout phone, and a portrait tablet. Validate landscape at 16:9, ultrawide, 16:10, 4:3, and both cutout sides.
- In every profile, verify full-bleed art, safe interactive content, text overflow and glyphs, scroll bounds, modal blocking, touch targets, animation interruption, and close/reopen state.
## Official Cocos References
- [Cocos Creator 3.8 UI system](https://docs.cocos.com/creator/3.8/manual/en/ui-system/)
- [UITransform](https://docs.cocos.com/creator/3.8/api/en/class/UITransform) and [Widget](https://docs.cocos.com/creator/3.8/manual/en/ui-system/components/editor/widget.html)
- [SafeArea](https://docs.cocos.com/creator/3.8/manual/en/ui-system/components/editor/safearea.html) and [multi-resolution adaptation](https://docs.cocos.com/creator/3.8/manual/en/ui-system/components/engine/multi-resolution.html)
- [Layout](https://docs.cocos.com/creator/3.8/manual/en/ui-system/components/editor/layout.html) and [ScrollView](https://docs.cocos.com/creator/3.8/manual/en/ui-system/components/editor/scrollview.html)
- [Label](https://docs.cocos.com/creator/3.8/manual/en/ui-system/components/editor/label.html) and [Mask](https://docs.cocos.com/creator/3.8/manual/en/ui-system/components/editor/mask.html)
- [Node hierarchy and UI rendering order](https://docs.cocos.com/creator/3.8/manual/en/concepts/scene/node-tree.html)
@@ -22,9 +22,9 @@ export interface DebugProfile {
}
/** 正式 gameserver:原 00_SubGame_Config.js:11。 */
export const DEFAULT_GAMESERVER = 'http://ylyxservice1.0791ts.cn/config/update_json.txt';
export const DEFAULT_GAMESERVER = 'https://tsgames.daoqi88.cn/config/update_jsonv2.txt';
/** 测试 gameserver:原 00_SubGame_Config.js:9 注释。 */
const STAGING_GAMESERVER = 'https://tsgames.daoqi88.cn/config_test/beta_update_jsonv2.txt';
const STAGING_GAMESERVER = 'https://tsgames.daoqi88.cn/config/update_jsonv2.txt';
export const PROFILES: Record<string, DebugProfile> = {
prod: { name: 'prod', gameserver: DEFAULT_GAMESERVER, isDebugger: false },
@@ -7,7 +7,7 @@ import type { ChannelIdentity } from '../identity.ts';
export const BUILD_IDENTITY: ChannelIdentity = {
agentid: 'veRa0qrBf0df2K1G4de2tgfmVxB2jxpv',
channelid: 'FtJf073aa0d6rI1xD8J1Y42fINTm0ziK',
gameid: 'jzWe0kzmN0tAcZ5MLks3rFWcxNecogyu',
gameid: 'J9r4022t80pxlb01zOK76DN1WD4QewFl',
marketid: 4,
version: 10000, // 数字 versionCode(联调时改成本地服要求的版本号)
version: 1, // 数字 versionCode(联调时改成本地服要求的版本号)
};
@@ -0,0 +1,9 @@
{
"ver": "4.0.24",
"importer": "typescript",
"imported": true,
"uuid": "2eb9409f-115d-4a7d-bdc4-30a333b57a28",
"files": [],
"subMetas": {},
"userData": {}
}
@@ -0,0 +1,9 @@
{
"ver": "4.0.24",
"importer": "typescript",
"imported": true,
"uuid": "b2f4361c-64f4-4a29-a5db-a4bd45b42f84",
"files": [],
"subMetas": {},
"userData": {}
}
@@ -0,0 +1,9 @@
{
"ver": "4.0.24",
"importer": "typescript",
"imported": true,
"uuid": "6831840f-689a-4fb2-bfb5-c23c45fdb59c",
"files": [],
"subMetas": {},
"userData": {}
}
@@ -0,0 +1,9 @@
{
"ver": "4.0.24",
"importer": "typescript",
"imported": true,
"uuid": "6a645fcf-0721-4c74-b14b-850aec6a0746",
"files": [],
"subMetas": {},
"userData": {}
}
@@ -0,0 +1,9 @@
{
"ver": "4.0.24",
"importer": "typescript",
"imported": true,
"uuid": "c3961eae-ab46-4dc1-8822-25cdd39025db",
"files": [],
"subMetas": {},
"userData": {}
}
@@ -0,0 +1,9 @@
{
"ver": "4.0.24",
"importer": "typescript",
"imported": true,
"uuid": "9cba57c5-ce0c-4345-8ee2-0448112aa312",
"files": [],
"subMetas": {},
"userData": {}
}
@@ -0,0 +1,9 @@
{
"ver": "4.0.24",
"importer": "typescript",
"imported": true,
"uuid": "d8981b12-16b5-49a7-95d6-a51eb735462a",
"files": [],
"subMetas": {},
"userData": {}
}
@@ -0,0 +1,9 @@
{
"ver": "4.0.24",
"importer": "typescript",
"imported": true,
"uuid": "54af01a5-c0dc-4df2-8792-c609f4a74015",
"files": [],
"subMetas": {},
"userData": {}
}
@@ -0,0 +1,9 @@
{
"ver": "4.0.24",
"importer": "typescript",
"imported": true,
"uuid": "b7886dd6-a54a-48de-880f-bf4c50d86a75",
"files": [],
"subMetas": {},
"userData": {}
}
@@ -0,0 +1,9 @@
{
"ver": "4.0.24",
"importer": "typescript",
"imported": true,
"uuid": "5cf5a8d4-c476-4821-928b-d2802b05b650",
"files": [],
"subMetas": {},
"userData": {}
}
@@ -0,0 +1,9 @@
{
"ver": "4.0.24",
"importer": "typescript",
"imported": true,
"uuid": "1ca4b321-a8ed-4850-83a4-f18df811c7d3",
"files": [],
"subMetas": {},
"userData": {}
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 223 KiB

After

Width:  |  Height:  |  Size: 1.4 MiB

@@ -2,7 +2,7 @@
"ver": "1.0.27",
"importer": "image",
"imported": true,
"uuid": "000bccc2-9df9-4d88-ba75-5735ad2ce5fd",
"uuid": "a8236f97-043b-4548-b529-dc465b31e810",
"files": [
".json",
".png"
@@ -10,14 +10,14 @@
"subMetas": {
"6c48a": {
"importer": "texture",
"uuid": "000bccc2-9df9-4d88-ba75-5735ad2ce5fd@6c48a",
"uuid": "a8236f97-043b-4548-b529-dc465b31e810@6c48a",
"displayName": "00001",
"id": "6c48a",
"name": "texture",
"userData": {
"wrapModeS": "clamp-to-edge",
"wrapModeT": "clamp-to-edge",
"imageUuidOrDatabaseUri": "000bccc2-9df9-4d88-ba75-5735ad2ce5fd",
"imageUuidOrDatabaseUri": "a8236f97-043b-4548-b529-dc465b31e810",
"isUuid": true,
"visible": false,
"minfilter": "linear",
@@ -34,7 +34,7 @@
},
"f9941": {
"importer": "sprite-frame",
"uuid": "000bccc2-9df9-4d88-ba75-5735ad2ce5fd@f9941",
"uuid": "a8236f97-043b-4548-b529-dc465b31e810@f9941",
"displayName": "00001",
"id": "f9941",
"name": "spriteFrame",
@@ -45,9 +45,9 @@
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 1280,
"width": 1600,
"height": 720,
"rawWidth": 1280,
"rawWidth": 1600,
"rawHeight": 720,
"borderTop": 0,
"borderBottom": 0,
@@ -60,16 +60,16 @@
"meshType": 0,
"vertices": {
"rawPosition": [
-640,
-800,
-360,
0,
640,
800,
-360,
0,
-640,
-800,
360,
0,
640,
800,
360,
0
],
@@ -84,11 +84,11 @@
"uv": [
0,
720,
1280,
1600,
720,
0,
0,
1280,
1600,
0
],
"nuv": [
@@ -102,18 +102,18 @@
1
],
"minPos": [
-640,
-800,
-360,
0
],
"maxPos": [
640,
800,
360,
0
]
},
"isUuid": true,
"imageUuidOrDatabaseUri": "000bccc2-9df9-4d88-ba75-5735ad2ce5fd@6c48a",
"imageUuidOrDatabaseUri": "a8236f97-043b-4548-b529-dc465b31e810@6c48a",
"atlasUuid": "",
"trimType": "auto"
},
@@ -128,7 +128,7 @@
"userData": {
"type": "sprite-frame",
"fixAlphaTransparencyArtifacts": false,
"hasAlpha": false,
"redirect": "000bccc2-9df9-4d88-ba75-5735ad2ce5fd@6c48a"
"hasAlpha": true,
"redirect": "a8236f97-043b-4548-b529-dc465b31e810@6c48a"
}
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 172 KiB

After

Width:  |  Height:  |  Size: 1.3 MiB

@@ -2,7 +2,7 @@
"ver": "1.0.27",
"importer": "image",
"imported": true,
"uuid": "9ae50f55-f61e-43ad-bd77-2273523f67f6",
"uuid": "e36acab8-e623-4bfb-af05-3c6fd2fddfb4",
"files": [
".json",
".png"
@@ -10,14 +10,14 @@
"subMetas": {
"6c48a": {
"importer": "texture",
"uuid": "9ae50f55-f61e-43ad-bd77-2273523f67f6@6c48a",
"uuid": "e36acab8-e623-4bfb-af05-3c6fd2fddfb4@6c48a",
"displayName": "00020",
"id": "6c48a",
"name": "texture",
"userData": {
"wrapModeS": "clamp-to-edge",
"wrapModeT": "clamp-to-edge",
"imageUuidOrDatabaseUri": "9ae50f55-f61e-43ad-bd77-2273523f67f6",
"imageUuidOrDatabaseUri": "e36acab8-e623-4bfb-af05-3c6fd2fddfb4",
"isUuid": true,
"visible": false,
"minfilter": "linear",
@@ -34,20 +34,20 @@
},
"f9941": {
"importer": "sprite-frame",
"uuid": "9ae50f55-f61e-43ad-bd77-2273523f67f6@f9941",
"uuid": "e36acab8-e623-4bfb-af05-3c6fd2fddfb4@f9941",
"displayName": "00020",
"id": "f9941",
"name": "spriteFrame",
"userData": {
"trimThreshold": 1,
"rotated": false,
"offsetX": 0,
"offsetX": -0.5,
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 1280,
"width": 1599,
"height": 720,
"rawWidth": 1280,
"rawWidth": 1600,
"rawHeight": 720,
"borderTop": 0,
"borderBottom": 0,
@@ -60,16 +60,16 @@
"meshType": 0,
"vertices": {
"rawPosition": [
-640,
-799.5,
-360,
0,
640,
799.5,
-360,
0,
-640,
-799.5,
360,
0,
640,
799.5,
360,
0
],
@@ -84,36 +84,36 @@
"uv": [
0,
720,
1280,
1599,
720,
0,
0,
1280,
1599,
0
],
"nuv": [
0,
0,
1,
0.999375,
0,
0,
1,
1,
0.999375,
1
],
"minPos": [
-640,
-799.5,
-360,
0
],
"maxPos": [
640,
799.5,
360,
0
]
},
"isUuid": true,
"imageUuidOrDatabaseUri": "9ae50f55-f61e-43ad-bd77-2273523f67f6@6c48a",
"imageUuidOrDatabaseUri": "e36acab8-e623-4bfb-af05-3c6fd2fddfb4@6c48a",
"atlasUuid": "",
"trimType": "auto"
},
@@ -128,7 +128,7 @@
"userData": {
"type": "sprite-frame",
"fixAlphaTransparencyArtifacts": false,
"hasAlpha": false,
"redirect": "9ae50f55-f61e-43ad-bd77-2273523f67f6@6c48a"
"hasAlpha": true,
"redirect": "e36acab8-e623-4bfb-af05-3c6fd2fddfb4@6c48a"
}
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 261 KiB

After

Width:  |  Height:  |  Size: 1.4 MiB

@@ -2,7 +2,7 @@
"ver": "1.0.27",
"importer": "image",
"imported": true,
"uuid": "8a8f8faf-9084-4cc3-bdb2-c611e6c1f698",
"uuid": "26dda85e-b4fc-45f1-b7b1-1008f4193a1d",
"files": [
".json",
".png"
@@ -10,14 +10,14 @@
"subMetas": {
"6c48a": {
"importer": "texture",
"uuid": "8a8f8faf-9084-4cc3-bdb2-c611e6c1f698@6c48a",
"uuid": "26dda85e-b4fc-45f1-b7b1-1008f4193a1d@6c48a",
"displayName": "00021",
"id": "6c48a",
"name": "texture",
"userData": {
"wrapModeS": "clamp-to-edge",
"wrapModeT": "clamp-to-edge",
"imageUuidOrDatabaseUri": "8a8f8faf-9084-4cc3-bdb2-c611e6c1f698",
"imageUuidOrDatabaseUri": "26dda85e-b4fc-45f1-b7b1-1008f4193a1d",
"isUuid": true,
"visible": false,
"minfilter": "linear",
@@ -34,7 +34,7 @@
},
"f9941": {
"importer": "sprite-frame",
"uuid": "8a8f8faf-9084-4cc3-bdb2-c611e6c1f698@f9941",
"uuid": "26dda85e-b4fc-45f1-b7b1-1008f4193a1d@f9941",
"displayName": "00021",
"id": "f9941",
"name": "spriteFrame",
@@ -45,9 +45,9 @@
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 1280,
"width": 1600,
"height": 720,
"rawWidth": 1280,
"rawWidth": 1600,
"rawHeight": 720,
"borderTop": 0,
"borderBottom": 0,
@@ -60,16 +60,16 @@
"meshType": 0,
"vertices": {
"rawPosition": [
-640,
-800,
-360,
0,
640,
800,
-360,
0,
-640,
-800,
360,
0,
640,
800,
360,
0
],
@@ -84,11 +84,11 @@
"uv": [
0,
720,
1280,
1600,
720,
0,
0,
1280,
1600,
0
],
"nuv": [
@@ -102,18 +102,18 @@
1
],
"minPos": [
-640,
-800,
-360,
0
],
"maxPos": [
640,
800,
360,
0
]
},
"isUuid": true,
"imageUuidOrDatabaseUri": "8a8f8faf-9084-4cc3-bdb2-c611e6c1f698@6c48a",
"imageUuidOrDatabaseUri": "26dda85e-b4fc-45f1-b7b1-1008f4193a1d@6c48a",
"atlasUuid": "",
"trimType": "auto"
},
@@ -128,7 +128,7 @@
"userData": {
"type": "sprite-frame",
"fixAlphaTransparencyArtifacts": false,
"hasAlpha": false,
"redirect": "8a8f8faf-9084-4cc3-bdb2-c611e6c1f698@6c48a"
"hasAlpha": true,
"redirect": "26dda85e-b4fc-45f1-b7b1-1008f4193a1d@6c48a"
}
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 147 KiB

After

Width:  |  Height:  |  Size: 463 KiB

@@ -2,7 +2,7 @@
"ver": "1.0.27",
"importer": "image",
"imported": true,
"uuid": "860afdf9-ff58-43e9-956f-8a6b415d96e7",
"uuid": "e1aa83b5-47de-4593-997d-debc3ceb2557",
"files": [
".json",
".png"
@@ -10,14 +10,14 @@
"subMetas": {
"6c48a": {
"importer": "texture",
"uuid": "860afdf9-ff58-43e9-956f-8a6b415d96e7@6c48a",
"uuid": "e1aa83b5-47de-4593-997d-debc3ceb2557@6c48a",
"displayName": "00066",
"id": "6c48a",
"name": "texture",
"userData": {
"wrapModeS": "clamp-to-edge",
"wrapModeT": "clamp-to-edge",
"imageUuidOrDatabaseUri": "860afdf9-ff58-43e9-956f-8a6b415d96e7",
"imageUuidOrDatabaseUri": "e1aa83b5-47de-4593-997d-debc3ceb2557",
"isUuid": true,
"visible": false,
"minfilter": "linear",
@@ -34,7 +34,7 @@
},
"f9941": {
"importer": "sprite-frame",
"uuid": "860afdf9-ff58-43e9-956f-8a6b415d96e7@f9941",
"uuid": "e1aa83b5-47de-4593-997d-debc3ceb2557@f9941",
"displayName": "00066",
"id": "f9941",
"name": "spriteFrame",
@@ -45,9 +45,9 @@
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 1280,
"width": 1600,
"height": 720,
"rawWidth": 1280,
"rawWidth": 1600,
"rawHeight": 720,
"borderTop": 0,
"borderBottom": 0,
@@ -60,16 +60,16 @@
"meshType": 0,
"vertices": {
"rawPosition": [
-640,
-800,
-360,
0,
640,
800,
-360,
0,
-640,
-800,
360,
0,
640,
800,
360,
0
],
@@ -84,11 +84,11 @@
"uv": [
0,
720,
1280,
1600,
720,
0,
0,
1280,
1600,
0
],
"nuv": [
@@ -102,18 +102,18 @@
1
],
"minPos": [
-640,
-800,
-360,
0
],
"maxPos": [
640,
800,
360,
0
]
},
"isUuid": true,
"imageUuidOrDatabaseUri": "860afdf9-ff58-43e9-956f-8a6b415d96e7@6c48a",
"imageUuidOrDatabaseUri": "e1aa83b5-47de-4593-997d-debc3ceb2557@6c48a",
"atlasUuid": "",
"trimType": "auto"
},
@@ -128,7 +128,7 @@
"userData": {
"type": "sprite-frame",
"fixAlphaTransparencyArtifacts": false,
"hasAlpha": false,
"redirect": "860afdf9-ff58-43e9-956f-8a6b415d96e7@6c48a"
"hasAlpha": true,
"redirect": "e1aa83b5-47de-4593-997d-debc3ceb2557@6c48a"
}
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 180 KiB

After

Width:  |  Height:  |  Size: 1.5 MiB

@@ -2,7 +2,7 @@
"ver": "1.0.27",
"importer": "image",
"imported": true,
"uuid": "12236402-e2d3-42a3-88d8-5ca7c45c1ce9",
"uuid": "185f4ed3-89dd-498f-bfe6-1dc89cc4a5a9",
"files": [
".json",
".png"
@@ -10,14 +10,14 @@
"subMetas": {
"6c48a": {
"importer": "texture",
"uuid": "12236402-e2d3-42a3-88d8-5ca7c45c1ce9@6c48a",
"uuid": "185f4ed3-89dd-498f-bfe6-1dc89cc4a5a9@6c48a",
"displayName": "00013",
"id": "6c48a",
"name": "texture",
"userData": {
"wrapModeS": "clamp-to-edge",
"wrapModeT": "clamp-to-edge",
"imageUuidOrDatabaseUri": "12236402-e2d3-42a3-88d8-5ca7c45c1ce9",
"imageUuidOrDatabaseUri": "185f4ed3-89dd-498f-bfe6-1dc89cc4a5a9",
"isUuid": true,
"visible": false,
"minfilter": "linear",
@@ -34,7 +34,7 @@
},
"f9941": {
"importer": "sprite-frame",
"uuid": "12236402-e2d3-42a3-88d8-5ca7c45c1ce9@f9941",
"uuid": "185f4ed3-89dd-498f-bfe6-1dc89cc4a5a9@f9941",
"displayName": "00013",
"id": "f9941",
"name": "spriteFrame",
@@ -45,9 +45,9 @@
"offsetY": 0,
"trimX": 0,
"trimY": 0,
"width": 1280,
"width": 1600,
"height": 720,
"rawWidth": 1280,
"rawWidth": 1600,
"rawHeight": 720,
"borderTop": 0,
"borderBottom": 0,
@@ -60,16 +60,16 @@
"meshType": 0,
"vertices": {
"rawPosition": [
-640,
-800,
-360,
0,
640,
800,
-360,
0,
-640,
-800,
360,
0,
640,
800,
360,
0
],
@@ -84,11 +84,11 @@
"uv": [
0,
720,
1280,
1600,
720,
0,
0,
1280,
1600,
0
],
"nuv": [
@@ -102,18 +102,18 @@
1
],
"minPos": [
-640,
-800,
-360,
0
],
"maxPos": [
640,
800,
360,
0
]
},
"isUuid": true,
"imageUuidOrDatabaseUri": "12236402-e2d3-42a3-88d8-5ca7c45c1ce9@6c48a",
"imageUuidOrDatabaseUri": "185f4ed3-89dd-498f-bfe6-1dc89cc4a5a9@6c48a",
"atlasUuid": "",
"trimType": "auto"
},
@@ -128,7 +128,7 @@
"userData": {
"type": "sprite-frame",
"fixAlphaTransparencyArtifacts": false,
"hasAlpha": false,
"redirect": "12236402-e2d3-42a3-88d8-5ca7c45c1ce9@6c48a"
"hasAlpha": true,
"redirect": "185f4ed3-89dd-498f-bfe6-1dc89cc4a5a9@6c48a"
}
}
@@ -2,7 +2,7 @@
"ver": "1.2.0",
"importer": "directory",
"imported": true,
"uuid": "82713f86-4df3-4508-b1fa-88de8984d653",
"uuid": "7c1dfa70-5139-41be-82b2-5fd009c26520",
"files": [],
"subMetas": {},
"userData": {}
@@ -35,13 +35,10 @@
},
{
"__id__": 22
},
{
"__id__": 24
}
],
"_prefab": {
"__id__": 26
"__id__": 24
},
"_lpos": {
"__type__": "cc.Vec3",
@@ -554,32 +551,6 @@
"__type__": "cc.CompPrefabInfo",
"fileId": "y7NHSwQo2QkgmRmTmpYBca"
},
{
"__type__": "PlayerInfoView",
"_name": "",
"_objFlags": 0,
"node": {
"__id__": 1
},
"_enabled": true,
"__prefab": {
"__id__": 23
},
"nicknameLabel": {
"uuid": "bdtAP7JtVCEbM8ECGGK/p0"
},
"beanLabel": {
"uuid": "c1yfHrAqNGVrPzKdCHKo1J"
},
"avatarSprite": {
"uuid": "c6dZktHNJMNoztQHZvHf2F"
},
"_id": ""
},
{
"__type__": "cc.CompPrefabInfo",
"fileId": "c2tNehZHa9gREUUqhm5d6j"
},
{
"__type__": "b9890v4yONA+a/v2YVJMDO5",
"_name": "",
@@ -590,7 +561,7 @@
},
"_enabled": true,
"__prefab": {
"__id__": 25
"__id__": 23
},
"nicknameLabel": {
"__id__": 2
@@ -0,0 +1,14 @@
{
"ver": "1.1.50",
"importer": "prefab",
"imported": true,
"uuid": "911af015-64de-4bcb-af2d-53f12c97ef1b",
"files": [
".json"
],
"subMetas": {},
"userData": {
"syncNodeName": "Group106_PhoneVerify",
"hasIcon": false
}
}
@@ -0,0 +1,14 @@
{
"ver": "1.1.50",
"importer": "prefab",
"imported": true,
"uuid": "3248fc15-f710-4c16-bc35-53f3e8ef5535",
"files": [
".json"
],
"subMetas": {},
"userData": {
"syncNodeName": "Layer10_Protocol",
"hasIcon": false
}
}
@@ -0,0 +1,14 @@
{
"ver": "1.1.50",
"importer": "prefab",
"imported": true,
"uuid": "9993cb85-cba6-45f0-8ec6-bec9544550ae",
"files": [
".json"
],
"subMetas": {},
"userData": {
"syncNodeName": "Layer609_Setting",
"hasIcon": false
}
}
@@ -0,0 +1,14 @@
{
"ver": "1.1.50",
"importer": "prefab",
"imported": true,
"uuid": "9503dbb8-4f71-422d-ad8e-e97386429b14",
"files": [
".json"
],
"subMetas": {},
"userData": {
"syncNodeName": "Layer612_Tips",
"hasIcon": false
}
}
@@ -0,0 +1,14 @@
{
"ver": "1.1.50",
"importer": "prefab",
"imported": true,
"uuid": "07a74445-efe6-4d96-9e02-dc488ccbd2b9",
"files": [
".json"
],
"subMetas": {},
"userData": {
"syncNodeName": "Layer613_RoomCardUpdate",
"hasIcon": false
}
}
@@ -0,0 +1,14 @@
{
"ver": "1.1.50",
"importer": "prefab",
"imported": true,
"uuid": "dbca3627-9e9f-4c1e-9958-acc25e009c8a",
"files": [
".json"
],
"subMetas": {},
"userData": {
"syncNodeName": "Layer614_Loading",
"hasIcon": false
}
}
@@ -0,0 +1,14 @@
{
"ver": "1.1.50",
"importer": "prefab",
"imported": true,
"uuid": "959a896a-6af6-490c-b548-339af63b454b",
"files": [
".json"
],
"subMetas": {},
"userData": {
"syncNodeName": "Layer615_Reconnect",
"hasIcon": false
}
}
@@ -0,0 +1,14 @@
{
"ver": "1.1.50",
"importer": "prefab",
"imported": true,
"uuid": "90aff576-e472-4c78-9da8-e15539d4777b",
"files": [
".json"
],
"subMetas": {},
"userData": {
"syncNodeName": "Layer616_Kick",
"hasIcon": false
}
}
@@ -0,0 +1,14 @@
{
"ver": "1.1.50",
"importer": "prefab",
"imported": true,
"uuid": "2e99ed30-1e3c-4010-973a-dcb8d6050e4f",
"files": [
".json"
],
"subMetas": {},
"userData": {
"syncNodeName": "Layer617_Notice",
"hasIcon": false
}
}
@@ -0,0 +1,14 @@
{
"ver": "1.1.50",
"importer": "prefab",
"imported": true,
"uuid": "ae001a9c-47ad-4056-a701-d6bb7ffc018c",
"files": [
".json"
],
"subMetas": {},
"userData": {
"syncNodeName": "Layer619_BackOtherGame",
"hasIcon": false
}
}
@@ -0,0 +1,14 @@
{
"ver": "1.1.50",
"importer": "prefab",
"imported": true,
"uuid": "45af5255-83e7-40a1-b117-9743e88f3a47",
"files": [
".json"
],
"subMetas": {},
"userData": {
"syncNodeName": "Layer620_Record",
"hasIcon": false
}
}
@@ -0,0 +1,9 @@
{
"ver": "4.0.24",
"importer": "typescript",
"imported": true,
"uuid": "7455434e-a60a-44ba-8ae3-89b7b608564b",
"files": [],
"subMetas": {},
"userData": {}
}
@@ -26,7 +26,7 @@
"_active": true,
"_components": [],
"_prefab": {
"__id__": 38
"__id__": 27
},
"_lpos": {
"__type__": "cc.Vec3",
@@ -57,7 +57,7 @@
},
"autoReleaseAssets": false,
"_globals": {
"__id__": 39
"__id__": 28
},
"_id": "39e47c22-7aa0-4b0b-98a5-c5006cf3766b"
},
@@ -166,18 +166,15 @@
},
{
"__id__": 23
},
{
"__id__": 33
}
],
"_active": true,
"_components": [
{
"__id__": 36
"__id__": 25
},
{
"__id__": 37
"__id__": 26
}
],
"_prefab": null,
@@ -483,189 +480,7 @@
},
{
"__type__": "cc.Node",
"_name": "PlayerInfoView_Runtime",
"_objFlags": 0,
"__editorExtras__": {},
"_parent": {
"__id__": 4
},
"_children": [
{
"__id__": 24
}
],
"_active": true,
"_components": [
{
"__id__": 32
}
],
"_prefab": null,
"_lpos": {
"__type__": "cc.Vec3",
"x": 0,
"y": -100,
"z": 0
},
"_lrot": {
"__type__": "cc.Quat",
"x": 0,
"y": 0,
"z": 0,
"w": 1
},
"_lscale": {
"__type__": "cc.Vec3",
"x": 1,
"y": 1,
"z": 1
},
"_mobility": 0,
"_layer": 33554432,
"_euler": {
"__type__": "cc.Vec3",
"x": 0,
"y": 0,
"z": 0
},
"_id": "fcIV9QMDtLGpt3/3eCUF9w"
},
{
"__type__": "cc.Node",
"_objFlags": 0,
"_parent": {
"__id__": 23
},
"_prefab": {
"__id__": 25
},
"__editorExtras__": {}
},
{
"__type__": "cc.PrefabInfo",
"root": {
"__id__": 24
},
"asset": {
"__uuid__": "9dd8661c-f764-4e33-b5be-47e02a7d6f41",
"__expectedType__": "cc.Prefab"
},
"fileId": "dflMFKQ9RAybmIkPF8a3Q5",
"instance": {
"__id__": 26
},
"targetOverrides": null,
"nestedPrefabInstanceRoots": null
},
{
"__type__": "cc.PrefabInstance",
"fileId": "068gqTjUZHz4hmwVlaPi9D",
"prefabRootNode": null,
"mountedChildren": [],
"mountedComponents": [],
"propertyOverrides": [
{
"__id__": 27
},
{
"__id__": 29
},
{
"__id__": 30
},
{
"__id__": 31
}
],
"removedComponents": []
},
{
"__type__": "CCPropertyOverrideInfo",
"targetInfo": {
"__id__": 28
},
"propertyPath": [
"_name"
],
"value": "PlayerInfoView"
},
{
"__type__": "cc.TargetInfo",
"localID": [
"dflMFKQ9RAybmIkPF8a3Q5"
]
},
{
"__type__": "CCPropertyOverrideInfo",
"targetInfo": {
"__id__": 28
},
"propertyPath": [
"_lpos"
],
"value": {
"__type__": "cc.Vec3",
"x": 0,
"y": 100,
"z": 0
}
},
{
"__type__": "CCPropertyOverrideInfo",
"targetInfo": {
"__id__": 28
},
"propertyPath": [
"_lrot"
],
"value": {
"__type__": "cc.Quat",
"x": 0,
"y": 0,
"z": 0,
"w": 1
}
},
{
"__type__": "CCPropertyOverrideInfo",
"targetInfo": {
"__id__": 28
},
"propertyPath": [
"_euler"
],
"value": {
"__type__": "cc.Vec3",
"x": 0,
"y": 0,
"z": 0
}
},
{
"__type__": "cc.UITransform",
"_name": "",
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 23
},
"_enabled": true,
"__prefab": null,
"_contentSize": {
"__type__": "cc.Size",
"width": 100,
"height": 100
},
"_anchorPoint": {
"__type__": "cc.Vec2",
"x": 0.5,
"y": 0.5
},
"_id": "feGGV1vlZBXYEb9+YMs0YO"
},
{
"__type__": "cc.Node",
"_name": "SceneStart_Node",
"_name": "Layer613_Sample",
"_objFlags": 0,
"__editorExtras__": {},
"_parent": {
@@ -675,17 +490,14 @@
"_active": true,
"_components": [
{
"__id__": 34
},
{
"__id__": 35
"__id__": 24
}
],
"_prefab": null,
"_lpos": {
"__type__": "cc.Vec3",
"x": 600,
"y": -300,
"x": 0,
"y": 0,
"z": 0
},
"_lrot": {
@@ -709,7 +521,7 @@
"y": 0,
"z": 0
},
"_id": "6eeU3KOvxGQbS6UwtxOvAd"
"_id": "fbENyIbVxJC7K+UuoOA3t/"
},
{
"__type__": "cc.UITransform",
@@ -717,7 +529,7 @@
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 33
"__id__": 23
},
"_enabled": true,
"__prefab": null,
@@ -731,22 +543,7 @@
"x": 0.5,
"y": 0.5
},
"_id": "b4q29azdFN5o73K3kHuaVX"
},
{
"__type__": "c9dc3Tde6BMC7Mls6KOasWP",
"_name": "",
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 33
},
"_enabled": true,
"__prefab": null,
"playerInfoView": {
"__id__": 24
},
"_id": "c1JK5vephNPJufMYxFCDrz"
"_id": "1aJ7mKZUJPS55ChjdBgMZn"
},
{
"__type__": "cc.UITransform",
@@ -796,37 +593,34 @@
"nestedPrefabInstanceRoots": [
{
"__id__": 5
},
{
"__id__": 24
}
]
},
{
"__type__": "cc.SceneGlobals",
"ambient": {
"__id__": 40
"__id__": 29
},
"shadows": {
"__id__": 41
"__id__": 30
},
"_skybox": {
"__id__": 42
"__id__": 31
},
"fog": {
"__id__": 43
"__id__": 32
},
"octree": {
"__id__": 44
"__id__": 33
},
"skin": {
"__id__": 45
"__id__": 34
},
"lightProbeInfo": {
"__id__": 46
"__id__": 35
},
"postSettings": {
"__id__": 47
"__id__": 36
},
"bakedWithStationaryMainLight": false,
"bakedWithHighpLightmap": false
@@ -26,7 +26,7 @@
"_active": true,
"_components": [],
"_prefab": {
"__id__": 31
"__id__": 34
},
"_lpos": {
"__type__": "cc.Vec3",
@@ -57,7 +57,7 @@
},
"autoReleaseAssets": false,
"_globals": {
"__id__": 32
"__id__": 35
},
"_id": "01dad306-a70d-4860-91b4-043edbbafbb2"
},
@@ -169,18 +169,21 @@
},
{
"__id__": 8
},
{
"__id__": 28
}
],
"_active": true,
"_components": [
{
"__id__": 28
"__id__": 31
},
{
"__id__": 29
"__id__": 32
},
{
"__id__": 30
"__id__": 33
}
],
"_prefab": null,
@@ -883,6 +886,88 @@
},
"_id": "789o7db/RIMbj3S6vsf0Ro"
},
{
"__type__": "cc.Node",
"_name": "RoomEventProbe_Node",
"_objFlags": 0,
"__editorExtras__": {},
"_parent": {
"__id__": 4
},
"_children": [],
"_active": true,
"_components": [
{
"__id__": 29
},
{
"__id__": 30
}
],
"_prefab": null,
"_lpos": {
"__type__": "cc.Vec3",
"x": 0,
"y": 0,
"z": 0
},
"_lrot": {
"__type__": "cc.Quat",
"x": 0,
"y": 0,
"z": 0,
"w": 1
},
"_lscale": {
"__type__": "cc.Vec3",
"x": 1,
"y": 1,
"z": 1
},
"_mobility": 0,
"_layer": 33554432,
"_euler": {
"__type__": "cc.Vec3",
"x": 0,
"y": 0,
"z": 0
},
"_id": "18uZ5u6dlEM4B6zVXWqI6W"
},
{
"__type__": "cc.UITransform",
"_name": "",
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 28
},
"_enabled": true,
"__prefab": null,
"_contentSize": {
"__type__": "cc.Size",
"width": 100,
"height": 100
},
"_anchorPoint": {
"__type__": "cc.Vec2",
"x": 0.5,
"y": 0.5
},
"_id": "9a+gsZnFpD3Z4OGW3YbmW2"
},
{
"__type__": "55c96AqZCJGSK+7/uvza9W2",
"_name": "",
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 28
},
"_enabled": true,
"__prefab": null,
"_id": "8dRHg8LZ9LxaYgUuEhgSb+"
},
{
"__type__": "cc.UITransform",
"_name": "",
@@ -965,29 +1050,29 @@
{
"__type__": "cc.SceneGlobals",
"ambient": {
"__id__": 33
},
"shadows": {
"__id__": 34
},
"_skybox": {
"__id__": 35
},
"fog": {
"__id__": 36
},
"octree": {
"shadows": {
"__id__": 37
},
"skin": {
"_skybox": {
"__id__": 38
},
"lightProbeInfo": {
"fog": {
"__id__": 39
},
"postSettings": {
"octree": {
"__id__": 40
},
"skin": {
"__id__": 41
},
"lightProbeInfo": {
"__id__": 42
},
"postSettings": {
"__id__": 43
},
"bakedWithStationaryMainLight": false,
"bakedWithHighpLightmap": false
},
@@ -1,576 +0,0 @@
[
{
"__type__": "cc.SceneAsset",
"_name": "UIFitCheck",
"_objFlags": 0,
"__editorExtras__": {},
"_native": "",
"scene": {
"__id__": 1
}
},
{
"__type__": "cc.Scene",
"_name": "UIFitCheck",
"_objFlags": 0,
"__editorExtras__": {},
"_parent": null,
"_children": [
{
"__id__": 2
},
{
"__id__": 4
}
],
"_active": true,
"_components": [],
"_prefab": {
"__id__": 16
},
"_lpos": {
"__type__": "cc.Vec3",
"x": 0,
"y": 0,
"z": 0
},
"_lrot": {
"__type__": "cc.Quat",
"x": 0,
"y": 0,
"z": 0,
"w": 1
},
"_lscale": {
"__type__": "cc.Vec3",
"x": 1,
"y": 1,
"z": 1
},
"_mobility": 0,
"_layer": 1073741824,
"_euler": {
"__type__": "cc.Vec3",
"x": 0,
"y": 0,
"z": 0
},
"autoReleaseAssets": false,
"_globals": {
"__id__": 17
},
"_id": "07d312ed-b82b-44c6-86ad-1417d81ee01a"
},
{
"__type__": "cc.Node",
"_name": "Camera",
"_objFlags": 0,
"__editorExtras__": {},
"_parent": {
"__id__": 1
},
"_children": [],
"_active": true,
"_components": [
{
"__id__": 3
}
],
"_prefab": null,
"_lpos": {
"__type__": "cc.Vec3",
"x": 640,
"y": 360,
"z": 1000
},
"_lrot": {
"__type__": "cc.Quat",
"x": 0,
"y": 0,
"z": 0,
"w": 1
},
"_lscale": {
"__type__": "cc.Vec3",
"x": 1,
"y": 1,
"z": 1
},
"_mobility": 0,
"_layer": 33554432,
"_euler": {
"__type__": "cc.Vec3",
"x": 0,
"y": 0,
"z": 0
},
"_id": "feNMEEZ/BMgLbGFqys7jmm"
},
{
"__type__": "cc.Camera",
"_name": "",
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 2
},
"_enabled": true,
"__prefab": null,
"_projection": 0,
"_priority": 0,
"_fov": 45,
"_fovAxis": 0,
"_orthoHeight": 360,
"_near": 1,
"_far": 2000,
"_color": {
"__type__": "cc.Color",
"r": 51,
"g": 51,
"b": 51,
"a": 255
},
"_depth": 1,
"_stencil": 0,
"_clearFlags": 7,
"_rect": {
"__type__": "cc.Rect",
"x": 0,
"y": 0,
"width": 1,
"height": 1
},
"_aperture": 19,
"_shutter": 7,
"_iso": 0,
"_screenScale": 1,
"_visibility": 1117782015,
"_targetTexture": null,
"_postProcess": null,
"_usePostProcess": false,
"_cameraType": -1,
"_trackingType": 0,
"_id": "5fv10Bsb1EaYtKmO8NF3Kh"
},
{
"__type__": "cc.Node",
"_name": "Canvas",
"_objFlags": 0,
"__editorExtras__": {},
"_parent": {
"__id__": 1
},
"_children": [
{
"__id__": 5
}
],
"_active": true,
"_components": [
{
"__id__": 13
},
{
"__id__": 14
},
{
"__id__": 15
}
],
"_prefab": null,
"_lpos": {
"__type__": "cc.Vec3",
"x": 640,
"y": 360,
"z": 0
},
"_lrot": {
"__type__": "cc.Quat",
"x": 0,
"y": 0,
"z": 0,
"w": 1
},
"_lscale": {
"__type__": "cc.Vec3",
"x": 1,
"y": 1,
"z": 1
},
"_mobility": 0,
"_layer": 33554432,
"_euler": {
"__type__": "cc.Vec3",
"x": 0,
"y": 0,
"z": 0
},
"_id": "138lq3FkpGYJfUzmyxff5/"
},
{
"__type__": "cc.Node",
"_objFlags": 0,
"_parent": {
"__id__": 4
},
"_prefab": {
"__id__": 6
},
"__editorExtras__": {}
},
{
"__type__": "cc.PrefabInfo",
"root": {
"__id__": 5
},
"asset": {
"__uuid__": "b209cefb-b381-4c7c-b765-94a5ab75a89c",
"__expectedType__": "cc.Prefab"
},
"fileId": "33yDavvzhB6IAjia4PLDbg",
"instance": {
"__id__": 7
},
"targetOverrides": null,
"nestedPrefabInstanceRoots": null
},
{
"__type__": "cc.PrefabInstance",
"fileId": "f3+Nz150VGHrC868Bwzs9A",
"prefabRootNode": null,
"mountedChildren": [],
"mountedComponents": [],
"propertyOverrides": [
{
"__id__": 8
},
{
"__id__": 10
},
{
"__id__": 11
},
{
"__id__": 12
}
],
"removedComponents": []
},
{
"__type__": "CCPropertyOverrideInfo",
"targetInfo": {
"__id__": 9
},
"propertyPath": [
"_name"
],
"value": "Login_Layer"
},
{
"__type__": "cc.TargetInfo",
"localID": [
"33yDavvzhB6IAjia4PLDbg"
]
},
{
"__type__": "CCPropertyOverrideInfo",
"targetInfo": {
"__id__": 9
},
"propertyPath": [
"_lpos"
],
"value": {
"__type__": "cc.Vec3",
"x": 0,
"y": 0,
"z": 0
}
},
{
"__type__": "CCPropertyOverrideInfo",
"targetInfo": {
"__id__": 9
},
"propertyPath": [
"_lrot"
],
"value": {
"__type__": "cc.Quat",
"x": 0,
"y": 0,
"z": 0,
"w": 1
}
},
{
"__type__": "CCPropertyOverrideInfo",
"targetInfo": {
"__id__": 9
},
"propertyPath": [
"_euler"
],
"value": {
"__type__": "cc.Vec3",
"x": 0,
"y": 0,
"z": 0
}
},
{
"__type__": "cc.UITransform",
"_name": "",
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 4
},
"_enabled": true,
"__prefab": null,
"_contentSize": {
"__type__": "cc.Size",
"width": 1280,
"height": 720
},
"_anchorPoint": {
"__type__": "cc.Vec2",
"x": 0.5,
"y": 0.5
},
"_id": "40MKatPZNDEJXH7iX1k6BP"
},
{
"__type__": "cc.Canvas",
"_name": "",
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 4
},
"_enabled": true,
"__prefab": null,
"_cameraComponent": null,
"_alignCanvasWithScreen": true,
"_id": "c3vOk89jRFTbFekSp+aM/c"
},
{
"__type__": "cc.Widget",
"_name": "",
"_objFlags": 0,
"__editorExtras__": {},
"node": {
"__id__": 4
},
"_enabled": true,
"__prefab": null,
"_alignFlags": 45,
"_target": null,
"_left": 0,
"_right": 0,
"_top": 0,
"_bottom": 0,
"_horizontalCenter": 0,
"_verticalCenter": 0,
"_isAbsLeft": true,
"_isAbsRight": true,
"_isAbsTop": true,
"_isAbsBottom": true,
"_isAbsHorizontalCenter": true,
"_isAbsVerticalCenter": true,
"_originalWidth": 1280,
"_originalHeight": 720,
"_alignMode": 1,
"_lockFlags": 0,
"_id": "948qweFNZLR6iR8qhKQHpH"
},
{
"__type__": "cc.PrefabInfo",
"root": null,
"asset": null,
"fileId": "07d312ed-b82b-44c6-86ad-1417d81ee01a",
"instance": null,
"targetOverrides": null,
"nestedPrefabInstanceRoots": [
{
"__id__": 5
}
]
},
{
"__type__": "cc.SceneGlobals",
"ambient": {
"__id__": 18
},
"shadows": {
"__id__": 19
},
"_skybox": {
"__id__": 20
},
"fog": {
"__id__": 21
},
"octree": {
"__id__": 22
},
"skin": {
"__id__": 23
},
"lightProbeInfo": {
"__id__": 24
},
"postSettings": {
"__id__": 25
},
"bakedWithStationaryMainLight": false,
"bakedWithHighpLightmap": false
},
{
"__type__": "cc.AmbientInfo",
"_skyColorHDR": {
"__type__": "cc.Vec4",
"x": 0.2,
"y": 0.5,
"z": 0.8,
"w": 0.520833125
},
"_skyColor": {
"__type__": "cc.Vec4",
"x": 0.2,
"y": 0.5,
"z": 0.8,
"w": 0.520833125
},
"_skyIllumHDR": 20000,
"_skyIllum": 20000,
"_groundAlbedoHDR": {
"__type__": "cc.Vec4",
"x": 0.2,
"y": 0.2,
"z": 0.2,
"w": 1
},
"_groundAlbedo": {
"__type__": "cc.Vec4",
"x": 0.2,
"y": 0.2,
"z": 0.2,
"w": 1
},
"_skyColorLDR": {
"__type__": "cc.Vec4",
"x": 0.2,
"y": 0.5,
"z": 0.8,
"w": 1
},
"_skyIllumLDR": 20000,
"_groundAlbedoLDR": {
"__type__": "cc.Vec4",
"x": 0.2,
"y": 0.2,
"z": 0.2,
"w": 1
}
},
{
"__type__": "cc.ShadowsInfo",
"_enabled": false,
"_type": 0,
"_normal": {
"__type__": "cc.Vec3",
"x": 0,
"y": 1,
"z": 0
},
"_distance": 0,
"_planeBias": 1,
"_shadowColor": {
"__type__": "cc.Color",
"r": 0,
"g": 0,
"b": 0,
"a": 76
},
"_maxReceived": 4,
"_size": {
"__type__": "cc.Vec2",
"x": 1024,
"y": 1024
}
},
{
"__type__": "cc.SkyboxInfo",
"_envLightingType": 0,
"_envmapHDR": null,
"_envmap": null,
"_envmapLDR": null,
"_diffuseMapHDR": null,
"_diffuseMapLDR": null,
"_enabled": false,
"_useHDR": true,
"_editableMaterial": null,
"_reflectionHDR": null,
"_reflectionLDR": null,
"_rotationAngle": 0
},
{
"__type__": "cc.FogInfo",
"_type": 0,
"_fogColor": {
"__type__": "cc.Color",
"r": 200,
"g": 200,
"b": 200,
"a": 255
},
"_enabled": false,
"_fogDensity": 0.3,
"_fogStart": 0.5,
"_fogEnd": 300,
"_fogAtten": 5,
"_fogTop": 1.5,
"_fogRange": 1.2,
"_accurate": false
},
{
"__type__": "cc.OctreeInfo",
"_enabled": false,
"_minPos": {
"__type__": "cc.Vec3",
"x": -1024,
"y": -1024,
"z": -1024
},
"_maxPos": {
"__type__": "cc.Vec3",
"x": 1024,
"y": 1024,
"z": 1024
},
"_depth": 8
},
{
"__type__": "cc.SkinInfo",
"_enabled": true,
"_blurRadius": 0.01,
"_sssIntensity": 3
},
{
"__type__": "cc.LightProbeInfo",
"_giScale": 1,
"_giSamples": 1024,
"_bounces": 2,
"_reduceRinging": 0,
"_showProbe": true,
"_showWireframe": true,
"_showConvex": false,
"_data": null,
"_lightProbeSphereVolume": 1
},
{
"__type__": "cc.PostSettingsInfo",
"_toneMappingType": 0
}
]
@@ -1,11 +0,0 @@
{
"ver": "1.1.50",
"importer": "scene",
"imported": true,
"uuid": "07d312ed-b82b-44c6-86ad-1417d81ee01a",
"files": [
".json"
],
"subMetas": {},
"userData": {}
}
@@ -0,0 +1,33 @@
import { _decorator, Component, Label } from 'cc';
const { ccclass, property } = _decorator;
/**
* PlayerInfoView: 自包含响应式视图组件(不依赖 framework/store-binder)。
*
* 设计:PlayerInfoView.ts 与 SceneStart.ts 配合工作。
* - PlayerInfoView 节点挂此脚本,声明 nicknameLabel/beanLabel/avatarSprite
* 三个 @property
* - SceneStart 构建 mock playerState,直接调用 view.applyPlayer() 触发
* 响应式更新(无需 binder 中间层)
*
* 此组件也接受 bindTo(session) API 形式(与之前兼容),内部创建极简
* signal 形式,避免依赖 framework/store-binder。
*/
@ccclass('PlayerInfoView')
export class PlayerInfoView extends Component {
@property(Label)
nicknameLabel: Label = null!;
@property(Label)
beanLabel: Label = null!;
/** avatar 暂不挂(简化版不展示头像) */
/** 公共方法:直接接受 player 数据,更新 Label */
applyPlayer(p: { nickname: string; bean: number }): void {
if (this.nicknameLabel) this.nicknameLabel.string = p.nickname ?? '';
if (this.beanLabel) this.beanLabel.string = String(p.bean ?? 0);
}
}
@@ -0,0 +1,9 @@
{
"ver": "4.0.24",
"importer": "typescript",
"imported": true,
"uuid": "08e6e0d0-570b-46e4-bcf8-2038993cc0e2",
"files": [],
"subMetas": {},
"userData": {}
}
@@ -0,0 +1,9 @@
{
"ver": "4.0.24",
"importer": "typescript",
"imported": true,
"uuid": "55c9602a-6422-4648-afbb-feebf36bd5b6",
"files": [],
"subMetas": {},
"userData": {}
}
@@ -0,0 +1,9 @@
{
"ver": "4.0.24",
"importer": "typescript",
"imported": true,
"uuid": "c9dc34dd-7ba0-4c0b-b325-b3a28e6ac58f",
"files": [],
"subMetas": {},
"userData": {}
}
@@ -5,16 +5,17 @@ const { ccclass, property } = _decorator;
/**
* PlayerInfoView: 响应式视图组件(自包含,便于 Cocos 编辑器挂载)。
*
* 设计取舍:不 import framework/store-binder,以避免 framework/ 的 .ts 在
* cocos-mcp-server 的 mount_script 下出现 ctor 错误(framework/ 路径下
* .ts 不被 Cocos 3.8 当 Component 子类编译;见 memory cocos-mcp-mount-script-blocker)。
* 设计取舍:不 import framework/store-binder,让本组件保持"纯 cc.Component 子类 +
* 极简内联 binder"的单文件结构,方便通过 funplay-cocos-mcp 的 mount 流程挂到 prefab
* (挂脚本路径与持久化限制见 memory `prefab-persist-mount-script` /
* `cocos-mcp-mount-script-path`)。
*
* 实际订阅契约与 framework/ui/store-binder 一致:
* - bindTo(binder) 接收外部 binder 实例
* - 调用方持有 binder,内部 subscribe + 自动刷新 Label.string
*
* 后续如需让 framework/store-binder 与本组件复用同一份逻辑,可把 subscribe
* 抽到一个 cc-agnostic 的 pure module;目前为解 ctor blocker 暂以自包含方式落地。
* 抽到一个 cc-agnostic 的 pure module;目前以"单文件自包含"落地,优先确保编辑器挂载稳定。
*/
/** 内联极简 binder(语义与 framework/ui/store-binder 对齐) */
@@ -0,0 +1,9 @@
{
"ver": "4.0.24",
"importer": "typescript",
"imported": true,
"uuid": "b9890bf8-c8e3-40f9-afef-d985493033b9",
"files": [],
"subMetas": {},
"userData": {}
}
@@ -1,44 +0,0 @@
# Cocos Creator MCP Server v1.8.0
## 安装说明
1. 将整个文件夹复制到 Cocos Creator 项目的 `extensions` 目录
2. 重启 Cocos Creator 或刷新扩展 (Ctrl+R / Cmd+R)
3. 在扩展菜单中启用 "Cocos MCP Server"
4. 打开扩展面板配置服务器设置
## 使用配置
### Claude Desktop
```json
{
"mcpServers": {
"cocos-creator": {
"type": "http",
"url": "http://127.0.0.1:3000/mcp"
}
}
}
```
### Cursor
```json
{
"mcpServers": {
"cocos-creator": {
"url": "http://127.0.0.1:3000/mcp"
}
}
}
```
## 技术支持
- 📧 邮箱: a549623165@gmail.com
- 💬 微信: lidaxian-AI | 客服微信: vberai-support
- 🐙 GitHub: https://github.com/DaxianLee
- 🛒 购买/续费: https://www.vberai.com/game-engines/cocos
---
构建信息: v1.8.0 (production) - 2026-08-24 14:27:23
作者: 李大仙 (LiDaxian)
@@ -1,258 +0,0 @@
"use strict";
module.exports = {
"extension_name": "خادم Cocos MCP",
"description": "خادم AI MCP لـ Cocos Creator 3.8",
"panel_title": "خادم MCP",
"open_panel": "فتح لوحة MCP",
"start_server": "بدء الخادم",
"stop_server": "إيقاف الخادم",
"server_status": "حالة الخادم",
"port": "المنفذ",
"settings": "الإعدادات",
"connected": "متصل",
"disconnected": "غير متصل",
"server_running": "الخادم يعمل على المنفذ {0}",
"server_stopped": "تم إيقاف الخادم",
"auto_start": "بدء تلقائي",
"debug_log": "سجل التصحيح",
"max_connections": "الحد الأقصى للاتصالات",
"connection_info": "معلومات الاتصال",
"http_url": "رابط HTTP",
"copy": "نسخ",
"save_settings": "حفظ",
"settings_saved": "تم حفظ الإعدادات بنجاح",
"server_started": "تم بدء خادم MCP",
"server_stopped_msg": "تم إيقاف خادم MCP",
"failed_to_start": "فشل في بدء الخادم",
"failed_to_stop": "فشل في إيقاف الخادم",
"failed_to_save": "فشل في حفظ الإعدادات",
"url_copied": "تم نسخ رابط HTTP إلى الحافظة",
"tool_manager": "مدير الأدوات",
"open_tool_manager": "فتح مدير الأدوات",
"create_config": "إنشاء تكوين",
"edit_config": "تعديل التكوين",
"delete_config": "حذف التكوين",
"import_config": "استيراد التكوين",
"export_config": "تصدير التكوين",
"apply_config": "تطبيق التكوين",
"select_all": "تحديد الكل",
"deselect_all": "إلغاء تحديد الكل",
"save_changes": "حفظ التغييرات",
"config_name": "اسم التكوين",
"config_description": "وصف التكوين",
"current_config": "التكوين الحالي",
"tool_management": "إدارة الأدوات",
"total_tools": "إجمالي الأدوات",
"enabled_tools": "مفعّلة",
"disabled_tools": "معطّلة",
"no_config_selected": "لم يتم تحديد تكوين",
"select_config_first": "يرجى تحديد أو إنشاء تكوين أولاً",
"config_created": "تم إنشاء التكوين بنجاح",
"config_updated": "تم تحديث التكوين بنجاح",
"config_deleted": "تم حذف التكوين بنجاح",
"config_applied": "تم تطبيق التكوين بنجاح",
"config_exported": "تم تصدير التكوين بنجاح",
"config_imported": "تم استيراد التكوين بنجاح",
"confirm_delete": "تأكيد الحذف",
"delete_config_confirm": "هل أنت متأكد من حذف التكوين \"{0}\"؟ لا يمكن التراجع عن هذا الإجراء.",
"max_config_slots_reached": "تم الوصول إلى الحد الأقصى لعدد التكوينات ({0})",
"invalid_config_format": "تنسيق التكوين غير صالح",
"invalid_json_format": "تنسيق JSON أو بنية التكوين غير صالحة",
"server_tab": "الخادم",
"tools_tab": "إدارة الأدوات",
"available_tools": "الأدوات المتاحة",
"scene_tools": "أدوات المشهد",
"node_tools": "أدوات العقد",
"component_tools": "أدوات المكونات",
"prefab_tools": "أدوات القوالب",
"project_tools": "أدوات المشروع",
"debug_tools": "أدوات التصحيح",
"preferences_tools": "التفضيلات",
"server_tools": "أدوات الخادم",
"broadcast_tools": "أدوات البث",
"scene_advanced_tools": "أدوات المشهد المتقدمة",
"scene_view_tools": "أدوات عرض المشهد",
"reference_image_tools": "أدوات الصور المرجعية",
"asset_advanced_tools": "أدوات الأصول المتقدمة",
"validation_tools": "أدوات التحقق",
"brand_name": "LiDaxian MCP Series",
"brand_subtitle": "LiDaxian MCP Series",
"contact_email": "البريد الإلكتروني",
"contact_wechat": "WeChat",
"contact_github": "GitHub",
"machine_id_label": "رمز الجهاز",
"purchase_renew": "شراء / تجديد",
"purchase_url": "https://www.vberai.com/game-engines/cocos",
"auth_title": "اختر طريقة تسجيل الدخول",
"auth_subtitle": "أدخل بريدك الإلكتروني ورمز التفعيل",
"email_label": "عنوان البريد الإلكتروني",
"activation_code_label": "رمز التفعيل",
"email_placeholder": "أدخل البريد الإلكتروني",
"code_placeholder": "أدخل الرمز (XXXXX-XXXXX-XXXXX-XXXXX-XXXXX)",
"activate_button": "تفعيل",
"deactivate_button": "إلغاء التفعيل",
"activating": "جارٍ التفعيل...",
"deactivating": "جارٍ إلغاء التفعيل...",
"license_status": "حالة الترخيص",
"license_type": "نوع الترخيص",
"expiry_date": "تاريخ الانتهاء",
"days_remaining": "الأيام المتبقية",
"days_unit": "ي",
"permanent": "دائم",
"expiry_warning_title": "الترخيص على وشك الانتهاء",
"expiry_warning_message": "سينتهي ترخيصك خلال {0} أيام. يرجى التجديد لتجنب انقطاع الخدمة.",
"renew_now": "تجديد الآن",
"i_understand": "فهمت",
"activation_success": "تم تفعيل الترخيص بنجاح!",
"activation_failed": "فشل التفعيل: {0}",
"invalid_code": "تنسيق رمز التفعيل غير صالح",
"purchase_license": "شراء ترخيص",
"renew_license": "تجديد الترخيص",
"contact_support": "الدعم",
"language_switch": "العربية",
"version_label": "الإصدار",
"license_required": "مطلوب ترخيص لبدء الخادم",
"license_check_failed": "فشل التحقق من الترخيص",
"status_stopped": "متوقف",
"status_running": "يعمل",
"status_error": "فشل الاتصال",
"config_tab": "إعداد سريع",
"status_label": "الحالة",
"connections_count": "الاتصالات",
"transport_protocol": "بروتوكول النقل",
"transport_type": "نوع النقل",
"mcp_url": "رابط MCP",
"port_fallback_title": "المنفذ {0} مشغول — تم التبديل إلى {1}",
"net_title": "الشبكة / الوكيل",
"net_direct": "اتصال مباشر",
"net_via": "عبر {0} ({1})",
"net_source_manual": "يدوي",
"net_source_env": "متغير بيئة",
"net_source_system": "إعدادات النظام",
"net_mode_auto": "كشف تلقائي",
"net_mode_manual": "يدوي",
"net_mode_off": "بدون وكيل",
"net_save": "حفظ",
"net_test": "اختبار الاتصال",
"net_testing": "جارٍ الاختبار…",
"net_test_ok": "تم الاتصال ({0} م.ث)",
"net_test_fail": "فشل: {0}",
"net_hint": "انتهاء مهلة تسجيل الدخول سببه الشبكة في الغالب. إن كنت تستخدم VPN/وكيلاً فأدخل عنوانه هنا (مثل http://127.0.0.1:7890) أو حوّل البرنامج إلى الوضع الشامل (TUN).",
"net_pac_warning": "يستخدم النظام برنامج PAC للتهيئة التلقائية ولا يمكن للملحق تفسيره. اختر «يدوي» وأدخل عنوان الوكيل.",
"port_label": "المنفذ",
"auto_start_label": "بدء تلقائي",
"debug_log_label": "سجل التصحيح",
"max_connections_label": "الحد الأقصى للاتصالات",
"server_settings_title": "إعدادات الخادم",
"server_status_title": "حالة الخادم",
"connection_info_title": "معلومات الاتصال",
"tools_count": "{0} أدوات",
"tools_stats": "{0} أدوات ({1} مفعّلة / {2} معطّلة)",
"quick_config_title": "إعداد سريع لعملاء MCP",
"quick_config_desc": "تكوين خادم MCP تلقائيًا في محررات AI وأدوات CLI",
"server_info": "معلومات الخادم",
"server_name_label": "اسم الخادم",
"server_address": "عنوان الخادم",
"timeout_ms": "مهلة الانتظار (مللي ثانية)",
"auto_config_title": "إعداد تلقائي (IDE + Codex CLI)",
"add_all": "إضافة الكل",
"remove_all": "إزالة الكل",
"auto_config_note": "انقر لتعديل ملفات التكوين تلقائيًا (Cursor, Windsurf, Trae, Codex CLI)",
"configured": "مُعدّ",
"not_configured": "غير مُعدّ",
"auto_config_btn": "إعداد تلقائي",
"delete_btn": "حذف",
"copy_config": "نسخ التكوين",
"open_config": "فتح التكوين",
"manual_config_title": "إعداد يدوي (Claude CLI + Gemini CLI)",
"refresh_commands": "تحديث الأوامر",
"manual_config_note": "أدوات CLI التالية تتطلب تنفيذًا يدويًا في الطرفية",
"config_scope": "نطاق التكوين:",
"scope_user": "مستوى المستخدم",
"scope_project": "مستوى المشروع",
"operation_log": "سجل العمليات",
"no_logs": "لا توجد سجلات",
"copyright_line": "© 2025 LiDaxian - Cocos Creator MCP Server v{0}",
"protocol_line": "مبني على بروتوكول Streamable HTTP (MCP 2025-03-26)",
"tools_copyright_line1": "نظام الأدوات - 13 أداة intent-level، أكثر من 150 عملية محرر، توزيع أكواد الإجراءات",
"config_copyright_line1": "إعداد سريع - يدعم Cursor, Windsurf, Trae, Codex CLI, Claude CLI, Gemini CLI",
"email_required": "يرجى إدخال البريد الإلكتروني ورمز التفعيل",
"permanent_label": "دائم",
"logout_button": "تسجيل الخروج",
"invite_code_label": "رمز الدعوة",
"copy_button": "نسخ",
"change_code_button": "تغيير الرمز",
"change_code_title": "تغيير رمز التفعيل",
"change_code_desc": "أدخل رمز التفعيل الجديد. سيتم إلغاء ربط الجهاز الحالي أولاً.",
"confirm_change": "تأكيد",
"cancel": "إلغاء",
"code_required": "يرجى إدخال رمز التفعيل",
"expiry_inline_warning": "ينتهي قريبًا!",
"store_purchase_hint": "إذا اشتريت هذا الإضافة من Cocos Store، يرجى الاتصال بي للحصول على رمز التفعيل.",
"license_expired_title": "انتهت صلاحية الترخيص",
"license_expired_message": "انتهت صلاحية ترخيصك ولا يمكن بدء الخادم. يرجى التجديد أو إعادة التفعيل للمتابعة.",
"go_to_login": "الذهاب لتسجيل الدخول",
"log_load_config_failed": "فشل في تحميل حالة التكوين: {0}",
"log_gen_cli_failed": "فشل في إنشاء أوامر CLI: {0}",
"log_add_client_failed": "فشل في الإضافة إلى {0}: {1}",
"log_remove_client_failed": "فشل في الإزالة من {0}: {1}",
"quick_config_dialog_title": "تكوين بنقرة واحدة",
"config_operation_failed": "فشلت عملية التكوين",
"config_file_not_found_changed_path": "فشل التكوين: لم يتم العثور على ملف التكوين. ربما تم تثبيت {0} في مسار مخصص.",
"log_batch_add_failed": "فشل الإضافة الجماعية: {0}",
"log_batch_remove_failed": "فشل الإزالة الجماعية: {0}",
"log_copied_config": "تم نسخ تكوين {0} إلى الحافظة",
"log_gen_config_failed": "فشل في إنشاء التكوين",
"log_copy_config_failed": "فشل في نسخ التكوين: {0}",
"log_copied_command": "تم نسخ أمر {0} إلى الحافظة",
"log_copy_command_failed": "فشل في نسخ الأمر: {0}",
"log_opened_config_file": "تم فتح ملف التكوين: {0}",
"log_open_config_failed": "فشل في فتح ملف التكوين",
"log_open_config_error": "فشل في فتح ملف التكوين: {0}",
"update_available_title": "تحديث متاح",
"update_new_version": "الإصدار الجديد v{0} متاح!",
"update_now": "التحديث الآن",
"update_not_now": "ليس الآن",
"update_skip_version": "تخطي v{0}",
"check_for_updates": "التحقق من التحديثات",
"update_checking": "جارٍ التحقق...",
"update_no_update": "أنت تستخدم أحدث إصدار",
"update_urgency_critical": "تحديث عاجل",
"update_urgency_high": "تحديث مهم",
"update_current_version": "الإصدار الحالي: v{0}",
"update_changelog": "سجل التغييرات",
"auth_choose_subtitle": "اختر طريقة تسجيل الدخول للمتابعة",
"update_changelog_empty": "لم يتم توفير ملاحظات إصدار لهذه النسخة.",
"subscription_login_title": "حساب اشتراك VberAI",
"subscription_password_label": "كلمة المرور",
"subscription_password_placeholder": "أدخل كلمة المرور",
"subscription_login_button": "تسجيل الدخول باستخدام VberAI",
"subscription_google_button": "تسجيل الدخول باستخدام Google",
"subscription_google_pending": "تم فتح المتصفح. أكمل تفويض Google ثم عد إلى Cocos Creator.",
"subscription_google_pending_button": "في انتظار تفويض Google...",
"subscription_register_button": "إنشاء حساب VberAI",
"subscription_logging_in": "جارٍ تسجيل الدخول...",
"subscription_credentials_required": "يرجى إدخال البريد الإلكتروني وكلمة المرور",
"subscription_login_success": "تم تسجيل الدخول إلى حساب الاشتراك",
"subscription_login_failed": "فشل تسجيل الدخول إلى الاشتراك",
"subscription_not_entitled": "اشتراكك الحالي لا يتضمن Cocos 3.x MCP. قم بالترقية للمتابعة.",
"subscription_upgrade_to": "قم بالترقية إلى «{0}» لاستخدام هذا المنتج",
"subscription_upgrade_action": "ترقية الاشتراك",
"subscription_logged_in": "الحساب المسجّل دخوله",
"subscription_choose_button": "حساب اشتراك VberAI",
"license_choose_button": "رمز التفعيل",
"subscription_method_label": "اشتراك",
"back_to_login_choices": "← اختر طريقة تسجيل دخول أخرى",
"subscription_signed_out_other_device": "تم تسجيل الخروج: تم استخدام حسابك على جهاز آخر.",
"subscription_google_cancelled": "تم إلغاء تسجيل الدخول عبر Google.",
"subscription_request_timeout": "انتهت مهلة الطلب. تحقق من شبكتك وحاول مرة أخرى.",
"subscription_network_error": "فشل الاتصال بالشبكة. تحقق من شبكتك وحاول مرة أخرى.",
"subscription_server_error": "أرجع الخادم استجابة غير صالحة. حاول مرة أخرى لاحقًا.",
"subscription_google_authorization_failed": "لم يكتمل تفويض Google. يرجى المحاولة مرة أخرى."
,"lan_access_label": "السماح بالوصول عبر الشبكة المحلية"
,"lan_access_warning": "مرتبط بالعنوان 0.0.0.0. يمكن لأي شخص على هذه الشبكة الاتصال والتحكم في المحرر — لا تتحقق نقطة النهاية هذه من أي بيانات اعتماد. فعّل هذا الخيار على الشبكات الموثوقة فقط."
,"lan_address": "عنوان الشبكة المحلية"
};
@@ -1,258 +0,0 @@
"use strict";
module.exports = {
"extension_name": "Cocos MCP Server",
"description": "AI MCP Server für Cocos Creator 3.8",
"panel_title": "MCP Server",
"open_panel": "MCP-Panel öffnen",
"start_server": "Server starten",
"stop_server": "Server stoppen",
"server_status": "Serverstatus",
"port": "Port",
"settings": "Einstellungen",
"connected": "Verbunden",
"disconnected": "Getrennt",
"server_running": "Server läuft auf Port {0}",
"server_stopped": "Server wurde gestoppt",
"auto_start": "Autostart",
"debug_log": "Debug-Protokoll",
"max_connections": "Max. Verbindungen",
"connection_info": "Verbindungsinfo",
"http_url": "HTTP-URL",
"copy": "Kopieren",
"save_settings": "Speichern",
"settings_saved": "Einstellungen erfolgreich gespeichert",
"server_started": "MCP Server gestartet",
"server_stopped_msg": "MCP Server gestoppt",
"failed_to_start": "Server konnte nicht gestartet werden",
"failed_to_stop": "Server konnte nicht gestoppt werden",
"failed_to_save": "Einstellungen konnten nicht gespeichert werden",
"url_copied": "HTTP-URL in Zwischenablage kopiert",
"tool_manager": "Tool-Manager",
"open_tool_manager": "Tool-Manager öffnen",
"create_config": "Konfiguration erstellen",
"edit_config": "Konfiguration bearbeiten",
"delete_config": "Konfiguration löschen",
"import_config": "Konfiguration importieren",
"export_config": "Konfiguration exportieren",
"apply_config": "Konfiguration anwenden",
"select_all": "Alle auswählen",
"deselect_all": "Alle abwählen",
"save_changes": "Änderungen speichern",
"config_name": "Konfigurationsname",
"config_description": "Konfigurationsbeschreibung",
"current_config": "Aktuelle Konfiguration",
"tool_management": "Tool-Verwaltung",
"total_tools": "Gesamt",
"enabled_tools": "Aktiviert",
"disabled_tools": "Deaktiviert",
"no_config_selected": "Keine Konfiguration ausgewählt",
"select_config_first": "Bitte wählen Sie zuerst eine Konfiguration oder erstellen Sie eine neue",
"config_created": "Konfiguration erfolgreich erstellt",
"config_updated": "Konfiguration erfolgreich aktualisiert",
"config_deleted": "Konfiguration erfolgreich gelöscht",
"config_applied": "Konfiguration erfolgreich angewendet",
"config_exported": "Konfiguration erfolgreich exportiert",
"config_imported": "Konfiguration erfolgreich importiert",
"confirm_delete": "Löschen bestätigen",
"delete_config_confirm": "Möchten Sie die Konfiguration \"{0}\" wirklich löschen? Diese Aktion kann nicht rückgängig gemacht werden.",
"max_config_slots_reached": "Maximale Anzahl von Konfigurationen erreicht ({0})",
"invalid_config_format": "Ungültiges Konfigurationsformat",
"invalid_json_format": "Ungültiges JSON-Format oder Konfigurationsstruktur",
"server_tab": "Server",
"tools_tab": "Tool-Verwaltung",
"available_tools": "Verfügbare Tools",
"scene_tools": "Szenen-Tools",
"node_tools": "Knoten-Tools",
"component_tools": "Komponenten-Tools",
"prefab_tools": "Prefab-Tools",
"project_tools": "Projekt-Tools",
"debug_tools": "Debug-Tools",
"preferences_tools": "Einstellungen",
"server_tools": "Server-Tools",
"broadcast_tools": "Broadcast-Tools",
"scene_advanced_tools": "Erweiterte Szenen-Tools",
"scene_view_tools": "Szenenansicht-Tools",
"reference_image_tools": "Referenzbild-Tools",
"asset_advanced_tools": "Erweiterte Asset-Tools",
"validation_tools": "Validierungs-Tools",
"brand_name": "LiDaxian MCP Series",
"brand_subtitle": "LiDaxian MCP Series",
"contact_email": "E-Mail",
"contact_wechat": "WeChat",
"contact_github": "GitHub",
"machine_id_label": "Maschinencode",
"purchase_renew": "Kaufen / Verlängern",
"purchase_url": "https://www.vberai.com/game-engines/cocos",
"auth_title": "Anmeldemethode auswählen",
"auth_subtitle": "Geben Sie Ihre E-Mail und Ihren Aktivierungscode ein",
"email_label": "E-Mail-Adresse",
"activation_code_label": "Aktivierungscode",
"email_placeholder": "E-Mail eingeben",
"code_placeholder": "Code eingeben (XXXXX-XXXXX-XXXXX-XXXXX-XXXXX)",
"activate_button": "Aktivieren",
"deactivate_button": "Deaktivieren",
"activating": "Aktivierung...",
"deactivating": "Deaktivierung...",
"license_status": "Lizenzstatus",
"license_type": "Lizenztyp",
"expiry_date": "Ablaufdatum",
"days_remaining": "Verbleibende Tage",
"days_unit": "T",
"permanent": "Permanent",
"expiry_warning_title": "Lizenz läuft bald ab",
"expiry_warning_message": "Ihre Lizenz läuft in {0} Tagen ab. Bitte verlängern Sie, um Unterbrechungen zu vermeiden.",
"renew_now": "Jetzt verlängern",
"i_understand": "Verstanden",
"activation_success": "Lizenz erfolgreich aktiviert!",
"activation_failed": "Aktivierung fehlgeschlagen: {0}",
"invalid_code": "Ungültiges Aktivierungscode-Format",
"purchase_license": "Lizenz kaufen",
"renew_license": "Lizenz verlängern",
"contact_support": "Support",
"language_switch": "Deutsch",
"version_label": "Version",
"license_required": "Zum Starten des Servers ist eine Lizenz erforderlich",
"license_check_failed": "Lizenzprüfung fehlgeschlagen",
"status_stopped": "Gestoppt",
"status_running": "Läuft",
"status_error": "Verbindung fehlgeschlagen",
"config_tab": "Schnellkonfig",
"status_label": "Status",
"connections_count": "Verbindungen",
"transport_protocol": "Transportprotokoll",
"transport_type": "Transporttyp",
"mcp_url": "MCP-URL",
"port_fallback_title": "Port {0} belegt – zu {1} gewechselt",
"net_title": "Netzwerk / Proxy",
"net_direct": "Direktverbindung",
"net_via": "über {0} ({1})",
"net_source_manual": "manuell",
"net_source_env": "Umgebungsvariable",
"net_source_system": "Systemeinstellungen",
"net_mode_auto": "Automatisch",
"net_mode_manual": "Manuell",
"net_mode_off": "Kein Proxy",
"net_save": "Speichern",
"net_test": "Verbindung testen",
"net_testing": "Wird getestet…",
"net_test_ok": "Verbunden ({0} ms)",
"net_test_fail": "Fehlgeschlagen: {0}",
"net_hint": "Login-Timeouts sind fast immer ein Netzwerkproblem. Bei VPN/Proxy hier die Adresse eintragen (z. B. http://127.0.0.1:7890) oder den Client auf globalen (TUN) Modus umstellen.",
"net_pac_warning": "Das System nutzt ein PAC-Skript, das dieses Plugin nicht auswerten kann. Auf Manuell umstellen und die Proxy-Adresse eintragen.",
"port_label": "Port",
"auto_start_label": "Autostart",
"debug_log_label": "Debug-Protokoll",
"max_connections_label": "Max. Verbindungen",
"server_settings_title": "Servereinstellungen",
"server_status_title": "Serverstatus",
"connection_info_title": "Verbindungsinfo",
"tools_count": "{0} Tools",
"tools_stats": "{0} Tools ({1} aktiviert / {2} deaktiviert)",
"quick_config_title": "MCP-Clients schnell konfigurieren",
"quick_config_desc": "MCP-Server automatisch in AI-Editoren und CLI-Tools konfigurieren",
"server_info": "Serverinfo",
"server_name_label": "Servername",
"server_address": "Serveradresse",
"timeout_ms": "Zeitlimit (ms)",
"auto_config_title": "Auto-Konfig (IDE-Editoren + Codex CLI)",
"add_all": "Alle hinzufügen",
"remove_all": "Alle entfernen",
"auto_config_note": "Klicken Sie, um Konfigurationsdateien automatisch zu ändern (Cursor, Windsurf, Trae, Codex CLI)",
"configured": "Konfiguriert",
"not_configured": "Nicht konfiguriert",
"auto_config_btn": "Auto-Konfig",
"delete_btn": "Löschen",
"copy_config": "Konfig kopieren",
"open_config": "Konfig öffnen",
"manual_config_title": "Manuelle Konfig (Claude CLI + Gemini CLI)",
"refresh_commands": "Befehle aktualisieren",
"manual_config_note": "Die folgenden CLI-Tools erfordern manuelle Ausführung im Terminal",
"config_scope": "Konfig-Bereich:",
"scope_user": "Benutzerebene",
"scope_project": "Projektebene",
"operation_log": "Operationsprotokoll",
"no_logs": "Keine Einträge",
"copyright_line": "© 2025 LiDaxian - Cocos Creator MCP Server v{0}",
"protocol_line": "Basierend auf dem Streamable HTTP Protokoll (MCP 2025-03-26)",
"tools_copyright_line1": "Tool-System - 13 Intent-Level-Tools, 150+ Editor-Operationen, Action-Code-Dispatch",
"config_copyright_line1": "Schnellkonfig - Unterstützt Cursor, Windsurf, Trae, Codex CLI, Claude CLI, Gemini CLI",
"email_required": "Bitte geben Sie E-Mail und Aktivierungscode ein",
"permanent_label": "Permanent",
"logout_button": "Abmelden",
"invite_code_label": "Einladungscode",
"copy_button": "Kopieren",
"change_code_button": "Code ändern",
"change_code_title": "Aktivierungscode ändern",
"change_code_desc": "Geben Sie Ihren neuen Aktivierungscode ein. Die aktuelle Gerätebindung wird zuerst freigegeben.",
"confirm_change": "Bestätigen",
"cancel": "Abbrechen",
"code_required": "Bitte geben Sie einen Aktivierungscode ein",
"expiry_inline_warning": "Läuft bald ab!",
"store_purchase_hint": "Wenn Sie dieses Plugin im Cocos Store gekauft haben, kontaktieren Sie mich bitte, um Ihren Aktivierungscode zu erhalten.",
"license_expired_title": "Lizenz abgelaufen",
"license_expired_message": "Ihre Lizenz ist abgelaufen und der Server kann nicht gestartet werden. Bitte verlängern oder reaktivieren Sie, um fortzufahren.",
"go_to_login": "Zum Login",
"log_load_config_failed": "Konfigurationsstatus konnte nicht geladen werden: {0}",
"log_gen_cli_failed": "CLI-Befehle konnten nicht generiert werden: {0}",
"log_add_client_failed": "Hinzufügen zu {0} fehlgeschlagen: {1}",
"log_remove_client_failed": "Entfernen von {0} fehlgeschlagen: {1}",
"quick_config_dialog_title": "Ein-Klick-Konfiguration",
"config_operation_failed": "Konfigurationsvorgang fehlgeschlagen",
"config_file_not_found_changed_path": "Konfiguration fehlgeschlagen: Konfigurationsdatei nicht gefunden. {0} wurde möglicherweise in einem benutzerdefinierten Pfad installiert.",
"log_batch_add_failed": "Stapel-Hinzufügen fehlgeschlagen: {0}",
"log_batch_remove_failed": "Stapel-Entfernen fehlgeschlagen: {0}",
"log_copied_config": "{0}-Konfiguration in Zwischenablage kopiert",
"log_gen_config_failed": "Konfiguration konnte nicht generiert werden",
"log_copy_config_failed": "Konfiguration konnte nicht kopiert werden: {0}",
"log_copied_command": "{0}-Befehl in Zwischenablage kopiert",
"log_copy_command_failed": "Befehl konnte nicht kopiert werden: {0}",
"log_opened_config_file": "Konfigurationsdatei geöffnet: {0}",
"log_open_config_failed": "Konfigurationsdatei konnte nicht geöffnet werden",
"log_open_config_error": "Konfigurationsdatei konnte nicht geöffnet werden: {0}",
"update_available_title": "Update verfügbar",
"update_new_version": "Neue Version v{0} ist verfügbar!",
"update_now": "Jetzt aktualisieren",
"update_not_now": "Später",
"update_skip_version": "v{0} überspringen",
"check_for_updates": "Nach Updates suchen",
"update_checking": "Prüfe...",
"update_no_update": "Sie verwenden die neueste Version",
"update_urgency_critical": "Kritisches Update",
"update_urgency_high": "Wichtiges Update",
"update_current_version": "Aktuelle Version: v{0}",
"update_changelog": "Änderungsprotokoll",
"auth_choose_subtitle": "Wählen Sie eine Anmeldemethode, um fortzufahren",
"update_changelog_empty": "Für diese Version wurden keine Versionshinweise bereitgestellt.",
"subscription_login_title": "VberAI-Abonnementkonto",
"subscription_password_label": "Passwort",
"subscription_password_placeholder": "Passwort eingeben",
"subscription_login_button": "Mit VberAI anmelden",
"subscription_google_button": "Mit Google anmelden",
"subscription_google_pending": "Browser geöffnet. Schließen Sie die Google-Autorisierung ab und kehren Sie dann zu Cocos Creator zurück.",
"subscription_google_pending_button": "Warte auf Google-Autorisierung...",
"subscription_register_button": "VberAI-Konto erstellen",
"subscription_logging_in": "Anmeldung läuft...",
"subscription_credentials_required": "Bitte E-Mail und Passwort eingeben",
"subscription_login_success": "Bei Abonnementkonto angemeldet",
"subscription_login_failed": "Abonnement-Anmeldung fehlgeschlagen",
"subscription_not_entitled": "Ihr aktuelles Abonnement enthält Cocos 3.x MCP nicht. Führen Sie ein Upgrade durch, um fortzufahren.",
"subscription_upgrade_to": "Führen Sie ein Upgrade auf „{0}“ durch, um dieses Produkt zu verwenden",
"subscription_upgrade_action": "Abonnement upgraden",
"subscription_logged_in": "Angemeldetes Konto",
"subscription_choose_button": "VberAI-Abonnementkonto",
"license_choose_button": "Aktivierungscode",
"subscription_method_label": "Abonnement",
"back_to_login_choices": "← Andere Anmeldemethode wählen",
"subscription_signed_out_other_device": "Abgemeldet: Ihr Konto wurde auf einem anderen Gerät verwendet.",
"subscription_google_cancelled": "Google-Anmeldung wurde abgebrochen.",
"subscription_request_timeout": "Zeitüberschreitung der Anfrage. Überprüfen Sie Ihr Netzwerk und versuchen Sie es erneut.",
"subscription_network_error": "Netzwerkverbindung fehlgeschlagen. Überprüfen Sie Ihr Netzwerk und versuchen Sie es erneut.",
"subscription_server_error": "Der Server hat eine ungültige Antwort zurückgegeben. Versuchen Sie es später erneut.",
"subscription_google_authorization_failed": "Die Google-Autorisierung wurde nicht abgeschlossen. Bitte versuchen Sie es erneut."
,"lan_access_label": "LAN-Zugriff erlauben"
,"lan_access_warning": "An 0.0.0.0 gebunden. Jeder in diesem Netzwerk kann sich verbinden und den Editor steuern — dieser Endpunkt prüft keinerlei Anmeldedaten. Nur in einem vertrauenswürdigen Netzwerk aktivieren."
,"lan_address": "LAN-Adresse"
};
@@ -1,259 +0,0 @@
"use strict";
module.exports = {
"extension_name": "Cocos MCP Server",
"description": "AI MCP Server for Cocos Creator 3.8",
"panel_title": "MCP Server",
"open_panel": "Open MCP Panel",
"start_server": "Start Server",
"stop_server": "Stop Server",
"server_status": "Server Status",
"port": "Port",
"settings": "Settings",
"connected": "Connected",
"disconnected": "Disconnected",
"server_running": "Server is running on port {0}",
"server_stopped": "Server has stopped",
"auto_start": "Auto Start",
"debug_log": "Debug Logging",
"max_connections": "Max Connections",
"connection_info": "Connection Info",
"http_url": "HTTP URL",
"copy": "Copy",
"save_settings": "Save Settings",
"settings_saved": "Settings saved successfully",
"server_started": "MCP Server Started",
"server_stopped_msg": "MCP Server Stopped",
"failed_to_start": "Failed to start server",
"failed_to_stop": "Failed to stop server",
"failed_to_save": "Failed to save settings",
"url_copied": "HTTP URL copied to clipboard",
"tool_manager": "Tool Manager",
"open_tool_manager": "Open Tool Manager",
"create_config": "Create Configuration",
"edit_config": "Edit Configuration",
"delete_config": "Delete Configuration",
"import_config": "Import Configuration",
"export_config": "Export Configuration",
"apply_config": "Apply Configuration",
"select_all": "Select All",
"deselect_all": "Deselect All",
"save_changes": "Save Changes",
"config_name": "Configuration Name",
"config_description": "Configuration Description",
"current_config": "Current Configuration",
"tool_management": "Tool Management",
"total_tools": "Total Tools",
"enabled_tools": "Enabled",
"disabled_tools": "Disabled",
"no_config_selected": "No Configuration Selected",
"select_config_first": "Please select a configuration or create a new one first",
"config_created": "Configuration created successfully",
"config_updated": "Configuration updated successfully",
"config_deleted": "Configuration deleted successfully",
"config_applied": "Configuration applied successfully",
"config_exported": "Configuration exported successfully",
"config_imported": "Configuration imported successfully",
"confirm_delete": "Confirm Delete",
"delete_config_confirm": "Are you sure you want to delete configuration \"{0}\"? This action cannot be undone.",
"max_config_slots_reached": "Maximum configuration slots reached ({0})",
"invalid_config_format": "Invalid configuration format",
"invalid_json_format": "Invalid JSON format or configuration structure",
"server_tab": "Server",
"tools_tab": "Tool Management",
"available_tools": "Available Tools",
"scene_tools": "Scene Tools",
"node_tools": "Node Tools",
"component_tools": "Component Tools",
"prefab_tools": "Prefab Tools",
"project_tools": "Project Tools",
"debug_tools": "Debug Tools",
"preferences_tools": "Preferences",
"server_tools": "Server Tools",
"broadcast_tools": "Broadcast Tools",
"scene_advanced_tools": "Advanced Scene Tools",
"scene_view_tools": "Scene View Tools",
"reference_image_tools": "Reference Image Tools",
"asset_advanced_tools": "Advanced Asset Tools",
"validation_tools": "Validation Tools",
"brand_name": "LiDaxian MCP Series",
"brand_subtitle": "LiDaxian MCP Series",
"contact_email": "Email",
"contact_wechat": "WeChat",
"contact_github": "GitHub",
"machine_id_label": "Machine ID",
"purchase_renew": "Purchase / Renew",
"purchase_url": "https://www.vberai.com/game-engines/cocos",
"auth_title": "Choose a sign-in method",
"auth_subtitle": "Enter your email and activation code",
"auth_choose_subtitle": "Choose a sign-in method to continue",
"email_label": "Email Address",
"activation_code_label": "Activation Code",
"email_placeholder": "Enter email",
"code_placeholder": "Enter code (XXXXX-XXXXX-XXXXX-XXXXX-XXXXX)",
"activate_button": "Activate",
"deactivate_button": "Deactivate",
"activating": "Activating...",
"deactivating": "Deactivating...",
"license_status": "License Status",
"license_type": "License Type",
"expiry_date": "Expiry Date",
"days_remaining": "Days Remaining",
"days_unit": "d",
"permanent": "Permanent",
"expiry_warning_title": "License Expiring Soon",
"expiry_warning_message": "Your license will expire in {0} days. Please renew to avoid service interruption.",
"renew_now": "Renew Now",
"i_understand": "I Understand",
"activation_success": "License activated successfully!",
"activation_failed": "Activation failed: {0}",
"invalid_code": "Invalid activation code format",
"purchase_license": "Purchase License",
"renew_license": "Renew License",
"contact_support": "Support",
"language_switch": "English",
"version_label": "Version",
"license_required": "License required to start server",
"license_check_failed": "License check failed",
"status_stopped": "Stopped",
"status_running": "Running",
"status_error": "Connection Failed",
"config_tab": "Quick Config",
"status_label": "Status",
"connections_count": "Connections",
"transport_protocol": "Transport Protocol",
"transport_type": "Transport Type",
"mcp_url": "MCP URL",
"port_fallback_title": "Port {0} is in use — switched to {1}",
"net_title": "Network / Proxy",
"net_direct": "Direct",
"net_via": "via {0} ({1})",
"net_source_manual": "manual",
"net_source_env": "env var",
"net_source_system": "system settings",
"net_mode_auto": "Auto-detect",
"net_mode_manual": "Manual",
"net_mode_off": "No proxy",
"net_save": "Save",
"net_test": "Test connection",
"net_testing": "Testing…",
"net_test_ok": "Connected ({0} ms)",
"net_test_fail": "Failed: {0}",
"net_hint": "Login timeouts are usually a network issue. If you use a VPN/proxy, enter its address here (e.g. http://127.0.0.1:7890) or switch the client to global (TUN) mode.",
"net_pac_warning": "The system uses a PAC auto-config script, which this plugin cannot evaluate. Switch to Manual and enter the proxy address.",
"port_label": "Port",
"auto_start_label": "Auto Start",
"debug_log_label": "Debug Log",
"max_connections_label": "Max Connections",
"server_settings_title": "Server Settings",
"server_status_title": "Server Status",
"connection_info_title": "Connection Info",
"tools_count": "{0} tools",
"tools_stats": "{0} tools ({1} enabled / {2} disabled)",
"quick_config_title": "Quick Config MCP Clients",
"quick_config_desc": "Auto-configure the current MCP server into mainstream AI editors and CLI tools",
"server_info": "Server Info",
"server_name_label": "Server Name",
"server_address": "Server Address",
"timeout_ms": "Timeout (ms)",
"auto_config_title": "Auto Config (IDE Editors + Codex CLI)",
"add_all": "Add All",
"remove_all": "Remove All",
"auto_config_note": "Click button to auto-modify config files (Cursor, Windsurf, Trae, Codex CLI)",
"configured": "Configured",
"not_configured": "Not Configured",
"auto_config_btn": "Auto Config",
"delete_btn": "Delete",
"copy_config": "Copy Config",
"open_config": "Open Config",
"manual_config_title": "Manual Config (Claude CLI + Gemini CLI)",
"refresh_commands": "Refresh Commands",
"manual_config_note": "The following CLI tools need manual terminal command execution",
"config_scope": "Config Scope:",
"scope_user": "User Level",
"scope_project": "Project Level",
"operation_log": "Operation Log",
"no_logs": "No operation records",
"copyright_line": "© 2025 LiDaxian - Cocos Creator MCP Server v{0}",
"protocol_line": "Based on Streamable HTTP Protocol (MCP 2025-03-26)",
"tools_copyright_line1": "Tool System - 13 intent-level tools, 150+ editor operations, action code dispatch",
"config_copyright_line1": "Quick Config - Supports Cursor, Windsurf, Trae, Codex CLI, Claude CLI, Gemini CLI",
"email_required": "Please enter email and activation code",
"permanent_label": "Permanent",
"logout_button": "Logout",
"invite_code_label": "Invite Code",
"copy_button": "Copy",
"change_code_button": "Change Code",
"change_code_title": "Change Activation Code",
"change_code_desc": "Enter your new activation code. The current device binding will be released first.",
"confirm_change": "Confirm",
"cancel": "Cancel",
"code_required": "Please enter an activation code",
"expiry_inline_warning": "Expiring soon!",
"store_purchase_hint": "If you purchased this plugin from Cocos Store, please contact me to get your activation code.",
"license_expired_title": "License Expired",
"license_expired_message": "Your license has expired and the server cannot be started. Please renew or reactivate to continue.",
"go_to_login": "Go to Login",
"log_load_config_failed": "Failed to load config status: {0}",
"log_gen_cli_failed": "Failed to generate CLI commands: {0}",
"log_add_client_failed": "Failed to add to {0}: {1}",
"log_remove_client_failed": "Failed to remove from {0}: {1}",
"quick_config_dialog_title": "One-click Configuration",
"config_operation_failed": "Configuration operation failed",
"config_file_not_found_changed_path": "Configuration failed: could not find the config file. {0} may be installed in a custom path.",
"log_batch_add_failed": "Batch add failed: {0}",
"log_batch_remove_failed": "Batch remove failed: {0}",
"log_copied_config": "Copied {0} config to clipboard",
"log_gen_config_failed": "Failed to generate config",
"log_copy_config_failed": "Failed to copy config: {0}",
"log_copied_command": "Copied {0} command to clipboard",
"log_copy_command_failed": "Failed to copy command: {0}",
"log_opened_config_file": "Opened config file: {0}",
"log_open_config_failed": "Failed to open config file",
"log_open_config_error": "Failed to open config file: {0}",
"update_available_title": "Update Available",
"update_new_version": "New version v{0} is available!",
"update_now": "Update Now",
"update_not_now": "Not Now",
"update_skip_version": "Skip v{0}",
"check_for_updates": "Check for Updates",
"update_checking": "Checking...",
"update_no_update": "You are using the latest version",
"update_urgency_critical": "Critical Update",
"update_urgency_high": "Important Update",
"update_current_version": "Current version: v{0}",
"update_changelog": "Changelog"
,"update_changelog_empty": "No release notes were provided for this version."
,"subscription_login_title": "VberAI subscription account"
,"subscription_password_label": "Password"
,"subscription_password_placeholder": "Enter password"
,"subscription_login_button": "Sign in with VberAI"
,"subscription_google_button": "Sign in with Google"
,"subscription_google_pending": "Browser opened. Complete Google authorization, then return to Cocos Creator."
,"subscription_google_pending_button": "Waiting for Google authorization..."
,"subscription_register_button": "Create a VberAI account"
,"subscription_logging_in": "Signing in..."
,"subscription_credentials_required": "Please enter email and password"
,"subscription_login_success": "Subscription account signed in"
,"subscription_login_failed": "Subscription sign-in failed"
,"subscription_not_entitled": "Your current subscription does not include Cocos 3.x MCP. Upgrade to continue."
,"subscription_upgrade_to": "Upgrade to {0} to use this product"
,"subscription_upgrade_action": "Upgrade subscription"
,"subscription_logged_in": "Signed-in account"
,"subscription_choose_button": "VberAI subscription account"
,"license_choose_button": "Activation code"
,"subscription_method_label": "Subscription"
,"back_to_login_choices": "← Choose another sign-in method"
,"subscription_signed_out_other_device": "Signed out: your account was used on another device."
,"subscription_google_cancelled": "Google sign-in was cancelled."
,"subscription_request_timeout": "The request timed out. Check your network and try again."
,"subscription_network_error": "Network connection failed. Check your network and try again."
,"subscription_server_error": "The server returned an invalid response. Try again later."
,"subscription_google_authorization_failed": "Google authorization was not completed. Please try again."
,"lan_access_label": "Allow LAN access"
,"lan_access_warning": "Bound to 0.0.0.0. Anyone on this network can connect and drive the editor — this endpoint verifies no credentials. Only enable on a trusted network."
,"lan_address": "LAN address"
};
@@ -1,258 +0,0 @@
"use strict";
module.exports = {
"extension_name": "Cocos MCP Servidor",
"description": "Servidor AI MCP para Cocos Creator 3.8",
"panel_title": "Servidor MCP",
"open_panel": "Abrir panel MCP",
"start_server": "Iniciar servidor",
"stop_server": "Detener servidor",
"server_status": "Estado del servidor",
"port": "Puerto",
"settings": "Ajustes",
"connected": "Conectado",
"disconnected": "Desconectado",
"server_running": "El servidor está ejecutándose en el puerto {0}",
"server_stopped": "El servidor se ha detenido",
"auto_start": "Inicio automático",
"debug_log": "Registro de depuración",
"max_connections": "Conexiones máx.",
"connection_info": "Info de conexión",
"http_url": "URL HTTP",
"copy": "Copiar",
"save_settings": "Guardar",
"settings_saved": "Ajustes guardados correctamente",
"server_started": "Servidor MCP iniciado",
"server_stopped_msg": "Servidor MCP detenido",
"failed_to_start": "Error al iniciar el servidor",
"failed_to_stop": "Error al detener el servidor",
"failed_to_save": "Error al guardar los ajustes",
"url_copied": "URL HTTP copiada al portapapeles",
"tool_manager": "Gestor de herramientas",
"open_tool_manager": "Abrir gestor de herramientas",
"create_config": "Crear configuración",
"edit_config": "Editar configuración",
"delete_config": "Eliminar configuración",
"import_config": "Importar configuración",
"export_config": "Exportar configuración",
"apply_config": "Aplicar configuración",
"select_all": "Seleccionar todo",
"deselect_all": "Deseleccionar todo",
"save_changes": "Guardar cambios",
"config_name": "Nombre de configuración",
"config_description": "Descripción de configuración",
"current_config": "Configuración actual",
"tool_management": "Gestión de herramientas",
"total_tools": "Total de herramientas",
"enabled_tools": "Activadas",
"disabled_tools": "Desactivadas",
"no_config_selected": "Ninguna configuración seleccionada",
"select_config_first": "Por favor, seleccione o cree una configuración primero",
"config_created": "Configuración creada correctamente",
"config_updated": "Configuración actualizada correctamente",
"config_deleted": "Configuración eliminada correctamente",
"config_applied": "Configuración aplicada correctamente",
"config_exported": "Configuración exportada correctamente",
"config_imported": "Configuración importada correctamente",
"confirm_delete": "Confirmar eliminación",
"delete_config_confirm": "¿Está seguro de eliminar la configuración \"{0}\"? Esta acción no se puede deshacer.",
"max_config_slots_reached": "Se alcanzó el máximo de configuraciones ({0})",
"invalid_config_format": "Formato de configuración no válido",
"invalid_json_format": "Formato JSON o estructura de configuración no válidos",
"server_tab": "Servidor",
"tools_tab": "Gestión de herramientas",
"available_tools": "Herramientas disponibles",
"scene_tools": "Herramientas de escena",
"node_tools": "Herramientas de nodo",
"component_tools": "Herramientas de componente",
"prefab_tools": "Herramientas de prefab",
"project_tools": "Herramientas de proyecto",
"debug_tools": "Herramientas de depuración",
"preferences_tools": "Preferencias",
"server_tools": "Herramientas de servidor",
"broadcast_tools": "Herramientas de difusión",
"scene_advanced_tools": "Herramientas de escena avanzadas",
"scene_view_tools": "Herramientas de vista de escena",
"reference_image_tools": "Herramientas de imagen de referencia",
"asset_advanced_tools": "Herramientas de assets avanzadas",
"validation_tools": "Herramientas de validación",
"brand_name": "LiDaxian MCP Series",
"brand_subtitle": "LiDaxian MCP Series",
"contact_email": "Correo",
"contact_wechat": "WeChat",
"contact_github": "GitHub",
"machine_id_label": "Código de máquina",
"purchase_renew": "Comprar / Renovar",
"purchase_url": "https://www.vberai.com/game-engines/cocos",
"auth_title": "Elegir método de inicio de sesión",
"auth_subtitle": "Ingrese su correo y código de activación",
"email_label": "Correo electrónico",
"activation_code_label": "Código de activación",
"email_placeholder": "Ingrese correo",
"code_placeholder": "Ingrese código (XXXXX-XXXXX-XXXXX-XXXXX-XXXXX)",
"activate_button": "Activar",
"deactivate_button": "Desactivar",
"activating": "Activando...",
"deactivating": "Desactivando...",
"license_status": "Estado de licencia",
"license_type": "Tipo de licencia",
"expiry_date": "Fecha de vencimiento",
"days_remaining": "Días restantes",
"days_unit": "d",
"permanent": "Permanente",
"expiry_warning_title": "La licencia expira pronto",
"expiry_warning_message": "Su licencia expirará en {0} días. Por favor, renueve para evitar interrupciones.",
"renew_now": "Renovar ahora",
"i_understand": "Entendido",
"activation_success": "¡Licencia activada correctamente!",
"activation_failed": "Error de activación: {0}",
"invalid_code": "Formato de código de activación no válido",
"purchase_license": "Comprar licencia",
"renew_license": "Renovar licencia",
"contact_support": "Soporte",
"language_switch": "Español",
"version_label": "Versión",
"license_required": "Se requiere licencia para iniciar el servidor",
"license_check_failed": "Error en la verificación de licencia",
"status_stopped": "Detenido",
"status_running": "En ejecución",
"status_error": "Error de conexión",
"config_tab": "Config rápida",
"status_label": "Estado",
"connections_count": "Conexiones",
"transport_protocol": "Protocolo de transporte",
"transport_type": "Tipo de transporte",
"mcp_url": "URL MCP",
"port_fallback_title": "Puerto {0} ocupado: se cambió a {1}",
"net_title": "Red / Proxy",
"net_direct": "Conexión directa",
"net_via": "vía {0} ({1})",
"net_source_manual": "manual",
"net_source_env": "variable de entorno",
"net_source_system": "ajustes del sistema",
"net_mode_auto": "Detección automática",
"net_mode_manual": "Manual",
"net_mode_off": "Sin proxy",
"net_save": "Guardar",
"net_test": "Probar conexión",
"net_testing": "Probando…",
"net_test_ok": "Conectado ({0} ms)",
"net_test_fail": "Error: {0}",
"net_hint": "Los tiempos de espera al iniciar sesión suelen ser de red. Si usas VPN/proxy, indica su dirección aquí (p. ej. http://127.0.0.1:7890) o cambia el cliente a modo global (TUN).",
"net_pac_warning": "El sistema usa un script PAC que este plugin no puede evaluar. Cambia a Manual e introduce la dirección del proxy.",
"port_label": "Puerto",
"auto_start_label": "Inicio auto",
"debug_log_label": "Registro de depuración",
"max_connections_label": "Conexiones máx.",
"server_settings_title": "Ajustes del servidor",
"server_status_title": "Estado del servidor",
"connection_info_title": "Info de conexión",
"tools_count": "{0} herramientas",
"tools_stats": "{0} herramientas ({1} activadas / {2} desactivadas)",
"quick_config_title": "Config rápida de clientes MCP",
"quick_config_desc": "Configurar automáticamente el servidor MCP en editores AI y herramientas CLI",
"server_info": "Info del servidor",
"server_name_label": "Nombre del servidor",
"server_address": "Dirección del servidor",
"timeout_ms": "Tiempo de espera (ms)",
"auto_config_title": "Config auto (IDE + Codex CLI)",
"add_all": "Añadir todo",
"remove_all": "Eliminar todo",
"auto_config_note": "Haga clic para modificar automáticamente los archivos de config (Cursor, Windsurf, Trae, Codex CLI)",
"configured": "Configurado",
"not_configured": "No configurado",
"auto_config_btn": "Config auto",
"delete_btn": "Eliminar",
"copy_config": "Copiar config",
"open_config": "Abrir config",
"manual_config_title": "Config manual (Claude CLI + Gemini CLI)",
"refresh_commands": "Actualizar comandos",
"manual_config_note": "Las siguientes herramientas CLI requieren ejecución manual en terminal",
"config_scope": "Ámbito de config:",
"scope_user": "Nivel de usuario",
"scope_project": "Nivel de proyecto",
"operation_log": "Registro de operaciones",
"no_logs": "Sin registros",
"copyright_line": "© 2025 LiDaxian - Cocos Creator MCP Server v{0}",
"protocol_line": "Basado en el protocolo Streamable HTTP (MCP 2025-03-26)",
"tools_copyright_line1": "Sistema de herramientas - 13 herramientas intent-level, 150+ operaciones de editor, despacho de código de acción",
"config_copyright_line1": "Config rápida - Soporta Cursor, Windsurf, Trae, Codex CLI, Claude CLI, Gemini CLI",
"email_required": "Por favor ingrese correo y código de activación",
"permanent_label": "Permanente",
"logout_button": "Cerrar sesión",
"invite_code_label": "Código de invitación",
"copy_button": "Copiar",
"change_code_button": "Cambiar código",
"change_code_title": "Cambiar código de activación",
"change_code_desc": "Ingrese su nuevo código de activación. El enlace del dispositivo actual se liberará primero.",
"confirm_change": "Confirmar",
"cancel": "Cancelar",
"code_required": "Por favor ingrese un código de activación",
"expiry_inline_warning": "¡Expira pronto!",
"store_purchase_hint": "Si compró este plugin en Cocos Store, contácteme para obtener su código de activación.",
"license_expired_title": "Licencia expirada",
"license_expired_message": "Su licencia ha expirado y el servidor no puede iniciarse. Renueve o reactive para continuar.",
"go_to_login": "Ir a inicio de sesión",
"log_load_config_failed": "Error al cargar el estado de config: {0}",
"log_gen_cli_failed": "Error al generar comandos CLI: {0}",
"log_add_client_failed": "Error al añadir a {0}: {1}",
"log_remove_client_failed": "Error al eliminar de {0}: {1}",
"quick_config_dialog_title": "Configuración con un clic",
"config_operation_failed": "Error en la operación de configuración",
"config_file_not_found_changed_path": "Error de configuración: no se encontró el archivo de configuración. Es posible que {0} se haya instalado en una ruta personalizada.",
"log_batch_add_failed": "Error en la adición masiva: {0}",
"log_batch_remove_failed": "Error en la eliminación masiva: {0}",
"log_copied_config": "Config de {0} copiada al portapapeles",
"log_gen_config_failed": "Error al generar la config",
"log_copy_config_failed": "Error al copiar la config: {0}",
"log_copied_command": "Comando {0} copiado al portapapeles",
"log_copy_command_failed": "Error al copiar el comando: {0}",
"log_opened_config_file": "Archivo de config abierto: {0}",
"log_open_config_failed": "Error al abrir archivo de config",
"log_open_config_error": "Error al abrir archivo de config: {0}",
"update_available_title": "Actualización disponible",
"update_new_version": "¡La nueva versión v{0} está disponible!",
"update_now": "Actualizar ahora",
"update_not_now": "Ahora no",
"update_skip_version": "Omitir v{0}",
"check_for_updates": "Buscar actualizaciones",
"update_checking": "Comprobando...",
"update_no_update": "Está usando la última versión",
"update_urgency_critical": "Actualización crítica",
"update_urgency_high": "Actualización importante",
"update_current_version": "Versión actual: v{0}",
"update_changelog": "Registro de cambios",
"auth_choose_subtitle": "Elige un método de inicio de sesión para continuar",
"update_changelog_empty": "No se proporcionaron notas de la versión para esta versión.",
"subscription_login_title": "Cuenta de suscripción de VberAI",
"subscription_password_label": "Contraseña",
"subscription_password_placeholder": "Introduce la contraseña",
"subscription_login_button": "Iniciar sesión con VberAI",
"subscription_google_button": "Iniciar sesión con Google",
"subscription_google_pending": "Navegador abierto. Completa la autorización de Google y vuelve a Cocos Creator.",
"subscription_google_pending_button": "Esperando la autorización de Google...",
"subscription_register_button": "Crear una cuenta de VberAI",
"subscription_logging_in": "Iniciando sesión...",
"subscription_credentials_required": "Introduce el correo electrónico y la contraseña",
"subscription_login_success": "Sesión iniciada en la cuenta de suscripción",
"subscription_login_failed": "Error al iniciar sesión en la suscripción",
"subscription_not_entitled": "Tu suscripción actual no incluye Cocos 3.x MCP. Actualiza para continuar.",
"subscription_upgrade_to": "Actualiza a «{0}» para usar este producto",
"subscription_upgrade_action": "Mejorar suscripción",
"subscription_logged_in": "Cuenta con sesión iniciada",
"subscription_choose_button": "Cuenta de suscripción de VberAI",
"license_choose_button": "Código de activación",
"subscription_method_label": "Suscripción",
"back_to_login_choices": "← Elegir otro método de inicio de sesión",
"subscription_signed_out_other_device": "Sesión cerrada: tu cuenta se usó en otro dispositivo.",
"subscription_google_cancelled": "Se canceló el inicio de sesión con Google.",
"subscription_request_timeout": "Se agotó el tiempo de la solicitud. Comprueba tu red e inténtalo de nuevo.",
"subscription_network_error": "Falló la conexión de red. Comprueba tu red e inténtalo de nuevo.",
"subscription_server_error": "El servidor devolvió una respuesta no válida. Inténtalo más tarde.",
"subscription_google_authorization_failed": "No se completó la autorización de Google. Inténtalo de nuevo."
,"lan_access_label": "Permitir acceso desde la red local"
,"lan_access_warning": "Vinculado a 0.0.0.0. Cualquiera en esta red puede conectarse y manejar el editor: este punto de conexión no verifica ninguna credencial. Actívalo solo en una red de confianza."
,"lan_address": "Dirección de red local"
};
@@ -1,259 +0,0 @@
"use strict";
module.exports = {
"extension_name": "Cocos MCP Server",
"description": "AI MCP Server para sa Cocos Creator 3.8",
"panel_title": "MCP Server",
"open_panel": "Buksan ang MCP Panel",
"start_server": "Simulan ang Server",
"stop_server": "Ihinto ang Server",
"server_status": "Katayuan ng Server",
"port": "Port",
"settings": "Mga Setting",
"connected": "Nakakonekta",
"disconnected": "Nadiskonekta",
"server_running": "Tumatakbo ang server sa port {0}",
"server_stopped": "Huminto na ang server",
"auto_start": "Awtomatikong Simulan",
"debug_log": "Debug Log",
"max_connections": "Maximum na Koneksyon",
"connection_info": "Impormasyon ng Koneksyon",
"http_url": "HTTP URL",
"copy": "Kopyahin",
"save_settings": "I-save ang Mga Setting",
"settings_saved": "Matagumpay na na-save ang mga setting",
"server_started": "Nagsimula ang MCP Server",
"server_stopped_msg": "Huminto ang MCP Server",
"failed_to_start": "Nabigong simulan ang server",
"failed_to_stop": "Nabigong ihinto ang server",
"failed_to_save": "Nabigong i-save ang mga setting",
"url_copied": "Nakopya ang HTTP URL sa clipboard",
"tool_manager": "Tagapamahala ng Kasangkapan",
"open_tool_manager": "Buksan ang Tagapamahala ng Kasangkapan",
"create_config": "Gumawa ng Configuration",
"edit_config": "I-edit ang Configuration",
"delete_config": "Tanggalin ang Configuration",
"import_config": "Mag-import ng Configuration",
"export_config": "Mag-export ng Configuration",
"apply_config": "Ilapat ang Configuration",
"select_all": "Piliin Lahat",
"deselect_all": "Alisin ang Lahat ng Pinili",
"save_changes": "I-save ang Mga Pagbabago",
"config_name": "Pangalan ng Configuration",
"config_description": "Paglalarawan ng Configuration",
"current_config": "Kasalukuyang Configuration",
"tool_management": "Pamamahala ng Kasangkapan",
"total_tools": "Kabuuang Kasangkapan",
"enabled_tools": "Naka-enable",
"disabled_tools": "Naka-disable",
"no_config_selected": "Walang Napiling Configuration",
"select_config_first": "Pumili muna ng configuration o gumawa ng bago",
"config_created": "Matagumpay na nagawa ang configuration",
"config_updated": "Matagumpay na na-update ang configuration",
"config_deleted": "Matagumpay na natanggal ang configuration",
"config_applied": "Matagumpay na nailapat ang configuration",
"config_exported": "Matagumpay na na-export ang configuration",
"config_imported": "Matagumpay na na-import ang configuration",
"confirm_delete": "Kumpirmahin ang Pagtanggal",
"delete_config_confirm": "Sigurado ka bang tatanggalin ang configuration na \"{0}\"? Hindi na ito maibabalik.",
"max_config_slots_reached": "Naabot na ang maximum na slot ng configuration ({0})",
"invalid_config_format": "Hindi wastong format ng configuration",
"invalid_json_format": "Hindi wastong format ng JSON o istruktura ng configuration",
"server_tab": "Server",
"tools_tab": "Pamamahala ng Kasangkapan",
"available_tools": "Mga Available na Kasangkapan",
"scene_tools": "Mga Kasangkapan sa Scene",
"node_tools": "Mga Kasangkapan sa Node",
"component_tools": "Mga Kasangkapan sa Component",
"prefab_tools": "Mga Kasangkapan sa Prefab",
"project_tools": "Mga Kasangkapan sa Proyekto",
"debug_tools": "Mga Kasangkapan sa Debug",
"preferences_tools": "Mga Kagustuhan",
"server_tools": "Mga Kasangkapan sa Server",
"broadcast_tools": "Mga Kasangkapan sa Broadcast",
"scene_advanced_tools": "Mga Advanced na Kasangkapan sa Scene",
"scene_view_tools": "Mga Kasangkapan sa Scene View",
"reference_image_tools": "Mga Kasangkapan sa Reference Image",
"asset_advanced_tools": "Mga Advanced na Kasangkapan sa Asset",
"validation_tools": "Mga Kasangkapan sa Validation",
"brand_name": "LiDaxian MCP Series",
"brand_subtitle": "LiDaxian MCP Series",
"contact_email": "Email",
"contact_wechat": "WeChat",
"contact_github": "GitHub",
"machine_id_label": "Machine ID",
"purchase_renew": "Bumili / I-renew",
"purchase_url": "https://www.vberai.com/game-engines/cocos",
"auth_title": "Pumili ng paraan ng pag-sign in",
"auth_subtitle": "Ilagay ang iyong email at activation code",
"auth_choose_subtitle": "Pumili ng paraan ng pag-sign in upang magpatuloy",
"email_label": "Email Address",
"activation_code_label": "Activation Code",
"email_placeholder": "Ilagay ang email",
"code_placeholder": "Ilagay ang code (XXXXX-XXXXX-XXXXX-XXXXX-XXXXX)",
"activate_button": "I-activate",
"deactivate_button": "I-deactivate",
"activating": "Ina-activate...",
"deactivating": "Dina-deactivate...",
"license_status": "Katayuan ng Lisensya",
"license_type": "Uri ng Lisensya",
"expiry_date": "Petsa ng Pag-expire",
"days_remaining": "Natitirang Araw",
"days_unit": "araw",
"permanent": "Permanente",
"expiry_warning_title": "Malapit Nang Mag-expire ang Lisensya",
"expiry_warning_message": "Mag-e-expire ang iyong lisensya sa loob ng {0} araw. Mangyaring i-renew upang maiwasan ang pagkaantala ng serbisyo.",
"renew_now": "I-renew Ngayon",
"i_understand": "Naiintindihan Ko",
"activation_success": "Matagumpay na na-activate ang lisensya!",
"activation_failed": "Nabigo ang activation: {0}",
"invalid_code": "Hindi wastong format ng activation code",
"purchase_license": "Bumili ng Lisensya",
"renew_license": "I-renew ang Lisensya",
"contact_support": "Suporta",
"language_switch": "Filipino",
"version_label": "Bersyon",
"license_required": "Kailangan ng lisensya upang simulan ang server",
"license_check_failed": "Nabigo ang pagsusuri ng lisensya",
"status_stopped": "Huminto",
"status_running": "Tumatakbo",
"status_error": "Nabigo ang Koneksyon",
"config_tab": "Mabilis na Config",
"status_label": "Katayuan",
"connections_count": "Mga Koneksyon",
"transport_protocol": "Transport Protocol",
"transport_type": "Uri ng Transport",
"mcp_url": "MCP URL",
"port_fallback_title": "Ginagamit ang port {0} — lumipat sa {1}",
"net_title": "Network / Proxy",
"net_direct": "Direktang koneksyon",
"net_via": "sa pamamagitan ng {0} ({1})",
"net_source_manual": "manual",
"net_source_env": "environment variable",
"net_source_system": "system settings",
"net_mode_auto": "Auto-detect",
"net_mode_manual": "Manual",
"net_mode_off": "Walang proxy",
"net_save": "I-save",
"net_test": "I-test ang koneksyon",
"net_testing": "Sinusubukan…",
"net_test_ok": "Nakakonekta ({0} ms)",
"net_test_fail": "Nabigo: {0}",
"net_hint": "Ang login timeout ay karaniwang isyu sa network. Kung gumagamit ng VPN/proxy, ilagay ang address (hal. http://127.0.0.1:7890) o ilipat ang client sa global (TUN) mode.",
"net_pac_warning": "Gumagamit ang system ng PAC script na hindi kayang basahin ng plugin. Pumili ng Manual at ilagay ang proxy address.",
"port_label": "Port",
"auto_start_label": "Awtomatikong Simulan",
"debug_log_label": "Debug Log",
"max_connections_label": "Maximum na Koneksyon",
"server_settings_title": "Mga Setting ng Server",
"server_status_title": "Katayuan ng Server",
"connection_info_title": "Impormasyon ng Koneksyon",
"tools_count": "{0} na kasangkapan",
"tools_stats": "{0} na kasangkapan ({1} naka-enable / {2} naka-disable)",
"quick_config_title": "Mabilis na Pag-configure ng MCP Clients",
"quick_config_desc": "Awtomatikong i-configure ang kasalukuyang MCP server sa mga pangunahing AI editor at CLI tool",
"server_info": "Impormasyon ng Server",
"server_name_label": "Pangalan ng Server",
"server_address": "Address ng Server",
"timeout_ms": "Timeout (ms)",
"auto_config_title": "Awtomatikong Config (IDE Editors + Codex CLI)",
"add_all": "Idagdag Lahat",
"remove_all": "Alisin Lahat",
"auto_config_note": "I-click ang button upang awtomatikong baguhin ang mga config file (Cursor, Windsurf, Trae, Codex CLI)",
"configured": "Naka-configure",
"not_configured": "Hindi Naka-configure",
"auto_config_btn": "Awtomatikong Config",
"delete_btn": "Tanggalin",
"copy_config": "Kopyahin ang Config",
"open_config": "Buksan ang Config",
"manual_config_title": "Manwal na Config (Claude CLI + Gemini CLI)",
"refresh_commands": "I-refresh ang Mga Command",
"manual_config_note": "Ang sumusunod na mga CLI tool ay nangangailangan ng manwal na pagpapatakbo ng terminal command",
"config_scope": "Saklaw ng Config:",
"scope_user": "Antas ng User",
"scope_project": "Antas ng Proyekto",
"operation_log": "Log ng Operasyon",
"no_logs": "Walang record ng operasyon",
"copyright_line": "© 2025 LiDaxian - Cocos Creator MCP Server v{0}",
"protocol_line": "Batay sa Streamable HTTP Protocol (MCP 2025-03-26)",
"tools_copyright_line1": "Sistema ng Kasangkapan - 13 intent-level na kasangkapan, 150+ operasyon sa editor, dispatch gamit ang action code",
"config_copyright_line1": "Mabilis na Config - Sinusuportahan ang Cursor, Windsurf, Trae, Codex CLI, Claude CLI, Gemini CLI",
"email_required": "Mangyaring ilagay ang email at activation code",
"permanent_label": "Permanente",
"logout_button": "Mag-log out",
"invite_code_label": "Invite Code",
"copy_button": "Kopyahin",
"change_code_button": "Palitan ang Code",
"change_code_title": "Palitan ang Activation Code",
"change_code_desc": "Ilagay ang iyong bagong activation code. Aalisin muna ang kasalukuyang device binding.",
"confirm_change": "Kumpirmahin",
"cancel": "Kanselahin",
"code_required": "Mangyaring ilagay ang activation code",
"expiry_inline_warning": "Malapit nang mag-expire!",
"store_purchase_hint": "Kung binili mo ang plugin na ito sa Cocos Store, mangyaring kontakin ako upang makuha ang iyong activation code.",
"license_expired_title": "Nag-expire na ang Lisensya",
"license_expired_message": "Nag-expire na ang iyong lisensya at hindi masisimulan ang server. Mangyaring i-renew o i-activate muli upang magpatuloy.",
"go_to_login": "Pumunta sa Pag-login",
"log_load_config_failed": "Nabigong i-load ang katayuan ng config: {0}",
"log_gen_cli_failed": "Nabigong bumuo ng mga CLI command: {0}",
"log_add_client_failed": "Nabigong idagdag sa {0}: {1}",
"log_remove_client_failed": "Nabigong alisin mula sa {0}: {1}",
"quick_config_dialog_title": "One-click na Configuration",
"config_operation_failed": "Nabigo ang operasyon ng configuration",
"config_file_not_found_changed_path": "Nabigo ang configuration: hindi mahanap ang config file. Maaaring naka-install ang {0} sa custom na path.",
"log_batch_add_failed": "Nabigo ang batch add: {0}",
"log_batch_remove_failed": "Nabigo ang batch remove: {0}",
"log_copied_config": "Nakopya ang config ng {0} sa clipboard",
"log_gen_config_failed": "Nabigong bumuo ng config",
"log_copy_config_failed": "Nabigong kopyahin ang config: {0}",
"log_copied_command": "Nakopya ang command ng {0} sa clipboard",
"log_copy_command_failed": "Nabigong kopyahin ang command: {0}",
"log_opened_config_file": "Binuksan ang config file: {0}",
"log_open_config_failed": "Nabigong buksan ang config file",
"log_open_config_error": "Nabigong buksan ang config file: {0}",
"update_available_title": "May Available na Update",
"update_new_version": "Available na ang bagong bersyon v{0}!",
"update_now": "I-update Ngayon",
"update_not_now": "Hindi Ngayon",
"update_skip_version": "Laktawan ang v{0}",
"check_for_updates": "Tingnan ang Mga Update",
"update_checking": "Sinusuri...",
"update_no_update": "Ginagamit mo na ang pinakabagong bersyon",
"update_urgency_critical": "Kritikal na Update",
"update_urgency_high": "Mahalagang Update",
"update_current_version": "Kasalukuyang bersyon: v{0}",
"update_changelog": "Changelog"
,"update_changelog_empty": "Walang ibinigay na release notes para sa bersyong ito."
,"subscription_login_title": "Account sa subscription ng VberAI"
,"subscription_password_label": "Password"
,"subscription_password_placeholder": "Ilagay ang password"
,"subscription_login_button": "Mag-sign in gamit ang VberAI"
,"subscription_google_button": "Mag-sign in gamit ang Google"
,"subscription_google_pending": "Nabuksan ang browser. Kumpletuhin ang Google authorization, pagkatapos ay bumalik sa Cocos Creator."
,"subscription_google_pending_button": "Naghihintay ng Google authorization..."
,"subscription_register_button": "Gumawa ng VberAI account"
,"subscription_logging_in": "Nagsa-sign in..."
,"subscription_credentials_required": "Mangyaring ilagay ang email at password"
,"subscription_login_success": "Naka-sign in ang subscription account"
,"subscription_login_failed": "Nabigo ang pag-sign in ng subscription"
,"subscription_not_entitled": "Hindi kasama ang Cocos 3.x MCP sa iyong kasalukuyang subscription. Mag-upgrade upang magpatuloy."
,"subscription_upgrade_to": "Mag-upgrade sa {0} upang magamit ang produktong ito"
,"subscription_upgrade_action": "I-upgrade ang subscription"
,"subscription_logged_in": "Naka-sign in na account"
,"subscription_choose_button": "Account sa subscription ng VberAI"
,"license_choose_button": "Activation code"
,"subscription_method_label": "Subscription"
,"back_to_login_choices": "← Pumili ng ibang paraan ng pag-sign in"
,"subscription_signed_out_other_device": "Naka-sign out: ginamit ang iyong account sa ibang device."
,"subscription_google_cancelled": "Kinansela ang pag-sign in gamit ang Google."
,"subscription_request_timeout": "Nag-timeout ang request. Suriin ang iyong network at subukan muli."
,"subscription_network_error": "Nabigo ang koneksyon sa network. Suriin ang iyong network at subukan muli."
,"subscription_server_error": "Nagbalik ang server ng hindi wastong tugon. Subukan muli mamaya."
,"subscription_google_authorization_failed": "Hindi nakumpleto ang Google authorization. Mangyaring subukan muli."
,"lan_access_label": "Payagan ang LAN access"
,"lan_access_warning": "Naka-bind sa 0.0.0.0. Sinuman sa network na ito ay makakakonekta at makakakontrol sa editor — walang kredensyal na bine-verify ang endpoint na ito. I-enable lamang sa pinagkakatiwalaang network."
,"lan_address": "LAN address"
};
@@ -1,258 +0,0 @@
"use strict";
module.exports = {
"extension_name": "Cocos MCP Serveur",
"description": "Serveur AI MCP pour Cocos Creator 3.8",
"panel_title": "Serveur MCP",
"open_panel": "Ouvrir le panneau MCP",
"start_server": "Démarrer le serveur",
"stop_server": "Arrêter le serveur",
"server_status": "État du serveur",
"port": "Port",
"settings": "Paramètres",
"connected": "Connecté",
"disconnected": "Déconnecté",
"server_running": "Le serveur fonctionne sur le port {0}",
"server_stopped": "Le serveur est arrêté",
"auto_start": "Démarrage automatique",
"debug_log": "Journal de débogage",
"max_connections": "Connexions max",
"connection_info": "Infos de connexion",
"http_url": "URL HTTP",
"copy": "Copier",
"save_settings": "Enregistrer",
"settings_saved": "Paramètres enregistrés avec succès",
"server_started": "Serveur MCP démarré",
"server_stopped_msg": "Serveur MCP arrêté",
"failed_to_start": "Échec du démarrage du serveur",
"failed_to_stop": "Échec de l'arrêt du serveur",
"failed_to_save": "Échec de l'enregistrement",
"url_copied": "URL HTTP copiée dans le presse-papiers",
"tool_manager": "Gestionnaire d'outils",
"open_tool_manager": "Ouvrir le gestionnaire d'outils",
"create_config": "Créer une configuration",
"edit_config": "Modifier la configuration",
"delete_config": "Supprimer la configuration",
"import_config": "Importer la configuration",
"export_config": "Exporter la configuration",
"apply_config": "Appliquer la configuration",
"select_all": "Tout sélectionner",
"deselect_all": "Tout désélectionner",
"save_changes": "Enregistrer les modifications",
"config_name": "Nom de configuration",
"config_description": "Description de configuration",
"current_config": "Configuration actuelle",
"tool_management": "Gestion des outils",
"total_tools": "Total des outils",
"enabled_tools": "Activés",
"disabled_tools": "Désactivés",
"no_config_selected": "Aucune configuration sélectionnée",
"select_config_first": "Veuillez d'abord sélectionner ou créer une configuration",
"config_created": "Configuration créée avec succès",
"config_updated": "Configuration mise à jour avec succès",
"config_deleted": "Configuration supprimée avec succès",
"config_applied": "Configuration appliquée avec succès",
"config_exported": "Configuration exportée avec succès",
"config_imported": "Configuration importée avec succès",
"confirm_delete": "Confirmer la suppression",
"delete_config_confirm": "Voulez-vous vraiment supprimer la configuration \"{0}\" ? Cette action est irréversible.",
"max_config_slots_reached": "Nombre maximal de configurations atteint ({0})",
"invalid_config_format": "Format de configuration invalide",
"invalid_json_format": "Format JSON ou structure de configuration invalide",
"server_tab": "Serveur",
"tools_tab": "Gestion des outils",
"available_tools": "Outils disponibles",
"scene_tools": "Outils de scène",
"node_tools": "Outils de nœud",
"component_tools": "Outils de composant",
"prefab_tools": "Outils de prefab",
"project_tools": "Outils de projet",
"debug_tools": "Outils de débogage",
"preferences_tools": "Préférences",
"server_tools": "Outils serveur",
"broadcast_tools": "Outils de diffusion",
"scene_advanced_tools": "Outils de scène avancés",
"scene_view_tools": "Outils de vue de scène",
"reference_image_tools": "Outils d'image de référence",
"asset_advanced_tools": "Outils d'assets avancés",
"validation_tools": "Outils de validation",
"brand_name": "LiDaxian MCP Series",
"brand_subtitle": "LiDaxian MCP Series",
"contact_email": "E-mail",
"contact_wechat": "WeChat",
"contact_github": "GitHub",
"machine_id_label": "Code machine",
"purchase_renew": "Acheter / Renouveler",
"purchase_url": "https://www.vberai.com/game-engines/cocos",
"auth_title": "Choisir une méthode de connexion",
"auth_subtitle": "Entrez votre e-mail et votre code d'activation",
"email_label": "Adresse e-mail",
"activation_code_label": "Code d'activation",
"email_placeholder": "Entrez l'e-mail",
"code_placeholder": "Entrez le code (XXXXX-XXXXX-XXXXX-XXXXX-XXXXX)",
"activate_button": "Activer",
"deactivate_button": "Désactiver",
"activating": "Activation...",
"deactivating": "Désactivation...",
"license_status": "État de la licence",
"license_type": "Type de licence",
"expiry_date": "Date d'expiration",
"days_remaining": "Jours restants",
"days_unit": "j",
"permanent": "Permanent",
"expiry_warning_title": "Licence bientôt expirée",
"expiry_warning_message": "Votre licence expirera dans {0} jours. Veuillez renouveler pour éviter toute interruption.",
"renew_now": "Renouveler",
"i_understand": "J'ai compris",
"activation_success": "Licence activée avec succès !",
"activation_failed": "Échec de l'activation : {0}",
"invalid_code": "Format de code d'activation invalide",
"purchase_license": "Acheter une licence",
"renew_license": "Renouveler la licence",
"contact_support": "Support",
"language_switch": "Français",
"version_label": "Version",
"license_required": "Une licence est requise pour démarrer le serveur",
"license_check_failed": "Échec de la vérification de licence",
"status_stopped": "Arrêté",
"status_running": "En cours",
"status_error": "Échec de connexion",
"config_tab": "Config rapide",
"status_label": "État",
"connections_count": "Connexions",
"transport_protocol": "Protocole de transport",
"transport_type": "Type de transport",
"mcp_url": "URL MCP",
"port_fallback_title": "Port {0} occupé — basculé vers {1}",
"net_title": "Réseau / Proxy",
"net_direct": "Connexion directe",
"net_via": "via {0} ({1})",
"net_source_manual": "manuel",
"net_source_env": "variable d’env.",
"net_source_system": "réglages système",
"net_mode_auto": "Détection auto",
"net_mode_manual": "Manuel",
"net_mode_off": "Sans proxy",
"net_save": "Enregistrer",
"net_test": "Tester la connexion",
"net_testing": "Test en cours…",
"net_test_ok": "Connecté ({0} ms)",
"net_test_fail": "Échec : {0}",
"net_hint": "Les délais de connexion viennent presque toujours du réseau. Si vous utilisez un VPN/proxy, saisissez son adresse ici (ex. http://127.0.0.1:7890) ou passez le client en mode global (TUN).",
"net_pac_warning": "Le système utilise un script PAC que ce plugin ne peut pas évaluer. Passez en mode Manuel et saisissez l’adresse du proxy.",
"port_label": "Port",
"auto_start_label": "Démarrage auto",
"debug_log_label": "Journal de débogage",
"max_connections_label": "Connexions max",
"server_settings_title": "Paramètres du serveur",
"server_status_title": "État du serveur",
"connection_info_title": "Infos de connexion",
"tools_count": "{0} outils",
"tools_stats": "{0} outils ({1} activés / {2} désactivés)",
"quick_config_title": "Config rapide des clients MCP",
"quick_config_desc": "Configurer automatiquement le serveur MCP dans les éditeurs AI et outils CLI",
"server_info": "Infos serveur",
"server_name_label": "Nom du serveur",
"server_address": "Adresse du serveur",
"timeout_ms": "Délai d'attente (ms)",
"auto_config_title": "Config auto (IDE + Codex CLI)",
"add_all": "Tout ajouter",
"remove_all": "Tout supprimer",
"auto_config_note": "Cliquez pour modifier automatiquement les fichiers de config (Cursor, Windsurf, Trae, Codex CLI)",
"configured": "Configuré",
"not_configured": "Non configuré",
"auto_config_btn": "Config auto",
"delete_btn": "Supprimer",
"copy_config": "Copier la config",
"open_config": "Ouvrir la config",
"manual_config_title": "Config manuelle (Claude CLI + Gemini CLI)",
"refresh_commands": "Actualiser les commandes",
"manual_config_note": "Les outils CLI suivants nécessitent une exécution manuelle dans le terminal",
"config_scope": "Portée de config :",
"scope_user": "Niveau utilisateur",
"scope_project": "Niveau projet",
"operation_log": "Journal des opérations",
"no_logs": "Aucun enregistrement",
"copyright_line": "© 2025 LiDaxian - Cocos Creator MCP Server v{0}",
"protocol_line": "Basé sur le protocole Streamable HTTP (MCP 2025-03-26)",
"tools_copyright_line1": "Système d'outils - 13 outils intent-level, 150+ opérations éditeur, dispatch par code d'action",
"config_copyright_line1": "Config rapide - Supporte Cursor, Windsurf, Trae, Codex CLI, Claude CLI, Gemini CLI",
"email_required": "Veuillez entrer l'e-mail et le code d'activation",
"permanent_label": "Permanent",
"logout_button": "Déconnexion",
"invite_code_label": "Code d'invitation",
"copy_button": "Copier",
"change_code_button": "Changer le code",
"change_code_title": "Changer le code d'activation",
"change_code_desc": "Entrez votre nouveau code d'activation. La liaison de l'appareil actuel sera d'abord libérée.",
"confirm_change": "Confirmer",
"cancel": "Annuler",
"code_required": "Veuillez entrer un code d'activation",
"expiry_inline_warning": "Expiration imminente !",
"store_purchase_hint": "Si vous avez acheté ce plugin sur Cocos Store, veuillez me contacter pour obtenir votre code d'activation.",
"license_expired_title": "Licence expirée",
"license_expired_message": "Votre licence a expiré et le serveur ne peut pas être démarré. Veuillez renouveler ou réactiver pour continuer.",
"go_to_login": "Se connecter",
"log_load_config_failed": "Échec du chargement de la config : {0}",
"log_gen_cli_failed": "Échec de la génération des commandes CLI : {0}",
"log_add_client_failed": "Échec de l'ajout à {0} : {1}",
"log_remove_client_failed": "Échec de la suppression de {0} : {1}",
"quick_config_dialog_title": "Configuration en un clic",
"config_operation_failed": "Échec de l'opération de configuration",
"config_file_not_found_changed_path": "Échec de la configuration : fichier de configuration introuvable. {0} a peut-être été installé dans un chemin personnalisé.",
"log_batch_add_failed": "Échec de l'ajout groupé : {0}",
"log_batch_remove_failed": "Échec de la suppression groupée : {0}",
"log_copied_config": "Config {0} copiée dans le presse-papiers",
"log_gen_config_failed": "Échec de la génération de la config",
"log_copy_config_failed": "Échec de la copie de la config : {0}",
"log_copied_command": "Commande {0} copiée dans le presse-papiers",
"log_copy_command_failed": "Échec de la copie de la commande : {0}",
"log_opened_config_file": "Fichier de config ouvert : {0}",
"log_open_config_failed": "Échec de l'ouverture du fichier de config",
"log_open_config_error": "Échec de l'ouverture du fichier de config : {0}",
"update_available_title": "Mise à jour disponible",
"update_new_version": "La nouvelle version v{0} est disponible !",
"update_now": "Mettre à jour",
"update_not_now": "Plus tard",
"update_skip_version": "Ignorer v{0}",
"check_for_updates": "Vérifier les mises à jour",
"update_checking": "Vérification...",
"update_no_update": "Vous utilisez la dernière version",
"update_urgency_critical": "Mise à jour critique",
"update_urgency_high": "Mise à jour importante",
"update_current_version": "Version actuelle : v{0}",
"update_changelog": "Journal des modifications",
"auth_choose_subtitle": "Choisissez une méthode de connexion pour continuer",
"update_changelog_empty": "Aucune note de version n'a été fournie pour cette version.",
"subscription_login_title": "Compte d'abonnement VberAI",
"subscription_password_label": "Mot de passe",
"subscription_password_placeholder": "Saisissez le mot de passe",
"subscription_login_button": "Se connecter avec VberAI",
"subscription_google_button": "Se connecter avec Google",
"subscription_google_pending": "Navigateur ouvert. Terminez l'autorisation Google, puis revenez à Cocos Creator.",
"subscription_google_pending_button": "En attente de l'autorisation Google...",
"subscription_register_button": "Créer un compte VberAI",
"subscription_logging_in": "Connexion en cours...",
"subscription_credentials_required": "Veuillez saisir l'e-mail et le mot de passe",
"subscription_login_success": "Connecté au compte d'abonnement",
"subscription_login_failed": "Échec de la connexion à l'abonnement",
"subscription_not_entitled": "Votre abonnement actuel n'inclut pas Cocos 3.x MCP. Effectuez une mise à niveau pour continuer.",
"subscription_upgrade_to": "Passez à « {0} » pour utiliser ce produit",
"subscription_upgrade_action": "Mettre à niveau l'abonnement",
"subscription_logged_in": "Compte connecté",
"subscription_choose_button": "Compte d'abonnement VberAI",
"license_choose_button": "Code d'activation",
"subscription_method_label": "Abonnement",
"back_to_login_choices": "← Choisir une autre méthode de connexion",
"subscription_signed_out_other_device": "Déconnecté : votre compte a été utilisé sur un autre appareil.",
"subscription_google_cancelled": "La connexion Google a été annulée.",
"subscription_request_timeout": "La requête a expiré. Vérifiez votre réseau et réessayez.",
"subscription_network_error": "Échec de la connexion réseau. Vérifiez votre réseau et réessayez.",
"subscription_server_error": "Le serveur a renvoyé une réponse non valide. Réessayez plus tard.",
"subscription_google_authorization_failed": "L'autorisation Google n'a pas été effectuée. Veuillez réessayer."
,"lan_access_label": "Autoriser l'accès au réseau local"
,"lan_access_warning": "Lié à 0.0.0.0. N'importe qui sur ce réseau peut se connecter et piloter l'éditeur — ce point de terminaison ne vérifie aucune information d'identification. À n'activer que sur un réseau de confiance."
,"lan_address": "Adresse réseau local"
};
@@ -1,259 +0,0 @@
"use strict";
module.exports = {
"extension_name": "Cocos MCP सर्वर",
"description": "Cocos Creator 3.8 के लिए AI MCP सर्वर",
"panel_title": "MCP सर्वर",
"open_panel": "MCP पैनल खोलें",
"start_server": "सर्वर शुरू करें",
"stop_server": "सर्वर रोकें",
"server_status": "सर्वर स्थिति",
"port": "पोर्ट",
"settings": "सेटिंग्स",
"connected": "कनेक्टेड",
"disconnected": "डिस्कनेक्टेड",
"server_running": "सर्वर पोर्ट {0} पर चल रहा है",
"server_stopped": "सर्वर रुक गया है",
"auto_start": "ऑटो स्टार्ट",
"debug_log": "डीबग लॉगिंग",
"max_connections": "अधिकतम कनेक्शन",
"connection_info": "कनेक्शन जानकारी",
"http_url": "HTTP URL",
"copy": "कॉपी करें",
"save_settings": "सेटिंग्स सहेजें",
"settings_saved": "सेटिंग्स सफलतापूर्वक सहेजी गईं",
"server_started": "MCP सर्वर शुरू हुआ",
"server_stopped_msg": "MCP सर्वर रुक गया",
"failed_to_start": "सर्वर शुरू करने में विफल",
"failed_to_stop": "सर्वर रोकने में विफल",
"failed_to_save": "सेटिंग्स सहेजने में विफल",
"url_copied": "HTTP URL क्लिपबोर्ड पर कॉपी किया गया",
"tool_manager": "टूल प्रबंधक",
"open_tool_manager": "टूल प्रबंधक खोलें",
"create_config": "कॉन्फ़िगरेशन बनाएँ",
"edit_config": "कॉन्फ़िगरेशन संपादित करें",
"delete_config": "कॉन्फ़िगरेशन हटाएँ",
"import_config": "कॉन्फ़िगरेशन आयात करें",
"export_config": "कॉन्फ़िगरेशन निर्यात करें",
"apply_config": "कॉन्फ़िगरेशन लागू करें",
"select_all": "सभी चुनें",
"deselect_all": "चयन हटाएँ",
"save_changes": "परिवर्तन सहेजें",
"config_name": "कॉन्फ़िगरेशन नाम",
"config_description": "कॉन्फ़िगरेशन विवरण",
"current_config": "वर्तमान कॉन्फ़िगरेशन",
"tool_management": "टूल प्रबंधन",
"total_tools": "कुल टूल",
"enabled_tools": "सक्षम",
"disabled_tools": "अक्षम",
"no_config_selected": "कोई कॉन्फ़िगरेशन चयनित नहीं",
"select_config_first": "कृपया पहले कोई कॉन्फ़िगरेशन चुनें या नया बनाएँ",
"config_created": "कॉन्फ़िगरेशन सफलतापूर्वक बनाया गया",
"config_updated": "कॉन्फ़िगरेशन सफलतापूर्वक अपडेट किया गया",
"config_deleted": "कॉन्फ़िगरेशन सफलतापूर्वक हटाया गया",
"config_applied": "कॉन्फ़िगरेशन सफलतापूर्वक लागू किया गया",
"config_exported": "कॉन्फ़िगरेशन सफलतापूर्वक निर्यात किया गया",
"config_imported": "कॉन्फ़िगरेशन सफलतापूर्वक आयात किया गया",
"confirm_delete": "हटाने की पुष्टि करें",
"delete_config_confirm": "क्या आप वाकई कॉन्फ़िगरेशन \"{0}\" हटाना चाहते हैं? यह क्रिया पूर्ववत नहीं की जा सकती।",
"max_config_slots_reached": "कॉन्फ़िगरेशन स्लॉट की अधिकतम सीमा पहुँच गई ({0})",
"invalid_config_format": "अमान्य कॉन्फ़िगरेशन प्रारूप",
"invalid_json_format": "अमान्य JSON प्रारूप या कॉन्फ़िगरेशन संरचना",
"server_tab": "सर्वर",
"tools_tab": "टूल प्रबंधन",
"available_tools": "उपलब्ध टूल",
"scene_tools": "सीन टूल",
"node_tools": "नोड टूल",
"component_tools": "कंपोनेंट टूल",
"prefab_tools": "प्रीफ़ैब टूल",
"project_tools": "प्रोजेक्ट टूल",
"debug_tools": "डीबग टूल",
"preferences_tools": "प्राथमिकताएँ",
"server_tools": "सर्वर टूल",
"broadcast_tools": "ब्रॉडकास्ट टूल",
"scene_advanced_tools": "उन्नत सीन टूल",
"scene_view_tools": "सीन व्यू टूल",
"reference_image_tools": "संदर्भ छवि टूल",
"asset_advanced_tools": "उन्नत एसेट टूल",
"validation_tools": "सत्यापन टूल",
"brand_name": "LiDaxian MCP Series",
"brand_subtitle": "LiDaxian MCP Series",
"contact_email": "ईमेल",
"contact_wechat": "WeChat",
"contact_github": "GitHub",
"machine_id_label": "मशीन ID",
"purchase_renew": "खरीदें / नवीनीकरण करें",
"purchase_url": "https://www.vberai.com/game-engines/cocos",
"auth_title": "साइन-इन विधि चुनें",
"auth_subtitle": "अपना ईमेल और एक्टिवेशन कोड दर्ज करें",
"auth_choose_subtitle": "जारी रखने के लिए साइन-इन विधि चुनें",
"email_label": "ईमेल पता",
"activation_code_label": "एक्टिवेशन कोड",
"email_placeholder": "ईमेल दर्ज करें",
"code_placeholder": "कोड दर्ज करें (XXXXX-XXXXX-XXXXX-XXXXX-XXXXX)",
"activate_button": "सक्रिय करें",
"deactivate_button": "निष्क्रिय करें",
"activating": "सक्रिय किया जा रहा है...",
"deactivating": "निष्क्रिय किया जा रहा है...",
"license_status": "लाइसेंस स्थिति",
"license_type": "लाइसेंस प्रकार",
"expiry_date": "समाप्ति तिथि",
"days_remaining": "शेष दिन",
"days_unit": "दिन",
"permanent": "स्थायी",
"expiry_warning_title": "लाइसेंस जल्द समाप्त हो रहा है",
"expiry_warning_message": "आपका लाइसेंस {0} दिनों में समाप्त हो जाएगा। सेवा में रुकावट से बचने के लिए कृपया नवीनीकरण करें।",
"renew_now": "अभी नवीनीकरण करें",
"i_understand": "समझ गया",
"activation_success": "लाइसेंस सफलतापूर्वक सक्रिय हो गया!",
"activation_failed": "सक्रियण विफल: {0}",
"invalid_code": "एक्टिवेशन कोड का प्रारूप अमान्य है",
"purchase_license": "लाइसेंस खरीदें",
"renew_license": "लाइसेंस नवीनीकरण",
"contact_support": "सहायता",
"language_switch": "हिन्दी",
"version_label": "संस्करण",
"license_required": "सर्वर शुरू करने के लिए लाइसेंस आवश्यक है",
"license_check_failed": "लाइसेंस जाँच विफल",
"status_stopped": "रुका हुआ",
"status_running": "चल रहा है",
"status_error": "कनेक्शन विफल",
"config_tab": "त्वरित कॉन्फ़िग",
"status_label": "स्थिति",
"connections_count": "कनेक्शन",
"transport_protocol": "ट्रांसपोर्ट प्रोटोकॉल",
"transport_type": "ट्रांसपोर्ट प्रकार",
"mcp_url": "MCP URL",
"port_fallback_title": "पोर्ट {0} व्यस्त है — {1} पर बदल दिया गया",
"net_title": "नेटवर्क / प्रॉक्सी",
"net_direct": "सीधा कनेक्शन",
"net_via": "{0} के माध्यम से ({1})",
"net_source_manual": "मैनुअल",
"net_source_env": "एनवायरनमेंट वेरिएबल",
"net_source_system": "सिस्टम सेटिंग्स",
"net_mode_auto": "स्वतः पहचान",
"net_mode_manual": "मैनुअल",
"net_mode_off": "प्रॉक्सी नहीं",
"net_save": "सहेजें",
"net_test": "कनेक्शन जाँचें",
"net_testing": "जाँच हो रही है…",
"net_test_ok": "कनेक्ट हो गया ({0} ms)",
"net_test_fail": "विफल: {0}",
"net_hint": "लॉगिन टाइमआउट आमतौर पर नेटवर्क की समस्या है। VPN/प्रॉक्सी उपयोग करते हों तो यहाँ पता डालें (जैसे http://127.0.0.1:7890) या क्लाइंट को ग्लोबल (TUN) मोड में बदलें।",
"net_pac_warning": "सिस्टम PAC स्क्रिप्ट उपयोग कर रहा है, जिसे प्लगिन पढ़ नहीं सकता। «मैनुअल» चुनें और प्रॉक्सी पता डालें।",
"port_label": "पोर्ट",
"auto_start_label": "ऑटो स्टार्ट",
"debug_log_label": "डीबग लॉग",
"max_connections_label": "अधिकतम कनेक्शन",
"server_settings_title": "सर्वर सेटिंग्स",
"server_status_title": "सर्वर स्थिति",
"connection_info_title": "कनेक्शन जानकारी",
"tools_count": "{0} टूल",
"tools_stats": "{0} टूल ({1} सक्षम / {2} अक्षम)",
"quick_config_title": "MCP क्लाइंट त्वरित कॉन्फ़िगरेशन",
"quick_config_desc": "वर्तमान MCP सर्वर को मुख्यधारा के AI एडिटर और CLI टूल में स्वतः कॉन्फ़िगर करें",
"server_info": "सर्वर जानकारी",
"server_name_label": "सर्वर नाम",
"server_address": "सर्वर पता",
"timeout_ms": "टाइमआउट (ms)",
"auto_config_title": "स्वतः कॉन्फ़िग (IDE एडिटर + Codex CLI)",
"add_all": "सभी जोड़ें",
"remove_all": "सभी हटाएँ",
"auto_config_note": "कॉन्फ़िग फ़ाइलें स्वतः संशोधित करने के लिए बटन दबाएँ (Cursor, Windsurf, Trae, Codex CLI)",
"configured": "कॉन्फ़िगर किया गया",
"not_configured": "कॉन्फ़िगर नहीं किया गया",
"auto_config_btn": "स्वतः कॉन्फ़िग",
"delete_btn": "हटाएँ",
"copy_config": "कॉन्फ़िग कॉपी करें",
"open_config": "कॉन्फ़िग खोलें",
"manual_config_title": "मैनुअल कॉन्फ़िग (Claude CLI + Gemini CLI)",
"refresh_commands": "कमांड रिफ़्रेश करें",
"manual_config_note": "निम्नलिखित CLI टूल के लिए टर्मिनल में कमांड मैनुअल रूप से चलाना आवश्यक है",
"config_scope": "कॉन्फ़िग स्कोप:",
"scope_user": "यूज़र स्तर",
"scope_project": "प्रोजेक्ट स्तर",
"operation_log": "ऑपरेशन लॉग",
"no_logs": "कोई ऑपरेशन रिकॉर्ड नहीं",
"copyright_line": "© 2025 LiDaxian - Cocos Creator MCP Server v{0}",
"protocol_line": "Streamable HTTP प्रोटोकॉल पर आधारित (MCP 2025-03-26)",
"tools_copyright_line1": "टूल सिस्टम - 13 intent-level टूल, 150+ एडिटर ऑपरेशन, action कोड डिस्पैच",
"config_copyright_line1": "त्वरित कॉन्फ़िग - Cursor, Windsurf, Trae, Codex CLI, Claude CLI, Gemini CLI समर्थित",
"email_required": "कृपया ईमेल और एक्टिवेशन कोड दर्ज करें",
"permanent_label": "स्थायी",
"logout_button": "लॉग आउट",
"invite_code_label": "आमंत्रण कोड",
"copy_button": "कॉपी करें",
"change_code_button": "कोड बदलें",
"change_code_title": "एक्टिवेशन कोड बदलें",
"change_code_desc": "अपना नया एक्टिवेशन कोड दर्ज करें। पहले वर्तमान डिवाइस बाइंडिंग हटाई जाएगी।",
"confirm_change": "पुष्टि करें",
"cancel": "रद्द करें",
"code_required": "कृपया एक्टिवेशन कोड दर्ज करें",
"expiry_inline_warning": "जल्द समाप्त हो रहा है!",
"store_purchase_hint": "यदि आपने यह प्लगइन Cocos Store से खरीदा है, तो एक्टिवेशन कोड पाने के लिए कृपया मुझसे संपर्क करें।",
"license_expired_title": "लाइसेंस समाप्त",
"license_expired_message": "आपका लाइसेंस समाप्त हो चुका है और सर्वर शुरू नहीं किया जा सकता। जारी रखने के लिए कृपया नवीनीकरण करें या पुनः सक्रिय करें।",
"go_to_login": "लॉगिन पर जाएँ",
"log_load_config_failed": "कॉन्फ़िग स्थिति लोड करने में विफल: {0}",
"log_gen_cli_failed": "CLI कमांड बनाने में विफल: {0}",
"log_add_client_failed": "{0} में जोड़ने में विफल: {1}",
"log_remove_client_failed": "{0} से हटाने में विफल: {1}",
"quick_config_dialog_title": "वन-क्लिक कॉन्फ़िगरेशन",
"config_operation_failed": "कॉन्फ़िगरेशन ऑपरेशन विफल",
"config_file_not_found_changed_path": "कॉन्फ़िगरेशन विफल: कॉन्फ़िग फ़ाइल नहीं मिली। संभव है कि {0} किसी कस्टम पथ पर इंस्टॉल हो।",
"log_batch_add_failed": "बैच जोड़ना विफल: {0}",
"log_batch_remove_failed": "बैच हटाना विफल: {0}",
"log_copied_config": "{0} का कॉन्फ़िग क्लिपबोर्ड पर कॉपी किया गया",
"log_gen_config_failed": "कॉन्फ़िग बनाने में विफल",
"log_copy_config_failed": "कॉन्फ़िग कॉपी करने में विफल: {0}",
"log_copied_command": "{0} की कमांड क्लिपबोर्ड पर कॉपी की गई",
"log_copy_command_failed": "कमांड कॉपी करने में विफल: {0}",
"log_opened_config_file": "कॉन्फ़िग फ़ाइल खोली गई: {0}",
"log_open_config_failed": "कॉन्फ़िग फ़ाइल खोलने में विफल",
"log_open_config_error": "कॉन्फ़िग फ़ाइल खोलने में विफल: {0}",
"update_available_title": "अपडेट उपलब्ध",
"update_new_version": "नया संस्करण v{0} उपलब्ध है!",
"update_now": "अभी अपडेट करें",
"update_not_now": "अभी नहीं",
"update_skip_version": "v{0} छोड़ें",
"check_for_updates": "अपडेट जाँचें",
"update_checking": "जाँच हो रही है...",
"update_no_update": "आप नवीनतम संस्करण का उपयोग कर रहे हैं",
"update_urgency_critical": "अत्यावश्यक अपडेट",
"update_urgency_high": "महत्वपूर्ण अपडेट",
"update_current_version": "वर्तमान संस्करण: v{0}",
"update_changelog": "परिवर्तन सूची"
,"update_changelog_empty": "इस संस्करण के लिए कोई रिलीज़ नोट नहीं दिया गया है।"
,"subscription_login_title": "VberAI सब्सक्रिप्शन खाता"
,"subscription_password_label": "पासवर्ड"
,"subscription_password_placeholder": "पासवर्ड दर्ज करें"
,"subscription_login_button": "VberAI से साइन इन करें"
,"subscription_google_button": "Google से साइन इन करें"
,"subscription_google_pending": "ब्राउज़र खुल गया है। Google प्राधिकरण पूरा करें, फिर Cocos Creator पर वापस आएँ।"
,"subscription_google_pending_button": "Google प्राधिकरण की प्रतीक्षा है..."
,"subscription_register_button": "VberAI खाता बनाएँ"
,"subscription_logging_in": "साइन इन हो रहा है..."
,"subscription_credentials_required": "कृपया ईमेल और पासवर्ड दर्ज करें"
,"subscription_login_success": "सब्सक्रिप्शन खाते से साइन इन हो गया"
,"subscription_login_failed": "सब्सक्रिप्शन साइन-इन विफल"
,"subscription_not_entitled": "आपकी वर्तमान सब्सक्रिप्शन में Cocos 3.x MCP शामिल नहीं है। जारी रखने के लिए अपग्रेड करें।"
,"subscription_upgrade_to": "इस उत्पाद का उपयोग करने के लिए {0} में अपग्रेड करें"
,"subscription_upgrade_action": "सब्सक्रिप्शन अपग्रेड करें"
,"subscription_logged_in": "साइन-इन खाता"
,"subscription_choose_button": "VberAI सब्सक्रिप्शन खाता"
,"license_choose_button": "एक्टिवेशन कोड"
,"subscription_method_label": "सब्सक्रिप्शन"
,"back_to_login_choices": "← दूसरी साइन-इन विधि चुनें"
,"subscription_signed_out_other_device": "साइन आउट: आपका खाता किसी अन्य डिवाइस पर उपयोग किया गया।"
,"subscription_google_cancelled": "Google साइन-इन रद्द कर दिया गया।"
,"subscription_request_timeout": "अनुरोध का समय समाप्त हो गया। अपना नेटवर्क जाँचें और पुनः प्रयास करें।"
,"subscription_network_error": "नेटवर्क कनेक्शन विफल। अपना नेटवर्क जाँचें और पुनः प्रयास करें।"
,"subscription_server_error": "सर्वर ने अमान्य प्रतिक्रिया लौटाई। बाद में पुनः प्रयास करें।"
,"subscription_google_authorization_failed": "Google प्राधिकरण पूरा नहीं हुआ। कृपया पुनः प्रयास करें।"
,"lan_access_label": "LAN एक्सेस की अनुमति दें"
,"lan_access_warning": "0.0.0.0 से बाइंड किया गया। इस नेटवर्क पर कोई भी व्यक्ति कनेक्ट करके एडिटर चला सकता है — यह एंडपॉइंट किसी भी क्रेडेंशियल की जाँच नहीं करता। केवल विश्वसनीय नेटवर्क पर ही सक्षम करें।"
,"lan_address": "LAN पता"
};
@@ -1,259 +0,0 @@
"use strict";
module.exports = {
"extension_name": "Cocos MCP Server",
"description": "Server AI MCP untuk Cocos Creator 3.8",
"panel_title": "Server MCP",
"open_panel": "Buka Panel MCP",
"start_server": "Mulai Server",
"stop_server": "Hentikan Server",
"server_status": "Status Server",
"port": "Port",
"settings": "Pengaturan",
"connected": "Terhubung",
"disconnected": "Terputus",
"server_running": "Server berjalan di port {0}",
"server_stopped": "Server telah berhenti",
"auto_start": "Mulai Otomatis",
"debug_log": "Log Debug",
"max_connections": "Koneksi Maksimum",
"connection_info": "Info Koneksi",
"http_url": "HTTP URL",
"copy": "Salin",
"save_settings": "Simpan Pengaturan",
"settings_saved": "Pengaturan berhasil disimpan",
"server_started": "Server MCP Dimulai",
"server_stopped_msg": "Server MCP Dihentikan",
"failed_to_start": "Gagal memulai server",
"failed_to_stop": "Gagal menghentikan server",
"failed_to_save": "Gagal menyimpan pengaturan",
"url_copied": "HTTP URL disalin ke papan klip",
"tool_manager": "Pengelola Alat",
"open_tool_manager": "Buka Pengelola Alat",
"create_config": "Buat Konfigurasi",
"edit_config": "Edit Konfigurasi",
"delete_config": "Hapus Konfigurasi",
"import_config": "Impor Konfigurasi",
"export_config": "Ekspor Konfigurasi",
"apply_config": "Terapkan Konfigurasi",
"select_all": "Pilih Semua",
"deselect_all": "Batalkan Semua Pilihan",
"save_changes": "Simpan Perubahan",
"config_name": "Nama Konfigurasi",
"config_description": "Deskripsi Konfigurasi",
"current_config": "Konfigurasi Saat Ini",
"tool_management": "Manajemen Alat",
"total_tools": "Total Alat",
"enabled_tools": "Aktif",
"disabled_tools": "Nonaktif",
"no_config_selected": "Tidak Ada Konfigurasi Dipilih",
"select_config_first": "Silakan pilih konfigurasi atau buat yang baru terlebih dahulu",
"config_created": "Konfigurasi berhasil dibuat",
"config_updated": "Konfigurasi berhasil diperbarui",
"config_deleted": "Konfigurasi berhasil dihapus",
"config_applied": "Konfigurasi berhasil diterapkan",
"config_exported": "Konfigurasi berhasil diekspor",
"config_imported": "Konfigurasi berhasil diimpor",
"confirm_delete": "Konfirmasi Penghapusan",
"delete_config_confirm": "Anda yakin ingin menghapus konfigurasi \"{0}\"? Tindakan ini tidak dapat dibatalkan.",
"max_config_slots_reached": "Slot konfigurasi maksimum tercapai ({0})",
"invalid_config_format": "Format konfigurasi tidak valid",
"invalid_json_format": "Format JSON atau struktur konfigurasi tidak valid",
"server_tab": "Server",
"tools_tab": "Manajemen Alat",
"available_tools": "Alat Tersedia",
"scene_tools": "Alat Scene",
"node_tools": "Alat Node",
"component_tools": "Alat Komponen",
"prefab_tools": "Alat Prefab",
"project_tools": "Alat Proyek",
"debug_tools": "Alat Debug",
"preferences_tools": "Preferensi",
"server_tools": "Alat Server",
"broadcast_tools": "Alat Siaran",
"scene_advanced_tools": "Alat Scene Lanjutan",
"scene_view_tools": "Alat Tampilan Scene",
"reference_image_tools": "Alat Gambar Referensi",
"asset_advanced_tools": "Alat Aset Lanjutan",
"validation_tools": "Alat Validasi",
"brand_name": "LiDaxian MCP Series",
"brand_subtitle": "LiDaxian MCP Series",
"contact_email": "Email",
"contact_wechat": "WeChat",
"contact_github": "GitHub",
"machine_id_label": "ID Mesin",
"purchase_renew": "Beli / Perpanjang",
"purchase_url": "https://www.vberai.com/game-engines/cocos",
"auth_title": "Pilih metode masuk",
"auth_subtitle": "Masukkan email dan kode aktivasi Anda",
"auth_choose_subtitle": "Pilih metode masuk untuk melanjutkan",
"email_label": "Alamat Email",
"activation_code_label": "Kode Aktivasi",
"email_placeholder": "Masukkan email",
"code_placeholder": "Masukkan kode (XXXXX-XXXXX-XXXXX-XXXXX-XXXXX)",
"activate_button": "Aktifkan",
"deactivate_button": "Nonaktifkan",
"activating": "Mengaktifkan...",
"deactivating": "Menonaktifkan...",
"license_status": "Status Lisensi",
"license_type": "Jenis Lisensi",
"expiry_date": "Tanggal Kedaluwarsa",
"days_remaining": "Sisa Hari",
"days_unit": "hr",
"permanent": "Permanen",
"expiry_warning_title": "Lisensi Segera Kedaluwarsa",
"expiry_warning_message": "Lisensi Anda akan kedaluwarsa dalam {0} hari. Silakan perpanjang agar layanan tidak terputus.",
"renew_now": "Perpanjang Sekarang",
"i_understand": "Saya Mengerti",
"activation_success": "Lisensi berhasil diaktifkan!",
"activation_failed": "Aktivasi gagal: {0}",
"invalid_code": "Format kode aktivasi tidak valid",
"purchase_license": "Beli Lisensi",
"renew_license": "Perpanjang Lisensi",
"contact_support": "Dukungan",
"language_switch": "Bahasa Indonesia",
"version_label": "Versi",
"license_required": "Lisensi diperlukan untuk memulai server",
"license_check_failed": "Pemeriksaan lisensi gagal",
"status_stopped": "Berhenti",
"status_running": "Berjalan",
"status_error": "Koneksi Gagal",
"config_tab": "Konfigurasi Cepat",
"status_label": "Status",
"connections_count": "Koneksi",
"transport_protocol": "Protokol Transport",
"transport_type": "Jenis Transport",
"mcp_url": "MCP URL",
"port_fallback_title": "Port {0} sedang dipakai — beralih ke {1}",
"net_title": "Jaringan / Proxy",
"net_direct": "Koneksi langsung",
"net_via": "via {0} ({1})",
"net_source_manual": "manual",
"net_source_env": "variabel lingkungan",
"net_source_system": "pengaturan sistem",
"net_mode_auto": "Deteksi otomatis",
"net_mode_manual": "Manual",
"net_mode_off": "Tanpa proxy",
"net_save": "Simpan",
"net_test": "Uji koneksi",
"net_testing": "Menguji…",
"net_test_ok": "Terhubung ({0} ms)",
"net_test_fail": "Gagal: {0}",
"net_hint": "Timeout login biasanya masalah jaringan. Jika memakai VPN/proxy, masukkan alamatnya (mis. http://127.0.0.1:7890) atau alihkan klien ke mode global (TUN).",
"net_pac_warning": "Sistem memakai skrip PAC yang tidak bisa dibaca plugin. Pilih Manual dan masukkan alamat proxy.",
"port_label": "Port",
"auto_start_label": "Mulai Otomatis",
"debug_log_label": "Log Debug",
"max_connections_label": "Koneksi Maksimum",
"server_settings_title": "Pengaturan Server",
"server_status_title": "Status Server",
"connection_info_title": "Info Koneksi",
"tools_count": "{0} alat",
"tools_stats": "{0} alat ({1} aktif / {2} nonaktif)",
"quick_config_title": "Konfigurasi Cepat Klien MCP",
"quick_config_desc": "Konfigurasikan server MCP saat ini secara otomatis ke editor AI dan alat CLI populer",
"server_info": "Info Server",
"server_name_label": "Nama Server",
"server_address": "Alamat Server",
"timeout_ms": "Batas Waktu (md)",
"auto_config_title": "Konfigurasi Otomatis (Editor IDE + Codex CLI)",
"add_all": "Tambah Semua",
"remove_all": "Hapus Semua",
"auto_config_note": "Klik tombol untuk mengubah file konfigurasi secara otomatis (Cursor, Windsurf, Trae, Codex CLI)",
"configured": "Terkonfigurasi",
"not_configured": "Belum Dikonfigurasi",
"auto_config_btn": "Konfigurasi Otomatis",
"delete_btn": "Hapus",
"copy_config": "Salin Konfigurasi",
"open_config": "Buka Konfigurasi",
"manual_config_title": "Konfigurasi Manual (Claude CLI + Gemini CLI)",
"refresh_commands": "Segarkan Perintah",
"manual_config_note": "Alat CLI berikut perlu menjalankan perintah terminal secara manual",
"config_scope": "Cakupan Konfigurasi:",
"scope_user": "Tingkat Pengguna",
"scope_project": "Tingkat Proyek",
"operation_log": "Log Operasi",
"no_logs": "Tidak ada catatan operasi",
"copyright_line": "© 2025 LiDaxian - Cocos Creator MCP Server v{0}",
"protocol_line": "Berbasis Protokol Streamable HTTP (MCP 2025-03-26)",
"tools_copyright_line1": "Sistem Alat - 13 alat tingkat intent, 150+ operasi editor, dispatch berbasis kode action",
"config_copyright_line1": "Konfigurasi Cepat - Mendukung Cursor, Windsurf, Trae, Codex CLI, Claude CLI, Gemini CLI",
"email_required": "Silakan masukkan email dan kode aktivasi",
"permanent_label": "Permanen",
"logout_button": "Keluar",
"invite_code_label": "Kode Undangan",
"copy_button": "Salin",
"change_code_button": "Ganti Kode",
"change_code_title": "Ganti Kode Aktivasi",
"change_code_desc": "Masukkan kode aktivasi baru Anda. Ikatan perangkat saat ini akan dilepas terlebih dahulu.",
"confirm_change": "Konfirmasi",
"cancel": "Batal",
"code_required": "Silakan masukkan kode aktivasi",
"expiry_inline_warning": "Segera kedaluwarsa!",
"store_purchase_hint": "Jika Anda membeli plugin ini dari Cocos Store, silakan hubungi saya untuk mendapatkan kode aktivasi.",
"license_expired_title": "Lisensi Kedaluwarsa",
"license_expired_message": "Lisensi Anda telah kedaluwarsa dan server tidak dapat dimulai. Silakan perpanjang atau aktifkan ulang untuk melanjutkan.",
"go_to_login": "Ke Halaman Masuk",
"log_load_config_failed": "Gagal memuat status konfigurasi: {0}",
"log_gen_cli_failed": "Gagal membuat perintah CLI: {0}",
"log_add_client_failed": "Gagal menambahkan ke {0}: {1}",
"log_remove_client_failed": "Gagal menghapus dari {0}: {1}",
"quick_config_dialog_title": "Konfigurasi Sekali Klik",
"config_operation_failed": "Operasi konfigurasi gagal",
"config_file_not_found_changed_path": "Konfigurasi gagal: file konfigurasi tidak ditemukan. {0} mungkin terpasang di path kustom.",
"log_batch_add_failed": "Penambahan massal gagal: {0}",
"log_batch_remove_failed": "Penghapusan massal gagal: {0}",
"log_copied_config": "Konfigurasi {0} disalin ke papan klip",
"log_gen_config_failed": "Gagal membuat konfigurasi",
"log_copy_config_failed": "Gagal menyalin konfigurasi: {0}",
"log_copied_command": "Perintah {0} disalin ke papan klip",
"log_copy_command_failed": "Gagal menyalin perintah: {0}",
"log_opened_config_file": "File konfigurasi dibuka: {0}",
"log_open_config_failed": "Gagal membuka file konfigurasi",
"log_open_config_error": "Gagal membuka file konfigurasi: {0}",
"update_available_title": "Pembaruan Tersedia",
"update_new_version": "Versi baru v{0} sudah tersedia!",
"update_now": "Perbarui Sekarang",
"update_not_now": "Nanti Saja",
"update_skip_version": "Lewati v{0}",
"check_for_updates": "Periksa Pembaruan",
"update_checking": "Memeriksa...",
"update_no_update": "Anda sudah menggunakan versi terbaru",
"update_urgency_critical": "Pembaruan Kritis",
"update_urgency_high": "Pembaruan Penting",
"update_current_version": "Versi saat ini: v{0}",
"update_changelog": "Catatan Perubahan"
,"update_changelog_empty": "Tidak ada catatan rilis untuk versi ini."
,"subscription_login_title": "Akun langganan VberAI"
,"subscription_password_label": "Kata Sandi"
,"subscription_password_placeholder": "Masukkan kata sandi"
,"subscription_login_button": "Masuk dengan VberAI"
,"subscription_google_button": "Masuk dengan Google"
,"subscription_google_pending": "Browser telah dibuka. Selesaikan otorisasi Google, lalu kembali ke Cocos Creator."
,"subscription_google_pending_button": "Menunggu otorisasi Google..."
,"subscription_register_button": "Buat akun VberAI"
,"subscription_logging_in": "Sedang masuk..."
,"subscription_credentials_required": "Silakan masukkan email dan kata sandi"
,"subscription_login_success": "Akun langganan berhasil masuk"
,"subscription_login_failed": "Gagal masuk dengan akun langganan"
,"subscription_not_entitled": "Langganan Anda saat ini tidak mencakup Cocos 3.x MCP. Tingkatkan untuk melanjutkan."
,"subscription_upgrade_to": "Tingkatkan ke {0} untuk menggunakan produk ini"
,"subscription_upgrade_action": "Tingkatkan langganan"
,"subscription_logged_in": "Akun yang masuk"
,"subscription_choose_button": "Akun langganan VberAI"
,"license_choose_button": "Kode aktivasi"
,"subscription_method_label": "Langganan"
,"back_to_login_choices": "← Pilih metode masuk lain"
,"subscription_signed_out_other_device": "Keluar: akun Anda digunakan di perangkat lain."
,"subscription_google_cancelled": "Masuk dengan Google dibatalkan."
,"subscription_request_timeout": "Permintaan kehabisan waktu. Periksa jaringan Anda dan coba lagi."
,"subscription_network_error": "Koneksi jaringan gagal. Periksa jaringan Anda dan coba lagi."
,"subscription_server_error": "Server mengembalikan respons tidak valid. Coba lagi nanti."
,"subscription_google_authorization_failed": "Otorisasi Google tidak selesai. Silakan coba lagi."
,"lan_access_label": "Izinkan akses LAN"
,"lan_access_warning": "Terikat ke 0.0.0.0. Siapa pun di jaringan ini dapat terhubung dan mengendalikan editor — endpoint ini tidak memverifikasi kredensial apa pun. Aktifkan hanya di jaringan tepercaya."
,"lan_address": "Alamat LAN"
};
@@ -1,259 +0,0 @@
"use strict";
module.exports = {
"extension_name": "Cocos MCP Server",
"description": "Server AI MCP per Cocos Creator 3.8",
"panel_title": "Server MCP",
"open_panel": "Apri pannello MCP",
"start_server": "Avvia server",
"stop_server": "Arresta server",
"server_status": "Stato del server",
"port": "Porta",
"settings": "Impostazioni",
"connected": "Connesso",
"disconnected": "Disconnesso",
"server_running": "Il server è in esecuzione sulla porta {0}",
"server_stopped": "Il server è stato arrestato",
"auto_start": "Avvio automatico",
"debug_log": "Log di debug",
"max_connections": "Connessioni massime",
"connection_info": "Info connessione",
"http_url": "URL HTTP",
"copy": "Copia",
"save_settings": "Salva impostazioni",
"settings_saved": "Impostazioni salvate correttamente",
"server_started": "Server MCP avviato",
"server_stopped_msg": "Server MCP arrestato",
"failed_to_start": "Impossibile avviare il server",
"failed_to_stop": "Impossibile arrestare il server",
"failed_to_save": "Impossibile salvare le impostazioni",
"url_copied": "URL HTTP copiato negli appunti",
"tool_manager": "Gestore strumenti",
"open_tool_manager": "Apri gestore strumenti",
"create_config": "Crea configurazione",
"edit_config": "Modifica configurazione",
"delete_config": "Elimina configurazione",
"import_config": "Importa configurazione",
"export_config": "Esporta configurazione",
"apply_config": "Applica configurazione",
"select_all": "Seleziona tutto",
"deselect_all": "Deseleziona tutto",
"save_changes": "Salva modifiche",
"config_name": "Nome configurazione",
"config_description": "Descrizione configurazione",
"current_config": "Configurazione corrente",
"tool_management": "Gestione strumenti",
"total_tools": "Strumenti totali",
"enabled_tools": "Abilitati",
"disabled_tools": "Disabilitati",
"no_config_selected": "Nessuna configurazione selezionata",
"select_config_first": "Seleziona prima una configurazione oppure creane una nuova",
"config_created": "Configurazione creata correttamente",
"config_updated": "Configurazione aggiornata correttamente",
"config_deleted": "Configurazione eliminata correttamente",
"config_applied": "Configurazione applicata correttamente",
"config_exported": "Configurazione esportata correttamente",
"config_imported": "Configurazione importata correttamente",
"confirm_delete": "Conferma eliminazione",
"delete_config_confirm": "Vuoi davvero eliminare la configurazione \"{0}\"? L'operazione non può essere annullata.",
"max_config_slots_reached": "Raggiunto il numero massimo di slot di configurazione ({0})",
"invalid_config_format": "Formato di configurazione non valido",
"invalid_json_format": "Formato JSON o struttura di configurazione non validi",
"server_tab": "Server",
"tools_tab": "Gestione strumenti",
"available_tools": "Strumenti disponibili",
"scene_tools": "Strumenti scena",
"node_tools": "Strumenti nodo",
"component_tools": "Strumenti componente",
"prefab_tools": "Strumenti prefab",
"project_tools": "Strumenti progetto",
"debug_tools": "Strumenti di debug",
"preferences_tools": "Preferenze",
"server_tools": "Strumenti server",
"broadcast_tools": "Strumenti broadcast",
"scene_advanced_tools": "Strumenti scena avanzati",
"scene_view_tools": "Strumenti vista scena",
"reference_image_tools": "Strumenti immagine di riferimento",
"asset_advanced_tools": "Strumenti asset avanzati",
"validation_tools": "Strumenti di validazione",
"brand_name": "LiDaxian MCP Series",
"brand_subtitle": "LiDaxian MCP Series",
"contact_email": "Email",
"contact_wechat": "WeChat",
"contact_github": "GitHub",
"machine_id_label": "ID macchina",
"purchase_renew": "Acquista / Rinnova",
"purchase_url": "https://www.vberai.com/game-engines/cocos",
"auth_title": "Scegli un metodo di accesso",
"auth_subtitle": "Inserisci la tua email e il codice di attivazione",
"auth_choose_subtitle": "Scegli un metodo di accesso per continuare",
"email_label": "Indirizzo email",
"activation_code_label": "Codice di attivazione",
"email_placeholder": "Inserisci l'email",
"code_placeholder": "Inserisci il codice (XXXXX-XXXXX-XXXXX-XXXXX-XXXXX)",
"activate_button": "Attiva",
"deactivate_button": "Disattiva",
"activating": "Attivazione...",
"deactivating": "Disattivazione...",
"license_status": "Stato licenza",
"license_type": "Tipo di licenza",
"expiry_date": "Data di scadenza",
"days_remaining": "Giorni rimanenti",
"days_unit": "gg",
"permanent": "Permanente",
"expiry_warning_title": "Licenza in scadenza",
"expiry_warning_message": "La tua licenza scadrà tra {0} giorni. Rinnovala per evitare interruzioni del servizio.",
"renew_now": "Rinnova ora",
"i_understand": "Ho capito",
"activation_success": "Licenza attivata correttamente!",
"activation_failed": "Attivazione non riuscita: {0}",
"invalid_code": "Formato del codice di attivazione non valido",
"purchase_license": "Acquista licenza",
"renew_license": "Rinnova licenza",
"contact_support": "Assistenza",
"language_switch": "Italiano",
"version_label": "Versione",
"license_required": "È necessaria una licenza per avviare il server",
"license_check_failed": "Controllo della licenza non riuscito",
"status_stopped": "Arrestato",
"status_running": "In esecuzione",
"status_error": "Connessione non riuscita",
"config_tab": "Configurazione rapida",
"status_label": "Stato",
"connections_count": "Connessioni",
"transport_protocol": "Protocollo di trasporto",
"transport_type": "Tipo di trasporto",
"mcp_url": "MCP URL",
"port_fallback_title": "Porta {0} occupata — passata a {1}",
"net_title": "Rete / Proxy",
"net_direct": "Connessione diretta",
"net_via": "tramite {0} ({1})",
"net_source_manual": "manuale",
"net_source_env": "variabile d’ambiente",
"net_source_system": "impostazioni di sistema",
"net_mode_auto": "Rilevamento automatico",
"net_mode_manual": "Manuale",
"net_mode_off": "Nessun proxy",
"net_save": "Salva",
"net_test": "Prova connessione",
"net_testing": "Test in corso…",
"net_test_ok": "Connesso ({0} ms)",
"net_test_fail": "Non riuscito: {0}",
"net_hint": "I timeout di accesso sono quasi sempre di rete. Se usi VPN/proxy, inserisci qui l’indirizzo (es. http://127.0.0.1:7890) o imposta il client in modalità globale (TUN).",
"net_pac_warning": "Il sistema usa uno script PAC che questo plugin non può valutare. Passa a Manuale e inserisci l’indirizzo del proxy.",
"port_label": "Porta",
"auto_start_label": "Avvio automatico",
"debug_log_label": "Log di debug",
"max_connections_label": "Connessioni massime",
"server_settings_title": "Impostazioni del server",
"server_status_title": "Stato del server",
"connection_info_title": "Info connessione",
"tools_count": "{0} strumenti",
"tools_stats": "{0} strumenti ({1} abilitati / {2} disabilitati)",
"quick_config_title": "Configurazione rapida dei client MCP",
"quick_config_desc": "Configura automaticamente il server MCP corrente nei principali editor AI e strumenti CLI",
"server_info": "Info server",
"server_name_label": "Nome del server",
"server_address": "Indirizzo del server",
"timeout_ms": "Timeout (ms)",
"auto_config_title": "Configurazione automatica (editor IDE + Codex CLI)",
"add_all": "Aggiungi tutti",
"remove_all": "Rimuovi tutti",
"auto_config_note": "Fai clic sul pulsante per modificare automaticamente i file di configurazione (Cursor, Windsurf, Trae, Codex CLI)",
"configured": "Configurato",
"not_configured": "Non configurato",
"auto_config_btn": "Configurazione automatica",
"delete_btn": "Elimina",
"copy_config": "Copia configurazione",
"open_config": "Apri configurazione",
"manual_config_title": "Configurazione manuale (Claude CLI + Gemini CLI)",
"refresh_commands": "Aggiorna comandi",
"manual_config_note": "I seguenti strumenti CLI richiedono l'esecuzione manuale dei comandi da terminale",
"config_scope": "Ambito configurazione:",
"scope_user": "Livello utente",
"scope_project": "Livello progetto",
"operation_log": "Log operazioni",
"no_logs": "Nessuna operazione registrata",
"copyright_line": "© 2025 LiDaxian - Cocos Creator MCP Server v{0}",
"protocol_line": "Basato sul protocollo Streamable HTTP (MCP 2025-03-26)",
"tools_copyright_line1": "Sistema di strumenti - 13 strumenti a livello di intento, oltre 150 operazioni dell'editor, dispatch tramite codice action",
"config_copyright_line1": "Configurazione rapida - Supporta Cursor, Windsurf, Trae, Codex CLI, Claude CLI, Gemini CLI",
"email_required": "Inserisci email e codice di attivazione",
"permanent_label": "Permanente",
"logout_button": "Esci",
"invite_code_label": "Codice invito",
"copy_button": "Copia",
"change_code_button": "Cambia codice",
"change_code_title": "Cambia codice di attivazione",
"change_code_desc": "Inserisci il nuovo codice di attivazione. L'associazione del dispositivo corrente verrà prima rilasciata.",
"confirm_change": "Conferma",
"cancel": "Annulla",
"code_required": "Inserisci un codice di attivazione",
"expiry_inline_warning": "In scadenza!",
"store_purchase_hint": "Se hai acquistato questo plugin dal Cocos Store, contattami per ricevere il tuo codice di attivazione.",
"license_expired_title": "Licenza scaduta",
"license_expired_message": "La tua licenza è scaduta e il server non può essere avviato. Rinnova o riattiva per continuare.",
"go_to_login": "Vai all'accesso",
"log_load_config_failed": "Impossibile caricare lo stato della configurazione: {0}",
"log_gen_cli_failed": "Impossibile generare i comandi CLI: {0}",
"log_add_client_failed": "Impossibile aggiungere a {0}: {1}",
"log_remove_client_failed": "Impossibile rimuovere da {0}: {1}",
"quick_config_dialog_title": "Configurazione con un clic",
"config_operation_failed": "Operazione di configurazione non riuscita",
"config_file_not_found_changed_path": "Configurazione non riuscita: file di configurazione non trovato. {0} potrebbe essere installato in un percorso personalizzato.",
"log_batch_add_failed": "Aggiunta in blocco non riuscita: {0}",
"log_batch_remove_failed": "Rimozione in blocco non riuscita: {0}",
"log_copied_config": "Configurazione di {0} copiata negli appunti",
"log_gen_config_failed": "Impossibile generare la configurazione",
"log_copy_config_failed": "Impossibile copiare la configurazione: {0}",
"log_copied_command": "Comando di {0} copiato negli appunti",
"log_copy_command_failed": "Impossibile copiare il comando: {0}",
"log_opened_config_file": "File di configurazione aperto: {0}",
"log_open_config_failed": "Impossibile aprire il file di configurazione",
"log_open_config_error": "Impossibile aprire il file di configurazione: {0}",
"update_available_title": "Aggiornamento disponibile",
"update_new_version": "La nuova versione v{0} è disponibile!",
"update_now": "Aggiorna ora",
"update_not_now": "Non ora",
"update_skip_version": "Salta v{0}",
"check_for_updates": "Controlla aggiornamenti",
"update_checking": "Controllo in corso...",
"update_no_update": "Stai usando la versione più recente",
"update_urgency_critical": "Aggiornamento critico",
"update_urgency_high": "Aggiornamento importante",
"update_current_version": "Versione corrente: v{0}",
"update_changelog": "Novità"
,"update_changelog_empty": "Per questa versione non sono state fornite note di rilascio."
,"subscription_login_title": "Account in abbonamento VberAI"
,"subscription_password_label": "Password"
,"subscription_password_placeholder": "Inserisci la password"
,"subscription_login_button": "Accedi con VberAI"
,"subscription_google_button": "Accedi con Google"
,"subscription_google_pending": "Il browser è stato aperto. Completa l'autorizzazione Google, poi torna a Cocos Creator."
,"subscription_google_pending_button": "In attesa dell'autorizzazione Google..."
,"subscription_register_button": "Crea un account VberAI"
,"subscription_logging_in": "Accesso in corso..."
,"subscription_credentials_required": "Inserisci email e password"
,"subscription_login_success": "Accesso con account in abbonamento effettuato"
,"subscription_login_failed": "Accesso con account in abbonamento non riuscito"
,"subscription_not_entitled": "Il tuo abbonamento attuale non include Cocos 3.x MCP. Esegui l'upgrade per continuare."
,"subscription_upgrade_to": "Passa a {0} per usare questo prodotto"
,"subscription_upgrade_action": "Aggiorna abbonamento"
,"subscription_logged_in": "Account connesso"
,"subscription_choose_button": "Account in abbonamento VberAI"
,"license_choose_button": "Codice di attivazione"
,"subscription_method_label": "Abbonamento"
,"back_to_login_choices": "← Scegli un altro metodo di accesso"
,"subscription_signed_out_other_device": "Disconnesso: il tuo account è stato usato su un altro dispositivo."
,"subscription_google_cancelled": "Accesso con Google annullato."
,"subscription_request_timeout": "Richiesta scaduta. Controlla la connessione e riprova."
,"subscription_network_error": "Connessione di rete non riuscita. Controlla la rete e riprova."
,"subscription_server_error": "Il server ha restituito una risposta non valida. Riprova più tardi."
,"subscription_google_authorization_failed": "L'autorizzazione Google non è stata completata. Riprova."
,"lan_access_label": "Consenti accesso dalla rete locale"
,"lan_access_warning": "Associato a 0.0.0.0. Chiunque su questa rete può connettersi e comandare l'editor: questo endpoint non verifica alcuna credenziale. Attivalo solo su una rete affidabile."
,"lan_address": "Indirizzo rete locale"
};
@@ -1,258 +0,0 @@
"use strict";
module.exports = {
"extension_name": "Cocos MCP サーバー",
"description": "Cocos Creator 3.8 用 AI MCP サーバー",
"panel_title": "MCP サーバー",
"open_panel": "MCP パネルを開く",
"start_server": "サーバー起動",
"stop_server": "サーバー停止",
"server_status": "サーバー状態",
"port": "ポート",
"settings": "設定",
"connected": "接続済み",
"disconnected": "未接続",
"server_running": "サーバーはポート {0} で実行中",
"server_stopped": "サーバーは停止しました",
"auto_start": "自動起動",
"debug_log": "デバッグログ",
"max_connections": "最大接続数",
"connection_info": "接続情報",
"http_url": "HTTP URL",
"copy": "コピー",
"save_settings": "設定を保存",
"settings_saved": "設定の保存に成功しました",
"server_started": "MCP サーバーが起動しました",
"server_stopped_msg": "MCP サーバーが停止しました",
"failed_to_start": "サーバーの起動に失敗しました",
"failed_to_stop": "サーバーの停止に失敗しました",
"failed_to_save": "設定の保存に失敗しました",
"url_copied": "HTTP URL をクリップボードにコピーしました",
"tool_manager": "ツールマネージャー",
"open_tool_manager": "ツールマネージャーを開く",
"create_config": "設定を作成",
"edit_config": "設定を編集",
"delete_config": "設定を削除",
"import_config": "設定をインポート",
"export_config": "設定をエクスポート",
"apply_config": "設定を適用",
"select_all": "全選択",
"deselect_all": "全解除",
"save_changes": "変更を保存",
"config_name": "設定名",
"config_description": "設定の説明",
"current_config": "現在の設定",
"tool_management": "ツール管理",
"total_tools": "ツール合計",
"enabled_tools": "有効",
"disabled_tools": "無効",
"no_config_selected": "設定が選択されていません",
"select_config_first": "先に設定を選択するか、新しく作成してください",
"config_created": "設定の作成に成功しました",
"config_updated": "設定の更新に成功しました",
"config_deleted": "設定の削除に成功しました",
"config_applied": "設定の適用に成功しました",
"config_exported": "設定のエクスポートに成功しました",
"config_imported": "設定のインポートに成功しました",
"confirm_delete": "削除の確認",
"delete_config_confirm": "設定 \"{0}\" を削除してもよろしいですか?この操作は元に戻せません。",
"max_config_slots_reached": "設定スロットの上限に達しました ({0})",
"invalid_config_format": "無効な設定形式",
"invalid_json_format": "無効なJSON形式または設定構造",
"server_tab": "サーバー",
"tools_tab": "ツール管理",
"available_tools": "利用可能なツール",
"scene_tools": "シーンツール",
"node_tools": "ノードツール",
"component_tools": "コンポーネントツール",
"prefab_tools": "プレハブツール",
"project_tools": "プロジェクトツール",
"debug_tools": "デバッグツール",
"preferences_tools": "環境設定",
"server_tools": "サーバーツール",
"broadcast_tools": "ブロードキャストツール",
"scene_advanced_tools": "高度なシーンツール",
"scene_view_tools": "シーンビューツール",
"reference_image_tools": "参照画像ツール",
"asset_advanced_tools": "高度なアセットツール",
"validation_tools": "検証ツール",
"brand_name": "LiDaxian MCP シリーズ",
"brand_subtitle": "LiDaxian MCP Series",
"contact_email": "メール",
"contact_wechat": "WeChat",
"contact_github": "GitHub",
"machine_id_label": "マシンID",
"purchase_renew": "購入 / 更新",
"purchase_url": "https://www.vberai.com/game-engines/cocos",
"auth_title": "ログイン方法を選択",
"auth_subtitle": "メールアドレスとアクティベーションコードを入力してください",
"email_label": "メールアドレス",
"activation_code_label": "アクティベーションコード",
"email_placeholder": "メールを入力",
"code_placeholder": "コードを入力 (XXXXX-XXXXX-XXXXX-XXXXX-XXXXX)",
"activate_button": "アクティベート",
"deactivate_button": "無効化",
"activating": "アクティベート中...",
"deactivating": "無効化中...",
"license_status": "ライセンス状態",
"license_type": "ライセンス種別",
"expiry_date": "有効期限",
"days_remaining": "残り日数",
"days_unit": "日",
"permanent": "永久",
"expiry_warning_title": "ライセンスの有効期限が近づいています",
"expiry_warning_message": "ライセンスはあと {0} 日で期限切れになります。サービスの中断を防ぐため、更新してください。",
"renew_now": "今すぐ更新",
"i_understand": "了解しました",
"activation_success": "ライセンスのアクティベーションに成功しました!",
"activation_failed": "アクティベーション失敗: {0}",
"invalid_code": "無効なアクティベーションコード形式",
"purchase_license": "ライセンスを購入",
"renew_license": "ライセンスを更新",
"contact_support": "サポート",
"language_switch": "日本語",
"version_label": "バージョン",
"license_required": "サーバーの起動にはライセンスが必要です",
"license_check_failed": "ライセンスチェックに失敗しました",
"status_stopped": "停止中",
"status_running": "実行中",
"status_error": "接続失敗",
"config_tab": "クイック設定",
"status_label": "状態",
"connections_count": "接続数",
"transport_protocol": "トランスポートプロトコル",
"transport_type": "トランスポートタイプ",
"mcp_url": "MCP URL",
"port_fallback_title": "ポート {0} は使用中のため {1} に変更しました",
"net_title": "ネットワーク / プロキシ",
"net_direct": "直接接続",
"net_via": "{0} 経由({1})",
"net_source_manual": "手動設定",
"net_source_env": "環境変数",
"net_source_system": "システム設定",
"net_mode_auto": "自動検出",
"net_mode_manual": "手動指定",
"net_mode_off": "プロキシを使わない",
"net_save": "保存",
"net_test": "接続テスト",
"net_testing": "テスト中…",
"net_test_ok": "接続できました({0} ms)",
"net_test_fail": "接続失敗:{0}",
"net_hint": "ログインのタイムアウトはほぼネットワーク起因です。VPN/プロキシ利用時はここにアドレス(例: http://127.0.0.1:7890)を入力するか、クライアントをグローバル(TUN)モードに切り替えてください。",
"net_pac_warning": "システムが PAC 自動設定スクリプトを使用しており、本プラグインでは解釈できません。「手動指定」にしてアドレスを入力してください。",
"port_label": "ポート",
"auto_start_label": "自動起動",
"debug_log_label": "デバッグログ",
"max_connections_label": "最大接続数",
"server_settings_title": "サーバー設定",
"server_status_title": "サーバー状態",
"connection_info_title": "接続情報",
"tools_count": "{0} ツール",
"tools_stats": "{0} ツール ({1} 有効 / {2} 無効)",
"quick_config_title": "MCP クライアントのクイック設定",
"quick_config_desc": "現在のMCPサーバーを主要AIエディターやCLIツールに自動設定します",
"server_info": "サーバー情報",
"server_name_label": "サーバー名",
"server_address": "サーバーアドレス",
"timeout_ms": "タイムアウト (ms)",
"auto_config_title": "自動設定 (IDE エディター + Codex CLI)",
"add_all": "すべて追加",
"remove_all": "すべて削除",
"auto_config_note": "ボタンをクリックして設定ファイルを自動変更 (Cursor, Windsurf, Trae, Codex CLI)",
"configured": "設定済み",
"not_configured": "未設定",
"auto_config_btn": "自動設定",
"delete_btn": "削除",
"copy_config": "設定をコピー",
"open_config": "設定を開く",
"manual_config_title": "手動設定 (Claude CLI + Gemini CLI)",
"refresh_commands": "コマンドを更新",
"manual_config_note": "以下のCLIツールはターミナルで手動実行が必要です",
"config_scope": "設定範囲:",
"scope_user": "ユーザーレベル",
"scope_project": "プロジェクトレベル",
"operation_log": "操作ログ",
"no_logs": "操作記録なし",
"copyright_line": "© 2025 LiDaxian - Cocos Creator MCP Server v{0}",
"protocol_line": "Streamable HTTP プロトコル (MCP 2025-03-26) 準拠",
"tools_copyright_line1": "ツールシステム - 13のインテントレベルツール、150+のエディター操作、アクションコードディスパッチ",
"config_copyright_line1": "クイック設定 - Cursor, Windsurf, Trae, Codex CLI, Claude CLI, Gemini CLI 対応",
"email_required": "メールとアクティベーションコードを入力してください",
"permanent_label": "永久",
"logout_button": "ログアウト",
"invite_code_label": "招待コード",
"copy_button": "コピー",
"change_code_button": "コード変更",
"change_code_title": "アクティベーションコードの変更",
"change_code_desc": "新しいアクティベーションコードを入力してください。現在のデバイスバインドは先に解除されます。",
"confirm_change": "確認",
"cancel": "キャンセル",
"code_required": "アクティベーションコードを入力してください",
"expiry_inline_warning": "まもなく期限切れ!",
"store_purchase_hint": "Cocos Store で本プラグインを購入済みの場合は、アクティベーションコードの取得にご連絡ください。",
"license_expired_title": "ライセンスの有効期限切れ",
"license_expired_message": "ライセンスの有効期限が切れたため、サーバーを起動できません。続行するには更新または再アクティベートしてください。",
"go_to_login": "ログインへ",
"log_load_config_failed": "設定状態の読み込みに失敗: {0}",
"log_gen_cli_failed": "CLIコマンドの生成に失敗: {0}",
"log_add_client_failed": "{0} への追加に失敗: {1}",
"log_remove_client_failed": "{0} からの削除に失敗: {1}",
"quick_config_dialog_title": "ワンクリック設定",
"config_operation_failed": "設定操作に失敗しました",
"config_file_not_found_changed_path": "設定に失敗しました: 設定ファイルが見つかりません。{0} がカスタムパスにインストールされている可能性があります。",
"log_batch_add_failed": "一括追加に失敗: {0}",
"log_batch_remove_failed": "一括削除に失敗: {0}",
"log_copied_config": "{0} の設定をクリップボードにコピーしました",
"log_gen_config_failed": "設定の生成に失敗しました",
"log_copy_config_failed": "設定のコピーに失敗: {0}",
"log_copied_command": "{0} コマンドをクリップボードにコピーしました",
"log_copy_command_failed": "コマンドのコピーに失敗: {0}",
"log_opened_config_file": "設定ファイルを開きました: {0}",
"log_open_config_failed": "設定ファイルを開けませんでした",
"log_open_config_error": "設定ファイルを開けませんでした: {0}",
"update_available_title": "アップデートがあります",
"update_new_version": "新バージョン v{0} がリリースされました!",
"update_now": "今すぐ更新",
"update_not_now": "後で",
"update_skip_version": "v{0} をスキップ",
"check_for_updates": "アップデートを確認",
"update_checking": "確認中...",
"update_no_update": "最新バージョンです",
"update_urgency_critical": "緊急アップデート",
"update_urgency_high": "重要なアップデート",
"update_current_version": "現在のバージョン: v{0}",
"update_changelog": "変更履歴",
"auth_choose_subtitle": "サインイン方法を選択して続行してください",
"update_changelog_empty": "このバージョンのリリースノートはありません。",
"subscription_login_title": "VberAI サブスクリプションアカウント",
"subscription_password_label": "パスワード",
"subscription_password_placeholder": "パスワードを入力",
"subscription_login_button": "VberAI アカウントでログイン",
"subscription_google_button": "Google でログイン",
"subscription_google_pending": "ブラウザを開きました。Google 認証を完了してから Cocos Creator に戻ってください。",
"subscription_google_pending_button": "Google 認証を待っています...",
"subscription_register_button": "VberAI アカウントを作成",
"subscription_logging_in": "ログイン中...",
"subscription_credentials_required": "メールアドレスとパスワードを入力してください",
"subscription_login_success": "サブスクリプションアカウントにログインしました",
"subscription_login_failed": "サブスクリプションのログインに失敗しました",
"subscription_not_entitled": "現在のサブスクリプションには Cocos 3.x MCP が含まれていません。続行するにはアップグレードしてください。",
"subscription_upgrade_to": "このプロダクトを使用するには「{0}」にアップグレードしてください",
"subscription_upgrade_action": "サブスクリプションをアップグレード",
"subscription_logged_in": "ログイン中のアカウント",
"subscription_choose_button": "VberAI サブスクリプションアカウント",
"license_choose_button": "アクティベーションコード",
"subscription_method_label": "サブスク",
"back_to_login_choices": "← 別のサインイン方法を選択",
"subscription_signed_out_other_device": "サインアウトしました:アカウントが別のデバイスで使用されました。",
"subscription_google_cancelled": "Google ログインがキャンセルされました。",
"subscription_request_timeout": "リクエストがタイムアウトしました。ネットワークを確認して再試行してください。",
"subscription_network_error": "ネットワーク接続に失敗しました。ネットワークを確認して再試行してください。",
"subscription_server_error": "サーバーから無効な応答が返されました。後でもう一度お試しください。",
"subscription_google_authorization_failed": "Google 認証が完了しませんでした。もう一度お試しください。"
,"lan_access_label": "LAN アクセスを許可"
,"lan_access_warning": "0.0.0.0 にバインドしています。同じネットワーク上の誰でも接続してエディターを操作できます。このエンドポイントは資格情報を一切検証しません。信頼できるネットワークでのみ有効にしてください。"
,"lan_address": "LAN アドレス"
};
@@ -1,258 +0,0 @@
"use strict";
module.exports = {
"extension_name": "Cocos MCP 서버",
"description": "Cocos Creator 3.8용 AI MCP 서버",
"panel_title": "MCP 서버",
"open_panel": "MCP 패널 열기",
"start_server": "서버 시작",
"stop_server": "서버 중지",
"server_status": "서버 상태",
"port": "포트",
"settings": "설정",
"connected": "연결됨",
"disconnected": "연결 안 됨",
"server_running": "서버가 포트 {0}에서 실행 중입니다",
"server_stopped": "서버가 중지되었습니다",
"auto_start": "자동 시작",
"debug_log": "디버그 로그",
"max_connections": "최대 연결 수",
"connection_info": "연결 정보",
"http_url": "HTTP URL",
"copy": "복사",
"save_settings": "설정 저장",
"settings_saved": "설정이 저장되었습니다",
"server_started": "MCP 서버가 시작되었습니다",
"server_stopped_msg": "MCP 서버가 중지되었습니다",
"failed_to_start": "서버 시작 실패",
"failed_to_stop": "서버 중지 실패",
"failed_to_save": "설정 저장 실패",
"url_copied": "HTTP URL이 클립보드에 복사되었습니다",
"tool_manager": "도구 관리자",
"open_tool_manager": "도구 관리자 열기",
"create_config": "구성 생성",
"edit_config": "구성 편집",
"delete_config": "구성 삭제",
"import_config": "구성 가져오기",
"export_config": "구성 내보내기",
"apply_config": "구성 적용",
"select_all": "전체 선택",
"deselect_all": "전체 해제",
"save_changes": "변경 사항 저장",
"config_name": "구성 이름",
"config_description": "구성 설명",
"current_config": "현재 구성",
"tool_management": "도구 관리",
"total_tools": "전체 도구",
"enabled_tools": "활성화",
"disabled_tools": "비활성화",
"no_config_selected": "선택된 구성 없음",
"select_config_first": "먼저 구성을 선택하거나 새로 만들어 주세요",
"config_created": "구성이 생성되었습니다",
"config_updated": "구성이 업데이트되었습니다",
"config_deleted": "구성이 삭제되었습니다",
"config_applied": "구성이 적용되었습니다",
"config_exported": "구성이 내보내기되었습니다",
"config_imported": "구성이 가져오기되었습니다",
"confirm_delete": "삭제 확인",
"delete_config_confirm": "구성 \"{0}\"을(를) 삭제하시겠습니까? 이 작업은 취소할 수 없습니다.",
"max_config_slots_reached": "최대 구성 슬롯에 도달했습니다 ({0})",
"invalid_config_format": "잘못된 구성 형식",
"invalid_json_format": "잘못된 JSON 형식 또는 구성 구조",
"server_tab": "서버",
"tools_tab": "도구 관리",
"available_tools": "사용 가능한 도구",
"scene_tools": "씬 도구",
"node_tools": "노드 도구",
"component_tools": "컴포넌트 도구",
"prefab_tools": "프리팹 도구",
"project_tools": "프로젝트 도구",
"debug_tools": "디버그 도구",
"preferences_tools": "환경설정",
"server_tools": "서버 도구",
"broadcast_tools": "브로드캐스트 도구",
"scene_advanced_tools": "고급 씬 도구",
"scene_view_tools": "씬 뷰 도구",
"reference_image_tools": "참조 이미지 도구",
"asset_advanced_tools": "고급 에셋 도구",
"validation_tools": "검증 도구",
"brand_name": "LiDaxian MCP 시리즈",
"brand_subtitle": "LiDaxian MCP Series",
"contact_email": "이메일",
"contact_wechat": "WeChat",
"contact_github": "GitHub",
"machine_id_label": "머신 코드",
"purchase_renew": "구매 / 갱신",
"purchase_url": "https://www.vberai.com/game-engines/cocos",
"auth_title": "로그인 방식 선택",
"auth_subtitle": "이메일과 활성화 코드를 입력하세요",
"email_label": "이메일 주소",
"activation_code_label": "활성화 코드",
"email_placeholder": "이메일 입력",
"code_placeholder": "코드 입력 (XXXXX-XXXXX-XXXXX-XXXXX-XXXXX)",
"activate_button": "활성화",
"deactivate_button": "비활성화",
"activating": "활성화 중...",
"deactivating": "비활성화 중...",
"license_status": "라이선스 상태",
"license_type": "라이선스 유형",
"expiry_date": "만료일",
"days_remaining": "남은 일수",
"days_unit": "일",
"permanent": "영구",
"expiry_warning_title": "라이선스 만료 임박",
"expiry_warning_message": "라이선스가 {0}일 후 만료됩니다. 서비스 중단을 방지하려면 갱신해 주세요.",
"renew_now": "지금 갱신",
"i_understand": "확인했습니다",
"activation_success": "라이선스 활성화에 성공했습니다!",
"activation_failed": "활성화 실패: {0}",
"invalid_code": "잘못된 활성화 코드 형식",
"purchase_license": "라이선스 구매",
"renew_license": "라이선스 갱신",
"contact_support": "지원",
"language_switch": "한국어",
"version_label": "버전",
"license_required": "서버를 시작하려면 라이선스가 필요합니다",
"license_check_failed": "라이선스 확인 실패",
"status_stopped": "중지됨",
"status_running": "실행 중",
"status_error": "연결 실패",
"config_tab": "빠른 설정",
"status_label": "상태",
"connections_count": "연결 수",
"transport_protocol": "전송 프로토콜",
"transport_type": "전송 유형",
"mcp_url": "MCP URL",
"port_fallback_title": "포트 {0}이(가) 사용 중이어서 {1}(으)로 변경했습니다",
"net_title": "네트워크 / 프록시",
"net_direct": "직접 연결",
"net_via": "{0} 경유({1})",
"net_source_manual": "직접 입력",
"net_source_env": "환경 변수",
"net_source_system": "시스템 설정",
"net_mode_auto": "자동 감지",
"net_mode_manual": "직접 지정",
"net_mode_off": "프록시 사용 안 함",
"net_save": "저장",
"net_test": "연결 테스트",
"net_testing": "테스트 중…",
"net_test_ok": "연결 성공({0} ms)",
"net_test_fail": "연결 실패: {0}",
"net_hint": "로그인 시간 초과는 대개 네트워크 문제입니다. VPN/프록시를 쓰면 주소(예: http://127.0.0.1:7890)를 입력하거나 클라이언트를 전역(TUN) 모드로 바꾸세요.",
"net_pac_warning": "시스템이 PAC 자동 구성 스크립트를 사용하며 플러그인이 해석할 수 없습니다. 「직접 지정」으로 바꿔 주소를 입력하세요.",
"port_label": "포트",
"auto_start_label": "자동 시작",
"debug_log_label": "디버그 로그",
"max_connections_label": "최대 연결 수",
"server_settings_title": "서버 설정",
"server_status_title": "서버 상태",
"connection_info_title": "연결 정보",
"tools_count": "{0}개 도구",
"tools_stats": "{0}개 도구 ({1} 활성화 / {2} 비활성화)",
"quick_config_title": "MCP 클라이언트 빠른 설정",
"quick_config_desc": "현재 MCP 서버를 주요 AI 에디터 및 CLI 도구에 자동 구성합니다",
"server_info": "서버 정보",
"server_name_label": "서버 이름",
"server_address": "서버 주소",
"timeout_ms": "타임아웃 (ms)",
"auto_config_title": "자동 구성 (IDE 에디터 + Codex CLI)",
"add_all": "전체 추가",
"remove_all": "전체 삭제",
"auto_config_note": "버튼을 클릭하여 구성 파일을 자동 수정합니다 (Cursor, Windsurf, Trae, Codex CLI)",
"configured": "구성됨",
"not_configured": "미구성",
"auto_config_btn": "자동 구성",
"delete_btn": "삭제",
"copy_config": "구성 복사",
"open_config": "구성 열기",
"manual_config_title": "수동 구성 (Claude CLI + Gemini CLI)",
"refresh_commands": "명령 새로고침",
"manual_config_note": "다음 CLI 도구는 터미널에서 수동 실행이 필요합니다",
"config_scope": "구성 범위:",
"scope_user": "사용자 수준",
"scope_project": "프로젝트 수준",
"operation_log": "작업 로그",
"no_logs": "작업 기록 없음",
"copyright_line": "© 2025 LiDaxian - Cocos Creator MCP Server v{0}",
"protocol_line": "Streamable HTTP 프로토콜 (MCP 2025-03-26) 기반",
"tools_copyright_line1": "도구 시스템 - 13개 인텐트 레벨 도구, 150+ 에디터 작업, 액션 코드 디스패치",
"config_copyright_line1": "빠른 설정 - Cursor, Windsurf, Trae, Codex CLI, Claude CLI, Gemini CLI 지원",
"email_required": "이메일과 활성화 코드를 입력하세요",
"permanent_label": "영구",
"logout_button": "로그아웃",
"invite_code_label": "초대 코드",
"copy_button": "복사",
"change_code_button": "코드 변경",
"change_code_title": "활성화 코드 변경",
"change_code_desc": "새 활성화 코드를 입력하세요. 현재 기기 바인딩이 먼저 해제됩니다.",
"confirm_change": "확인",
"cancel": "취소",
"code_required": "활성화 코드를 입력하세요",
"expiry_inline_warning": "곧 만료됩니다!",
"store_purchase_hint": "Cocos Store에서 본 플러그인을 구매하셨다면, 활성화 코드를 받으시려면 연락해 주세요.",
"license_expired_title": "라이선스 만료",
"license_expired_message": "라이선스가 만료되어 서버를 시작할 수 없습니다. 계속 사용하려면 갱신하거나 다시 활성화하세요.",
"go_to_login": "로그인으로 이동",
"log_load_config_failed": "구성 상태 로드 실패: {0}",
"log_gen_cli_failed": "CLI 명령 생성 실패: {0}",
"log_add_client_failed": "{0}에 추가 실패: {1}",
"log_remove_client_failed": "{0}에서 삭제 실패: {1}",
"quick_config_dialog_title": "원클릭 구성",
"config_operation_failed": "구성 작업 실패",
"config_file_not_found_changed_path": "구성 실패: 구성 파일을 찾을 수 없습니다. {0}이 사용자 지정 경로에 설치되었을 수 있습니다.",
"log_batch_add_failed": "일괄 추가 실패: {0}",
"log_batch_remove_failed": "일괄 삭제 실패: {0}",
"log_copied_config": "{0} 구성을 클립보드에 복사했습니다",
"log_gen_config_failed": "구성 생성 실패",
"log_copy_config_failed": "구성 복사 실패: {0}",
"log_copied_command": "{0} 명령을 클립보드에 복사했습니다",
"log_copy_command_failed": "명령 복사 실패: {0}",
"log_opened_config_file": "구성 파일을 열었습니다: {0}",
"log_open_config_failed": "구성 파일을 열 수 없습니다",
"log_open_config_error": "구성 파일을 열 수 없습니다: {0}",
"update_available_title": "업데이트 가능",
"update_new_version": "새 버전 v{0}이 출시되었습니다!",
"update_now": "지금 업데이트",
"update_not_now": "나중에",
"update_skip_version": "v{0} 건너뛰기",
"check_for_updates": "업데이트 확인",
"update_checking": "확인 중...",
"update_no_update": "최신 버전입니다",
"update_urgency_critical": "긴급 업데이트",
"update_urgency_high": "중요 업데이트",
"update_current_version": "현재 버전: v{0}",
"update_changelog": "변경 사항",
"auth_choose_subtitle": "계속하려면 로그인 방법을 선택하세요",
"update_changelog_empty": "이 버전에 대한 릴리스 노트가 없습니다.",
"subscription_login_title": "VberAI 구독 계정",
"subscription_password_label": "비밀번호",
"subscription_password_placeholder": "비밀번호 입력",
"subscription_login_button": "VberAI 계정으로 로그인",
"subscription_google_button": "Google로 로그인",
"subscription_google_pending": "브라우저가 열렸습니다. Google 인증을 완료한 후 Cocos Creator로 돌아오세요.",
"subscription_google_pending_button": "Google 인증을 기다리는 중...",
"subscription_register_button": "VberAI 계정 만들기",
"subscription_logging_in": "로그인 중...",
"subscription_credentials_required": "이메일과 비밀번호를 입력하세요",
"subscription_login_success": "구독 계정에 로그인했습니다",
"subscription_login_failed": "구독 로그인에 실패했습니다",
"subscription_not_entitled": "현재 구독에는 Cocos 3.x MCP가 포함되어 있지 않습니다. 계속하려면 업그레이드하세요.",
"subscription_upgrade_to": "이 제품을 사용하려면 「{0}」(으)로 업그레이드하세요",
"subscription_upgrade_action": "구독 업그레이드",
"subscription_logged_in": "로그인된 계정",
"subscription_choose_button": "VberAI 구독 계정",
"license_choose_button": "활성화 코드",
"subscription_method_label": "구독 계정",
"back_to_login_choices": "← 다른 로그인 방법 선택",
"subscription_signed_out_other_device": "로그아웃됨: 계정이 다른 기기에서 사용되었습니다.",
"subscription_google_cancelled": "Google 로그인이 취소되었습니다.",
"subscription_request_timeout": "요청 시간이 초과되었습니다. 네트워크를 확인하고 다시 시도하세요.",
"subscription_network_error": "네트워크 연결에 실패했습니다. 네트워크를 확인하고 다시 시도하세요.",
"subscription_server_error": "서버가 잘못된 응답을 반환했습니다. 나중에 다시 시도하세요.",
"subscription_google_authorization_failed": "Google 인증이 완료되지 않았습니다. 다시 시도하세요."
,"lan_access_label": "LAN 접근 허용"
,"lan_access_warning": "0.0.0.0에 바인딩되었습니다. 같은 네트워크의 누구나 연결해 에디터를 조작할 수 있으며, 이 엔드포인트는 자격 증명을 검증하지 않습니다. 신뢰할 수 있는 네트워크에서만 사용하세요."
,"lan_address": "LAN 주소"
};
@@ -1,259 +0,0 @@
"use strict";
module.exports = {
"extension_name": "Cocos MCP Server",
"description": "Pelayan AI MCP untuk Cocos Creator 3.8",
"panel_title": "Pelayan MCP",
"open_panel": "Buka Panel MCP",
"start_server": "Mulakan Pelayan",
"stop_server": "Hentikan Pelayan",
"server_status": "Status Pelayan",
"port": "Port",
"settings": "Tetapan",
"connected": "Disambungkan",
"disconnected": "Terputus",
"server_running": "Pelayan sedang berjalan pada port {0}",
"server_stopped": "Pelayan telah berhenti",
"auto_start": "Mula Automatik",
"debug_log": "Log Nyahpepijat",
"max_connections": "Sambungan Maksimum",
"connection_info": "Maklumat Sambungan",
"http_url": "HTTP URL",
"copy": "Salin",
"save_settings": "Simpan Tetapan",
"settings_saved": "Tetapan berjaya disimpan",
"server_started": "Pelayan MCP Dimulakan",
"server_stopped_msg": "Pelayan MCP Dihentikan",
"failed_to_start": "Gagal memulakan pelayan",
"failed_to_stop": "Gagal menghentikan pelayan",
"failed_to_save": "Gagal menyimpan tetapan",
"url_copied": "HTTP URL disalin ke papan keratan",
"tool_manager": "Pengurus Alat",
"open_tool_manager": "Buka Pengurus Alat",
"create_config": "Cipta Konfigurasi",
"edit_config": "Edit Konfigurasi",
"delete_config": "Padam Konfigurasi",
"import_config": "Import Konfigurasi",
"export_config": "Eksport Konfigurasi",
"apply_config": "Guna Konfigurasi",
"select_all": "Pilih Semua",
"deselect_all": "Nyahpilih Semua",
"save_changes": "Simpan Perubahan",
"config_name": "Nama Konfigurasi",
"config_description": "Penerangan Konfigurasi",
"current_config": "Konfigurasi Semasa",
"tool_management": "Pengurusan Alat",
"total_tools": "Jumlah Alat",
"enabled_tools": "Didayakan",
"disabled_tools": "Dilumpuhkan",
"no_config_selected": "Tiada Konfigurasi Dipilih",
"select_config_first": "Sila pilih konfigurasi atau cipta yang baharu terlebih dahulu",
"config_created": "Konfigurasi berjaya dicipta",
"config_updated": "Konfigurasi berjaya dikemas kini",
"config_deleted": "Konfigurasi berjaya dipadam",
"config_applied": "Konfigurasi berjaya digunakan",
"config_exported": "Konfigurasi berjaya dieksport",
"config_imported": "Konfigurasi berjaya diimport",
"confirm_delete": "Sahkan Pemadaman",
"delete_config_confirm": "Adakah anda pasti mahu memadam konfigurasi \"{0}\"? Tindakan ini tidak boleh dibatalkan.",
"max_config_slots_reached": "Slot konfigurasi maksimum telah dicapai ({0})",
"invalid_config_format": "Format konfigurasi tidak sah",
"invalid_json_format": "Format JSON atau struktur konfigurasi tidak sah",
"server_tab": "Pelayan",
"tools_tab": "Pengurusan Alat",
"available_tools": "Alat Tersedia",
"scene_tools": "Alat Scene",
"node_tools": "Alat Node",
"component_tools": "Alat Komponen",
"prefab_tools": "Alat Prefab",
"project_tools": "Alat Projek",
"debug_tools": "Alat Nyahpepijat",
"preferences_tools": "Keutamaan",
"server_tools": "Alat Pelayan",
"broadcast_tools": "Alat Siaran",
"scene_advanced_tools": "Alat Scene Lanjutan",
"scene_view_tools": "Alat Paparan Scene",
"reference_image_tools": "Alat Imej Rujukan",
"asset_advanced_tools": "Alat Aset Lanjutan",
"validation_tools": "Alat Pengesahan",
"brand_name": "LiDaxian MCP Series",
"brand_subtitle": "LiDaxian MCP Series",
"contact_email": "E-mel",
"contact_wechat": "WeChat",
"contact_github": "GitHub",
"machine_id_label": "ID Mesin",
"purchase_renew": "Beli / Perbaharui",
"purchase_url": "https://www.vberai.com/game-engines/cocos",
"auth_title": "Pilih kaedah log masuk",
"auth_subtitle": "Masukkan e-mel dan kod pengaktifan anda",
"auth_choose_subtitle": "Pilih kaedah log masuk untuk meneruskan",
"email_label": "Alamat E-mel",
"activation_code_label": "Kod Pengaktifan",
"email_placeholder": "Masukkan e-mel",
"code_placeholder": "Masukkan kod (XXXXX-XXXXX-XXXXX-XXXXX-XXXXX)",
"activate_button": "Aktifkan",
"deactivate_button": "Nyahaktifkan",
"activating": "Mengaktifkan...",
"deactivating": "Menyahaktifkan...",
"license_status": "Status Lesen",
"license_type": "Jenis Lesen",
"expiry_date": "Tarikh Tamat Tempoh",
"days_remaining": "Baki Hari",
"days_unit": "hr",
"permanent": "Kekal",
"expiry_warning_title": "Lesen Akan Tamat Tempoh",
"expiry_warning_message": "Lesen anda akan tamat tempoh dalam {0} hari. Sila perbaharui bagi mengelakkan gangguan perkhidmatan.",
"renew_now": "Perbaharui Sekarang",
"i_understand": "Saya Faham",
"activation_success": "Lesen berjaya diaktifkan!",
"activation_failed": "Pengaktifan gagal: {0}",
"invalid_code": "Format kod pengaktifan tidak sah",
"purchase_license": "Beli Lesen",
"renew_license": "Perbaharui Lesen",
"contact_support": "Sokongan",
"language_switch": "Bahasa Melayu",
"version_label": "Versi",
"license_required": "Lesen diperlukan untuk memulakan pelayan",
"license_check_failed": "Pemeriksaan lesen gagal",
"status_stopped": "Berhenti",
"status_running": "Berjalan",
"status_error": "Sambungan Gagal",
"config_tab": "Konfigurasi Pantas",
"status_label": "Status",
"connections_count": "Sambungan",
"transport_protocol": "Protokol Pengangkutan",
"transport_type": "Jenis Pengangkutan",
"mcp_url": "MCP URL",
"port_fallback_title": "Port {0} sedang digunakan — bertukar ke {1}",
"net_title": "Rangkaian / Proksi",
"net_direct": "Sambungan terus",
"net_via": "melalui {0} ({1})",
"net_source_manual": "manual",
"net_source_env": "pemboleh ubah persekitaran",
"net_source_system": "tetapan sistem",
"net_mode_auto": "Auto-kesan",
"net_mode_manual": "Manual",
"net_mode_off": "Tanpa proksi",
"net_save": "Simpan",
"net_test": "Uji sambungan",
"net_testing": "Menguji…",
"net_test_ok": "Berjaya disambung ({0} ms)",
"net_test_fail": "Gagal: {0}",
"net_hint": "Tamat masa log masuk biasanya masalah rangkaian. Jika guna VPN/proksi, masukkan alamatnya (cth. http://127.0.0.1:7890) atau tukar klien ke mod global (TUN).",
"net_pac_warning": "Sistem menggunakan skrip PAC yang tidak dapat dibaca pemalam. Pilih Manual dan masukkan alamat proksi.",
"port_label": "Port",
"auto_start_label": "Mula Automatik",
"debug_log_label": "Log Nyahpepijat",
"max_connections_label": "Sambungan Maksimum",
"server_settings_title": "Tetapan Pelayan",
"server_status_title": "Status Pelayan",
"connection_info_title": "Maklumat Sambungan",
"tools_count": "{0} alat",
"tools_stats": "{0} alat ({1} didayakan / {2} dilumpuhkan)",
"quick_config_title": "Konfigurasi Pantas Klien MCP",
"quick_config_desc": "Konfigurasikan pelayan MCP semasa secara automatik ke dalam editor AI dan alat CLI arus perdana",
"server_info": "Maklumat Pelayan",
"server_name_label": "Nama Pelayan",
"server_address": "Alamat Pelayan",
"timeout_ms": "Had Masa (ms)",
"auto_config_title": "Konfigurasi Automatik (Editor IDE + Codex CLI)",
"add_all": "Tambah Semua",
"remove_all": "Buang Semua",
"auto_config_note": "Klik butang untuk mengubah fail konfigurasi secara automatik (Cursor, Windsurf, Trae, Codex CLI)",
"configured": "Dikonfigurasi",
"not_configured": "Belum Dikonfigurasi",
"auto_config_btn": "Konfigurasi Automatik",
"delete_btn": "Padam",
"copy_config": "Salin Konfigurasi",
"open_config": "Buka Konfigurasi",
"manual_config_title": "Konfigurasi Manual (Claude CLI + Gemini CLI)",
"refresh_commands": "Muat Semula Arahan",
"manual_config_note": "Alat CLI berikut memerlukan arahan terminal dijalankan secara manual",
"config_scope": "Skop Konfigurasi:",
"scope_user": "Tahap Pengguna",
"scope_project": "Tahap Projek",
"operation_log": "Log Operasi",
"no_logs": "Tiada rekod operasi",
"copyright_line": "© 2025 LiDaxian - Cocos Creator MCP Server v{0}",
"protocol_line": "Berasaskan Protokol Streamable HTTP (MCP 2025-03-26)",
"tools_copyright_line1": "Sistem Alat - 13 alat peringkat niat, 150+ operasi editor, penghantaran berasaskan kod action",
"config_copyright_line1": "Konfigurasi Pantas - Menyokong Cursor, Windsurf, Trae, Codex CLI, Claude CLI, Gemini CLI",
"email_required": "Sila masukkan e-mel dan kod pengaktifan",
"permanent_label": "Kekal",
"logout_button": "Log Keluar",
"invite_code_label": "Kod Jemputan",
"copy_button": "Salin",
"change_code_button": "Tukar Kod",
"change_code_title": "Tukar Kod Pengaktifan",
"change_code_desc": "Masukkan kod pengaktifan baharu anda. Ikatan peranti semasa akan dilepaskan terlebih dahulu.",
"confirm_change": "Sahkan",
"cancel": "Batal",
"code_required": "Sila masukkan kod pengaktifan",
"expiry_inline_warning": "Hampir tamat tempoh!",
"store_purchase_hint": "Jika anda membeli pemalam ini dari Cocos Store, sila hubungi saya untuk mendapatkan kod pengaktifan anda.",
"license_expired_title": "Lesen Tamat Tempoh",
"license_expired_message": "Lesen anda telah tamat tempoh dan pelayan tidak dapat dimulakan. Sila perbaharui atau aktifkan semula untuk meneruskan.",
"go_to_login": "Pergi ke Log Masuk",
"log_load_config_failed": "Gagal memuatkan status konfigurasi: {0}",
"log_gen_cli_failed": "Gagal menjana arahan CLI: {0}",
"log_add_client_failed": "Gagal menambah ke {0}: {1}",
"log_remove_client_failed": "Gagal membuang daripada {0}: {1}",
"quick_config_dialog_title": "Konfigurasi Satu Klik",
"config_operation_failed": "Operasi konfigurasi gagal",
"config_file_not_found_changed_path": "Konfigurasi gagal: fail konfigurasi tidak ditemui. {0} mungkin dipasang dalam laluan tersuai.",
"log_batch_add_failed": "Penambahan pukal gagal: {0}",
"log_batch_remove_failed": "Pembuangan pukal gagal: {0}",
"log_copied_config": "Konfigurasi {0} disalin ke papan keratan",
"log_gen_config_failed": "Gagal menjana konfigurasi",
"log_copy_config_failed": "Gagal menyalin konfigurasi: {0}",
"log_copied_command": "Arahan {0} disalin ke papan keratan",
"log_copy_command_failed": "Gagal menyalin arahan: {0}",
"log_opened_config_file": "Fail konfigurasi dibuka: {0}",
"log_open_config_failed": "Gagal membuka fail konfigurasi",
"log_open_config_error": "Gagal membuka fail konfigurasi: {0}",
"update_available_title": "Kemas Kini Tersedia",
"update_new_version": "Versi baharu v{0} telah tersedia!",
"update_now": "Kemas Kini Sekarang",
"update_not_now": "Bukan Sekarang",
"update_skip_version": "Langkau v{0}",
"check_for_updates": "Semak Kemas Kini",
"update_checking": "Menyemak...",
"update_no_update": "Anda sedang menggunakan versi terkini",
"update_urgency_critical": "Kemas Kini Kritikal",
"update_urgency_high": "Kemas Kini Penting",
"update_current_version": "Versi semasa: v{0}",
"update_changelog": "Log Perubahan"
,"update_changelog_empty": "Tiada nota keluaran disediakan untuk versi ini."
,"subscription_login_title": "Akaun langganan VberAI"
,"subscription_password_label": "Kata Laluan"
,"subscription_password_placeholder": "Masukkan kata laluan"
,"subscription_login_button": "Log masuk dengan VberAI"
,"subscription_google_button": "Log masuk dengan Google"
,"subscription_google_pending": "Pelayar telah dibuka. Selesaikan kebenaran Google, kemudian kembali ke Cocos Creator."
,"subscription_google_pending_button": "Menunggu kebenaran Google..."
,"subscription_register_button": "Cipta akaun VberAI"
,"subscription_logging_in": "Sedang log masuk..."
,"subscription_credentials_required": "Sila masukkan e-mel dan kata laluan"
,"subscription_login_success": "Akaun langganan telah log masuk"
,"subscription_login_failed": "Log masuk akaun langganan gagal"
,"subscription_not_entitled": "Langganan semasa anda tidak merangkumi Cocos 3.x MCP. Naik taraf untuk meneruskan."
,"subscription_upgrade_to": "Naik taraf ke {0} untuk menggunakan produk ini"
,"subscription_upgrade_action": "Naik taraf langganan"
,"subscription_logged_in": "Akaun yang log masuk"
,"subscription_choose_button": "Akaun langganan VberAI"
,"license_choose_button": "Kod pengaktifan"
,"subscription_method_label": "Langganan"
,"back_to_login_choices": "← Pilih kaedah log masuk lain"
,"subscription_signed_out_other_device": "Log keluar: akaun anda digunakan pada peranti lain."
,"subscription_google_cancelled": "Log masuk Google telah dibatalkan."
,"subscription_request_timeout": "Permintaan tamat masa. Semak rangkaian anda dan cuba lagi."
,"subscription_network_error": "Sambungan rangkaian gagal. Semak rangkaian anda dan cuba lagi."
,"subscription_server_error": "Pelayan mengembalikan respons tidak sah. Cuba lagi kemudian."
,"subscription_google_authorization_failed": "Kebenaran Google tidak selesai. Sila cuba lagi."
,"lan_access_label": "Benarkan akses LAN"
,"lan_access_warning": "Terikat pada 0.0.0.0. Sesiapa sahaja dalam rangkaian ini boleh menyambung dan mengawal editor — endpoint ini tidak mengesahkan sebarang kelayakan. Dayakan hanya pada rangkaian yang dipercayai."
,"lan_address": "Alamat LAN"
};
@@ -1,259 +0,0 @@
"use strict";
module.exports = {
"extension_name": "Cocos MCP Server",
"description": "Serwer AI MCP dla Cocos Creator 3.8",
"panel_title": "Serwer MCP",
"open_panel": "Otwórz panel MCP",
"start_server": "Uruchom serwer",
"stop_server": "Zatrzymaj serwer",
"server_status": "Stan serwera",
"port": "Port",
"settings": "Ustawienia",
"connected": "Połączono",
"disconnected": "Rozłączono",
"server_running": "Serwer działa na porcie {0}",
"server_stopped": "Serwer został zatrzymany",
"auto_start": "Automatyczne uruchamianie",
"debug_log": "Dziennik debugowania",
"max_connections": "Maksymalna liczba połączeń",
"connection_info": "Informacje o połączeniu",
"http_url": "Adres HTTP",
"copy": "Kopiuj",
"save_settings": "Zapisz ustawienia",
"settings_saved": "Ustawienia zapisane pomyślnie",
"server_started": "Serwer MCP uruchomiony",
"server_stopped_msg": "Serwer MCP zatrzymany",
"failed_to_start": "Nie udało się uruchomić serwera",
"failed_to_stop": "Nie udało się zatrzymać serwera",
"failed_to_save": "Nie udało się zapisać ustawień",
"url_copied": "Adres HTTP skopiowano do schowka",
"tool_manager": "Menedżer narzędzi",
"open_tool_manager": "Otwórz menedżera narzędzi",
"create_config": "Utwórz konfigurację",
"edit_config": "Edytuj konfigurację",
"delete_config": "Usuń konfigurację",
"import_config": "Importuj konfigurację",
"export_config": "Eksportuj konfigurację",
"apply_config": "Zastosuj konfigurację",
"select_all": "Zaznacz wszystko",
"deselect_all": "Odznacz wszystko",
"save_changes": "Zapisz zmiany",
"config_name": "Nazwa konfiguracji",
"config_description": "Opis konfiguracji",
"current_config": "Bieżąca konfiguracja",
"tool_management": "Zarządzanie narzędziami",
"total_tools": "Łączna liczba narzędzi",
"enabled_tools": "Włączone",
"disabled_tools": "Wyłączone",
"no_config_selected": "Nie wybrano konfiguracji",
"select_config_first": "Najpierw wybierz konfigurację lub utwórz nową",
"config_created": "Konfiguracja utworzona pomyślnie",
"config_updated": "Konfiguracja zaktualizowana pomyślnie",
"config_deleted": "Konfiguracja usunięta pomyślnie",
"config_applied": "Konfiguracja zastosowana pomyślnie",
"config_exported": "Konfiguracja wyeksportowana pomyślnie",
"config_imported": "Konfiguracja zaimportowana pomyślnie",
"confirm_delete": "Potwierdź usunięcie",
"delete_config_confirm": "Czy na pewno chcesz usunąć konfigurację \"{0}\"? Tej operacji nie można cofnąć.",
"max_config_slots_reached": "Osiągnięto maksymalną liczbę slotów konfiguracji ({0})",
"invalid_config_format": "Nieprawidłowy format konfiguracji",
"invalid_json_format": "Nieprawidłowy format JSON lub struktura konfiguracji",
"server_tab": "Serwer",
"tools_tab": "Zarządzanie narzędziami",
"available_tools": "Dostępne narzędzia",
"scene_tools": "Narzędzia sceny",
"node_tools": "Narzędzia węzłów",
"component_tools": "Narzędzia komponentów",
"prefab_tools": "Narzędzia prefabrykatów",
"project_tools": "Narzędzia projektu",
"debug_tools": "Narzędzia debugowania",
"preferences_tools": "Preferencje",
"server_tools": "Narzędzia serwera",
"broadcast_tools": "Narzędzia rozgłaszania",
"scene_advanced_tools": "Zaawansowane narzędzia sceny",
"scene_view_tools": "Narzędzia widoku sceny",
"reference_image_tools": "Narzędzia obrazu referencyjnego",
"asset_advanced_tools": "Zaawansowane narzędzia zasobów",
"validation_tools": "Narzędzia walidacji",
"brand_name": "LiDaxian MCP Series",
"brand_subtitle": "LiDaxian MCP Series",
"contact_email": "E-mail",
"contact_wechat": "WeChat",
"contact_github": "GitHub",
"machine_id_label": "Identyfikator maszyny",
"purchase_renew": "Kup / Odnów",
"purchase_url": "https://www.vberai.com/game-engines/cocos",
"auth_title": "Wybierz metodę logowania",
"auth_subtitle": "Wprowadź swój e-mail i kod aktywacyjny",
"auth_choose_subtitle": "Wybierz metodę logowania, aby kontynuować",
"email_label": "Adres e-mail",
"activation_code_label": "Kod aktywacyjny",
"email_placeholder": "Wprowadź e-mail",
"code_placeholder": "Wprowadź kod (XXXXX-XXXXX-XXXXX-XXXXX-XXXXX)",
"activate_button": "Aktywuj",
"deactivate_button": "Dezaktywuj",
"activating": "Aktywowanie...",
"deactivating": "Dezaktywowanie...",
"license_status": "Stan licencji",
"license_type": "Typ licencji",
"expiry_date": "Data wygaśnięcia",
"days_remaining": "Pozostałe dni",
"days_unit": "dni",
"permanent": "Bezterminowa",
"expiry_warning_title": "Licencja wkrótce wygaśnie",
"expiry_warning_message": "Twoja licencja wygaśnie za {0} dni. Odnów ją, aby uniknąć przerwy w działaniu usługi.",
"renew_now": "Odnów teraz",
"i_understand": "Rozumiem",
"activation_success": "Licencja aktywowana pomyślnie!",
"activation_failed": "Aktywacja nie powiodła się: {0}",
"invalid_code": "Nieprawidłowy format kodu aktywacyjnego",
"purchase_license": "Kup licencję",
"renew_license": "Odnów licencję",
"contact_support": "Wsparcie",
"language_switch": "Polski",
"version_label": "Wersja",
"license_required": "Do uruchomienia serwera wymagana jest licencja",
"license_check_failed": "Sprawdzenie licencji nie powiodło się",
"status_stopped": "Zatrzymany",
"status_running": "Działa",
"status_error": "Połączenie nieudane",
"config_tab": "Szybka konfiguracja",
"status_label": "Stan",
"connections_count": "Połączenia",
"transport_protocol": "Protokół transportu",
"transport_type": "Typ transportu",
"mcp_url": "MCP URL",
"port_fallback_title": "Port {0} zajęty — przełączono na {1}",
"net_title": "Sieć / Proxy",
"net_direct": "Połączenie bezpośrednie",
"net_via": "przez {0} ({1})",
"net_source_manual": "ręcznie",
"net_source_env": "zmienna środowiskowa",
"net_source_system": "ustawienia systemu",
"net_mode_auto": "Wykryj automatycznie",
"net_mode_manual": "Ręcznie",
"net_mode_off": "Bez proxy",
"net_save": "Zapisz",
"net_test": "Testuj połączenie",
"net_testing": "Testowanie…",
"net_test_ok": "Połączono ({0} ms)",
"net_test_fail": "Niepowodzenie: {0}",
"net_hint": "Przekroczenia czasu logowania to zwykle problem sieci. Jeśli używasz VPN/proxy, podaj tu adres (np. http://127.0.0.1:7890) lub przełącz klienta w tryb globalny (TUN).",
"net_pac_warning": "System używa skryptu PAC, którego wtyczka nie potrafi odczytać. Przełącz na Ręcznie i podaj adres proxy.",
"port_label": "Port",
"auto_start_label": "Automatyczne uruchamianie",
"debug_log_label": "Dziennik debugowania",
"max_connections_label": "Maksymalna liczba połączeń",
"server_settings_title": "Ustawienia serwera",
"server_status_title": "Stan serwera",
"connection_info_title": "Informacje o połączeniu",
"tools_count": "{0} narzędzi",
"tools_stats": "{0} narzędzi ({1} włączonych / {2} wyłączonych)",
"quick_config_title": "Szybka konfiguracja klientów MCP",
"quick_config_desc": "Automatycznie skonfiguruj bieżący serwer MCP w popularnych edytorach AI i narzędziach CLI",
"server_info": "Informacje o serwerze",
"server_name_label": "Nazwa serwera",
"server_address": "Adres serwera",
"timeout_ms": "Limit czasu (ms)",
"auto_config_title": "Konfiguracja automatyczna (edytory IDE + Codex CLI)",
"add_all": "Dodaj wszystkie",
"remove_all": "Usuń wszystkie",
"auto_config_note": "Kliknij przycisk, aby automatycznie zmodyfikować pliki konfiguracyjne (Cursor, Windsurf, Trae, Codex CLI)",
"configured": "Skonfigurowano",
"not_configured": "Nie skonfigurowano",
"auto_config_btn": "Konfiguruj automatycznie",
"delete_btn": "Usuń",
"copy_config": "Kopiuj konfigurację",
"open_config": "Otwórz konfigurację",
"manual_config_title": "Konfiguracja ręczna (Claude CLI + Gemini CLI)",
"refresh_commands": "Odśwież polecenia",
"manual_config_note": "Poniższe narzędzia CLI wymagają ręcznego wykonania poleceń w terminalu",
"config_scope": "Zakres konfiguracji:",
"scope_user": "Poziom użytkownika",
"scope_project": "Poziom projektu",
"operation_log": "Dziennik operacji",
"no_logs": "Brak zapisanych operacji",
"copyright_line": "© 2025 LiDaxian - Cocos Creator MCP Server v{0}",
"protocol_line": "Oparte na protokole Streamable HTTP (MCP 2025-03-26)",
"tools_copyright_line1": "System narzędzi - 13 narzędzi na poziomie intencji, ponad 150 operacji edytora, rozdzielanie według kodu action",
"config_copyright_line1": "Szybka konfiguracja - Obsługa Cursor, Windsurf, Trae, Codex CLI, Claude CLI, Gemini CLI",
"email_required": "Wprowadź e-mail i kod aktywacyjny",
"permanent_label": "Bezterminowa",
"logout_button": "Wyloguj",
"invite_code_label": "Kod zaproszenia",
"copy_button": "Kopiuj",
"change_code_button": "Zmień kod",
"change_code_title": "Zmień kod aktywacyjny",
"change_code_desc": "Wprowadź nowy kod aktywacyjny. Bieżące powiązanie urządzenia zostanie najpierw zwolnione.",
"confirm_change": "Potwierdź",
"cancel": "Anuluj",
"code_required": "Wprowadź kod aktywacyjny",
"expiry_inline_warning": "Wkrótce wygasa!",
"store_purchase_hint": "Jeśli kupiłeś tę wtyczkę w Cocos Store, skontaktuj się ze mną, aby otrzymać kod aktywacyjny.",
"license_expired_title": "Licencja wygasła",
"license_expired_message": "Twoja licencja wygasła i nie można uruchomić serwera. Odnów ją lub aktywuj ponownie, aby kontynuować.",
"go_to_login": "Przejdź do logowania",
"log_load_config_failed": "Nie udało się wczytać stanu konfiguracji: {0}",
"log_gen_cli_failed": "Nie udało się wygenerować poleceń CLI: {0}",
"log_add_client_failed": "Nie udało się dodać do {0}: {1}",
"log_remove_client_failed": "Nie udało się usunąć z {0}: {1}",
"quick_config_dialog_title": "Konfiguracja jednym kliknięciem",
"config_operation_failed": "Operacja konfiguracji nie powiodła się",
"config_file_not_found_changed_path": "Konfiguracja nie powiodła się: nie znaleziono pliku konfiguracyjnego. {0} może być zainstalowany w niestandardowej ścieżce.",
"log_batch_add_failed": "Zbiorcze dodawanie nie powiodło się: {0}",
"log_batch_remove_failed": "Zbiorcze usuwanie nie powiodło się: {0}",
"log_copied_config": "Skopiowano konfigurację {0} do schowka",
"log_gen_config_failed": "Nie udało się wygenerować konfiguracji",
"log_copy_config_failed": "Nie udało się skopiować konfiguracji: {0}",
"log_copied_command": "Skopiowano polecenie {0} do schowka",
"log_copy_command_failed": "Nie udało się skopiować polecenia: {0}",
"log_opened_config_file": "Otwarto plik konfiguracyjny: {0}",
"log_open_config_failed": "Nie udało się otworzyć pliku konfiguracyjnego",
"log_open_config_error": "Nie udało się otworzyć pliku konfiguracyjnego: {0}",
"update_available_title": "Dostępna aktualizacja",
"update_new_version": "Nowa wersja v{0} jest już dostępna!",
"update_now": "Aktualizuj teraz",
"update_not_now": "Nie teraz",
"update_skip_version": "Pomiń v{0}",
"check_for_updates": "Sprawdź aktualizacje",
"update_checking": "Sprawdzanie...",
"update_no_update": "Używasz najnowszej wersji",
"update_urgency_critical": "Aktualizacja krytyczna",
"update_urgency_high": "Ważna aktualizacja",
"update_current_version": "Bieżąca wersja: v{0}",
"update_changelog": "Lista zmian"
,"update_changelog_empty": "Dla tej wersji nie podano informacji o zmianach."
,"subscription_login_title": "Konto abonamentowe VberAI"
,"subscription_password_label": "Hasło"
,"subscription_password_placeholder": "Wprowadź hasło"
,"subscription_login_button": "Zaloguj się przez VberAI"
,"subscription_google_button": "Zaloguj się przez Google"
,"subscription_google_pending": "Przeglądarka została otwarta. Dokończ autoryzację Google, a następnie wróć do Cocos Creator."
,"subscription_google_pending_button": "Oczekiwanie na autoryzację Google..."
,"subscription_register_button": "Załóż konto VberAI"
,"subscription_logging_in": "Logowanie..."
,"subscription_credentials_required": "Wprowadź e-mail i hasło"
,"subscription_login_success": "Zalogowano na konto abonamentowe"
,"subscription_login_failed": "Logowanie na konto abonamentowe nie powiodło się"
,"subscription_not_entitled": "Twój obecny abonament nie obejmuje Cocos 3.x MCP. Podnieś plan, aby kontynuować."
,"subscription_upgrade_to": "Przejdź na {0}, aby korzystać z tego produktu"
,"subscription_upgrade_action": "Podnieś abonament"
,"subscription_logged_in": "Zalogowane konto"
,"subscription_choose_button": "Konto abonamentowe VberAI"
,"license_choose_button": "Kod aktywacyjny"
,"subscription_method_label": "Abonament"
,"back_to_login_choices": "← Wybierz inną metodę logowania"
,"subscription_signed_out_other_device": "Wylogowano: Twoje konto zostało użyte na innym urządzeniu."
,"subscription_google_cancelled": "Logowanie przez Google zostało anulowane."
,"subscription_request_timeout": "Przekroczono limit czasu żądania. Sprawdź sieć i spróbuj ponownie."
,"subscription_network_error": "Połączenie sieciowe nie powiodło się. Sprawdź sieć i spróbuj ponownie."
,"subscription_server_error": "Serwer zwrócił nieprawidłową odpowiedź. Spróbuj ponownie później."
,"subscription_google_authorization_failed": "Autoryzacja Google nie została ukończona. Spróbuj ponownie."
,"lan_access_label": "Zezwól na dostęp z sieci lokalnej"
,"lan_access_warning": "Powiązano z 0.0.0.0. Każdy w tej sieci może się połączyć i sterować edytorem — ten punkt końcowy nie weryfikuje żadnych poświadczeń. Włączaj tylko w zaufanej sieci."
,"lan_address": "Adres w sieci lokalnej"
};
@@ -1,258 +0,0 @@
"use strict";
module.exports = {
"extension_name": "Cocos MCP Servidor",
"description": "Servidor AI MCP para Cocos Creator 3.8",
"panel_title": "Servidor MCP",
"open_panel": "Abrir painel MCP",
"start_server": "Iniciar servidor",
"stop_server": "Parar servidor",
"server_status": "Estado do servidor",
"port": "Porta",
"settings": "Configurações",
"connected": "Conectado",
"disconnected": "Desconectado",
"server_running": "O servidor está em execução na porta {0}",
"server_stopped": "O servidor foi parado",
"auto_start": "Início automático",
"debug_log": "Log de depuração",
"max_connections": "Conexões máx.",
"connection_info": "Info de conexão",
"http_url": "URL HTTP",
"copy": "Copiar",
"save_settings": "Salvar",
"settings_saved": "Configurações salvas com sucesso",
"server_started": "Servidor MCP iniciado",
"server_stopped_msg": "Servidor MCP parado",
"failed_to_start": "Falha ao iniciar o servidor",
"failed_to_stop": "Falha ao parar o servidor",
"failed_to_save": "Falha ao salvar configurações",
"url_copied": "URL HTTP copiada para a área de transferência",
"tool_manager": "Gerenciador de ferramentas",
"open_tool_manager": "Abrir gerenciador de ferramentas",
"create_config": "Criar configuração",
"edit_config": "Editar configuração",
"delete_config": "Excluir configuração",
"import_config": "Importar configuração",
"export_config": "Exportar configuração",
"apply_config": "Aplicar configuração",
"select_all": "Selecionar tudo",
"deselect_all": "Desmarcar tudo",
"save_changes": "Salvar alterações",
"config_name": "Nome da configuração",
"config_description": "Descrição da configuração",
"current_config": "Configuração atual",
"tool_management": "Gestão de ferramentas",
"total_tools": "Total de ferramentas",
"enabled_tools": "Ativadas",
"disabled_tools": "Desativadas",
"no_config_selected": "Nenhuma configuração selecionada",
"select_config_first": "Por favor, selecione ou crie uma configuração primeiro",
"config_created": "Configuração criada com sucesso",
"config_updated": "Configuração atualizada com sucesso",
"config_deleted": "Configuração excluída com sucesso",
"config_applied": "Configuração aplicada com sucesso",
"config_exported": "Configuração exportada com sucesso",
"config_imported": "Configuração importada com sucesso",
"confirm_delete": "Confirmar exclusão",
"delete_config_confirm": "Tem certeza de que deseja excluir a configuração \"{0}\"? Esta ação não pode ser desfeita.",
"max_config_slots_reached": "Número máximo de configurações atingido ({0})",
"invalid_config_format": "Formato de configuração inválido",
"invalid_json_format": "Formato JSON ou estrutura de configuração inválidos",
"server_tab": "Servidor",
"tools_tab": "Gestão de ferramentas",
"available_tools": "Ferramentas disponíveis",
"scene_tools": "Ferramentas de cena",
"node_tools": "Ferramentas de nó",
"component_tools": "Ferramentas de componente",
"prefab_tools": "Ferramentas de prefab",
"project_tools": "Ferramentas de projeto",
"debug_tools": "Ferramentas de depuração",
"preferences_tools": "Preferências",
"server_tools": "Ferramentas de servidor",
"broadcast_tools": "Ferramentas de broadcast",
"scene_advanced_tools": "Ferramentas de cena avançadas",
"scene_view_tools": "Ferramentas de visualização de cena",
"reference_image_tools": "Ferramentas de imagem de referência",
"asset_advanced_tools": "Ferramentas de assets avançadas",
"validation_tools": "Ferramentas de validação",
"brand_name": "LiDaxian MCP Series",
"brand_subtitle": "LiDaxian MCP Series",
"contact_email": "E-mail",
"contact_wechat": "WeChat",
"contact_github": "GitHub",
"machine_id_label": "Código da máquina",
"purchase_renew": "Comprar / Renovar",
"purchase_url": "https://www.vberai.com/game-engines/cocos",
"auth_title": "Escolher método de login",
"auth_subtitle": "Digite seu e-mail e código de ativação",
"email_label": "Endereço de e-mail",
"activation_code_label": "Código de ativação",
"email_placeholder": "Digite o e-mail",
"code_placeholder": "Digite o código (XXXXX-XXXXX-XXXXX-XXXXX-XXXXX)",
"activate_button": "Ativar",
"deactivate_button": "Desativar",
"activating": "Ativando...",
"deactivating": "Desativando...",
"license_status": "Estado da licença",
"license_type": "Tipo de licença",
"expiry_date": "Data de expiração",
"days_remaining": "Dias restantes",
"days_unit": "d",
"permanent": "Permanente",
"expiry_warning_title": "Licença expirando em breve",
"expiry_warning_message": "Sua licença expirará em {0} dias. Por favor, renove para evitar interrupções.",
"renew_now": "Renovar agora",
"i_understand": "Entendido",
"activation_success": "Licença ativada com sucesso!",
"activation_failed": "Falha na ativação: {0}",
"invalid_code": "Formato de código de ativação inválido",
"purchase_license": "Comprar licença",
"renew_license": "Renovar licença",
"contact_support": "Suporte",
"language_switch": "Português",
"version_label": "Versão",
"license_required": "É necessária uma licença para iniciar o servidor",
"license_check_failed": "Falha na verificação de licença",
"status_stopped": "Parado",
"status_running": "Em execução",
"status_error": "Falha na conexão",
"config_tab": "Config rápida",
"status_label": "Estado",
"connections_count": "Conexões",
"transport_protocol": "Protocolo de transporte",
"transport_type": "Tipo de transporte",
"mcp_url": "URL MCP",
"port_fallback_title": "Porta {0} ocupada — alterada para {1}",
"net_title": "Rede / Proxy",
"net_direct": "Ligação direta",
"net_via": "via {0} ({1})",
"net_source_manual": "manual",
"net_source_env": "variável de ambiente",
"net_source_system": "definições do sistema",
"net_mode_auto": "Deteção automática",
"net_mode_manual": "Manual",
"net_mode_off": "Sem proxy",
"net_save": "Guardar",
"net_test": "Testar ligação",
"net_testing": "A testar…",
"net_test_ok": "Ligado ({0} ms)",
"net_test_fail": "Falhou: {0}",
"net_hint": "Os tempos limite de início de sessão são quase sempre de rede. Se usar VPN/proxy, indique aqui o endereço (ex.: http://127.0.0.1:7890) ou mude o cliente para modo global (TUN).",
"net_pac_warning": "O sistema usa um script PAC que este plugin não consegue avaliar. Mude para Manual e introduza o endereço do proxy.",
"port_label": "Porta",
"auto_start_label": "Início auto",
"debug_log_label": "Log de depuração",
"max_connections_label": "Conexões máx.",
"server_settings_title": "Configurações do servidor",
"server_status_title": "Estado do servidor",
"connection_info_title": "Info de conexão",
"tools_count": "{0} ferramentas",
"tools_stats": "{0} ferramentas ({1} ativadas / {2} desativadas)",
"quick_config_title": "Config rápida de clientes MCP",
"quick_config_desc": "Configurar automaticamente o servidor MCP em editores AI e ferramentas CLI",
"server_info": "Info do servidor",
"server_name_label": "Nome do servidor",
"server_address": "Endereço do servidor",
"timeout_ms": "Tempo limite (ms)",
"auto_config_title": "Config auto (IDE + Codex CLI)",
"add_all": "Adicionar tudo",
"remove_all": "Remover tudo",
"auto_config_note": "Clique para modificar automaticamente os arquivos de config (Cursor, Windsurf, Trae, Codex CLI)",
"configured": "Configurado",
"not_configured": "Não configurado",
"auto_config_btn": "Config auto",
"delete_btn": "Excluir",
"copy_config": "Copiar config",
"open_config": "Abrir config",
"manual_config_title": "Config manual (Claude CLI + Gemini CLI)",
"refresh_commands": "Atualizar comandos",
"manual_config_note": "As seguintes ferramentas CLI requerem execução manual no terminal",
"config_scope": "Escopo de config:",
"scope_user": "Nível de usuário",
"scope_project": "Nível de projeto",
"operation_log": "Log de operações",
"no_logs": "Sem registros",
"copyright_line": "© 2025 LiDaxian - Cocos Creator MCP Server v{0}",
"protocol_line": "Baseado no protocolo Streamable HTTP (MCP 2025-03-26)",
"tools_copyright_line1": "Sistema de ferramentas - 13 ferramentas intent-level, 150+ operações de editor, despacho de código de ação",
"config_copyright_line1": "Config rápida - Suporta Cursor, Windsurf, Trae, Codex CLI, Claude CLI, Gemini CLI",
"email_required": "Por favor, digite e-mail e código de ativação",
"permanent_label": "Permanente",
"logout_button": "Sair",
"invite_code_label": "Código de convite",
"copy_button": "Copiar",
"change_code_button": "Alterar código",
"change_code_title": "Alterar código de ativação",
"change_code_desc": "Digite seu novo código de ativação. A vinculação do dispositivo atual será liberada primeiro.",
"confirm_change": "Confirmar",
"cancel": "Cancelar",
"code_required": "Por favor, digite um código de ativação",
"expiry_inline_warning": "Expirando em breve!",
"store_purchase_hint": "Se você comprou este plugin na Cocos Store, entre em contato comigo para obter seu código de ativação.",
"license_expired_title": "Licença expirada",
"license_expired_message": "Sua licença expirou e o servidor não pode ser iniciado. Renove ou reative para continuar.",
"go_to_login": "Ir para login",
"log_load_config_failed": "Falha ao carregar estado da config: {0}",
"log_gen_cli_failed": "Falha ao gerar comandos CLI: {0}",
"log_add_client_failed": "Falha ao adicionar a {0}: {1}",
"log_remove_client_failed": "Falha ao remover de {0}: {1}",
"quick_config_dialog_title": "Configuração com um clique",
"config_operation_failed": "Falha na operação de configuração",
"config_file_not_found_changed_path": "Falha na configuração: arquivo de configuração não encontrado. {0} pode ter sido instalado em um caminho personalizado.",
"log_batch_add_failed": "Falha na adição em lote: {0}",
"log_batch_remove_failed": "Falha na remoção em lote: {0}",
"log_copied_config": "Config de {0} copiada para a área de transferência",
"log_gen_config_failed": "Falha ao gerar config",
"log_copy_config_failed": "Falha ao copiar config: {0}",
"log_copied_command": "Comando {0} copiado para a área de transferência",
"log_copy_command_failed": "Falha ao copiar comando: {0}",
"log_opened_config_file": "Arquivo de config aberto: {0}",
"log_open_config_failed": "Falha ao abrir arquivo de config",
"log_open_config_error": "Falha ao abrir arquivo de config: {0}",
"update_available_title": "Atualização disponível",
"update_new_version": "A nova versão v{0} está disponível!",
"update_now": "Atualizar agora",
"update_not_now": "Agora não",
"update_skip_version": "Pular v{0}",
"check_for_updates": "Verificar atualizações",
"update_checking": "Verificando...",
"update_no_update": "Você está usando a versão mais recente",
"update_urgency_critical": "Atualização crítica",
"update_urgency_high": "Atualização importante",
"update_current_version": "Versão atual: v{0}",
"update_changelog": "Registro de alterações",
"auth_choose_subtitle": "Escolha um método de login para continuar",
"update_changelog_empty": "Nenhuma nota de versão foi fornecida para esta versão.",
"subscription_login_title": "Conta de assinatura VberAI",
"subscription_password_label": "Senha",
"subscription_password_placeholder": "Digite a senha",
"subscription_login_button": "Entrar com VberAI",
"subscription_google_button": "Entrar com o Google",
"subscription_google_pending": "Navegador aberto. Conclua a autorização do Google e volte ao Cocos Creator.",
"subscription_google_pending_button": "Aguardando a autorização do Google...",
"subscription_register_button": "Criar uma conta VberAI",
"subscription_logging_in": "Entrando...",
"subscription_credentials_required": "Digite o e-mail e a senha",
"subscription_login_success": "Conectado à conta de assinatura",
"subscription_login_failed": "Falha ao entrar na assinatura",
"subscription_not_entitled": "Sua assinatura atual não inclui o Cocos 3.x MCP. Faça upgrade para continuar.",
"subscription_upgrade_to": "Faça upgrade para \"{0}\" para usar este produto",
"subscription_upgrade_action": "Fazer upgrade da assinatura",
"subscription_logged_in": "Conta conectada",
"subscription_choose_button": "Conta de assinatura VberAI",
"license_choose_button": "Código de ativação",
"subscription_method_label": "Assinatura",
"back_to_login_choices": "← Escolher outro método de login",
"subscription_signed_out_other_device": "Desconectado: sua conta foi usada em outro dispositivo.",
"subscription_google_cancelled": "O login com o Google foi cancelado.",
"subscription_request_timeout": "A solicitação expirou. Verifique sua rede e tente novamente.",
"subscription_network_error": "Falha na conexão de rede. Verifique sua rede e tente novamente.",
"subscription_server_error": "O servidor retornou uma resposta inválida. Tente novamente mais tarde.",
"subscription_google_authorization_failed": "A autorização do Google não foi concluída. Tente novamente."
,"lan_access_label": "Permitir acesso pela rede local"
,"lan_access_warning": "Vinculado a 0.0.0.0. Qualquer pessoa nesta rede pode se conectar e operar o editor — este endpoint não verifica nenhuma credencial. Ative apenas em uma rede confiável."
,"lan_address": "Endereço da rede local"
};
@@ -1,258 +0,0 @@
"use strict";
module.exports = {
"extension_name": "Cocos MCP Сервер",
"description": "AI MCP сервер для Cocos Creator 3.8",
"panel_title": "MCP Сервер",
"open_panel": "Открыть панель MCP",
"start_server": "Запустить сервер",
"stop_server": "Остановить сервер",
"server_status": "Состояние сервера",
"port": "Порт",
"settings": "Настройки",
"connected": "Подключено",
"disconnected": "Отключено",
"server_running": "Сервер работает на порту {0}",
"server_stopped": "Сервер остановлен",
"auto_start": "Автозапуск",
"debug_log": "Журнал отладки",
"max_connections": "Макс. подключений",
"connection_info": "Информация о подключении",
"http_url": "HTTP URL",
"copy": "Копировать",
"save_settings": "Сохранить",
"settings_saved": "Настройки успешно сохранены",
"server_started": "MCP сервер запущен",
"server_stopped_msg": "MCP сервер остановлен",
"failed_to_start": "Не удалось запустить сервер",
"failed_to_stop": "Не удалось остановить сервер",
"failed_to_save": "Не удалось сохранить настройки",
"url_copied": "HTTP URL скопирован в буфер обмена",
"tool_manager": "Менеджер инструментов",
"open_tool_manager": "Открыть менеджер инструментов",
"create_config": "Создать конфигурацию",
"edit_config": "Редактировать конфигурацию",
"delete_config": "Удалить конфигурацию",
"import_config": "Импортировать конфигурацию",
"export_config": "Экспортировать конфигурацию",
"apply_config": "Применить конфигурацию",
"select_all": "Выбрать все",
"deselect_all": "Снять все",
"save_changes": "Сохранить изменения",
"config_name": "Имя конфигурации",
"config_description": "Описание конфигурации",
"current_config": "Текущая конфигурация",
"tool_management": "Управление инструментами",
"total_tools": "Всего инструментов",
"enabled_tools": "Включено",
"disabled_tools": "Отключено",
"no_config_selected": "Конфигурация не выбрана",
"select_config_first": "Пожалуйста, сначала выберите или создайте конфигурацию",
"config_created": "Конфигурация успешно создана",
"config_updated": "Конфигурация успешно обновлена",
"config_deleted": "Конфигурация успешно удалена",
"config_applied": "Конфигурация успешно применена",
"config_exported": "Конфигурация успешно экспортирована",
"config_imported": "Конфигурация успешно импортирована",
"confirm_delete": "Подтвердить удаление",
"delete_config_confirm": "Вы уверены, что хотите удалить конфигурацию \"{0}\"? Это действие нельзя отменить.",
"max_config_slots_reached": "Достигнуто максимальное количество конфигураций ({0})",
"invalid_config_format": "Недопустимый формат конфигурации",
"invalid_json_format": "Недопустимый формат JSON или структура конфигурации",
"server_tab": "Сервер",
"tools_tab": "Управление инструментами",
"available_tools": "Доступные инструменты",
"scene_tools": "Инструменты сцены",
"node_tools": "Инструменты узлов",
"component_tools": "Инструменты компонентов",
"prefab_tools": "Инструменты префабов",
"project_tools": "Инструменты проекта",
"debug_tools": "Инструменты отладки",
"preferences_tools": "Настройки",
"server_tools": "Серверные инструменты",
"broadcast_tools": "Инструменты трансляции",
"scene_advanced_tools": "Расширенные инструменты сцены",
"scene_view_tools": "Инструменты просмотра сцены",
"reference_image_tools": "Инструменты эталонных изображений",
"asset_advanced_tools": "Расширенные инструменты ресурсов",
"validation_tools": "Инструменты валидации",
"brand_name": "LiDaxian MCP Series",
"brand_subtitle": "LiDaxian MCP Series",
"contact_email": "Эл. почта",
"contact_wechat": "WeChat",
"contact_github": "GitHub",
"machine_id_label": "Код машины",
"purchase_renew": "Купить / Продлить",
"purchase_url": "https://www.vberai.com/game-engines/cocos",
"auth_title": "Выберите способ входа",
"auth_subtitle": "Введите email и код активации",
"email_label": "Адрес электронной почты",
"activation_code_label": "Код активации",
"email_placeholder": "Введите email",
"code_placeholder": "Введите код (XXXXX-XXXXX-XXXXX-XXXXX-XXXXX)",
"activate_button": "Активировать",
"deactivate_button": "Деактивировать",
"activating": "Активация...",
"deactivating": "Деактивация...",
"license_status": "Состояние лицензии",
"license_type": "Тип лицензии",
"expiry_date": "Дата истечения",
"days_remaining": "Осталось дней",
"days_unit": "д",
"permanent": "Бессрочная",
"expiry_warning_title": "Срок лицензии скоро истекает",
"expiry_warning_message": "Ваша лицензия истекает через {0} дней. Пожалуйста, продлите, чтобы избежать прерывания.",
"renew_now": "Продлить сейчас",
"i_understand": "Понятно",
"activation_success": "Лицензия успешно активирована!",
"activation_failed": "Ошибка активации: {0}",
"invalid_code": "Неверный формат кода активации",
"purchase_license": "Купить лицензию",
"renew_license": "Продлить лицензию",
"contact_support": "Поддержка",
"language_switch": "Русский",
"version_label": "Версия",
"license_required": "Для запуска сервера требуется лицензия",
"license_check_failed": "Ошибка проверки лицензии",
"status_stopped": "Остановлен",
"status_running": "Работает",
"status_error": "Ошибка подключения",
"config_tab": "Быстрая настройка",
"status_label": "Состояние",
"connections_count": "Подключения",
"transport_protocol": "Транспортный протокол",
"transport_type": "Тип транспорта",
"mcp_url": "MCP URL",
"port_fallback_title": "Порт {0} занят — выполнен переход на {1}",
"net_title": "Сеть / Прокси",
"net_direct": "Прямое подключение",
"net_via": "через {0} ({1})",
"net_source_manual": "вручную",
"net_source_env": "переменная окружения",
"net_source_system": "системные настройки",
"net_mode_auto": "Автоопределение",
"net_mode_manual": "Вручную",
"net_mode_off": "Без прокси",
"net_save": "Сохранить",
"net_test": "Проверить соединение",
"net_testing": "Проверка…",
"net_test_ok": "Соединение установлено ({0} мс)",
"net_test_fail": "Ошибка: {0}",
"net_hint": "Тайм-ауты входа почти всегда связаны с сетью. При использовании VPN/прокси укажите адрес здесь (например http://127.0.0.1:7890) или переключите клиент в глобальный режим (TUN).",
"net_pac_warning": "Система использует PAC-скрипт, который плагин не может обработать. Переключитесь на «Вручную» и укажите адрес прокси.",
"port_label": "Порт",
"auto_start_label": "Автозапуск",
"debug_log_label": "Журнал отладки",
"max_connections_label": "Макс. подключений",
"server_settings_title": "Настройки сервера",
"server_status_title": "Состояние сервера",
"connection_info_title": "Информация о подключении",
"tools_count": "{0} инструментов",
"tools_stats": "{0} инструментов ({1} включено / {2} отключено)",
"quick_config_title": "Быстрая настройка клиентов MCP",
"quick_config_desc": "Автоматическая настройка MCP сервера в AI-редакторах и CLI-инструментах",
"server_info": "Информация о сервере",
"server_name_label": "Имя сервера",
"server_address": "Адрес сервера",
"timeout_ms": "Тайм-аут (мс)",
"auto_config_title": "Автонастройка (IDE + Codex CLI)",
"add_all": "Добавить все",
"remove_all": "Удалить все",
"auto_config_note": "Нажмите для автоматического изменения файлов конфигурации (Cursor, Windsurf, Trae, Codex CLI)",
"configured": "Настроено",
"not_configured": "Не настроено",
"auto_config_btn": "Автонастройка",
"delete_btn": "Удалить",
"copy_config": "Копировать конфиг",
"open_config": "Открыть конфиг",
"manual_config_title": "Ручная настройка (Claude CLI + Gemini CLI)",
"refresh_commands": "Обновить команды",
"manual_config_note": "Следующие CLI-инструменты требуют ручного выполнения в терминале",
"config_scope": "Область конфигурации:",
"scope_user": "Уровень пользователя",
"scope_project": "Уровень проекта",
"operation_log": "Журнал операций",
"no_logs": "Нет записей",
"copyright_line": "© 2025 LiDaxian - Cocos Creator MCP Server v{0}",
"protocol_line": "На основе протокола Streamable HTTP (MCP 2025-03-26)",
"tools_copyright_line1": "Система инструментов - 13 intent-level инструментов, 150+ операций редактора, диспетчеризация action-кодов",
"config_copyright_line1": "Быстрая настройка - Поддержка Cursor, Windsurf, Trae, Codex CLI, Claude CLI, Gemini CLI",
"email_required": "Пожалуйста, введите email и код активации",
"permanent_label": "Бессрочная",
"logout_button": "Выйти",
"invite_code_label": "Код приглашения",
"copy_button": "Копировать",
"change_code_button": "Сменить код",
"change_code_title": "Смена кода активации",
"change_code_desc": "Введите новый код активации. Привязка текущего устройства будет сначала снята.",
"confirm_change": "Подтвердить",
"cancel": "Отмена",
"code_required": "Пожалуйста, введите код активации",
"expiry_inline_warning": "Скоро истекает!",
"store_purchase_hint": "Если вы приобрели этот плагин в Cocos Store, свяжитесь со мной для получения кода активации.",
"license_expired_title": "Лицензия истекла",
"license_expired_message": "Ваша лицензия истекла, сервер не может быть запущен. Пожалуйста, продлите или повторно активируйте для продолжения.",
"go_to_login": "Перейти к входу",
"log_load_config_failed": "Не удалось загрузить состояние конфигурации: {0}",
"log_gen_cli_failed": "Не удалось сгенерировать команды CLI: {0}",
"log_add_client_failed": "Не удалось добавить в {0}: {1}",
"log_remove_client_failed": "Не удалось удалить из {0}: {1}",
"quick_config_dialog_title": "Настройка в один клик",
"config_operation_failed": "Операция настройки не удалась",
"config_file_not_found_changed_path": "Ошибка настройки: файл конфигурации не найден. Возможно, {0} установлен в пользовательский путь.",
"log_batch_add_failed": "Пакетное добавление не удалось: {0}",
"log_batch_remove_failed": "Пакетное удаление не удалось: {0}",
"log_copied_config": "Конфигурация {0} скопирована в буфер обмена",
"log_gen_config_failed": "Не удалось сгенерировать конфигурацию",
"log_copy_config_failed": "Не удалось скопировать конфигурацию: {0}",
"log_copied_command": "Команда {0} скопирована в буфер обмена",
"log_copy_command_failed": "Не удалось скопировать команду: {0}",
"log_opened_config_file": "Файл конфигурации открыт: {0}",
"log_open_config_failed": "Не удалось открыть файл конфигурации",
"log_open_config_error": "Не удалось открыть файл конфигурации: {0}",
"update_available_title": "Доступно обновление",
"update_new_version": "Новая версия v{0} доступна!",
"update_now": "Обновить сейчас",
"update_not_now": "Позже",
"update_skip_version": "Пропустить v{0}",
"check_for_updates": "Проверить обновления",
"update_checking": "Проверка...",
"update_no_update": "У вас последняя версия",
"update_urgency_critical": "Критическое обновление",
"update_urgency_high": "Важное обновление",
"update_current_version": "Текущая версия: v{0}",
"update_changelog": "Список изменений",
"auth_choose_subtitle": "Выберите способ входа, чтобы продолжить",
"update_changelog_empty": "Для этой версии не указаны примечания к выпуску.",
"subscription_login_title": "Аккаунт подписки VberAI",
"subscription_password_label": "Пароль",
"subscription_password_placeholder": "Введите пароль",
"subscription_login_button": "Войти через VberAI",
"subscription_google_button": "Войти через Google",
"subscription_google_pending": "Браузер открыт. Завершите авторизацию Google, затем вернитесь в Cocos Creator.",
"subscription_google_pending_button": "Ожидание авторизации Google...",
"subscription_register_button": "Создать аккаунт VberAI",
"subscription_logging_in": "Вход...",
"subscription_credentials_required": "Введите адрес электронной почты и пароль",
"subscription_login_success": "Вход в аккаунт подписки выполнен",
"subscription_login_failed": "Не удалось войти в аккаунт подписки",
"subscription_not_entitled": "Ваша текущая подписка не включает Cocos 3.x MCP. Оформите повышение, чтобы продолжить.",
"subscription_upgrade_to": "Перейдите на «{0}», чтобы использовать этот продукт",
"subscription_upgrade_action": "Повысить подписку",
"subscription_logged_in": "Вошедший аккаунт",
"subscription_choose_button": "Аккаунт подписки VberAI",
"license_choose_button": "Код активации",
"subscription_method_label": "Подписка",
"back_to_login_choices": "← Выбрать другой способ входа",
"subscription_signed_out_other_device": "Выполнен выход: ваш аккаунт использовался на другом устройстве.",
"subscription_google_cancelled": "Вход через Google отменён.",
"subscription_request_timeout": "Время ожидания запроса истекло. Проверьте сеть и повторите попытку.",
"subscription_network_error": "Сбой сетевого подключения. Проверьте сеть и повторите попытку.",
"subscription_server_error": "Сервер вернул недопустимый ответ. Повторите попытку позже.",
"subscription_google_authorization_failed": "Авторизация Google не завершена. Повторите попытку."
,"lan_access_label": "Разрешить доступ по локальной сети"
,"lan_access_warning": "Привязано к 0.0.0.0. Любой в этой сети может подключиться и управлять редактором — эта конечная точка не проверяет никаких учётных данных. Включайте только в доверенной сети."
,"lan_address": "Адрес в локальной сети"
};
@@ -1,259 +0,0 @@
"use strict";
module.exports = {
"extension_name": "Cocos MCP Server",
"description": "เซิร์ฟเวอร์ AI MCP สำหรับ Cocos Creator 3.8",
"panel_title": "เซิร์ฟเวอร์ MCP",
"open_panel": "เปิดแผง MCP",
"start_server": "เริ่มเซิร์ฟเวอร์",
"stop_server": "หยุดเซิร์ฟเวอร์",
"server_status": "สถานะเซิร์ฟเวอร์",
"port": "พอร์ต",
"settings": "การตั้งค่า",
"connected": "เชื่อมต่อแล้ว",
"disconnected": "ตัดการเชื่อมต่อแล้ว",
"server_running": "เซิร์ฟเวอร์กำลังทำงานบนพอร์ต {0}",
"server_stopped": "เซิร์ฟเวอร์หยุดทำงานแล้ว",
"auto_start": "เริ่มอัตโนมัติ",
"debug_log": "บันทึกดีบัก",
"max_connections": "จำนวนการเชื่อมต่อสูงสุด",
"connection_info": "ข้อมูลการเชื่อมต่อ",
"http_url": "HTTP URL",
"copy": "คัดลอก",
"save_settings": "บันทึกการตั้งค่า",
"settings_saved": "บันทึกการตั้งค่าสำเร็จ",
"server_started": "เซิร์ฟเวอร์ MCP เริ่มทำงานแล้ว",
"server_stopped_msg": "เซิร์ฟเวอร์ MCP หยุดทำงานแล้ว",
"failed_to_start": "เริ่มเซิร์ฟเวอร์ไม่สำเร็จ",
"failed_to_stop": "หยุดเซิร์ฟเวอร์ไม่สำเร็จ",
"failed_to_save": "บันทึกการตั้งค่าไม่สำเร็จ",
"url_copied": "คัดลอก HTTP URL ไปยังคลิปบอร์ดแล้ว",
"tool_manager": "ตัวจัดการเครื่องมือ",
"open_tool_manager": "เปิดตัวจัดการเครื่องมือ",
"create_config": "สร้างการกำหนดค่า",
"edit_config": "แก้ไขการกำหนดค่า",
"delete_config": "ลบการกำหนดค่า",
"import_config": "นำเข้าการกำหนดค่า",
"export_config": "ส่งออกการกำหนดค่า",
"apply_config": "ใช้การกำหนดค่า",
"select_all": "เลือกทั้งหมด",
"deselect_all": "ยกเลิกเลือกทั้งหมด",
"save_changes": "บันทึกการเปลี่ยนแปลง",
"config_name": "ชื่อการกำหนดค่า",
"config_description": "คำอธิบายการกำหนดค่า",
"current_config": "การกำหนดค่าปัจจุบัน",
"tool_management": "การจัดการเครื่องมือ",
"total_tools": "เครื่องมือทั้งหมด",
"enabled_tools": "เปิดใช้งาน",
"disabled_tools": "ปิดใช้งาน",
"no_config_selected": "ยังไม่ได้เลือกการกำหนดค่า",
"select_config_first": "โปรดเลือกการกำหนดค่า หรือสร้างการกำหนดค่าใหม่ก่อน",
"config_created": "สร้างการกำหนดค่าสำเร็จ",
"config_updated": "อัปเดตการกำหนดค่าสำเร็จ",
"config_deleted": "ลบการกำหนดค่าสำเร็จ",
"config_applied": "ใช้การกำหนดค่าสำเร็จ",
"config_exported": "ส่งออกการกำหนดค่าสำเร็จ",
"config_imported": "นำเข้าการกำหนดค่าสำเร็จ",
"confirm_delete": "ยืนยันการลบ",
"delete_config_confirm": "คุณแน่ใจหรือไม่ว่าต้องการลบการกำหนดค่า \"{0}\" การดำเนินการนี้ไม่สามารถย้อนกลับได้",
"max_config_slots_reached": "ถึงจำนวนช่องการกำหนดค่าสูงสุดแล้ว ({0})",
"invalid_config_format": "รูปแบบการกำหนดค่าไม่ถูกต้อง",
"invalid_json_format": "รูปแบบ JSON หรือโครงสร้างการกำหนดค่าไม่ถูกต้อง",
"server_tab": "เซิร์ฟเวอร์",
"tools_tab": "การจัดการเครื่องมือ",
"available_tools": "เครื่องมือที่ใช้ได้",
"scene_tools": "เครื่องมือฉาก",
"node_tools": "เครื่องมือโหนด",
"component_tools": "เครื่องมือคอมโพเนนต์",
"prefab_tools": "เครื่องมือ Prefab",
"project_tools": "เครื่องมือโปรเจกต์",
"debug_tools": "เครื่องมือดีบัก",
"preferences_tools": "การตั้งค่าส่วนตัว",
"server_tools": "เครื่องมือเซิร์ฟเวอร์",
"broadcast_tools": "เครื่องมือบรอดแคสต์",
"scene_advanced_tools": "เครื่องมือฉากขั้นสูง",
"scene_view_tools": "เครื่องมือมุมมองฉาก",
"reference_image_tools": "เครื่องมือภาพอ้างอิง",
"asset_advanced_tools": "เครื่องมือแอสเซทขั้นสูง",
"validation_tools": "เครื่องมือตรวจสอบความถูกต้อง",
"brand_name": "LiDaxian MCP Series",
"brand_subtitle": "LiDaxian MCP Series",
"contact_email": "อีเมล",
"contact_wechat": "WeChat",
"contact_github": "GitHub",
"machine_id_label": "รหัสเครื่อง",
"purchase_renew": "ซื้อ / ต่ออายุ",
"purchase_url": "https://www.vberai.com/game-engines/cocos",
"auth_title": "เลือกวิธีเข้าสู่ระบบ",
"auth_subtitle": "กรอกอีเมลและรหัสเปิดใช้งานของคุณ",
"auth_choose_subtitle": "เลือกวิธีเข้าสู่ระบบเพื่อดำเนินการต่อ",
"email_label": "ที่อยู่อีเมล",
"activation_code_label": "รหัสเปิดใช้งาน",
"email_placeholder": "กรอกอีเมล",
"code_placeholder": "กรอกรหัส (XXXXX-XXXXX-XXXXX-XXXXX-XXXXX)",
"activate_button": "เปิดใช้งาน",
"deactivate_button": "ยกเลิกการเปิดใช้งาน",
"activating": "กำลังเปิดใช้งาน...",
"deactivating": "กำลังยกเลิกการเปิดใช้งาน...",
"license_status": "สถานะไลเซนส์",
"license_type": "ประเภทไลเซนส์",
"expiry_date": "วันหมดอายุ",
"days_remaining": "จำนวนวันที่เหลือ",
"days_unit": "วัน",
"permanent": "ถาวร",
"expiry_warning_title": "ไลเซนส์ใกล้หมดอายุ",
"expiry_warning_message": "ไลเซนส์ของคุณจะหมดอายุในอีก {0} วัน โปรดต่ออายุเพื่อไม่ให้บริการหยุดชะงัก",
"renew_now": "ต่ออายุตอนนี้",
"i_understand": "รับทราบ",
"activation_success": "เปิดใช้งานไลเซนส์สำเร็จ!",
"activation_failed": "เปิดใช้งานไม่สำเร็จ: {0}",
"invalid_code": "รูปแบบรหัสเปิดใช้งานไม่ถูกต้อง",
"purchase_license": "ซื้อไลเซนส์",
"renew_license": "ต่ออายุไลเซนส์",
"contact_support": "ฝ่ายสนับสนุน",
"language_switch": "ไทย",
"version_label": "เวอร์ชัน",
"license_required": "ต้องมีไลเซนส์จึงจะเริ่มเซิร์ฟเวอร์ได้",
"license_check_failed": "ตรวจสอบไลเซนส์ไม่สำเร็จ",
"status_stopped": "หยุดแล้ว",
"status_running": "กำลังทำงาน",
"status_error": "เชื่อมต่อไม่สำเร็จ",
"config_tab": "ตั้งค่าด่วน",
"status_label": "สถานะ",
"connections_count": "การเชื่อมต่อ",
"transport_protocol": "โปรโตคอลการรับส่ง",
"transport_type": "ประเภทการรับส่ง",
"mcp_url": "MCP URL",
"port_fallback_title": "พอร์ต {0} ถูกใช้งานอยู่ จึงเปลี่ยนเป็น {1}",
"net_title": "เครือข่าย / พร็อกซี",
"net_direct": "เชื่อมต่อโดยตรง",
"net_via": "ผ่าน {0} ({1})",
"net_source_manual": "กำหนดเอง",
"net_source_env": "ตัวแปรสภาพแวดล้อม",
"net_source_system": "การตั้งค่าระบบ",
"net_mode_auto": "ตรวจหาอัตโนมัติ",
"net_mode_manual": "กำหนดเอง",
"net_mode_off": "ไม่ใช้พร็อกซี",
"net_save": "บันทึก",
"net_test": "ทดสอบการเชื่อมต่อ",
"net_testing": "กำลังทดสอบ…",
"net_test_ok": "เชื่อมต่อได้ ({0} ms)",
"net_test_fail": "เชื่อมต่อไม่ได้: {0}",
"net_hint": "การหมดเวลาเข้าสู่ระบบมักเกิดจากเครือข่าย หากใช้ VPN/พร็อกซี ให้กรอกที่อยู่ (เช่น http://127.0.0.1:7890) หรือสลับโปรแกรมพร็อกซีเป็นโหมดทั่วโลก (TUN)",
"net_pac_warning": "ระบบใช้สคริปต์ PAC ซึ่งปลั๊กอินอ่านไม่ได้ กรุณาเลือก \"กำหนดเอง\" และกรอกที่อยู่พร็อกซี",
"port_label": "พอร์ต",
"auto_start_label": "เริ่มอัตโนมัติ",
"debug_log_label": "บันทึกดีบัก",
"max_connections_label": "จำนวนการเชื่อมต่อสูงสุด",
"server_settings_title": "การตั้งค่าเซิร์ฟเวอร์",
"server_status_title": "สถานะเซิร์ฟเวอร์",
"connection_info_title": "ข้อมูลการเชื่อมต่อ",
"tools_count": "{0} เครื่องมือ",
"tools_stats": "{0} เครื่องมือ ({1} เปิดใช้งาน / {2} ปิดใช้งาน)",
"quick_config_title": "ตั้งค่าไคลเอนต์ MCP อย่างรวดเร็ว",
"quick_config_desc": "กำหนดค่าเซิร์ฟเวอร์ MCP ปัจจุบันลงในโปรแกรมแก้ไข AI และเครื่องมือ CLI ยอดนิยมโดยอัตโนมัติ",
"server_info": "ข้อมูลเซิร์ฟเวอร์",
"server_name_label": "ชื่อเซิร์ฟเวอร์",
"server_address": "ที่อยู่เซิร์ฟเวอร์",
"timeout_ms": "หมดเวลา (มิลลิวินาที)",
"auto_config_title": "กำหนดค่าอัตโนมัติ (โปรแกรมแก้ไข IDE + Codex CLI)",
"add_all": "เพิ่มทั้งหมด",
"remove_all": "ลบทั้งหมด",
"auto_config_note": "คลิกปุ่มเพื่อแก้ไขไฟล์กำหนดค่าโดยอัตโนมัติ (Cursor, Windsurf, Trae, Codex CLI)",
"configured": "กำหนดค่าแล้ว",
"not_configured": "ยังไม่ได้กำหนดค่า",
"auto_config_btn": "กำหนดค่าอัตโนมัติ",
"delete_btn": "ลบ",
"copy_config": "คัดลอกการกำหนดค่า",
"open_config": "เปิดการกำหนดค่า",
"manual_config_title": "กำหนดค่าด้วยตนเอง (Claude CLI + Gemini CLI)",
"refresh_commands": "รีเฟรชคำสั่ง",
"manual_config_note": "เครื่องมือ CLI ต่อไปนี้ต้องรันคำสั่งในเทอร์มินัลด้วยตนเอง",
"config_scope": "ขอบเขตการกำหนดค่า:",
"scope_user": "ระดับผู้ใช้",
"scope_project": "ระดับโปรเจกต์",
"operation_log": "บันทึกการดำเนินการ",
"no_logs": "ไม่มีบันทึกการดำเนินการ",
"copyright_line": "© 2025 LiDaxian - Cocos Creator MCP Server v{0}",
"protocol_line": "อิงตามโปรโตคอล Streamable HTTP (MCP 2025-03-26)",
"tools_copyright_line1": "ระบบเครื่องมือ - เครื่องมือระดับเจตนา 13 รายการ, การดำเนินการในโปรแกรมแก้ไขกว่า 150 รายการ, ส่งต่อด้วยรหัส action",
"config_copyright_line1": "ตั้งค่าด่วน - รองรับ Cursor, Windsurf, Trae, Codex CLI, Claude CLI, Gemini CLI",
"email_required": "โปรดกรอกอีเมลและรหัสเปิดใช้งาน",
"permanent_label": "ถาวร",
"logout_button": "ออกจากระบบ",
"invite_code_label": "รหัสเชิญ",
"copy_button": "คัดลอก",
"change_code_button": "เปลี่ยนรหัส",
"change_code_title": "เปลี่ยนรหัสเปิดใช้งาน",
"change_code_desc": "กรอกรหัสเปิดใช้งานใหม่ของคุณ การผูกอุปกรณ์ปัจจุบันจะถูกยกเลิกก่อน",
"confirm_change": "ยืนยัน",
"cancel": "ยกเลิก",
"code_required": "โปรดกรอกรหัสเปิดใช้งาน",
"expiry_inline_warning": "ใกล้หมดอายุ!",
"store_purchase_hint": "หากคุณซื้อปลั๊กอินนี้จาก Cocos Store โปรดติดต่อผมเพื่อรับรหัสเปิดใช้งาน",
"license_expired_title": "ไลเซนส์หมดอายุ",
"license_expired_message": "ไลเซนส์ของคุณหมดอายุแล้ว จึงไม่สามารถเริ่มเซิร์ฟเวอร์ได้ โปรดต่ออายุหรือเปิดใช้งานใหม่เพื่อดำเนินการต่อ",
"go_to_login": "ไปที่หน้าเข้าสู่ระบบ",
"log_load_config_failed": "โหลดสถานะการกำหนดค่าไม่สำเร็จ: {0}",
"log_gen_cli_failed": "สร้างคำสั่ง CLI ไม่สำเร็จ: {0}",
"log_add_client_failed": "เพิ่มลงใน {0} ไม่สำเร็จ: {1}",
"log_remove_client_failed": "ลบออกจาก {0} ไม่สำเร็จ: {1}",
"quick_config_dialog_title": "กำหนดค่าด้วยคลิกเดียว",
"config_operation_failed": "การดำเนินการกำหนดค่าไม่สำเร็จ",
"config_file_not_found_changed_path": "กำหนดค่าไม่สำเร็จ: ไม่พบไฟล์กำหนดค่า {0} อาจถูกติดตั้งไว้ในพาธที่กำหนดเอง",
"log_batch_add_failed": "เพิ่มแบบกลุ่มไม่สำเร็จ: {0}",
"log_batch_remove_failed": "ลบแบบกลุ่มไม่สำเร็จ: {0}",
"log_copied_config": "คัดลอกการกำหนดค่า {0} ไปยังคลิปบอร์ดแล้ว",
"log_gen_config_failed": "สร้างการกำหนดค่าไม่สำเร็จ",
"log_copy_config_failed": "คัดลอกการกำหนดค่าไม่สำเร็จ: {0}",
"log_copied_command": "คัดลอกคำสั่ง {0} ไปยังคลิปบอร์ดแล้ว",
"log_copy_command_failed": "คัดลอกคำสั่งไม่สำเร็จ: {0}",
"log_opened_config_file": "เปิดไฟล์กำหนดค่าแล้ว: {0}",
"log_open_config_failed": "เปิดไฟล์กำหนดค่าไม่สำเร็จ",
"log_open_config_error": "เปิดไฟล์กำหนดค่าไม่สำเร็จ: {0}",
"update_available_title": "มีอัปเดตใหม่",
"update_new_version": "มีเวอร์ชันใหม่ v{0} แล้ว!",
"update_now": "อัปเดตตอนนี้",
"update_not_now": "ไว้ทีหลัง",
"update_skip_version": "ข้าม v{0}",
"check_for_updates": "ตรวจหาอัปเดต",
"update_checking": "กำลังตรวจสอบ...",
"update_no_update": "คุณกำลังใช้เวอร์ชันล่าสุดอยู่แล้ว",
"update_urgency_critical": "อัปเดตเร่งด่วน",
"update_urgency_high": "อัปเดตสำคัญ",
"update_current_version": "เวอร์ชันปัจจุบัน: v{0}",
"update_changelog": "บันทึกการเปลี่ยนแปลง"
,"update_changelog_empty": "ไม่มีบันทึกการเปลี่ยนแปลงสำหรับเวอร์ชันนี้"
,"subscription_login_title": "บัญชีสมาชิก VberAI"
,"subscription_password_label": "รหัสผ่าน"
,"subscription_password_placeholder": "กรอกรหัสผ่าน"
,"subscription_login_button": "เข้าสู่ระบบด้วย VberAI"
,"subscription_google_button": "เข้าสู่ระบบด้วย Google"
,"subscription_google_pending": "เปิดเบราว์เซอร์แล้ว โปรดทำการอนุญาตผ่าน Google ให้เสร็จ แล้วกลับมาที่ Cocos Creator"
,"subscription_google_pending_button": "กำลังรอการอนุญาตจาก Google..."
,"subscription_register_button": "สร้างบัญชี VberAI"
,"subscription_logging_in": "กำลังเข้าสู่ระบบ..."
,"subscription_credentials_required": "โปรดกรอกอีเมลและรหัสผ่าน"
,"subscription_login_success": "เข้าสู่ระบบบัญชีสมาชิกแล้ว"
,"subscription_login_failed": "เข้าสู่ระบบบัญชีสมาชิกไม่สำเร็จ"
,"subscription_not_entitled": "การสมัครสมาชิกปัจจุบันของคุณไม่รวม Cocos 3.x MCP โปรดอัปเกรดเพื่อดำเนินการต่อ"
,"subscription_upgrade_to": "อัปเกรดเป็น {0} เพื่อใช้ผลิตภัณฑ์นี้"
,"subscription_upgrade_action": "อัปเกรดการสมัครสมาชิก"
,"subscription_logged_in": "บัญชีที่เข้าสู่ระบบ"
,"subscription_choose_button": "บัญชีสมาชิก VberAI"
,"license_choose_button": "รหัสเปิดใช้งาน"
,"subscription_method_label": "สมาชิก"
,"back_to_login_choices": "← เลือกวิธีเข้าสู่ระบบอื่น"
,"subscription_signed_out_other_device": "ออกจากระบบแล้ว: บัญชีของคุณถูกใช้งานบนอุปกรณ์อื่น"
,"subscription_google_cancelled": "การเข้าสู่ระบบด้วย Google ถูกยกเลิก"
,"subscription_request_timeout": "คำขอหมดเวลา โปรดตรวจสอบเครือข่ายแล้วลองใหม่อีกครั้ง"
,"subscription_network_error": "การเชื่อมต่อเครือข่ายล้มเหลว โปรดตรวจสอบเครือข่ายแล้วลองใหม่อีกครั้ง"
,"subscription_server_error": "เซิร์ฟเวอร์ตอบกลับไม่ถูกต้อง โปรดลองใหม่ภายหลัง"
,"subscription_google_authorization_failed": "การอนุญาตผ่าน Google ไม่เสร็จสมบูรณ์ โปรดลองใหม่อีกครั้ง"
,"lan_access_label": "อนุญาตการเข้าถึงผ่าน LAN"
,"lan_access_warning": "ผูกกับ 0.0.0.0 แล้ว ใครก็ตามในเครือข่ายนี้สามารถเชื่อมต่อและควบคุมโปรแกรมแก้ไขได้ ปลายทางนี้ไม่ตรวจสอบข้อมูลรับรองใด ๆ เปิดใช้เฉพาะในเครือข่ายที่เชื่อถือได้เท่านั้น"
,"lan_address": "ที่อยู่ LAN"
};
@@ -1,259 +0,0 @@
"use strict";
module.exports = {
"extension_name": "Cocos MCP Server",
"description": "Cocos Creator 3.8 için AI MCP Sunucusu",
"panel_title": "MCP Sunucusu",
"open_panel": "MCP Panelini Aç",
"start_server": "Sunucuyu Başlat",
"stop_server": "Sunucuyu Durdur",
"server_status": "Sunucu Durumu",
"port": "Bağlantı Noktası",
"settings": "Ayarlar",
"connected": "Bağlandı",
"disconnected": "Bağlantı Kesildi",
"server_running": "Sunucu {0} numaralı bağlantı noktasında çalışıyor",
"server_stopped": "Sunucu durduruldu",
"auto_start": "Otomatik Başlat",
"debug_log": "Hata Ayıklama Günlüğü",
"max_connections": "Maksimum Bağlantı",
"connection_info": "Bağlantı Bilgisi",
"http_url": "HTTP URL",
"copy": "Kopyala",
"save_settings": "Ayarları Kaydet",
"settings_saved": "Ayarlar başarıyla kaydedildi",
"server_started": "MCP Sunucusu Başlatıldı",
"server_stopped_msg": "MCP Sunucusu Durduruldu",
"failed_to_start": "Sunucu başlatılamadı",
"failed_to_stop": "Sunucu durdurulamadı",
"failed_to_save": "Ayarlar kaydedilemedi",
"url_copied": "HTTP URL panoya kopyalandı",
"tool_manager": "Araç Yöneticisi",
"open_tool_manager": "Araç Yöneticisini Aç",
"create_config": "Yapılandırma Oluştur",
"edit_config": "Yapılandırmayı Düzenle",
"delete_config": "Yapılandırmayı Sil",
"import_config": "Yapılandırma İçe Aktar",
"export_config": "Yapılandırma Dışa Aktar",
"apply_config": "Yapılandırmayı Uygula",
"select_all": "Tümünü Seç",
"deselect_all": "Tüm Seçimi Kaldır",
"save_changes": "Değişiklikleri Kaydet",
"config_name": "Yapılandırma Adı",
"config_description": "Yapılandırma Açıklaması",
"current_config": "Geçerli Yapılandırma",
"tool_management": "Araç Yönetimi",
"total_tools": "Toplam Araç",
"enabled_tools": "Etkin",
"disabled_tools": "Devre Dışı",
"no_config_selected": "Yapılandırma Seçilmedi",
"select_config_first": "Lütfen önce bir yapılandırma seçin veya yeni bir tane oluşturun",
"config_created": "Yapılandırma başarıyla oluşturuldu",
"config_updated": "Yapılandırma başarıyla güncellendi",
"config_deleted": "Yapılandırma başarıyla silindi",
"config_applied": "Yapılandırma başarıyla uygulandı",
"config_exported": "Yapılandırma başarıyla dışa aktarıldı",
"config_imported": "Yapılandırma başarıyla içe aktarıldı",
"confirm_delete": "Silmeyi Onayla",
"delete_config_confirm": "\"{0}\" yapılandırmasını silmek istediğinizden emin misiniz? Bu işlem geri alınamaz.",
"max_config_slots_reached": "Maksimum yapılandırma yuvası sayısına ulaşıldı ({0})",
"invalid_config_format": "Geçersiz yapılandırma biçimi",
"invalid_json_format": "Geçersiz JSON biçimi veya yapılandırma yapısı",
"server_tab": "Sunucu",
"tools_tab": "Araç Yönetimi",
"available_tools": "Kullanılabilir Araçlar",
"scene_tools": "Sahne Araçları",
"node_tools": "Düğüm Araçları",
"component_tools": "Bileşen Araçları",
"prefab_tools": "Prefab Araçları",
"project_tools": "Proje Araçları",
"debug_tools": "Hata Ayıklama Araçları",
"preferences_tools": "Tercihler",
"server_tools": "Sunucu Araçları",
"broadcast_tools": "Yayın Araçları",
"scene_advanced_tools": "Gelişmiş Sahne Araçları",
"scene_view_tools": "Sahne Görünümü Araçları",
"reference_image_tools": "Referans Görsel Araçları",
"asset_advanced_tools": "Gelişmiş Varlık Araçları",
"validation_tools": "Doğrulama Araçları",
"brand_name": "LiDaxian MCP Series",
"brand_subtitle": "LiDaxian MCP Series",
"contact_email": "E-posta",
"contact_wechat": "WeChat",
"contact_github": "GitHub",
"machine_id_label": "Makine Kimliği",
"purchase_renew": "Satın Al / Yenile",
"purchase_url": "https://www.vberai.com/game-engines/cocos",
"auth_title": "Bir oturum açma yöntemi seçin",
"auth_subtitle": "E-postanızı ve etkinleştirme kodunuzu girin",
"auth_choose_subtitle": "Devam etmek için bir oturum açma yöntemi seçin",
"email_label": "E-posta Adresi",
"activation_code_label": "Etkinleştirme Kodu",
"email_placeholder": "E-posta girin",
"code_placeholder": "Kodu girin (XXXXX-XXXXX-XXXXX-XXXXX-XXXXX)",
"activate_button": "Etkinleştir",
"deactivate_button": "Devre Dışı Bırak",
"activating": "Etkinleştiriliyor...",
"deactivating": "Devre dışı bırakılıyor...",
"license_status": "Lisans Durumu",
"license_type": "Lisans Türü",
"expiry_date": "Son Kullanma Tarihi",
"days_remaining": "Kalan Gün",
"days_unit": "gün",
"permanent": "Kalıcı",
"expiry_warning_title": "Lisansın Süresi Yakında Doluyor",
"expiry_warning_message": "Lisansınızın süresi {0} gün içinde dolacak. Hizmet kesintisini önlemek için lütfen yenileyin.",
"renew_now": "Şimdi Yenile",
"i_understand": "Anladım",
"activation_success": "Lisans başarıyla etkinleştirildi!",
"activation_failed": "Etkinleştirme başarısız: {0}",
"invalid_code": "Geçersiz etkinleştirme kodu biçimi",
"purchase_license": "Lisans Satın Al",
"renew_license": "Lisansı Yenile",
"contact_support": "Destek",
"language_switch": "Türkçe",
"version_label": "Sürüm",
"license_required": "Sunucuyu başlatmak için lisans gerekli",
"license_check_failed": "Lisans denetimi başarısız",
"status_stopped": "Durduruldu",
"status_running": "Çalışıyor",
"status_error": "Bağlantı Başarısız",
"config_tab": "Hızlı Yapılandırma",
"status_label": "Durum",
"connections_count": "Bağlantılar",
"transport_protocol": "Aktarım Protokolü",
"transport_type": "Aktarım Türü",
"mcp_url": "MCP URL",
"port_fallback_title": "Port {0} kullanımda — {1} portuna geçildi",
"net_title": "Ağ / Proxy",
"net_direct": "Doğrudan bağlantı",
"net_via": "{0} üzerinden ({1})",
"net_source_manual": "elle",
"net_source_env": "ortam değişkeni",
"net_source_system": "sistem ayarları",
"net_mode_auto": "Otomatik algıla",
"net_mode_manual": "Elle",
"net_mode_off": "Proxy yok",
"net_save": "Kaydet",
"net_test": "Bağlantıyı test et",
"net_testing": "Test ediliyor…",
"net_test_ok": "Bağlandı ({0} ms)",
"net_test_fail": "Başarısız: {0}",
"net_hint": "Oturum açma zaman aşımları genellikle ağ kaynaklıdır. VPN/proxy kullanıyorsanız adresini buraya girin (örn. http://127.0.0.1:7890) ya da istemciyi global (TUN) moda alın.",
"net_pac_warning": "Sistem, bu eklentinin çözemediği bir PAC betiği kullanıyor. Elle moduna geçip proxy adresini girin.",
"port_label": "Bağlantı Noktası",
"auto_start_label": "Otomatik Başlat",
"debug_log_label": "Hata Ayıklama Günlüğü",
"max_connections_label": "Maksimum Bağlantı",
"server_settings_title": "Sunucu Ayarları",
"server_status_title": "Sunucu Durumu",
"connection_info_title": "Bağlantı Bilgisi",
"tools_count": "{0} araç",
"tools_stats": "{0} araç ({1} etkin / {2} devre dışı)",
"quick_config_title": "MCP İstemcilerini Hızlı Yapılandır",
"quick_config_desc": "Geçerli MCP sunucusunu yaygın AI editörlerine ve CLI araçlarına otomatik olarak yapılandırın",
"server_info": "Sunucu Bilgisi",
"server_name_label": "Sunucu Adı",
"server_address": "Sunucu Adresi",
"timeout_ms": "Zaman Aşımı (ms)",
"auto_config_title": "Otomatik Yapılandırma (IDE Editörleri + Codex CLI)",
"add_all": "Tümünü Ekle",
"remove_all": "Tümünü Kaldır",
"auto_config_note": "Yapılandırma dosyalarını otomatik değiştirmek için düğmeye tıklayın (Cursor, Windsurf, Trae, Codex CLI)",
"configured": "Yapılandırıldı",
"not_configured": "Yapılandırılmadı",
"auto_config_btn": "Otomatik Yapılandır",
"delete_btn": "Sil",
"copy_config": "Yapılandırmayı Kopyala",
"open_config": "Yapılandırmayı Aç",
"manual_config_title": "Manuel Yapılandırma (Claude CLI + Gemini CLI)",
"refresh_commands": "Komutları Yenile",
"manual_config_note": "Aşağıdaki CLI araçları için terminal komutlarının elle çalıştırılması gerekir",
"config_scope": "Yapılandırma Kapsamı:",
"scope_user": "Kullanıcı Düzeyi",
"scope_project": "Proje Düzeyi",
"operation_log": "İşlem Günlüğü",
"no_logs": "İşlem kaydı yok",
"copyright_line": "© 2025 LiDaxian - Cocos Creator MCP Server v{0}",
"protocol_line": "Streamable HTTP Protokolü temellidir (MCP 2025-03-26)",
"tools_copyright_line1": "Araç Sistemi - 13 amaç düzeyinde araç, 150+ editör işlemi, action kodu ile dağıtım",
"config_copyright_line1": "Hızlı Yapılandırma - Cursor, Windsurf, Trae, Codex CLI, Claude CLI, Gemini CLI desteklenir",
"email_required": "Lütfen e-posta ve etkinleştirme kodunu girin",
"permanent_label": "Kalıcı",
"logout_button": "Çıkış Yap",
"invite_code_label": "Davet Kodu",
"copy_button": "Kopyala",
"change_code_button": "Kodu Değiştir",
"change_code_title": "Etkinleştirme Kodunu Değiştir",
"change_code_desc": "Yeni etkinleştirme kodunuzu girin. Geçerli cihaz bağlaması önce serbest bırakılacaktır.",
"confirm_change": "Onayla",
"cancel": "İptal",
"code_required": "Lütfen bir etkinleştirme kodu girin",
"expiry_inline_warning": "Süresi yakında doluyor!",
"store_purchase_hint": "Bu eklentiyi Cocos Store'dan satın aldıysanız, etkinleştirme kodunuzu almak için lütfen benimle iletişime geçin.",
"license_expired_title": "Lisansın Süresi Doldu",
"license_expired_message": "Lisansınızın süresi doldu ve sunucu başlatılamıyor. Devam etmek için lütfen yenileyin veya yeniden etkinleştirin.",
"go_to_login": "Oturum Açmaya Git",
"log_load_config_failed": "Yapılandırma durumu yüklenemedi: {0}",
"log_gen_cli_failed": "CLI komutları oluşturulamadı: {0}",
"log_add_client_failed": "{0} öğesine eklenemedi: {1}",
"log_remove_client_failed": "{0} öğesinden kaldırılamadı: {1}",
"quick_config_dialog_title": "Tek Tıkla Yapılandırma",
"config_operation_failed": "Yapılandırma işlemi başarısız",
"config_file_not_found_changed_path": "Yapılandırma başarısız: yapılandırma dosyası bulunamadı. {0} özel bir yola kurulmuş olabilir.",
"log_batch_add_failed": "Toplu ekleme başarısız: {0}",
"log_batch_remove_failed": "Toplu kaldırma başarısız: {0}",
"log_copied_config": "{0} yapılandırması panoya kopyalandı",
"log_gen_config_failed": "Yapılandırma oluşturulamadı",
"log_copy_config_failed": "Yapılandırma kopyalanamadı: {0}",
"log_copied_command": "{0} komutu panoya kopyalandı",
"log_copy_command_failed": "Komut kopyalanamadı: {0}",
"log_opened_config_file": "Yapılandırma dosyası açıldı: {0}",
"log_open_config_failed": "Yapılandırma dosyası açılamadı",
"log_open_config_error": "Yapılandırma dosyası açılamadı: {0}",
"update_available_title": "Güncelleme Mevcut",
"update_new_version": "Yeni sürüm v{0} yayınlandı!",
"update_now": "Şimdi Güncelle",
"update_not_now": "Şimdi Değil",
"update_skip_version": "v{0} sürümünü atla",
"check_for_updates": "Güncellemeleri Denetle",
"update_checking": "Denetleniyor...",
"update_no_update": "En son sürümü kullanıyorsunuz",
"update_urgency_critical": "Kritik Güncelleme",
"update_urgency_high": "Önemli Güncelleme",
"update_current_version": "Geçerli sürüm: v{0}",
"update_changelog": "Değişiklik Günlüğü"
,"update_changelog_empty": "Bu sürüm için sürüm notu sağlanmadı."
,"subscription_login_title": "VberAI abonelik hesabı"
,"subscription_password_label": "Parola"
,"subscription_password_placeholder": "Parolayı girin"
,"subscription_login_button": "VberAI ile oturum aç"
,"subscription_google_button": "Google ile oturum aç"
,"subscription_google_pending": "Tarayıcı açıldı. Google yetkilendirmesini tamamlayın, ardından Cocos Creator'a dönün."
,"subscription_google_pending_button": "Google yetkilendirmesi bekleniyor..."
,"subscription_register_button": "VberAI hesabı oluştur"
,"subscription_logging_in": "Oturum açılıyor..."
,"subscription_credentials_required": "Lütfen e-posta ve parolayı girin"
,"subscription_login_success": "Abonelik hesabıyla oturum açıldı"
,"subscription_login_failed": "Abonelik oturum açma başarısız"
,"subscription_not_entitled": "Mevcut aboneliğiniz Cocos 3.x MCP'yi içermiyor. Devam etmek için yükseltin."
,"subscription_upgrade_to": "Bu ürünü kullanmak için {0} planına yükseltin"
,"subscription_upgrade_action": "Aboneliği yükselt"
,"subscription_logged_in": "Oturum açılan hesap"
,"subscription_choose_button": "VberAI abonelik hesabı"
,"license_choose_button": "Etkinleştirme kodu"
,"subscription_method_label": "Abonelik"
,"back_to_login_choices": "← Başka bir oturum açma yöntemi seç"
,"subscription_signed_out_other_device": "Oturum kapatıldı: hesabınız başka bir cihazda kullanıldı."
,"subscription_google_cancelled": "Google ile oturum açma iptal edildi."
,"subscription_request_timeout": "İstek zaman aşımına uğradı. Ağınızı denetleyip yeniden deneyin."
,"subscription_network_error": "Ağ bağlantısı başarısız. Ağınızı denetleyip yeniden deneyin."
,"subscription_server_error": "Sunucu geçersiz bir yanıt döndürdü. Daha sonra yeniden deneyin."
,"subscription_google_authorization_failed": "Google yetkilendirmesi tamamlanmadı. Lütfen yeniden deneyin."
,"lan_access_label": "Yerel ağ erişimine izin ver"
,"lan_access_warning": "0.0.0.0 adresine bağlandı. Bu ağdaki herkes bağlanıp editörü kullanabilir — bu uç nokta hiçbir kimlik bilgisini doğrulamaz. Yalnızca güvendiğiniz ağlarda etkinleştirin."
,"lan_address": "Yerel ağ adresi"
};
@@ -1,259 +0,0 @@
"use strict";
module.exports = {
"extension_name": "Cocos MCP Server",
"description": "Máy chủ AI MCP cho Cocos Creator 3.8",
"panel_title": "Máy chủ MCP",
"open_panel": "Mở bảng điều khiển MCP",
"start_server": "Khởi động máy chủ",
"stop_server": "Dừng máy chủ",
"server_status": "Trạng thái máy chủ",
"port": "Cổng",
"settings": "Cài đặt",
"connected": "Đã kết nối",
"disconnected": "Đã ngắt kết nối",
"server_running": "Máy chủ đang chạy trên cổng {0}",
"server_stopped": "Máy chủ đã dừng",
"auto_start": "Tự động khởi động",
"debug_log": "Ghi nhật ký gỡ lỗi",
"max_connections": "Số kết nối tối đa",
"connection_info": "Thông tin kết nối",
"http_url": "HTTP URL",
"copy": "Sao chép",
"save_settings": "Lưu cài đặt",
"settings_saved": "Đã lưu cài đặt thành công",
"server_started": "Máy chủ MCP đã khởi động",
"server_stopped_msg": "Máy chủ MCP đã dừng",
"failed_to_start": "Không thể khởi động máy chủ",
"failed_to_stop": "Không thể dừng máy chủ",
"failed_to_save": "Không thể lưu cài đặt",
"url_copied": "Đã sao chép HTTP URL vào bảng nhớ tạm",
"tool_manager": "Trình quản lý công cụ",
"open_tool_manager": "Mở trình quản lý công cụ",
"create_config": "Tạo cấu hình",
"edit_config": "Chỉnh sửa cấu hình",
"delete_config": "Xóa cấu hình",
"import_config": "Nhập cấu hình",
"export_config": "Xuất cấu hình",
"apply_config": "Áp dụng cấu hình",
"select_all": "Chọn tất cả",
"deselect_all": "Bỏ chọn tất cả",
"save_changes": "Lưu thay đổi",
"config_name": "Tên cấu hình",
"config_description": "Mô tả cấu hình",
"current_config": "Cấu hình hiện tại",
"tool_management": "Quản lý công cụ",
"total_tools": "Tổng số công cụ",
"enabled_tools": "Đã bật",
"disabled_tools": "Đã tắt",
"no_config_selected": "Chưa chọn cấu hình",
"select_config_first": "Vui lòng chọn một cấu hình hoặc tạo cấu hình mới trước",
"config_created": "Đã tạo cấu hình thành công",
"config_updated": "Đã cập nhật cấu hình thành công",
"config_deleted": "Đã xóa cấu hình thành công",
"config_applied": "Đã áp dụng cấu hình thành công",
"config_exported": "Đã xuất cấu hình thành công",
"config_imported": "Đã nhập cấu hình thành công",
"confirm_delete": "Xác nhận xóa",
"delete_config_confirm": "Bạn có chắc chắn muốn xóa cấu hình \"{0}\" không? Hành động này không thể hoàn tác.",
"max_config_slots_reached": "Đã đạt số lượng vị trí cấu hình tối đa ({0})",
"invalid_config_format": "Định dạng cấu hình không hợp lệ",
"invalid_json_format": "Định dạng JSON hoặc cấu trúc cấu hình không hợp lệ",
"server_tab": "Máy chủ",
"tools_tab": "Quản lý công cụ",
"available_tools": "Công cụ khả dụng",
"scene_tools": "Công cụ cảnh",
"node_tools": "Công cụ nút",
"component_tools": "Công cụ thành phần",
"prefab_tools": "Công cụ Prefab",
"project_tools": "Công cụ dự án",
"debug_tools": "Công cụ gỡ lỗi",
"preferences_tools": "Tùy chọn",
"server_tools": "Công cụ máy chủ",
"broadcast_tools": "Công cụ quảng bá",
"scene_advanced_tools": "Công cụ cảnh nâng cao",
"scene_view_tools": "Công cụ khung nhìn cảnh",
"reference_image_tools": "Công cụ ảnh tham chiếu",
"asset_advanced_tools": "Công cụ tài nguyên nâng cao",
"validation_tools": "Công cụ kiểm tra",
"brand_name": "LiDaxian MCP Series",
"brand_subtitle": "LiDaxian MCP Series",
"contact_email": "Email",
"contact_wechat": "WeChat",
"contact_github": "GitHub",
"machine_id_label": "Mã máy",
"purchase_renew": "Mua / Gia hạn",
"purchase_url": "https://www.vberai.com/game-engines/cocos",
"auth_title": "Chọn phương thức đăng nhập",
"auth_subtitle": "Nhập email và mã kích hoạt của bạn",
"email_label": "Địa chỉ email",
"activation_code_label": "Mã kích hoạt",
"email_placeholder": "Nhập email",
"code_placeholder": "Nhập mã (XXXXX-XXXXX-XXXXX-XXXXX-XXXXX)",
"activate_button": "Kích hoạt",
"deactivate_button": "Hủy kích hoạt",
"activating": "Đang kích hoạt...",
"deactivating": "Đang hủy kích hoạt...",
"license_status": "Trạng thái giấy phép",
"license_type": "Loại giấy phép",
"expiry_date": "Ngày hết hạn",
"days_remaining": "Số ngày còn lại",
"days_unit": "ngày",
"permanent": "Vĩnh viễn",
"expiry_warning_title": "Giấy phép sắp hết hạn",
"expiry_warning_message": "Giấy phép của bạn sẽ hết hạn sau {0} ngày. Vui lòng gia hạn để tránh gián đoạn dịch vụ.",
"renew_now": "Gia hạn ngay",
"i_understand": "Tôi đã hiểu",
"activation_success": "Đã kích hoạt giấy phép thành công!",
"activation_failed": "Kích hoạt thất bại: {0}",
"invalid_code": "Định dạng mã kích hoạt không hợp lệ",
"purchase_license": "Mua giấy phép",
"renew_license": "Gia hạn giấy phép",
"contact_support": "Hỗ trợ",
"language_switch": "Tiếng Việt",
"version_label": "Phiên bản",
"license_required": "Cần có giấy phép để khởi động máy chủ",
"license_check_failed": "Kiểm tra giấy phép thất bại",
"status_stopped": "Đã dừng",
"status_running": "Đang chạy",
"status_error": "Kết nối thất bại",
"config_tab": "Cấu hình nhanh",
"status_label": "Trạng thái",
"connections_count": "Số kết nối",
"transport_protocol": "Giao thức truyền tải",
"transport_type": "Loại truyền tải",
"mcp_url": "MCP URL",
"port_fallback_title": "Cổng {0} đang bận — đã chuyển sang {1}",
"net_title": "Mạng / Proxy",
"net_direct": "Kết nối trực tiếp",
"net_via": "qua {0} ({1})",
"net_source_manual": "thủ công",
"net_source_env": "biến môi trường",
"net_source_system": "cài đặt hệ thống",
"net_mode_auto": "Tự động",
"net_mode_manual": "Chỉ định thủ công",
"net_mode_off": "Không dùng proxy",
"net_save": "Lưu",
"net_test": "Kiểm tra kết nối",
"net_testing": "Đang kiểm tra…",
"net_test_ok": "Kết nối thành công ({0} ms)",
"net_test_fail": "Thất bại: {0}",
"net_hint": "Lỗi hết thời gian đăng nhập thường do mạng. Nếu dùng VPN/proxy, hãy nhập địa chỉ (ví dụ http://127.0.0.1:7890) hoặc chuyển ứng dụng proxy sang chế độ toàn cục (TUN).",
"net_pac_warning": "Hệ thống dùng script PAC tự động mà plugin không đọc được. Hãy chọn \"Chỉ định thủ công\" và nhập địa chỉ proxy.",
"port_label": "Cổng",
"auto_start_label": "Tự động khởi động",
"debug_log_label": "Nhật ký gỡ lỗi",
"max_connections_label": "Số kết nối tối đa",
"server_settings_title": "Cài đặt máy chủ",
"server_status_title": "Trạng thái máy chủ",
"connection_info_title": "Thông tin kết nối",
"tools_count": "{0} công cụ",
"tools_stats": "{0} công cụ ({1} đã bật / {2} đã tắt)",
"quick_config_title": "Cấu hình nhanh máy khách MCP",
"quick_config_desc": "Tự động cấu hình máy chủ MCP hiện tại vào các trình soạn thảo AI phổ biến và công cụ CLI",
"server_info": "Thông tin máy chủ",
"server_name_label": "Tên máy chủ",
"server_address": "Địa chỉ máy chủ",
"timeout_ms": "Thời gian chờ (ms)",
"auto_config_title": "Cấu hình tự động (Trình soạn thảo IDE + Codex CLI)",
"add_all": "Thêm tất cả",
"remove_all": "Xóa tất cả",
"auto_config_note": "Nhấp nút để tự động sửa đổi tệp cấu hình (Cursor, Windsurf, Trae, Codex CLI)",
"configured": "Đã cấu hình",
"not_configured": "Chưa cấu hình",
"auto_config_btn": "Cấu hình tự động",
"delete_btn": "Xóa",
"copy_config": "Sao chép cấu hình",
"open_config": "Mở cấu hình",
"manual_config_title": "Cấu hình thủ công (Claude CLI + Gemini CLI)",
"refresh_commands": "Làm mới lệnh",
"manual_config_note": "Các công cụ CLI sau đây cần thực thi lệnh thủ công trong terminal",
"config_scope": "Phạm vi cấu hình:",
"scope_user": "Cấp người dùng",
"scope_project": "Cấp dự án",
"operation_log": "Nhật ký thao tác",
"no_logs": "Không có bản ghi thao tác",
"copyright_line": "© 2025 LiDaxian - Cocos Creator MCP Server v{0}",
"protocol_line": "Dựa trên giao thức Streamable HTTP (MCP 2025-03-26)",
"tools_copyright_line1": "Hệ thống công cụ - 13 công cụ cấp ý định, 150+ thao tác trình soạn thảo, điều phối mã action",
"config_copyright_line1": "Cấu hình nhanh - Hỗ trợ Cursor, Windsurf, Trae, Codex CLI, Claude CLI, Gemini CLI",
"email_required": "Vui lòng nhập email và mã kích hoạt",
"permanent_label": "Vĩnh viễn",
"logout_button": "Đăng xuất",
"invite_code_label": "Mã mời",
"copy_button": "Sao chép",
"change_code_button": "Thay đổi mã",
"change_code_title": "Thay đổi mã kích hoạt",
"change_code_desc": "Nhập mã kích hoạt mới của bạn. Liên kết thiết bị hiện tại sẽ được giải phóng trước.",
"confirm_change": "Xác nhận",
"cancel": "Hủy",
"code_required": "Vui lòng nhập mã kích hoạt",
"expiry_inline_warning": "Sắp hết hạn!",
"store_purchase_hint": "Nếu bạn đã mua plugin này từ Cocos Store, vui lòng liên hệ với tôi để nhận mã kích hoạt.",
"license_expired_title": "Giấy phép đã hết hạn",
"license_expired_message": "Giấy phép của bạn đã hết hạn và không thể khởi động máy chủ. Vui lòng gia hạn hoặc kích hoạt lại để tiếp tục.",
"go_to_login": "Đi đến đăng nhập",
"log_load_config_failed": "Không thể tải trạng thái cấu hình: {0}",
"log_gen_cli_failed": "Không thể tạo lệnh CLI: {0}",
"log_add_client_failed": "Không thể thêm vào {0}: {1}",
"log_remove_client_failed": "Không thể xóa khỏi {0}: {1}",
"quick_config_dialog_title": "Cấu hình một chạm",
"config_operation_failed": "Thao tác cấu hình thất bại",
"config_file_not_found_changed_path": "Cấu hình thất bại: không tìm thấy tệp cấu hình. {0} có thể được cài đặt trong một đường dẫn tùy chỉnh.",
"log_batch_add_failed": "Thêm hàng loạt thất bại: {0}",
"log_batch_remove_failed": "Xóa hàng loạt thất bại: {0}",
"log_copied_config": "Đã sao chép cấu hình {0} vào bảng nhớ tạm",
"log_gen_config_failed": "Không thể tạo cấu hình",
"log_copy_config_failed": "Không thể sao chép cấu hình: {0}",
"log_copied_command": "Đã sao chép lệnh {0} vào bảng nhớ tạm",
"log_copy_command_failed": "Không thể sao chép lệnh: {0}",
"log_opened_config_file": "Đã mở tệp cấu hình: {0}",
"log_open_config_failed": "Không thể mở tệp cấu hình",
"log_open_config_error": "Không thể mở tệp cấu hình: {0}",
"update_available_title": "Có bản cập nhật",
"update_new_version": "Đã có phiên bản mới v{0}!",
"update_now": "Cập nhật ngay",
"update_not_now": "Để sau",
"update_skip_version": "Bỏ qua v{0}",
"check_for_updates": "Kiểm tra cập nhật",
"update_checking": "Đang kiểm tra...",
"update_no_update": "Bạn đang sử dụng phiên bản mới nhất",
"update_urgency_critical": "Cập nhật khẩn cấp",
"update_urgency_high": "Cập nhật quan trọng",
"update_current_version": "Phiên bản hiện tại: v{0}",
"update_changelog": "Nhật ký thay đổi",
"auth_choose_subtitle": "Chọn một phương thức đăng nhập để tiếp tục",
"update_changelog_empty": "Không có ghi chú phát hành cho phiên bản này.",
"subscription_login_title": "Tài khoản đăng ký VberAI",
"subscription_password_label": "Mật khẩu",
"subscription_password_placeholder": "Nhập mật khẩu",
"subscription_login_button": "Đăng nhập bằng VberAI",
"subscription_google_button": "Đăng nhập bằng Google",
"subscription_google_pending": "Đã mở trình duyệt. Hoàn tất ủy quyền Google rồi quay lại Cocos Creator.",
"subscription_google_pending_button": "Đang chờ ủy quyền Google...",
"subscription_register_button": "Tạo tài khoản VberAI",
"subscription_logging_in": "Đang đăng nhập...",
"subscription_credentials_required": "Vui lòng nhập email và mật khẩu",
"subscription_login_success": "Đã đăng nhập tài khoản đăng ký",
"subscription_login_failed": "Đăng nhập đăng ký thất bại",
"subscription_not_entitled": "Gói đăng ký hiện tại của bạn không bao gồm Cocos 3.x MCP. Nâng cấp để tiếp tục.",
"subscription_upgrade_to": "Nâng cấp lên \"{0}\" để sử dụng sản phẩm này",
"subscription_upgrade_action": "Nâng cấp gói đăng ký",
"subscription_logged_in": "Tài khoản đã đăng nhập",
"subscription_choose_button": "Tài khoản đăng ký VberAI",
"license_choose_button": "Mã kích hoạt",
"subscription_method_label": "Đăng ký",
"back_to_login_choices": "← Chọn phương thức đăng nhập khác",
"subscription_signed_out_other_device": "Đã đăng xuất: tài khoản của bạn đã được dùng trên thiết bị khác.",
"subscription_google_cancelled": "Đã hủy đăng nhập Google.",
"subscription_request_timeout": "Yêu cầu đã hết thời gian. Kiểm tra mạng và thử lại.",
"subscription_network_error": "Kết nối mạng thất bại. Kiểm tra mạng và thử lại.",
"subscription_server_error": "Máy chủ trả về phản hồi không hợp lệ. Thử lại sau.",
"subscription_google_authorization_failed": "Ủy quyền Google chưa hoàn tất. Vui lòng thử lại."
,"lan_access_label": "Cho phép truy cập LAN"
,"lan_access_warning": "Đã gắn vào 0.0.0.0. Bất kỳ ai trong mạng này đều có thể kết nối và điều khiển trình biên tập — điểm cuối này không xác minh thông tin đăng nhập nào. Chỉ bật trong mạng đáng tin cậy."
,"lan_address": "Địa chỉ LAN"
};
@@ -1,259 +0,0 @@
"use strict";
module.exports = {
"extension_name": "Cocos MCP 伺服器",
"description": "適用於 Cocos Creator 3.8 的 AI MCP 伺服器",
"panel_title": "MCP 伺服器",
"open_panel": "開啟 MCP 面板",
"start_server": "啟動伺服器",
"stop_server": "停止伺服器",
"server_status": "伺服器狀態",
"port": "連接埠",
"settings": "設定",
"connected": "已連線",
"disconnected": "未連線",
"server_running": "伺服器正在連接埠 {0} 上執行",
"server_stopped": "伺服器已停止",
"auto_start": "自動啟動",
"debug_log": "除錯日誌",
"max_connections": "最大連線數",
"connection_info": "連線資訊",
"http_url": "HTTP 位址",
"copy": "複製",
"save_settings": "儲存設定",
"settings_saved": "設定儲存成功",
"server_started": "MCP 伺服器已啟動",
"server_stopped_msg": "MCP 伺服器已停止",
"failed_to_start": "啟動伺服器失敗",
"failed_to_stop": "停止伺服器失敗",
"failed_to_save": "儲存設定失敗",
"url_copied": "HTTP 位址已複製到剪貼簿",
"tool_manager": "工具管理員",
"open_tool_manager": "開啟工具管理員",
"create_config": "新增設定",
"edit_config": "編輯設定",
"delete_config": "刪除設定",
"import_config": "匯入設定",
"export_config": "匯出設定",
"apply_config": "套用設定",
"select_all": "全選",
"deselect_all": "取消全選",
"save_changes": "儲存變更",
"config_name": "設定名稱",
"config_description": "設定描述",
"current_config": "目前設定",
"tool_management": "工具管理",
"total_tools": "工具總數",
"enabled_tools": "已啟用",
"disabled_tools": "已停用",
"no_config_selected": "尚未選擇設定",
"select_config_first": "請先選擇一個設定,或建立新的設定",
"config_created": "設定建立成功",
"config_updated": "設定更新成功",
"config_deleted": "設定刪除成功",
"config_applied": "設定套用成功",
"config_exported": "設定匯出成功",
"config_imported": "設定匯入成功",
"confirm_delete": "確認刪除",
"delete_config_confirm": "確定要刪除設定 \"{0}\" 嗎?此操作無法復原。",
"max_config_slots_reached": "已達到最大設定插槽數量 ({0})",
"invalid_config_format": "無效的設定格式",
"invalid_json_format": "無效的 JSON 格式或設定結構",
"server_tab": "伺服器",
"tools_tab": "工具管理",
"available_tools": "可用工具",
"scene_tools": "場景工具",
"node_tools": "節點工具",
"component_tools": "元件工具",
"prefab_tools": "預製件工具",
"project_tools": "專案工具",
"debug_tools": "除錯工具",
"preferences_tools": "偏好設定",
"server_tools": "伺服器工具",
"broadcast_tools": "廣播工具",
"scene_advanced_tools": "進階場景工具",
"scene_view_tools": "場景檢視工具",
"reference_image_tools": "參考圖片工具",
"asset_advanced_tools": "進階資源工具",
"validation_tools": "驗證工具",
"brand_name": "李大仙 MCP 系列",
"brand_subtitle": "LiDaxian MCP Series",
"contact_email": "電子郵件",
"contact_wechat": "微信",
"contact_github": "GitHub",
"machine_id_label": "機器碼",
"purchase_renew": "購買/續約",
"purchase_url": "https://www.vberai.com/game-engines/cocos",
"auth_title": "選擇登入方式",
"auth_subtitle": "請輸入您的電子郵件與啟用碼",
"auth_choose_subtitle": "請選擇一種登入方式以繼續",
"email_label": "電子郵件位址",
"activation_code_label": "啟用碼",
"email_placeholder": "請輸入電子郵件",
"code_placeholder": "請輸入啟用碼 (XXXXX-XXXXX-XXXXX-XXXXX-XXXXX)",
"activate_button": "啟用",
"deactivate_button": "取消啟用",
"activating": "啟用中...",
"deactivating": "取消啟用中...",
"license_status": "授權狀態",
"license_type": "授權類型",
"expiry_date": "到期日期",
"days_remaining": "剩餘天數",
"days_unit": "天",
"permanent": "永久",
"expiry_warning_title": "授權即將到期",
"expiry_warning_message": "您的授權將在 {0} 天後到期,請及時續約以確保服務不中斷。",
"renew_now": "立即續約",
"i_understand": "我知道了",
"activation_success": "授權啟用成功!",
"activation_failed": "啟用失敗:{0}",
"invalid_code": "無效的啟用碼格式",
"purchase_license": "購買授權",
"renew_license": "續約授權",
"contact_support": "技術支援",
"language_switch": "繁體中文",
"version_label": "版本",
"license_required": "需要授權才能啟動伺服器",
"license_check_failed": "授權檢查失敗",
"status_stopped": "已停止",
"status_running": "執行中",
"status_error": "連線失敗",
"config_tab": "一鍵設定",
"status_label": "狀態",
"connections_count": "連線數",
"transport_protocol": "傳輸協定",
"transport_type": "傳輸類型",
"mcp_url": "MCP URL",
"port_fallback_title": "連接埠 {0} 被佔用,已自動改用 {1}",
"net_title": "網路 / 代理",
"net_direct": "直連",
"net_via": "經 {0}({1})",
"net_source_manual": "手動填寫",
"net_source_env": "環境變數",
"net_source_system": "系統設定",
"net_mode_auto": "自動偵測",
"net_mode_manual": "手動指定",
"net_mode_off": "不使用代理",
"net_save": "儲存",
"net_test": "測試連線",
"net_testing": "測試中…",
"net_test_ok": "連線正常({0} ms)",
"net_test_fail": "連線失敗:{0}",
"net_hint": "登入逾時多半是網路問題:伺服器在境外,若你在用 VPN/代理,請在此填寫代理位址(如 http://127.0.0.1:7890),或把代理軟體切到全域(TUN)模式。",
"net_pac_warning": "系統使用了 PAC 自動設定指令碼,外掛無法解析。請改為「手動指定」並填寫代理位址。",
"port_label": "連接埠",
"auto_start_label": "自動啟動",
"debug_log_label": "除錯日誌",
"max_connections_label": "最大連線數",
"server_settings_title": "伺服器設定",
"server_status_title": "伺服器狀態",
"connection_info_title": "連線資訊",
"tools_count": "{0} 個工具",
"tools_stats": "{0} 個工具 ({1} 啟用 / {2} 停用)",
"quick_config_title": "一鍵設定 MCP 用戶端",
"quick_config_desc": "自動將目前的 MCP 伺服器設定到主流 AI 編輯器與 CLI 工具中",
"server_info": "伺服器資訊",
"server_name_label": "伺服器名稱",
"server_address": "伺服器位址",
"timeout_ms": "逾時時間(ms)",
"auto_config_title": "自動設定 (IDE 編輯器 + Codex CLI)",
"add_all": "全部新增",
"remove_all": "全部刪除",
"auto_config_note": "點擊按鈕將自動修改設定檔(包括 Cursor、Windsurf、Trae、Codex CLI)",
"configured": "已設定",
"not_configured": "未設定",
"auto_config_btn": "自動設定",
"delete_btn": "刪除",
"copy_config": "複製設定",
"open_config": "開啟設定",
"manual_config_title": "手動設定 (Claude CLI + Gemini CLI)",
"refresh_commands": "重新整理指令",
"manual_config_note": "以下 CLI 工具需要在終端機中手動執行指令進行設定",
"config_scope": "設定範圍:",
"scope_user": "使用者層級",
"scope_project": "專案層級",
"operation_log": "操作日誌",
"no_logs": "目前沒有操作紀錄",
"copyright_line": "© 2025 李大仙 (LiDaxian) - Cocos Creator MCP Server v{0}",
"protocol_line": "基於 Streamable HTTP 協定 (MCP 2025-03-26)",
"tools_copyright_line1": "工具系統 - 13 個意圖級工具,150+ 編輯器操作,action 操作碼分派",
"config_copyright_line1": "一鍵設定 - 支援 Cursor、Windsurf、Trae、Codex CLI、Claude CLI、Gemini CLI",
"email_required": "請輸入電子郵件與啟用碼",
"permanent_label": "永久",
"logout_button": "登出",
"invite_code_label": "邀請碼",
"copy_button": "複製",
"change_code_button": "變更啟用碼",
"change_code_title": "變更啟用碼",
"change_code_desc": "輸入新的啟用碼,目前裝置的啟用佔位將被釋放後重新啟用。",
"confirm_change": "確認變更",
"cancel": "取消",
"code_required": "請輸入啟用碼",
"expiry_inline_warning": "即將到期!",
"store_purchase_hint": "如果您已在 Cocos Store 購買了本外掛,請聯絡我取得啟用碼。",
"license_expired_title": "授權已過期",
"license_expired_message": "您的授權已過期,無法啟動服務。請續約或重新啟用以繼續使用。",
"go_to_login": "重新登入",
"log_load_config_failed": "載入設定狀態失敗: {0}",
"log_gen_cli_failed": "產生 CLI 指令失敗: {0}",
"log_add_client_failed": "新增到 {0} 失敗: {1}",
"log_remove_client_failed": "從 {0} 刪除失敗: {1}",
"quick_config_dialog_title": "一鍵設定",
"config_operation_failed": "設定操作失敗",
"config_file_not_found_changed_path": "設定失敗:找不到設定檔,{0} 安裝時可能變更了路徑",
"log_batch_add_failed": "批次新增失敗: {0}",
"log_batch_remove_failed": "批次刪除失敗: {0}",
"log_copied_config": "已複製 {0} 設定到剪貼簿",
"log_gen_config_failed": "產生設定失敗",
"log_copy_config_failed": "複製設定失敗: {0}",
"log_copied_command": "已複製 {0} 指令到剪貼簿",
"log_copy_command_failed": "複製指令失敗: {0}",
"log_opened_config_file": "已開啟設定檔: {0}",
"log_open_config_failed": "開啟設定檔失敗",
"log_open_config_error": "開啟設定檔失敗: {0}",
"update_available_title": "發現新版本",
"update_new_version": "新版本 v{0} 已發布!",
"update_now": "立即更新",
"update_not_now": "暫不更新",
"update_skip_version": "略過 v{0}",
"check_for_updates": "檢查更新",
"update_checking": "檢查中...",
"update_no_update": "目前已是最新版本",
"update_urgency_critical": "緊急更新",
"update_urgency_high": "重要更新",
"update_current_version": "目前版本: v{0}",
"update_changelog": "更新日誌"
,"update_changelog_empty": "該版本尚未填寫更新內容。"
,"subscription_login_title": "VberAI 官網訂閱帳號"
,"subscription_password_label": "密碼"
,"subscription_password_placeholder": "請輸入密碼"
,"subscription_login_button": "使用 VberAI 帳號登入"
,"subscription_google_button": "使用 Google 登入"
,"subscription_google_pending": "已開啟瀏覽器,請完成 Google 授權後返回 Cocos Creator。"
,"subscription_google_pending_button": "正在等待 Google 授權..."
,"subscription_register_button": "註冊 VberAI 帳號"
,"subscription_logging_in": "登入中..."
,"subscription_credentials_required": "請輸入電子郵件與密碼"
,"subscription_login_success": "訂閱帳號登入成功"
,"subscription_login_failed": "訂閱帳號登入失敗"
,"subscription_not_entitled": "目前的訂閱方案不包含 Cocos 3.x MCP,請升級後使用。"
,"subscription_upgrade_to": "升級到「{0}」即可使用"
,"subscription_upgrade_action": "前往升級訂閱"
,"subscription_logged_in": "目前登入帳號"
,"subscription_choose_button": "VberAI 官網訂閱帳號"
,"license_choose_button": "啟用碼授權"
,"subscription_method_label": "訂閱帳號"
,"back_to_login_choices": "← 返回選擇登入方式"
,"subscription_signed_out_other_device": "帳號已在另一台裝置登入,目前裝置已登出。"
,"subscription_google_cancelled": "已取消 Google 登入"
,"subscription_request_timeout": "請求逾時,請檢查網路後重試。"
,"subscription_network_error": "網路連線失敗,請檢查網路後重試。"
,"subscription_server_error": "伺服器回應異常,請稍後重試。"
,"subscription_google_authorization_failed": "Google 授權未完成,請重試。"
,"lan_access_label": "允許區域網路存取"
,"lan_access_warning": "已繫結 0.0.0.0。同一網路內的任何人都能連上並操作編輯器,本介面不驗證任何憑證。請僅在可信任的網路下開啟。"
,"lan_address": "區域網路位址"
};
@@ -1,258 +0,0 @@
"use strict";
module.exports = {
"extension_name": "Cocos MCP 服务器",
"description": "适用于 Cocos Creator 3.8 的 AI MCP 服务器",
"panel_title": "MCP 服务器",
"open_panel": "打开 MCP 面板",
"start_server": "启动服务器",
"stop_server": "停止服务器",
"server_status": "服务器状态",
"port": "端口",
"settings": "设置",
"connected": "已连接",
"disconnected": "未连接",
"server_running": "服务器正在端口 {0} 上运行",
"server_stopped": "服务器已停止",
"auto_start": "自动启动",
"debug_log": "调试日志",
"max_connections": "最大连接数",
"connection_info": "连接信息",
"http_url": "HTTP 地址",
"copy": "复制",
"save_settings": "保存设置",
"settings_saved": "设置保存成功",
"server_started": "MCP 服务器已启动",
"server_stopped_msg": "MCP 服务器已停止",
"failed_to_start": "启动服务器失败",
"failed_to_stop": "停止服务器失败",
"failed_to_save": "保存设置失败",
"url_copied": "HTTP 地址已复制到剪贴板",
"tool_manager": "工具管理器",
"open_tool_manager": "打开工具管理器",
"create_config": "新建配置",
"edit_config": "编辑配置",
"delete_config": "删除配置",
"import_config": "导入配置",
"export_config": "导出配置",
"apply_config": "应用配置",
"select_all": "全选",
"deselect_all": "取消全选",
"save_changes": "保存更改",
"config_name": "配置名称",
"config_description": "配置描述",
"current_config": "当前配置",
"tool_management": "工具管理",
"total_tools": "总工具数",
"enabled_tools": "已启用",
"disabled_tools": "已禁用",
"no_config_selected": "没有选择配置",
"select_config_first": "请先选择一个配置或创建新配置",
"config_created": "配置创建成功",
"config_updated": "配置更新成功",
"config_deleted": "配置删除成功",
"config_applied": "配置应用成功",
"config_exported": "配置导出成功",
"config_imported": "配置导入成功",
"confirm_delete": "确认删除",
"delete_config_confirm": "确定要删除配置 \"{0}\" 吗?此操作不可撤销。",
"max_config_slots_reached": "已达到最大配置槽位数量 ({0})",
"invalid_config_format": "无效的配置格式",
"invalid_json_format": "无效的JSON格式或配置结构",
"server_tab": "服务器",
"tools_tab": "工具管理",
"available_tools": "可用工具",
"scene_tools": "场景工具",
"node_tools": "节点工具",
"component_tools": "组件工具",
"prefab_tools": "预制体工具",
"project_tools": "项目工具",
"debug_tools": "调试工具",
"preferences_tools": "偏好设置",
"server_tools": "服务器工具",
"broadcast_tools": "广播工具",
"scene_advanced_tools": "高级场景工具",
"scene_view_tools": "场景视图工具",
"reference_image_tools": "参考图片工具",
"asset_advanced_tools": "高级资源工具",
"validation_tools": "验证工具",
"brand_name": "李大仙 MCP 系列",
"brand_subtitle": "LiDaxian MCP Series",
"contact_email": "邮箱",
"contact_wechat": "微信",
"contact_github": "GitHub",
"machine_id_label": "机器码",
"purchase_renew": "购买/续费",
"purchase_url": "https://www.vberai.com/game-engines/cocos",
"auth_title": "选择登录方式",
"auth_subtitle": "请输入您的邮箱和激活码",
"auth_choose_subtitle": "请选择一种登录方式继续",
"email_label": "邮箱地址",
"activation_code_label": "激活码",
"email_placeholder": "请输入邮箱",
"code_placeholder": "请输入激活码 (XXXXX-XXXXX-XXXXX-XXXXX-XXXXX)",
"activate_button": "激活",
"deactivate_button": "取消激活",
"activating": "激活中...",
"deactivating": "取消激活中...",
"license_status": "授权状态",
"license_type": "授权类型",
"expiry_date": "到期日期",
"days_remaining": "剩余天数",
"days_unit": "天",
"permanent": "永久",
"expiry_warning_title": "授权即将到期",
"expiry_warning_message": "您的授权将在 {0} 天后到期,请及时续费以确保服务不中断。",
"renew_now": "立即续费",
"i_understand": "我知道了",
"activation_success": "授权激活成功!",
"activation_failed": "激活失败:{0}",
"invalid_code": "无效的激活码格式",
"purchase_license": "购买授权",
"renew_license": "续费授权",
"contact_support": "技术支持",
"language_switch": "中文",
"version_label": "版本",
"license_required": "需要授权才能启动服务器",
"license_check_failed": "授权检查失败",
"status_stopped": "已停止",
"status_running": "运行中",
"status_error": "连接失败",
"config_tab": "一键配置",
"status_label": "状态",
"connections_count": "连接数",
"transport_protocol": "传输协议",
"transport_type": "传输类型",
"mcp_url": "MCP URL",
"port_fallback_title": "端口 {0} 被占用,已自动改用 {1}",
"net_title": "网络 / 代理",
"net_direct": "直连",
"net_via": "经 {0}({1})",
"net_source_manual": "手动填写",
"net_source_env": "环境变量",
"net_source_system": "系统设置",
"net_mode_auto": "自动检测",
"net_mode_manual": "手动指定",
"net_mode_off": "不使用代理",
"net_save": "保存",
"net_test": "测试连接",
"net_testing": "测试中…",
"net_test_ok": "连接正常({0} ms)",
"net_test_fail": "连接失败:{0}",
"net_hint": "登录超时多半是网络问题:服务器在境外,若你在用 VPN/代理,请在此填写代理地址(如 http://127.0.0.1:7890),或把代理软件切到全局(TUN)模式。",
"net_pac_warning": "系统使用了 PAC 自动配置脚本,插件无法解析。请改为「手动指定」并填写代理地址。",
"port_label": "端口",
"auto_start_label": "自动启动",
"debug_log_label": "调试日志",
"max_connections_label": "最大连接数",
"server_settings_title": "服务器设置",
"server_status_title": "服务器状态",
"connection_info_title": "连接信息",
"tools_count": "{0} 个工具",
"tools_stats": "{0} 个工具 ({1} 启用 / {2} 禁用)",
"quick_config_title": "一键配置 MCP 客户端",
"quick_config_desc": "自动将当前MCP服务器配置到主流AI编辑器和CLI工具中",
"server_info": "服务器信息",
"server_name_label": "服务器名称",
"server_address": "服务器地址",
"timeout_ms": "超时时间(ms)",
"auto_config_title": "自动配置 (IDE编辑器 + Codex CLI)",
"add_all": "全部添加",
"remove_all": "全部删除",
"auto_config_note": "点击按钮将自动修改配置文件(包括Cursor、Windsurf、Trae、Codex CLI)",
"configured": "已配置",
"not_configured": "未配置",
"auto_config_btn": "自动配置",
"delete_btn": "删除",
"copy_config": "复制配置",
"open_config": "打开配置",
"manual_config_title": "手动配置 (Claude CLI + Gemini CLI)",
"refresh_commands": "刷新命令",
"manual_config_note": "以下CLI工具需要在终端中手动执行命令配置",
"config_scope": "配置范围:",
"scope_user": "用户级别",
"scope_project": "项目级别",
"operation_log": "操作日志",
"no_logs": "暂无操作记录",
"copyright_line": "© 2025 李大仙 (LiDaxian) - Cocos Creator MCP Server v{0}",
"protocol_line": "基于 Streamable HTTP 协议 (MCP 2025-03-26)",
"tools_copyright_line1": "工具系统 - 13个意图级工具,150+编辑器操作,action操作码分发",
"config_copyright_line1": "一键配置 - 支持 Cursor、Windsurf、Trae、Codex CLI、Claude CLI、Gemini CLI",
"email_required": "请输入邮箱和激活码",
"permanent_label": "永久",
"logout_button": "退出登录",
"invite_code_label": "邀请码",
"copy_button": "复制",
"change_code_button": "变更激活码",
"change_code_title": "变更激活码",
"change_code_desc": "输入新的激活码,当前设备的激活占位将被释放后重新激活。",
"confirm_change": "确认变更",
"cancel": "取消",
"code_required": "请输入激活码",
"expiry_inline_warning": "即将到期!",
"store_purchase_hint": "如果您已在 Cocos Store 购买了本插件,请联系我获取激活码。",
"license_expired_title": "授权已过期",
"license_expired_message": "您的授权已过期,无法启动服务。请续费或重新激活以继续使用。",
"go_to_login": "重新登录",
"log_load_config_failed": "加载配置状态失败: {0}",
"log_gen_cli_failed": "生成CLI命令失败: {0}",
"log_add_client_failed": "添加到{0}失败: {1}",
"log_remove_client_failed": "从{0}删除失败: {1}",
"quick_config_dialog_title": "一键配置",
"config_operation_failed": "配置操作失败",
"config_file_not_found_changed_path": "配置失败:找不到配置文件,{0} 安装时可能更改了路径",
"log_batch_add_failed": "批量添加失败: {0}",
"log_batch_remove_failed": "批量删除失败: {0}",
"log_copied_config": "已复制{0}配置到剪贴板",
"log_gen_config_failed": "生成配置失败",
"log_copy_config_failed": "复制配置失败: {0}",
"log_copied_command": "已复制{0}命令到剪贴板",
"log_copy_command_failed": "复制命令失败: {0}",
"log_opened_config_file": "已打开配置文件: {0}",
"log_open_config_failed": "打开配置文件失败",
"log_open_config_error": "打开配置文件失败: {0}",
"update_available_title": "发现新版本",
"update_new_version": "新版本 v{0} 已发布!",
"update_now": "立即更新",
"update_not_now": "暂不更新",
"update_skip_version": "跳过 v{0}",
"check_for_updates": "检查更新",
"update_checking": "检查中...",
"update_no_update": "当前已是最新版本",
"update_urgency_critical": "紧急更新",
"update_urgency_high": "重要更新",
"update_current_version": "当前版本: v{0}",
"update_changelog": "更新日志"
,"update_changelog_empty": "该版本暂未填写更新内容。"
,"subscription_login_title": "VberAI 官网订阅账号"
,"subscription_password_label": "密码"
,"subscription_password_placeholder": "请输入密码"
,"subscription_login_button": "使用 VberAI 账号登录"
,"subscription_google_button": "使用 Google 登录"
,"subscription_google_pending": "已打开浏览器,请完成 Google 授权后返回 Cocos Creator。"
,"subscription_google_pending_button": "正在等待 Google 授权..."
,"subscription_register_button": "注册 VberAI 账号"
,"subscription_logging_in": "登录中..."
,"subscription_credentials_required": "请输入邮箱和密码"
,"subscription_login_success": "订阅账号登录成功"
,"subscription_login_failed": "订阅账号登录失败"
,"subscription_not_entitled": "当前订阅计划不包含 Cocos 3.x MCP,请升级后使用。"
,"subscription_upgrade_to": "升级到「{0}」即可使用"
,"subscription_upgrade_action": "前往升级订阅"
,"subscription_logged_in": "当前登录账号"
,"subscription_choose_button": "VberAI 官网订阅账号"
,"license_choose_button": "激活码授权"
,"subscription_method_label": "订阅账号"
,"back_to_login_choices": "← 返回选择登录方式"
,"subscription_signed_out_other_device": "账号已在另一台设备登录,当前设备已退出。"
,"subscription_google_cancelled": "已取消 Google 登录"
,"subscription_request_timeout": "请求超时,请检查网络后重试。"
,"subscription_network_error": "网络连接失败,请检查网络后重试。"
,"subscription_server_error": "服务器响应异常,请稍后重试。"
,"subscription_google_authorization_failed": "Google 授权未完成,请重试。"
,"lan_access_label": "允许局域网访问"
,"lan_access_warning": "已绑定 0.0.0.0。同一网络内的任何人都能连上并操作编辑器,本接口不校验任何凭证。仅在可信网络下开启。"
,"lan_address": "局域网地址"
};
@@ -1,274 +0,0 @@
{
"$schema": "./@types/schema/package/index.json",
"package_version": 2,
"name": "cocos-mcp-server",
"version": "1.8.0",
"author": "LiDaxian",
"editor": ">=3.7.0",
"description": "i18n:cocos-mcp-server.description",
"main": "./dist/main.js",
"dependencies": {
"@iarna/toml": "^2.2.5",
"fs-extra": "^11.3.0",
"puppeteer-core": "^25.1.0",
"uuid": "^9.0.1",
"vue": "^3.1.4"
},
"panels": {
"default": {
"title": "i18n:cocos-mcp-server.panel_title",
"type": "dockable",
"main": "dist/panels/default",
"icon": "./static/icon.png",
"size": {
"min-width": 560,
"min-height": 680,
"width": 760,
"height": 820
}
}
},
"contributions": {
"menu": [
{
"path": "i18n:menu.extension/Cocos MCP Server",
"label": "i18n:cocos-mcp-server.open_panel",
"message": "open-panel"
}
],
"messages": {
"open-panel": {
"methods": [
"openPanel"
]
},
"open-tool-manager": {
"methods": [
"openToolManager"
]
},
"start-server": {
"methods": [
"startServer"
]
},
"stop-server": {
"methods": [
"stopServer"
]
},
"get-server-status": {
"methods": [
"getServerStatus"
]
},
"update-settings": {
"methods": [
"updateSettings"
]
},
"getToolsList": {
"methods": [
"getToolsList"
]
},
"get-server-settings": {
"methods": [
"getServerSettings"
]
},
"getToolManagerState": {
"methods": [
"getToolManagerState"
]
},
"createToolConfiguration": {
"methods": [
"createToolConfiguration"
]
},
"updateToolConfiguration": {
"methods": [
"updateToolConfiguration"
]
},
"deleteToolConfiguration": {
"methods": [
"deleteToolConfiguration"
]
},
"setCurrentToolConfiguration": {
"methods": [
"setCurrentToolConfiguration"
]
},
"updateToolStatus": {
"methods": [
"updateToolStatus"
]
},
"updateToolStatusBatch": {
"methods": [
"updateToolStatusBatch"
]
},
"exportToolConfiguration": {
"methods": [
"exportToolConfiguration"
]
},
"importToolConfiguration": {
"methods": [
"importToolConfiguration"
]
},
"getEnabledTools": {
"methods": [
"getEnabledTools"
]
},
"get-config-status": {
"methods": [
"getConfigStatus"
]
},
"generate-cli-commands": {
"methods": [
"generateCLICommands"
]
},
"generate-client-config": {
"methods": [
"generateClientConfig"
]
},
"add-to-client": {
"methods": [
"addToClient"
]
},
"remove-from-client": {
"methods": [
"removeFromClient"
]
},
"add-to-all-clients": {
"methods": [
"addToAllClients"
]
},
"remove-from-all-clients": {
"methods": [
"removeFromAllClients"
]
},
"open-config-file": {
"methods": [
"openConfigFile"
]
},
"check-license": {
"methods": [
"checkLicense"
]
},
"subscription-status": {
"methods": [
"subscriptionStatus"
]
},
"login-subscription": {
"methods": [
"loginSubscription"
]
},
"login-subscription-google": {
"methods": [
"loginSubscriptionGoogle"
]
},
"logout-subscription": {
"methods": [
"logoutSubscription"
]
},
"activate-license": {
"methods": [
"activateLicense"
]
},
"deactivate-license": {
"methods": [
"deactivateLicense"
]
},
"get-license-info": {
"methods": [
"getLicenseInfo"
]
},
"check-update": {
"methods": [
"checkUpdate"
]
},
"skip-update": {
"methods": [
"skipUpdate"
]
},
"get-machine-id": {
"methods": [
"getMachineId"
]
},
"preview-play": {
"methods": [
"default.onPreviewPlay"
]
},
"preview-stop": {
"methods": [
"default.onPreviewStop"
]
},
"device-removed": {
"methods": [
"default.device-removed"
]
},
"get-network-status": {
"methods": [
"getNetworkStatus"
]
},
"set-proxy-config": {
"methods": [
"setProxyConfig"
]
},
"test-connectivity": {
"methods": [
"testConnectivity"
]
}
},
"scene": {
"script": "./dist/scene.js",
"methods": [
"createNewScene",
"addComponentToNode",
"removeComponentFromNode",
"getNodeInfo",
"getAllNodes",
"findNodeByName",
"setNodeProperty",
"setComponentProperty",
"getCurrentSceneInfo",
"getSceneHierarchy",
"createPrefabFromNode",
"captureContent"
]
}
}
}
@@ -1,94 +0,0 @@
#!/usr/bin/env node
/**
* Batch auto_knowledge via MCP HTTP — gets runtime defaults from editor
* Requires: editor running with MCP on port 3000
*/
import http from 'http';
const MCP_URL = 'http://127.0.0.1:3000/mcp';
const ALL = [
'cc.Label','cc.Sprite','cc.Button','cc.Widget','cc.Layout',
'cc.UITransform','cc.RichText','cc.ScrollView','cc.Toggle',
'cc.ToggleContainer','cc.ProgressBar','cc.Slider','cc.PageView',
'cc.Mask','cc.Graphics','cc.UIOpacity','cc.SafeArea',
'cc.BlockInputEvents','cc.LabelOutline','cc.LabelShadow',
'cc.PageViewIndicator','cc.EditBox',
'cc.AudioSource','cc.VideoPlayer','cc.WebView',
'cc.ParticleSystem2D',
'cc.Camera','cc.Canvas','cc.Animation','cc.SkeletalAnimation',
'cc.MeshRenderer','cc.SkinnedMeshRenderer',
'cc.DirectionalLight','cc.PointLight','cc.SpotLight','cc.SphereLight',
'cc.RigidBody2D','cc.BoxCollider2D','cc.CircleCollider2D','cc.PolygonCollider2D',
'cc.RigidBody','cc.BoxCollider','cc.SphereCollider','cc.CapsuleCollider','cc.MeshCollider',
'cc.MotionStreak','cc.Billboard','cc.Line',
'cc.TiledMap','cc.TiledLayer',
'cc.HingeJoint2D','cc.DistanceJoint2D','cc.SpringJoint2D',
'cc.FixedJoint2D','cc.WheelJoint2D','cc.SliderJoint2D',
'cc.RelativeJoint2D','cc.MouseJoint2D',
'cc.HingeConstraint','cc.FixedConstraint','cc.PointToPointConstraint',
'cc.Terrain','cc.LODGroup','cc.ReflectionProbe',
'sp.Skeleton','dragonBones.ArmatureDisplay',
];
function callMcp(toolName, args) {
return new Promise((resolve, reject) => {
const body = JSON.stringify({
jsonrpc: '2.0', id: Date.now(), method: 'tools/call',
params: { name: toolName, arguments: args }
});
const req = http.request(MCP_URL, {
method: 'POST', headers: { 'Content-Type': 'application/json', 'Content-Length': Buffer.byteLength(body) },
timeout: 30000,
}, (res) => {
const chunks = [];
res.on('data', c => chunks.push(c));
res.on('end', () => {
try {
const data = JSON.parse(Buffer.concat(chunks).toString());
const content = data.result?.content || [];
const text = content.find(c => c.type === 'text')?.text;
resolve(text ? JSON.parse(text) : {});
} catch (e) { reject(e); }
});
});
req.on('error', reject);
req.on('timeout', () => { req.destroy(); reject(new Error('timeout')); });
req.write(body);
req.end();
});
}
// Check connectivity
try {
await callMcp('cocos_editor', { action: 'project_info' });
} catch {
console.error('❌ Cannot connect to MCP at', MCP_URL);
console.error(' Make sure editor is running and plugin is loaded.');
process.exit(1);
}
console.log(`Connected. Running auto_knowledge(save:true) for ${ALL.length} components...\n`);
let ok = 0, fail = 0, withDefaults = 0;
for (const comp of ALL) {
try {
const r = await callMcp('cocos_devtools', { action: 'auto_knowledge', componentType: comp, save: true });
if (r.success) {
ok++;
const hasRuntime = r.data?.hasRuntimeDefaults;
if (hasRuntime) withDefaults++;
const propCount = Object.keys(r.data?.recommendedKnowledge?.properties || {}).length;
console.log(` ✅ ${comp.padEnd(35)} ${propCount} props ${hasRuntime ? '(+defaults)' : '(dts only)'}`);
} else {
fail++;
console.log(` ❌ ${comp}: ${r.error}`);
}
} catch (e) {
fail++;
console.log(` ❌ ${comp}: ${e.message}`);
}
}
console.log(`\nDone: ${ok} ok, ${fail} fail, ${withDefaults} with runtime defaults`);
@@ -1,83 +0,0 @@
/**
* Batch auto_knowledge — generate complete COMPONENT_PROPERTIES from d.ts
* Output: knowledge JSON files + combined TS snippet for knowledge-handler.ts
*/
const path = require('path');
const fs = require('fs');
const mod = require(path.resolve(__dirname, '../dist/tools/cocos/utils/component-knowledge'));
const ALL_COMPONENTS = [
'cc.Label', 'cc.Sprite', 'cc.Button', 'cc.Widget', 'cc.Layout',
'cc.UITransform', 'cc.RichText', 'cc.ScrollView', 'cc.Toggle',
'cc.ToggleContainer', 'cc.ProgressBar', 'cc.Slider', 'cc.PageView',
'cc.Mask', 'cc.Graphics', 'cc.UIOpacity', 'cc.SafeArea',
'cc.BlockInputEvents', 'cc.LabelOutline', 'cc.LabelShadow',
'cc.PageViewIndicator', 'cc.EditBox',
'cc.AudioSource', 'cc.VideoPlayer', 'cc.WebView',
'cc.ParticleSystem2D', 'cc.ParticleSystem',
'cc.Camera', 'cc.Canvas', 'cc.Animation', 'cc.SkeletalAnimation',
'cc.MeshRenderer', 'cc.SkinnedMeshRenderer',
'cc.DirectionalLight', 'cc.PointLight', 'cc.SpotLight', 'cc.SphereLight',
'cc.RigidBody2D', 'cc.BoxCollider2D', 'cc.CircleCollider2D', 'cc.PolygonCollider2D',
'cc.RigidBody', 'cc.BoxCollider', 'cc.SphereCollider', 'cc.CapsuleCollider', 'cc.MeshCollider',
'cc.MotionStreak', 'cc.Billboard', 'cc.Line',
'cc.TiledMap', 'cc.TiledLayer',
'cc.HingeJoint2D', 'cc.DistanceJoint2D', 'cc.SpringJoint2D',
'cc.FixedJoint2D', 'cc.WheelJoint2D', 'cc.SliderJoint2D',
'cc.RelativeJoint2D', 'cc.MouseJoint2D',
'cc.HingeConstraint', 'cc.FixedConstraint', 'cc.PointToPointConstraint',
'cc.Terrain', 'cc.LODGroup', 'cc.ReflectionProbe',
'sp.Skeleton', 'dragonBones.ArmatureDisplay',
];
const snippets = [];
let saved = 0, failed = 0;
for (const comp of ALL_COMPONENTS) {
const className = mod.componentTypeToClassName(comp);
const dtsInfo = mod.parseDtsClass(className, { recursive: true });
if (!dtsInfo) {
console.log(` ❌ ${comp}: not found in d.ts`);
failed++;
continue;
}
const classified = mod.classifyProperties(dtsInfo, null);
const knowledge = mod.buildRecommendedKnowledge(comp, dtsInfo, classified);
// Save knowledge file
mod.saveKnowledgeFile(comp, knowledge);
// Generate TS snippet
const snippet = mod.generateTsSnippet(comp, knowledge);
snippets.push(snippet);
const propCount = Object.keys(knowledge.properties).length;
console.log(` ✅ ${comp}: ${propCount} props`);
saved++;
}
// Write combined snippets to file
const outputPath = path.resolve(__dirname, '../dev-knowledge/COMPONENT_PROPERTIES_GENERATED.ts');
const outputDir = path.dirname(outputPath);
if (!fs.existsSync(outputDir)) fs.mkdirSync(outputDir, { recursive: true });
const header = `/**
* AUTO-GENERATED by batch-auto-knowledge.js
* Date: ${new Date().toISOString()}
* Components: ${saved}
*
* Paste this into COMPONENT_PROPERTIES in knowledge-handler.ts
*/
const COMPONENT_PROPERTIES: Record<string, any> = {\n`;
const footer = `\n};\n`;
fs.writeFileSync(outputPath, header + snippets.join('\n') + footer, 'utf-8');
console.log(`\n Saved: ${saved} | Failed: ${failed}`);
console.log(` Knowledge files: dev-knowledge/components/`);
console.log(` TS output: ${outputPath}`);
@@ -1,111 +0,0 @@
const fs = require("fs");
const path = require("path");
const { spawnSync } = require("child_process");
const PATH = {
packageJSON: path.join(__dirname, "../package.json")
};
function checkCreatorTypesVersion(version) {
try {
// 根据平台选择合适的npm命令
const npmCmd = process.platform === "win32" ? "npm.cmd" : "npm";
// 检查npm命令是否可用
const npmCheck = spawnSync(npmCmd, ["--version"], {
stdio: 'pipe',
shell: process.platform === "win32"
});
if (npmCheck.error || npmCheck.status !== 0) {
console.warn("Warning: npm command not available, skipping version check");
return true; // 如果npm不可用,跳过检查
}
// 获取版本列表
const result = spawnSync(npmCmd, ["view", "@cocos/creator-types", "versions"], {
stdio: 'pipe',
shell: process.platform === "win32"
});
if (result.error || result.status !== 0) {
console.warn("Warning: Failed to fetch @cocos/creator-types versions, skipping check");
return true; // 如果获取失败,跳过检查
}
let output = result.stdout.toString().trim();
// 尝试解析JSON
try {
const versions = JSON.parse(output);
if (Array.isArray(versions)) {
return versions.includes(version);
} else if (typeof versions === 'string') {
return versions.includes(version);
}
} catch (parseError) {
// 如果JSON解析失败,尝试作为字符串处理
return output.includes(version);
}
return false;
} catch (error) {
console.warn("Warning: Version check failed:", error.message);
return true; // 出错时跳过检查
}
}
function getCreatorTypesVersion() {
try {
// 检查package.json文件是否存在
if (!fs.existsSync(PATH.packageJSON)) {
console.warn("Warning: package.json not found");
return null;
}
const packageContent = fs.readFileSync(PATH.packageJSON, "utf8");
const packageJson = JSON.parse(packageContent);
// 检查devDependencies是否存在
if (!packageJson.devDependencies || !packageJson.devDependencies["@cocos/creator-types"]) {
console.warn("Warning: @cocos/creator-types not found in devDependencies");
return null;
}
const versionString = packageJson.devDependencies["@cocos/creator-types"];
return versionString.replace(/^[^\d]+/, "");
} catch (error) {
console.warn("Warning: Failed to read package.json:", error.message);
return null;
}
}
function main() {
try {
const creatorTypesVersion = getCreatorTypesVersion();
if (!creatorTypesVersion) {
console.log("Skipping @cocos/creator-types version check");
return;
}
if (!checkCreatorTypesVersion(creatorTypesVersion)) {
console.log("\x1b[33mWarning:\x1b[0m");
console.log(" @en");
console.log(" Version check of @cocos/creator-types failed.");
console.log(` The definition of ${creatorTypesVersion} has not been released yet. Please export the definition to the ./node_modules directory by selecting "Developer -> Export Interface Definition" in the menu of the Creator editor.`);
console.log(" The definition of the corresponding version will be released on npm after the editor is officially released.");
console.log(" @zh");
console.log(" @cocos/creator-types 版本检查失败。");
console.log(` ${creatorTypesVersion} 定义还未发布,请先通过 Creator 编辑器菜单 "开发者 -> 导出接口定义",导出定义到 ./node_modules 目录。`);
console.log(" 对应版本的定义会在编辑器正式发布后同步发布到 npm 上。");
}
} catch (error) {
console.error("Preinstall script error:", error.message);
// 不要抛出错误,让安装继续进行
process.exit(0);
}
}
// 执行主函数
main();
@@ -1,25 +0,0 @@
/**
* Generate COMPONENT_PROPERTIES from saved dev-knowledge JSON files.
* Does NOT re-parse d.ts — uses the saved knowledge (which has runtime defaults).
*/
const path = require('path');
const fs = require('fs');
const mod = require(path.resolve(__dirname, '../dist/tools/cocos/utils/component-knowledge'));
const files = mod.listKnowledgeFiles();
const snippets = [];
for (const comp of files) {
const knowledge = mod.loadKnowledgeFile(comp);
if (!knowledge) continue;
snippets.push(mod.generateTsSnippet(comp, knowledge));
const propCount = Object.keys(knowledge.properties).length;
const defaultCount = Object.values(knowledge.properties).filter(p => p.default !== undefined).length;
console.log(` ${comp.padEnd(35)} ${propCount} props, ${defaultCount} with defaults`);
}
const outputPath = path.resolve(__dirname, '../dev-knowledge/COMPONENT_PROPERTIES_GENERATED.txt');
const header = `const COMPONENT_PROPERTIES: Record<string, any> = {\n`;
const footer = `\n};\n`;
fs.writeFileSync(outputPath, header + snippets.join('\n') + footer, 'utf-8');
console.log(`\nGenerated ${files.length} components → ${outputPath}`);
@@ -1,126 +0,0 @@
/**
* validate-schemas.js
* 构建后校验所有 MCP 工具的 inputSchema,检测常见 JSON Schema 错误:
* - array 类型缺少 items
* - object 类型缺少 properties
* - enum 为空数组
* - type 字段缺失
*/
const path = require('path');
const fs = require('fs');
// 颜色
const RED = '\x1b[31m';
const YELLOW = '\x1b[33m';
const GREEN = '\x1b[32m';
const RESET = '\x1b[0m';
let errors = 0;
let warnings = 0;
function validateSchema(schema, context, toolName) {
if (!schema || typeof schema !== 'object') return;
// 检查 array 缺少 items
if (schema.type === 'array' && !schema.items) {
console.error(`${RED}ERROR${RESET} [${toolName}] ${context}: type "array" missing "items"`);
errors++;
}
// 检查 items 但不是 array
if (schema.items && schema.type !== 'array') {
console.warn(`${YELLOW}WARN${RESET} [${toolName}] ${context}: has "items" but type is "${schema.type}", not "array"`);
warnings++;
}
// 检查 enum 为空
if (schema.enum && Array.isArray(schema.enum) && schema.enum.length === 0) {
console.warn(`${YELLOW}WARN${RESET} [${toolName}] ${context}: empty "enum" array`);
warnings++;
}
// 递归检查 properties
if (schema.properties && typeof schema.properties === 'object') {
for (const [key, value] of Object.entries(schema.properties)) {
validateSchema(value, `${context}.${key}`, toolName);
}
}
// 递归检查 items
if (schema.items && typeof schema.items === 'object') {
validateSchema(schema.items, `${context}.items`, toolName);
}
}
function main() {
const distDir = path.join(__dirname, '..', 'dist');
if (!fs.existsSync(distDir)) {
console.error(`${RED}ERROR${RESET} dist/ not found. Run "npm run build" first.`);
process.exit(1);
}
// 收集所有工具定义
const tools = [];
// 1. 加载 CocosTools
try {
const { CocosTools } = require(path.join(distDir, 'tools', 'cocos', 'cocos-tools.js'));
const cocosTools = new CocosTools();
tools.push(...cocosTools.getTools());
} catch (e) {
console.warn(`${YELLOW}WARN${RESET} Could not load CocosTools: ${e.message}`);
}
// 2. 加载独立工具集
const toolFiles = [
'tools/scene-tools.js',
'tools/node-tools.js',
'tools/component-tools.js',
'tools/prefab-tools.js',
'tools/project-tools.js',
'tools/scene-view-tools.js',
'tools/reference-image-tools.js',
'tools/preferences-tools.js',
'tools/asset-advanced-tools.js',
'tools/debug-tools.js',
'tools/server-tools.js',
];
for (const file of toolFiles) {
try {
const fullPath = path.join(distDir, file);
if (!fs.existsSync(fullPath)) continue;
const mod = require(fullPath);
// 找到导出的类并实例化
for (const [, ExportedClass] of Object.entries(mod)) {
if (typeof ExportedClass === 'function' && ExportedClass.prototype && typeof ExportedClass.prototype.getTools === 'function') {
const instance = new ExportedClass();
tools.push(...instance.getTools());
}
}
} catch (e) {
console.warn(`${YELLOW}WARN${RESET} Could not load ${file}: ${e.message}`);
}
}
console.log(`\nValidating ${tools.length} tool schemas...\n`);
for (const tool of tools) {
if (tool.inputSchema) {
validateSchema(tool.inputSchema, 'inputSchema', tool.name);
}
}
console.log('');
if (errors > 0) {
console.error(`${RED}FAILED${RESET}: ${errors} error(s), ${warnings} warning(s)`);
process.exit(1);
} else if (warnings > 0) {
console.log(`${YELLOW}PASSED${RESET} with ${warnings} warning(s)`);
} else {
console.log(`${GREEN}PASSED${RESET}: All schemas valid`);
}
}
main();
Submodule cocoscreator_projects/YouleNexus/extensions/funplay-cocos-mcp added at 3aca54c9b5
@@ -0,0 +1,123 @@
{
"host": "127.0.0.1",
"port": 8765,
"toolProfile": "full",
"enabledTools": [
"add_animation_clip",
"add_component",
"apply_prefab_instance",
"bind_button_click_event",
"broadcast_editor_message",
"capture_desktop_screenshot",
"capture_editor_screenshot",
"capture_game_screenshot",
"capture_preview_screenshot",
"capture_scene_screenshot",
"check_for_updates",
"clear_logs",
"create_button",
"create_camera",
"create_canvas",
"create_cocos_mcp_project_skill",
"create_label",
"create_node",
"create_prefab_from_node",
"create_prefab_instance",
"create_project_skill",
"create_scene",
"create_sprite",
"delete_asset",
"delete_node",
"duplicate_prefab",
"edit_prefab_json",
"emit_node_event",
"execute_editor_script",
"execute_javascript",
"execute_scene_script",
"exists",
"find_nodes",
"get_build_status",
"get_editor_preference",
"get_editor_selection",
"get_editor_state",
"get_file_snippet",
"get_hierarchy",
"get_performance_snapshot",
"get_preview_mode",
"get_project_info",
"get_recent_logs",
"get_runtime_state",
"get_scene_info",
"get_script_diagnostic_context",
"get_selection",
"get_tool_catalog",
"inspect_asset",
"inspect_asset_dependencies",
"inspect_component",
"inspect_node",
"inspect_prefab",
"inspect_prefab_instance",
"instantiate_prefab",
"invoke_component_method",
"list_animations",
"list_assets",
"list_button_click_events",
"list_cameras",
"list_components",
"list_directory",
"list_editor_windows",
"list_prefabs",
"list_project_instructions",
"list_scenes",
"open_asset",
"open_build_panel",
"open_scene",
"pause_runtime",
"play_animation",
"read_file",
"read_project_instruction",
"refresh_assets",
"remove_component",
"replace_in_file",
"reset_component_property",
"resume_runtime",
"revert_prefab_instance",
"run_project_preview",
"run_scene_asset",
"run_script_diagnostics",
"save_current_scene",
"search_files",
"search_project_logs",
"select_asset",
"set_camera_properties",
"set_component_property",
"set_editor_preference",
"set_node_transform",
"set_preview_mode",
"set_selection",
"set_time_scale",
"simulate_button_click",
"simulate_key_combo",
"simulate_key_press",
"simulate_mouse_click",
"simulate_mouse_drag",
"simulate_preview_input",
"stop_animation",
"validate_asset_dependencies",
"validate_prefab_references",
"validate_scene",
"write_file",
"write_project_instruction"
],
"disabledTools": [],
"enabledToolCategories": [],
"disabledToolCategories": [],
"enableSessions": false,
"executeJavascriptSafetyChecks": true,
"autostart": true,
"maxInteractionLogEntries": 50,
"lastClientTargetId": "claude_code",
"activeToolProfileName": "",
"savedToolProfiles": [],
"language": "auto"
}
@@ -2,9 +2,9 @@
"__version__": "1.0.6",
"general": {
"designResolution": {
"width": 1280,
"width": 1600,
"height": 720,
"fitWidth": false,
"fitWidth": true,
"fitHeight": true
}
}
@@ -29,7 +29,7 @@ function makePlayer() {
test('self_join_room: 已在房应被覆盖(再次入房罕见但支持)', () => {
const room = makeRoom();
// 假设自己是 seat=2 加入
roomHandlers.self_join_room({ room }, { seat: 2, playerid: 200 } as any);
roomHandlers.self_join_room({ room, player: makePlayer() }, { seat: 2, playerid: 200 } as any);
assert.equal(room.state.value.seat, 2);
});
@@ -39,7 +39,7 @@ test('other_join_room: 第三方加入,players 数组对应座位填入', () =>
roomcode: 'R1', seat: 1, isowner: 0,
players: [null, { playerid: 100 } as any, null, null],
} as RoomRecoveryData);
roomHandlers.other_join_room({ room }, { seat: 3, playerid: 300, nickname: '丙' } as any);
roomHandlers.other_join_room({ room, player: makePlayer() }, { seat: 3, playerid: 300, nickname: '丙' } as any);
const v = room.state.value;
assert.equal(v.players[2]?.playerid, 300, 'seat=3 应填到 players[2]');
assert.equal(v.players[2]?.nickname, '丙');
@@ -55,33 +55,33 @@ test('self_exit_room: 自己座位清空', () => {
test('other_exit_room: 第三方座位清空', () => {
const room = makeRoom();
roomHandlers.other_exit_room({ room }, { seat: 2 } as any);
roomHandlers.other_exit_room({ room, player: makePlayer() }, { seat: 2 } as any);
assert.equal(room.state.value.players[1], null);
});
test('other_exit_room: 未知座位 → 显式抛错(第二准则)', () => {
const room = makeRoom();
assert.throws(
() => roomHandlers.other_exit_room({ room }, { seat: 99 } as any),
() => roomHandlers.other_exit_room({ room, player: makePlayer() }, { seat: 99 } as any),
/seat=99/,
);
});
test('self_apply_free_room: state 进入解散投票中', () => {
const room = makeRoom();
roomHandlers.self_apply_free_room({ room }, { applyer: 1 } as any);
roomHandlers.self_apply_free_room({ room, player: makePlayer() }, { applyer: 1 } as any);
assert.equal(room.state.value.state, 1);
});
test('other_apply_free_room: state 进入解散投票中', () => {
const room = makeRoom();
roomHandlers.other_apply_free_room({ room }, { applyer: 2 } as any);
roomHandlers.other_apply_free_room({ room, player: makePlayer() }, { applyer: 2 } as any);
assert.equal(room.state.value.state, 1);
});
test('self/other_agree_free_room: 不改变 state,仅标记同意', () => {
const room = makeRoom();
roomHandlers.self_apply_free_room({ room }, {} as any);
roomHandlers.self_apply_free_room({ room, player: makePlayer() }, {} as any);
roomHandlers.self_agree_free_room({ room, player: makePlayer() }, {} as any);
// 协议无 agreeList 字段(state 保持 1=投票中),由其他机制累计
assert.equal(room.state.value.state, 1);
@@ -89,7 +89,7 @@ test('self/other_agree_free_room: 不改变 state,仅标记同意', () => {
test('self/other_refuse_free_room: 不改变 state', () => {
const room = makeRoom();
roomHandlers.self_apply_free_room({ room }, {} as any);
roomHandlers.self_apply_free_room({ room, player: makePlayer() }, {} as any);
roomHandlers.self_refuse_free_room({ room, player: makePlayer() }, {} as any);
assert.equal(room.state.value.state, 1);
});
@@ -97,14 +97,14 @@ test('self/other_refuse_free_room: 不改变 state', () => {
test('other_offline: 触发但不破坏 RoomStore(offline 状态由子游戏持有)', () => {
const room = makeRoom();
// RoomStore 不持有 offline 字段(handler 应是 no-op 或仅校验入参)
roomHandlers.other_offline({ room }, { seat: 1 } as any);
roomHandlers.other_offline({ room, player: makePlayer() }, { seat: 1 } as any);
// state 不变
assert.equal(room.state.value.state, 0);
});
test('other_online: 触发但不破坏 RoomStore', () => {
const room = makeRoom();
roomHandlers.other_online({ room }, { seat: 1 } as any);
roomHandlers.other_online({ room, player: makePlayer() }, { seat: 1 } as any);
assert.equal(room.state.value.state, 0);
});
@@ -113,7 +113,7 @@ test('change_seat: 交换两个座位(seat=1 ↔ seat=3)', () => {
// 初始: players = [null, 100, 200, null]
// change_seat(from=1, to=3) → i_from=0, i_to=2
// swap: [null, 100, 200, null] ↔ [200, 100, null, null]
roomHandlers.change_seat({ room }, { from: 1, to: 3 } as any);
roomHandlers.change_seat({ room, player: makePlayer() }, { from: 1, to: 3 } as any);
const v = room.state.value;
// swap 结果:players[0]=200, players[1]=100, players[2]=null, players[3]=null
assert.equal(v.players[0]?.playerid, 200, '原 seat=3 的 200 现在在 seat=1(0基=0)');
@@ -123,8 +123,8 @@ test('change_seat: 交换两个座位(seat=1 ↔ seat=3)', () => {
test('free_room: 解散投票结束 → state=2(已解散,业务侧清场)', () => {
const room = makeRoom();
roomHandlers.self_apply_free_room({ room }, {} as any);
roomHandlers.free_room({ room }, { result: 1 } as any);
roomHandlers.self_apply_free_room({ room, player: makePlayer() }, {} as any);
roomHandlers.free_room({ room, player: makePlayer() }, { result: 1 } as any);
// state 字段语义: 0=正常 1=投票中 2=已解散
assert.equal(room.state.value.state, 2);
});
@@ -1,15 +1,25 @@
import { test } from 'node:test';
import assert from 'node:assert/strict';
import {
DESIGN_WIDTH, DESIGN_HEIGHT,
DESIGN_WIDTH, DESIGN_HEIGHT, CANVAS_WIDTH, CANVAS_HEIGHT,
toCocosPosition, inferWidget, stretchWidget, isFullScreen, isOffscreen,
} from '../ui-migration/coords.mjs';
test('设计分辨率保持 1280x720', () => {
test('内容区基准保持 1280x720(数据源事实,不随设计分辨率改变)', () => {
assert.equal(DESIGN_WIDTH, 1280);
assert.equal(DESIGN_HEIGHT, 720);
});
test('设计分辨率画布为 1600x720(20:9 主流移动端比例)', () => {
assert.equal(CANVAS_WIDTH, 1600);
assert.equal(CANVAS_HEIGHT, 720);
});
test('内容区基准与设计分辨率画布是两个独立常量', () => {
// 坐标/三区/满屏/越界用 DESIGN_WIDTH(1280);落地 Layer/Group 尺寸用 CANVAS_WIDTH(1600)。
assert.notEqual(DESIGN_WIDTH, CANVAS_WIDTH);
});
test('toCocosPosition 用 spec 的验算样例', () => {
// spec §1.2: Left=320 Top=200 150x70 → x=-245 y=125
assert.deepEqual(toCocosPosition(320, 200, 150, 70), { x: -245, y: 125 });
@@ -1,5 +1,5 @@
import {
DESIGN_WIDTH, DESIGN_HEIGHT,
DESIGN_WIDTH, DESIGN_HEIGHT, CANVAS_WIDTH, CANVAS_HEIGHT,
toCocosPosition, inferWidget, stretchWidget, isFullScreen, isOffscreen,
} from './coords.mjs';
import { frameFileName, padWidth } from './frames.mjs';
@@ -146,8 +146,12 @@ export function convertAll(source) {
const manifest = {
generatedBy: 'scripts/convert-ui.mjs',
// 内容区基准(旧数据事实),坐标/三区据此判定,不随设计分辨率改变。
designWidth: DESIGN_WIDTH,
designHeight: DESIGN_HEIGHT,
// 设计分辨率画布(20:9),落地 Layer/Group 根节点尺寸据此设定。
canvasWidth: CANVAS_WIDTH,
canvasHeight: CANVAS_HEIGHT,
layers: layers.map((d) => ({
layerId: d.layerId,
name: d.name,
@@ -4,9 +4,19 @@
* Cocos:原点在父节点中心、Y 向上、节点锚点 (0.5, 0.5)。
*/
// 旧 UI 内容区基准(数据源事实,不可变)。
// 991 个对象的 Left/Top 都是相对旧引擎 1280×720 画布给出的,坐标换算、三区锚点、
// 满屏/越界判断都据此判定。它与「设计分辨率画布宽度」是两回事,见 CANVAS_WIDTH。
export const DESIGN_WIDTH = 1280;
export const DESIGN_HEIGHT = 720;
// Cocos 设计分辨率画布(20:9 主流移动端比例)。落地时 Layer/Group 根节点据此设定
// UITransform 尺寸,运行时 Canvas 按 designResolution + fitHeight 对齐到屏幕。
// 对象坐标与 Widget 值仍以 DESIGN_WIDTH 为基准——靠左贴左、靠右贴右、居中在中心,
// 画布变宽由 Widget 弹性贴边消化,无需重算坐标。
export const CANVAS_WIDTH = 1600;
export const CANVAS_HEIGHT = 720;
const HALF_W = DESIGN_WIDTH / 2;
const HALF_H = DESIGN_HEIGHT / 2;
const LEFT_ZONE = DESIGN_WIDTH / 4; // 320